ETH Price: $1,980.81 (-3.56%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Increase Limits152546792022-08-01 5:16:431310 days ago1659331003IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.00022736.57954396
Approve152470112022-07-31 0:27:351311 days ago1659227255IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.000403458.54495001
Approve151963782022-07-23 2:58:591319 days ago1658545139IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.000370487.84854782
Approve151947632022-07-22 21:02:351320 days ago1658523755IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0004863510.30062268
Approve151756442022-07-19 21:55:201323 days ago1658267720IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0008377617.74318856
Approve151722882022-07-19 9:34:071323 days ago1658223247IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.000403888.55407191
Approve151598592022-07-17 11:18:301325 days ago1658056710IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.000352297.46143121
Transfer151581262022-07-17 4:49:131325 days ago1658033353IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.001492917.04231351
Approve151564612022-07-16 22:39:431325 days ago1658011183IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0010955523.20294453
Approve151561322022-07-16 21:27:451326 days ago1658006865IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0008059617.06975776
Approve151557512022-07-16 20:04:511326 days ago1658001891IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0007991416.92533672
Approve151555302022-07-16 19:15:541326 days ago1657998954IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0010383721.99203382
Approve151552912022-07-16 18:25:591326 days ago1657995959IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0022541747.74167264
Approve151551322022-07-16 17:47:011326 days ago1657993621IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0013170827.89499059
Approve151551192022-07-16 17:44:141326 days ago1657993454IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.001352528.64507077
Approve151550852022-07-16 17:37:191326 days ago1657993039IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0016299534.52121543
Approve151550402022-07-16 17:27:221326 days ago1657992442IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.001919740.65793733
Approve151550142022-07-16 17:20:141326 days ago1657992014IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0015992233.87040577
Approve151549822022-07-16 17:13:101326 days ago1657991590IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0018615139.42550622
Approve151549142022-07-16 16:56:481326 days ago1657990608IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0021635545.82247017
Approve151548302022-07-16 16:36:051326 days ago1657989365IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0051301108.65179227
Approve151547442022-07-16 16:16:191326 days ago1657988179IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.01160525245.79070745
Approve151546742022-07-16 15:59:591326 days ago1657987199IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0018886440
Transfer151546642022-07-16 15:57:541326 days ago1657987074IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0033967533.33519299
Approve151546562022-07-16 15:55:031326 days ago1657986903IN
0x69a6E4B9...4B7D7e0F7
0 ETH0.0014654831.03786491
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer151593892022-07-17 9:33:341325 days ago1658050414
0x69a6E4B9...4B7D7e0F7
0.02208988 ETH
Transfer151593892022-07-17 9:33:341325 days ago1658050414
0x69a6E4B9...4B7D7e0F7
0.02208988 ETH
Transfer151593892022-07-17 9:33:341325 days ago1658050414
0x69a6E4B9...4B7D7e0F7
0.04417976 ETH
Transfer151556442022-07-16 19:38:261326 days ago1658000306
0x69a6E4B9...4B7D7e0F7
0.03386937 ETH
Transfer151556442022-07-16 19:38:261326 days ago1658000306
0x69a6E4B9...4B7D7e0F7
0.03386937 ETH
Transfer151556442022-07-16 19:38:261326 days ago1658000306
0x69a6E4B9...4B7D7e0F7
0.06773875 ETH
Transfer151550762022-07-16 17:35:141326 days ago1657992914
0x69a6E4B9...4B7D7e0F7
0.05809918 ETH
Transfer151550762022-07-16 17:35:141326 days ago1657992914
0x69a6E4B9...4B7D7e0F7
0.05809918 ETH
Transfer151550762022-07-16 17:35:141326 days ago1657992914
0x69a6E4B9...4B7D7e0F7
0.11619836 ETH
Transfer151550452022-07-16 17:28:301326 days ago1657992510
0x69a6E4B9...4B7D7e0F7
0.11619836 ETH
Transfer151548242022-07-16 16:33:121326 days ago1657989192
0x69a6E4B9...4B7D7e0F7
0.10673701 ETH
Transfer151548242022-07-16 16:33:121326 days ago1657989192
0x69a6E4B9...4B7D7e0F7
0.10673701 ETH
Transfer151548242022-07-16 16:33:121326 days ago1657989192
0x69a6E4B9...4B7D7e0F7
0.21347403 ETH
Transfer151545802022-07-16 15:38:251326 days ago1657985905
0x69a6E4B9...4B7D7e0F7
0.14733911 ETH
Transfer151545802022-07-16 15:38:251326 days ago1657985905
0x69a6E4B9...4B7D7e0F7
0.14733911 ETH
Transfer151545802022-07-16 15:38:251326 days ago1657985905
0x69a6E4B9...4B7D7e0F7
0.29467823 ETH
Transfer151545072022-07-16 15:20:041326 days ago1657984804
0x69a6E4B9...4B7D7e0F7
0.12807847 ETH
Transfer151545072022-07-16 15:20:041326 days ago1657984804
0x69a6E4B9...4B7D7e0F7
0.12807847 ETH
Transfer151545072022-07-16 15:20:041326 days ago1657984804
0x69a6E4B9...4B7D7e0F7
0.25615695 ETH
Transfer151544142022-07-16 14:58:291326 days ago1657983509
0x69a6E4B9...4B7D7e0F7
0.14469381 ETH
Transfer151544142022-07-16 14:58:291326 days ago1657983509
0x69a6E4B9...4B7D7e0F7
0.14469381 ETH
Transfer151544142022-07-16 14:58:291326 days ago1657983509
0x69a6E4B9...4B7D7e0F7
0.28938763 ETH
Transfer151543812022-07-16 14:50:181326 days ago1657983018
0x69a6E4B9...4B7D7e0F7
0.08068053 ETH
Transfer151543812022-07-16 14:50:181326 days ago1657983018
0x69a6E4B9...4B7D7e0F7
0.08068053 ETH
Transfer151543812022-07-16 14:50:181326 days ago1657983018
0x69a6E4B9...4B7D7e0F7
0.16136106 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
GriffinToken

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-07-16
*/

// SPDX-License-Identifier: Unlicensed

/**

Griffin Token (GRIFFIN)

Taxes
1% Reflection
3% Development 
3% Marketing


TG : https://t.me/GriffinERC20

*/

// SPDX-License-Identifier: unlicense

pragma solidity ^0.8.7;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
 
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract GriffinToken is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "Griffin Token";//
    string private constant _symbol = "GRIFFIN";//
    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 = 10000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public launchBlock;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 1;//
    uint256 private _taxFeeOnBuy = 6;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 1;//
    uint256 private _taxFeeOnSell = 6;//
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
 
    address payable private _developmentAddress = payable(0xC1eA5ec17f73deea06c358Ef4e2178E69a3565A2);
    address payable private _marketingAddress = payable(0x531eD89742324e7cde77e28d35eb9b042Ad6E617);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 50000 * 10**9; //
    uint256 public _maxWalletSize = 50000 * 10**9; //
    uint256 public _swapTokensAtAmount = 100000 * 10**9; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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 (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(block.number <= launchBlock && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){   
                bots[to] = true;
            } 
 
            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 && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(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)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchBlock = block.number;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
 
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
 
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
 
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
 
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
 
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
 
        return (rSupply, tSupply);
    }
 
 
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Can Increase Max Limits after renounce . Cannot Lower
    function increaseLimits(uint256 maxTxAmount_, uint256 maxWalletSize_) public {
        require(_msgSender() == _developmentAddress);
        require(maxTxAmount_ > _maxTxAmount && maxTxAmount_ <= totalSupply(), "Out of range");
        require(maxWalletSize_ > _maxWalletSize && maxWalletSize_ <= totalSupply(), "Out of range");

        _maxTxAmount = maxTxAmount_;
        _maxWalletSize = maxWalletSize_;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"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":"","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount_","type":"uint256"},{"internalType":"uint256","name":"maxWalletSize_","type":"uint256"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052662386f26fc100006000196200001b91906200082f565b6000196200002a9190620007b6565b600555600160085560066009556001600a556006600b55600a54600c55600b54600d55600c54600e55600d54600f5573c1ea5ec17f73deea06c358ef4e2178e69a3565a2601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073531ed89742324e7cde77e28d35eb9b042ad6e617601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff021916908315150217905550652d79883d2000601655652d79883d2000601755655af3107a40006018553480156200016357600080fd5b50600062000176620006d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600554600160006200022b620006d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030a57600080fd5b505afa1580156200031f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000345919062000718565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a857600080fd5b505afa158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000718565b6040518363ffffffff1660e01b8152600401620004029291906200076c565b602060405180830381600087803b1580156200041d57600080fd5b505af115801562000432573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000458919062000718565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000620004ae620006d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065b620006d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc10000604051620006c1919062000799565b60405180910390a350620008e4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200071281620008ca565b92915050565b600060208284031215620007315762000730620008c5565b5b6000620007418482850162000701565b91505092915050565b6200075581620007f1565b82525050565b620007668162000825565b82525050565b60006040820190506200078360008301856200074a565b6200079260208301846200074a565b9392505050565b6000602082019050620007b060008301846200075b565b92915050565b6000620007c38262000825565b9150620007d08362000825565b925082821015620007e657620007e562000867565b5b828203905092915050565b6000620007fe8262000805565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200083c8262000825565b9150620008498362000825565b9250826200085c576200085b62000896565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620008d581620007f1565b8114620008e157600080fd5b50565b613a7080620008f46000396000f3fe6080604052600436106101855760003560e01c80637d1db4a5116100d1578063a9059cbb1161008a578063c492f04611610064578063c492f04614610559578063d00efb2f14610582578063dd62ed3e146105ad578063f2fde38b146105ea5761018c565b8063a9059cbb146104c8578063bfd7928414610505578063c3c8cd80146105425761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f70ccf7146104205780638f9a55c01461044957806395d89b411461047457806398a5c3151461049f5761018c565b8063313ce5671161013e5780636fc3eaec116101185780636fc3eaec1461033657806370a082311461034d578063715018a61461038a57806378f8484b146103a15761018c565b8063313ce567146102b757806349bd5a5e146102e25780636d8aa8f81461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806323b872dd1461024f5780632fd689e31461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610613565b6040516101b39190612fc9565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612b19565b610650565b6040516101f09190612f93565b60405180910390f35b34801561020557600080fd5b5061020e61066e565b60405161021b9190612fae565b60405180910390f35b34801561023057600080fd5b50610239610694565b60405161024691906131cb565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612ac6565b6106a3565b6040516102839190612f93565b60405180910390f35b34801561029857600080fd5b506102a161077c565b6040516102ae91906131cb565b60405180910390f35b3480156102c357600080fd5b506102cc610782565b6040516102d99190613240565b60405180910390f35b3480156102ee57600080fd5b506102f761078b565b6040516103049190612f78565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612bb9565b6107b1565b005b34801561034257600080fd5b5061034b610863565b005b34801561035957600080fd5b50610374600480360381019061036f9190612a2c565b610934565b60405161038191906131cb565b60405180910390f35b34801561039657600080fd5b5061039f610985565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190612c13565b610ad8565b005b3480156103d657600080fd5b506103df610bf9565b6040516103ec91906131cb565b60405180910390f35b34801561040157600080fd5b5061040a610bff565b6040516104179190612f78565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612bb9565b610c28565b005b34801561045557600080fd5b5061045e610ce1565b60405161046b91906131cb565b60405180910390f35b34801561048057600080fd5b50610489610ce7565b6040516104969190612fc9565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190612be6565b610d24565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190612b19565b610dc3565b6040516104fc9190612f93565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190612a2c565b610de1565b6040516105399190612f93565b60405180910390f35b34801561054e57600080fd5b50610557610e01565b005b34801561056557600080fd5b50610580600480360381019061057b9190612b59565b610eda565b005b34801561058e57600080fd5b50610597611014565b6040516105a491906131cb565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190612a86565b61101a565b6040516105e191906131cb565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190612a2c565b6110a1565b005b60606040518060400160405280600d81526020017f4772696666696e20546f6b656e00000000000000000000000000000000000000815250905090565b600061066461065d611263565b848461126b565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b60006106b0848484611436565b610771846106bc611263565b61076c85604051806060016040528060288152602001613a1360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610722611263565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0b9092919063ffffffff16565b61126b565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107b9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061310b565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a4611263565b73ffffffffffffffffffffffffffffffffffffffff16148061091a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610902611263565b73ffffffffffffffffffffffffffffffffffffffff16145b61092357600080fd5b600047905061093181611e6f565b50565b600061097e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6a565b9050919050565b61098d611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b19611263565b73ffffffffffffffffffffffffffffffffffffffff1614610b3957600080fd5b60165482118015610b515750610b4d610694565b8211155b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b879061318b565b60405180910390fd5b60175481118015610ba85750610ba4610694565b8111155b610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061318b565b60405180910390fd5b81601681905550806017819055505050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c30611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb49061310b565b60405180910390fd5b80601560146101000a81548160ff0219169083151502179055504360078190555050565b60175481565b60606040518060400160405280600781526020017f4752494646494e00000000000000000000000000000000000000000000000000815250905090565b610d2c611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db09061310b565b60405180910390fd5b8060188190555050565b6000610dd7610dd0611263565b8484611436565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e42611263565b73ffffffffffffffffffffffffffffffffffffffff161480610eb85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea0611263565b73ffffffffffffffffffffffffffffffffffffffff16145b610ec157600080fd5b6000610ecc30610934565b9050610ed781611fd8565b50565b610ee2611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f669061310b565b60405180910390fd5b60005b8383905081101561100e578160046000868685818110610f9557610f9461353c565b5b9050602002016020810190610faa9190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061100690613495565b915050610f72565b50505050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110a9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d9061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061306b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113429061308b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142991906131cb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061314b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612feb565b60405180910390fd5b60008111611559576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115509061312b565b60405180910390fd5b611561610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f610bff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b0a57601560149054906101000a900460ff1661165e576115f0610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116549061300b565b60405180910390fd5b5b6016548111156116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a9061304b565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117475750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906130ab565b60405180910390fd5b60075443111580156117e55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561183f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d5576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611983576017548161193784610934565b61194191906132b0565b1115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061316b565b60405180910390fd5b5b600061198e30610934565b90506000601854821015905060165482106119a95760165491505b8080156119c1575060158054906101000a900460ff16155b8015611a1b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601560169054906101000a900460ff165b8015611a895750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adf5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0757611aed82611fd8565b60004790506000811115611b0557611b0447611e6f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bb15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c635750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c725760009050611df9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611de05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df857600a54600c81905550600b54600d819055505b5b611e058484848461225e565b50505050565b6000838311158290611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a9190612fc9565b60405180910390fd5b5060008385611e629190613391565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ebf60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611eea573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f3b60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f66573d6000803e3d6000fd5b5050565b6000600554821115611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa89061302b565b60405180910390fd5b6000611fbb6122d5565b9050611fd0818461228b90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561200f5761200e61356b565b5b60405190808252806020026020018201604052801561203d5781602001602082028036833780820191505090505b50905030816000815181106120555761205461353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120f757600080fd5b505afa15801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612a59565b816001815181106121435761214261353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121aa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161220e9594939291906131e6565b600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061226c5761226b612300565b5b612277848484612343565b806122855761228461250e565b5b50505050565b60006122cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612522565b905092915050565b60008060006122e2612585565b915091506122f9818361228b90919063ffffffff16565b9250505090565b6000600c5414801561231457506000600d54145b1561231e57612341565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612355876125e1565b9550955095509550955095506123b386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612494816126f1565b61249e84836127ae565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124fb91906131cb565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008083118290612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125609190612fc9565b60405180910390fd5b50600083856125789190613306565b9050809150509392505050565b600080600060055490506000662386f26fc1000090506125b7662386f26fc1000060055461228b90919063ffffffff16565b8210156125d457600554662386f26fc100009350935050506125dd565b81819350935050505b9091565b60008060008060008060008060006125fe8a600c54600d546127e8565b925092509250600061260e6122d5565b905060008060006126218e87878761287e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061268b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0b565b905092915050565b60008082846126a291906132b0565b9050838110156126e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126de906130cb565b60405180910390fd5b8091505092915050565b60006126fb6122d5565b90506000612712828461290790919063ffffffff16565b905061276681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127c38260055461264990919063ffffffff16565b6005819055506127de8160065461269390919063ffffffff16565b6006819055505050565b6000806000806128146064612806888a61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061283e6064612830888b61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061286782612859858c61264990919063ffffffff16565b61264990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612897858961290790919063ffffffff16565b905060006128ae868961290790919063ffffffff16565b905060006128c5878961290790919063ffffffff16565b905060006128ee826128e0858761264990919063ffffffff16565b61264990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561291a576000905061297c565b600082846129289190613337565b90508284826129379190613306565b14612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e906130eb565b60405180910390fd5b809150505b92915050565b600081359050612991816139cd565b92915050565b6000815190506129a6816139cd565b92915050565b60008083601f8401126129c2576129c161359f565b5b8235905067ffffffffffffffff8111156129df576129de61359a565b5b6020830191508360208202830111156129fb576129fa6135a4565b5b9250929050565b600081359050612a11816139e4565b92915050565b600081359050612a26816139fb565b92915050565b600060208284031215612a4257612a416135ae565b5b6000612a5084828501612982565b91505092915050565b600060208284031215612a6f57612a6e6135ae565b5b6000612a7d84828501612997565b91505092915050565b60008060408385031215612a9d57612a9c6135ae565b5b6000612aab85828601612982565b9250506020612abc85828601612982565b9150509250929050565b600080600060608486031215612adf57612ade6135ae565b5b6000612aed86828701612982565b9350506020612afe86828701612982565b9250506040612b0f86828701612a17565b9150509250925092565b60008060408385031215612b3057612b2f6135ae565b5b6000612b3e85828601612982565b9250506020612b4f85828601612a17565b9150509250929050565b600080600060408486031215612b7257612b716135ae565b5b600084013567ffffffffffffffff811115612b9057612b8f6135a9565b5b612b9c868287016129ac565b93509350506020612baf86828701612a02565b9150509250925092565b600060208284031215612bcf57612bce6135ae565b5b6000612bdd84828501612a02565b91505092915050565b600060208284031215612bfc57612bfb6135ae565b5b6000612c0a84828501612a17565b91505092915050565b60008060408385031215612c2a57612c296135ae565b5b6000612c3885828601612a17565b9250506020612c4985828601612a17565b9150509250929050565b6000612c5f8383612c6b565b60208301905092915050565b612c74816133c5565b82525050565b612c83816133c5565b82525050565b6000612c948261326b565b612c9e818561328e565b9350612ca98361325b565b8060005b83811015612cda578151612cc18882612c53565b9750612ccc83613281565b925050600181019050612cad565b5085935050505092915050565b612cf0816133d7565b82525050565b612cff8161341a565b82525050565b612d0e8161342c565b82525050565b6000612d1f82613276565b612d29818561329f565b9350612d39818560208601613462565b612d42816135b3565b840191505092915050565b6000612d5a60238361329f565b9150612d65826135c4565b604082019050919050565b6000612d7d603f8361329f565b9150612d8882613613565b604082019050919050565b6000612da0602a8361329f565b9150612dab82613662565b604082019050919050565b6000612dc3601c8361329f565b9150612dce826136b1565b602082019050919050565b6000612de660268361329f565b9150612df1826136da565b604082019050919050565b6000612e0960228361329f565b9150612e1482613729565b604082019050919050565b6000612e2c60238361329f565b9150612e3782613778565b604082019050919050565b6000612e4f601b8361329f565b9150612e5a826137c7565b602082019050919050565b6000612e7260218361329f565b9150612e7d826137f0565b604082019050919050565b6000612e9560208361329f565b9150612ea08261383f565b602082019050919050565b6000612eb860298361329f565b9150612ec382613868565b604082019050919050565b6000612edb60258361329f565b9150612ee6826138b7565b604082019050919050565b6000612efe60238361329f565b9150612f0982613906565b604082019050919050565b6000612f21600c8361329f565b9150612f2c82613955565b602082019050919050565b6000612f4460248361329f565b9150612f4f8261397e565b604082019050919050565b612f6381613403565b82525050565b612f728161340d565b82525050565b6000602082019050612f8d6000830184612c7a565b92915050565b6000602082019050612fa86000830184612ce7565b92915050565b6000602082019050612fc36000830184612cf6565b92915050565b60006020820190508181036000830152612fe38184612d14565b905092915050565b6000602082019050818103600083015261300481612d4d565b9050919050565b6000602082019050818103600083015261302481612d70565b9050919050565b6000602082019050818103600083015261304481612d93565b9050919050565b6000602082019050818103600083015261306481612db6565b9050919050565b6000602082019050818103600083015261308481612dd9565b9050919050565b600060208201905081810360008301526130a481612dfc565b9050919050565b600060208201905081810360008301526130c481612e1f565b9050919050565b600060208201905081810360008301526130e481612e42565b9050919050565b6000602082019050818103600083015261310481612e65565b9050919050565b6000602082019050818103600083015261312481612e88565b9050919050565b6000602082019050818103600083015261314481612eab565b9050919050565b6000602082019050818103600083015261316481612ece565b9050919050565b6000602082019050818103600083015261318481612ef1565b9050919050565b600060208201905081810360008301526131a481612f14565b9050919050565b600060208201905081810360008301526131c481612f37565b9050919050565b60006020820190506131e06000830184612f5a565b92915050565b600060a0820190506131fb6000830188612f5a565b6132086020830187612d05565b818103604083015261321a8186612c89565b90506132296060830185612c7a565b6132366080830184612f5a565b9695505050505050565b60006020820190506132556000830184612f69565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132bb82613403565b91506132c683613403565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fb576132fa6134de565b5b828201905092915050565b600061331182613403565b915061331c83613403565b92508261332c5761332b61350d565b5b828204905092915050565b600061334282613403565b915061334d83613403565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613386576133856134de565b5b828202905092915050565b600061339c82613403565b91506133a783613403565b9250828210156133ba576133b96134de565b5b828203905092915050565b60006133d0826133e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134258261343e565b9050919050565b600061343782613403565b9050919050565b600061344982613450565b9050919050565b600061345b826133e3565b9050919050565b60005b83811015613480578082015181840152602081019050613465565b8381111561348f576000848401525b50505050565b60006134a082613403565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134d3576134d26134de565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f4f7574206f662072616e67650000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6139d6816133c5565b81146139e157600080fd5b50565b6139ed816133d7565b81146139f857600080fd5b50565b613a0481613403565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c2764736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101855760003560e01c80637d1db4a5116100d1578063a9059cbb1161008a578063c492f04611610064578063c492f04614610559578063d00efb2f14610582578063dd62ed3e146105ad578063f2fde38b146105ea5761018c565b8063a9059cbb146104c8578063bfd7928414610505578063c3c8cd80146105425761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f70ccf7146104205780638f9a55c01461044957806395d89b411461047457806398a5c3151461049f5761018c565b8063313ce5671161013e5780636fc3eaec116101185780636fc3eaec1461033657806370a082311461034d578063715018a61461038a57806378f8484b146103a15761018c565b8063313ce567146102b757806349bd5a5e146102e25780636d8aa8f81461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806323b872dd1461024f5780632fd689e31461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610613565b6040516101b39190612fc9565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612b19565b610650565b6040516101f09190612f93565b60405180910390f35b34801561020557600080fd5b5061020e61066e565b60405161021b9190612fae565b60405180910390f35b34801561023057600080fd5b50610239610694565b60405161024691906131cb565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612ac6565b6106a3565b6040516102839190612f93565b60405180910390f35b34801561029857600080fd5b506102a161077c565b6040516102ae91906131cb565b60405180910390f35b3480156102c357600080fd5b506102cc610782565b6040516102d99190613240565b60405180910390f35b3480156102ee57600080fd5b506102f761078b565b6040516103049190612f78565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612bb9565b6107b1565b005b34801561034257600080fd5b5061034b610863565b005b34801561035957600080fd5b50610374600480360381019061036f9190612a2c565b610934565b60405161038191906131cb565b60405180910390f35b34801561039657600080fd5b5061039f610985565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190612c13565b610ad8565b005b3480156103d657600080fd5b506103df610bf9565b6040516103ec91906131cb565b60405180910390f35b34801561040157600080fd5b5061040a610bff565b6040516104179190612f78565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612bb9565b610c28565b005b34801561045557600080fd5b5061045e610ce1565b60405161046b91906131cb565b60405180910390f35b34801561048057600080fd5b50610489610ce7565b6040516104969190612fc9565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190612be6565b610d24565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190612b19565b610dc3565b6040516104fc9190612f93565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190612a2c565b610de1565b6040516105399190612f93565b60405180910390f35b34801561054e57600080fd5b50610557610e01565b005b34801561056557600080fd5b50610580600480360381019061057b9190612b59565b610eda565b005b34801561058e57600080fd5b50610597611014565b6040516105a491906131cb565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190612a86565b61101a565b6040516105e191906131cb565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190612a2c565b6110a1565b005b60606040518060400160405280600d81526020017f4772696666696e20546f6b656e00000000000000000000000000000000000000815250905090565b600061066461065d611263565b848461126b565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b60006106b0848484611436565b610771846106bc611263565b61076c85604051806060016040528060288152602001613a1360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610722611263565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0b9092919063ffffffff16565b61126b565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107b9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061310b565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a4611263565b73ffffffffffffffffffffffffffffffffffffffff16148061091a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610902611263565b73ffffffffffffffffffffffffffffffffffffffff16145b61092357600080fd5b600047905061093181611e6f565b50565b600061097e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6a565b9050919050565b61098d611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b19611263565b73ffffffffffffffffffffffffffffffffffffffff1614610b3957600080fd5b60165482118015610b515750610b4d610694565b8211155b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b879061318b565b60405180910390fd5b60175481118015610ba85750610ba4610694565b8111155b610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061318b565b60405180910390fd5b81601681905550806017819055505050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c30611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb49061310b565b60405180910390fd5b80601560146101000a81548160ff0219169083151502179055504360078190555050565b60175481565b60606040518060400160405280600781526020017f4752494646494e00000000000000000000000000000000000000000000000000815250905090565b610d2c611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db09061310b565b60405180910390fd5b8060188190555050565b6000610dd7610dd0611263565b8484611436565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e42611263565b73ffffffffffffffffffffffffffffffffffffffff161480610eb85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea0611263565b73ffffffffffffffffffffffffffffffffffffffff16145b610ec157600080fd5b6000610ecc30610934565b9050610ed781611fd8565b50565b610ee2611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f669061310b565b60405180910390fd5b60005b8383905081101561100e578160046000868685818110610f9557610f9461353c565b5b9050602002016020810190610faa9190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061100690613495565b915050610f72565b50505050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110a9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d9061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061306b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113429061308b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142991906131cb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061314b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612feb565b60405180910390fd5b60008111611559576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115509061312b565b60405180910390fd5b611561610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f610bff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b0a57601560149054906101000a900460ff1661165e576115f0610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116549061300b565b60405180910390fd5b5b6016548111156116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a9061304b565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117475750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906130ab565b60405180910390fd5b60075443111580156117e55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561183f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d5576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611983576017548161193784610934565b61194191906132b0565b1115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061316b565b60405180910390fd5b5b600061198e30610934565b90506000601854821015905060165482106119a95760165491505b8080156119c1575060158054906101000a900460ff16155b8015611a1b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601560169054906101000a900460ff165b8015611a895750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adf5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0757611aed82611fd8565b60004790506000811115611b0557611b0447611e6f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bb15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c635750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c725760009050611df9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611de05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df857600a54600c81905550600b54600d819055505b5b611e058484848461225e565b50505050565b6000838311158290611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a9190612fc9565b60405180910390fd5b5060008385611e629190613391565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ebf60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611eea573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f3b60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f66573d6000803e3d6000fd5b5050565b6000600554821115611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa89061302b565b60405180910390fd5b6000611fbb6122d5565b9050611fd0818461228b90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561200f5761200e61356b565b5b60405190808252806020026020018201604052801561203d5781602001602082028036833780820191505090505b50905030816000815181106120555761205461353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120f757600080fd5b505afa15801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612a59565b816001815181106121435761214261353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121aa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161220e9594939291906131e6565b600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061226c5761226b612300565b5b612277848484612343565b806122855761228461250e565b5b50505050565b60006122cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612522565b905092915050565b60008060006122e2612585565b915091506122f9818361228b90919063ffffffff16565b9250505090565b6000600c5414801561231457506000600d54145b1561231e57612341565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612355876125e1565b9550955095509550955095506123b386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612494816126f1565b61249e84836127ae565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124fb91906131cb565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008083118290612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125609190612fc9565b60405180910390fd5b50600083856125789190613306565b9050809150509392505050565b600080600060055490506000662386f26fc1000090506125b7662386f26fc1000060055461228b90919063ffffffff16565b8210156125d457600554662386f26fc100009350935050506125dd565b81819350935050505b9091565b60008060008060008060008060006125fe8a600c54600d546127e8565b925092509250600061260e6122d5565b905060008060006126218e87878761287e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061268b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0b565b905092915050565b60008082846126a291906132b0565b9050838110156126e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126de906130cb565b60405180910390fd5b8091505092915050565b60006126fb6122d5565b90506000612712828461290790919063ffffffff16565b905061276681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127c38260055461264990919063ffffffff16565b6005819055506127de8160065461269390919063ffffffff16565b6006819055505050565b6000806000806128146064612806888a61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061283e6064612830888b61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061286782612859858c61264990919063ffffffff16565b61264990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612897858961290790919063ffffffff16565b905060006128ae868961290790919063ffffffff16565b905060006128c5878961290790919063ffffffff16565b905060006128ee826128e0858761264990919063ffffffff16565b61264990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561291a576000905061297c565b600082846129289190613337565b90508284826129379190613306565b14612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e906130eb565b60405180910390fd5b809150505b92915050565b600081359050612991816139cd565b92915050565b6000815190506129a6816139cd565b92915050565b60008083601f8401126129c2576129c161359f565b5b8235905067ffffffffffffffff8111156129df576129de61359a565b5b6020830191508360208202830111156129fb576129fa6135a4565b5b9250929050565b600081359050612a11816139e4565b92915050565b600081359050612a26816139fb565b92915050565b600060208284031215612a4257612a416135ae565b5b6000612a5084828501612982565b91505092915050565b600060208284031215612a6f57612a6e6135ae565b5b6000612a7d84828501612997565b91505092915050565b60008060408385031215612a9d57612a9c6135ae565b5b6000612aab85828601612982565b9250506020612abc85828601612982565b9150509250929050565b600080600060608486031215612adf57612ade6135ae565b5b6000612aed86828701612982565b9350506020612afe86828701612982565b9250506040612b0f86828701612a17565b9150509250925092565b60008060408385031215612b3057612b2f6135ae565b5b6000612b3e85828601612982565b9250506020612b4f85828601612a17565b9150509250929050565b600080600060408486031215612b7257612b716135ae565b5b600084013567ffffffffffffffff811115612b9057612b8f6135a9565b5b612b9c868287016129ac565b93509350506020612baf86828701612a02565b9150509250925092565b600060208284031215612bcf57612bce6135ae565b5b6000612bdd84828501612a02565b91505092915050565b600060208284031215612bfc57612bfb6135ae565b5b6000612c0a84828501612a17565b91505092915050565b60008060408385031215612c2a57612c296135ae565b5b6000612c3885828601612a17565b9250506020612c4985828601612a17565b9150509250929050565b6000612c5f8383612c6b565b60208301905092915050565b612c74816133c5565b82525050565b612c83816133c5565b82525050565b6000612c948261326b565b612c9e818561328e565b9350612ca98361325b565b8060005b83811015612cda578151612cc18882612c53565b9750612ccc83613281565b925050600181019050612cad565b5085935050505092915050565b612cf0816133d7565b82525050565b612cff8161341a565b82525050565b612d0e8161342c565b82525050565b6000612d1f82613276565b612d29818561329f565b9350612d39818560208601613462565b612d42816135b3565b840191505092915050565b6000612d5a60238361329f565b9150612d65826135c4565b604082019050919050565b6000612d7d603f8361329f565b9150612d8882613613565b604082019050919050565b6000612da0602a8361329f565b9150612dab82613662565b604082019050919050565b6000612dc3601c8361329f565b9150612dce826136b1565b602082019050919050565b6000612de660268361329f565b9150612df1826136da565b604082019050919050565b6000612e0960228361329f565b9150612e1482613729565b604082019050919050565b6000612e2c60238361329f565b9150612e3782613778565b604082019050919050565b6000612e4f601b8361329f565b9150612e5a826137c7565b602082019050919050565b6000612e7260218361329f565b9150612e7d826137f0565b604082019050919050565b6000612e9560208361329f565b9150612ea08261383f565b602082019050919050565b6000612eb860298361329f565b9150612ec382613868565b604082019050919050565b6000612edb60258361329f565b9150612ee6826138b7565b604082019050919050565b6000612efe60238361329f565b9150612f0982613906565b604082019050919050565b6000612f21600c8361329f565b9150612f2c82613955565b602082019050919050565b6000612f4460248361329f565b9150612f4f8261397e565b604082019050919050565b612f6381613403565b82525050565b612f728161340d565b82525050565b6000602082019050612f8d6000830184612c7a565b92915050565b6000602082019050612fa86000830184612ce7565b92915050565b6000602082019050612fc36000830184612cf6565b92915050565b60006020820190508181036000830152612fe38184612d14565b905092915050565b6000602082019050818103600083015261300481612d4d565b9050919050565b6000602082019050818103600083015261302481612d70565b9050919050565b6000602082019050818103600083015261304481612d93565b9050919050565b6000602082019050818103600083015261306481612db6565b9050919050565b6000602082019050818103600083015261308481612dd9565b9050919050565b600060208201905081810360008301526130a481612dfc565b9050919050565b600060208201905081810360008301526130c481612e1f565b9050919050565b600060208201905081810360008301526130e481612e42565b9050919050565b6000602082019050818103600083015261310481612e65565b9050919050565b6000602082019050818103600083015261312481612e88565b9050919050565b6000602082019050818103600083015261314481612eab565b9050919050565b6000602082019050818103600083015261316481612ece565b9050919050565b6000602082019050818103600083015261318481612ef1565b9050919050565b600060208201905081810360008301526131a481612f14565b9050919050565b600060208201905081810360008301526131c481612f37565b9050919050565b60006020820190506131e06000830184612f5a565b92915050565b600060a0820190506131fb6000830188612f5a565b6132086020830187612d05565b818103604083015261321a8186612c89565b90506132296060830185612c7a565b6132366080830184612f5a565b9695505050505050565b60006020820190506132556000830184612f69565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132bb82613403565b91506132c683613403565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fb576132fa6134de565b5b828201905092915050565b600061331182613403565b915061331c83613403565b92508261332c5761332b61350d565b5b828204905092915050565b600061334282613403565b915061334d83613403565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613386576133856134de565b5b828202905092915050565b600061339c82613403565b91506133a783613403565b9250828210156133ba576133b96134de565b5b828203905092915050565b60006133d0826133e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134258261343e565b9050919050565b600061343782613403565b9050919050565b600061344982613450565b9050919050565b600061345b826133e3565b9050919050565b60005b83811015613480578082015181840152602081019050613465565b8381111561348f576000848401525b50505050565b60006134a082613403565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134d3576134d26134de565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f4f7574206f662072616e67650000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6139d6816133c5565b81146139e157600080fd5b50565b6139ed816133d7565b81146139f857600080fd5b50565b613a0481613403565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c2764736f6c63430008070033

Deployed Bytecode Sourcemap

4232:13615:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6845:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7777:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5681:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7125:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7979:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5981:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7033:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5729:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17007:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13092:235;;;;;;;;;;;;;:::i;:::-;;7229:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1705:148;;;;;;;;;;;;;:::i;:::-;;17181:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1489:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12700:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5926:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6937:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16815:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7376:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5375:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12847:236;;;;;;;;;;;;;:::i;:::-;;17610:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4910:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7584:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1862:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6845:83;6882:13;6915:5;;;;;;;;;;;;;;;;;6908:12;;6845:83;:::o;7777:193::-;7879:4;7901:39;7910:12;:10;:12::i;:::-;7924:7;7933:6;7901:8;:39::i;:::-;7958:4;7951:11;;7777:193;;;;:::o;5681:41::-;;;;;;;;;;;;;:::o;7125:95::-;7178:7;4798:16;7198:14;;7125:95;:::o;7979:446::-;8111:4;8128:36;8138:6;8146:9;8157:6;8128:9;:36::i;:::-;8175:220;8198:6;8219:12;:10;:12::i;:::-;8246:138;8302:6;8246:138;;;;;;;;;;;;;;;;;:11;:19;8258:6;8246:19;;;;;;;;;;;;;;;:33;8266:12;:10;:12::i;:::-;8246:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8175:8;:220::i;:::-;8413:4;8406:11;;7979:446;;;;;:::o;5981:51::-;;;;:::o;7033:83::-;7074:5;4471:1;7092:16;;7033:83;:::o;5729:28::-;;;;;;;;;;;;;:::o;17007:101::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17088:12:::1;17074:11;;:26;;;;;;;;;;;;;;;;;;17007:101:::0;:::o;13092:235::-;13158:19;;;;;;;;;;;13142:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13197:17;;;;;;;;;;;13181:33;;:12;:10;:12::i;:::-;:33;;;13142:72;13134:81;;;;;;13226:26;13255:21;13226:50;;13287:32;13300:18;13287:12;:32::i;:::-;13123:204;13092:235::o;7229:138::-;7295:7;7322:37;7342:7;:16;7350:7;7342:16;;;;;;;;;;;;;;;;7322:19;:37::i;:::-;7315:44;;7229:138;;;:::o;1705:148::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1812:1:::1;1775:40;;1796:6;::::0;::::1;;;;;;;;1775:40;;;;;;;;;;;;1843:1;1826:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1705:148::o:0;17181:420::-;17293:19;;;;;;;;;;;17277:35;;:12;:10;:12::i;:::-;:35;;;17269:44;;;;;;17347:12;;17332;:27;:60;;;;;17379:13;:11;:13::i;:::-;17363:12;:29;;17332:60;17324:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;17445:14;;17428;:31;:66;;;;;17481:13;:11;:13::i;:::-;17463:14;:31;;17428:66;17420:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;17539:12;17524;:27;;;;17579:14;17562;:31;;;;17181:420;;:::o;5873:43::-;;;;:::o;1489:79::-;1527:7;1554:6;;;;;;;;;;;1547:13;;1489:79;:::o;12700:138::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12781:12:::1;12767:11;;:26;;;;;;;;;;;;;;;;;;12818:12;12804:11;:26;;;;12700:138:::0;:::o;5926:45::-;;;;:::o;6937:87::-;6976:13;7009:7;;;;;;;;;;;;;;;;;7002:14;;6937:87;:::o;16815:139::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16928:18:::1;16906:19;:40;;;;16815:139:::0;:::o;7376:199::-;7481:4;7503:42;7513:12;:10;:12::i;:::-;7527:9;7538:6;7503:9;:42::i;:::-;7563:4;7556:11;;7376:199;;;;:::o;5375:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12847:236::-;12913:19;;;;;;;;;;;12897:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12952:17;;;;;;;;;;;12936:33;;:12;:10;:12::i;:::-;:33;;;12897:72;12889:81;;;;;;12981:23;13007:24;13025:4;13007:9;:24::i;:::-;12981:50;;13042:33;13059:15;13042:16;:33::i;:::-;12878:205;12847:236::o;17610:234::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17727:9:::1;17723:114;17746:8;;:15;;17742:1;:19;17723:114;;;17817:8;17783:18;:31;17802:8;;17811:1;17802:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17783:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17763:3;;;;;:::i;:::-;;;;17723:114;;;;17610:234:::0;;;:::o;4910:26::-;;;;:::o;7584:184::-;7701:7;7733:11;:18;7745:5;7733:18;;;;;;;;;;;;;;;:27;7752:7;7733:27;;;;;;;;;;;;;;;;7726:34;;7584:184;;;;:::o;1862:244::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1971:1:::1;1951:22;;:8;:22;;;;1943:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2061:8;2032:38;;2053:6;::::0;::::1;;;;;;;;2032:38;;;;;;;;;;;;2090:8;2081:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1862:244:::0;:::o;275:98::-;328:7;355:10;348:17;;275:98;:::o;9122:369::-;9266:1;9249:19;;:5;:19;;;;9241:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9347:1;9328:21;;:7;:21;;;;9320:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9429:6;9399:11;:18;9411:5;9399:18;;;;;;;;;;;;;;;:27;9418:7;9399:27;;;;;;;;;;;;;;;:36;;;;9467:7;9451:32;;9460:5;9451:32;;;9476:6;9451:32;;;;;;:::i;:::-;;;;;;;;9122:369;;;:::o;9500:2530::-;9638:1;9622:18;;:4;:18;;;;9614:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9715:1;9701:16;;:2;:16;;;;9693:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9785:1;9776:6;:10;9768:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9858:7;:5;:7::i;:::-;9850:15;;:4;:15;;;;:32;;;;;9875:7;:5;:7::i;:::-;9869:13;;:2;:13;;;;9850:32;9846:1452;;;9940:11;;;;;;;;;;;9935:144;;9988:7;:5;:7::i;:::-;9980:15;;:4;:15;;;9972:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9935:144;10114:12;;10104:6;:22;;10096:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10185:4;:10;10190:4;10185:10;;;;;;;;;;;;;;;;;;;;;;;;;10184:11;:24;;;;;10200:4;:8;10205:2;10200:8;;;;;;;;;;;;;;;;;;;;;;;;;10199:9;10184:24;10176:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10285:11;;10269:12;:27;;:52;;;;;10308:13;;;;;;;;;;;10300:21;;:4;:21;;;10269:52;:86;;;;;10339:15;;;;;;;;;;;10325:30;;:2;:30;;;;10269:86;:109;;;;;10373:4;10359:19;;:2;:19;;;;10269:109;10266:166;;;10412:4;10401;:8;10406:2;10401:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;10266:166;10459:13;;;;;;;;;;;10453:19;;:2;:19;;;10450:147;;10527:14;;10517:6;10501:13;10511:2;10501:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10493:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;10450:147;10614:28;10645:24;10663:4;10645:9;:24::i;:::-;10614:55;;10684:12;10723:19;;10699:20;:43;;10684:58;;10787:12;;10763:20;:36;10760:124;;10856:12;;10833:35;;10760:124;10905:7;:18;;;;;10917:6;;;;;;;;;;10916:7;10905:18;:43;;;;;10935:13;;;;;;;;;;;10927:21;;:4;:21;;;;10905:43;:58;;;;;10952:11;;;;;;;;;;;10905:58;:87;;;;;10968:18;:24;10987:4;10968:24;;;;;;;;;;;;;;;;;;;;;;;;;10967:25;10905:87;:114;;;;;10997:18;:22;11016:2;10997:22;;;;;;;;;;;;;;;;;;;;;;;;;10996:23;10905:114;10901:386;;;11040:38;11057:20;11040:16;:38::i;:::-;11097:26;11126:21;11097:50;;11191:1;11170:18;:22;11166:106;;;11217:35;11230:21;11217:12;:35::i;:::-;11166:106;11021:266;10901:386;9884:1414;;9846:1452;11311:12;11326:4;11311:19;;11376:18;:24;11395:4;11376:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11404:18;:22;11423:2;11404:22;;;;;;;;;;;;;;;;;;;;;;;;;11376:50;11375:102;;;;11440:13;;;;;;;;;;;11432:21;;:4;:21;;;;:44;;;;;11463:13;;;;;;;;;;;11457:19;;:2;:19;;;;11432:44;11375:102;11371:597;;;11504:5;11494:15;;11371:597;;;11588:13;;;;;;;;;;;11580:21;;:4;:21;;;:55;;;;;11619:15;;;;;;;;;;;11605:30;;:2;:30;;;;11580:55;11577:162;;;11668:14;;11656:9;:26;;;;11711:12;;11701:7;:22;;;;11577:162;11799:13;;;;;;;;;;;11793:19;;:2;:19;;;:55;;;;;11832:15;;;;;;;;;;;11816:32;;:4;:32;;;;11793:55;11789:165;;;11881:15;;11869:9;:27;;;;11925:13;;11915:7;:23;;;;11789:165;11371:597;11981:41;11996:4;12002:2;12006:6;12014:7;11981:14;:41::i;:::-;9603:2427;9500:2530;;;:::o;2474:224::-;2594:7;2627:1;2622;:6;;2630:12;2614:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2654:9;2670:1;2666;:5;;;;:::i;:::-;2654:17;;2689:1;2682:8;;;2474:224;;;;;:::o;12531:160::-;12588:19;;;;;;;;;;;:28;;:43;12617:13;12628:1;12617:6;:10;;:13;;;;:::i;:::-;12588:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12642:17;;;;;;;;;;;:26;;:41;12669:13;12680:1;12669:6;:10;;:13;;;;:::i;:::-;12642:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12531:160;:::o;8434:323::-;8529:7;8587;;8576;:18;;8554:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8675:19;8697:10;:8;:10::i;:::-;8675:32;;8725:24;8737:11;8725:7;:11;;:24;;;;:::i;:::-;8718:31;;;8434:323;;;:::o;12039:483::-;6139:4;6130:6;;:13;;;;;;;;;;;;;;;;;;12117:21:::1;12155:1;12141:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12117:40;;12186:4;12168;12173:1;12168:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12212:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12202:4;12207:1;12202:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12245:62;12262:4;12277:15;;;;;;;;;;;12295:11;12245:8;:62::i;:::-;12318:15;;;;;;;;;;;:66;;;12399:11;12425:1;12441:4;12468;12488:15;12318:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12106:416;6175:5:::0;6166:6;;:14;;;;;;;;;;;;;;;;;;12039:483;:::o;13342:282::-;13498:7;13493:28;;13507:14;:12;:14::i;:::-;13493:28;13532:44;13550:6;13558:9;13569:6;13532:17;:44::i;:::-;13592:7;13587:29;;13601:15;:13;:15::i;:::-;13587:29;13342:282;;;;:::o;2962:132::-;3020:7;3047:39;3051:1;3054;3047:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3040:46;;2962:132;;;;:::o;16320:167::-;16362:7;16383:15;16400;16419:19;:17;:19::i;:::-;16382:56;;;;16459:20;16471:7;16459;:11;;:20;;;;:::i;:::-;16452:27;;;;16320:167;:::o;8766:221::-;8826:1;8813:9;;:14;:30;;;;;8842:1;8831:7;;:12;8813:30;8809:43;;;8845:7;;8809:43;8885:9;;8865:17;:29;;;;8923:7;;8905:15;:25;;;;8956:1;8944:9;:13;;;;8978:1;8968:7;:11;;;;8766:221;:::o;13633:610::-;13780:15;13810:23;13848:12;13875:23;13913:12;13940:13;13967:19;13978:7;13967:10;:19::i;:::-;13765:221;;;;;;;;;;;;14015:28;14035:7;14015;:15;14023:6;14015:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13997:7;:15;14005:6;13997:15;;;;;;;;;;;;;;;:46;;;;14075:39;14098:15;14075:7;:18;14083:9;14075:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14054:7;:18;14062:9;14054:18;;;;;;;;;;;;;;;:60;;;;14125:16;14135:5;14125:9;:16::i;:::-;14152:23;14164:4;14170;14152:11;:23::i;:::-;14208:9;14191:44;;14200:6;14191:44;;;14219:15;14191:44;;;;;;:::i;:::-;;;;;;;;13754:489;;;;;;13633:610;;;:::o;8996:117::-;9052:17;;9040:9;:29;;;;9090:15;;9080:7;:25;;;;8996:117::o;3103:223::-;3223:7;3255:1;3251;:5;3258:12;3243:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3282:9;3298:1;3294;:5;;;;:::i;:::-;3282:17;;3317:1;3310:8;;;3103:223;;;;;:::o;16496:260::-;16547:7;16556;16576:15;16594:7;;16576:25;;16612:15;4798:16;16612:25;;16662:20;4798:16;16662:7;;:11;;:20;;;;:::i;:::-;16652:7;:30;16648:61;;;16692:7;;4798:16;16684:25;;;;;;;;16648:61;16731:7;16740;16723:25;;;;;;16496:260;;;:::o;14666:618::-;14766:7;14788;14810;14832;14854;14876;14912:23;14937:12;14951:13;14981:40;14993:7;15002:9;;15013:7;;14981:11;:40::i;:::-;14911:110;;;;;;15032:19;15054:10;:8;:10::i;:::-;15032:32;;15076:15;15093:23;15118:12;15147:46;15159:7;15168:4;15174:5;15181:11;15147;:46::i;:::-;15075:118;;;;;;15215:7;15224:15;15241:4;15247:15;15264:4;15270:5;15207:69;;;;;;;;;;;;;;;;;;;14666:618;;;;;;;:::o;2329:136::-;2387:7;2414:43;2418:1;2421;2414:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2407:50;;2329:136;;;;:::o;2141:179::-;2199:7;2219:9;2235:1;2231;:5;;;;:::i;:::-;2219:17;;2260:1;2255;:6;;2247:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2311:1;2304:8;;;2141:179;;;;:::o;14252:211::-;14305:19;14327:10;:8;:10::i;:::-;14305:32;;14348:13;14364:22;14374:11;14364:5;:9;;:22;;;;:::i;:::-;14348:38;;14422:33;14449:5;14422:7;:22;14438:4;14422:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14397:7;:22;14413:4;14397:22;;;;;;;;;;;;;;;:58;;;;14294:169;;14252:211;:::o;14472:147::-;14550:17;14562:4;14550:7;;:11;;:17;;;;:::i;:::-;14540:7;:27;;;;14591:20;14606:4;14591:10;;:14;;:20;;;;:::i;:::-;14578:10;:33;;;;14472:147;;:::o;15293:472::-;15462:7;15484;15506;15541:12;15556:30;15582:3;15556:21;15568:8;15556:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15541:45;;15597:13;15613:28;15637:3;15613:19;15625:6;15613:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15597:44;;15652:23;15678:28;15700:5;15678:17;15690:4;15678:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15652:54;;15728:15;15745:4;15751:5;15720:37;;;;;;;;;15293:472;;;;;;;:::o;15774:537::-;15968:7;15990;16012;16047:15;16065:24;16077:11;16065:7;:11;;:24;;;;:::i;:::-;16047:42;;16100:12;16115:21;16124:11;16115:4;:8;;:21;;;;:::i;:::-;16100:36;;16147:13;16163:22;16173:11;16163:5;:9;;:22;;;;:::i;:::-;16147:38;;16196:23;16222:28;16244:5;16222:17;16234:4;16222:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16196:54;;16272:7;16281:15;16298:4;16264:39;;;;;;;;;;15774:537;;;;;;;;:::o;2707:246::-;2765:7;2794:1;2789;:6;2785:47;;;2819:1;2812:8;;;;2785:47;2842:9;2858:1;2854;:5;;;;:::i;:::-;2842:17;;2887:1;2882;2878;:5;;;;:::i;:::-;:10;2870:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2944:1;2937:8;;;2707:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:323::-;4213:6;4262:2;4250:9;4241:7;4237:23;4233:32;4230:119;;;4268:79;;:::i;:::-;4230:119;4388:1;4413:50;4455:7;4446:6;4435:9;4431:22;4413:50;:::i;:::-;4403:60;;4359:114;4157:323;;;;:::o;4486:329::-;4545:6;4594:2;4582:9;4573:7;4569:23;4565:32;4562:119;;;4600:79;;:::i;:::-;4562:119;4720:1;4745:53;4790:7;4781:6;4770:9;4766:22;4745:53;:::i;:::-;4735:63;;4691:117;4486:329;;;;:::o;4821:474::-;4889:6;4897;4946:2;4934:9;4925:7;4921:23;4917:32;4914:119;;;4952:79;;:::i;:::-;4914:119;5072:1;5097:53;5142:7;5133:6;5122:9;5118:22;5097:53;:::i;:::-;5087:63;;5043:117;5199:2;5225:53;5270:7;5261:6;5250:9;5246:22;5225:53;:::i;:::-;5215:63;;5170:118;4821:474;;;;;:::o;5301:179::-;5370:10;5391:46;5433:3;5425:6;5391:46;:::i;:::-;5469:4;5464:3;5460:14;5446:28;;5301:179;;;;:::o;5486:108::-;5563:24;5581:5;5563:24;:::i;:::-;5558:3;5551:37;5486:108;;:::o;5600:118::-;5687:24;5705:5;5687:24;:::i;:::-;5682:3;5675:37;5600:118;;:::o;5754:732::-;5873:3;5902:54;5950:5;5902:54;:::i;:::-;5972:86;6051:6;6046:3;5972:86;:::i;:::-;5965:93;;6082:56;6132:5;6082:56;:::i;:::-;6161:7;6192:1;6177:284;6202:6;6199:1;6196:13;6177:284;;;6278:6;6272:13;6305:63;6364:3;6349:13;6305:63;:::i;:::-;6298:70;;6391:60;6444:6;6391:60;:::i;:::-;6381:70;;6237:224;6224:1;6221;6217:9;6212:14;;6177:284;;;6181:14;6477:3;6470:10;;5878:608;;;5754:732;;;;:::o;6492:109::-;6573:21;6588:5;6573:21;:::i;:::-;6568:3;6561:34;6492:109;;:::o;6607:183::-;6720:63;6777:5;6720:63;:::i;:::-;6715:3;6708:76;6607:183;;:::o;6796:147::-;6891:45;6930:5;6891:45;:::i;:::-;6886:3;6879:58;6796:147;;:::o;6949:364::-;7037:3;7065:39;7098:5;7065:39;:::i;:::-;7120:71;7184:6;7179:3;7120:71;:::i;:::-;7113:78;;7200:52;7245:6;7240:3;7233:4;7226:5;7222:16;7200:52;:::i;:::-;7277:29;7299:6;7277:29;:::i;:::-;7272:3;7268:39;7261:46;;7041:272;6949:364;;;;:::o;7319:366::-;7461:3;7482:67;7546:2;7541:3;7482:67;:::i;:::-;7475:74;;7558:93;7647:3;7558:93;:::i;:::-;7676:2;7671:3;7667:12;7660:19;;7319:366;;;:::o;7691:::-;7833:3;7854:67;7918:2;7913:3;7854:67;:::i;:::-;7847:74;;7930:93;8019:3;7930:93;:::i;:::-;8048:2;8043:3;8039:12;8032:19;;7691:366;;;:::o;8063:::-;8205:3;8226:67;8290:2;8285:3;8226:67;:::i;:::-;8219:74;;8302:93;8391:3;8302:93;:::i;:::-;8420:2;8415:3;8411:12;8404:19;;8063:366;;;:::o;8435:::-;8577:3;8598:67;8662:2;8657:3;8598:67;:::i;:::-;8591:74;;8674:93;8763:3;8674:93;:::i;:::-;8792:2;8787:3;8783:12;8776:19;;8435:366;;;:::o;8807:::-;8949:3;8970:67;9034:2;9029:3;8970:67;:::i;:::-;8963:74;;9046:93;9135:3;9046:93;:::i;:::-;9164:2;9159:3;9155:12;9148:19;;8807:366;;;:::o;9179:::-;9321:3;9342:67;9406:2;9401:3;9342:67;:::i;:::-;9335:74;;9418:93;9507:3;9418:93;:::i;:::-;9536:2;9531:3;9527:12;9520:19;;9179:366;;;:::o;9551:::-;9693:3;9714:67;9778:2;9773:3;9714:67;:::i;:::-;9707:74;;9790:93;9879:3;9790:93;:::i;:::-;9908:2;9903:3;9899:12;9892:19;;9551:366;;;:::o;9923:::-;10065:3;10086:67;10150:2;10145:3;10086:67;:::i;:::-;10079:74;;10162:93;10251:3;10162:93;:::i;:::-;10280:2;10275:3;10271:12;10264:19;;9923:366;;;:::o;10295:::-;10437:3;10458:67;10522:2;10517:3;10458:67;:::i;:::-;10451:74;;10534:93;10623:3;10534:93;:::i;:::-;10652:2;10647:3;10643:12;10636:19;;10295:366;;;:::o;10667:::-;10809:3;10830:67;10894:2;10889:3;10830:67;:::i;:::-;10823:74;;10906:93;10995:3;10906:93;:::i;:::-;11024:2;11019:3;11015:12;11008:19;;10667:366;;;:::o;11039:::-;11181:3;11202:67;11266:2;11261:3;11202:67;:::i;:::-;11195:74;;11278:93;11367:3;11278:93;:::i;:::-;11396:2;11391:3;11387:12;11380:19;;11039:366;;;:::o;11411:::-;11553:3;11574:67;11638:2;11633:3;11574:67;:::i;:::-;11567:74;;11650:93;11739:3;11650:93;:::i;:::-;11768:2;11763:3;11759:12;11752:19;;11411:366;;;:::o;11783:::-;11925:3;11946:67;12010:2;12005:3;11946:67;:::i;:::-;11939:74;;12022:93;12111:3;12022:93;:::i;:::-;12140:2;12135:3;12131:12;12124:19;;11783:366;;;:::o;12155:::-;12297:3;12318:67;12382:2;12377:3;12318:67;:::i;:::-;12311:74;;12394:93;12483:3;12394:93;:::i;:::-;12512:2;12507:3;12503:12;12496:19;;12155:366;;;:::o;12527:::-;12669:3;12690:67;12754:2;12749:3;12690:67;:::i;:::-;12683:74;;12766:93;12855:3;12766:93;:::i;:::-;12884:2;12879:3;12875:12;12868:19;;12527:366;;;:::o;12899:118::-;12986:24;13004:5;12986:24;:::i;:::-;12981:3;12974:37;12899:118;;:::o;13023:112::-;13106:22;13122:5;13106:22;:::i;:::-;13101:3;13094:35;13023:112;;:::o;13141:222::-;13234:4;13272:2;13261:9;13257:18;13249:26;;13285:71;13353:1;13342:9;13338:17;13329:6;13285:71;:::i;:::-;13141:222;;;;:::o;13369:210::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13507:65;13569:1;13558:9;13554:17;13545:6;13507:65;:::i;:::-;13369:210;;;;:::o;13585:274::-;13704:4;13742:2;13731:9;13727:18;13719:26;;13755:97;13849:1;13838:9;13834:17;13825:6;13755:97;:::i;:::-;13585:274;;;;:::o;13865:313::-;13978:4;14016:2;14005:9;14001:18;13993:26;;14065:9;14059:4;14055:20;14051:1;14040:9;14036:17;14029:47;14093:78;14166:4;14157:6;14093:78;:::i;:::-;14085:86;;13865:313;;;;:::o;14184:419::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14437:9;14431:4;14427:20;14423:1;14412:9;14408:17;14401:47;14465:131;14591:4;14465:131;:::i;:::-;14457:139;;14184:419;;;:::o;14609:::-;14775:4;14813:2;14802:9;14798:18;14790:26;;14862:9;14856:4;14852:20;14848:1;14837:9;14833:17;14826:47;14890:131;15016:4;14890:131;:::i;:::-;14882:139;;14609:419;;;:::o;15034:::-;15200:4;15238:2;15227:9;15223:18;15215:26;;15287:9;15281:4;15277:20;15273:1;15262:9;15258:17;15251:47;15315:131;15441:4;15315:131;:::i;:::-;15307:139;;15034:419;;;:::o;15459:::-;15625:4;15663:2;15652:9;15648:18;15640:26;;15712:9;15706:4;15702:20;15698:1;15687:9;15683:17;15676:47;15740:131;15866:4;15740:131;:::i;:::-;15732:139;;15459:419;;;:::o;15884:::-;16050:4;16088:2;16077:9;16073:18;16065:26;;16137:9;16131:4;16127:20;16123:1;16112:9;16108:17;16101:47;16165:131;16291:4;16165:131;:::i;:::-;16157:139;;15884:419;;;:::o;16309:::-;16475:4;16513:2;16502:9;16498:18;16490:26;;16562:9;16556:4;16552:20;16548:1;16537:9;16533:17;16526:47;16590:131;16716:4;16590:131;:::i;:::-;16582:139;;16309:419;;;:::o;16734:::-;16900:4;16938:2;16927:9;16923:18;16915:26;;16987:9;16981:4;16977:20;16973:1;16962:9;16958:17;16951:47;17015:131;17141:4;17015:131;:::i;:::-;17007:139;;16734:419;;;:::o;17159:::-;17325:4;17363:2;17352:9;17348:18;17340:26;;17412:9;17406:4;17402:20;17398:1;17387:9;17383:17;17376:47;17440:131;17566:4;17440:131;:::i;:::-;17432:139;;17159:419;;;:::o;17584:::-;17750:4;17788:2;17777:9;17773:18;17765:26;;17837:9;17831:4;17827:20;17823:1;17812:9;17808:17;17801:47;17865:131;17991:4;17865:131;:::i;:::-;17857:139;;17584:419;;;:::o;18009:::-;18175:4;18213:2;18202:9;18198:18;18190:26;;18262:9;18256:4;18252:20;18248:1;18237:9;18233:17;18226:47;18290:131;18416:4;18290:131;:::i;:::-;18282:139;;18009:419;;;:::o;18434:::-;18600:4;18638:2;18627:9;18623:18;18615:26;;18687:9;18681:4;18677:20;18673:1;18662:9;18658:17;18651:47;18715:131;18841:4;18715:131;:::i;:::-;18707:139;;18434:419;;;:::o;18859:::-;19025:4;19063:2;19052:9;19048:18;19040:26;;19112:9;19106:4;19102:20;19098:1;19087:9;19083:17;19076:47;19140:131;19266:4;19140:131;:::i;:::-;19132:139;;18859:419;;;:::o;19284:::-;19450:4;19488:2;19477:9;19473:18;19465:26;;19537:9;19531:4;19527:20;19523:1;19512:9;19508:17;19501:47;19565:131;19691:4;19565:131;:::i;:::-;19557:139;;19284:419;;;:::o;19709:::-;19875:4;19913:2;19902:9;19898:18;19890:26;;19962:9;19956:4;19952:20;19948:1;19937:9;19933:17;19926:47;19990:131;20116:4;19990:131;:::i;:::-;19982:139;;19709:419;;;:::o;20134:::-;20300:4;20338:2;20327:9;20323:18;20315:26;;20387:9;20381:4;20377:20;20373:1;20362:9;20358:17;20351:47;20415:131;20541:4;20415:131;:::i;:::-;20407:139;;20134:419;;;:::o;20559:222::-;20652:4;20690:2;20679:9;20675:18;20667:26;;20703:71;20771:1;20760:9;20756:17;20747:6;20703:71;:::i;:::-;20559:222;;;;:::o;20787:831::-;21050:4;21088:3;21077:9;21073:19;21065:27;;21102:71;21170:1;21159:9;21155:17;21146:6;21102:71;:::i;:::-;21183:80;21259:2;21248:9;21244:18;21235:6;21183:80;:::i;:::-;21310:9;21304:4;21300:20;21295:2;21284:9;21280:18;21273:48;21338:108;21441:4;21432:6;21338:108;:::i;:::-;21330:116;;21456:72;21524:2;21513:9;21509:18;21500:6;21456:72;:::i;:::-;21538:73;21606:3;21595:9;21591:19;21582:6;21538:73;:::i;:::-;20787:831;;;;;;;;:::o;21624:214::-;21713:4;21751:2;21740:9;21736:18;21728:26;;21764:67;21828:1;21817:9;21813:17;21804:6;21764:67;:::i;:::-;21624:214;;;;:::o;21925:132::-;21992:4;22015:3;22007:11;;22045:4;22040:3;22036:14;22028:22;;21925:132;;;:::o;22063:114::-;22130:6;22164:5;22158:12;22148:22;;22063:114;;;:::o;22183:99::-;22235:6;22269:5;22263:12;22253:22;;22183:99;;;:::o;22288:113::-;22358:4;22390;22385:3;22381:14;22373:22;;22288:113;;;:::o;22407:184::-;22506:11;22540:6;22535:3;22528:19;22580:4;22575:3;22571:14;22556:29;;22407:184;;;;:::o;22597:169::-;22681:11;22715:6;22710:3;22703:19;22755:4;22750:3;22746:14;22731:29;;22597:169;;;;:::o;22772:305::-;22812:3;22831:20;22849:1;22831:20;:::i;:::-;22826:25;;22865:20;22883:1;22865:20;:::i;:::-;22860:25;;23019:1;22951:66;22947:74;22944:1;22941:81;22938:107;;;23025:18;;:::i;:::-;22938:107;23069:1;23066;23062:9;23055:16;;22772:305;;;;:::o;23083:185::-;23123:1;23140:20;23158:1;23140:20;:::i;:::-;23135:25;;23174:20;23192:1;23174:20;:::i;:::-;23169:25;;23213:1;23203:35;;23218:18;;:::i;:::-;23203:35;23260:1;23257;23253:9;23248:14;;23083:185;;;;:::o;23274:348::-;23314:7;23337:20;23355:1;23337:20;:::i;:::-;23332:25;;23371:20;23389:1;23371:20;:::i;:::-;23366:25;;23559:1;23491:66;23487:74;23484:1;23481:81;23476:1;23469:9;23462:17;23458:105;23455:131;;;23566:18;;:::i;:::-;23455:131;23614:1;23611;23607:9;23596:20;;23274:348;;;;:::o;23628:191::-;23668:4;23688:20;23706:1;23688:20;:::i;:::-;23683:25;;23722:20;23740:1;23722:20;:::i;:::-;23717:25;;23761:1;23758;23755:8;23752:34;;;23766:18;;:::i;:::-;23752:34;23811:1;23808;23804:9;23796:17;;23628:191;;;;:::o;23825:96::-;23862:7;23891:24;23909:5;23891:24;:::i;:::-;23880:35;;23825:96;;;:::o;23927:90::-;23961:7;24004:5;23997:13;23990:21;23979:32;;23927:90;;;:::o;24023:126::-;24060:7;24100:42;24093:5;24089:54;24078:65;;24023:126;;;:::o;24155:77::-;24192:7;24221:5;24210:16;;24155:77;;;:::o;24238:86::-;24273:7;24313:4;24306:5;24302:16;24291:27;;24238:86;;;:::o;24330:152::-;24406:9;24439:37;24470:5;24439:37;:::i;:::-;24426:50;;24330:152;;;:::o;24488:121::-;24546:9;24579:24;24597:5;24579:24;:::i;:::-;24566:37;;24488:121;;;:::o;24615:126::-;24665:9;24698:37;24729:5;24698:37;:::i;:::-;24685:50;;24615:126;;;:::o;24747:113::-;24797:9;24830:24;24848:5;24830:24;:::i;:::-;24817:37;;24747:113;;;:::o;24866:307::-;24934:1;24944:113;24958:6;24955:1;24952:13;24944:113;;;25043:1;25038:3;25034:11;25028:18;25024:1;25019:3;25015:11;25008:39;24980:2;24977:1;24973:10;24968:15;;24944:113;;;25075:6;25072:1;25069:13;25066:101;;;25155:1;25146:6;25141:3;25137:16;25130:27;25066:101;24915:258;24866:307;;;:::o;25179:233::-;25218:3;25241:24;25259:5;25241:24;:::i;:::-;25232:33;;25287:66;25280:5;25277:77;25274:103;;;25357:18;;:::i;:::-;25274:103;25404:1;25397:5;25393:13;25386:20;;25179:233;;;:::o;25418:180::-;25466:77;25463:1;25456:88;25563:4;25560:1;25553:15;25587:4;25584:1;25577:15;25604:180;25652:77;25649:1;25642:88;25749:4;25746:1;25739:15;25773:4;25770:1;25763:15;25790:180;25838:77;25835:1;25828:88;25935:4;25932:1;25925:15;25959:4;25956:1;25949:15;25976:180;26024:77;26021:1;26014:88;26121:4;26118:1;26111:15;26145:4;26142:1;26135:15;26162:117;26271:1;26268;26261:12;26285:117;26394:1;26391;26384:12;26408:117;26517:1;26514;26507:12;26531:117;26640:1;26637;26630:12;26654:117;26763:1;26760;26753:12;26777:102;26818:6;26869:2;26865:7;26860:2;26853:5;26849:14;26845:28;26835:38;;26777:102;;;:::o;26885:222::-;27025:34;27021:1;27013:6;27009:14;27002:58;27094:5;27089:2;27081:6;27077:15;27070:30;26885:222;:::o;27113:250::-;27253:34;27249:1;27241:6;27237:14;27230:58;27322:33;27317:2;27309:6;27305:15;27298:58;27113:250;:::o;27369:229::-;27509:34;27505:1;27497:6;27493:14;27486:58;27578:12;27573:2;27565:6;27561:15;27554:37;27369:229;:::o;27604:178::-;27744:30;27740:1;27732:6;27728:14;27721:54;27604:178;:::o;27788:225::-;27928:34;27924:1;27916:6;27912:14;27905:58;27997:8;27992:2;27984:6;27980:15;27973:33;27788:225;:::o;28019:221::-;28159:34;28155:1;28147:6;28143:14;28136:58;28228:4;28223:2;28215:6;28211:15;28204:29;28019:221;:::o;28246:222::-;28386:34;28382:1;28374:6;28370:14;28363:58;28455:5;28450:2;28442:6;28438:15;28431:30;28246:222;:::o;28474:177::-;28614:29;28610:1;28602:6;28598:14;28591:53;28474:177;:::o;28657:220::-;28797:34;28793:1;28785:6;28781:14;28774:58;28866:3;28861:2;28853:6;28849:15;28842:28;28657:220;:::o;28883:182::-;29023:34;29019:1;29011:6;29007:14;29000:58;28883:182;:::o;29071:228::-;29211:34;29207:1;29199:6;29195:14;29188:58;29280:11;29275:2;29267:6;29263:15;29256:36;29071:228;:::o;29305:224::-;29445:34;29441:1;29433:6;29429:14;29422:58;29514:7;29509:2;29501:6;29497:15;29490:32;29305:224;:::o;29535:222::-;29675:34;29671:1;29663:6;29659:14;29652:58;29744:5;29739:2;29731:6;29727:15;29720:30;29535:222;:::o;29763:162::-;29903:14;29899:1;29891:6;29887:14;29880:38;29763:162;:::o;29931:223::-;30071:34;30067:1;30059:6;30055:14;30048:58;30140:6;30135:2;30127:6;30123:15;30116:31;29931:223;:::o;30160:122::-;30233:24;30251:5;30233:24;:::i;:::-;30226:5;30223:35;30213:63;;30272:1;30269;30262:12;30213:63;30160:122;:::o;30288:116::-;30358:21;30373:5;30358:21;:::i;:::-;30351:5;30348:32;30338:60;;30394:1;30391;30384:12;30338:60;30288:116;:::o;30410:122::-;30483:24;30501:5;30483:24;:::i;:::-;30476:5;30473:35;30463:63;;30522:1;30519;30512:12;30463:63;30410:122;:::o

Swarm Source

ipfs://ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c27

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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