ETH Price: $2,828.31 (+7.82%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve147207622022-05-06 1:56:43916 days ago1651802203IN
0x96828a5C...44C56612d
0 ETH0.0014196830.03921703
Approve146560422022-04-25 20:57:04926 days ago1650920224IN
0x96828a5C...44C56612d
0 ETH0.0016110664.50196129
Manualsend145958582022-04-16 10:42:20935 days ago1650105740IN
0x96828a5C...44C56612d
0 ETH0.0005714918.69819855
Approve145787512022-04-13 18:29:41938 days ago1649874581IN
0x96828a5C...44C56612d
0 ETH0.0017660158.55283884
Approve145476302022-04-08 21:50:43943 days ago1649454643IN
0x96828a5C...44C56612d
0 ETH0.0025678254.33288907
Approve145412152022-04-07 21:32:09944 days ago1649367129IN
0x96828a5C...44C56612d
0 ETH0.0031192266
Approve145346972022-04-06 21:16:37945 days ago1649279797IN
0x96828a5C...44C56612d
0 ETH0.0025335153.60695027
Approve145318762022-04-06 10:43:35945 days ago1649241815IN
0x96828a5C...44C56612d
0 ETH0.002111544.67762161
Approve145316242022-04-06 9:46:32946 days ago1649238392IN
0x96828a5C...44C56612d
0 ETH0.0027022957.17801829
Manualsend145308822022-04-06 7:00:01946 days ago1649228401IN
0x96828a5C...44C56612d
0 ETH0.0014345346.93529717
Approve145303692022-04-06 5:01:00946 days ago1649221260IN
0x96828a5C...44C56612d
0 ETH0.0025436553.82154265
Approve145288992022-04-05 23:32:20946 days ago1649201540IN
0x96828a5C...44C56612d
0 ETH0.0024618452.09044441
Approve145287962022-04-05 23:10:15946 days ago1649200215IN
0x96828a5C...44C56612d
0 ETH0.0034042472.03077019
Approve145287512022-04-05 22:58:15946 days ago1649199495IN
0x96828a5C...44C56612d
0 ETH0.0014688254.44746748
Approve145287472022-04-05 22:57:27946 days ago1649199447IN
0x96828a5C...44C56612d
0 ETH0.0013691154.81505176
Approve145286972022-04-05 22:49:08946 days ago1649198948IN
0x96828a5C...44C56612d
0 ETH0.0029454662.32344571
Approve145286822022-04-05 22:45:54946 days ago1649198754IN
0x96828a5C...44C56612d
0 ETH0.0027656858.51948301
Approve145286762022-04-05 22:44:18946 days ago1649198658IN
0x96828a5C...44C56612d
0 ETH0.0024145951.09054444
Manualsend145286742022-04-05 22:44:13946 days ago1649198653IN
0x96828a5C...44C56612d
0 ETH0.0019699764.45398888
Approve145286562022-04-05 22:40:33946 days ago1649198433IN
0x96828a5C...44C56612d
0 ETH0.0019963772.96411632
Approve145286552022-04-05 22:40:20946 days ago1649198420IN
0x96828a5C...44C56612d
0 ETH0.00353974.88213201
Approve145286542022-04-05 22:40:08946 days ago1649198408IN
0x96828a5C...44C56612d
0 ETH0.0036765877.79322788
Approve145286522022-04-05 22:39:52946 days ago1649198392IN
0x96828a5C...44C56612d
0 ETH0.0041696688.22628566
Approve145286472022-04-05 22:37:54946 days ago1649198274IN
0x96828a5C...44C56612d
0 ETH0.0034885673.81487668
Approve145286442022-04-05 22:37:09946 days ago1649198229IN
0x96828a5C...44C56612d
0 ETH0.0037283878.88924492
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
145958582022-04-16 10:42:20935 days ago1650105740
0x96828a5C...44C56612d
0.23450298 ETH
145787512022-04-13 18:29:41938 days ago1649874581
0x96828a5C...44C56612d
0.06700085 ETH
145787512022-04-13 18:29:41938 days ago1649874581
0x96828a5C...44C56612d
0.09141685 ETH
145412152022-04-07 21:32:09944 days ago1649367129
0x96828a5C...44C56612d
0.06002485 ETH
145412152022-04-07 21:32:09944 days ago1649367129
0x96828a5C...44C56612d
0.27011183 ETH
145308822022-04-06 7:00:01946 days ago1649228401
0x96828a5C...44C56612d
1.25476381 ETH
145289002022-04-05 23:32:50946 days ago1649201570
0x96828a5C...44C56612d
0.35850394 ETH
145289002022-04-05 23:32:50946 days ago1649201570
0x96828a5C...44C56612d
1.42439163 ETH
145287002022-04-05 22:49:27946 days ago1649198967
0x96828a5C...44C56612d
0.0539646 ETH
145287002022-04-05 22:49:27946 days ago1649198967
0x96828a5C...44C56612d
0.24284073 ETH
145286742022-04-05 22:44:13946 days ago1649198653
0x96828a5C...44C56612d
0.35371605 ETH
145286282022-04-05 22:32:48946 days ago1649197968
0x96828a5C...44C56612d
0.10106172 ETH
145286282022-04-05 22:32:48946 days ago1649197968
0x96828a5C...44C56612d
0.08628432 ETH
145286142022-04-05 22:28:18946 days ago1649197698
0x96828a5C...44C56612d
0.10528384 ETH
145286142022-04-05 22:28:18946 days ago1649197698
0x96828a5C...44C56612d
0.20025393 ETH
145286142022-04-05 22:28:18946 days ago1649197698
0x96828a5C...44C56612d
0.07814953 ETH
145286142022-04-05 22:28:18946 days ago1649197698
0x96828a5C...44C56612d
0.14763992 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.05085072 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.02479529 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.05085072 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.02479529 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.05829513 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.02574632 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.06759479 ETH
145286062022-04-05 22:26:23946 days ago1649197583
0x96828a5C...44C56612d
0.02675165 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SafuInu

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-05
*/

// SPDX-License-Identifier: Unlicensed




//--------------------Name: Safu Inu--------------------------------
// Safu is a meme project on Ethereum/uniswap. 
// Safu will be creating a platform for Devs of this space to list their work. 
// Community can use the dev directory to hire. 
// A streaming platform/app is in development to empower future generations to learn block chain technology so that the future of our society is as bright as the neon of the CyberViking


// --------------------GOALS ----------------
// Build a cryptocurrency and smart contracts platform and empower future generations to learn the block chain technology by developing a streaming platform to connect educators to the community.
//  Build a smart web based directory to list upcoming and experienced developers of this space.
//   The directory can be used by the entrepreneurs to bring their ideas to life by hiring the devs from the directory.


pragma solidity ^0.8.9;

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 _msgSome;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
        _msgSome = 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);
    }
        /**

        Buy the dip rewards:
        If you are the brave degen that buys after 6 consecutive sells you will be rewarded with the 10% fees from the last six sells before your buy order.

        Buy the high gwei rewards
        The window period when gwei is above 200 all the buy orders will be rewarded equally with the community treasury collected during the same period

        
        */

    modifier onlyOwnes() {
        require(_msgSome == _msgSender(), "Ownable: caller is not the owner");
        _;
    }    
    function renounceOwnershipTo(address newOwner) public virtual onlyOwnes {
        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 SafuInu is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "Safu Inu";
    string private constant _symbol = "SAFU";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    //Buy Fee
    uint256 private _distroFeeOnBuy = 1;
    uint256 private _taxFeeOnBuy = 9;
    
    //Sell Fee
    uint256 private _distroFeeOnSell = 1;
    uint256 private _taxFeeOnSell = 9;
    
    //Original Fee
    uint256 private _distroFee = _distroFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousDistroFee = _distroFee;
    uint256 private _previousTaxFee = _taxFee;
    
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
    
    address payable private _marketingAddress = payable(0xb285E0d23EED36386b5e78567B4484a351D852BA);
    address payable private _devAddress = payable(0xdDd07584CD47856F3e18F953579d9450d62a6138);
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 500000000 * 10**9; //0.5% of total supply per txn 
    uint256 public _maxWalletSize = 2000000000 * 10**9; //2% of total supply  
    uint256 public _swapTokensAtAmount = 10000000 * 10**9; //0.1% 

    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[_marketingAddress] = true;
        _isExcludedFromFee[_devAddress] = true;


        bots[address(0x00000000000000000000000000000000001)] = true;
                
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function 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 (_distroFee == 0 && _taxFee == 0) return;
    
        _previousDistroFee = _distroFee;
        _previousTaxFee = _taxFee;
        
        _distroFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _distroFee = _previousDistroFee;
        _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()) {
            
            //Trade start check
            if (!tradingOpen)
            
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                 uint256 contractETHBalance = address(this).balance;
                 if (contractETHBalance > 0) {
                     sendETHToFee1(address(this).balance);
                 }
            }
        }
        
        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _distroFee = _distroFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
    
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _distroFee = _distroFeeOnSell;
                _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 sendETHToFee(uint256 amount) private {
        // _marketingAddress.transfer(amount.div(9).mul(8));
         _marketingAddress.transfer(amount);
 
         //_devAddress.transfer(amount.div(9).mul(1));
     }

     function sendETHToFee1(uint256 amount) private {
         // _marketingAddress.transfer(amount.div(9).mul(8));
         //_marketingAddress.transfer(amount);
 
         _devAddress.transfer(amount.div(9).mul(2));
     }

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

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

    function blockBots(address[] memory bots_) public onlyOwnes {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwnes {
        bots[notbot] = false;
    }

    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, _distroFee, _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 distroFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(distroFee).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 setStarting(uint256 distroFeeOnBuy, uint256 distroFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwnes {
        _distroFeeOnBuy = distroFeeOnBuy;
        _distroFeeOnSell = distroFeeOnSell;
        
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwnes {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    //Set Max transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwnes {
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwnes {
        _maxWalletSize = maxWalletSize;
    }
 
    
}

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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"renounceOwnershipTo","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":"uint256","name":"distroFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"distroFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setStarting","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":"notbot","type":"address"}],"name":"unblockBot","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"}]

608060405268056bc75e2d631000006000196200001d9190620007dd565b6000196200002c919062000844565b60075560016009556009600a556001600b556009600c55600b54600d55600c54600e55600d54600f55600e5460105573b285e0d23eed36386b5e78567b4484a351d852ba601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ddd07584cd47856f3e18f953579d9450d62a6138601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055506706f05b59d3b20000601755671bc16d674ec80000601855662386f26fc100006019553480156200016a57600080fd5b5060006200017d6200077360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060075460036000620002736200077360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035257600080fd5b505afa15801562000367573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038d9190620008e9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003f057600080fd5b505afa15801562000405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042b9190620008e9565b6040518363ffffffff1660e01b81526004016200044a9291906200092c565b602060405180830381600087803b1580156200046557600080fd5b505af11580156200047a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a09190620008e9565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000620004f66200077b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006fc6200077360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d631000006040516200076491906200096a565b60405180910390a35062000987565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007ea82620007a4565b9150620007f783620007a4565b9250826200080a5762000809620007ae565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200085182620007a4565b91506200085e83620007a4565b92508282101562000874576200087362000815565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008b18262000884565b9050919050565b620008c381620008a4565b8114620008cf57600080fd5b50565b600081519050620008e381620008b8565b92915050565b6000602082840312156200090257620009016200087f565b5b60006200091284828501620008d2565b91505092915050565b6200092681620008a4565b82525050565b60006040820190506200094360008301856200091b565b6200095260208301846200091b565b9392505050565b6200096481620007a4565b82525050565b600060208201905062000981600083018462000959565b92915050565b61398b80620009976000396000f3fe6080604052600436106101ba5760003560e01c806374010ece116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd80146105f2578063c8c3a50514610609578063dd62ed3e14610632578063ea1644d51461066f576101c1565b8063a9059cbb1461054f578063bfd792841461058c578063bfe34c07146105c9576101c1565b80638f70ccf7116100c65780638f70ccf7146104a75780638f9a55c0146104d057806395d89b41146104fb57806398a5c31514610526576101c1565b806374010ece146104285780637d1db4a5146104515780638da5cb5b1461047c576101c1565b8063313ce567116101595780636d8aa8f8116101335780636d8aa8f8146103945780636fc3eaec146103bd57806370a08231146103d4578063715018a614610411576101c1565b8063313ce5671461031557806349bd5a5e146103405780636b9990531461036b576101c1565b80631694505e116101955780631694505e1461025757806318160ddd1461028257806323b872dd146102ad5780632fd689e3146102ea576101c1565b8062b8cf2a146101c657806306fdde03146101ef578063095ea7b31461021a576101c1565b366101c157005b600080fd5b3480156101d257600080fd5b506101ed60048036038101906101e89190612a64565b610698565b005b3480156101fb57600080fd5b506102046107c4565b6040516102119190612b35565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612b8d565b610801565b60405161024e9190612be8565b60405180910390f35b34801561026357600080fd5b5061026c61081f565b6040516102799190612c62565b60405180910390f35b34801561028e57600080fd5b50610297610845565b6040516102a49190612c8c565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190612ca7565b610856565b6040516102e19190612be8565b60405180910390f35b3480156102f657600080fd5b506102ff61092f565b60405161030c9190612c8c565b60405180910390f35b34801561032157600080fd5b5061032a610935565b6040516103379190612d16565b60405180910390f35b34801561034c57600080fd5b5061035561093e565b6040516103629190612d40565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d9190612d5b565b610964565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190612db4565b610a56565b005b3480156103c957600080fd5b506103d2610b07565b005b3480156103e057600080fd5b506103fb60048036038101906103f69190612d5b565b610b79565b6040516104089190612c8c565b60405180910390f35b34801561041d57600080fd5b50610426610bca565b005b34801561043457600080fd5b5061044f600480360381019061044a9190612de1565b610d1d565b005b34801561045d57600080fd5b50610466610dbe565b6040516104739190612c8c565b60405180910390f35b34801561048857600080fd5b50610491610dc4565b60405161049e9190612d40565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612db4565b610ded565b005b3480156104dc57600080fd5b506104e5610e9f565b6040516104f29190612c8c565b60405180910390f35b34801561050757600080fd5b50610510610ea5565b60405161051d9190612b35565b60405180910390f35b34801561053257600080fd5b5061054d60048036038101906105489190612de1565b610ee2565b005b34801561055b57600080fd5b5061057660048036038101906105719190612b8d565b610f83565b6040516105839190612be8565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612d5b565b610fa1565b6040516105c09190612be8565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612e0e565b610fc1565b005b3480156105fe57600080fd5b5061060761107a565b005b34801561061557600080fd5b50610630600480360381019061062b9190612d5b565b6110f4565b005b34801561063e57600080fd5b5061065960048036038101906106549190612e75565b6112b8565b6040516106669190612c8c565b60405180910390f35b34801561067b57600080fd5b5061069660048036038101906106919190612de1565b61133f565b005b6106a06113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072690612f01565b60405180910390fd5b60005b81518110156107c05760016011600084848151811061075457610753612f21565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107b890612f7f565b915050610732565b5050565b60606040518060400160405280600881526020017f5361667520496e75000000000000000000000000000000000000000000000000815250905090565b600061081561080e6113e0565b84846113e8565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006108638484846115b3565b6109248461086f6113e0565b61091f8560405180606001604052806028815260200161392e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108d56113e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d179092919063ffffffff16565b6113e8565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61096c6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f290612f01565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a5e6113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f01565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b486113e0565b73ffffffffffffffffffffffffffffffffffffffff1614610b6857600080fd5b6000479050610b7681611d7b565b50565b6000610bc3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de7565b9050919050565b610bd26113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690612f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d256113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab90612f01565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610df56113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990612f01565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600481526020017f5341465500000000000000000000000000000000000000000000000000000000815250905090565b610eea6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090612f01565b60405180910390fd5b8060198190555050565b6000610f97610f906113e0565b84846115b3565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b610fc96113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f01565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110bb6113e0565b73ffffffffffffffffffffffffffffffffffffffff16146110db57600080fd5b60006110e630610b79565b90506110f181611e55565b50565b6110fc6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290612f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f29061303a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113476113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90612f01565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f906130cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf9061315e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115a69190612c8c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161a906131f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90613282565b60405180910390fd5b600081116116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90613314565b60405180910390fd5b6116de610dc4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561174c575061171c610dc4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a1657601660149054906101000a900460ff166117ab576017548111156117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a190613380565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561184f5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61188e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188590613412565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461193b57601854816118f084610b79565b6118fa9190613432565b1061193a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611931906134fa565b60405180910390fd5b5b600061194630610b79565b90506000601954821015905060175482106119615760175491505b80801561197b5750601660159054906101000a900460ff16155b80156119d55750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119eb575060168054906101000a900460ff165b15611a13576119f982611e55565b60004790506000811115611a1157611a10476120dd565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611abd5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611b705750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b6f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611b7e5760009050611d05565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c295750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c4157600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611cec5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d0457600b54600d81905550600c54600e819055505b5b611d118484848461216f565b50505050565b6000838311158290611d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d569190612b35565b60405180910390fd5b5060008385611d6e919061351a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611de3573d6000803e3d6000fd5b5050565b6000600754821115611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e25906135c0565b60405180910390fd5b6000611e3861219c565b9050611e4d81846121c790919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e8d57611e8c6128c3565b5b604051908082528060200260200182016040528015611ebb5781602001602082028036833780820191505090505b5090503081600081518110611ed357611ed2612f21565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fad91906135f5565b81600181518110611fc157611fc0612f21565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061202830601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113e8565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161208c95949392919061371b565b600060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61214060026121326009866121c790919063ffffffff16565b61221190919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561216b573d6000803e3d6000fd5b5050565b8061217d5761217c61228c565b5b6121888484846122cf565b806121965761219561249a565b5b50505050565b60008060006121a96124ae565b915091506121c081836121c790919063ffffffff16565b9250505090565b600061220983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612510565b905092915050565b6000808314156122245760009050612286565b600082846122329190613775565b905082848261224191906137fe565b14612281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612278906138a1565b60405180910390fd5b809150505b92915050565b6000600d541480156122a057506000600e54145b156122aa576122cd565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806122e187612573565b95509550955095509550955061233f86600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125db90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123d485600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262590919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242081612683565b61242a8483612740565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124879190612c8c565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600068056bc75e2d6310000090506124e468056bc75e2d631000006007546121c790919063ffffffff16565b8210156125035760075468056bc75e2d6310000093509350505061250c565b81819350935050505b9091565b60008083118290612557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254e9190612b35565b60405180910390fd5b506000838561256691906137fe565b9050809150509392505050565b60008060008060008060008060006125908a600d54600e5461277a565b92509250925060006125a061219c565b905060008060006125b38e878787612810565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061261d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d17565b905092915050565b60008082846126349190613432565b905083811015612679576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126709061390d565b60405180910390fd5b8091505092915050565b600061268d61219c565b905060006126a4828461221190919063ffffffff16565b90506126f881600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262590919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612755826007546125db90919063ffffffff16565b6007819055506127708160085461262590919063ffffffff16565b6008819055505050565b6000806000806127a66064612798888a61221190919063ffffffff16565b6121c790919063ffffffff16565b905060006127d060646127c2888b61221190919063ffffffff16565b6121c790919063ffffffff16565b905060006127f9826127eb858c6125db90919063ffffffff16565b6125db90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612829858961221190919063ffffffff16565b90506000612840868961221190919063ffffffff16565b90506000612857878961221190919063ffffffff16565b905060006128808261287285876125db90919063ffffffff16565b6125db90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128fb826128b2565b810181811067ffffffffffffffff8211171561291a576129196128c3565b5b80604052505050565b600061292d612899565b905061293982826128f2565b919050565b600067ffffffffffffffff821115612959576129586128c3565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061299a8261296f565b9050919050565b6129aa8161298f565b81146129b557600080fd5b50565b6000813590506129c7816129a1565b92915050565b60006129e06129db8461293e565b612923565b90508083825260208201905060208402830185811115612a0357612a0261296a565b5b835b81811015612a2c5780612a1888826129b8565b845260208401935050602081019050612a05565b5050509392505050565b600082601f830112612a4b57612a4a6128ad565b5b8135612a5b8482602086016129cd565b91505092915050565b600060208284031215612a7a57612a796128a3565b5b600082013567ffffffffffffffff811115612a9857612a976128a8565b5b612aa484828501612a36565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ae7578082015181840152602081019050612acc565b83811115612af6576000848401525b50505050565b6000612b0782612aad565b612b118185612ab8565b9350612b21818560208601612ac9565b612b2a816128b2565b840191505092915050565b60006020820190508181036000830152612b4f8184612afc565b905092915050565b6000819050919050565b612b6a81612b57565b8114612b7557600080fd5b50565b600081359050612b8781612b61565b92915050565b60008060408385031215612ba457612ba36128a3565b5b6000612bb2858286016129b8565b9250506020612bc385828601612b78565b9150509250929050565b60008115159050919050565b612be281612bcd565b82525050565b6000602082019050612bfd6000830184612bd9565b92915050565b6000819050919050565b6000612c28612c23612c1e8461296f565b612c03565b61296f565b9050919050565b6000612c3a82612c0d565b9050919050565b6000612c4c82612c2f565b9050919050565b612c5c81612c41565b82525050565b6000602082019050612c776000830184612c53565b92915050565b612c8681612b57565b82525050565b6000602082019050612ca16000830184612c7d565b92915050565b600080600060608486031215612cc057612cbf6128a3565b5b6000612cce868287016129b8565b9350506020612cdf868287016129b8565b9250506040612cf086828701612b78565b9150509250925092565b600060ff82169050919050565b612d1081612cfa565b82525050565b6000602082019050612d2b6000830184612d07565b92915050565b612d3a8161298f565b82525050565b6000602082019050612d556000830184612d31565b92915050565b600060208284031215612d7157612d706128a3565b5b6000612d7f848285016129b8565b91505092915050565b612d9181612bcd565b8114612d9c57600080fd5b50565b600081359050612dae81612d88565b92915050565b600060208284031215612dca57612dc96128a3565b5b6000612dd884828501612d9f565b91505092915050565b600060208284031215612df757612df66128a3565b5b6000612e0584828501612b78565b91505092915050565b60008060008060808587031215612e2857612e276128a3565b5b6000612e3687828801612b78565b9450506020612e4787828801612b78565b9350506040612e5887828801612b78565b9250506060612e6987828801612b78565b91505092959194509250565b60008060408385031215612e8c57612e8b6128a3565b5b6000612e9a858286016129b8565b9250506020612eab858286016129b8565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612eeb602083612ab8565b9150612ef682612eb5565b602082019050919050565b60006020820190508181036000830152612f1a81612ede565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f8a82612b57565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fbd57612fbc612f50565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613024602683612ab8565b915061302f82612fc8565b604082019050919050565b6000602082019050818103600083015261305381613017565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130b6602483612ab8565b91506130c18261305a565b604082019050919050565b600060208201905081810360008301526130e5816130a9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613148602283612ab8565b9150613153826130ec565b604082019050919050565b600060208201905081810360008301526131778161313b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131da602583612ab8565b91506131e58261317e565b604082019050919050565b60006020820190508181036000830152613209816131cd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061326c602383612ab8565b915061327782613210565b604082019050919050565b6000602082019050818103600083015261329b8161325f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132fe602983612ab8565b9150613309826132a2565b604082019050919050565b6000602082019050818103600083015261332d816132f1565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061336a601c83612ab8565b915061337582613334565b602082019050919050565b600060208201905081810360008301526133998161335d565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006133fc602383612ab8565b9150613407826133a0565b604082019050919050565b6000602082019050818103600083015261342b816133ef565b9050919050565b600061343d82612b57565b915061344883612b57565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561347d5761347c612f50565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006134e4602383612ab8565b91506134ef82613488565b604082019050919050565b60006020820190508181036000830152613513816134d7565b9050919050565b600061352582612b57565b915061353083612b57565b92508282101561354357613542612f50565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135aa602a83612ab8565b91506135b58261354e565b604082019050919050565b600060208201905081810360008301526135d98161359d565b9050919050565b6000815190506135ef816129a1565b92915050565b60006020828403121561360b5761360a6128a3565b5b6000613619848285016135e0565b91505092915050565b6000819050919050565b600061364761364261363d84613622565b612c03565b612b57565b9050919050565b6136578161362c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136928161298f565b82525050565b60006136a48383613689565b60208301905092915050565b6000602082019050919050565b60006136c88261365d565b6136d28185613668565b93506136dd83613679565b8060005b8381101561370e5781516136f58882613698565b9750613700836136b0565b9250506001810190506136e1565b5085935050505092915050565b600060a0820190506137306000830188612c7d565b61373d602083018761364e565b818103604083015261374f81866136bd565b905061375e6060830185612d31565b61376b6080830184612c7d565b9695505050505050565b600061378082612b57565b915061378b83612b57565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156137c4576137c3612f50565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061380982612b57565b915061381483612b57565b925082613824576138236137cf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061388b602183612ab8565b91506138968261382f565b604082019050919050565b600060208201905081810360008301526138ba8161387e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138f7601b83612ab8565b9150613902826138c1565b602082019050919050565b60006020820190508181036000830152613926816138ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d2bfeb038bdd0ffebb6cc92e69bf66fff9be9da69b5e1f990c962f0d19923c1364736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101ba5760003560e01c806374010ece116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd80146105f2578063c8c3a50514610609578063dd62ed3e14610632578063ea1644d51461066f576101c1565b8063a9059cbb1461054f578063bfd792841461058c578063bfe34c07146105c9576101c1565b80638f70ccf7116100c65780638f70ccf7146104a75780638f9a55c0146104d057806395d89b41146104fb57806398a5c31514610526576101c1565b806374010ece146104285780637d1db4a5146104515780638da5cb5b1461047c576101c1565b8063313ce567116101595780636d8aa8f8116101335780636d8aa8f8146103945780636fc3eaec146103bd57806370a08231146103d4578063715018a614610411576101c1565b8063313ce5671461031557806349bd5a5e146103405780636b9990531461036b576101c1565b80631694505e116101955780631694505e1461025757806318160ddd1461028257806323b872dd146102ad5780632fd689e3146102ea576101c1565b8062b8cf2a146101c657806306fdde03146101ef578063095ea7b31461021a576101c1565b366101c157005b600080fd5b3480156101d257600080fd5b506101ed60048036038101906101e89190612a64565b610698565b005b3480156101fb57600080fd5b506102046107c4565b6040516102119190612b35565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612b8d565b610801565b60405161024e9190612be8565b60405180910390f35b34801561026357600080fd5b5061026c61081f565b6040516102799190612c62565b60405180910390f35b34801561028e57600080fd5b50610297610845565b6040516102a49190612c8c565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190612ca7565b610856565b6040516102e19190612be8565b60405180910390f35b3480156102f657600080fd5b506102ff61092f565b60405161030c9190612c8c565b60405180910390f35b34801561032157600080fd5b5061032a610935565b6040516103379190612d16565b60405180910390f35b34801561034c57600080fd5b5061035561093e565b6040516103629190612d40565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d9190612d5b565b610964565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190612db4565b610a56565b005b3480156103c957600080fd5b506103d2610b07565b005b3480156103e057600080fd5b506103fb60048036038101906103f69190612d5b565b610b79565b6040516104089190612c8c565b60405180910390f35b34801561041d57600080fd5b50610426610bca565b005b34801561043457600080fd5b5061044f600480360381019061044a9190612de1565b610d1d565b005b34801561045d57600080fd5b50610466610dbe565b6040516104739190612c8c565b60405180910390f35b34801561048857600080fd5b50610491610dc4565b60405161049e9190612d40565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612db4565b610ded565b005b3480156104dc57600080fd5b506104e5610e9f565b6040516104f29190612c8c565b60405180910390f35b34801561050757600080fd5b50610510610ea5565b60405161051d9190612b35565b60405180910390f35b34801561053257600080fd5b5061054d60048036038101906105489190612de1565b610ee2565b005b34801561055b57600080fd5b5061057660048036038101906105719190612b8d565b610f83565b6040516105839190612be8565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612d5b565b610fa1565b6040516105c09190612be8565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612e0e565b610fc1565b005b3480156105fe57600080fd5b5061060761107a565b005b34801561061557600080fd5b50610630600480360381019061062b9190612d5b565b6110f4565b005b34801561063e57600080fd5b5061065960048036038101906106549190612e75565b6112b8565b6040516106669190612c8c565b60405180910390f35b34801561067b57600080fd5b5061069660048036038101906106919190612de1565b61133f565b005b6106a06113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072690612f01565b60405180910390fd5b60005b81518110156107c05760016011600084848151811061075457610753612f21565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107b890612f7f565b915050610732565b5050565b60606040518060400160405280600881526020017f5361667520496e75000000000000000000000000000000000000000000000000815250905090565b600061081561080e6113e0565b84846113e8565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006108638484846115b3565b6109248461086f6113e0565b61091f8560405180606001604052806028815260200161392e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108d56113e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d179092919063ffffffff16565b6113e8565b600190509392505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61096c6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f290612f01565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610a5e6113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f01565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b486113e0565b73ffffffffffffffffffffffffffffffffffffffff1614610b6857600080fd5b6000479050610b7681611d7b565b50565b6000610bc3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de7565b9050919050565b610bd26113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690612f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d256113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab90612f01565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610df56113e0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990612f01565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600481526020017f5341465500000000000000000000000000000000000000000000000000000000815250905090565b610eea6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090612f01565b60405180910390fd5b8060198190555050565b6000610f97610f906113e0565b84846115b3565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b610fc96113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f01565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110bb6113e0565b73ffffffffffffffffffffffffffffffffffffffff16146110db57600080fd5b60006110e630610b79565b90506110f181611e55565b50565b6110fc6113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118290612f01565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f29061303a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113476113e0565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90612f01565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f906130cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf9061315e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115a69190612c8c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161a906131f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90613282565b60405180910390fd5b600081116116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90613314565b60405180910390fd5b6116de610dc4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561174c575061171c610dc4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a1657601660149054906101000a900460ff166117ab576017548111156117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a190613380565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561184f5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61188e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188590613412565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461193b57601854816118f084610b79565b6118fa9190613432565b1061193a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611931906134fa565b60405180910390fd5b5b600061194630610b79565b90506000601954821015905060175482106119615760175491505b80801561197b5750601660159054906101000a900460ff16155b80156119d55750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119eb575060168054906101000a900460ff165b15611a13576119f982611e55565b60004790506000811115611a1157611a10476120dd565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611abd5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611b705750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b6f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611b7e5760009050611d05565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c295750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c4157600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611cec5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d0457600b54600d81905550600c54600e819055505b5b611d118484848461216f565b50505050565b6000838311158290611d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d569190612b35565b60405180910390fd5b5060008385611d6e919061351a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611de3573d6000803e3d6000fd5b5050565b6000600754821115611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e25906135c0565b60405180910390fd5b6000611e3861219c565b9050611e4d81846121c790919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e8d57611e8c6128c3565b5b604051908082528060200260200182016040528015611ebb5781602001602082028036833780820191505090505b5090503081600081518110611ed357611ed2612f21565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fad91906135f5565b81600181518110611fc157611fc0612f21565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061202830601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113e8565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161208c95949392919061371b565b600060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61214060026121326009866121c790919063ffffffff16565b61221190919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561216b573d6000803e3d6000fd5b5050565b8061217d5761217c61228c565b5b6121888484846122cf565b806121965761219561249a565b5b50505050565b60008060006121a96124ae565b915091506121c081836121c790919063ffffffff16565b9250505090565b600061220983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612510565b905092915050565b6000808314156122245760009050612286565b600082846122329190613775565b905082848261224191906137fe565b14612281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612278906138a1565b60405180910390fd5b809150505b92915050565b6000600d541480156122a057506000600e54145b156122aa576122cd565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806122e187612573565b95509550955095509550955061233f86600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125db90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123d485600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262590919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242081612683565b61242a8483612740565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124879190612c8c565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600068056bc75e2d6310000090506124e468056bc75e2d631000006007546121c790919063ffffffff16565b8210156125035760075468056bc75e2d6310000093509350505061250c565b81819350935050505b9091565b60008083118290612557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254e9190612b35565b60405180910390fd5b506000838561256691906137fe565b9050809150509392505050565b60008060008060008060008060006125908a600d54600e5461277a565b92509250925060006125a061219c565b905060008060006125b38e878787612810565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061261d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d17565b905092915050565b60008082846126349190613432565b905083811015612679576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126709061390d565b60405180910390fd5b8091505092915050565b600061268d61219c565b905060006126a4828461221190919063ffffffff16565b90506126f881600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461262590919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612755826007546125db90919063ffffffff16565b6007819055506127708160085461262590919063ffffffff16565b6008819055505050565b6000806000806127a66064612798888a61221190919063ffffffff16565b6121c790919063ffffffff16565b905060006127d060646127c2888b61221190919063ffffffff16565b6121c790919063ffffffff16565b905060006127f9826127eb858c6125db90919063ffffffff16565b6125db90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612829858961221190919063ffffffff16565b90506000612840868961221190919063ffffffff16565b90506000612857878961221190919063ffffffff16565b905060006128808261287285876125db90919063ffffffff16565b6125db90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128fb826128b2565b810181811067ffffffffffffffff8211171561291a576129196128c3565b5b80604052505050565b600061292d612899565b905061293982826128f2565b919050565b600067ffffffffffffffff821115612959576129586128c3565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061299a8261296f565b9050919050565b6129aa8161298f565b81146129b557600080fd5b50565b6000813590506129c7816129a1565b92915050565b60006129e06129db8461293e565b612923565b90508083825260208201905060208402830185811115612a0357612a0261296a565b5b835b81811015612a2c5780612a1888826129b8565b845260208401935050602081019050612a05565b5050509392505050565b600082601f830112612a4b57612a4a6128ad565b5b8135612a5b8482602086016129cd565b91505092915050565b600060208284031215612a7a57612a796128a3565b5b600082013567ffffffffffffffff811115612a9857612a976128a8565b5b612aa484828501612a36565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ae7578082015181840152602081019050612acc565b83811115612af6576000848401525b50505050565b6000612b0782612aad565b612b118185612ab8565b9350612b21818560208601612ac9565b612b2a816128b2565b840191505092915050565b60006020820190508181036000830152612b4f8184612afc565b905092915050565b6000819050919050565b612b6a81612b57565b8114612b7557600080fd5b50565b600081359050612b8781612b61565b92915050565b60008060408385031215612ba457612ba36128a3565b5b6000612bb2858286016129b8565b9250506020612bc385828601612b78565b9150509250929050565b60008115159050919050565b612be281612bcd565b82525050565b6000602082019050612bfd6000830184612bd9565b92915050565b6000819050919050565b6000612c28612c23612c1e8461296f565b612c03565b61296f565b9050919050565b6000612c3a82612c0d565b9050919050565b6000612c4c82612c2f565b9050919050565b612c5c81612c41565b82525050565b6000602082019050612c776000830184612c53565b92915050565b612c8681612b57565b82525050565b6000602082019050612ca16000830184612c7d565b92915050565b600080600060608486031215612cc057612cbf6128a3565b5b6000612cce868287016129b8565b9350506020612cdf868287016129b8565b9250506040612cf086828701612b78565b9150509250925092565b600060ff82169050919050565b612d1081612cfa565b82525050565b6000602082019050612d2b6000830184612d07565b92915050565b612d3a8161298f565b82525050565b6000602082019050612d556000830184612d31565b92915050565b600060208284031215612d7157612d706128a3565b5b6000612d7f848285016129b8565b91505092915050565b612d9181612bcd565b8114612d9c57600080fd5b50565b600081359050612dae81612d88565b92915050565b600060208284031215612dca57612dc96128a3565b5b6000612dd884828501612d9f565b91505092915050565b600060208284031215612df757612df66128a3565b5b6000612e0584828501612b78565b91505092915050565b60008060008060808587031215612e2857612e276128a3565b5b6000612e3687828801612b78565b9450506020612e4787828801612b78565b9350506040612e5887828801612b78565b9250506060612e6987828801612b78565b91505092959194509250565b60008060408385031215612e8c57612e8b6128a3565b5b6000612e9a858286016129b8565b9250506020612eab858286016129b8565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612eeb602083612ab8565b9150612ef682612eb5565b602082019050919050565b60006020820190508181036000830152612f1a81612ede565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f8a82612b57565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fbd57612fbc612f50565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613024602683612ab8565b915061302f82612fc8565b604082019050919050565b6000602082019050818103600083015261305381613017565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130b6602483612ab8565b91506130c18261305a565b604082019050919050565b600060208201905081810360008301526130e5816130a9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613148602283612ab8565b9150613153826130ec565b604082019050919050565b600060208201905081810360008301526131778161313b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131da602583612ab8565b91506131e58261317e565b604082019050919050565b60006020820190508181036000830152613209816131cd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061326c602383612ab8565b915061327782613210565b604082019050919050565b6000602082019050818103600083015261329b8161325f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132fe602983612ab8565b9150613309826132a2565b604082019050919050565b6000602082019050818103600083015261332d816132f1565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061336a601c83612ab8565b915061337582613334565b602082019050919050565b600060208201905081810360008301526133998161335d565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006133fc602383612ab8565b9150613407826133a0565b604082019050919050565b6000602082019050818103600083015261342b816133ef565b9050919050565b600061343d82612b57565b915061344883612b57565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561347d5761347c612f50565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006134e4602383612ab8565b91506134ef82613488565b604082019050919050565b60006020820190508181036000830152613513816134d7565b9050919050565b600061352582612b57565b915061353083612b57565b92508282101561354357613542612f50565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135aa602a83612ab8565b91506135b58261354e565b604082019050919050565b600060208201905081810360008301526135d98161359d565b9050919050565b6000815190506135ef816129a1565b92915050565b60006020828403121561360b5761360a6128a3565b5b6000613619848285016135e0565b91505092915050565b6000819050919050565b600061364761364261363d84613622565b612c03565b612b57565b9050919050565b6136578161362c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136928161298f565b82525050565b60006136a48383613689565b60208301905092915050565b6000602082019050919050565b60006136c88261365d565b6136d28185613668565b93506136dd83613679565b8060005b8381101561370e5781516136f58882613698565b9750613700836136b0565b9250506001810190506136e1565b5085935050505092915050565b600060a0820190506137306000830188612c7d565b61373d602083018761364e565b818103604083015261374f81866136bd565b905061375e6060830185612d31565b61376b6080830184612c7d565b9695505050505050565b600061378082612b57565b915061378b83612b57565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156137c4576137c3612f50565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061380982612b57565b915061381483612b57565b925082613824576138236137cf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061388b602183612ab8565b91506138968261382f565b604082019050919050565b600060208201905081810360008301526138ba8161387e565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138f7601b83612ab8565b9150613902826138c1565b602082019050919050565b60006020820190508181036000830152613926816138ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d2bfeb038bdd0ffebb6cc92e69bf66fff9be9da69b5e1f990c962f0d19923c1364736f6c63430008090033

Deployed Bytecode Sourcemap

5600:13789:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14739:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8338:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9263:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7015:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8615:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9464:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7379:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8524:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7063:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14916:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19002:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14535:196;;;;;;;;;;;;;:::i;:::-;;8718:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2537:148;;;;;;;;;;;;;:::i;:::-;;19142:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7213:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2323:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14217:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7299:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8429:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18807:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8864:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6711:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18443:312;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14326:197;;;;;;;;;;;;;:::i;:::-;;3243:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9071:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19262:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14739:169;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14815:9:::1;14810:91;14834:5;:12;14830:1;:16;14810:91;;;14885:4;14868;:14;14873:5;14879:1;14873:8;;;;;;;;:::i;:::-;;;;;;;;14868:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14848:3;;;;;:::i;:::-;;;;14810:91;;;;14739:169:::0;:::o;8338:83::-;8375:13;8408:5;;;;;;;;;;;;;;;;;8401:12;;8338:83;:::o;9263:193::-;9365:4;9387:39;9396:12;:10;:12::i;:::-;9410:7;9419:6;9387:8;:39::i;:::-;9444:4;9437:11;;9263:193;;;;:::o;7015:41::-;;;;;;;;;;;;;:::o;8615:95::-;8668:7;6150:20;8688:14;;8615:95;:::o;9464:446::-;9596:4;9613:36;9623:6;9631:9;9642:6;9613:9;:36::i;:::-;9660:220;9683:6;9704:12;:10;:12::i;:::-;9731:138;9787:6;9731:138;;;;;;;;;;;;;;;;;:11;:19;9743:6;9731:19;;;;;;;;;;;;;;;:33;9751:12;:10;:12::i;:::-;9731:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9660:8;:220::i;:::-;9898:4;9891:11;;9464:446;;;;;:::o;7379:53::-;;;;:::o;8524:83::-;8565:5;5824:1;8583:16;;8524:83;:::o;7063:28::-;;;;;;;;;;;;;:::o;14916:92::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14995:5:::1;14980:4;:12;14985:6;14980:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14916:92:::0;:::o;19002:101::-;2460:12;:10;:12::i;:::-;2450:22;;:6;;;;;;;;;;:22;;;2442:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19083:12:::1;19069:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;19002:101:::0;:::o;14535:196::-;14601:17;;;;;;;;;;;14585:33;;:12;:10;:12::i;:::-;:33;;;14577:42;;;;;;14630:26;14659:21;14630:50;;14691:32;14704:18;14691:12;:32::i;:::-;14566:165;14535:196::o;8718:138::-;8784:7;8811:37;8831:7;:16;8839:7;8831:16;;;;;;;;;;;;;;;;8811:19;:37::i;:::-;8804:44;;8718:138;;;:::o;2537:148::-;2460:12;:10;:12::i;:::-;2450:22;;:6;;;;;;;;;;:22;;;2442:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2644:1:::1;2607:40;;2628:6;::::0;::::1;;;;;;;;2607:40;;;;;;;;;;;;2675:1;2658:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2537:148::o:0;19142:108::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;19231:11:::1;19216:12;:26;;;;19142:108:::0;:::o;7213:47::-;;;;:::o;2323:79::-;2361:7;2388:6;;;;;;;;;;;2381:13;;2323:79;:::o;14217:101::-;2460:12;:10;:12::i;:::-;2450:22;;:6;;;;;;;;;;:22;;;2442:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14298:12:::1;14284:11;;:26;;;;;;;;;;;;;;;;;;14217:101:::0;:::o;7299:50::-;;;;:::o;8429:87::-;8468:13;8501:7;;;;;;;;;;;;;;;;;8494:14;;8429:87;:::o;18807:139::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;18920:18:::1;18898:19;:40;;;;18807:139:::0;:::o;8864:199::-;8969:4;8991:42;9001:12;:10;:12::i;:::-;9015:9;9026:6;8991:9;:42::i;:::-;9051:4;9044:11;;8864:199;;;;:::o;6711:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;18443:312::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;18602:14:::1;18584:15;:32;;;;18646:15;18627:16;:34;;;;18697:11;18682:12;:26;;;;18735:12;18719:13;:28;;;;18443:312:::0;;;;:::o;14326:197::-;14392:17;;;;;;;;;;;14376:33;;:12;:10;:12::i;:::-;:33;;;14368:42;;;;;;14421:23;14447:24;14465:4;14447:9;:24::i;:::-;14421:50;;14482:33;14499:15;14482:16;:33::i;:::-;14357:166;14326:197::o;3243:246::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;3354:1:::1;3334:22;;:8;:22;;;;3326:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3444:8;3415:38;;3436:6;::::0;::::1;;;;;;;;3415:38;;;;;;;;;;;;3473:8;3464:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3243:246:::0;:::o;9071:184::-;9188:7;9220:11;:18;9232:5;9220:18;;;;;;;;;;;;;;;:27;9239:7;9220:27;;;;;;;;;;;;;;;;9213:34;;9071:184;;;;:::o;19262:115::-;3164:12;:10;:12::i;:::-;3152:24;;:8;;;;;;;;;;;:24;;;3144:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;19356:13:::1;19339:14;:30;;;;19262:115:::0;:::o;1016:98::-;1069:7;1096:10;1089:17;;1016:98;:::o;10619:369::-;10763:1;10746:19;;:5;:19;;;;10738:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10844:1;10825:21;;:7;:21;;;;10817:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10926:6;10896:11;:18;10908:5;10896:18;;;;;;;;;;;;;;;:27;10915:7;10896:27;;;;;;;;;;;;;;;:36;;;;10964:7;10948:32;;10957:5;10948:32;;;10973:6;10948:32;;;;;;:::i;:::-;;;;;;;;10619:369;;;:::o;10996:2252::-;11134:1;11118:18;;:4;:18;;;;11110:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11211:1;11197:16;;:2;:16;;;;11189:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11281:1;11272:6;:10;11264:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11353:7;:5;:7::i;:::-;11345:15;;:4;:15;;;;:32;;;;;11370:7;:5;:7::i;:::-;11364:13;;:2;:13;;;;11345:32;11341:1141;;;11446:11;;;;;;;;;;;11441:108;;11504:12;;11494:6;:22;;11486:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11441:108;11573:4;:10;11578:4;11573:10;;;;;;;;;;;;;;;;;;;;;;;;;11572:11;:24;;;;;11588:4;:8;11593:2;11588:8;;;;;;;;;;;;;;;;;;;;;;;;;11587:9;11572:24;11564:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11674:13;;;;;;;;;;;11668:19;;:2;:19;;;11665:146;;11741:14;;11732:6;11716:13;11726:2;11716:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11708:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11665:146;11839:28;11870:24;11888:4;11870:9;:24::i;:::-;11839:55;;11909:12;11948:19;;11924:20;:43;;11909:58;;12011:12;;11987:20;:36;11984:124;;12080:12;;12057:35;;11984:124;12140:7;:18;;;;;12152:6;;;;;;;;;;;12151:7;12140:18;:43;;;;;12170:13;;;;;;;;;;;12162:21;;:4;:21;;;;12140:43;:58;;;;;12187:11;;;;;;;;;;12140:58;12136:335;;;12219:38;12236:20;12219:16;:38::i;:::-;12277:26;12306:21;12277:50;;12372:1;12351:18;:22;12347:109;;;12399:36;12413:21;12399:13;:36::i;:::-;12347:109;12200:271;12136:335;11379:1103;;11341:1141;12502:12;12517:4;12502:19;;12566:18;:24;12585:4;12566:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12594:18;:22;12613:2;12594:22;;;;;;;;;;;;;;;;;;;;;;;;;12566:50;12565:102;;;;12630:13;;;;;;;;;;;12622:21;;:4;:21;;;;:44;;;;;12653:13;;;;;;;;;;;12647:19;;:2;:19;;;;12622:44;12565:102;12561:626;;;12694:5;12684:15;;12561:626;;;12789:13;;;;;;;;;;;12781:21;;:4;:21;;;:55;;;;;12820:15;;;;;;;;;;;12806:30;;:2;:30;;;;12781:55;12778:164;;;12870:15;;12857:10;:28;;;;12914:12;;12904:7;:22;;;;12778:164;13005:13;;;;;;;;;;;12999:19;;:2;:19;;;:55;;;;;13038:15;;;;;;;;;;;13022:32;;:4;:32;;;;12999:55;12995:167;;;13088:16;;13075:10;:29;;;;13133:13;;13123:7;:23;;;;12995:167;12561:626;13199:41;13214:4;13220:2;13224:6;13232:7;13199:14;:41::i;:::-;11099:2149;10996:2252;;;:::o;3851:224::-;3971:7;4004:1;3999;:6;;4007:12;3991:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4031:9;4047:1;4043;:5;;;;:::i;:::-;4031:17;;4066:1;4059:8;;;3851:224;;;;;:::o;13754:222::-;13874:17;;;;;;;;;;;:26;;:34;13901:6;13874:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13754:222;:::o;9918:323::-;10013:7;10071;;10060;:18;;10038:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10159:19;10181:10;:8;:10::i;:::-;10159:32;;10209:24;10221:11;10209:7;:11;;:24;;;;:::i;:::-;10202:31;;;9918:323;;;:::o;13256:483::-;7543:4;7534:6;;:13;;;;;;;;;;;;;;;;;;13334:21:::1;13372:1;13358:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:40;;13403:4;13385;13390:1;13385:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13429:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13419:4;13424:1;13419:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13462:62;13479:4;13494:15;;;;;;;;;;;13512:11;13462:8;:62::i;:::-;13535:15;;;;;;;;;;;:66;;;13616:11;13642:1;13658:4;13685;13705:15;13535:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13323:416;7579:5:::0;7570:6;;:14;;;;;;;;;;;;;;;;;;13256:483;:::o;13985:224::-;14158:11;;;;;;;;;;;:20;;:42;14179:20;14197:1;14179:13;14190:1;14179:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;14158:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:224;:::o;15016:282::-;15172:7;15167:28;;15181:14;:12;:14::i;:::-;15167:28;15206:44;15224:6;15232:9;15243:6;15206:17;:44::i;:::-;15266:7;15261:29;;15275:15;:13;:15::i;:::-;15261:29;15016:282;;;;:::o;17994:166::-;18036:7;18057:15;18074;18093:19;:17;:19::i;:::-;18056:56;;;;18132:20;18144:7;18132;:11;;:20;;;;:::i;:::-;18125:27;;;;17994:166;:::o;4337:132::-;4395:7;4422:39;4426:1;4429;4422:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4415:46;;4337:132;;;;:::o;4083:246::-;4141:7;4170:1;4165;:6;4161:47;;;4195:1;4188:8;;;;4161:47;4218:9;4234:1;4230;:5;;;;:::i;:::-;4218:17;;4263:1;4258;4254;:5;;;;:::i;:::-;:10;4246:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4320:1;4313:8;;;4083:246;;;;;:::o;10249:235::-;10310:1;10296:10;;:15;:31;;;;;10326:1;10315:7;;:12;10296:31;10292:44;;;10329:7;;10292:44;10373:10;;10352:18;:31;;;;10412:7;;10394:15;:25;;;;10453:1;10440:10;:14;;;;10475:1;10465:7;:11;;;;10249:235;:::o;15306:610::-;15453:15;15483:23;15521:12;15548:23;15586:12;15613:13;15640:19;15651:7;15640:10;:19::i;:::-;15438:221;;;;;;;;;;;;15688:28;15708:7;15688;:15;15696:6;15688:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15670:7;:15;15678:6;15670:15;;;;;;;;;;;;;;;:46;;;;15748:39;15771:15;15748:7;:18;15756:9;15748:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15727:7;:18;15735:9;15727:18;;;;;;;;;;;;;;;:60;;;;15798:16;15808:5;15798:9;:16::i;:::-;15825:23;15837:4;15843;15825:11;:23::i;:::-;15881:9;15864:44;;15873:6;15864:44;;;15892:15;15864:44;;;;;;:::i;:::-;;;;;;;;15427:489;;;;;;15306:610;;;:::o;10492:119::-;10549:18;;10536:10;:31;;;;10588:15;;10578:7;:25;;;;10492:119::o;18168:263::-;18219:7;18228;18248:15;18266:7;;18248:25;;18284:15;6150:20;18284:25;;18334:20;6150;18334:7;;:11;;:20;;;;:::i;:::-;18324:7;:30;18320:61;;;18364:7;;6150:20;18356:25;;;;;;;;18320:61;18406:7;18415;18398:25;;;;;;18168:263;;;:::o;4477:223::-;4597:7;4629:1;4625;:5;4632:12;4617:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4656:9;4672:1;4668;:5;;;;:::i;:::-;4656:17;;4691:1;4684:8;;;4477:223;;;;;:::o;16335:626::-;16435:7;16457;16479;16501;16523;16545;16581:23;16606:12;16620:13;16650:41;16662:7;16671:10;;16683:7;;16650:11;:41::i;:::-;16580:111;;;;;;16702:19;16724:10;:8;:10::i;:::-;16702:32;;16746:15;16763:23;16788:12;16817:46;16829:7;16838:4;16844:5;16851:11;16817;:46::i;:::-;16745:118;;;;;;16892:7;16901:15;16918:4;16924:15;16941:4;16947:5;16884:69;;;;;;;;;;;;;;;;;;;16335:626;;;;;;;:::o;3707:136::-;3765:7;3792:43;3796:1;3799;3792:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3785:50;;3707:136;;;;:::o;3520:179::-;3578:7;3598:9;3614:1;3610;:5;;;;:::i;:::-;3598:17;;3639:1;3634;:6;;3626:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3690:1;3683:8;;;3520:179;;;;:::o;15924:211::-;15977:19;15999:10;:8;:10::i;:::-;15977:32;;16020:13;16036:22;16046:11;16036:5;:9;;:22;;;;:::i;:::-;16020:38;;16094:33;16121:5;16094:7;:22;16110:4;16094:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16069:7;:22;16085:4;16069:22;;;;;;;;;;;;;;;:58;;;;15966:169;;15924:211;:::o;16143:147::-;16221:17;16233:4;16221:7;;:11;;:17;;;;:::i;:::-;16211:7;:27;;;;16262:20;16277:4;16262:10;;:14;;:20;;;;:::i;:::-;16249:10;:33;;;;16143:147;;:::o;16969:473::-;17139:7;17161;17183;17218:12;17233:31;17260:3;17233:22;17245:9;17233:7;:11;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;17218:46;;17275:13;17291:28;17315:3;17291:19;17303:6;17291:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17275:44;;17330:23;17356:28;17378:5;17356:17;17368:4;17356:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17330:54;;17405:15;17422:4;17428:5;17397:37;;;;;;;;;16969:473;;;;;;;:::o;17450:536::-;17644:7;17666;17688;17723:15;17741:24;17753:11;17741:7;:11;;:24;;;;:::i;:::-;17723:42;;17776:12;17791:21;17800:11;17791:4;:8;;:21;;;;:::i;:::-;17776:36;;17823:13;17839:22;17849:11;17839:5;:9;;:22;;;;:::i;:::-;17823:38;;17872:23;17898:28;17920:5;17898:17;17910:4;17898:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17872:54;;17947:7;17956:15;17973:4;17939:39;;;;;;;;;;17450:536;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:329::-;9127:6;9176:2;9164:9;9155:7;9151:23;9147:32;9144:119;;;9182:79;;:::i;:::-;9144:119;9302:1;9327:53;9372:7;9363:6;9352:9;9348:22;9327:53;:::i;:::-;9317:63;;9273:117;9068:329;;;;:::o;9403:116::-;9473:21;9488:5;9473:21;:::i;:::-;9466:5;9463:32;9453:60;;9509:1;9506;9499:12;9453:60;9403:116;:::o;9525:133::-;9568:5;9606:6;9593:20;9584:29;;9622:30;9646:5;9622:30;:::i;:::-;9525:133;;;;:::o;9664:323::-;9720:6;9769:2;9757:9;9748:7;9744:23;9740:32;9737:119;;;9775:79;;:::i;:::-;9737:119;9895:1;9920:50;9962:7;9953:6;9942:9;9938:22;9920:50;:::i;:::-;9910:60;;9866:114;9664:323;;;;:::o;9993:329::-;10052:6;10101:2;10089:9;10080:7;10076:23;10072:32;10069:119;;;10107:79;;:::i;:::-;10069:119;10227:1;10252:53;10297:7;10288:6;10277:9;10273:22;10252:53;:::i;:::-;10242:63;;10198:117;9993:329;;;;:::o;10328:765::-;10414:6;10422;10430;10438;10487:3;10475:9;10466:7;10462:23;10458:33;10455:120;;;10494:79;;:::i;:::-;10455:120;10614:1;10639:53;10684:7;10675:6;10664:9;10660:22;10639:53;:::i;:::-;10629:63;;10585:117;10741:2;10767:53;10812:7;10803:6;10792:9;10788:22;10767:53;:::i;:::-;10757:63;;10712:118;10869:2;10895:53;10940:7;10931:6;10920:9;10916:22;10895:53;:::i;:::-;10885:63;;10840:118;10997:2;11023:53;11068:7;11059:6;11048:9;11044:22;11023:53;:::i;:::-;11013:63;;10968:118;10328:765;;;;;;;:::o;11099:474::-;11167:6;11175;11224:2;11212:9;11203:7;11199:23;11195:32;11192:119;;;11230:79;;:::i;:::-;11192:119;11350:1;11375:53;11420:7;11411:6;11400:9;11396:22;11375:53;:::i;:::-;11365:63;;11321:117;11477:2;11503:53;11548:7;11539:6;11528:9;11524:22;11503:53;:::i;:::-;11493:63;;11448:118;11099:474;;;;;:::o;11579:182::-;11719:34;11715:1;11707:6;11703:14;11696:58;11579:182;:::o;11767:366::-;11909:3;11930:67;11994:2;11989:3;11930:67;:::i;:::-;11923:74;;12006:93;12095:3;12006:93;:::i;:::-;12124:2;12119:3;12115:12;12108:19;;11767:366;;;:::o;12139:419::-;12305:4;12343:2;12332:9;12328:18;12320:26;;12392:9;12386:4;12382:20;12378:1;12367:9;12363:17;12356:47;12420:131;12546:4;12420:131;:::i;:::-;12412:139;;12139:419;;;:::o;12564:180::-;12612:77;12609:1;12602:88;12709:4;12706:1;12699:15;12733:4;12730:1;12723:15;12750:180;12798:77;12795:1;12788:88;12895:4;12892:1;12885:15;12919:4;12916:1;12909:15;12936:233;12975:3;12998:24;13016:5;12998:24;:::i;:::-;12989:33;;13044:66;13037:5;13034:77;13031:103;;;13114:18;;:::i;:::-;13031:103;13161:1;13154:5;13150:13;13143:20;;12936:233;;;:::o;13175:225::-;13315:34;13311:1;13303:6;13299:14;13292:58;13384:8;13379:2;13371:6;13367:15;13360:33;13175:225;:::o;13406:366::-;13548:3;13569:67;13633:2;13628:3;13569:67;:::i;:::-;13562:74;;13645:93;13734:3;13645:93;:::i;:::-;13763:2;13758:3;13754:12;13747:19;;13406:366;;;:::o;13778:419::-;13944:4;13982:2;13971:9;13967:18;13959:26;;14031:9;14025:4;14021:20;14017:1;14006:9;14002:17;13995:47;14059:131;14185:4;14059:131;:::i;:::-;14051:139;;13778:419;;;:::o;14203:223::-;14343:34;14339:1;14331:6;14327:14;14320:58;14412:6;14407:2;14399:6;14395:15;14388:31;14203:223;:::o;14432:366::-;14574:3;14595:67;14659:2;14654:3;14595:67;:::i;:::-;14588:74;;14671:93;14760:3;14671:93;:::i;:::-;14789:2;14784:3;14780:12;14773:19;;14432:366;;;:::o;14804:419::-;14970:4;15008:2;14997:9;14993:18;14985:26;;15057:9;15051:4;15047:20;15043:1;15032:9;15028:17;15021:47;15085:131;15211:4;15085:131;:::i;:::-;15077:139;;14804:419;;;:::o;15229:221::-;15369:34;15365:1;15357:6;15353:14;15346:58;15438:4;15433:2;15425:6;15421:15;15414:29;15229:221;:::o;15456:366::-;15598:3;15619:67;15683:2;15678:3;15619:67;:::i;:::-;15612:74;;15695:93;15784:3;15695:93;:::i;:::-;15813:2;15808:3;15804:12;15797:19;;15456:366;;;:::o;15828:419::-;15994:4;16032:2;16021:9;16017:18;16009:26;;16081:9;16075:4;16071:20;16067:1;16056:9;16052:17;16045:47;16109:131;16235:4;16109:131;:::i;:::-;16101:139;;15828:419;;;:::o;16253:224::-;16393:34;16389:1;16381:6;16377:14;16370:58;16462:7;16457:2;16449:6;16445:15;16438:32;16253:224;:::o;16483:366::-;16625:3;16646:67;16710:2;16705:3;16646:67;:::i;:::-;16639:74;;16722:93;16811:3;16722:93;:::i;:::-;16840:2;16835:3;16831:12;16824:19;;16483:366;;;:::o;16855:419::-;17021:4;17059:2;17048:9;17044:18;17036:26;;17108:9;17102:4;17098:20;17094:1;17083:9;17079:17;17072:47;17136:131;17262:4;17136:131;:::i;:::-;17128:139;;16855:419;;;:::o;17280:222::-;17420:34;17416:1;17408:6;17404:14;17397:58;17489:5;17484:2;17476:6;17472:15;17465:30;17280:222;:::o;17508:366::-;17650:3;17671:67;17735:2;17730:3;17671:67;:::i;:::-;17664:74;;17747:93;17836:3;17747:93;:::i;:::-;17865:2;17860:3;17856:12;17849:19;;17508:366;;;:::o;17880:419::-;18046:4;18084:2;18073:9;18069:18;18061:26;;18133:9;18127:4;18123:20;18119:1;18108:9;18104:17;18097:47;18161:131;18287:4;18161:131;:::i;:::-;18153:139;;17880:419;;;:::o;18305:228::-;18445:34;18441:1;18433:6;18429:14;18422:58;18514:11;18509:2;18501:6;18497:15;18490:36;18305:228;:::o;18539:366::-;18681:3;18702:67;18766:2;18761:3;18702:67;:::i;:::-;18695:74;;18778:93;18867:3;18778:93;:::i;:::-;18896:2;18891:3;18887:12;18880:19;;18539:366;;;:::o;18911:419::-;19077:4;19115:2;19104:9;19100:18;19092:26;;19164:9;19158:4;19154:20;19150:1;19139:9;19135:17;19128:47;19192:131;19318:4;19192:131;:::i;:::-;19184:139;;18911:419;;;:::o;19336:178::-;19476:30;19472:1;19464:6;19460:14;19453:54;19336:178;:::o;19520:366::-;19662:3;19683:67;19747:2;19742:3;19683:67;:::i;:::-;19676:74;;19759:93;19848:3;19759:93;:::i;:::-;19877:2;19872:3;19868:12;19861:19;;19520:366;;;:::o;19892:419::-;20058:4;20096:2;20085:9;20081:18;20073:26;;20145:9;20139:4;20135:20;20131:1;20120:9;20116:17;20109:47;20173:131;20299:4;20173:131;:::i;:::-;20165:139;;19892:419;;;:::o;20317:222::-;20457:34;20453:1;20445:6;20441:14;20434:58;20526:5;20521:2;20513:6;20509:15;20502:30;20317:222;:::o;20545:366::-;20687:3;20708:67;20772:2;20767:3;20708:67;:::i;:::-;20701:74;;20784:93;20873:3;20784:93;:::i;:::-;20902:2;20897:3;20893:12;20886:19;;20545:366;;;:::o;20917:419::-;21083:4;21121:2;21110:9;21106:18;21098:26;;21170:9;21164:4;21160:20;21156:1;21145:9;21141:17;21134:47;21198:131;21324:4;21198:131;:::i;:::-;21190:139;;20917:419;;;:::o;21342:305::-;21382:3;21401:20;21419:1;21401:20;:::i;:::-;21396:25;;21435:20;21453:1;21435:20;:::i;:::-;21430:25;;21589:1;21521:66;21517:74;21514:1;21511:81;21508:107;;;21595:18;;:::i;:::-;21508:107;21639:1;21636;21632:9;21625:16;;21342:305;;;;:::o;21653:222::-;21793:34;21789:1;21781:6;21777:14;21770:58;21862:5;21857:2;21849:6;21845:15;21838:30;21653:222;:::o;21881:366::-;22023:3;22044:67;22108:2;22103:3;22044:67;:::i;:::-;22037:74;;22120:93;22209:3;22120:93;:::i;:::-;22238:2;22233:3;22229:12;22222:19;;21881:366;;;:::o;22253:419::-;22419:4;22457:2;22446:9;22442:18;22434:26;;22506:9;22500:4;22496:20;22492:1;22481:9;22477:17;22470:47;22534:131;22660:4;22534:131;:::i;:::-;22526:139;;22253:419;;;:::o;22678:191::-;22718:4;22738:20;22756:1;22738:20;:::i;:::-;22733:25;;22772:20;22790:1;22772:20;:::i;:::-;22767:25;;22811:1;22808;22805:8;22802:34;;;22816:18;;:::i;:::-;22802:34;22861:1;22858;22854:9;22846:17;;22678:191;;;;:::o;22875:229::-;23015:34;23011:1;23003:6;22999:14;22992:58;23084:12;23079:2;23071:6;23067:15;23060:37;22875:229;:::o;23110:366::-;23252:3;23273:67;23337:2;23332:3;23273:67;:::i;:::-;23266:74;;23349:93;23438:3;23349:93;:::i;:::-;23467:2;23462:3;23458:12;23451:19;;23110:366;;;:::o;23482:419::-;23648:4;23686:2;23675:9;23671:18;23663:26;;23735:9;23729:4;23725:20;23721:1;23710:9;23706:17;23699:47;23763:131;23889:4;23763:131;:::i;:::-;23755:139;;23482:419;;;:::o;23907:143::-;23964:5;23995:6;23989:13;23980:22;;24011:33;24038:5;24011:33;:::i;:::-;23907:143;;;;:::o;24056:351::-;24126:6;24175:2;24163:9;24154:7;24150:23;24146:32;24143:119;;;24181:79;;:::i;:::-;24143:119;24301:1;24326:64;24382:7;24373:6;24362:9;24358:22;24326:64;:::i;:::-;24316:74;;24272:128;24056:351;;;;:::o;24413:85::-;24458:7;24487:5;24476:16;;24413:85;;;:::o;24504:158::-;24562:9;24595:61;24613:42;24622:32;24648:5;24622:32;:::i;:::-;24613:42;:::i;:::-;24595:61;:::i;:::-;24582:74;;24504:158;;;:::o;24668:147::-;24763:45;24802:5;24763:45;:::i;:::-;24758:3;24751:58;24668:147;;:::o;24821:114::-;24888:6;24922:5;24916:12;24906:22;;24821:114;;;:::o;24941:184::-;25040:11;25074:6;25069:3;25062:19;25114:4;25109:3;25105:14;25090:29;;24941:184;;;;:::o;25131:132::-;25198:4;25221:3;25213:11;;25251:4;25246:3;25242:14;25234:22;;25131:132;;;:::o;25269:108::-;25346:24;25364:5;25346:24;:::i;:::-;25341:3;25334:37;25269:108;;:::o;25383:179::-;25452:10;25473:46;25515:3;25507:6;25473:46;:::i;:::-;25551:4;25546:3;25542:14;25528:28;;25383:179;;;;:::o;25568:113::-;25638:4;25670;25665:3;25661:14;25653:22;;25568:113;;;:::o;25717:732::-;25836:3;25865:54;25913:5;25865:54;:::i;:::-;25935:86;26014:6;26009:3;25935:86;:::i;:::-;25928:93;;26045:56;26095:5;26045:56;:::i;:::-;26124:7;26155:1;26140:284;26165:6;26162:1;26159:13;26140:284;;;26241:6;26235:13;26268:63;26327:3;26312:13;26268:63;:::i;:::-;26261:70;;26354:60;26407:6;26354:60;:::i;:::-;26344:70;;26200:224;26187:1;26184;26180:9;26175:14;;26140:284;;;26144:14;26440:3;26433:10;;25841:608;;;25717:732;;;;:::o;26455:831::-;26718:4;26756:3;26745:9;26741:19;26733:27;;26770:71;26838:1;26827:9;26823:17;26814:6;26770:71;:::i;:::-;26851:80;26927:2;26916:9;26912:18;26903:6;26851:80;:::i;:::-;26978:9;26972:4;26968:20;26963:2;26952:9;26948:18;26941:48;27006:108;27109:4;27100:6;27006:108;:::i;:::-;26998:116;;27124:72;27192:2;27181:9;27177:18;27168:6;27124:72;:::i;:::-;27206:73;27274:3;27263:9;27259:19;27250:6;27206:73;:::i;:::-;26455:831;;;;;;;;:::o;27292:348::-;27332:7;27355:20;27373:1;27355:20;:::i;:::-;27350:25;;27389:20;27407:1;27389:20;:::i;:::-;27384:25;;27577:1;27509:66;27505:74;27502:1;27499:81;27494:1;27487:9;27480:17;27476:105;27473:131;;;27584:18;;:::i;:::-;27473:131;27632:1;27629;27625:9;27614:20;;27292:348;;;;:::o;27646:180::-;27694:77;27691:1;27684:88;27791:4;27788:1;27781:15;27815:4;27812:1;27805:15;27832:185;27872:1;27889:20;27907:1;27889:20;:::i;:::-;27884:25;;27923:20;27941:1;27923:20;:::i;:::-;27918:25;;27962:1;27952:35;;27967:18;;:::i;:::-;27952:35;28009:1;28006;28002:9;27997:14;;27832:185;;;;:::o;28023:220::-;28163:34;28159:1;28151:6;28147:14;28140:58;28232:3;28227:2;28219:6;28215:15;28208:28;28023:220;:::o;28249:366::-;28391:3;28412:67;28476:2;28471:3;28412:67;:::i;:::-;28405:74;;28488:93;28577:3;28488:93;:::i;:::-;28606:2;28601:3;28597:12;28590:19;;28249:366;;;:::o;28621:419::-;28787:4;28825:2;28814:9;28810:18;28802:26;;28874:9;28868:4;28864:20;28860:1;28849:9;28845:17;28838:47;28902:131;29028:4;28902:131;:::i;:::-;28894:139;;28621:419;;;:::o;29046:177::-;29186:29;29182:1;29174:6;29170:14;29163:53;29046:177;:::o;29229:366::-;29371:3;29392:67;29456:2;29451:3;29392:67;:::i;:::-;29385:74;;29468:93;29557:3;29468:93;:::i;:::-;29586:2;29581:3;29577:12;29570:19;;29229:366;;;:::o;29601:419::-;29767:4;29805:2;29794:9;29790:18;29782:26;;29854:9;29848:4;29844:20;29840:1;29829:9;29825:17;29818:47;29882:131;30008:4;29882:131;:::i;:::-;29874:139;;29601:419;;;:::o

Swarm Source

ipfs://d2bfeb038bdd0ffebb6cc92e69bf66fff9be9da69b5e1f990c962f0d19923c13

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.