ETH Price: $3,234.70 (-1.53%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve152414552022-07-30 3:35:35908 days ago1659152135IN
0xe78a5851...6CeB2ce65
0 ETH0.000163316.54460158
Approve152414392022-07-30 3:31:48908 days ago1659151908IN
0xe78a5851...6CeB2ce65
0 ETH0.000296346.27339984
Approve152363832022-07-29 8:51:03909 days ago1659084663IN
0xe78a5851...6CeB2ce65
0 ETH0.0005392611.41594138
Approve152363302022-07-29 8:37:49909 days ago1659083869IN
0xe78a5851...6CeB2ce65
0 ETH0.000394728.3560583
Approve152362642022-07-29 8:24:25909 days ago1659083065IN
0xe78a5851...6CeB2ce65
0 ETH0.000414848.78200095
Set Max Txn Amou...152361732022-07-29 8:05:40909 days ago1659081940IN
0xe78a5851...6CeB2ce65
0 ETH0.00049417.0811252
Approve152361572022-07-29 8:00:33909 days ago1659081633IN
0xe78a5851...6CeB2ce65
0 ETH0.0006396913.54200655
Approve152361362022-07-29 7:56:05909 days ago1659081365IN
0xe78a5851...6CeB2ce65
0 ETH0.0011337124
Transfer152361262022-07-29 7:54:24909 days ago1659081264IN
0xe78a5851...6CeB2ce65
0 ETH0.0008710122.87136275
Transfer152361182022-07-29 7:51:28909 days ago1659081088IN
0xe78a5851...6CeB2ce65
0 ETH0.0006187516.24753949
Approve152361042022-07-29 7:47:07909 days ago1659080827IN
0xe78a5851...6CeB2ce65
0 ETH0.000706214.95
Transfer152360972022-07-29 7:45:38909 days ago1659080738IN
0xe78a5851...6CeB2ce65
0 ETH0.0006227616.35287991
Approve152360812022-07-29 7:41:42909 days ago1659080502IN
0xe78a5851...6CeB2ce65
0 ETH0.0007909616.74417369
Approve152360652022-07-29 7:37:47909 days ago1659080267IN
0xe78a5851...6CeB2ce65
0 ETH0.000859618.1972909
Transfer152360622022-07-29 7:36:21909 days ago1659080181IN
0xe78a5851...6CeB2ce65
0 ETH0.0017696219.33652274
Approve152360572022-07-29 7:34:45909 days ago1659080085IN
0xe78a5851...6CeB2ce65
0 ETH0.0008644818.30060581
Approve152360562022-07-29 7:33:57909 days ago1659080037IN
0xe78a5851...6CeB2ce65
0 ETH0.0009447620
Approve152360502022-07-29 7:31:54909 days ago1659079914IN
0xe78a5851...6CeB2ce65
0 ETH0.000879918.62704499
Approve152360412022-07-29 7:29:36909 days ago1659079776IN
0xe78a5851...6CeB2ce65
0 ETH0.000702814.87787029
Approve152360342022-07-29 7:28:21909 days ago1659079701IN
0xe78a5851...6CeB2ce65
0 ETH0.0006378413.50277138
Approve152360322022-07-29 7:28:13909 days ago1659079693IN
0xe78a5851...6CeB2ce65
0 ETH0.000694514.70231903
Approve152360312022-07-29 7:27:55909 days ago1659079675IN
0xe78a5851...6CeB2ce65
0 ETH0.0006713414.21199211
Approve152360132022-07-29 7:24:51909 days ago1659079491IN
0xe78a5851...6CeB2ce65
0 ETH0.0006613314
Approve152360102022-07-29 7:24:07909 days ago1659079447IN
0xe78a5851...6CeB2ce65
0 ETH0.0007732916.37011299
Approve152360022022-07-29 7:22:54909 days ago1659079374IN
0xe78a5851...6CeB2ce65
0 ETH0.0006887814.58107508
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
152361722022-07-29 8:04:58909 days ago1659081898
0xe78a5851...6CeB2ce65
0.0020052 ETH
152361722022-07-29 8:04:58909 days ago1659081898
0xe78a5851...6CeB2ce65
0.0020052 ETH
152361622022-07-29 8:02:33909 days ago1659081753
0xe78a5851...6CeB2ce65
0.00250253 ETH
152361622022-07-29 8:02:33909 days ago1659081753
0xe78a5851...6CeB2ce65
0.00250253 ETH
152361602022-07-29 8:01:48909 days ago1659081708
0xe78a5851...6CeB2ce65
0.00345485 ETH
152361602022-07-29 8:01:48909 days ago1659081708
0xe78a5851...6CeB2ce65
0.00345485 ETH
152361542022-07-29 8:00:16909 days ago1659081616
0xe78a5851...6CeB2ce65
0.00299858 ETH
152361542022-07-29 8:00:16909 days ago1659081616
0xe78a5851...6CeB2ce65
0.00299858 ETH
152361442022-07-29 7:58:09909 days ago1659081489
0xe78a5851...6CeB2ce65
0.00513852 ETH
152361442022-07-29 7:58:09909 days ago1659081489
0xe78a5851...6CeB2ce65
0.00513852 ETH
152361402022-07-29 7:56:55909 days ago1659081415
0xe78a5851...6CeB2ce65
0.0038777 ETH
152361402022-07-29 7:56:55909 days ago1659081415
0xe78a5851...6CeB2ce65
0.0038777 ETH
152361322022-07-29 7:55:28909 days ago1659081328
0xe78a5851...6CeB2ce65
0.00314174 ETH
152361322022-07-29 7:55:28909 days ago1659081328
0xe78a5851...6CeB2ce65
0.00314174 ETH
152361192022-07-29 7:52:01909 days ago1659081121
0xe78a5851...6CeB2ce65
0.01787296 ETH
152361192022-07-29 7:52:01909 days ago1659081121
0xe78a5851...6CeB2ce65
0.01787296 ETH
152361002022-07-29 7:46:37909 days ago1659080797
0xe78a5851...6CeB2ce65
0.00643173 ETH
152361002022-07-29 7:46:37909 days ago1659080797
0xe78a5851...6CeB2ce65
0.00643173 ETH
152360972022-07-29 7:45:38909 days ago1659080738
0xe78a5851...6CeB2ce65
0.0038013 ETH
152360972022-07-29 7:45:38909 days ago1659080738
0xe78a5851...6CeB2ce65
0.0038013 ETH
152360972022-07-29 7:45:38909 days ago1659080738
0xe78a5851...6CeB2ce65
0.00410656 ETH
152360972022-07-29 7:45:38909 days ago1659080738
0xe78a5851...6CeB2ce65
0.00410656 ETH
152360942022-07-29 7:44:36909 days ago1659080676
0xe78a5851...6CeB2ce65
0.00383544 ETH
152360942022-07-29 7:44:36909 days ago1659080676
0xe78a5851...6CeB2ce65
0.00383544 ETH
152360742022-07-29 7:41:00909 days ago1659080460
0xe78a5851...6CeB2ce65
0.00405076 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FukTehSystem

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-29
*/

/**
*/
//  Fuk Teh System $FUKER
//
//                     /"\
//                    |\./|
//                    |   |
//                    |   |
//                    |>~<|
//                    |   |
//                 /'\|   |/'\..
//             /~\|   |   |   | \
//            |   =[@]=   |   |  \
//            |   |   |   |   |   \
//            | ~   ~   ~   ~ |`   )
//            |                   /
//             \                 /
//              \               /
//               \    _____    /
//                |--//''`\--|
//                | (( +==)) |
//                |--\_|_//--|
//
//  Telegram - https://t.me/FUKERerc20
//  Twitter - https://twitter.com/fukererc20
//
//  FUKERNOMICS
//  * TAX 5% (Buybacks & Burns)
//  * Total Supply - 100000
//  * Max wallet at launch 2% ( 2000 )
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.7;

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

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

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

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

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

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

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

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

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);
    }
    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract FukTehSystem is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Fuk Teh System";
    string private constant _symbol = "FUKER";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e5 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;
    
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 5;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => uint256) private cooldown;
    
    address payable private _developmentAddress = payable(0x94c02c4Ab60f930645cb6D55C18DdB76bfEd5bF8);
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 2e3 * 10**9; 
    uint256 public _maxWalletSize = 2e3 * 10**9; 
    uint256 public _swapTokensAtAmount = 5e1 * 10**9;

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = 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 developmentWallet() public view returns (address) {
        return _developmentAddress;
    }

    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 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 removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        
        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");            
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _developmentAddress && from != _developmentAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _developmentAddress && to != address(this)) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + (4 hours) >= block.timestamp)) {
                    _redisFee = 0;
                    _taxFee = 5;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 setMinSwapTokensThreshold(uint256 swapTokensAtAmount) external {
        require(_msgSender() == _developmentAddress);
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).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);
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external {
        require(_msgSender() == _developmentAddress);
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external {
        require(_msgSender() == _developmentAddress);
        _maxWalletSize = maxWalletSize;
    }

    function lowerBuyTeamFee(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount >= 1 && amount <= _taxFeeOnBuy, "The amount needs to be greater than 1 and less than the current buy fee");
        _taxFeeOnBuy = amount;
    }
    function lowerSellTeamFee(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount >= 1 && amount <= _taxFeeOnSell, "The amount needs to be greater than 1 and less than the current sell fee");
        _taxFeeOnSell = amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"lowerBuyTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"lowerSellTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052655af3107a40006000196200001a91906200075e565b600019620000299190620006e5565b60075560006009556005600a556000600b556005600c55600b54600d55600c54600e55600d54600f55600e546010557394c02c4ab60f930645cb6d55c18ddb76bfed5bf8601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff0219169083151502179055506501d1a94a20006015556501d1a94a2000601655640ba43b74006017553480156200010d57600080fd5b50600062000120620005ff60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460026000620001d5620005ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef919062000647565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035257600080fd5b505afa15801562000367573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038d919062000647565b6040518363ffffffff1660e01b8152600401620003ac9291906200069b565b602060405180830381600087803b158015620003c757600080fd5b505af1158015620003dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000402919062000647565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000620004586200060760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200058b620005ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef655af3107a4000604051620005f09190620006c8565b60405180910390a35062000813565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200064181620007f9565b92915050565b60006020828403121562000660576200065f620007f4565b5b6000620006708482850162000630565b91505092915050565b620006848162000720565b82525050565b620006958162000754565b82525050565b6000604082019050620006b2600083018562000679565b620006c1602083018462000679565b9392505050565b6000602082019050620006df60008301846200068a565b92915050565b6000620006f28262000754565b9150620006ff8362000754565b92508282101562000715576200071462000796565b5b828203905092915050565b60006200072d8262000734565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200076b8262000754565b9150620007788362000754565b9250826200078b576200078a620007c5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620008048162000720565b81146200081057600080fd5b50565b6139b480620008236000396000f3fe6080604052600436106101a05760003560e01c8063715018a6116100ec57806395d89b411161008a578063c04a541411610064578063c04a54141461059b578063dd62ed3e146105c6578063ea1644d514610603578063f2fde38b1461062c576101a7565b806395d89b411461050a57806398a5c31514610535578063a9059cbb1461055e576101a7565b8063881dce60116100c6578063881dce60146104625780638da5cb5b1461048b5780638f70ccf7146104b65780638f9a55c0146104df576101a7565b8063715018a6146103f757806374010ece1461040e5780637d1db4a514610437576101a7565b80632fd689e31161015957806349bd5a5e1161013357806349bd5a5e1461034f5780636d8aa8f81461037a5780636fc3eaec146103a357806370a08231146103ba576101a7565b80632fd689e3146102d0578063313ce567146102fb57806346001d8e14610326576101a7565b8063043a791d146101ac57806306fdde03146101d5578063095ea7b3146102005780631694505e1461023d57806318160ddd1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101d360048036038101906101ce9190612b0f565b610655565b005b3480156101e157600080fd5b506101ea610712565b6040516101f79190612ed5565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612aa2565b61074f565b6040516102349190612e9f565b60405180910390f35b34801561024957600080fd5b5061025261076d565b60405161025f9190612eba565b60405180910390f35b34801561027457600080fd5b5061027d610793565b60405161028a91906130f7565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612a4f565b6107a1565b6040516102c79190612e9f565b60405180910390f35b3480156102dc57600080fd5b506102e561087a565b6040516102f291906130f7565b60405180910390f35b34801561030757600080fd5b50610310610880565b60405161031d919061316c565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190612b0f565b610889565b005b34801561035b57600080fd5b50610364610946565b6040516103719190612e84565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190612ae2565b61096c565b005b3480156103af57600080fd5b506103b8610a1e565b005b3480156103c657600080fd5b506103e160048036038101906103dc91906129b5565b610a90565b6040516103ee91906130f7565b60405180910390f35b34801561040357600080fd5b5061040c610ae1565b005b34801561041a57600080fd5b5061043560048036038101906104309190612b0f565b610c34565b005b34801561044357600080fd5b5061044c610c9f565b60405161045991906130f7565b60405180910390f35b34801561046e57600080fd5b5061048960048036038101906104849190612b0f565b610ca5565b005b34801561049757600080fd5b506104a0610d69565b6040516104ad9190612e84565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d89190612ae2565b610d92565b005b3480156104eb57600080fd5b506104f4610e43565b60405161050191906130f7565b60405180910390f35b34801561051657600080fd5b5061051f610e49565b60405161052c9190612ed5565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612b0f565b610e86565b005b34801561056a57600080fd5b5061058560048036038101906105809190612aa2565b610ef1565b6040516105929190612e9f565b60405180910390f35b3480156105a757600080fd5b506105b0610f0f565b6040516105bd9190612e84565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190612a0f565b610f39565b6040516105fa91906130f7565b60405180910390f35b34801561060f57600080fd5b5061062a60048036038101906106259190612b0f565b610fc0565b005b34801561063857600080fd5b50610653600480360381019061064e91906129b5565b61102b565b005b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106966111ed565b73ffffffffffffffffffffffffffffffffffffffff16146106b657600080fd5b600181101580156106c95750600a548111155b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90612f37565b60405180910390fd5b80600a8190555050565b60606040518060400160405280600e81526020017f46756b205465682053797374656d000000000000000000000000000000000000815250905090565b600061076361075c6111ed565b84846111f5565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000655af3107a4000905090565b60006107ae8484846113c0565b61086f846107ba6111ed565b61086a8560405180606001604052806028815260200161395760289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108206111ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7a9092919063ffffffff16565b6111f5565b600190509392505050565b60175481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108ca6111ed565b73ffffffffffffffffffffffffffffffffffffffff16146108ea57600080fd5b600181101580156108fd5750600c548111155b61093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390612ff7565b60405180910390fd5b80600c8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109746111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890613037565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a5f6111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610a7f57600080fd5b6000479050610a8d81611ede565b50565b6000610ada600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4a565b9050919050565b610ae96111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c756111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610c9557600080fd5b8060158190555050565b60155481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce66111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610d0657600080fd5b610d0f30610a90565b8111158015610d1e5750600081115b610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d54906130d7565b60405180910390fd5b610d6681611fb8565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d9a6111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e90613037565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600581526020017f46554b4552000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec76111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610ee757600080fd5b8060178190555050565b6000610f05610efe6111ed565b84846113c0565b6001905092915050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110016111ed565b73ffffffffffffffffffffffffffffffffffffffff161461102157600080fd5b8060168190555050565b6110336111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112790612f97565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c906130b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cc90612fb7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113b391906130f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790613077565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149790612ef7565b60405180910390fd5b600081116114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613057565b60405180910390fd5b6114eb610d69565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115595750611529610d69565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a7e5760148054906101000a900460ff166115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612f17565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156116565750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c3573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116c357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117775750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c2576015548111156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612f77565b60405180910390fd5b5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561186f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190457601654816118b984610a90565b6118c391906131dc565b10611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa90613097565b60405180910390fd5b5b600061190f30610a90565b9050600060175482101590508080156119355750601460159054906101000a900460ff16155b801561198f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a75750601460169054906101000a900460ff165b80156119fd5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a535750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7b57611a6182611fb8565b60004790506000811115611a7957611a7847611ede565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b255750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bd85750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bd75750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611be65760009050611e68565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c915750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ced5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d985750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e67576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015611e39575042613840600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e3691906131dc565b10155b15611e53576000600d819055506005600e81905550611e66565b600b54600d81905550600c54600e819055505b5b5b611e7484848484612240565b50505050565b6000838311158290611ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb99190612ed5565b60405180910390fd5b5060008385611ed191906132bd565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f46573d6000803e3d6000fd5b5050565b6000600754821115611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8890612f57565b60405180910390fd5b6000611f9b61226d565b9050611fb0818461229890919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ff057611fef61344e565b5b60405190808252806020026020018201604052801561201e5781602001602082028036833780820191505090505b50905030816000815181106120365761203561341f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120d857600080fd5b505afa1580156120ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211091906129e2565b816001815181106121245761212361341f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218b30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f5565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121ef959493929190613112565b600060405180830381600087803b15801561220957600080fd5b505af115801561221d573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b8061224e5761224d6122e2565b5b612259848484612325565b80612267576122666124f0565b5b50505050565b600080600061227a612504565b91509150612291818361229890919063ffffffff16565b9250505090565b60006122da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061255d565b905092915050565b6000600d541480156122f657506000600e54145b1561230057612323565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612337876125c0565b95509550955095509550955061239586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612476816126d0565b612480848361278d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124dd91906130f7565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000655af3107a40009050612534655af3107a400060075461229890919063ffffffff16565b82101561255057600754655af3107a4000935093505050612559565b81819350935050505b9091565b600080831182906125a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259b9190612ed5565b60405180910390fd5b50600083856125b39190613232565b9050809150509392505050565b60008060008060008060008060006125dd8a600d54600e546127c7565b92509250925060006125ed61226d565b905060008060006126008e87878761285d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061266a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7a565b905092915050565b600080828461268191906131dc565b9050838110156126c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126bd90612fd7565b60405180910390fd5b8091505092915050565b60006126da61226d565b905060006126f182846128e690919063ffffffff16565b905061274581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127a28260075461262890919063ffffffff16565b6007819055506127bd8160085461267290919063ffffffff16565b6008819055505050565b6000806000806127f360646127e5888a6128e690919063ffffffff16565b61229890919063ffffffff16565b9050600061281d606461280f888b6128e690919063ffffffff16565b61229890919063ffffffff16565b9050600061284682612838858c61262890919063ffffffff16565b61262890919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061287685896128e690919063ffffffff16565b9050600061288d86896128e690919063ffffffff16565b905060006128a487896128e690919063ffffffff16565b905060006128cd826128bf858761262890919063ffffffff16565b61262890919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156128f9576000905061295b565b600082846129079190613263565b90508284826129169190613232565b14612956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294d90613017565b60405180910390fd5b809150505b92915050565b60008135905061297081613911565b92915050565b60008151905061298581613911565b92915050565b60008135905061299a81613928565b92915050565b6000813590506129af8161393f565b92915050565b6000602082840312156129cb576129ca61347d565b5b60006129d984828501612961565b91505092915050565b6000602082840312156129f8576129f761347d565b5b6000612a0684828501612976565b91505092915050565b60008060408385031215612a2657612a2561347d565b5b6000612a3485828601612961565b9250506020612a4585828601612961565b9150509250929050565b600080600060608486031215612a6857612a6761347d565b5b6000612a7686828701612961565b9350506020612a8786828701612961565b9250506040612a98868287016129a0565b9150509250925092565b60008060408385031215612ab957612ab861347d565b5b6000612ac785828601612961565b9250506020612ad8858286016129a0565b9150509250929050565b600060208284031215612af857612af761347d565b5b6000612b068482850161298b565b91505092915050565b600060208284031215612b2557612b2461347d565b5b6000612b33848285016129a0565b91505092915050565b6000612b488383612b54565b60208301905092915050565b612b5d816132f1565b82525050565b612b6c816132f1565b82525050565b6000612b7d82613197565b612b8781856131ba565b9350612b9283613187565b8060005b83811015612bc3578151612baa8882612b3c565b9750612bb5836131ad565b925050600181019050612b96565b5085935050505092915050565b612bd981613303565b82525050565b612be881613346565b82525050565b612bf781613358565b82525050565b6000612c08826131a2565b612c1281856131cb565b9350612c2281856020860161338e565b612c2b81613482565b840191505092915050565b6000612c436023836131cb565b9150612c4e82613493565b604082019050919050565b6000612c666018836131cb565b9150612c71826134e2565b602082019050919050565b6000612c896047836131cb565b9150612c948261350b565b606082019050919050565b6000612cac602a836131cb565b9150612cb782613580565b604082019050919050565b6000612ccf601c836131cb565b9150612cda826135cf565b602082019050919050565b6000612cf26026836131cb565b9150612cfd826135f8565b604082019050919050565b6000612d156022836131cb565b9150612d2082613647565b604082019050919050565b6000612d38601b836131cb565b9150612d4382613696565b602082019050919050565b6000612d5b6048836131cb565b9150612d66826136bf565b606082019050919050565b6000612d7e6021836131cb565b9150612d8982613734565b604082019050919050565b6000612da16020836131cb565b9150612dac82613783565b602082019050919050565b6000612dc46029836131cb565b9150612dcf826137ac565b604082019050919050565b6000612de76025836131cb565b9150612df2826137fb565b604082019050919050565b6000612e0a6023836131cb565b9150612e158261384a565b604082019050919050565b6000612e2d6024836131cb565b9150612e3882613899565b604082019050919050565b6000612e50600c836131cb565b9150612e5b826138e8565b602082019050919050565b612e6f8161332f565b82525050565b612e7e81613339565b82525050565b6000602082019050612e996000830184612b63565b92915050565b6000602082019050612eb46000830184612bd0565b92915050565b6000602082019050612ecf6000830184612bdf565b92915050565b60006020820190508181036000830152612eef8184612bfd565b905092915050565b60006020820190508181036000830152612f1081612c36565b9050919050565b60006020820190508181036000830152612f3081612c59565b9050919050565b60006020820190508181036000830152612f5081612c7c565b9050919050565b60006020820190508181036000830152612f7081612c9f565b9050919050565b60006020820190508181036000830152612f9081612cc2565b9050919050565b60006020820190508181036000830152612fb081612ce5565b9050919050565b60006020820190508181036000830152612fd081612d08565b9050919050565b60006020820190508181036000830152612ff081612d2b565b9050919050565b6000602082019050818103600083015261301081612d4e565b9050919050565b6000602082019050818103600083015261303081612d71565b9050919050565b6000602082019050818103600083015261305081612d94565b9050919050565b6000602082019050818103600083015261307081612db7565b9050919050565b6000602082019050818103600083015261309081612dda565b9050919050565b600060208201905081810360008301526130b081612dfd565b9050919050565b600060208201905081810360008301526130d081612e20565b9050919050565b600060208201905081810360008301526130f081612e43565b9050919050565b600060208201905061310c6000830184612e66565b92915050565b600060a0820190506131276000830188612e66565b6131346020830187612bee565b81810360408301526131468186612b72565b90506131556060830185612b63565b6131626080830184612e66565b9695505050505050565b60006020820190506131816000830184612e75565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006131e78261332f565b91506131f28361332f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613227576132266133c1565b5b828201905092915050565b600061323d8261332f565b91506132488361332f565b925082613258576132576133f0565b5b828204905092915050565b600061326e8261332f565b91506132798361332f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132b2576132b16133c1565b5b828202905092915050565b60006132c88261332f565b91506132d38361332f565b9250828210156132e6576132e56133c1565b5b828203905092915050565b60006132fc8261330f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133518261336a565b9050919050565b60006133638261332f565b9050919050565b60006133758261337c565b9050919050565b60006133878261330f565b9050919050565b60005b838110156133ac578082015181840152602081019050613391565b838111156133bb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f6275792066656500000000000000000000000000000000000000000000000000604082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f73656c6c20666565000000000000000000000000000000000000000000000000604082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b61391a816132f1565b811461392557600080fd5b50565b61393181613303565b811461393c57600080fd5b50565b6139488161332f565b811461395357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208bf1432abee5524e042509ee3a8f53fcd44df7113064fb657805dd85ef69c0ea64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063715018a6116100ec57806395d89b411161008a578063c04a541411610064578063c04a54141461059b578063dd62ed3e146105c6578063ea1644d514610603578063f2fde38b1461062c576101a7565b806395d89b411461050a57806398a5c31514610535578063a9059cbb1461055e576101a7565b8063881dce60116100c6578063881dce60146104625780638da5cb5b1461048b5780638f70ccf7146104b65780638f9a55c0146104df576101a7565b8063715018a6146103f757806374010ece1461040e5780637d1db4a514610437576101a7565b80632fd689e31161015957806349bd5a5e1161013357806349bd5a5e1461034f5780636d8aa8f81461037a5780636fc3eaec146103a357806370a08231146103ba576101a7565b80632fd689e3146102d0578063313ce567146102fb57806346001d8e14610326576101a7565b8063043a791d146101ac57806306fdde03146101d5578063095ea7b3146102005780631694505e1461023d57806318160ddd1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101d360048036038101906101ce9190612b0f565b610655565b005b3480156101e157600080fd5b506101ea610712565b6040516101f79190612ed5565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612aa2565b61074f565b6040516102349190612e9f565b60405180910390f35b34801561024957600080fd5b5061025261076d565b60405161025f9190612eba565b60405180910390f35b34801561027457600080fd5b5061027d610793565b60405161028a91906130f7565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612a4f565b6107a1565b6040516102c79190612e9f565b60405180910390f35b3480156102dc57600080fd5b506102e561087a565b6040516102f291906130f7565b60405180910390f35b34801561030757600080fd5b50610310610880565b60405161031d919061316c565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190612b0f565b610889565b005b34801561035b57600080fd5b50610364610946565b6040516103719190612e84565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190612ae2565b61096c565b005b3480156103af57600080fd5b506103b8610a1e565b005b3480156103c657600080fd5b506103e160048036038101906103dc91906129b5565b610a90565b6040516103ee91906130f7565b60405180910390f35b34801561040357600080fd5b5061040c610ae1565b005b34801561041a57600080fd5b5061043560048036038101906104309190612b0f565b610c34565b005b34801561044357600080fd5b5061044c610c9f565b60405161045991906130f7565b60405180910390f35b34801561046e57600080fd5b5061048960048036038101906104849190612b0f565b610ca5565b005b34801561049757600080fd5b506104a0610d69565b6040516104ad9190612e84565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d89190612ae2565b610d92565b005b3480156104eb57600080fd5b506104f4610e43565b60405161050191906130f7565b60405180910390f35b34801561051657600080fd5b5061051f610e49565b60405161052c9190612ed5565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612b0f565b610e86565b005b34801561056a57600080fd5b5061058560048036038101906105809190612aa2565b610ef1565b6040516105929190612e9f565b60405180910390f35b3480156105a757600080fd5b506105b0610f0f565b6040516105bd9190612e84565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190612a0f565b610f39565b6040516105fa91906130f7565b60405180910390f35b34801561060f57600080fd5b5061062a60048036038101906106259190612b0f565b610fc0565b005b34801561063857600080fd5b50610653600480360381019061064e91906129b5565b61102b565b005b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106966111ed565b73ffffffffffffffffffffffffffffffffffffffff16146106b657600080fd5b600181101580156106c95750600a548111155b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90612f37565b60405180910390fd5b80600a8190555050565b60606040518060400160405280600e81526020017f46756b205465682053797374656d000000000000000000000000000000000000815250905090565b600061076361075c6111ed565b84846111f5565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000655af3107a4000905090565b60006107ae8484846113c0565b61086f846107ba6111ed565b61086a8560405180606001604052806028815260200161395760289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108206111ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7a9092919063ffffffff16565b6111f5565b600190509392505050565b60175481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108ca6111ed565b73ffffffffffffffffffffffffffffffffffffffff16146108ea57600080fd5b600181101580156108fd5750600c548111155b61093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390612ff7565b60405180910390fd5b80600c8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109746111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890613037565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a5f6111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610a7f57600080fd5b6000479050610a8d81611ede565b50565b6000610ada600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4a565b9050919050565b610ae96111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c756111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610c9557600080fd5b8060158190555050565b60155481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce66111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610d0657600080fd5b610d0f30610a90565b8111158015610d1e5750600081115b610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d54906130d7565b60405180910390fd5b610d6681611fb8565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d9a6111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1e90613037565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600581526020017f46554b4552000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec76111ed565b73ffffffffffffffffffffffffffffffffffffffff1614610ee757600080fd5b8060178190555050565b6000610f05610efe6111ed565b84846113c0565b6001905092915050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110016111ed565b73ffffffffffffffffffffffffffffffffffffffff161461102157600080fd5b8060168190555050565b6110336111ed565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112790612f97565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c906130b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cc90612fb7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113b391906130f7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790613077565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149790612ef7565b60405180910390fd5b600081116114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613057565b60405180910390fd5b6114eb610d69565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115595750611529610d69565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a7e5760148054906101000a900460ff166115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612f17565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156116565750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c3573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116c357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117775750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c2576015548111156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612f77565b60405180910390fd5b5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561186f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190457601654816118b984610a90565b6118c391906131dc565b10611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa90613097565b60405180910390fd5b5b600061190f30610a90565b9050600060175482101590508080156119355750601460159054906101000a900460ff16155b801561198f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a75750601460169054906101000a900460ff165b80156119fd5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a535750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7b57611a6182611fb8565b60004790506000811115611a7957611a7847611ede565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b255750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bd85750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bd75750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611be65760009050611e68565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c915750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ced5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d985750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e67576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015611e39575042613840600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e3691906131dc565b10155b15611e53576000600d819055506005600e81905550611e66565b600b54600d81905550600c54600e819055505b5b5b611e7484848484612240565b50505050565b6000838311158290611ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb99190612ed5565b60405180910390fd5b5060008385611ed191906132bd565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f46573d6000803e3d6000fd5b5050565b6000600754821115611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8890612f57565b60405180910390fd5b6000611f9b61226d565b9050611fb0818461229890919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ff057611fef61344e565b5b60405190808252806020026020018201604052801561201e5781602001602082028036833780820191505090505b50905030816000815181106120365761203561341f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120d857600080fd5b505afa1580156120ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211091906129e2565b816001815181106121245761212361341f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218b30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f5565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121ef959493929190613112565b600060405180830381600087803b15801561220957600080fd5b505af115801561221d573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b8061224e5761224d6122e2565b5b612259848484612325565b80612267576122666124f0565b5b50505050565b600080600061227a612504565b91509150612291818361229890919063ffffffff16565b9250505090565b60006122da83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061255d565b905092915050565b6000600d541480156122f657506000600e54145b1561230057612323565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612337876125c0565b95509550955095509550955061239586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612476816126d0565b612480848361278d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124dd91906130f7565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000655af3107a40009050612534655af3107a400060075461229890919063ffffffff16565b82101561255057600754655af3107a4000935093505050612559565b81819350935050505b9091565b600080831182906125a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259b9190612ed5565b60405180910390fd5b50600083856125b39190613232565b9050809150509392505050565b60008060008060008060008060006125dd8a600d54600e546127c7565b92509250925060006125ed61226d565b905060008060006126008e87878761285d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061266a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7a565b905092915050565b600080828461268191906131dc565b9050838110156126c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126bd90612fd7565b60405180910390fd5b8091505092915050565b60006126da61226d565b905060006126f182846128e690919063ffffffff16565b905061274581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127a28260075461262890919063ffffffff16565b6007819055506127bd8160085461267290919063ffffffff16565b6008819055505050565b6000806000806127f360646127e5888a6128e690919063ffffffff16565b61229890919063ffffffff16565b9050600061281d606461280f888b6128e690919063ffffffff16565b61229890919063ffffffff16565b9050600061284682612838858c61262890919063ffffffff16565b61262890919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061287685896128e690919063ffffffff16565b9050600061288d86896128e690919063ffffffff16565b905060006128a487896128e690919063ffffffff16565b905060006128cd826128bf858761262890919063ffffffff16565b61262890919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156128f9576000905061295b565b600082846129079190613263565b90508284826129169190613232565b14612956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294d90613017565b60405180910390fd5b809150505b92915050565b60008135905061297081613911565b92915050565b60008151905061298581613911565b92915050565b60008135905061299a81613928565b92915050565b6000813590506129af8161393f565b92915050565b6000602082840312156129cb576129ca61347d565b5b60006129d984828501612961565b91505092915050565b6000602082840312156129f8576129f761347d565b5b6000612a0684828501612976565b91505092915050565b60008060408385031215612a2657612a2561347d565b5b6000612a3485828601612961565b9250506020612a4585828601612961565b9150509250929050565b600080600060608486031215612a6857612a6761347d565b5b6000612a7686828701612961565b9350506020612a8786828701612961565b9250506040612a98868287016129a0565b9150509250925092565b60008060408385031215612ab957612ab861347d565b5b6000612ac785828601612961565b9250506020612ad8858286016129a0565b9150509250929050565b600060208284031215612af857612af761347d565b5b6000612b068482850161298b565b91505092915050565b600060208284031215612b2557612b2461347d565b5b6000612b33848285016129a0565b91505092915050565b6000612b488383612b54565b60208301905092915050565b612b5d816132f1565b82525050565b612b6c816132f1565b82525050565b6000612b7d82613197565b612b8781856131ba565b9350612b9283613187565b8060005b83811015612bc3578151612baa8882612b3c565b9750612bb5836131ad565b925050600181019050612b96565b5085935050505092915050565b612bd981613303565b82525050565b612be881613346565b82525050565b612bf781613358565b82525050565b6000612c08826131a2565b612c1281856131cb565b9350612c2281856020860161338e565b612c2b81613482565b840191505092915050565b6000612c436023836131cb565b9150612c4e82613493565b604082019050919050565b6000612c666018836131cb565b9150612c71826134e2565b602082019050919050565b6000612c896047836131cb565b9150612c948261350b565b606082019050919050565b6000612cac602a836131cb565b9150612cb782613580565b604082019050919050565b6000612ccf601c836131cb565b9150612cda826135cf565b602082019050919050565b6000612cf26026836131cb565b9150612cfd826135f8565b604082019050919050565b6000612d156022836131cb565b9150612d2082613647565b604082019050919050565b6000612d38601b836131cb565b9150612d4382613696565b602082019050919050565b6000612d5b6048836131cb565b9150612d66826136bf565b606082019050919050565b6000612d7e6021836131cb565b9150612d8982613734565b604082019050919050565b6000612da16020836131cb565b9150612dac82613783565b602082019050919050565b6000612dc46029836131cb565b9150612dcf826137ac565b604082019050919050565b6000612de76025836131cb565b9150612df2826137fb565b604082019050919050565b6000612e0a6023836131cb565b9150612e158261384a565b604082019050919050565b6000612e2d6024836131cb565b9150612e3882613899565b604082019050919050565b6000612e50600c836131cb565b9150612e5b826138e8565b602082019050919050565b612e6f8161332f565b82525050565b612e7e81613339565b82525050565b6000602082019050612e996000830184612b63565b92915050565b6000602082019050612eb46000830184612bd0565b92915050565b6000602082019050612ecf6000830184612bdf565b92915050565b60006020820190508181036000830152612eef8184612bfd565b905092915050565b60006020820190508181036000830152612f1081612c36565b9050919050565b60006020820190508181036000830152612f3081612c59565b9050919050565b60006020820190508181036000830152612f5081612c7c565b9050919050565b60006020820190508181036000830152612f7081612c9f565b9050919050565b60006020820190508181036000830152612f9081612cc2565b9050919050565b60006020820190508181036000830152612fb081612ce5565b9050919050565b60006020820190508181036000830152612fd081612d08565b9050919050565b60006020820190508181036000830152612ff081612d2b565b9050919050565b6000602082019050818103600083015261301081612d4e565b9050919050565b6000602082019050818103600083015261303081612d71565b9050919050565b6000602082019050818103600083015261305081612d94565b9050919050565b6000602082019050818103600083015261307081612db7565b9050919050565b6000602082019050818103600083015261309081612dda565b9050919050565b600060208201905081810360008301526130b081612dfd565b9050919050565b600060208201905081810360008301526130d081612e20565b9050919050565b600060208201905081810360008301526130f081612e43565b9050919050565b600060208201905061310c6000830184612e66565b92915050565b600060a0820190506131276000830188612e66565b6131346020830187612bee565b81810360408301526131468186612b72565b90506131556060830185612b63565b6131626080830184612e66565b9695505050505050565b60006020820190506131816000830184612e75565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006131e78261332f565b91506131f28361332f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613227576132266133c1565b5b828201905092915050565b600061323d8261332f565b91506132488361332f565b925082613258576132576133f0565b5b828204905092915050565b600061326e8261332f565b91506132798361332f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132b2576132b16133c1565b5b828202905092915050565b60006132c88261332f565b91506132d38361332f565b9250828210156132e6576132e56133c1565b5b828203905092915050565b60006132fc8261330f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133518261336a565b9050919050565b60006133638261332f565b9050919050565b60006133758261337c565b9050919050565b60006133878261330f565b9050919050565b60005b838110156133ac578082015181840152602081019050613391565b838111156133bb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f6275792066656500000000000000000000000000000000000000000000000000604082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f73656c6c20666565000000000000000000000000000000000000000000000000604082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b61391a816132f1565b811461392557600080fd5b50565b61393181613303565b811461393c57600080fd5b50565b6139488161332f565b811461395357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208bf1432abee5524e042509ee3a8f53fcd44df7113064fb657805dd85ef69c0ea64736f6c63430008070033

Deployed Bytecode Sourcemap

4999:13508:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17940:277;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7385:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8422:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6270:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7662:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8623:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6568:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7571:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18223:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6318:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17490:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13864:198;;;;;;;;;;;;;:::i;:::-;;7765:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2478:148;;;;;;;;;;;;;:::i;:::-;;17603:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6468:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13629:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2264:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13520:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6517:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7476:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13217:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8023:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7911:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8230:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17770:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2638:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17940:277;18025:19;;;;;;;;;;;18009:35;;:12;:10;:12::i;:::-;:35;;;18001:44;;;;;;18074:1;18064:6;:11;;:37;;;;;18089:12;;18079:6;:22;;18064:37;18056:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;18203:6;18188:12;:21;;;;17940:277;:::o;7385:83::-;7422:13;7455:5;;;;;;;;;;;;;;;;;7448:12;;7385:83;:::o;8422:193::-;8524:4;8546:39;8555:12;:10;:12::i;:::-;8569:7;8578:6;8546:8;:39::i;:::-;8603:4;8596:11;;8422:193;;;;:::o;6270:41::-;;;;;;;;;;;;;:::o;7662:95::-;7715:7;5612:11;7735:14;;7662:95;:::o;8623:446::-;8755:4;8772:36;8782:6;8790:9;8801:6;8772:9;:36::i;:::-;8819:220;8842:6;8863:12;:10;:12::i;:::-;8890:138;8946:6;8890:138;;;;;;;;;;;;;;;;;:11;:19;8902:6;8890:19;;;;;;;;;;;;;;;:33;8910:12;:10;:12::i;:::-;8890:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8819:8;:220::i;:::-;9057:4;9050:11;;8623:446;;;;;:::o;6568:48::-;;;;:::o;7571:83::-;7612:5;5235:1;7630:16;;7571:83;:::o;18223:281::-;18309:19;;;;;;;;;;;18293:35;;:12;:10;:12::i;:::-;:35;;;18285:44;;;;;;18358:1;18348:6;:11;;:38;;;;;18373:13;;18363:6;:23;;18348:38;18340:123;;;;;;;;;;;;:::i;:::-;;;;;;;;;18490:6;18474:13;:22;;;;18223:281;:::o;6318:28::-;;;;;;;;;;;;;:::o;17490:101::-;2401:12;:10;:12::i;:::-;2391:22;;:6;;;;;;;;;;:22;;;2383:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17571:12:::1;17557:11;;:26;;;;;;;;;;;;;;;;;;17490:101:::0;:::o;13864:198::-;13930:19;;;;;;;;;;;13914:35;;:12;:10;:12::i;:::-;:35;;;13906:44;;;;;;13961:26;13990:21;13961:50;;14022:32;14035:18;14022:12;:32::i;:::-;13895:167;13864:198::o;7765:138::-;7831:7;7858:37;7878:7;:16;7886:7;7878:16;;;;;;;;;;;;;;;;7858:19;:37::i;:::-;7851:44;;7765:138;;;:::o;2478:148::-;2401:12;:10;:12::i;:::-;2391:22;;:6;;;;;;;;;;:22;;;2383:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2585:1:::1;2548:40;;2569:6;::::0;::::1;;;;;;;;2548:40;;;;;;;;;;;;2616:1;2599:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2478:148::o:0;17603:155::-;17693:19;;;;;;;;;;;17677:35;;:12;:10;:12::i;:::-;:35;;;17669:44;;;;;;17739:11;17724:12;:26;;;;17603:155;:::o;6468:41::-;;;;:::o;13629:227::-;13709:19;;;;;;;;;;;13693:35;;:12;:10;:12::i;:::-;:35;;;13685:44;;;;;;13758:24;13776:4;13758:9;:24::i;:::-;13748:6;:34;;:48;;;;;13795:1;13786:6;:10;13748:48;13740:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13824:24;13841:6;13824:16;:24::i;:::-;13629:227;:::o;2264:79::-;2302:7;2329:6;;;;;;;;;;;2322:13;;2264:79;:::o;13520:101::-;2401:12;:10;:12::i;:::-;2391:22;;:6;;;;;;;;;;:22;;;2383:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13601:12:::1;13587:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;13520:101:::0;:::o;6517:43::-;;;;:::o;7476:87::-;7515:13;7548:7;;;;;;;;;;;;;;;;;7541:14;;7476:87;:::o;13217:186::-;13324:19;;;;;;;;;;;13308:35;;:12;:10;:12::i;:::-;:35;;;13300:44;;;;;;13377:18;13355:19;:40;;;;13217:186;:::o;8023:199::-;8128:4;8150:42;8160:12;:10;:12::i;:::-;8174:9;8185:6;8150:9;:42::i;:::-;8210:4;8203:11;;8023:199;;;;:::o;7911:104::-;7961:7;7988:19;;;;;;;;;;;7981:26;;7911:104;:::o;8230:184::-;8347:7;8379:11;:18;8391:5;8379:18;;;;;;;;;;;;;;;:27;8398:7;8379:27;;;;;;;;;;;;;;;;8372:34;;8230:184;;;;:::o;17770:162::-;17863:19;;;;;;;;;;;17847:35;;:12;:10;:12::i;:::-;:35;;;17839:44;;;;;;17911:13;17894:14;:30;;;;17770:162;:::o;2638:244::-;2401:12;:10;:12::i;:::-;2391:22;;:6;;;;;;;;;;:22;;;2383:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2747:1:::1;2727:22;;:8;:22;;;;2719:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2837:8;2808:38;;2829:6;::::0;::::1;;;;;;;;2808:38;;;;;;;;;;;;2866:8;2857:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2638:244:::0;:::o;1023:98::-;1076:7;1103:10;1096:17;;1023:98;:::o;9772:369::-;9916:1;9899:19;;:5;:19;;;;9891:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9997:1;9978:21;;:7;:21;;;;9970:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10079:6;10049:11;:18;10061:5;10049:18;;;;;;;;;;;;;;;:27;10068:7;10049:27;;;;;;;;;;;;;;;:36;;;;10117:7;10101:32;;10110:5;10101:32;;;10126:6;10101:32;;;;;;:::i;:::-;;;;;;;;9772:369;;;:::o;10149:2565::-;10287:1;10271:18;;:4;:18;;;;10263:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10364:1;10350:16;;:2;:16;;;;10342:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10434:1;10425:6;:10;10417:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10506:7;:5;:7::i;:::-;10498:15;;:4;:15;;;;:32;;;;;10523:7;:5;:7::i;:::-;10517:13;;:2;:13;;;;10498:32;10494:1302;;;10566:11;;;;;;;;;;10561:99;;10598:34;;;;;;;;;;:::i;:::-;;;;;;;;10561:99;10698:13;;;;;;;;;;;10692:19;;:2;:19;;;:55;;;;;10731:15;;;;;;;;;;;10715:32;;:4;:32;;;;10692:55;10688:311;;;10786:4;10772:19;;:2;:19;;;;:44;;;;;10811:4;10795:21;;:4;:21;;;;10772:44;:73;;;;;10826:19;;;;;;;;;;;10820:25;;:2;:25;;;;10772:73;:104;;;;;10857:19;;;;;;;;;;;10849:27;;:4;:27;;;;10772:104;10768:216;;;10919:12;;10909:6;:22;;10901:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10768:216;10688:311;11025:13;;;;;;;;;;;11019:19;;:2;:19;;;;:48;;;;;11048:19;;;;;;;;;;;11042:25;;:2;:25;;;;11019:48;:71;;;;;11085:4;11071:19;;:2;:19;;;;11019:71;11015:199;;;11144:14;;11135:6;11119:13;11129:2;11119:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11111:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11015:199;11242:28;11273:24;11291:4;11273:9;:24::i;:::-;11242:55;;11312:12;11351:19;;11327:20;:43;;11312:58;;11403:7;:18;;;;;11415:6;;;;;;;;;;;11414:7;11403:18;:43;;;;;11433:13;;;;;;;;;;;11425:21;;:4;:21;;;;11403:43;:58;;;;;11450:11;;;;;;;;;;;11403:58;:87;;;;;11466:18;:24;11485:4;11466:24;;;;;;;;;;;;;;;;;;;;;;;;;11465:25;11403:87;:114;;;;;11495:18;:22;11514:2;11495:22;;;;;;;;;;;;;;;;;;;;;;;;;11494:23;11403:114;11399:386;;;11538:38;11555:20;11538:16;:38::i;:::-;11595:26;11624:21;11595:50;;11689:1;11668:18;:22;11664:106;;;11715:35;11728:21;11715:12;:35::i;:::-;11664:106;11519:266;11399:386;10532:1264;;10494:1302;11816:12;11831:4;11816:19;;11853:18;:24;11872:4;11853:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11881:18;:22;11900:2;11881:22;;;;;;;;;;;;;;;;;;;;;;;;;11853:50;11852:102;;;;11917:13;;;;;;;;;;;11909:21;;:4;:21;;;;:44;;;;;11940:13;;;;;;;;;;;11934:19;;:2;:19;;;;11909:44;11852:102;11848:805;;;11981:5;11971:15;;11848:805;;;12030:13;;;;;;;;;;;12022:21;;:4;:21;;;:55;;;;;12061:15;;;;;;;;;;;12047:30;;:2;:30;;;;12022:55;12019:222;;;12116:15;12102:7;:11;12110:2;12102:11;;;;;;;;;;;;;;;:29;;;;12166:14;;12154:9;:26;;;;12213:12;;12203:7;:22;;;;12019:222;12271:13;;;;;;;;;;;12265:19;;:2;:19;;;:55;;;;;12304:15;;;;;;;;;;;12288:32;;:4;:32;;;;12265:55;12261:381;;;12362:1;12345:7;:13;12353:4;12345:13;;;;;;;;;;;;;;;;:18;;:68;;;;;12397:15;12385:7;12368;:13;12376:4;12368:13;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;:44;;12345:68;12341:286;;;12450:1;12438:9;:13;;;;12484:1;12474:7;:11;;;;12341:286;;;12546:15;;12534:9;:27;;;;12594:13;;12584:7;:23;;;;12341:286;12261:381;11848:805;12665:41;12680:4;12686:2;12690:6;12698:7;12665:14;:41::i;:::-;10252:2462;10149:2565;;;:::o;3250:224::-;3370:7;3403:1;3398;:6;;3406:12;3390:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3430:9;3446:1;3442;:5;;;;:::i;:::-;3430:17;;3465:1;3458:8;;;3250:224;;;;;:::o;13411:101::-;13468:19;;;;;;;;;;;:28;;:36;13497:6;13468:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13411:101;:::o;9077:323::-;9172:7;9230;;9219;:18;;9197:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9318:19;9340:10;:8;:10::i;:::-;9318:32;;9368:24;9380:11;9368:7;:11;;:24;;;;:::i;:::-;9361:31;;;9077:323;;;:::o;12722:483::-;6719:4;6710:6;;:13;;;;;;;;;;;;;;;;;;12800:21:::1;12838:1;12824:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12800:40;;12869:4;12851;12856:1;12851:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12895:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12885:4;12890:1;12885:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12928:62;12945:4;12960:15;;;;;;;;;;;12978:11;12928:8;:62::i;:::-;13001:15;;;;;;;;;;;:66;;;13082:11;13108:1;13124:4;13151;13171:15;13001:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12789:416;6755:5:::0;6746:6;;:14;;;;;;;;;;;;;;;;;;12722:483;:::o;14070:282::-;14226:7;14221:28;;14235:14;:12;:14::i;:::-;14221:28;14260:44;14278:6;14286:9;14297:6;14260:17;:44::i;:::-;14320:7;14315:29;;14329:15;:13;:15::i;:::-;14315:29;14070:282;;;;:::o;17045:166::-;17087:7;17108:15;17125;17144:19;:17;:19::i;:::-;17107:56;;;;17183:20;17195:7;17183;:11;;:20;;;;:::i;:::-;17176:27;;;;17045:166;:::o;3736:132::-;3794:7;3821:39;3825:1;3828;3821:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3814:46;;3736:132;;;;:::o;9408:231::-;9468:1;9455:9;;:14;:30;;;;;9484:1;9473:7;;:12;9455:30;9451:43;;;9487:7;;9451:43;9530:9;;9510:17;:29;;;;9568:7;;9550:15;:25;;;;9608:1;9596:9;:13;;;;9630:1;9620:7;:11;;;;9408:231;:::o;14360:610::-;14507:15;14537:23;14575:12;14602:23;14640:12;14667:13;14694:19;14705:7;14694:10;:19::i;:::-;14492:221;;;;;;;;;;;;14742:28;14762:7;14742;:15;14750:6;14742:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14724:7;:15;14732:6;14724:15;;;;;;;;;;;;;;;:46;;;;14802:39;14825:15;14802:7;:18;14810:9;14802:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14781:7;:18;14789:9;14781:18;;;;;;;;;;;;;;;:60;;;;14852:16;14862:5;14852:9;:16::i;:::-;14879:23;14891:4;14897;14879:11;:23::i;:::-;14935:9;14918:44;;14927:6;14918:44;;;14946:15;14918:44;;;;;;:::i;:::-;;;;;;;;14481:489;;;;;;14360:610;;;:::o;9647:117::-;9703:17;;9691:9;:29;;;;9741:15;;9731:7;:25;;;;9647:117::o;17219:263::-;17270:7;17279;17299:15;17317:7;;17299:25;;17335:15;5612:11;17335:25;;17385:20;5612:11;17385:7;;:11;;:20;;;;:::i;:::-;17375:7;:30;17371:61;;;17415:7;;5612:11;17407:25;;;;;;;;17371:61;17457:7;17466;17449:25;;;;;;17219:263;;;:::o;3876:223::-;3996:7;4028:1;4024;:5;4031:12;4016:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4055:9;4071:1;4067;:5;;;;:::i;:::-;4055:17;;4090:1;4083:8;;;3876:223;;;;;:::o;15389:625::-;15489:7;15511;15533;15555;15577;15599;15635:23;15660:12;15674:13;15704:40;15716:7;15725:9;;15736:7;;15704:11;:40::i;:::-;15634:110;;;;;;15755:19;15777:10;:8;:10::i;:::-;15755:32;;15799:15;15816:23;15841:12;15870:46;15882:7;15891:4;15897:5;15904:11;15870;:46::i;:::-;15798:118;;;;;;15945:7;15954:15;15971:4;15977:15;15994:4;16000:5;15937:69;;;;;;;;;;;;;;;;;;;15389:625;;;;;;;:::o;3106:136::-;3164:7;3191:43;3195:1;3198;3191:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3184:50;;3106:136;;;;:::o;2919:179::-;2977:7;2997:9;3013:1;3009;:5;;;;:::i;:::-;2997:17;;3038:1;3033;:6;;3025:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3089:1;3082:8;;;2919:179;;;;:::o;14978:211::-;15031:19;15053:10;:8;:10::i;:::-;15031:32;;15074:13;15090:22;15100:11;15090:5;:9;;:22;;;;:::i;:::-;15074:38;;15148:33;15175:5;15148:7;:22;15164:4;15148:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15123:7;:22;15139:4;15123:22;;;;;;;;;;;;;;;:58;;;;15020:169;;14978:211;:::o;15197:147::-;15275:17;15287:4;15275:7;;:11;;:17;;;;:::i;:::-;15265:7;:27;;;;15316:20;15331:4;15316:10;;:14;;:20;;;;:::i;:::-;15303:10;:33;;;;15197:147;;:::o;16022:471::-;16191:7;16213;16235;16270:12;16285:30;16311:3;16285:21;16297:8;16285:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16270:45;;16326:13;16342:28;16366:3;16342:19;16354:6;16342:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16326:44;;16381:23;16407:28;16429:5;16407:17;16419:4;16407:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16381:54;;16456:15;16473:4;16479:5;16448:37;;;;;;;;;16022:471;;;;;;;:::o;16501:536::-;16695:7;16717;16739;16774:15;16792:24;16804:11;16792:7;:11;;:24;;;;:::i;:::-;16774:42;;16827:12;16842:21;16851:11;16842:4;:8;;:21;;;;:::i;:::-;16827:36;;16874:13;16890:22;16900:11;16890:5;:9;;:22;;;;:::i;:::-;16874:38;;16923:23;16949:28;16971:5;16949:17;16961:4;16949:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16923:54;;16998:7;17007:15;17024:4;16990:39;;;;;;;;;;16501:536;;;;;;;;:::o;3482:246::-;3540:7;3569:1;3564;:6;3560:47;;;3594:1;3587:8;;;;3560:47;3617:9;3633:1;3629;:5;;;;:::i;:::-;3617:17;;3662:1;3657;3653;:5;;;;:::i;:::-;:10;3645:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3719:1;3712:8;;;3482:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;440:139;;;;:::o;585:329::-;644:6;693:2;681:9;672:7;668:23;664:32;661:119;;;699:79;;:::i;:::-;661:119;819:1;844:53;889:7;880:6;869:9;865:22;844:53;:::i;:::-;834:63;;790:117;585:329;;;;:::o;920:351::-;990:6;1039:2;1027:9;1018:7;1014:23;1010:32;1007:119;;;1045:79;;:::i;:::-;1007:119;1165:1;1190:64;1246:7;1237:6;1226:9;1222:22;1190:64;:::i;:::-;1180:74;;1136:128;920:351;;;;:::o;1277:474::-;1345:6;1353;1402:2;1390:9;1381:7;1377:23;1373:32;1370:119;;;1408:79;;:::i;:::-;1370:119;1528:1;1553:53;1598:7;1589:6;1578:9;1574:22;1553:53;:::i;:::-;1543:63;;1499:117;1655:2;1681:53;1726:7;1717:6;1706:9;1702:22;1681:53;:::i;:::-;1671:63;;1626:118;1277:474;;;;;:::o;1757:619::-;1834:6;1842;1850;1899:2;1887:9;1878:7;1874:23;1870:32;1867:119;;;1905:79;;:::i;:::-;1867:119;2025:1;2050:53;2095:7;2086:6;2075:9;2071:22;2050:53;:::i;:::-;2040:63;;1996:117;2152:2;2178:53;2223:7;2214:6;2203:9;2199:22;2178:53;:::i;:::-;2168:63;;2123:118;2280:2;2306:53;2351:7;2342:6;2331:9;2327:22;2306:53;:::i;:::-;2296:63;;2251:118;1757:619;;;;;:::o;2382:474::-;2450:6;2458;2507:2;2495:9;2486:7;2482:23;2478:32;2475:119;;;2513:79;;:::i;:::-;2475:119;2633:1;2658:53;2703:7;2694:6;2683:9;2679:22;2658:53;:::i;:::-;2648:63;;2604:117;2760:2;2786:53;2831:7;2822:6;2811:9;2807:22;2786:53;:::i;:::-;2776:63;;2731:118;2382:474;;;;;:::o;2862:323::-;2918:6;2967:2;2955:9;2946:7;2942:23;2938:32;2935:119;;;2973:79;;:::i;:::-;2935:119;3093:1;3118:50;3160:7;3151:6;3140:9;3136:22;3118:50;:::i;:::-;3108:60;;3064:114;2862:323;;;;:::o;3191:329::-;3250:6;3299:2;3287:9;3278:7;3274:23;3270:32;3267:119;;;3305:79;;:::i;:::-;3267:119;3425:1;3450:53;3495:7;3486:6;3475:9;3471:22;3450:53;:::i;:::-;3440:63;;3396:117;3191:329;;;;:::o;3526:179::-;3595:10;3616:46;3658:3;3650:6;3616:46;:::i;:::-;3694:4;3689:3;3685:14;3671:28;;3526:179;;;;:::o;3711:108::-;3788:24;3806:5;3788:24;:::i;:::-;3783:3;3776:37;3711:108;;:::o;3825:118::-;3912:24;3930:5;3912:24;:::i;:::-;3907:3;3900:37;3825:118;;:::o;3979:732::-;4098:3;4127:54;4175:5;4127:54;:::i;:::-;4197:86;4276:6;4271:3;4197:86;:::i;:::-;4190:93;;4307:56;4357:5;4307:56;:::i;:::-;4386:7;4417:1;4402:284;4427:6;4424:1;4421:13;4402:284;;;4503:6;4497:13;4530:63;4589:3;4574:13;4530:63;:::i;:::-;4523:70;;4616:60;4669:6;4616:60;:::i;:::-;4606:70;;4462:224;4449:1;4446;4442:9;4437:14;;4402:284;;;4406:14;4702:3;4695:10;;4103:608;;;3979:732;;;;:::o;4717:109::-;4798:21;4813:5;4798:21;:::i;:::-;4793:3;4786:34;4717:109;;:::o;4832:183::-;4945:63;5002:5;4945:63;:::i;:::-;4940:3;4933:76;4832:183;;:::o;5021:147::-;5116:45;5155:5;5116:45;:::i;:::-;5111:3;5104:58;5021:147;;:::o;5174:364::-;5262:3;5290:39;5323:5;5290:39;:::i;:::-;5345:71;5409:6;5404:3;5345:71;:::i;:::-;5338:78;;5425:52;5470:6;5465:3;5458:4;5451:5;5447:16;5425:52;:::i;:::-;5502:29;5524:6;5502:29;:::i;:::-;5497:3;5493:39;5486:46;;5266:272;5174:364;;;;:::o;5544:366::-;5686:3;5707:67;5771:2;5766:3;5707:67;:::i;:::-;5700:74;;5783:93;5872:3;5783:93;:::i;:::-;5901:2;5896:3;5892:12;5885:19;;5544:366;;;:::o;5916:::-;6058:3;6079:67;6143:2;6138:3;6079:67;:::i;:::-;6072:74;;6155:93;6244:3;6155:93;:::i;:::-;6273:2;6268:3;6264:12;6257:19;;5916:366;;;:::o;6288:::-;6430:3;6451:67;6515:2;6510:3;6451:67;:::i;:::-;6444:74;;6527:93;6616:3;6527:93;:::i;:::-;6645:2;6640:3;6636:12;6629:19;;6288:366;;;:::o;6660:::-;6802:3;6823:67;6887:2;6882:3;6823:67;:::i;:::-;6816:74;;6899:93;6988:3;6899:93;:::i;:::-;7017:2;7012:3;7008:12;7001:19;;6660:366;;;:::o;7032:::-;7174:3;7195:67;7259:2;7254:3;7195:67;:::i;:::-;7188:74;;7271:93;7360:3;7271:93;:::i;:::-;7389:2;7384:3;7380:12;7373:19;;7032:366;;;:::o;7404:::-;7546:3;7567:67;7631:2;7626:3;7567:67;:::i;:::-;7560:74;;7643:93;7732:3;7643:93;:::i;:::-;7761:2;7756:3;7752:12;7745:19;;7404:366;;;:::o;7776:::-;7918:3;7939:67;8003:2;7998:3;7939:67;:::i;:::-;7932:74;;8015:93;8104:3;8015:93;:::i;:::-;8133:2;8128:3;8124:12;8117:19;;7776:366;;;:::o;8148:::-;8290:3;8311:67;8375:2;8370:3;8311:67;:::i;:::-;8304:74;;8387:93;8476:3;8387:93;:::i;:::-;8505:2;8500:3;8496:12;8489:19;;8148:366;;;:::o;8520:::-;8662:3;8683:67;8747:2;8742:3;8683:67;:::i;:::-;8676:74;;8759:93;8848:3;8759:93;:::i;:::-;8877:2;8872:3;8868:12;8861:19;;8520:366;;;:::o;8892:::-;9034:3;9055:67;9119:2;9114:3;9055:67;:::i;:::-;9048:74;;9131:93;9220:3;9131:93;:::i;:::-;9249:2;9244:3;9240:12;9233:19;;8892:366;;;:::o;9264:::-;9406:3;9427:67;9491:2;9486:3;9427:67;:::i;:::-;9420:74;;9503:93;9592:3;9503:93;:::i;:::-;9621:2;9616:3;9612:12;9605:19;;9264:366;;;:::o;9636:::-;9778:3;9799:67;9863:2;9858:3;9799:67;:::i;:::-;9792:74;;9875:93;9964:3;9875:93;:::i;:::-;9993:2;9988:3;9984:12;9977:19;;9636:366;;;:::o;10008:::-;10150:3;10171:67;10235:2;10230:3;10171:67;:::i;:::-;10164:74;;10247:93;10336:3;10247:93;:::i;:::-;10365:2;10360:3;10356:12;10349:19;;10008:366;;;:::o;10380:::-;10522:3;10543:67;10607:2;10602:3;10543:67;:::i;:::-;10536:74;;10619:93;10708:3;10619:93;:::i;:::-;10737:2;10732:3;10728:12;10721:19;;10380:366;;;:::o;10752:::-;10894:3;10915:67;10979:2;10974:3;10915:67;:::i;:::-;10908:74;;10991:93;11080:3;10991:93;:::i;:::-;11109:2;11104:3;11100:12;11093:19;;10752:366;;;:::o;11124:::-;11266:3;11287:67;11351:2;11346:3;11287:67;:::i;:::-;11280:74;;11363:93;11452:3;11363:93;:::i;:::-;11481:2;11476:3;11472:12;11465:19;;11124:366;;;:::o;11496:118::-;11583:24;11601:5;11583:24;:::i;:::-;11578:3;11571:37;11496:118;;:::o;11620:112::-;11703:22;11719:5;11703:22;:::i;:::-;11698:3;11691:35;11620:112;;:::o;11738:222::-;11831:4;11869:2;11858:9;11854:18;11846:26;;11882:71;11950:1;11939:9;11935:17;11926:6;11882:71;:::i;:::-;11738:222;;;;:::o;11966:210::-;12053:4;12091:2;12080:9;12076:18;12068:26;;12104:65;12166:1;12155:9;12151:17;12142:6;12104:65;:::i;:::-;11966:210;;;;:::o;12182:274::-;12301:4;12339:2;12328:9;12324:18;12316:26;;12352:97;12446:1;12435:9;12431:17;12422:6;12352:97;:::i;:::-;12182:274;;;;:::o;12462:313::-;12575:4;12613:2;12602:9;12598:18;12590:26;;12662:9;12656:4;12652:20;12648:1;12637:9;12633:17;12626:47;12690:78;12763:4;12754:6;12690:78;:::i;:::-;12682:86;;12462:313;;;;:::o;12781:419::-;12947:4;12985:2;12974:9;12970:18;12962:26;;13034:9;13028:4;13024:20;13020:1;13009:9;13005:17;12998:47;13062:131;13188:4;13062:131;:::i;:::-;13054:139;;12781:419;;;:::o;13206:::-;13372:4;13410:2;13399:9;13395:18;13387:26;;13459:9;13453:4;13449:20;13445:1;13434:9;13430:17;13423:47;13487:131;13613:4;13487:131;:::i;:::-;13479:139;;13206:419;;;:::o;13631:::-;13797:4;13835:2;13824:9;13820:18;13812:26;;13884:9;13878:4;13874:20;13870:1;13859:9;13855:17;13848:47;13912:131;14038:4;13912:131;:::i;:::-;13904:139;;13631:419;;;:::o;14056:::-;14222:4;14260:2;14249:9;14245:18;14237:26;;14309:9;14303:4;14299:20;14295:1;14284:9;14280:17;14273:47;14337:131;14463:4;14337:131;:::i;:::-;14329:139;;14056:419;;;:::o;14481:::-;14647:4;14685:2;14674:9;14670:18;14662:26;;14734:9;14728:4;14724:20;14720:1;14709:9;14705:17;14698:47;14762:131;14888:4;14762:131;:::i;:::-;14754:139;;14481:419;;;:::o;14906:::-;15072:4;15110:2;15099:9;15095:18;15087:26;;15159:9;15153:4;15149:20;15145:1;15134:9;15130:17;15123:47;15187:131;15313:4;15187:131;:::i;:::-;15179:139;;14906:419;;;:::o;15331:::-;15497:4;15535:2;15524:9;15520:18;15512:26;;15584:9;15578:4;15574:20;15570:1;15559:9;15555:17;15548:47;15612:131;15738:4;15612:131;:::i;:::-;15604:139;;15331:419;;;:::o;15756:::-;15922:4;15960:2;15949:9;15945:18;15937:26;;16009:9;16003:4;15999:20;15995:1;15984:9;15980:17;15973:47;16037:131;16163:4;16037:131;:::i;:::-;16029:139;;15756:419;;;:::o;16181:::-;16347:4;16385:2;16374:9;16370:18;16362:26;;16434:9;16428:4;16424:20;16420:1;16409:9;16405:17;16398:47;16462:131;16588:4;16462:131;:::i;:::-;16454:139;;16181:419;;;:::o;16606:::-;16772:4;16810:2;16799:9;16795:18;16787:26;;16859:9;16853:4;16849:20;16845:1;16834:9;16830:17;16823:47;16887:131;17013:4;16887:131;:::i;:::-;16879:139;;16606:419;;;:::o;17031:::-;17197:4;17235:2;17224:9;17220:18;17212:26;;17284:9;17278:4;17274:20;17270:1;17259:9;17255:17;17248:47;17312:131;17438:4;17312:131;:::i;:::-;17304:139;;17031:419;;;:::o;17456:::-;17622:4;17660:2;17649:9;17645:18;17637:26;;17709:9;17703:4;17699:20;17695:1;17684:9;17680:17;17673:47;17737:131;17863:4;17737:131;:::i;:::-;17729:139;;17456:419;;;:::o;17881:::-;18047:4;18085:2;18074:9;18070:18;18062:26;;18134:9;18128:4;18124:20;18120:1;18109:9;18105:17;18098:47;18162:131;18288:4;18162:131;:::i;:::-;18154:139;;17881:419;;;:::o;18306:::-;18472:4;18510:2;18499:9;18495:18;18487:26;;18559:9;18553:4;18549:20;18545:1;18534:9;18530:17;18523:47;18587:131;18713:4;18587:131;:::i;:::-;18579:139;;18306:419;;;:::o;18731:::-;18897:4;18935:2;18924:9;18920:18;18912:26;;18984:9;18978:4;18974:20;18970:1;18959:9;18955:17;18948:47;19012:131;19138:4;19012:131;:::i;:::-;19004:139;;18731:419;;;:::o;19156:::-;19322:4;19360:2;19349:9;19345:18;19337:26;;19409:9;19403:4;19399:20;19395:1;19384:9;19380:17;19373:47;19437:131;19563:4;19437:131;:::i;:::-;19429:139;;19156:419;;;:::o;19581:222::-;19674:4;19712:2;19701:9;19697:18;19689:26;;19725:71;19793:1;19782:9;19778:17;19769:6;19725:71;:::i;:::-;19581:222;;;;:::o;19809:831::-;20072:4;20110:3;20099:9;20095:19;20087:27;;20124:71;20192:1;20181:9;20177:17;20168:6;20124:71;:::i;:::-;20205:80;20281:2;20270:9;20266:18;20257:6;20205:80;:::i;:::-;20332:9;20326:4;20322:20;20317:2;20306:9;20302:18;20295:48;20360:108;20463:4;20454:6;20360:108;:::i;:::-;20352:116;;20478:72;20546:2;20535:9;20531:18;20522:6;20478:72;:::i;:::-;20560:73;20628:3;20617:9;20613:19;20604:6;20560:73;:::i;:::-;19809:831;;;;;;;;:::o;20646:214::-;20735:4;20773:2;20762:9;20758:18;20750:26;;20786:67;20850:1;20839:9;20835:17;20826:6;20786:67;:::i;:::-;20646:214;;;;:::o;20947:132::-;21014:4;21037:3;21029:11;;21067:4;21062:3;21058:14;21050:22;;20947:132;;;:::o;21085:114::-;21152:6;21186:5;21180:12;21170:22;;21085:114;;;:::o;21205:99::-;21257:6;21291:5;21285:12;21275:22;;21205:99;;;:::o;21310:113::-;21380:4;21412;21407:3;21403:14;21395:22;;21310:113;;;:::o;21429:184::-;21528:11;21562:6;21557:3;21550:19;21602:4;21597:3;21593:14;21578:29;;21429:184;;;;:::o;21619:169::-;21703:11;21737:6;21732:3;21725:19;21777:4;21772:3;21768:14;21753:29;;21619:169;;;;:::o;21794:305::-;21834:3;21853:20;21871:1;21853:20;:::i;:::-;21848:25;;21887:20;21905:1;21887:20;:::i;:::-;21882:25;;22041:1;21973:66;21969:74;21966:1;21963:81;21960:107;;;22047:18;;:::i;:::-;21960:107;22091:1;22088;22084:9;22077:16;;21794:305;;;;:::o;22105:185::-;22145:1;22162:20;22180:1;22162:20;:::i;:::-;22157:25;;22196:20;22214:1;22196:20;:::i;:::-;22191:25;;22235:1;22225:35;;22240:18;;:::i;:::-;22225:35;22282:1;22279;22275:9;22270:14;;22105:185;;;;:::o;22296:348::-;22336:7;22359:20;22377:1;22359:20;:::i;:::-;22354:25;;22393:20;22411:1;22393:20;:::i;:::-;22388:25;;22581:1;22513:66;22509:74;22506:1;22503:81;22498:1;22491:9;22484:17;22480:105;22477:131;;;22588:18;;:::i;:::-;22477:131;22636:1;22633;22629:9;22618:20;;22296:348;;;;:::o;22650:191::-;22690:4;22710:20;22728:1;22710:20;:::i;:::-;22705:25;;22744:20;22762:1;22744:20;:::i;:::-;22739:25;;22783:1;22780;22777:8;22774:34;;;22788:18;;:::i;:::-;22774:34;22833:1;22830;22826:9;22818:17;;22650:191;;;;:::o;22847:96::-;22884:7;22913:24;22931:5;22913:24;:::i;:::-;22902:35;;22847:96;;;:::o;22949:90::-;22983:7;23026:5;23019:13;23012:21;23001:32;;22949:90;;;:::o;23045:126::-;23082:7;23122:42;23115:5;23111:54;23100:65;;23045:126;;;:::o;23177:77::-;23214:7;23243:5;23232:16;;23177:77;;;:::o;23260:86::-;23295:7;23335:4;23328:5;23324:16;23313:27;;23260:86;;;:::o;23352:152::-;23428:9;23461:37;23492:5;23461:37;:::i;:::-;23448:50;;23352:152;;;:::o;23510:121::-;23568:9;23601:24;23619:5;23601:24;:::i;:::-;23588:37;;23510:121;;;:::o;23637:126::-;23687:9;23720:37;23751:5;23720:37;:::i;:::-;23707:50;;23637:126;;;:::o;23769:113::-;23819:9;23852:24;23870:5;23852:24;:::i;:::-;23839:37;;23769:113;;;:::o;23888:307::-;23956:1;23966:113;23980:6;23977:1;23974:13;23966:113;;;24065:1;24060:3;24056:11;24050:18;24046:1;24041:3;24037:11;24030:39;24002:2;23999:1;23995:10;23990:15;;23966:113;;;24097:6;24094:1;24091:13;24088:101;;;24177:1;24168:6;24163:3;24159:16;24152:27;24088:101;23937:258;23888:307;;;:::o;24201:180::-;24249:77;24246:1;24239:88;24346:4;24343:1;24336:15;24370:4;24367:1;24360:15;24387:180;24435:77;24432:1;24425:88;24532:4;24529:1;24522:15;24556:4;24553:1;24546:15;24573:180;24621:77;24618:1;24611:88;24718:4;24715:1;24708:15;24742:4;24739:1;24732:15;24759:180;24807:77;24804:1;24797:88;24904:4;24901:1;24894:15;24928:4;24925:1;24918:15;25068:117;25177:1;25174;25167:12;25191:102;25232:6;25283:2;25279:7;25274:2;25267:5;25263:14;25259:28;25249:38;;25191:102;;;:::o;25299:222::-;25439:34;25435:1;25427:6;25423:14;25416:58;25508:5;25503:2;25495:6;25491:15;25484:30;25299:222;:::o;25527:174::-;25667:26;25663:1;25655:6;25651:14;25644:50;25527:174;:::o;25707:295::-;25847:34;25843:1;25835:6;25831:14;25824:58;25916:34;25911:2;25903:6;25899:15;25892:59;25985:9;25980:2;25972:6;25968:15;25961:34;25707:295;:::o;26008:229::-;26148:34;26144:1;26136:6;26132:14;26125:58;26217:12;26212:2;26204:6;26200:15;26193:37;26008:229;:::o;26243:178::-;26383:30;26379:1;26371:6;26367:14;26360:54;26243:178;:::o;26427:225::-;26567:34;26563:1;26555:6;26551:14;26544:58;26636:8;26631:2;26623:6;26619:15;26612:33;26427:225;:::o;26658:221::-;26798:34;26794:1;26786:6;26782:14;26775:58;26867:4;26862:2;26854:6;26850:15;26843:29;26658:221;:::o;26885:177::-;27025:29;27021:1;27013:6;27009:14;27002:53;26885:177;:::o;27068:296::-;27208:34;27204:1;27196:6;27192:14;27185:58;27277:34;27272:2;27264:6;27260:15;27253:59;27346:10;27341:2;27333:6;27329:15;27322:35;27068:296;:::o;27370:220::-;27510:34;27506:1;27498:6;27494:14;27487:58;27579:3;27574:2;27566:6;27562:15;27555:28;27370:220;:::o;27596:182::-;27736:34;27732:1;27724:6;27720:14;27713:58;27596:182;:::o;27784:228::-;27924:34;27920:1;27912:6;27908:14;27901:58;27993:11;27988:2;27980:6;27976:15;27969:36;27784:228;:::o;28018:224::-;28158:34;28154:1;28146:6;28142:14;28135:58;28227:7;28222:2;28214:6;28210:15;28203:32;28018:224;:::o;28248:222::-;28388:34;28384:1;28376:6;28372:14;28365:58;28457:5;28452:2;28444:6;28440:15;28433:30;28248:222;:::o;28476:223::-;28616:34;28612:1;28604:6;28600:14;28593:58;28685:6;28680:2;28672:6;28668:15;28661:31;28476:223;:::o;28705:162::-;28845:14;28841:1;28833:6;28829:14;28822:38;28705:162;:::o;28873:122::-;28946:24;28964:5;28946:24;:::i;:::-;28939:5;28936:35;28926:63;;28985:1;28982;28975:12;28926:63;28873:122;:::o;29001:116::-;29071:21;29086:5;29071:21;:::i;:::-;29064:5;29061:32;29051:60;;29107:1;29104;29097:12;29051:60;29001:116;:::o;29123:122::-;29196:24;29214:5;29196:24;:::i;:::-;29189:5;29186:35;29176:63;;29235:1;29232;29225:12;29176:63;29123:122;:::o

Swarm Source

ipfs://8bf1432abee5524e042509ee3a8f53fcd44df7113064fb657805dd85ef69c0ea

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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