ETH Price: $1,821.15 (-3.37%)

Contract

0xE1A60631a64BB00AD2752A10E0cE9773ACC828Ba
 

Overview

ETH Balance

0.0809725105645154 ETH

Eth Value

$147.46 (@ $1,821.15/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve170256872023-04-11 15:18:11718 days ago1681226291IN
0xE1A60631...3ACC828Ba
0 ETH0.000903237.34579925
Approve169166982023-03-27 5:40:11733 days ago1679895611IN
0xE1A60631...3ACC828Ba
0 ETH0.0007247915.57729926
Approve165646982023-02-05 19:33:47783 days ago1675625627IN
0xE1A60631...3ACC828Ba
0 ETH0.0009657820.78345593
Approve164819782023-01-25 6:14:59794 days ago1674627299IN
0xE1A60631...3ACC828Ba
0 ETH0.0007203515.48195079
Approve164811562023-01-25 3:29:11794 days ago1674617351IN
0xE1A60631...3ACC828Ba
0 ETH0.0007816816.8
Approve164770952023-01-24 13:54:11795 days ago1674568451IN
0xE1A60631...3ACC828Ba
0 ETH0.0006881228.38218583
Approve164770582023-01-24 13:46:47795 days ago1674568007IN
0xE1A60631...3ACC828Ba
0 ETH0.0009912721.30435615
Approve164759572023-01-24 10:05:11795 days ago1674554711IN
0xE1A60631...3ACC828Ba
0 ETH0.0007370115.86045282
Approve164751442023-01-24 7:21:23795 days ago1674544883IN
0xE1A60631...3ACC828Ba
0 ETH0.0006792814.61808375
Approve164751062023-01-24 7:13:47795 days ago1674544427IN
0xE1A60631...3ACC828Ba
0 ETH0.0007101715.28271615
Approve164747302023-01-24 5:58:11795 days ago1674539891IN
0xE1A60631...3ACC828Ba
0 ETH0.000692514.90250737
Approve164716102023-01-23 19:30:59796 days ago1674502259IN
0xE1A60631...3ACC828Ba
0 ETH0.0016285135
Approve164709322023-01-23 17:14:59796 days ago1674494099IN
0xE1A60631...3ACC828Ba
0 ETH0.0013005127.98681077
Approve164709282023-01-23 17:13:59796 days ago1674494039IN
0xE1A60631...3ACC828Ba
0 ETH0.0012787827.51916279
Approve164703472023-01-23 15:17:35796 days ago1674487055IN
0xE1A60631...3ACC828Ba
0 ETH0.0011715625.21172391
Approve164701212023-01-23 14:32:11796 days ago1674484331IN
0xE1A60631...3ACC828Ba
0 ETH0.0007103515.28666503
Transfer164700682023-01-23 14:21:35796 days ago1674483695IN
0xE1A60631...3ACC828Ba
0 ETH0.0018627416.03626663
Transfer164700652023-01-23 14:20:59796 days ago1674483659IN
0xE1A60631...3ACC828Ba
0 ETH0.0008264317.13135178
Transfer164700572023-01-23 14:19:23796 days ago1674483563IN
0xE1A60631...3ACC828Ba
0 ETH0.0007651116.8376307
Transfer164696742023-01-23 13:02:23796 days ago1674478943IN
0xE1A60631...3ACC828Ba
0 ETH0.0017364114.9487583
Transfer164696412023-01-23 12:55:47796 days ago1674478547IN
0xE1A60631...3ACC828Ba
0 ETH0.0018607216.01889451
Approve164695642023-01-23 12:40:23796 days ago1674477623IN
0xE1A60631...3ACC828Ba
0 ETH0.0007320715.73364974
Approve164695442023-01-23 12:36:23796 days ago1674477383IN
0xE1A60631...3ACC828Ba
0 ETH0.00068414.70056108
Approve164693132023-01-23 11:49:59796 days ago1674474599IN
0xE1A60631...3ACC828Ba
0 ETH0.0006580814.14360363
Approve164692282023-01-23 11:32:47796 days ago1674473567IN
0xE1A60631...3ACC828Ba
0 ETH0.000977121
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer164820142023-01-25 6:22:11794 days ago1674627731
0xE1A60631...3ACC828Ba
0.0061801 ETH
Transfer164820142023-01-25 6:22:11794 days ago1674627731
0xE1A60631...3ACC828Ba
0.0061801 ETH
Transfer164751452023-01-24 7:21:35795 days ago1674544895
0xE1A60631...3ACC828Ba
0.00644659 ETH
Transfer164751452023-01-24 7:21:35795 days ago1674544895
0xE1A60631...3ACC828Ba
0.00644659 ETH
Transfer164728162023-01-23 23:33:47795 days ago1674516827
0xE1A60631...3ACC828Ba
0.01058585 ETH
Transfer164728162023-01-23 23:33:47795 days ago1674516827
0xE1A60631...3ACC828Ba
0.01058585 ETH
Transfer164725752023-01-23 22:45:11795 days ago1674513911
0xE1A60631...3ACC828Ba
0.01267377 ETH
Transfer164725752023-01-23 22:45:11795 days ago1674513911
0xE1A60631...3ACC828Ba
0.01267377 ETH
Transfer164709452023-01-23 17:17:47796 days ago1674494267
0xE1A60631...3ACC828Ba
0.01883283 ETH
Transfer164709452023-01-23 17:17:47796 days ago1674494267
0xE1A60631...3ACC828Ba
0.01883283 ETH
Transfer164709302023-01-23 17:14:35796 days ago1674494075
0xE1A60631...3ACC828Ba
0.025001 ETH
Transfer164709302023-01-23 17:14:35796 days ago1674494075
0xE1A60631...3ACC828Ba
0.025001 ETH
Transfer164700862023-01-23 14:25:11796 days ago1674483911
0xE1A60631...3ACC828Ba
0.02691208 ETH
Transfer164700862023-01-23 14:25:11796 days ago1674483911
0xE1A60631...3ACC828Ba
0.02691208 ETH
Transfer164695492023-01-23 12:37:23796 days ago1674477443
0xE1A60631...3ACC828Ba
0.03432413 ETH
Transfer164695492023-01-23 12:37:23796 days ago1674477443
0xE1A60631...3ACC828Ba
0.03432413 ETH
Transfer164680302023-01-23 7:32:35796 days ago1674459155
0xE1A60631...3ACC828Ba
0.0563541 ETH
Transfer164680302023-01-23 7:32:35796 days ago1674459155
0xE1A60631...3ACC828Ba
0.0563541 ETH
Transfer164675852023-01-23 6:03:23796 days ago1674453803
0xE1A60631...3ACC828Ba
0.03383959 ETH
Transfer164675852023-01-23 6:03:23796 days ago1674453803
0xE1A60631...3ACC828Ba
0.03383959 ETH
Transfer164674412023-01-23 5:34:11796 days ago1674452051
0xE1A60631...3ACC828Ba
0.02762733 ETH
Transfer164674412023-01-23 5:34:11796 days ago1674452051
0xE1A60631...3ACC828Ba
0.02762733 ETH
Transfer164673762023-01-23 5:21:11796 days ago1674451271
0xE1A60631...3ACC828Ba
0.04333343 ETH
Transfer164673762023-01-23 5:21:11796 days ago1674451271
0xE1A60631...3ACC828Ba
0.04333343 ETH
Transfer164673292023-01-23 5:11:47796 days ago1674450707
0xE1A60631...3ACC828Ba
0.0615894 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RabbitDao

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-23
*/

/*
    RabbitDao 
    You must be referred (humped) to buy!
    Refer other wallets and get rewards for their every buy

    Year of the Rabbit is here and rabbits are known for their fast reproduction! 

    Telegram: https://t.me/RabbitDaoERC
    dApp: https://RabbitDao.app
*/
 
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract RabbitDao is IERC20, Auth {
    using SafeMath for uint256;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "RabbitDAO";
    string constant _symbol = "RDAO";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100000000 * (10 ** _decimals);
    uint256 public _maxWalletSize = (_totalSupply * 2) / 100; 
    uint256 public _minTransferForReferral = 1 * (10 ** _decimals); 

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    
    mapping (address => bool) isFeeExempt;
    mapping (address => address) public referrer; 
    mapping(address => bool) public isReferred;

    uint256 liquidityFee = 2;
    uint256 devFee = 0;
    uint256 marketingFee = 23;

    uint256 totalFee = 25;
    uint256 feeDenominator = 100;

    uint256 referralFee = 2;

    uint256 public minSupplyForReferralReward = (_totalSupply * 1) / 1000;
    
    address private marketingFeeReceiver = 0xDfBE0966101EB7F670338b33238F7B6c6bB28785;
    address private devFeeReceiver = 0xDfBE0966101EB7F670338b33238F7B6c6bB28785;

    IUniswapV2Router public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3%

    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    event ReferralBonus(address indexed feesTo , address indexed feesFrom , uint value);
    event Referred(address indexed referred,address indexed referrer);

    constructor () Auth(msg.sender) {
        router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //Router address
        pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isFeeExempt[pair] = true;
        isFeeExempt[address(router)] = true;

        isReferred[_owner] = true;
        
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }    

        if (recipient != pair && recipient != DEAD) {
            require(isFeeExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }

        uint256 amountReceived = amount; 
        
        if(sender == pair) { //buy
            if(!isFeeExempt[recipient]) {
                require(isReferred[recipient],"Not referred");
                amountReceived = takeReferralFees(recipient,amount);
            }

        } else if(recipient == pair) { //sell
            if(shouldTakeFee(sender)) {
                amountReceived = takeFee(sender, amount);
            }  

        } else if(isReferred[recipient]==false) {
            if(amount >= _minTransferForReferral) {
                isReferred[recipient] = true;
                referrer[recipient] = sender;
                emit Referred(recipient,sender);
            }
        } 
        
        if(shouldSwapBack()){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeReferralFees(address from,uint256 amount) internal returns(uint) {
        uint256 referralTokens = referralFee * amount / feeDenominator;
        if(_balances[referrer[from]] > minSupplyForReferralReward) {
            _balances[referrer[from]] = _balances[referrer[from]].add(referralTokens);
            emit ReferralBonus(referrer[from],from,referralTokens);
        } else {
             _balances[marketingFeeReceiver] = _balances[marketingFeeReceiver].add(referralTokens);
            emit ReferralBonus(marketingFeeReceiver,from,referralTokens);
        }

        return amount - referralTokens;
    }
    
    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee);
        uint256 amountETHMarketing = amountETH - amountETHLiquidity - amountETHDev;

        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
        (bool DevSuccess, /* bytes memory data */) = payable(devFeeReceiver).call{value: amountETHDev, gas: 30000}("");
        require(DevSuccess, "receiver rejected ETH transfer");
        addLiquidity(amountToLiquify, amountETHLiquidity);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        if(tokenAmount > 0){
                router.addLiquidityETH{value: ETHAmount}(
                    address(this),
                    tokenAmount,
                    0,
                    0,
                    address(this),
                    block.timestamp
                );
                emit AutoLiquify(ETHAmount, tokenAmount);
            }
    }

    function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }   

    function setMinimumBalanceForReferral(uint256 amount) external onlyOwner {
        minSupplyForReferralReward = amount;
    } 

    function setMinTransferForReferral(uint256 amount) external onlyOwner() {
        require(amount <= 1*(10**_decimals) );
        _minTransferForReferral = amount; 
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setReferralFee(uint256 newFee) external authorized {
        referralFee = newFee;
    }

    function setFees(uint256 _liquidityFee, uint256 _devFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        devFee = _devFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_devFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
    }

    function setFeeReceiver(address _marketingFeeReceiver, address _devFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feesTo","type":"address"},{"indexed":true,"internalType":"address","name":"feesFrom","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ReferralBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referred","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"}],"name":"Referred","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTransferForReferral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isReferred","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minSupplyForReferralReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinTransferForReferral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinimumBalanceForReferral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setReferralFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811661dead17909155600380549091169055620000326009600a62000490565b62000042906305f5e10062000551565b6004556064600454600262000058919062000551565b62000064919062000424565b600555620000756009600a62000490565b6200008290600162000551565b6006556002600c556000600d556017600e556019600f55606460105560026011556103e86004546001620000b7919062000551565b620000c3919062000424565b601255601380546001600160a01b031990811673dfbe0966101eb7f670338b33238f7b6c6bb287859081179092556014805490911690911790556016805460ff60a01b1916600160a01b17905560045462000122906103e89062000424565b6200012f90600362000551565b6017553480156200013f57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560158054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a01559260048083019392829003018186803b158015620001c157600080fd5b505afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc9190620003f2565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025957600080fd5b505afa1580156200026e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002949190620003f2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b158015620002dc57600080fd5b505af1158015620002f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003179190620003f2565b601680546001600160a01b0319166001600160a01b03928316178155306000908152600860209081526040808320601580548716855290835281842060001990558354861680855260098452828520805460ff1990811660019081179092559654881686528386208054881682179055915490961684528184208054861682179055858452600b835281842080549095161790935560045460078252838320819055925192835283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000589565b6000602082840312156200040557600080fd5b81516001600160a01b03811681146200041d57600080fd5b9392505050565b6000826200044257634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004885781600019048211156200046c576200046c62000573565b808516156200047a57918102915b93841c93908002906200044c565b509250929050565b60006200041d60ff841683600082620004ac575060016200054b565b81620004bb575060006200054b565b8160018114620004d45760028114620004df57620004ff565b60019150506200054b565b60ff841115620004f357620004f362000573565b50506001821b6200054b565b5060208310610133831016604e8410600b841016171562000524575081810a6200054b565b62000530838362000447565b806000190482111562000547576200054762000573565b0290505b92915050565b60008160001904831182151516156200056e576200056e62000573565b500290565b634e487b7160e01b600052601160045260246000fd5b6120b480620005996000396000f3fe6080604052600436106102295760003560e01c8063893d20e811610123578063de91b99e116100ab578063f0bc6cfb1161006f578063f0bc6cfb146106d8578063f2fde38b14610708578063f429389014610728578063f887ea401461073d578063fe9fbb801461075d57600080fd5b8063de91b99e14610638578063df20fd4914610658578063e66db25e14610678578063ea23a2b814610698578063f0b37c04146106b857600080fd5b8063a9059cbb116100f2578063a9059cbb14610572578063b6a5d7de14610592578063d51ed1c8146105b2578063dc93cf70146105d2578063dd62ed3e146105f257600080fd5b8063893d20e8146104f15780638f9a55c01461050f57806395d89b4114610525578063a8aa1b311461055257600080fd5b8063313ce567116101b15780636ddd1713116101755780636ddd1713146104445780636fcba3771461046557806370a0823114610485578063713494d7146104bb57806371d0979b146104db57600080fd5b8063313ce567146103b0578063571ac8b0146103cc5780635acbdedb146103ec5780635d0044ca14610402578063658d4b7f1461042457600080fd5b806318160ddd116101f857806318160ddd146102e957806323b872dd146102fe5780632b112e491461031e5780632cf003c2146103335780632f54bf6e1461038157600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102995780631161ae39146102c957600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60175481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b5060408051808201909152600981526852616262697444414f60b81b60208201525b6040516102559190611dd1565b3480156102a557600080fd5b506102b96102b4366004611cd5565b61077d565b6040519015158152602001610255565b3480156102d557600080fd5b506102b96102e4366004611d4f565b6107ea565b3480156102f557600080fd5b5060045461024b565b34801561030a57600080fd5b506102b9610319366004611c5f565b6107fe565b34801561032a57600080fd5b5061024b6108c0565b34801561033f57600080fd5b5061036961034e366004611bec565b600a602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610255565b34801561038d57600080fd5b506102b961039c366004611bec565b6000546001600160a01b0391821691161490565b3480156103bc57600080fd5b5060405160098152602001610255565b3480156103d857600080fd5b506102b96103e7366004611bec565b610912565b3480156103f857600080fd5b5061024b60125481565b34801561040e57600080fd5b5061042261041d366004611d1d565b610920565b005b34801561043057600080fd5b5061042261043f366004611ca0565b610974565b34801561045057600080fd5b506016546102b990600160a01b900460ff1681565b34801561047157600080fd5b50610422610480366004611d9f565b6109c4565b34801561049157600080fd5b5061024b6104a0366004611bec565b6001600160a01b031660009081526007602052604090205490565b3480156104c757600080fd5b506104226104d6366004611d1d565b610a17565b3480156104e757600080fd5b5061024b60065481565b3480156104fd57600080fd5b506000546001600160a01b0316610369565b34801561051b57600080fd5b5061024b60055481565b34801561053157600080fd5b506040805180820190915260048152635244414f60e01b602082015261028c565b34801561055e57600080fd5b50601654610369906001600160a01b031681565b34801561057e57600080fd5b506102b961058d366004611cd5565b610a41565b34801561059e57600080fd5b506104226105ad366004611bec565b610a4e565b3480156105be57600080fd5b5061024b6105cd366004611d1d565b610a9f565b3480156105de57600080fd5b506104226105ed366004611bec565b610ae3565b3480156105fe57600080fd5b5061024b61060d366004611c26565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610422610653366004611d1d565b610c27565b34801561066457600080fd5b50610422610673366004611d01565b610c56565b34801561068457600080fd5b50610422610693366004611c26565b610c9d565b3480156106a457600080fd5b506104226106b3366004611d1d565b610cf0565b3480156106c457600080fd5b506104226106d3366004611bec565b610d42565b3480156106e457600080fd5b506102b96106f3366004611bec565b600b6020526000908152604090205460ff1681565b34801561071457600080fd5b50610422610723366004611bec565b610d8d565b34801561073457600080fd5b50610422610e23565b34801561074957600080fd5b50601554610369906001600160a01b031681565b34801561076957600080fd5b506102b9610778366004611bec565b610e86565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107d89086815260200190565b60405180910390a35060015b92915050565b6000826107f683610a9f565b119392505050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146108ab576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610886918490610ea4565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6108b6848484610ede565b90505b9392505050565b6003546001600160a01b031660009081526007602052604081205461090d906002546001600160a01b03166000908152600760205260409020546109079060045490611246565b90611246565b905090565b60006107e48260001961077d565b6000546001600160a01b031633146109535760405162461bcd60e51b815260040161094a90611e26565b60405180910390fd5b6103e86004546109639190611ef4565b81101561096f57600080fd5b600555565b61097d33610e86565b6109995760405162461bcd60e51b815260040161094a90611e46565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6109cd33610e86565b6109e95760405162461bcd60e51b815260040161094a90611e46565b600c849055600d839055600e829055610a0c82610a068686611288565b90611288565b600f55601055505050565b610a2033610e86565b610a3c5760405162461bcd60e51b815260040161094a90611e46565b601155565b60006108b9338484610ede565b6000546001600160a01b03163314610a785760405162461bcd60e51b815260040161094a90611e26565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b60006107e4610aac6108c0565b6016546001600160a01b0316600090815260076020526040902054610add90610ad69060026112e7565b85906112e7565b90611366565b610aec33610e86565b610b085760405162461bcd60e51b815260040161094a90611e46565b6001600160a01b038116301415610b6d5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161094a565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610baf57600080fd5b505afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be79190611d36565b6013546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c22573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610c515760405162461bcd60e51b815260040161094a90611e26565b601255565b610c5f33610e86565b610c7b5760405162461bcd60e51b815260040161094a90611e46565b60168054921515600160a01b0260ff60a01b1990931692909217909155601755565b610ca633610e86565b610cc25760405162461bcd60e51b815260040161094a90611e46565b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b815260040161094a90611e26565b610d266009600a611f59565b610d31906001612004565b811115610d3d57600080fd5b600655565b6000546001600160a01b03163314610d6c5760405162461bcd60e51b815260040161094a90611e26565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610db75760405162461bcd60e51b815260040161094a90611e26565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610e2c33610e86565b610e485760405162461bcd60e51b815260040161094a90611e46565b60135460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e82573d6000803e3d6000fd5b5050565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610ec85760405162461bcd60e51b815260040161094a9190611dd1565b506000610ed58486612023565b95945050505050565b60185460009060ff1615610efe57610ef78484846113a8565b90506108b9565b6016546001600160a01b03848116911614801590610f2a57506002546001600160a01b03848116911614155b15610fd5576001600160a01b03831660009081526009602052604090205460ff1680610f7b57506005546001600160a01b038416600090815260076020526040902054610f78908490611edc565b11155b610fd55760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161094a565b60165482906001600160a01b0386811691161415611076576001600160a01b03841660009081526009602052604090205460ff16611071576001600160a01b0384166000908152600b602052604090205460ff166110645760405162461bcd60e51b815260206004820152600c60248201526b139bdd081c9959995c9c995960a21b604482015260640161094a565b61106e848461148e565b90505b611149565b6016546001600160a01b03858116911614156110b6576001600160a01b03851660009081526009602052604090205460ff166110715761106e8584611620565b6001600160a01b0384166000908152600b602052604090205460ff16611149576006548310611149576001600160a01b038085166000818152600b60209081526040808320805460ff19166001179055600a9091528082208054948a166001600160a01b031990951685179055517f2c07cd45454a31c572d49686c5ec6fef884778b2cf441c7fd58f4bde0fa6400b9190a35b6111516116be565b1561115e5761115e611714565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600790915291909120546111b0918590610ea4565b6001600160a01b0380871660009081526007602052604080822093909355908616815220546111df9082611288565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a3506001949350505050565b60006108b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea4565b6000806112958385611edc565b9050838110156108b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161094a565b6000826112f6575060006107e4565b60006113028385612004565b90508261130f8583611ef4565b146108b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161094a565b60006108b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546113f9918490610ea4565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546114289083611288565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061147c9086815260200190565b60405180910390a35060019392505050565b600080601054836011546114a29190612004565b6114ac9190611ef4565b6012546001600160a01b038087166000908152600a602090815260408083205490931682526007905220549192501015611582576001600160a01b038085166000908152600a602090815260408083205490931682526007905220546115129082611288565b6001600160a01b038581166000818152600a602081815260408084208054871685526007835281852097909755928490529081529354905185815291939216917f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d7630910160405180910390a361160e565b6013546001600160a01b03166000908152600760205260409020546115a79082611288565b601380546001600160a01b0390811660009081526007602052604090819020939093559054915186821692909116907f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d7630906116059085815260200190565b60405180910390a35b6116188184612023565b949350505050565b60008061163e601054610add600f54866112e790919063ffffffff16565b3060009081526007602052604090205490915061165b9082611288565b30600081815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ac9085815260200190565b60405180910390a36116188382611246565b6016546000906001600160a01b031633148015906116df575060185460ff16155b80156116f45750601654600160a01b900460ff165b801561090d57505060175430600090815260076020526040902054101590565b6018805460ff1916600117905530600090815260076020526040812054905060006117556002610add600f54610add600c54876112e790919063ffffffff16565b905060006117638383611246565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061179d5761179d612050565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190611c09565b8160018151811061183c5761183c612050565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b81524792919091169063791ac94790611886908690600090879030904290600401611e6b565b600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b5050505060006118cd824761124690919063ffffffff16565b905060006118f36118ea6002600c5461136690919063ffffffff16565b600f5490611246565b905060006119156002610add84610add600c54886112e790919063ffffffff16565b9050600061193283610add600d54876112e790919063ffffffff16565b90506000816119418487612023565b61194b9190612023565b6013546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146119a2576040519150601f19603f3d011682016040523d82523d6000602084013e6119a7565b606091505b50509050806119f85760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161094a565b6014546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611a4a576040519150601f19603f3d011682016040523d82523d6000602084013e611a4f565b606091505b5050905080611aa05760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161094a565b611aaa8b86611af0565b50506018805460ff1916905550505050505050505050565b60008183611ae35760405162461bcd60e51b815260040161094a9190611dd1565b506000610ed58486611ef4565b8115610e825760155460405163f305d71960e01b8152306004820181905260248201859052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b158015611b5e57600080fd5b505af1158015611b72573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b979190611d71565b505060408051838152602081018590527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15050565b80358015158114611be757600080fd5b919050565b600060208284031215611bfe57600080fd5b81356108b981612066565b600060208284031215611c1b57600080fd5b81516108b981612066565b60008060408385031215611c3957600080fd5b8235611c4481612066565b91506020830135611c5481612066565b809150509250929050565b600080600060608486031215611c7457600080fd5b8335611c7f81612066565b92506020840135611c8f81612066565b929592945050506040919091013590565b60008060408385031215611cb357600080fd5b8235611cbe81612066565b9150611ccc60208401611bd7565b90509250929050565b60008060408385031215611ce857600080fd5b8235611cf381612066565b946020939093013593505050565b60008060408385031215611d1457600080fd5b611cf383611bd7565b600060208284031215611d2f57600080fd5b5035919050565b600060208284031215611d4857600080fd5b5051919050565b60008060408385031215611d6257600080fd5b50508035926020909101359150565b600080600060608486031215611d8657600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215611db557600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611dfe57858101830151858201604001528201611de2565b81811115611e10576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ebb5784516001600160a01b031683529383019391830191600101611e96565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611eef57611eef61203a565b500190565b600082611f1157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611f51578160001904821115611f3757611f3761203a565b80851615611f4457918102915b93841c9390800290611f1b565b509250929050565b60006108b960ff841683600082611f72575060016107e4565b81611f7f575060006107e4565b8160018114611f955760028114611f9f57611fbb565b60019150506107e4565b60ff841115611fb057611fb061203a565b50506001821b6107e4565b5060208310610133831016604e8410600b8410161715611fde575081810a6107e4565b611fe88383611f16565b8060001904821115611ffc57611ffc61203a565b029392505050565b600081600019048311821515161561201e5761201e61203a565b500290565b6000828210156120355761203561203a565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461207b57600080fd5b5056fea2646970667358221220745bed99bbba10463ebe739e8e88936d8d34f5a9fb9281665f8fd3c5579a533564736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063893d20e811610123578063de91b99e116100ab578063f0bc6cfb1161006f578063f0bc6cfb146106d8578063f2fde38b14610708578063f429389014610728578063f887ea401461073d578063fe9fbb801461075d57600080fd5b8063de91b99e14610638578063df20fd4914610658578063e66db25e14610678578063ea23a2b814610698578063f0b37c04146106b857600080fd5b8063a9059cbb116100f2578063a9059cbb14610572578063b6a5d7de14610592578063d51ed1c8146105b2578063dc93cf70146105d2578063dd62ed3e146105f257600080fd5b8063893d20e8146104f15780638f9a55c01461050f57806395d89b4114610525578063a8aa1b311461055257600080fd5b8063313ce567116101b15780636ddd1713116101755780636ddd1713146104445780636fcba3771461046557806370a0823114610485578063713494d7146104bb57806371d0979b146104db57600080fd5b8063313ce567146103b0578063571ac8b0146103cc5780635acbdedb146103ec5780635d0044ca14610402578063658d4b7f1461042457600080fd5b806318160ddd116101f857806318160ddd146102e957806323b872dd146102fe5780632b112e491461031e5780632cf003c2146103335780632f54bf6e1461038157600080fd5b80630445b6671461023557806306fdde031461025e578063095ea7b3146102995780631161ae39146102c957600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024b60175481565b6040519081526020015b60405180910390f35b34801561026a57600080fd5b5060408051808201909152600981526852616262697444414f60b81b60208201525b6040516102559190611dd1565b3480156102a557600080fd5b506102b96102b4366004611cd5565b61077d565b6040519015158152602001610255565b3480156102d557600080fd5b506102b96102e4366004611d4f565b6107ea565b3480156102f557600080fd5b5060045461024b565b34801561030a57600080fd5b506102b9610319366004611c5f565b6107fe565b34801561032a57600080fd5b5061024b6108c0565b34801561033f57600080fd5b5061036961034e366004611bec565b600a602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610255565b34801561038d57600080fd5b506102b961039c366004611bec565b6000546001600160a01b0391821691161490565b3480156103bc57600080fd5b5060405160098152602001610255565b3480156103d857600080fd5b506102b96103e7366004611bec565b610912565b3480156103f857600080fd5b5061024b60125481565b34801561040e57600080fd5b5061042261041d366004611d1d565b610920565b005b34801561043057600080fd5b5061042261043f366004611ca0565b610974565b34801561045057600080fd5b506016546102b990600160a01b900460ff1681565b34801561047157600080fd5b50610422610480366004611d9f565b6109c4565b34801561049157600080fd5b5061024b6104a0366004611bec565b6001600160a01b031660009081526007602052604090205490565b3480156104c757600080fd5b506104226104d6366004611d1d565b610a17565b3480156104e757600080fd5b5061024b60065481565b3480156104fd57600080fd5b506000546001600160a01b0316610369565b34801561051b57600080fd5b5061024b60055481565b34801561053157600080fd5b506040805180820190915260048152635244414f60e01b602082015261028c565b34801561055e57600080fd5b50601654610369906001600160a01b031681565b34801561057e57600080fd5b506102b961058d366004611cd5565b610a41565b34801561059e57600080fd5b506104226105ad366004611bec565b610a4e565b3480156105be57600080fd5b5061024b6105cd366004611d1d565b610a9f565b3480156105de57600080fd5b506104226105ed366004611bec565b610ae3565b3480156105fe57600080fd5b5061024b61060d366004611c26565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610422610653366004611d1d565b610c27565b34801561066457600080fd5b50610422610673366004611d01565b610c56565b34801561068457600080fd5b50610422610693366004611c26565b610c9d565b3480156106a457600080fd5b506104226106b3366004611d1d565b610cf0565b3480156106c457600080fd5b506104226106d3366004611bec565b610d42565b3480156106e457600080fd5b506102b96106f3366004611bec565b600b6020526000908152604090205460ff1681565b34801561071457600080fd5b50610422610723366004611bec565b610d8d565b34801561073457600080fd5b50610422610e23565b34801561074957600080fd5b50601554610369906001600160a01b031681565b34801561076957600080fd5b506102b9610778366004611bec565b610e86565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107d89086815260200190565b60405180910390a35060015b92915050565b6000826107f683610a9f565b119392505050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146108ab576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610886918490610ea4565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6108b6848484610ede565b90505b9392505050565b6003546001600160a01b031660009081526007602052604081205461090d906002546001600160a01b03166000908152600760205260409020546109079060045490611246565b90611246565b905090565b60006107e48260001961077d565b6000546001600160a01b031633146109535760405162461bcd60e51b815260040161094a90611e26565b60405180910390fd5b6103e86004546109639190611ef4565b81101561096f57600080fd5b600555565b61097d33610e86565b6109995760405162461bcd60e51b815260040161094a90611e46565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6109cd33610e86565b6109e95760405162461bcd60e51b815260040161094a90611e46565b600c849055600d839055600e829055610a0c82610a068686611288565b90611288565b600f55601055505050565b610a2033610e86565b610a3c5760405162461bcd60e51b815260040161094a90611e46565b601155565b60006108b9338484610ede565b6000546001600160a01b03163314610a785760405162461bcd60e51b815260040161094a90611e26565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b60006107e4610aac6108c0565b6016546001600160a01b0316600090815260076020526040902054610add90610ad69060026112e7565b85906112e7565b90611366565b610aec33610e86565b610b085760405162461bcd60e51b815260040161094a90611e46565b6001600160a01b038116301415610b6d5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b606482015260840161094a565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610baf57600080fd5b505afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be79190611d36565b6013546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610c22573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610c515760405162461bcd60e51b815260040161094a90611e26565b601255565b610c5f33610e86565b610c7b5760405162461bcd60e51b815260040161094a90611e46565b60168054921515600160a01b0260ff60a01b1990931692909217909155601755565b610ca633610e86565b610cc25760405162461bcd60e51b815260040161094a90611e46565b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b815260040161094a90611e26565b610d266009600a611f59565b610d31906001612004565b811115610d3d57600080fd5b600655565b6000546001600160a01b03163314610d6c5760405162461bcd60e51b815260040161094a90611e26565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610db75760405162461bcd60e51b815260040161094a90611e26565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610e2c33610e86565b610e485760405162461bcd60e51b815260040161094a90611e46565b60135460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610e82573d6000803e3d6000fd5b5050565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610ec85760405162461bcd60e51b815260040161094a9190611dd1565b506000610ed58486612023565b95945050505050565b60185460009060ff1615610efe57610ef78484846113a8565b90506108b9565b6016546001600160a01b03848116911614801590610f2a57506002546001600160a01b03848116911614155b15610fd5576001600160a01b03831660009081526009602052604090205460ff1680610f7b57506005546001600160a01b038416600090815260076020526040902054610f78908490611edc565b11155b610fd55760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161094a565b60165482906001600160a01b0386811691161415611076576001600160a01b03841660009081526009602052604090205460ff16611071576001600160a01b0384166000908152600b602052604090205460ff166110645760405162461bcd60e51b815260206004820152600c60248201526b139bdd081c9959995c9c995960a21b604482015260640161094a565b61106e848461148e565b90505b611149565b6016546001600160a01b03858116911614156110b6576001600160a01b03851660009081526009602052604090205460ff166110715761106e8584611620565b6001600160a01b0384166000908152600b602052604090205460ff16611149576006548310611149576001600160a01b038085166000818152600b60209081526040808320805460ff19166001179055600a9091528082208054948a166001600160a01b031990951685179055517f2c07cd45454a31c572d49686c5ec6fef884778b2cf441c7fd58f4bde0fa6400b9190a35b6111516116be565b1561115e5761115e611714565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600790915291909120546111b0918590610ea4565b6001600160a01b0380871660009081526007602052604080822093909355908616815220546111df9082611288565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a3506001949350505050565b60006108b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea4565b6000806112958385611edc565b9050838110156108b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161094a565b6000826112f6575060006107e4565b60006113028385612004565b90508261130f8583611ef4565b146108b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161094a565b60006108b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ac2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526007909152918220546113f9918490610ea4565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546114289083611288565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061147c9086815260200190565b60405180910390a35060019392505050565b600080601054836011546114a29190612004565b6114ac9190611ef4565b6012546001600160a01b038087166000908152600a602090815260408083205490931682526007905220549192501015611582576001600160a01b038085166000908152600a602090815260408083205490931682526007905220546115129082611288565b6001600160a01b038581166000818152600a602081815260408084208054871685526007835281852097909755928490529081529354905185815291939216917f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d7630910160405180910390a361160e565b6013546001600160a01b03166000908152600760205260409020546115a79082611288565b601380546001600160a01b0390811660009081526007602052604090819020939093559054915186821692909116907f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d7630906116059085815260200190565b60405180910390a35b6116188184612023565b949350505050565b60008061163e601054610add600f54866112e790919063ffffffff16565b3060009081526007602052604090205490915061165b9082611288565b30600081815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ac9085815260200190565b60405180910390a36116188382611246565b6016546000906001600160a01b031633148015906116df575060185460ff16155b80156116f45750601654600160a01b900460ff165b801561090d57505060175430600090815260076020526040902054101590565b6018805460ff1916600117905530600090815260076020526040812054905060006117556002610add600f54610add600c54876112e790919063ffffffff16565b905060006117638383611246565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061179d5761179d612050565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190611c09565b8160018151811061183c5761183c612050565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b81524792919091169063791ac94790611886908690600090879030904290600401611e6b565b600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b5050505060006118cd824761124690919063ffffffff16565b905060006118f36118ea6002600c5461136690919063ffffffff16565b600f5490611246565b905060006119156002610add84610add600c54886112e790919063ffffffff16565b9050600061193283610add600d54876112e790919063ffffffff16565b90506000816119418487612023565b61194b9190612023565b6013546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146119a2576040519150601f19603f3d011682016040523d82523d6000602084013e6119a7565b606091505b50509050806119f85760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161094a565b6014546040516000916001600160a01b03169061753090869084818181858888f193505050503d8060008114611a4a576040519150601f19603f3d011682016040523d82523d6000602084013e611a4f565b606091505b5050905080611aa05760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161094a565b611aaa8b86611af0565b50506018805460ff1916905550505050505050505050565b60008183611ae35760405162461bcd60e51b815260040161094a9190611dd1565b506000610ed58486611ef4565b8115610e825760155460405163f305d71960e01b8152306004820181905260248201859052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b158015611b5e57600080fd5b505af1158015611b72573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b979190611d71565b505060408051838152602081018590527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15050565b80358015158114611be757600080fd5b919050565b600060208284031215611bfe57600080fd5b81356108b981612066565b600060208284031215611c1b57600080fd5b81516108b981612066565b60008060408385031215611c3957600080fd5b8235611c4481612066565b91506020830135611c5481612066565b809150509250929050565b600080600060608486031215611c7457600080fd5b8335611c7f81612066565b92506020840135611c8f81612066565b929592945050506040919091013590565b60008060408385031215611cb357600080fd5b8235611cbe81612066565b9150611ccc60208401611bd7565b90509250929050565b60008060408385031215611ce857600080fd5b8235611cf381612066565b946020939093013593505050565b60008060408385031215611d1457600080fd5b611cf383611bd7565b600060208284031215611d2f57600080fd5b5035919050565b600060208284031215611d4857600080fd5b5051919050565b60008060408385031215611d6257600080fd5b50508035926020909101359150565b600080600060608486031215611d8657600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215611db557600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015611dfe57858101830151858201604001528201611de2565b81811115611e10576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ebb5784516001600160a01b031683529383019391830191600101611e96565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611eef57611eef61203a565b500190565b600082611f1157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611f51578160001904821115611f3757611f3761203a565b80851615611f4457918102915b93841c9390800290611f1b565b509250929050565b60006108b960ff841683600082611f72575060016107e4565b81611f7f575060006107e4565b8160018114611f955760028114611f9f57611fbb565b60019150506107e4565b60ff841115611fb057611fb061203a565b50506001821b6107e4565b5060208310610133831016604e8410600b8410161715611fde575081810a6107e4565b611fe88383611f16565b8060001904821115611ffc57611ffc61203a565b029392505050565b600081600019048311821515161561201e5761201e61203a565b500290565b6000828210156120355761203561203a565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461207b57600080fd5b5056fea2646970667358221220745bed99bbba10463ebe739e8e88936d8d34f5a9fb9281665f8fd3c5579a533564736f6c63430008070033

Deployed Bytecode Sourcemap

5128:11432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6457:54;;;;;;;;;;;;;;;;;;;9382:25:1;;;9370:2;9355:18;6457:54:0;;;;;;;;7698:80;;;;;;;;;;-1:-1:-1;7770:5:0;;;;;;;;;;;;-1:-1:-1;;;7770:5:0;;;;7698:80;;;;;;;:::i;8120:216::-;;;;;;;;;;-1:-1:-1;8120:216:0;;;;;:::i;:::-;;:::i;:::-;;;5433:14:1;;5426:22;5408:41;;5396:2;5381:18;8120:216:0;5268:187:1;16339:150:0;;;;;;;;;;-1:-1:-1;16339:150:0;;;;;:::i;:::-;;:::i;7428:88::-;;;;;;;;;;-1:-1:-1;7501:12:0;;7428:88;;8638:370;;;;;;;;;;-1:-1:-1;8638:370:0;;;;;:::i;:::-;;:::i;16014:142::-;;;;;;;;;;;;;:::i;5811:44::-;;;;;;;;;;-1:-1:-1;5811:44:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5811:44:0;;;;;;-1:-1:-1;;;;;4396:32:1;;;4378:51;;4366:2;4351:18;5811:44:0;4232:203:1;3185:103:0;;;;;;;;;;-1:-1:-1;3185:103:0;;;;;:::i;:::-;3240:4;3275:5;-1:-1:-1;;;;;3264:16:0;;;3275:5;;3264:16;;3185:103;7522:80;;;;;;;;;;-1:-1:-1;7522:80:0;;5443:1;10798:36:1;;10786:2;10771:18;7522:80:0;10656:184:1;8344:122:0;;;;;;;;;;-1:-1:-1;8344:122:0;;;;;:::i;:::-;;:::i;6101:69::-;;;;;;;;;;;;;;;;14065:151;;;;;;;;;;-1:-1:-1;14065:151:0;;;;;:::i;:::-;;:::i;:::-;;14543:120;;;;;;;;;;-1:-1:-1;14543:120:0;;;;;:::i;:::-;;:::i;6420:30::-;;;;;;;;;;-1:-1:-1;6420:30:0;;;;-1:-1:-1;;;6420:30:0;;;;;;14778:348;;;;;;;;;;-1:-1:-1;14778:348:0;;;;;:::i;:::-;;:::i;7868:105::-;;;;;;;;;;-1:-1:-1;7868:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;7952:18:0;7934:7;7952:18;;;:9;:18;;;;;;;7868:105;14671:99;;;;;;;;;;-1:-1:-1;14671:99:0;;;;;:::i;:::-;;:::i;5576:62::-;;;;;;;;;;;;;;;;7784:78;;;;;;;;;;-1:-1:-1;7836:7:0;7854:5;-1:-1:-1;;;;;7854:5:0;7784:78;;5512:56;;;;;;;;;;;;;;;;7608:84;;;;;;;;;;-1:-1:-1;7682:7:0;;;;;;;;;;;;-1:-1:-1;;;7682:7:0;;;;7608:84;;6392:19;;;;;;;;;;-1:-1:-1;6392:19:0;;;;-1:-1:-1;;;;;6392:19:0;;;8474:156;;;;;;;;;;-1:-1:-1;8474:156:0;;;;;:::i;:::-;;:::i;2978:94::-;;;;;;;;;;-1:-1:-1;2978:94:0;;;;;:::i;:::-;;:::i;16164:167::-;;;;;;;;;;-1:-1:-1;16164:167:0;;;;;:::i;:::-;;:::i;15700:298::-;;;;;;;;;;-1:-1:-1;15700:298:0;;;;;:::i;:::-;;:::i;7979:133::-;;;;;;;;;;-1:-1:-1;7979:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8081:19:0;;;8063:7;8081:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7979:133;14227:127;;;;;;;;;;-1:-1:-1;14227:127:0;;;;;:::i;:::-;;:::i;15348:156::-;;;;;;;;;;-1:-1:-1;15348:156:0;;;;;:::i;:::-;;:::i;15134:206::-;;;;;;;;;;-1:-1:-1;15134:206:0;;;;;:::i;:::-;;:::i;14363:172::-;;;;;;;;;;-1:-1:-1;14363:172:0;;;;;:::i;:::-;;:::i;3080:97::-;;;;;;;;;;-1:-1:-1;3080:97:0;;;;;:::i;:::-;;:::i;5863:42::-;;;;;;;;;;-1:-1:-1;5863:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3411:173;;;;;;;;;;-1:-1:-1;3411:173:0;;;;;:::i;:::-;;:::i;15512:180::-;;;;;;;;;;;;;:::i;6355:30::-;;;;;;;;;;-1:-1:-1;6355:30:0;;;;-1:-1:-1;;;;;6355:30:0;;;3296:107;;;;;;;;;;-1:-1:-1;3296:107:0;;;;;:::i;:::-;;:::i;8120:216::-;8224:10;8195:4;8212:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8212:32:0;;;;;;;;;;:41;;;8269:37;8195:4;;8212:32;;8269:37;;;;8247:6;9382:25:1;;9370:2;9355:18;;9236:177;8269:37:0;;;;;;;;-1:-1:-1;8324:4:0;8120:216;;;;;:::o;16339:150::-;16419:4;16475:6;16443:29;16463:8;16443:19;:29::i;:::-;:38;;16339:150;-1:-1:-1;;;16339:150:0:o;8638:370::-;-1:-1:-1;;;;;8758:19:0;;8738:4;8758:19;;;:11;:19;;;;;;;;8778:10;8758:31;;;;;;;;-1:-1:-1;;8758:52:0;8755:186;;8860:69;;;;;;;;;;;-1:-1:-1;;;8860:69:0;;;;;;;;-1:-1:-1;;;;;8860:19:0;;-1:-1:-1;8860:19:0;;;:11;:19;;;;;8880:10;8860:31;;;;;;;;;;:69;;8896:6;;8860:35;:69::i;:::-;-1:-1:-1;;;;;8826:19:0;;;;;;:11;:19;;;;;;;;8846:10;8826:31;;;;;;;:103;8755:186;8960:40;8974:6;8982:9;8993:6;8960:13;:40::i;:::-;8953:47;;8638:370;;;;;;:::o;16014:142::-;16142:4;;-1:-1:-1;;;;;16142:4:0;16067:7;7952:18;;;:9;:18;;;;;;16094:54;;16121:4;;-1:-1:-1;;;;;16121:4:0;7934:7;7952:18;;;:9;:18;;;;;;16094:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;16087:61;;16014:142;:::o;8344:122::-;8399:4;8423:35;8431:7;-1:-1:-1;;8423:7:0;:35::i;14065:151::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;;;;;;;;;14168:4:::1;14153:12;;:19;;;;:::i;:::-;14143:6;:29;;14135:39;;;::::0;::::1;;14185:14;:23:::0;14065:151::o;14543:120::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14627:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;14627:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14543:120::o;14778:348::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;14914:12:::1;:28:::0;;;14953:6:::1;:16:::0;;;14980:12:::1;:28:::0;;;15030:45:::1;14995:13:::0;15030:26:::1;14929:13:::0;14962:7;15030:17:::1;:26::i;:::-;:30:::0;::::1;:45::i;:::-;15019:8;:56:::0;15086:14:::1;:32:::0;-1:-1:-1;;;14778:348:0:o;14671:99::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;14742:11:::1;:20:::0;14671:99::o;8474:156::-;8554:4;8578:44;8592:10;8604:9;8615:6;8578:13;:44::i;2978:94::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3038:19:0::1;;::::0;;;3060:4:::1;3038:19;::::0;;;;;;;:26;;-1:-1:-1;;3038:26:0::1;::::0;;::::1;::::0;;2978:94::o;16164:167::-;16232:7;16259:64;16300:22;:20;:22::i;:::-;16282:4;;-1:-1:-1;;;;;16282:4:0;7934:7;7952:18;;;:9;:18;;;;;;16259:36;;16272:22;;16292:1;16272:19;:22::i;:::-;16259:8;;:12;:36::i;:::-;:40;;:64::i;15700:298::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15783:23:0;::::1;15801:4;15783:23;;15775:71;;;::::0;-1:-1:-1;;;15775:71:0;;6902:2:1;15775:71:0::1;::::0;::::1;6884:21:1::0;6941:2;6921:18;;;6914:30;6980:34;6960:18;;;6953:62;-1:-1:-1;;;7031:18:1;;;7024:33;7074:19;;15775:71:0::1;6700:399:1::0;15775:71:0::1;15884:39;::::0;-1:-1:-1;;;15884:39:0;;15917:4:::1;15884:39;::::0;::::1;4378:51:1::0;15857:24:0::1;::::0;-1:-1:-1;;;;;15884:24:0;::::1;::::0;::::1;::::0;4351:18:1;;15884:39:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15942:20;::::0;15934:56:::1;::::0;15857:66;;-1:-1:-1;;;;;;15942:20:0::1;::::0;15934:56;::::1;;;::::0;15857:66;;15942:20:::1;15934:56:::0;15942:20;15934:56;15857:66;15942:20;15934:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15764:234;15700:298:::0;:::o;14227:127::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;14311:26:::1;:35:::0;14227:127::o;15348:156::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;15440:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;15440:22:0::1;-1:-1:-1::0;;;;15440:22:0;;::::1;::::0;;;::::1;::::0;;;15473:13:::1;:23:::0;15348:156::o;15134:206::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;15245:20:::1;:44:::0;;-1:-1:-1;;;;;15245:44:0;;::::1;-1:-1:-1::0;;;;;;15245:44:0;;::::1;;::::0;;;15300:14:::1;:32:::0;;;;;::::1;::::0;::::1;;::::0;;15134:206::o;14363:172::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;14467:13:::1;5443:1;14467:2;:13;:::i;:::-;14464:17;::::0;:1:::1;:17;:::i;:::-;14454:6;:27;;14446:37;;;::::0;::::1;;14494:23;:32:::0;14363:172::o;3080:97::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3142:19:0::1;3164:5;3142:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3142:27:0::1;::::0;;3080:97::o;3411:173::-;3240:4;3275:5;-1:-1:-1;;;;;3275:5:0;2837:10;3264:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;3487:5:::1;:11:::0;;-1:-1:-1;;;;;;3487:11:0::1;-1:-1:-1::0;;;;;3487:11:0;::::1;::::0;;::::1;::::0;;3509:19;;;-1:-1:-1;3509:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3509:26:0::1;::::0;;::::1;::::0;;;3551:25;;4378:51:1;;;3551:25:0::1;::::0;4351:18:1;3551:25:0::1;;;;;;;3411:173:::0;:::o;15512:180::-;2919:24;2932:10;2919:12;:24::i;:::-;2911:48;;;;-1:-1:-1;;;2911:48:0;;;;;;;:::i;:::-;15634:20:::1;::::0;15626:58:::1;::::0;15594:21:::1;::::0;-1:-1:-1;;;;;15634:20:0::1;::::0;15626:58;::::1;;;::::0;15594:21;;15565:26:::1;15626:58:::0;15565:26;15626:58;15594:21;15634:20;15626:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15554:138;15512:180::o:0;3296:107::-;-1:-1:-1;;;;;3376:19:0;3352:4;3376:19;;;:14;:19;;;;;;;;;3296:107::o;705:192::-;791:7;827:12;819:6;;;;811:29;;;;-1:-1:-1;;;811:29:0;;;;;;;;:::i;:::-;-1:-1:-1;851:9:0;863:5;867:1;863;:5;:::i;:::-;851:17;705:192;-1:-1:-1;;;;;705:192:0:o;9016:1413::-;9128:6;;9108:4;;9128:6;;9125:63;;;9144:41;9159:6;9167:9;9178:6;9144:14;:41::i;:::-;9137:48;;;;9125:63;9221:4;;-1:-1:-1;;;;;9208:17:0;;;9221:4;;9208:17;;;;:38;;-1:-1:-1;9242:4:0;;-1:-1:-1;;;;;9229:17:0;;;9242:4;;9229:17;;9208:38;9204:194;;;-1:-1:-1;;;;;9271:22:0;;;;;;:11;:22;;;;;;;;;:73;;-1:-1:-1;9330:14:0;;-1:-1:-1;;;;;9297:20:0;;;;;;:9;:20;;;;;;:29;;9320:6;;9297:29;:::i;:::-;:47;;9271:73;9263:123;;;;-1:-1:-1;;;9263:123:0;;6496:2:1;9263:123:0;;;6478:21:1;6535:2;6515:18;;;6508:30;6574:34;6554:18;;;6547:62;-1:-1:-1;;;6625:18:1;;;6618:35;6670:19;;9263:123:0;6294:401:1;9263:123:0;9476:4;;9435:6;;-1:-1:-1;;;;;9466:14:0;;;9476:4;;9466:14;9463:660;;;-1:-1:-1;;;;;9507:22:0;;;;;;:11;:22;;;;;;;;9503:178;;-1:-1:-1;;;;;9558:21:0;;;;;;:10;:21;;;;;;;;9550:45;;;;-1:-1:-1;;;9550:45:0;;8021:2:1;9550:45:0;;;8003:21:1;8060:2;8040:18;;;8033:30;-1:-1:-1;;;8079:18:1;;;8072:42;8131:18;;9550:45:0;7819:336:1;9550:45:0;9631:34;9648:9;9658:6;9631:16;:34::i;:::-;9614:51;;9503:178;9463:660;;;9716:4;;-1:-1:-1;;;;;9703:17:0;;;9716:4;;9703:17;9700:423;;;-1:-1:-1;;;;;11512:19:0;;11487:4;11512:19;;;:11;:19;;;;;;;;9744:101;;9806:23;9814:6;9822;9806:7;:23::i;9700:423::-;-1:-1:-1;;;;;9869:21:0;;;;;;:10;:21;;;;;;;;9866:257;;9927:23;;9917:6;:33;9914:198;;-1:-1:-1;;;;;9971:21:0;;;;;;;:10;:21;;;;;;;;:28;;-1:-1:-1;;9971:28:0;9995:4;9971:28;;;10018:8;:19;;;;;;:28;;;;;-1:-1:-1;;;;;;10018:28:0;;;;;;;10070:26;;;9971:21;10070:26;9914:198;10147:16;:14;:16::i;:::-;10144:35;;;10166:10;:8;:10::i;:::-;10211:53;;;;;;;;;;;-1:-1:-1;;;10211:53:0;;;;;;;;-1:-1:-1;;;;;10211:17:0;;-1:-1:-1;10211:17:0;;;:9;:17;;;;;;;;:53;;10233:6;;10211:21;:53::i;:::-;-1:-1:-1;;;;;10191:17:0;;;;;;;:9;:17;;;;;;:73;;;;10298:20;;;;;;;:40;;10323:14;10298:24;:40::i;:::-;-1:-1:-1;;;;;10275:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10356:43;;;;;;;;;;10384:14;9382:25:1;;9370:2;9355:18;;9236:177;10356:43:0;;;;;;;;-1:-1:-1;10417:4:0;;9016:1413;-1:-1:-1;;;;9016:1413:0:o;563:136::-;621:7;648:43;652:1;655;648:43;;;;;;;;;;;;;;;;;:3;:43::i;376:181::-;434:7;;466:5;470:1;466;:5;:::i;:::-;454:17;;495:1;490;:6;;482:46;;;;-1:-1:-1;;;482:46:0;;7306:2:1;482:46:0;;;7288:21:1;7345:2;7325:18;;;7318:30;7384:29;7364:18;;;7357:57;7431:18;;482:46:0;7104:351:1;903:250:0;961:7;985:6;981:47;;-1:-1:-1;1015:1:0;1008:8;;981:47;1040:9;1052:5;1056:1;1052;:5;:::i;:::-;1040:17;-1:-1:-1;1085:1:0;1076:5;1080:1;1040:17;1076:5;:::i;:::-;:10;1068:56;;;;-1:-1:-1;;;1068:56:0;;8362:2:1;1068:56:0;;;8344:21:1;8401:2;8381:18;;;8374:30;8440:34;8420:18;;;8413:62;-1:-1:-1;;;8491:18:1;;;8484:31;8532:19;;1068:56:0;8160:397:1;1159:132:0;1217:7;1244:39;1248:1;1251;1244:39;;;;;;;;;;;;;;;;;:3;:39::i;10441:330::-;10571:53;;;;;;;;;;;-1:-1:-1;;;10571:53:0;;;;;;;;-1:-1:-1;;;;;10571:17:0;;10534:4;10571:17;;;:9;:17;;;;;;;:53;;10593:6;;10571:21;:53::i;:::-;-1:-1:-1;;;;;10551:17:0;;;;;;;:9;:17;;;;;;:73;;;;10658:20;;;;;;;:32;;10683:6;10658:24;:32::i;:::-;-1:-1:-1;;;;;10635:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10706:35;;;;;;;;;;10734:6;9382:25:1;;9370:2;9355:18;;9236:177;10706:35:0;;;;;;;;-1:-1:-1;10759:4:0;10441:330;;;;;:::o;10779:634::-;10851:4;10868:22;10916:14;;10907:6;10893:11;;:20;;;;:::i;:::-;:37;;;;:::i;:::-;10972:26;;-1:-1:-1;;;;;10954:14:0;;;10944:25;10954:14;;;:8;:14;;;;;;;;;;;;10944:25;;:9;:25;;;;10868:62;;-1:-1:-1;;10941:422:0;;;-1:-1:-1;;;;;11053:14:0;;;11043:25;11053:14;;;:8;:14;;;;;;;;;;;;11043:25;;:9;:25;;;;:45;;11073:14;11043:29;:45::i;:::-;-1:-1:-1;;;;;11025:14:0;;;11015:25;11025:14;;;:8;:14;;;;;;;;;;;;11015:25;;:9;:25;;;;;:73;;;;11122:14;;;;;;;;;11108:49;;9382:25:1;;;11025:14:0;;11122;;;11108:49;;9355:18:1;11108:49:0;;;;;;;10941:422;;;11235:20;;-1:-1:-1;;;;;11235:20:0;11225:31;;;;:9;:31;;;;;;:51;;11261:14;11225:35;:51::i;:::-;11201:20;;;-1:-1:-1;;;;;11201:20:0;;;11191:31;;;;:9;:31;;;;;;;:85;;;;11310:20;;11296:55;;;;;;11310:20;;;;11296:55;;;;11336:14;9382:25:1;;9370:2;9355:18;;9236:177;11296:55:0;;;;;;;;10941:422;11382:23;11391:14;11382:6;:23;:::i;:::-;11375:30;10779:634;-1:-1:-1;;;;10779:634:0:o;11547:333::-;11614:7;11634:17;11654:40;11679:14;;11654:20;11665:8;;11654:6;:10;;:20;;;;:::i;:40::-;11752:4;11734:24;;;;:9;:24;;;;;;11634:60;;-1:-1:-1;11734:39:0;;11634:60;11734:28;:39::i;:::-;11725:4;11707:24;;;;:9;:24;;;;;;;:66;;;;11789:42;;-1:-1:-1;;;;;11789:42:0;;;;;;;11821:9;9382:25:1;;9370:2;9355:18;;9236:177;11789:42:0;;;;;;;;11851:21;:6;11862:9;11851:10;:21::i;11888:197::-;11975:4;;11937;;-1:-1:-1;;;;;11975:4:0;11961:10;:18;;;;:38;;-1:-1:-1;11993:6:0;;;;11992:7;11961:38;:62;;;;-1:-1:-1;12012:11:0;;-1:-1:-1;;;12012:11:0;;;;11961:62;:116;;;;-1:-1:-1;;12064:13:0;;12054:4;12036:24;;;;:9;:24;;;;;;:41;;;11888:197::o;12093:1504::-;6568:6;:13;;-1:-1:-1;;6568:13:0;6577:4;6568:13;;;12191:4:::1;-1:-1:-1::0;7952:18:0;;;:9;:18;;;;;;12142:55:::1;;12208:23;12234:59;12291:1;12234:52;12277:8;;12234:38;12259:12;;12234:20;:24;;:38;;;;:::i;:59::-;12208:85:::0;-1:-1:-1;12304:20:0::1;12327:41;:20:::0;12208:85;12327:24:::1;:41::i;:::-;12405:16;::::0;;12419:1:::1;12405:16:::0;;;;;::::1;::::0;;12304:64;;-1:-1:-1;12381:21:0::1;::::0;12405:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12405:16:0::1;12381:40;;12450:4;12432;12437:1;12432:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12432:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12476:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12476:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12432:7;;12476:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12466:4;12471:1;12466:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12466:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12560:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12560:188:0;;12526:21:::1;::::0;12560:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12632:12;;12502:21:::1;::::0;12675:4;;12702::::1;::::0;12722:15:::1;::::0;12560:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12759:17;12779:40;12805:13;12779:21;:25;;:40;;;;:::i;:::-;12759:60;;12830:19;12852:33;12865:19;12882:1;12865:12;;:16;;:19;;;;:::i;:::-;12852:8;::::0;;:12:::1;:33::i;:::-;12830:55;;12896:26;12925:51;12974:1;12925:44;12957:11;12925:27;12939:12;;12925:9;:13;;:27;;;;:::i;:51::-;12896:80;;12987:20;13010:38;13036:11;13010:21;13024:6;;13010:9;:13;;:21;;;;:::i;:38::-;12987:61:::0;-1:-1:-1;13059:26:0::1;12987:61:::0;13088:30:::1;13100:18:::0;13088:9;:30:::1;:::i;:::-;:45;;;;:::i;:::-;13205:20;::::0;13197:77:::1;::::0;13059:74;;-1:-1:-1;13147:21:0::1;::::0;-1:-1:-1;;;;;13205:20:0;;::::1;::::0;13264:5:::1;::::0;13059:74;;13147:21;13197:77;13147:21;13197:77;13059:74;13205:20;13264:5;13197:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13146:128;;;13293:16;13285:59;;;::::0;-1:-1:-1;;;13285:59:0;;7662:2:1;13285:59:0::1;::::0;::::1;7644:21:1::0;7701:2;7681:18;;;7674:30;7740:32;7720:18;;;7713:60;7790:18;;13285:59:0::1;7460:354:1::0;13285:59:0::1;13408:14;::::0;13400:65:::1;::::0;13356:15:::1;::::0;-1:-1:-1;;;;;13408:14:0::1;::::0;13455:5:::1;::::0;13436:12;;13356:15;13400:65;13356:15;13400:65;13436:12;13408:14;13455:5;13400:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13355:110;;;13484:10;13476:53;;;::::0;-1:-1:-1;;;13476:53:0;;7662:2:1;13476:53:0::1;::::0;::::1;7644:21:1::0;7701:2;7681:18;;;7674:30;7740:32;7720:18;;;7713:60;7790:18;;13476:53:0::1;7460:354:1::0;13476:53:0::1;13540:49;13553:15;13570:18;13540:12;:49::i;:::-;-1:-1:-1::0;;6586:6:0;:14;;-1:-1:-1;;6586:14:0;;;-1:-1:-1;;;;;;;;;;12093:1504:0:o;1297:345::-;1383:7;1485:12;1478:5;1470:28;;;;-1:-1:-1;;;1470:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1509:9:0;1521:5;1525:1;1521;:5;:::i;13605:452::-;13689:15;;13686:364;;13724:6;;:251;;-1:-1:-1;;;13724:251:0;;13795:4;13724:251;;;4997:34:1;;;5047:18;;;5040:34;;;13724:6:0;5090:18:1;;;5083:34;;;5133:18;;;5126:34;5176:19;;;5169:44;13941:15:0;5229:19:1;;;5222:35;-1:-1:-1;;;;;13724:6:0;;;;:22;;13754:9;;4931:19:1;;13724:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;13999:35:0;;;10577:25:1;;;10633:2;10618:18;;10611:34;;;13999:35:0;;-1:-1:-1;10550:18:1;13999:35:0;;;;;;;13605:452;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;947:388::-;1015:6;1023;1076:2;1064:9;1055:7;1051:23;1047:32;1044:52;;;1092:1;1089;1082:12;1044:52;1131:9;1118:23;1150:31;1175:5;1150:31;:::i;:::-;1200:5;-1:-1:-1;1257:2:1;1242:18;;1229:32;1270:33;1229:32;1270:33;:::i;:::-;1322:7;1312:17;;;947:388;;;;;:::o;1340:456::-;1417:6;1425;1433;1486:2;1474:9;1465:7;1461:23;1457:32;1454:52;;;1502:1;1499;1492:12;1454:52;1541:9;1528:23;1560:31;1585:5;1560:31;:::i;:::-;1610:5;-1:-1:-1;1667:2:1;1652:18;;1639:32;1680:33;1639:32;1680:33;:::i;:::-;1340:456;;1732:7;;-1:-1:-1;;;1786:2:1;1771:18;;;;1758:32;;1340:456::o;1801:315::-;1866:6;1874;1927:2;1915:9;1906:7;1902:23;1898:32;1895:52;;;1943:1;1940;1933:12;1895:52;1982:9;1969:23;2001:31;2026:5;2001:31;:::i;:::-;2051:5;-1:-1:-1;2075:35:1;2106:2;2091:18;;2075:35;:::i;:::-;2065:45;;1801:315;;;;;:::o;2121:::-;2189:6;2197;2250:2;2238:9;2229:7;2225:23;2221:32;2218:52;;;2266:1;2263;2256:12;2218:52;2305:9;2292:23;2324:31;2349:5;2324:31;:::i;:::-;2374:5;2426:2;2411:18;;;;2398:32;;-1:-1:-1;;;2121:315:1:o;2441:248::-;2506:6;2514;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2606:26;2622:9;2606:26;:::i;2694:180::-;2753:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:52;;;2822:1;2819;2812:12;2774:52;-1:-1:-1;2845:23:1;;2694:180;-1:-1:-1;2694:180:1:o;2879:184::-;2949:6;3002:2;2990:9;2981:7;2977:23;2973:32;2970:52;;;3018:1;3015;3008:12;2970:52;-1:-1:-1;3041:16:1;;2879:184;-1:-1:-1;2879:184:1:o;3068:248::-;3136:6;3144;3197:2;3185:9;3176:7;3172:23;3168:32;3165:52;;;3213:1;3210;3203:12;3165:52;-1:-1:-1;;3236:23:1;;;3306:2;3291:18;;;3278:32;;-1:-1:-1;3068:248:1:o;3321:306::-;3409:6;3417;3425;3478:2;3466:9;3457:7;3453:23;3449:32;3446:52;;;3494:1;3491;3484:12;3446:52;3523:9;3517:16;3507:26;;3573:2;3562:9;3558:18;3552:25;3542:35;;3617:2;3606:9;3602:18;3596:25;3586:35;;3321:306;;;;;:::o;3632:385::-;3718:6;3726;3734;3742;3795:3;3783:9;3774:7;3770:23;3766:33;3763:53;;;3812:1;3809;3802:12;3763:53;-1:-1:-1;;3835:23:1;;;3905:2;3890:18;;3877:32;;-1:-1:-1;3956:2:1;3941:18;;3928:32;;4007:2;3992:18;3979:32;;-1:-1:-1;3632:385:1;-1:-1:-1;3632:385:1:o;5692:597::-;5804:4;5833:2;5862;5851:9;5844:21;5894:6;5888:13;5937:6;5932:2;5921:9;5917:18;5910:34;5962:1;5972:140;5986:6;5983:1;5980:13;5972:140;;;6081:14;;;6077:23;;6071:30;6047:17;;;6066:2;6043:26;6036:66;6001:10;;5972:140;;;6130:6;6127:1;6124:13;6121:91;;;6200:1;6195:2;6186:6;6175:9;6171:22;6167:31;6160:42;6121:91;-1:-1:-1;6273:2:1;6252:15;-1:-1:-1;;6248:29:1;6233:45;;;;6280:2;6229:54;;5692:597;-1:-1:-1;;;5692:597:1:o;8562:329::-;8764:2;8746:21;;;8803:1;8783:18;;;8776:29;-1:-1:-1;;;8836:2:1;8821:18;;8814:36;8882:2;8867:18;;8562:329::o;8896:335::-;9098:2;9080:21;;;9137:2;9117:18;;;9110:30;-1:-1:-1;;;9171:2:1;9156:18;;9149:41;9222:2;9207:18;;8896:335::o;9418:980::-;9680:4;9728:3;9717:9;9713:19;9759:6;9748:9;9741:25;9785:2;9823:6;9818:2;9807:9;9803:18;9796:34;9866:3;9861:2;9850:9;9846:18;9839:31;9890:6;9925;9919:13;9956:6;9948;9941:22;9994:3;9983:9;9979:19;9972:26;;10033:2;10025:6;10021:15;10007:29;;10054:1;10064:195;10078:6;10075:1;10072:13;10064:195;;;10143:13;;-1:-1:-1;;;;;10139:39:1;10127:52;;10234:15;;;;10199:12;;;;10175:1;10093:9;10064:195;;;-1:-1:-1;;;;;;;10315:32:1;;;;10310:2;10295:18;;10288:60;-1:-1:-1;;;10379:3:1;10364:19;10357:35;10276:3;9418:980;-1:-1:-1;;;9418:980:1:o;10845:128::-;10885:3;10916:1;10912:6;10909:1;10906:13;10903:39;;;10922:18;;:::i;:::-;-1:-1:-1;10958:9:1;;10845:128::o;10978:217::-;11018:1;11044;11034:132;;11088:10;11083:3;11079:20;11076:1;11069:31;11123:4;11120:1;11113:15;11151:4;11148:1;11141:15;11034:132;-1:-1:-1;11180:9:1;;10978:217::o;11200:422::-;11289:1;11332:5;11289:1;11346:270;11367:7;11357:8;11354:21;11346:270;;;11426:4;11422:1;11418:6;11414:17;11408:4;11405:27;11402:53;;;11435:18;;:::i;:::-;11485:7;11475:8;11471:22;11468:55;;;11505:16;;;;11468:55;11584:22;;;;11544:15;;;;11346:270;;;11350:3;11200:422;;;;;:::o;11627:140::-;11685:5;11714:47;11755:4;11745:8;11741:19;11735:4;11821:5;11851:8;11841:80;;-1:-1:-1;11892:1:1;11906:5;;11841:80;11940:4;11930:76;;-1:-1:-1;11977:1:1;11991:5;;11930:76;12022:4;12040:1;12035:59;;;;12108:1;12103:130;;;;12015:218;;12035:59;12065:1;12056:10;;12079:5;;;12103:130;12140:3;12130:8;12127:17;12124:43;;;12147:18;;:::i;:::-;-1:-1:-1;;12203:1:1;12189:16;;12218:5;;12015:218;;12317:2;12307:8;12304:16;12298:3;12292:4;12289:13;12285:36;12279:2;12269:8;12266:16;12261:2;12255:4;12252:12;12248:35;12245:77;12242:159;;;-1:-1:-1;12354:19:1;;;12386:5;;12242:159;12433:34;12458:8;12452:4;12433:34;:::i;:::-;12503:6;12499:1;12495:6;12491:19;12482:7;12479:32;12476:58;;;12514:18;;:::i;:::-;12552:20;;11772:806;-1:-1:-1;;;11772:806:1:o;12583:168::-;12623:7;12689:1;12685;12681:6;12677:14;12674:1;12671:21;12666:1;12659:9;12652:17;12648:45;12645:71;;;12696:18;;:::i;:::-;-1:-1:-1;12736:9:1;;12583:168::o;12756:125::-;12796:4;12824:1;12821;12818:8;12815:34;;;12829:18;;:::i;:::-;-1:-1:-1;12866:9:1;;12756:125::o;12886:127::-;12947:10;12942:3;12938:20;12935:1;12928:31;12978:4;12975:1;12968:15;13002:4;12999:1;12992:15;13018:127;13079:10;13074:3;13070:20;13067:1;13060:31;13110:4;13107:1;13100:15;13134:4;13131:1;13124:15;13282:131;-1:-1:-1;;;;;13357:31:1;;13347:42;;13337:70;;13403:1;13400;13393:12;13337:70;13282:131;:::o

Swarm Source

ipfs://745bed99bbba10463ebe739e8e88936d8d34f5a9fb9281665f8fd3c5579a5335

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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