ETH Price: $3,227.38 (-2.00%)
 

Overview

ETH Balance

0.130239114003089789 ETH

Eth Value

$420.33 (@ $3,227.38/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve153428312022-08-15 0:14:00892 days ago1660522440IN
0x3802Cea8...bF8A6F51e
0 ETH0.0004549618.32615314
Approve150895322022-07-06 14:40:36931 days ago1657118436IN
0x3802Cea8...bF8A6F51e
0 ETH0.002340249.67538072
Approve150883082022-07-06 10:11:22932 days ago1657102282IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006816914.47031851
Approve150883012022-07-06 10:10:34932 days ago1657102234IN
0x3802Cea8...bF8A6F51e
0 ETH0.0008371117.76936999
Approve150882942022-07-06 10:09:42932 days ago1657102182IN
0x3802Cea8...bF8A6F51e
0 ETH0.0008749718.5731048
Approve150882112022-07-06 9:52:09932 days ago1657101129IN
0x3802Cea8...bF8A6F51e
0 ETH0.0010298621.86093996
Approve150881472022-07-06 9:36:44932 days ago1657100204IN
0x3802Cea8...bF8A6F51e
0 ETH0.0009961621.14559428
Approve150881372022-07-06 9:35:11932 days ago1657100111IN
0x3802Cea8...bF8A6F51e
0 ETH0.0012881527.34365809
Approve150879202022-07-06 8:40:49932 days ago1657096849IN
0x3802Cea8...bF8A6F51e
0 ETH0.000618713.13321267
Approve150878402022-07-06 8:19:09932 days ago1657095549IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006199513.15969218
Approve150878382022-07-06 8:18:30932 days ago1657095510IN
0x3802Cea8...bF8A6F51e
0 ETH0.0005364511.38735965
Approve150878332022-07-06 8:18:01932 days ago1657095481IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006914314.67704698
Approve150878182022-07-06 8:15:36932 days ago1657095336IN
0x3802Cea8...bF8A6F51e
0 ETH0.0009163819.45199285
Approve150877742022-07-06 8:03:57932 days ago1657094637IN
0x3802Cea8...bF8A6F51e
0 ETH0.0013576328.99563117
Approve150877252022-07-06 7:49:39932 days ago1657093779IN
0x3802Cea8...bF8A6F51e
0 ETH0.000718515.25164625
Approve150876442022-07-06 7:32:04932 days ago1657092724IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006579713.96682173
Approve150875482022-07-06 7:14:41932 days ago1657091681IN
0x3802Cea8...bF8A6F51e
0 ETH0.0007276615.44598694
Approve150874452022-07-06 6:48:36932 days ago1657090116IN
0x3802Cea8...bF8A6F51e
0 ETH0.0005770512.24910739
Approve150874352022-07-06 6:46:59932 days ago1657090019IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006757914.34513453
Approve150874282022-07-06 6:45:56932 days ago1657089956IN
0x3802Cea8...bF8A6F51e
0 ETH0.0007384815.67580738
Approve150874132022-07-06 6:43:23932 days ago1657089803IN
0x3802Cea8...bF8A6F51e
0 ETH0.0005081910.78736067
Approve150873502022-07-06 6:31:51932 days ago1657089111IN
0x3802Cea8...bF8A6F51e
0 ETH0.0007580616.09132219
Approve150872702022-07-06 6:14:56932 days ago1657088096IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006220513.20439168
Approve150872112022-07-06 6:01:28932 days ago1657087288IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006497513.79224664
Approve150872072022-07-06 6:01:01932 days ago1657087261IN
0x3802Cea8...bF8A6F51e
0 ETH0.0006570513.9471552
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
153976602022-08-23 16:21:17883 days ago1661271677
0x3802Cea8...bF8A6F51e
0.00507886 ETH
153976602022-08-23 16:21:17883 days ago1661271677
0x3802Cea8...bF8A6F51e
0.02176213 ETH
153976602022-08-23 16:21:17883 days ago1661271677
0x3802Cea8...bF8A6F51e
0.04352426 ETH
153976602022-08-23 16:21:17883 days ago1661271677
0x3802Cea8...bF8A6F51e
0.07254043 ETH
152072022022-07-24 19:33:40913 days ago1658691220
0x3802Cea8...bF8A6F51e
0.00017825 ETH
152072022022-07-24 19:33:40913 days ago1658691220
0x3802Cea8...bF8A6F51e
0.00035651 ETH
152072022022-07-24 19:33:40913 days ago1658691220
0x3802Cea8...bF8A6F51e
0.00059418 ETH
152069352022-07-24 18:32:39913 days ago1658687559
0x3802Cea8...bF8A6F51e
0.00007784 ETH
152069352022-07-24 18:32:39913 days ago1658687559
0x3802Cea8...bF8A6F51e
0.00015568 ETH
152069352022-07-24 18:32:39913 days ago1658687559
0x3802Cea8...bF8A6F51e
0.00025947 ETH
151512392022-07-16 3:13:42922 days ago1657941222
0x3802Cea8...bF8A6F51e
0.0007812 ETH
151512392022-07-16 3:13:42922 days ago1657941222
0x3802Cea8...bF8A6F51e
0.00156241 ETH
151512392022-07-16 3:13:42922 days ago1657941222
0x3802Cea8...bF8A6F51e
0.00260403 ETH
151201392022-07-11 8:01:04927 days ago1657526464
0x3802Cea8...bF8A6F51e
0.00092083 ETH
151201392022-07-11 8:01:04927 days ago1657526464
0x3802Cea8...bF8A6F51e
0.00184166 ETH
151201392022-07-11 8:01:04927 days ago1657526464
0x3802Cea8...bF8A6F51e
0.00306944 ETH
151010912022-07-08 9:29:27930 days ago1657272567
0x3802Cea8...bF8A6F51e
0.0003601 ETH
151010912022-07-08 9:29:27930 days ago1657272567
0x3802Cea8...bF8A6F51e
0.00072021 ETH
151010912022-07-08 9:29:27930 days ago1657272567
0x3802Cea8...bF8A6F51e
0.00120035 ETH
150911182022-07-06 20:28:55931 days ago1657139335
0x3802Cea8...bF8A6F51e
0.00067236 ETH
150911182022-07-06 20:28:55931 days ago1657139335
0x3802Cea8...bF8A6F51e
0.00134473 ETH
150911182022-07-06 20:28:55931 days ago1657139335
0x3802Cea8...bF8A6F51e
0.00224123 ETH
150895952022-07-06 14:53:57931 days ago1657119237
0x3802Cea8...bF8A6F51e
0.00048022 ETH
150895952022-07-06 14:53:57931 days ago1657119237
0x3802Cea8...bF8A6F51e
0.00096044 ETH
150895952022-07-06 14:53:57931 days ago1657119237
0x3802Cea8...bF8A6F51e
0.00160074 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Ducker

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

Entry: https://t.me/DuckerBurnEntry
Twitter : https://twitter.com/DuckerBurn
Medium: https://medium.com/@DuckerBurn

*/
//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 IBEP20 {
    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;
    }




    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }




    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }




    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }




    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }




    event OwnershipTransferred(address owner);
}


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

interface IDEXRouter {
    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 Ducker is IBEP20, Auth {
    using SafeMath for uint256;

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

    string constant _name = "DuckerBurn";
    string constant _symbol = "Crispy";
    uint8 constant _decimals = 18;

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

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 2;
    uint256 marketingFee = 3;
    uint256 totalFee = 5;
    uint256 feeDenominator = 100;
    
    address private marketingReceiver = 0xd72251F732eaE3eA1C2f651e36EAEA602647405B;

    IDEXRouter public router;
    address public pair;
    uint256 public launchedAt;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000000 * 1; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

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




        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_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); }
        
        checkTxLimit(sender, amount);
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); }




        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }




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




        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _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 checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    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] = 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 amountETHMarket = amountETH.mul(marketingFee).div(totalETHFee);




        (bool OPSuccess, /* bytes memory data */) = payable(marketingReceiver).call{value: amountETHMarket, gas: 30000}("");
        require(OPSuccess, "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 buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WETH;
        path[1] = address(this);




        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }




    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }




    function launch() internal {
        launchedAt = block.number;
    }




    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }




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




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




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




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




    function setFeeReceiver(address _marketingReceiver) external authorized {
        marketingReceiver = _marketingReceiver;
    }




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



    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

[{"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":"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":[{"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":[],"name":"launchedAt","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":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","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":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","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":"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"}]

608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ee91906200081a565b6305f5e100620000ff919062000957565b6005556064600260055462000115919062000957565b62000121919062000787565b6006556064600260055462000137919062000957565b62000143919062000787565b6007556002600c556003600d556005600e556064600f5573d72251f732eae3ea1c2f651e36eaea602647405b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601460006101000a81548160ff0219169083151502179055506001620f4240600554620001df919062000787565b620001eb919062000957565b601555348015620001fb57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035357600080fd5b505afa15801562000368573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038e9190620006e9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620003ec9291906200073d565b602060405180830381600087803b1580156200040757600080fd5b505af11580156200041c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004429190620006e9565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620006c391906200076a565b60405180910390a35062000a8d565b600081519050620006e38162000a73565b92915050565b60006020828403121562000702576200070162000a61565b5b60006200071284828501620006d2565b91505092915050565b6200072681620009b8565b82525050565b6200073781620009ec565b82525050565b60006040820190506200075460008301856200071b565b6200076360208301846200071b565b9392505050565b60006020820190506200078160008301846200072c565b92915050565b60006200079482620009ec565b9150620007a183620009ec565b925082620007b457620007b362000a32565b5b828204905092915050565b6000808291508390505b60018511156200081157808604811115620007e957620007e862000a03565b5b6001851615620007f95780820291505b8081029050620008098562000a66565b9450620007c9565b94509492505050565b60006200082782620009ec565b91506200083483620009f6565b9250620008637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200086b565b905092915050565b6000826200087d576001905062000950565b816200088d576000905062000950565b8160018114620008a65760028114620008b157620008e7565b600191505062000950565b60ff841115620008c657620008c562000a03565b5b8360020a915084821115620008e057620008df62000a03565b5b5062000950565b5060208310610133831016604e8410600b8410161715620009215782820a9050838111156200091b576200091a62000a03565b5b62000950565b620009308484846001620007bf565b925090508184048111156200094a576200094962000a03565b5b81810290505b9392505050565b60006200096482620009ec565b91506200097183620009ec565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009ad57620009ac62000a03565b5b828202905092915050565b6000620009c582620009cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000a7e81620009b8565b811462000a8a57600080fd5b50565b6132e48062000a9d6000396000f3fe6080604052600436106101f25760003560e01c8063893d20e81161010d578063d51ed1c8116100a0578063f0b37c041161006f578063f0b37c0414610746578063f2fde38b1461076f578063f84ba65d14610798578063f887ea40146107c1578063fe9fbb80146107ec576101f9565b8063d51ed1c81461067a578063dd62ed3e146106b7578063df20fd49146106f4578063efdcd9741461071d576101f9565b8063a9059cbb116100dc578063a9059cbb146105c0578063b6a5d7de146105fd578063bf56b37114610626578063cec10c1114610651576101f9565b8063893d20e8146105145780638f9a55c01461053f57806395d89b411461056a578063a8aa1b3114610595576101f9565b8063313ce56711610185578063658d4b7f11610154578063658d4b7f146104585780636ddd17131461048157806370a08231146104ac5780637d1db4a5146104e9576101f9565b8063313ce5671461039e578063571ac8b0146103c95780635c85974f146104065780635d0044ca1461042f576101f9565b806318160ddd116101c157806318160ddd146102ce57806323b872dd146102f95780632b112e49146103365780632f54bf6e14610361576101f9565b80630445b667146101fe57806306fdde0314610229578063095ea7b3146102545780631161ae3914610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610829565b6040516102209190612cf0565b60405180910390f35b34801561023557600080fd5b5061023e61082f565b60405161024b9190612bee565b60405180910390f35b34801561026057600080fd5b5061027b6004803603810190610276919061273a565b61086c565b6040516102889190612bb8565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b391906127e7565b61095e565b6040516102c59190612bb8565b60405180910390f35b3480156102da57600080fd5b506102e3610973565b6040516102f09190612cf0565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b91906126a7565b61097d565b60405161032d9190612bb8565b60405180910390f35b34801561034257600080fd5b5061034b610b7d565b6040516103589190612cf0565b60405180910390f35b34801561036d57600080fd5b506103886004803603810190610383919061260d565b610bff565b6040516103959190612bb8565b60405180910390f35b3480156103aa57600080fd5b506103b3610c58565b6040516103c09190612d8e565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb919061260d565b610c61565b6040516103fd9190612bb8565b60405180910390f35b34801561041257600080fd5b5061042d600480360381019061042891906127ba565b610c94565b005b34801561043b57600080fd5b50610456600480360381019061045191906127ba565b610d02565b005b34801561046457600080fd5b5061047f600480360381019061047a91906126fa565b610d70565b005b34801561048d57600080fd5b50610496610e13565b6040516104a39190612bb8565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce919061260d565b610e26565b6040516104e09190612cf0565b60405180910390f35b3480156104f557600080fd5b506104fe610e6f565b60405161050b9190612cf0565b60405180910390f35b34801561052057600080fd5b50610529610e75565b6040516105369190612b21565b60405180910390f35b34801561054b57600080fd5b50610554610e9e565b6040516105619190612cf0565b60405180910390f35b34801561057657600080fd5b5061057f610ea4565b60405161058c9190612bee565b60405180910390f35b3480156105a157600080fd5b506105aa610ee1565b6040516105b79190612b21565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e2919061273a565b610f07565b6040516105f49190612bb8565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f919061260d565b610f1c565b005b34801561063257600080fd5b5061063b610fbe565b6040516106489190612cf0565b60405180910390f35b34801561065d57600080fd5b5061067860048036038101906106739190612827565b610fc4565b005b34801561068657600080fd5b506106a1600480360381019061069c91906127ba565b61103f565b6040516106ae9190612cf0565b60405180910390f35b3480156106c357600080fd5b506106de60048036038101906106d99190612667565b6110b1565b6040516106eb9190612cf0565b60405180910390f35b34801561070057600080fd5b5061071b6004803603810190610716919061277a565b611138565b005b34801561072957600080fd5b50610744600480360381019061073f919061260d565b6111a5565b005b34801561075257600080fd5b5061076d6004803603810190610768919061260d565b611231565b005b34801561077b57600080fd5b506107966004803603810190610791919061263a565b6112d4565b005b3480156107a457600080fd5b506107bf60048036038101906107ba91906126fa565b6113ed565b005b3480156107cd57600080fd5b506107d6611490565b6040516107e39190612bd3565b60405180910390f35b3480156107f857600080fd5b50610813600480360381019061080e919061260d565b6114b6565b6040516108209190612bb8565b60405180910390f35b60155481565b60606040518060400160405280600a81526020017f4475636b65724275726e00000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161094c9190612cf0565b60405180910390a36001905092915050565b60008261096a8361103f565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b6957610ae8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b74848484611570565b90509392505050565b6000610bfa610bad600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b610bec610bdb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b6005546119ff90919063ffffffff16565b6119ff90919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610c8d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61086c565b9050919050565b610c9d336114b6565b610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390612cd0565b60405180910390fd5b6103e8600554610cec9190612e5f565b811015610cf857600080fd5b8060068190555050565b610d0b33610bff565b610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612cb0565b60405180910390fd5b6103e8600554610d5a9190612e5f565b811015610d6657600080fd5b8060078190555050565b610d79336114b6565b610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90612cd0565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601460009054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600681526020017f4372697370790000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f14338484611570565b905092915050565b610f2533610bff565b610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612cb0565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60135481565b610fcd336114b6565b61100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390612cd0565b60405180910390fd5b82600c8190555081600d8190555061102d8284611a4990919063ffffffff16565b600e8190555080600f81905550505050565b60006110aa61104c610b7d565b61109c61108d600261107f601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b611aa790919063ffffffff16565b85611aa790919063ffffffff16565b611b2290919063ffffffff16565b9050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611141336114b6565b611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117790612cd0565b60405180910390fd5b81601460006101000a81548160ff021916908315150217905550806015819055505050565b6111ae336114b6565b6111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612cd0565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61123a33610bff565b611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090612cb0565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112dd33610bff565b61131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131390612cb0565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516113e29190612b3c565b60405180910390a150565b6113f6336114b6565b611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90612cd0565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000838311158290611554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154b9190612bee565b60405180910390fd5b50600083856115639190612eea565b9050809150509392505050565b6000601660009054906101000a900460ff161561159957611592848484611b6c565b90506119f8565b6115a38483611d3f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561164f5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561173857600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116f8575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116f59190612e09565b11155b611737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172e90612c10565b60405180910390fd5b5b611740611ddc565b1561174e5761174d611eb3565b5b61175661228d565b1580156117b05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561180a576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161180157600080fd5b61180961229a565b5b611893826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006118e1856122a3565b6118eb57826118f6565b6118f585846122fa565b5b905061194a81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119ea9190612cf0565b60405180910390a360019150505b9392505050565b6000611a4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061150c565b905092915050565b6000808284611a589190612e09565b905083811015611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490612c50565b60405180910390fd5b8091505092915050565b600080831415611aba5760009050611b1c565b60008284611ac89190612e90565b9050828482611ad79190612e5f565b14611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612c90565b60405180910390fd5b809150505b92915050565b6000611b6483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061243e565b905092915050565b6000611bf7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c8c82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d2c9190612cf0565b60405180910390a3600190509392505050565b60065481111580611d995750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcf90612c30565b60405180910390fd5b5050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e495750601660009054906101000a900460ff16155b8015611e615750601460009054906101000a900460ff165b8015611eae5750601554600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000611ed930610e26565b90506000611f196002611f0b600e54611efd600c5487611aa790919063ffffffff16565b611b2290919063ffffffff16565b611b2290919063ffffffff16565b90506000611f3082846119ff90919063ffffffff16565b90506000600267ffffffffffffffff811115611f4f57611f4e61309f565b5b604051908082528060200260200182016040528015611f7d5781602001602082028036833780820191505090505b5090503081600081518110611f9557611f94613070565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061200657612005613070565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016120a9959493929190612d0b565b600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b5050505060006120f082476119ff90919063ffffffff16565b9050600061211e61210d6002600c54611b2290919063ffffffff16565b600e546119ff90919063ffffffff16565b9050600061215c600261214e84612140600c5488611aa790919063ffffffff16565b611b2290919063ffffffff16565b611b2290919063ffffffff16565b9050600061218783612179600d5487611aa790919063ffffffff16565b611b2290919063ffffffff16565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516121d590612b0c565b600060405180830381858888f193505050503d8060008114612213576040519150601f19603f3d011682016040523d82523d6000602084013e612218565b606091505b505090508061225c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225390612c70565b60405180910390fd5b61226689846124a1565b505050505050505050506000601660006101000a81548160ff021916908315150217905550565b6000806013541415905090565b43601381905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080612326600f54612318600e5486611aa790919063ffffffff16565b611b2290919063ffffffff16565b905061237a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161241a9190612cf0565b60405180910390a361243581846119ff90919063ffffffff16565b91505092915050565b60008083118290612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c9190612bee565b60405180910390fd5b50600083856124949190612e5f565b9050809150509392505050565b60008211156125a057601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161251196959493929190612b57565b6060604051808303818588803b15801561252a57600080fd5b505af115801561253e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612563919061287a565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b45068183604051612597929190612d65565b60405180910390a15b5050565b6000813590506125b381613252565b92915050565b6000813590506125c881613269565b92915050565b6000813590506125dd81613280565b92915050565b6000813590506125f281613297565b92915050565b60008151905061260781613297565b92915050565b600060208284031215612623576126226130ce565b5b6000612631848285016125a4565b91505092915050565b6000602082840312156126505761264f6130ce565b5b600061265e848285016125b9565b91505092915050565b6000806040838503121561267e5761267d6130ce565b5b600061268c858286016125a4565b925050602061269d858286016125a4565b9150509250929050565b6000806000606084860312156126c0576126bf6130ce565b5b60006126ce868287016125a4565b93505060206126df868287016125a4565b92505060406126f0868287016125e3565b9150509250925092565b60008060408385031215612711576127106130ce565b5b600061271f858286016125a4565b9250506020612730858286016125ce565b9150509250929050565b60008060408385031215612751576127506130ce565b5b600061275f858286016125a4565b9250506020612770858286016125e3565b9150509250929050565b60008060408385031215612791576127906130ce565b5b600061279f858286016125ce565b92505060206127b0858286016125e3565b9150509250929050565b6000602082840312156127d0576127cf6130ce565b5b60006127de848285016125e3565b91505092915050565b600080604083850312156127fe576127fd6130ce565b5b600061280c858286016125e3565b925050602061281d858286016125e3565b9150509250929050565b6000806000606084860312156128405761283f6130ce565b5b600061284e868287016125e3565b935050602061285f868287016125e3565b9250506040612870868287016125e3565b9150509250925092565b600080600060608486031215612893576128926130ce565b5b60006128a1868287016125f8565b93505060206128b2868287016125f8565b92505060406128c3868287016125f8565b9150509250925092565b60006128d983836128f4565b60208301905092915050565b6128ee81612f85565b82525050565b6128fd81612f1e565b82525050565b61290c81612f1e565b82525050565b600061291d82612db9565b6129278185612ddc565b935061293283612da9565b8060005b8381101561296357815161294a88826128cd565b975061295583612dcf565b925050600181019050612936565b5085935050505092915050565b61297981612f42565b82525050565b61298881612f97565b82525050565b61299781612fa9565b82525050565b60006129a882612dc4565b6129b28185612df8565b93506129c2818560208601612fdf565b6129cb816130d3565b840191505092915050565b60006129e3602583612df8565b91506129ee826130e4565b604082019050919050565b6000612a06601183612df8565b9150612a1182613133565b602082019050919050565b6000612a29601b83612df8565b9150612a348261315c565b602082019050919050565b6000612a4c601e83612df8565b9150612a5782613185565b602082019050919050565b6000612a6f602183612df8565b9150612a7a826131ae565b604082019050919050565b6000612a92600683612df8565b9150612a9d826131fd565b602082019050919050565b6000612ab5600083612ded565b9150612ac082613226565b600082019050919050565b6000612ad8600b83612df8565b9150612ae382613229565b602082019050919050565b612af781612f6e565b82525050565b612b0681612f78565b82525050565b6000612b1782612aa8565b9150819050919050565b6000602082019050612b366000830184612903565b92915050565b6000602082019050612b5160008301846128e5565b92915050565b600060c082019050612b6c6000830189612903565b612b796020830188612aee565b612b86604083018761298e565b612b93606083018661298e565b612ba06080830185612903565b612bad60a0830184612aee565b979650505050505050565b6000602082019050612bcd6000830184612970565b92915050565b6000602082019050612be8600083018461297f565b92915050565b60006020820190508181036000830152612c08818461299d565b905092915050565b60006020820190508181036000830152612c29816129d6565b9050919050565b60006020820190508181036000830152612c49816129f9565b9050919050565b60006020820190508181036000830152612c6981612a1c565b9050919050565b60006020820190508181036000830152612c8981612a3f565b9050919050565b60006020820190508181036000830152612ca981612a62565b9050919050565b60006020820190508181036000830152612cc981612a85565b9050919050565b60006020820190508181036000830152612ce981612acb565b9050919050565b6000602082019050612d056000830184612aee565b92915050565b600060a082019050612d206000830188612aee565b612d2d602083018761298e565b8181036040830152612d3f8186612912565b9050612d4e6060830185612903565b612d5b6080830184612aee565b9695505050505050565b6000604082019050612d7a6000830185612aee565b612d876020830184612aee565b9392505050565b6000602082019050612da36000830184612afd565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612e1482612f6e565b9150612e1f83612f6e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e5457612e53613012565b5b828201905092915050565b6000612e6a82612f6e565b9150612e7583612f6e565b925082612e8557612e84613041565b5b828204905092915050565b6000612e9b82612f6e565b9150612ea683612f6e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612edf57612ede613012565b5b828202905092915050565b6000612ef582612f6e565b9150612f0083612f6e565b925082821015612f1357612f12613012565b5b828203905092915050565b6000612f2982612f4e565b9050919050565b6000612f3b82612f4e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612f9082612fbb565b9050919050565b6000612fa282612fbb565b9050919050565b6000612fb482612f6e565b9050919050565b6000612fc682612fcd565b9050919050565b6000612fd882612f4e565b9050919050565b60005b83811015612ffd578082015181840152602081019050612fe2565b8381111561300c576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61325b81612f1e565b811461326657600080fd5b50565b61327281612f30565b811461327d57600080fd5b50565b61328981612f42565b811461329457600080fd5b50565b6132a081612f6e565b81146132ab57600080fd5b5056fea26469706673582212209074aa22ed0ddf5368d12de27f67a4049f92e31986f67db9049301f0aa0c863a64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063893d20e81161010d578063d51ed1c8116100a0578063f0b37c041161006f578063f0b37c0414610746578063f2fde38b1461076f578063f84ba65d14610798578063f887ea40146107c1578063fe9fbb80146107ec576101f9565b8063d51ed1c81461067a578063dd62ed3e146106b7578063df20fd49146106f4578063efdcd9741461071d576101f9565b8063a9059cbb116100dc578063a9059cbb146105c0578063b6a5d7de146105fd578063bf56b37114610626578063cec10c1114610651576101f9565b8063893d20e8146105145780638f9a55c01461053f57806395d89b411461056a578063a8aa1b3114610595576101f9565b8063313ce56711610185578063658d4b7f11610154578063658d4b7f146104585780636ddd17131461048157806370a08231146104ac5780637d1db4a5146104e9576101f9565b8063313ce5671461039e578063571ac8b0146103c95780635c85974f146104065780635d0044ca1461042f576101f9565b806318160ddd116101c157806318160ddd146102ce57806323b872dd146102f95780632b112e49146103365780632f54bf6e14610361576101f9565b80630445b667146101fe57806306fdde0314610229578063095ea7b3146102545780631161ae3914610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610829565b6040516102209190612cf0565b60405180910390f35b34801561023557600080fd5b5061023e61082f565b60405161024b9190612bee565b60405180910390f35b34801561026057600080fd5b5061027b6004803603810190610276919061273a565b61086c565b6040516102889190612bb8565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b391906127e7565b61095e565b6040516102c59190612bb8565b60405180910390f35b3480156102da57600080fd5b506102e3610973565b6040516102f09190612cf0565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b91906126a7565b61097d565b60405161032d9190612bb8565b60405180910390f35b34801561034257600080fd5b5061034b610b7d565b6040516103589190612cf0565b60405180910390f35b34801561036d57600080fd5b506103886004803603810190610383919061260d565b610bff565b6040516103959190612bb8565b60405180910390f35b3480156103aa57600080fd5b506103b3610c58565b6040516103c09190612d8e565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb919061260d565b610c61565b6040516103fd9190612bb8565b60405180910390f35b34801561041257600080fd5b5061042d600480360381019061042891906127ba565b610c94565b005b34801561043b57600080fd5b50610456600480360381019061045191906127ba565b610d02565b005b34801561046457600080fd5b5061047f600480360381019061047a91906126fa565b610d70565b005b34801561048d57600080fd5b50610496610e13565b6040516104a39190612bb8565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce919061260d565b610e26565b6040516104e09190612cf0565b60405180910390f35b3480156104f557600080fd5b506104fe610e6f565b60405161050b9190612cf0565b60405180910390f35b34801561052057600080fd5b50610529610e75565b6040516105369190612b21565b60405180910390f35b34801561054b57600080fd5b50610554610e9e565b6040516105619190612cf0565b60405180910390f35b34801561057657600080fd5b5061057f610ea4565b60405161058c9190612bee565b60405180910390f35b3480156105a157600080fd5b506105aa610ee1565b6040516105b79190612b21565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e2919061273a565b610f07565b6040516105f49190612bb8565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f919061260d565b610f1c565b005b34801561063257600080fd5b5061063b610fbe565b6040516106489190612cf0565b60405180910390f35b34801561065d57600080fd5b5061067860048036038101906106739190612827565b610fc4565b005b34801561068657600080fd5b506106a1600480360381019061069c91906127ba565b61103f565b6040516106ae9190612cf0565b60405180910390f35b3480156106c357600080fd5b506106de60048036038101906106d99190612667565b6110b1565b6040516106eb9190612cf0565b60405180910390f35b34801561070057600080fd5b5061071b6004803603810190610716919061277a565b611138565b005b34801561072957600080fd5b50610744600480360381019061073f919061260d565b6111a5565b005b34801561075257600080fd5b5061076d6004803603810190610768919061260d565b611231565b005b34801561077b57600080fd5b506107966004803603810190610791919061263a565b6112d4565b005b3480156107a457600080fd5b506107bf60048036038101906107ba91906126fa565b6113ed565b005b3480156107cd57600080fd5b506107d6611490565b6040516107e39190612bd3565b60405180910390f35b3480156107f857600080fd5b50610813600480360381019061080e919061260d565b6114b6565b6040516108209190612bb8565b60405180910390f35b60155481565b60606040518060400160405280600a81526020017f4475636b65724275726e00000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161094c9190612cf0565b60405180910390a36001905092915050565b60008261096a8361103f565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b6957610ae8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b74848484611570565b90509392505050565b6000610bfa610bad600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b610bec610bdb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b6005546119ff90919063ffffffff16565b6119ff90919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610c8d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61086c565b9050919050565b610c9d336114b6565b610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390612cd0565b60405180910390fd5b6103e8600554610cec9190612e5f565b811015610cf857600080fd5b8060068190555050565b610d0b33610bff565b610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612cb0565b60405180910390fd5b6103e8600554610d5a9190612e5f565b811015610d6657600080fd5b8060078190555050565b610d79336114b6565b610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90612cd0565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601460009054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600681526020017f4372697370790000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f14338484611570565b905092915050565b610f2533610bff565b610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612cb0565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60135481565b610fcd336114b6565b61100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390612cd0565b60405180910390fd5b82600c8190555081600d8190555061102d8284611a4990919063ffffffff16565b600e8190555080600f81905550505050565b60006110aa61104c610b7d565b61109c61108d600261107f601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e26565b611aa790919063ffffffff16565b85611aa790919063ffffffff16565b611b2290919063ffffffff16565b9050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611141336114b6565b611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117790612cd0565b60405180910390fd5b81601460006101000a81548160ff021916908315150217905550806015819055505050565b6111ae336114b6565b6111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612cd0565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61123a33610bff565b611279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127090612cb0565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112dd33610bff565b61131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131390612cb0565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516113e29190612b3c565b60405180910390a150565b6113f6336114b6565b611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90612cd0565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000838311158290611554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154b9190612bee565b60405180910390fd5b50600083856115639190612eea565b9050809150509392505050565b6000601660009054906101000a900460ff161561159957611592848484611b6c565b90506119f8565b6115a38483611d3f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561164f5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561173857600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116f8575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116f59190612e09565b11155b611737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172e90612c10565b60405180910390fd5b5b611740611ddc565b1561174e5761174d611eb3565b5b61175661228d565b1580156117b05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561180a576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161180157600080fd5b61180961229a565b5b611893826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006118e1856122a3565b6118eb57826118f6565b6118f585846122fa565b5b905061194a81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119ea9190612cf0565b60405180910390a360019150505b9392505050565b6000611a4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061150c565b905092915050565b6000808284611a589190612e09565b905083811015611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490612c50565b60405180910390fd5b8091505092915050565b600080831415611aba5760009050611b1c565b60008284611ac89190612e90565b9050828482611ad79190612e5f565b14611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612c90565b60405180910390fd5b809150505b92915050565b6000611b6483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061243e565b905092915050565b6000611bf7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461150c9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c8c82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d2c9190612cf0565b60405180910390a3600190509392505050565b60065481111580611d995750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcf90612c30565b60405180910390fd5b5050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e495750601660009054906101000a900460ff16155b8015611e615750601460009054906101000a900460ff165b8015611eae5750601554600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000611ed930610e26565b90506000611f196002611f0b600e54611efd600c5487611aa790919063ffffffff16565b611b2290919063ffffffff16565b611b2290919063ffffffff16565b90506000611f3082846119ff90919063ffffffff16565b90506000600267ffffffffffffffff811115611f4f57611f4e61309f565b5b604051908082528060200260200182016040528015611f7d5781602001602082028036833780820191505090505b5090503081600081518110611f9557611f94613070565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061200657612005613070565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016120a9959493929190612d0b565b600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b5050505060006120f082476119ff90919063ffffffff16565b9050600061211e61210d6002600c54611b2290919063ffffffff16565b600e546119ff90919063ffffffff16565b9050600061215c600261214e84612140600c5488611aa790919063ffffffff16565b611b2290919063ffffffff16565b611b2290919063ffffffff16565b9050600061218783612179600d5487611aa790919063ffffffff16565b611b2290919063ffffffff16565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516121d590612b0c565b600060405180830381858888f193505050503d8060008114612213576040519150601f19603f3d011682016040523d82523d6000602084013e612218565b606091505b505090508061225c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225390612c70565b60405180910390fd5b61226689846124a1565b505050505050505050506000601660006101000a81548160ff021916908315150217905550565b6000806013541415905090565b43601381905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080612326600f54612318600e5486611aa790919063ffffffff16565b611b2290919063ffffffff16565b905061237a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4990919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161241a9190612cf0565b60405180910390a361243581846119ff90919063ffffffff16565b91505092915050565b60008083118290612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c9190612bee565b60405180910390fd5b50600083856124949190612e5f565b9050809150509392505050565b60008211156125a057601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161251196959493929190612b57565b6060604051808303818588803b15801561252a57600080fd5b505af115801561253e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612563919061287a565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b45068183604051612597929190612d65565b60405180910390a15b5050565b6000813590506125b381613252565b92915050565b6000813590506125c881613269565b92915050565b6000813590506125dd81613280565b92915050565b6000813590506125f281613297565b92915050565b60008151905061260781613297565b92915050565b600060208284031215612623576126226130ce565b5b6000612631848285016125a4565b91505092915050565b6000602082840312156126505761264f6130ce565b5b600061265e848285016125b9565b91505092915050565b6000806040838503121561267e5761267d6130ce565b5b600061268c858286016125a4565b925050602061269d858286016125a4565b9150509250929050565b6000806000606084860312156126c0576126bf6130ce565b5b60006126ce868287016125a4565b93505060206126df868287016125a4565b92505060406126f0868287016125e3565b9150509250925092565b60008060408385031215612711576127106130ce565b5b600061271f858286016125a4565b9250506020612730858286016125ce565b9150509250929050565b60008060408385031215612751576127506130ce565b5b600061275f858286016125a4565b9250506020612770858286016125e3565b9150509250929050565b60008060408385031215612791576127906130ce565b5b600061279f858286016125ce565b92505060206127b0858286016125e3565b9150509250929050565b6000602082840312156127d0576127cf6130ce565b5b60006127de848285016125e3565b91505092915050565b600080604083850312156127fe576127fd6130ce565b5b600061280c858286016125e3565b925050602061281d858286016125e3565b9150509250929050565b6000806000606084860312156128405761283f6130ce565b5b600061284e868287016125e3565b935050602061285f868287016125e3565b9250506040612870868287016125e3565b9150509250925092565b600080600060608486031215612893576128926130ce565b5b60006128a1868287016125f8565b93505060206128b2868287016125f8565b92505060406128c3868287016125f8565b9150509250925092565b60006128d983836128f4565b60208301905092915050565b6128ee81612f85565b82525050565b6128fd81612f1e565b82525050565b61290c81612f1e565b82525050565b600061291d82612db9565b6129278185612ddc565b935061293283612da9565b8060005b8381101561296357815161294a88826128cd565b975061295583612dcf565b925050600181019050612936565b5085935050505092915050565b61297981612f42565b82525050565b61298881612f97565b82525050565b61299781612fa9565b82525050565b60006129a882612dc4565b6129b28185612df8565b93506129c2818560208601612fdf565b6129cb816130d3565b840191505092915050565b60006129e3602583612df8565b91506129ee826130e4565b604082019050919050565b6000612a06601183612df8565b9150612a1182613133565b602082019050919050565b6000612a29601b83612df8565b9150612a348261315c565b602082019050919050565b6000612a4c601e83612df8565b9150612a5782613185565b602082019050919050565b6000612a6f602183612df8565b9150612a7a826131ae565b604082019050919050565b6000612a92600683612df8565b9150612a9d826131fd565b602082019050919050565b6000612ab5600083612ded565b9150612ac082613226565b600082019050919050565b6000612ad8600b83612df8565b9150612ae382613229565b602082019050919050565b612af781612f6e565b82525050565b612b0681612f78565b82525050565b6000612b1782612aa8565b9150819050919050565b6000602082019050612b366000830184612903565b92915050565b6000602082019050612b5160008301846128e5565b92915050565b600060c082019050612b6c6000830189612903565b612b796020830188612aee565b612b86604083018761298e565b612b93606083018661298e565b612ba06080830185612903565b612bad60a0830184612aee565b979650505050505050565b6000602082019050612bcd6000830184612970565b92915050565b6000602082019050612be8600083018461297f565b92915050565b60006020820190508181036000830152612c08818461299d565b905092915050565b60006020820190508181036000830152612c29816129d6565b9050919050565b60006020820190508181036000830152612c49816129f9565b9050919050565b60006020820190508181036000830152612c6981612a1c565b9050919050565b60006020820190508181036000830152612c8981612a3f565b9050919050565b60006020820190508181036000830152612ca981612a62565b9050919050565b60006020820190508181036000830152612cc981612a85565b9050919050565b60006020820190508181036000830152612ce981612acb565b9050919050565b6000602082019050612d056000830184612aee565b92915050565b600060a082019050612d206000830188612aee565b612d2d602083018761298e565b8181036040830152612d3f8186612912565b9050612d4e6060830185612903565b612d5b6080830184612aee565b9695505050505050565b6000604082019050612d7a6000830185612aee565b612d876020830184612aee565b9392505050565b6000602082019050612da36000830184612afd565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612e1482612f6e565b9150612e1f83612f6e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e5457612e53613012565b5b828201905092915050565b6000612e6a82612f6e565b9150612e7583612f6e565b925082612e8557612e84613041565b5b828204905092915050565b6000612e9b82612f6e565b9150612ea683612f6e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612edf57612ede613012565b5b828202905092915050565b6000612ef582612f6e565b9150612f0083612f6e565b925082821015612f1357612f12613012565b5b828203905092915050565b6000612f2982612f4e565b9050919050565b6000612f3b82612f4e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612f9082612fbb565b9050919050565b6000612fa282612fbb565b9050919050565b6000612fb482612f6e565b9050919050565b6000612fc682612fcd565b9050919050565b6000612fd882612f4e565b9050919050565b60005b83811015612ffd578082015181840152602081019050612fe2565b8381111561300c576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61325b81612f1e565b811461326657600080fd5b50565b61327281612f30565b811461327d57600080fd5b50565b61328981612f42565b811461329457600080fd5b50565b6132a081612f6e565b81146132ab57600080fd5b5056fea26469706673582212209074aa22ed0ddf5368d12de27f67a4049f92e31986f67db9049301f0aa0c863a64736f6c63430008070033

Deployed Bytecode Sourcemap

5377:9679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6508:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7486:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7914:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14835:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7216:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8450:376;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14498:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3222:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7310:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8144:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13279:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13437:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13606:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6471:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7656:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5826:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7572:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5888:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7396:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6411:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8280:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2883:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6437:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13882:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14654:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7767:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14330:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14187:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3059:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3634:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13740:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6380:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3402:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6508:57;;;;:::o;7486:80::-;7534:13;7558:5;;;;;;;;;;;;;;;;;7551:12;;7486:80;:::o;7914:216::-;7989:4;8041:6;8006:11;:23;8018:10;8006:23;;;;;;;;;;;;;;;:32;8030:7;8006:32;;;;;;;;;;;;;;;:41;;;;8084:7;8063:37;;8072:10;8063:37;;;8093:6;8063:37;;;;;;:::i;:::-;;;;;;;;8118:4;8111:11;;7914:216;;;;:::o;14835:150::-;14915:4;14971:6;14939:29;14959:8;14939:19;:29::i;:::-;:38;14932:45;;14835:150;;;;:::o;7216:88::-;7271:7;7289:12;;7282:19;;7216:88;:::o;8450:376::-;8550:4;8605:17;8570:11;:19;8582:6;8570:19;;;;;;;;;;;;;;;:31;8590:10;8570:31;;;;;;;;;;;;;;;;:52;8567:186;;8672:69;8708:6;8672:69;;;;;;;;;;;;;;;;;:11;:19;8684:6;8672:19;;;;;;;;;;;;;;;:31;8692:10;8672:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8638:11;:19;8650:6;8638:19;;;;;;;;;;;;;;;:31;8658:10;8638:31;;;;;;;;;;;;;;;:103;;;;8567:186;8778:40;8792:6;8800:9;8811:6;8778:13;:40::i;:::-;8771:47;;8450:376;;;;;:::o;14498:142::-;14551:7;14578:54;14616:15;14626:4;;;;;;;;;;;14616:9;:15::i;:::-;14578:33;14595:15;14605:4;;;;;;;;;;;14595:9;:15::i;:::-;14578:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;14571:61;;14498:142;:::o;3222:103::-;3277:4;3312:5;;;;;;;;;;;3301:16;;:7;:16;;;3294:23;;3222:103;;;:::o;7310:80::-;7362:5;5756:2;7371:16;;7310:80;:::o;8144:122::-;8199:4;8223:35;8231:7;8240:17;8223:7;:35::i;:::-;8216:42;;8144:122;;;:::o;13279:145::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13379:4:::1;13364:12;;:19;;;;:::i;:::-;13354:6;:29;;13346:38;;;::::0;::::1;;13410:6;13395:12;:21;;;;13279:145:::0;:::o;13437:151::-;2710:19;2718:10;2710:7;:19::i;:::-;2702:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13540:4:::1;13525:12;;:19;;;;:::i;:::-;13515:6;:29;;13507:39;;;::::0;::::1;;13574:6;13557:14;:23;;;;13437:151:::0;:::o;13606:120::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13712:6:::1;13690:11;:19;13702:6;13690:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13606:120:::0;;:::o;6471:30::-;;;;;;;;;;;;;:::o;7656:105::-;7722:7;7740:9;:18;7750:7;7740:18;;;;;;;;;;;;;;;;7733:25;;7656:105;;;:::o;5826:54::-;;;;:::o;7572:78::-;7624:7;7642:5;;;;;;;;;;;7635:12;;7572:78;:::o;5888:56::-;;;;:::o;7396:84::-;7446:13;7470:7;;;;;;;;;;;;;;;;;7463:14;;7396:84;:::o;6411:19::-;;;;;;;;;;;;;:::o;8280:156::-;8360:4;8384:44;8398:10;8410:9;8421:6;8384:13;:44::i;:::-;8377:51;;8280:156;;;;:::o;2883:94::-;2710:19;2718:10;2710:7;:19::i;:::-;2702:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2965:4:::1;2943:14:::0;:19:::1;2958:3;2943:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2883:94:::0;:::o;6437:25::-;;;;:::o;13882:291::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14016:13:::1;14001:12;:28;;;;14055:13;14040:12;:28;;;;14090:32;14108:13;14090;:17;;:32;;;;:::i;:::-;14079:8;:43;;;;14150:15;14133:14;:32;;;;13882:291:::0;;;:::o;14654:167::-;14722:7;14749:64;14790:22;:20;:22::i;:::-;14749:36;14762:22;14782:1;14762:15;14772:4;;;;;;;;;;;14762:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;14749:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;14742:71;;14654:167;;;:::o;7767:133::-;7851:7;7869:11;:19;7881:6;7869:19;;;;;;;;;;;;;;;:28;7889:7;7869:28;;;;;;;;;;;;;;;;7862:35;;7767:133;;;;:::o;14330:156::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14436:8:::1;14422:11;;:22;;;;;;;;;;;;;;;;;;14471:7;14455:13;:23;;;;14330:156:::0;;:::o;14187:129::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14290:18:::1;14270:17;;:38;;;;;;;;;;;;;;;;;;14187:129:::0;:::o;3059:97::-;2710:19;2718:10;2710:7;:19::i;:::-;2702:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3143:5:::1;3121:14;:19;3136:3;3121:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3059:97:::0;:::o;3634:173::-;2710:19;2718:10;2710:7;:19::i;:::-;2702:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3718:3:::1;3710:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3754:4;3732:14:::0;:19:::1;3747:3;3732:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3774:25;3795:3;3774:25;;;;;;:::i;:::-;;;;;;;;3634:173:::0;:::o;13740:128::-;2812:24;2825:10;2812:12;:24::i;:::-;2804:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13854:6:::1;13828:15;:23;13844:6;13828:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;13740:128:::0;;:::o;6380:24::-;;;;;;;;;;;;;:::o;3402:107::-;3458:4;3482:14;:19;3497:3;3482:19;;;;;;;;;;;;;;;;;;;;;;;;;3475:26;;3402:107;;;:::o;556:198::-;642:7;675:1;670;:6;;678:12;662:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;702:9;718:1;714;:5;;;;:::i;:::-;702:17;;745:1;738:8;;;556:198;;;;;:::o;8840:955::-;8932:4;8952:6;;;;;;;;;;;8949:63;;;8968:41;8983:6;8991:9;9002:6;8968:14;:41::i;:::-;8961:48;;;;8949:63;9032:28;9045:6;9053;9032:12;:28::i;:::-;9098:4;;;;;;;;;;;9085:17;;:9;:17;;;;:38;;;;;9119:4;;;;;;;;;;;9106:17;;:9;:17;;;;9085:38;9081:198;;;9148:15;:26;9164:9;9148:26;;;;;;;;;;;;;;;;;;;;;;;;;:77;;;;9211:14;;9201:6;9178:9;:20;9188:9;9178:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;9148:77;9140:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;9081:198;9302:16;:14;:16::i;:::-;9299:35;;;9321:10;:8;:10::i;:::-;9299:35;9356:10;:8;:10::i;:::-;9355:11;:32;;;;;9383:4;;;;;;;;;;;9370:17;;:9;:17;;;9355:32;9352:81;;;9418:1;9398:9;:17;9408:6;9398:17;;;;;;;;;;;;;;;;:21;9390:30;;;;;;9422:8;:6;:8::i;:::-;9352:81;9471:53;9493:6;9471:53;;;;;;;;;;;;;;;;;:9;:17;9481:6;9471:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9451:9;:17;9461:6;9451:17;;;;;;;;;;;;;;;:73;;;;9543:22;9568:21;9582:6;9568:13;:21::i;:::-;:56;;9618:6;9568:56;;;9592:23;9600:6;9608;9592:7;:23::i;:::-;9568:56;9543:81;;9658:40;9683:14;9658:9;:20;9668:9;9658:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9635:9;:20;9645:9;9635:20;;;;;;;;;;;;;;;:63;;;;9739:9;9722:43;;9731:6;9722:43;;;9750:14;9722:43;;;;;;:::i;:::-;;;;;;;;9783:4;9776:11;;;8840:955;;;;;;:::o;414:136::-;472:7;499:43;503:1;506;499:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;492:50;;414:136;;;;:::o;221:187::-;279:7;299:9;315:1;311;:5;;;;:::i;:::-;299:17;;340:1;335;:6;;327:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;399:1;392:8;;;221:187;;;;:::o;760:250::-;818:7;847:1;842;:6;838:47;;;872:1;865:8;;;;838:47;897:9;913:1;909;:5;;;;:::i;:::-;897:17;;942:1;937;933;:5;;;;:::i;:::-;:10;925:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1001:1;994:8;;;760:250;;;;;:::o;1016:132::-;1074:7;1101:39;1105:1;1108;1101:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1094:46;;1016:132;;;;:::o;9807:330::-;9900:4;9937:53;9959:6;9937:53;;;;;;;;;;;;;;;;;:9;:17;9947:6;9937:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9917:9;:17;9927:6;9917:17;;;;;;;;;;;;;;;:73;;;;10024:32;10049:6;10024:9;:20;10034:9;10024:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10001:9;:20;10011:9;10001:20;;;;;;;;;;;;;;;:55;;;;10089:9;10072:35;;10081:6;10072:35;;;10100:6;10072:35;;;;;;:::i;:::-;;;;;;;;10125:4;10118:11;;9807:330;;;;;:::o;10151:166::-;10248:12;;10238:6;:22;;:49;;;;10264:15;:23;10280:6;10264:23;;;;;;;;;;;;;;;;;;;;;;;;;10238:49;10230:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10151:166;;:::o;10824:197::-;10873:4;10911;;;;;;;;;;;10897:18;;:10;:18;;;;:38;;;;;10929:6;;;;;;;;;;;10928:7;10897:38;:62;;;;;10948:11;;;;;;;;;;;10897:62;:116;;;;;11000:13;;10972:9;:24;10990:4;10972:24;;;;;;;;;;;;;;;;:41;;10897:116;10890:123;;10824:197;:::o;11035:1238::-;6629:4;6620:6;;:13;;;;;;;;;;;;;;;;;;11084:28:::1;11115:24;11133:4;11115:9;:24::i;:::-;11084:55;;11150:23;11176:59;11233:1;11176:52;11219:8;;11176:38;11201:12;;11176:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;11150:85;;11246:20;11269:41;11294:15;11269:20;:24;;:41;;;;:::i;:::-;11246:64;;11329:21;11367:1;11353:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11329:40;;11398:4;11380;11385:1;11380:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11424:4;;;;;;;;;;;11414;11419:1;11414:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;11447:21;11471;11447:45;;11511:6;;;;;;;;;;;:57;;;11583:12;11610:1;11626:4;11653;11673:15;11511:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11710:17;11730:40;11756:13;11730:21;:25;;:40;;;;:::i;:::-;11710:60;;11781:19;11803:33;11816:19;11833:1;11816:12;;:16;;:19;;;;:::i;:::-;11803:8;;:12;;:33;;;;:::i;:::-;11781:55;;11847:26;11876:51;11925:1;11876:44;11908:11;11876:27;11890:12;;11876:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;11847:80;;11938:23;11964:44;11996:11;11964:27;11978:12;;11964:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;11938:70;;12028:14;12079:17;;;;;;;;;;;12071:31;;12110:15;12132:5;12071:71;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12027:115;;;12161:9;12153:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;12216:49;12229:15;12246:18;12216:12;:49::i;:::-;11073:1200;;;;;;;;;;6647:5:::0;6638:6;;:14;;;;;;;;;;;;;;;;;;11035:1238::o;13090:90::-;13133:4;13171:1;13157:10;;:15;;13150:22;;13090:90;:::o;13194:71::-;13245:12;13232:10;:25;;;;13194:71::o;10329:114::-;10391:4;10416:11;:19;10428:6;10416:19;;;;;;;;;;;;;;;;;;;;;;;;;10415:20;10408:27;;10329:114;;;:::o;10465:345::-;10532:7;10552:17;10572:40;10597:14;;10572:20;10583:8;;10572:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;10552:60;;10658:39;10687:9;10658;:24;10676:4;10658:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10631:9;:24;10649:4;10631:24;;;;;;;;;;;;;;;:66;;;;10738:4;10713:42;;10722:6;10713:42;;;10745:9;10713:42;;;;;;:::i;:::-;;;;;;;;10781:21;10792:9;10781:6;:10;;:21;;;;:::i;:::-;10774:28;;;10465:345;;;;:::o;1154:::-;1240:7;1339:1;1335;:5;1342:12;1327:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1366:9;1382:1;1378;:5;;;;:::i;:::-;1366:17;;1490:1;1483:8;;;1154:345;;;;;:::o;12287:408::-;12381:1;12367:11;:15;12364:324;;;12398:6;;;;;;;;;;;:22;;;12428:9;12465:4;12489:11;12519:1;12539;12567:4;12591:15;12398:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12641:35;12653:9;12664:11;12641:35;;;;;;;:::i;:::-;;;;;;;;12364:324;12287:408;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:133::-;356:5;394:6;381:20;372:29;;410:30;434:5;410:30;:::i;:::-;313:133;;;;:::o;452:139::-;498:5;536:6;523:20;514:29;;552:33;579:5;552:33;:::i;:::-;452:139;;;;:::o;597:143::-;654:5;685:6;679:13;670:22;;701:33;728:5;701:33;:::i;:::-;597:143;;;;:::o;746:329::-;805:6;854:2;842:9;833:7;829:23;825:32;822:119;;;860:79;;:::i;:::-;822:119;980:1;1005:53;1050:7;1041:6;1030:9;1026:22;1005:53;:::i;:::-;995:63;;951:117;746:329;;;;:::o;1081:345::-;1148:6;1197:2;1185:9;1176:7;1172:23;1168:32;1165:119;;;1203:79;;:::i;:::-;1165:119;1323:1;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1294:125;1081:345;;;;:::o;1432:474::-;1500:6;1508;1557:2;1545:9;1536:7;1532:23;1528:32;1525:119;;;1563:79;;:::i;:::-;1525:119;1683:1;1708:53;1753:7;1744:6;1733:9;1729:22;1708:53;:::i;:::-;1698:63;;1654:117;1810:2;1836:53;1881:7;1872:6;1861:9;1857:22;1836:53;:::i;:::-;1826:63;;1781:118;1432:474;;;;;:::o;1912:619::-;1989:6;1997;2005;2054:2;2042:9;2033:7;2029:23;2025:32;2022:119;;;2060:79;;:::i;:::-;2022:119;2180:1;2205:53;2250:7;2241:6;2230:9;2226:22;2205:53;:::i;:::-;2195:63;;2151:117;2307:2;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;:::i;:::-;2323:63;;2278:118;2435:2;2461:53;2506:7;2497:6;2486:9;2482:22;2461:53;:::i;:::-;2451:63;;2406:118;1912:619;;;;;:::o;2537:468::-;2602:6;2610;2659:2;2647:9;2638:7;2634:23;2630:32;2627:119;;;2665:79;;:::i;:::-;2627:119;2785:1;2810:53;2855:7;2846:6;2835:9;2831:22;2810:53;:::i;:::-;2800:63;;2756:117;2912:2;2938:50;2980:7;2971:6;2960:9;2956:22;2938:50;:::i;:::-;2928:60;;2883:115;2537:468;;;;;:::o;3011:474::-;3079:6;3087;3136:2;3124:9;3115:7;3111:23;3107:32;3104:119;;;3142:79;;:::i;:::-;3104:119;3262:1;3287:53;3332:7;3323:6;3312:9;3308:22;3287:53;:::i;:::-;3277:63;;3233:117;3389:2;3415:53;3460:7;3451:6;3440:9;3436:22;3415:53;:::i;:::-;3405:63;;3360:118;3011:474;;;;;:::o;3491:468::-;3556:6;3564;3613:2;3601:9;3592:7;3588:23;3584:32;3581:119;;;3619:79;;:::i;:::-;3581:119;3739:1;3764:50;3806:7;3797:6;3786:9;3782:22;3764:50;:::i;:::-;3754:60;;3710:114;3863:2;3889:53;3934:7;3925:6;3914:9;3910:22;3889:53;:::i;:::-;3879:63;;3834:118;3491:468;;;;;:::o;3965:329::-;4024:6;4073:2;4061:9;4052:7;4048:23;4044:32;4041:119;;;4079:79;;:::i;:::-;4041:119;4199:1;4224:53;4269:7;4260:6;4249:9;4245:22;4224:53;:::i;:::-;4214:63;;4170:117;3965:329;;;;:::o;4300:474::-;4368:6;4376;4425:2;4413:9;4404:7;4400:23;4396:32;4393:119;;;4431:79;;:::i;:::-;4393:119;4551:1;4576:53;4621:7;4612:6;4601:9;4597:22;4576:53;:::i;:::-;4566:63;;4522:117;4678:2;4704:53;4749:7;4740:6;4729:9;4725:22;4704:53;:::i;:::-;4694:63;;4649:118;4300:474;;;;;:::o;4780:619::-;4857:6;4865;4873;4922:2;4910:9;4901:7;4897:23;4893:32;4890:119;;;4928:79;;:::i;:::-;4890:119;5048:1;5073:53;5118:7;5109:6;5098:9;5094:22;5073:53;:::i;:::-;5063:63;;5019:117;5175:2;5201:53;5246:7;5237:6;5226:9;5222:22;5201:53;:::i;:::-;5191:63;;5146:118;5303:2;5329:53;5374:7;5365:6;5354:9;5350:22;5329:53;:::i;:::-;5319:63;;5274:118;4780:619;;;;;:::o;5405:663::-;5493:6;5501;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:64;5765:7;5756:6;5745:9;5741:22;5709:64;:::i;:::-;5699:74;;5655:128;5822:2;5848:64;5904:7;5895:6;5884:9;5880:22;5848:64;:::i;:::-;5838:74;;5793:129;5961:2;5987:64;6043:7;6034:6;6023:9;6019:22;5987:64;:::i;:::-;5977:74;;5932:129;5405:663;;;;;:::o;6074:179::-;6143:10;6164:46;6206:3;6198:6;6164:46;:::i;:::-;6242:4;6237:3;6233:14;6219:28;;6074:179;;;;:::o;6259:147::-;6354:45;6393:5;6354:45;:::i;:::-;6349:3;6342:58;6259:147;;:::o;6412:108::-;6489:24;6507:5;6489:24;:::i;:::-;6484:3;6477:37;6412:108;;:::o;6526:118::-;6613:24;6631:5;6613:24;:::i;:::-;6608:3;6601:37;6526:118;;:::o;6680:732::-;6799:3;6828:54;6876:5;6828:54;:::i;:::-;6898:86;6977:6;6972:3;6898:86;:::i;:::-;6891:93;;7008:56;7058:5;7008:56;:::i;:::-;7087:7;7118:1;7103:284;7128:6;7125:1;7122:13;7103:284;;;7204:6;7198:13;7231:63;7290:3;7275:13;7231:63;:::i;:::-;7224:70;;7317:60;7370:6;7317:60;:::i;:::-;7307:70;;7163:224;7150:1;7147;7143:9;7138:14;;7103:284;;;7107:14;7403:3;7396:10;;6804:608;;;6680:732;;;;:::o;7418:109::-;7499:21;7514:5;7499:21;:::i;:::-;7494:3;7487:34;7418:109;;:::o;7533:167::-;7638:55;7687:5;7638:55;:::i;:::-;7633:3;7626:68;7533:167;;:::o;7706:147::-;7801:45;7840:5;7801:45;:::i;:::-;7796:3;7789:58;7706:147;;:::o;7859:364::-;7947:3;7975:39;8008:5;7975:39;:::i;:::-;8030:71;8094:6;8089:3;8030:71;:::i;:::-;8023:78;;8110:52;8155:6;8150:3;8143:4;8136:5;8132:16;8110:52;:::i;:::-;8187:29;8209:6;8187:29;:::i;:::-;8182:3;8178:39;8171:46;;7951:272;7859:364;;;;:::o;8229:366::-;8371:3;8392:67;8456:2;8451:3;8392:67;:::i;:::-;8385:74;;8468:93;8557:3;8468:93;:::i;:::-;8586:2;8581:3;8577:12;8570:19;;8229:366;;;:::o;8601:::-;8743:3;8764:67;8828:2;8823:3;8764:67;:::i;:::-;8757:74;;8840:93;8929:3;8840:93;:::i;:::-;8958:2;8953:3;8949:12;8942:19;;8601:366;;;:::o;8973:::-;9115:3;9136:67;9200:2;9195:3;9136:67;:::i;:::-;9129:74;;9212:93;9301:3;9212:93;:::i;:::-;9330:2;9325:3;9321:12;9314:19;;8973:366;;;:::o;9345:::-;9487:3;9508:67;9572:2;9567:3;9508:67;:::i;:::-;9501:74;;9584:93;9673:3;9584:93;:::i;:::-;9702:2;9697:3;9693:12;9686:19;;9345:366;;;:::o;9717:::-;9859:3;9880:67;9944:2;9939:3;9880:67;:::i;:::-;9873:74;;9956:93;10045:3;9956:93;:::i;:::-;10074:2;10069:3;10065:12;10058:19;;9717:366;;;:::o;10089:365::-;10231:3;10252:66;10316:1;10311:3;10252:66;:::i;:::-;10245:73;;10327:93;10416:3;10327:93;:::i;:::-;10445:2;10440:3;10436:12;10429:19;;10089:365;;;:::o;10460:398::-;10619:3;10640:83;10721:1;10716:3;10640:83;:::i;:::-;10633:90;;10732:93;10821:3;10732:93;:::i;:::-;10850:1;10845:3;10841:11;10834:18;;10460:398;;;:::o;10864:366::-;11006:3;11027:67;11091:2;11086:3;11027:67;:::i;:::-;11020:74;;11103:93;11192:3;11103:93;:::i;:::-;11221:2;11216:3;11212:12;11205:19;;10864:366;;;:::o;11236:118::-;11323:24;11341:5;11323:24;:::i;:::-;11318:3;11311:37;11236:118;;:::o;11360:112::-;11443:22;11459:5;11443:22;:::i;:::-;11438:3;11431:35;11360:112;;:::o;11478:379::-;11662:3;11684:147;11827:3;11684:147;:::i;:::-;11677:154;;11848:3;11841:10;;11478:379;;;:::o;11863:222::-;11956:4;11994:2;11983:9;11979:18;11971:26;;12007:71;12075:1;12064:9;12060:17;12051:6;12007:71;:::i;:::-;11863:222;;;;:::o;12091:238::-;12192:4;12230:2;12219:9;12215:18;12207:26;;12243:79;12319:1;12308:9;12304:17;12295:6;12243:79;:::i;:::-;12091:238;;;;:::o;12335:807::-;12584:4;12622:3;12611:9;12607:19;12599:27;;12636:71;12704:1;12693:9;12689:17;12680:6;12636:71;:::i;:::-;12717:72;12785:2;12774:9;12770:18;12761:6;12717:72;:::i;:::-;12799:80;12875:2;12864:9;12860:18;12851:6;12799:80;:::i;:::-;12889;12965:2;12954:9;12950:18;12941:6;12889:80;:::i;:::-;12979:73;13047:3;13036:9;13032:19;13023:6;12979:73;:::i;:::-;13062;13130:3;13119:9;13115:19;13106:6;13062:73;:::i;:::-;12335:807;;;;;;;;;:::o;13148:210::-;13235:4;13273:2;13262:9;13258:18;13250:26;;13286:65;13348:1;13337:9;13333:17;13324:6;13286:65;:::i;:::-;13148:210;;;;:::o;13364:258::-;13475:4;13513:2;13502:9;13498:18;13490:26;;13526:89;13612:1;13601:9;13597:17;13588:6;13526:89;:::i;:::-;13364:258;;;;:::o;13628:313::-;13741:4;13779:2;13768:9;13764:18;13756:26;;13828:9;13822:4;13818:20;13814:1;13803:9;13799:17;13792:47;13856:78;13929:4;13920:6;13856:78;:::i;:::-;13848:86;;13628:313;;;;:::o;13947:419::-;14113:4;14151:2;14140:9;14136:18;14128:26;;14200:9;14194:4;14190:20;14186:1;14175:9;14171:17;14164:47;14228:131;14354:4;14228:131;:::i;:::-;14220:139;;13947:419;;;:::o;14372:::-;14538:4;14576:2;14565:9;14561:18;14553:26;;14625:9;14619:4;14615:20;14611:1;14600:9;14596:17;14589:47;14653:131;14779:4;14653:131;:::i;:::-;14645:139;;14372:419;;;:::o;14797:::-;14963:4;15001:2;14990:9;14986:18;14978:26;;15050:9;15044:4;15040:20;15036:1;15025:9;15021:17;15014:47;15078:131;15204:4;15078:131;:::i;:::-;15070:139;;14797:419;;;:::o;15222:::-;15388:4;15426:2;15415:9;15411:18;15403:26;;15475:9;15469:4;15465:20;15461:1;15450:9;15446:17;15439:47;15503:131;15629:4;15503:131;:::i;:::-;15495:139;;15222:419;;;:::o;15647:::-;15813:4;15851:2;15840:9;15836:18;15828:26;;15900:9;15894:4;15890:20;15886:1;15875:9;15871:17;15864:47;15928:131;16054:4;15928:131;:::i;:::-;15920:139;;15647:419;;;:::o;16072:::-;16238:4;16276:2;16265:9;16261:18;16253:26;;16325:9;16319:4;16315:20;16311:1;16300:9;16296:17;16289:47;16353:131;16479:4;16353:131;:::i;:::-;16345:139;;16072:419;;;:::o;16497:::-;16663:4;16701:2;16690:9;16686:18;16678:26;;16750:9;16744:4;16740:20;16736:1;16725:9;16721:17;16714:47;16778:131;16904:4;16778:131;:::i;:::-;16770:139;;16497:419;;;:::o;16922:222::-;17015:4;17053:2;17042:9;17038:18;17030:26;;17066:71;17134:1;17123:9;17119:17;17110:6;17066:71;:::i;:::-;16922:222;;;;:::o;17150:831::-;17413:4;17451:3;17440:9;17436:19;17428:27;;17465:71;17533:1;17522:9;17518:17;17509:6;17465:71;:::i;:::-;17546:80;17622:2;17611:9;17607:18;17598:6;17546:80;:::i;:::-;17673:9;17667:4;17663:20;17658:2;17647:9;17643:18;17636:48;17701:108;17804:4;17795:6;17701:108;:::i;:::-;17693:116;;17819:72;17887:2;17876:9;17872:18;17863:6;17819:72;:::i;:::-;17901:73;17969:3;17958:9;17954:19;17945:6;17901:73;:::i;:::-;17150:831;;;;;;;;:::o;17987:332::-;18108:4;18146:2;18135:9;18131:18;18123:26;;18159:71;18227:1;18216:9;18212:17;18203:6;18159:71;:::i;:::-;18240:72;18308:2;18297:9;18293:18;18284:6;18240:72;:::i;:::-;17987:332;;;;;:::o;18325:214::-;18414:4;18452:2;18441:9;18437:18;18429:26;;18465:67;18529:1;18518:9;18514:17;18505:6;18465:67;:::i;:::-;18325:214;;;;:::o;18626:132::-;18693:4;18716:3;18708:11;;18746:4;18741:3;18737:14;18729:22;;18626:132;;;:::o;18764:114::-;18831:6;18865:5;18859:12;18849:22;;18764:114;;;:::o;18884:99::-;18936:6;18970:5;18964:12;18954:22;;18884:99;;;:::o;18989:113::-;19059:4;19091;19086:3;19082:14;19074:22;;18989:113;;;:::o;19108:184::-;19207:11;19241:6;19236:3;19229:19;19281:4;19276:3;19272:14;19257:29;;19108:184;;;;:::o;19298:147::-;19399:11;19436:3;19421:18;;19298:147;;;;:::o;19451:169::-;19535:11;19569:6;19564:3;19557:19;19609:4;19604:3;19600:14;19585:29;;19451:169;;;;:::o;19626:305::-;19666:3;19685:20;19703:1;19685:20;:::i;:::-;19680:25;;19719:20;19737:1;19719:20;:::i;:::-;19714:25;;19873:1;19805:66;19801:74;19798:1;19795:81;19792:107;;;19879:18;;:::i;:::-;19792:107;19923:1;19920;19916:9;19909:16;;19626:305;;;;:::o;19937:185::-;19977:1;19994:20;20012:1;19994:20;:::i;:::-;19989:25;;20028:20;20046:1;20028:20;:::i;:::-;20023:25;;20067:1;20057:35;;20072:18;;:::i;:::-;20057:35;20114:1;20111;20107:9;20102:14;;19937:185;;;;:::o;20128:348::-;20168:7;20191:20;20209:1;20191:20;:::i;:::-;20186:25;;20225:20;20243:1;20225:20;:::i;:::-;20220:25;;20413:1;20345:66;20341:74;20338:1;20335:81;20330:1;20323:9;20316:17;20312:105;20309:131;;;20420:18;;:::i;:::-;20309:131;20468:1;20465;20461:9;20450:20;;20128:348;;;;:::o;20482:191::-;20522:4;20542:20;20560:1;20542:20;:::i;:::-;20537:25;;20576:20;20594:1;20576:20;:::i;:::-;20571:25;;20615:1;20612;20609:8;20606:34;;;20620:18;;:::i;:::-;20606:34;20665:1;20662;20658:9;20650:17;;20482:191;;;;:::o;20679:96::-;20716:7;20745:24;20763:5;20745:24;:::i;:::-;20734:35;;20679:96;;;:::o;20781:104::-;20826:7;20855:24;20873:5;20855:24;:::i;:::-;20844:35;;20781:104;;;:::o;20891:90::-;20925:7;20968:5;20961:13;20954:21;20943:32;;20891:90;;;:::o;20987:126::-;21024:7;21064:42;21057:5;21053:54;21042:65;;20987:126;;;:::o;21119:77::-;21156:7;21185:5;21174:16;;21119:77;;;:::o;21202:86::-;21237:7;21277:4;21270:5;21266:16;21255:27;;21202:86;;;:::o;21294:134::-;21352:9;21385:37;21416:5;21385:37;:::i;:::-;21372:50;;21294:134;;;:::o;21434:144::-;21502:9;21535:37;21566:5;21535:37;:::i;:::-;21522:50;;21434:144;;;:::o;21584:121::-;21642:9;21675:24;21693:5;21675:24;:::i;:::-;21662:37;;21584:121;;;:::o;21711:126::-;21761:9;21794:37;21825:5;21794:37;:::i;:::-;21781:50;;21711:126;;;:::o;21843:113::-;21893:9;21926:24;21944:5;21926:24;:::i;:::-;21913:37;;21843:113;;;:::o;21962:307::-;22030:1;22040:113;22054:6;22051:1;22048:13;22040:113;;;22139:1;22134:3;22130:11;22124:18;22120:1;22115:3;22111:11;22104:39;22076:2;22073:1;22069:10;22064:15;;22040:113;;;22171:6;22168:1;22165:13;22162:101;;;22251:1;22242:6;22237:3;22233:16;22226:27;22162:101;22011:258;21962:307;;;:::o;22275:180::-;22323:77;22320:1;22313:88;22420:4;22417:1;22410:15;22444:4;22441:1;22434:15;22461:180;22509:77;22506:1;22499:88;22606:4;22603:1;22596:15;22630:4;22627:1;22620:15;22647:180;22695:77;22692:1;22685:88;22792:4;22789:1;22782:15;22816:4;22813:1;22806:15;22833:180;22881:77;22878:1;22871:88;22978:4;22975:1;22968:15;23002:4;22999:1;22992:15;23142:117;23251:1;23248;23241:12;23265:102;23306:6;23357:2;23353:7;23348:2;23341:5;23337:14;23333:28;23323:38;;23265:102;;;:::o;23373:224::-;23513:34;23509:1;23501:6;23497:14;23490:58;23582:7;23577:2;23569:6;23565:15;23558:32;23373:224;:::o;23603:167::-;23743:19;23739:1;23731:6;23727:14;23720:43;23603:167;:::o;23776:177::-;23916:29;23912:1;23904:6;23900:14;23893:53;23776:177;:::o;23959:180::-;24099:32;24095:1;24087:6;24083:14;24076:56;23959:180;:::o;24145:220::-;24285:34;24281:1;24273:6;24269:14;24262:58;24354:3;24349:2;24341:6;24337:15;24330:28;24145:220;:::o;24371:156::-;24511:8;24507:1;24499:6;24495:14;24488:32;24371:156;:::o;24533:114::-;;:::o;24653:161::-;24793:13;24789:1;24781:6;24777:14;24770:37;24653:161;:::o;24820:122::-;24893:24;24911:5;24893:24;:::i;:::-;24886:5;24883:35;24873:63;;24932:1;24929;24922:12;24873:63;24820:122;:::o;24948:138::-;25029:32;25055:5;25029:32;:::i;:::-;25022:5;25019:43;25009:71;;25076:1;25073;25066:12;25009:71;24948:138;:::o;25092:116::-;25162:21;25177:5;25162:21;:::i;:::-;25155:5;25152:32;25142:60;;25198:1;25195;25188:12;25142:60;25092:116;:::o;25214:122::-;25287:24;25305:5;25287:24;:::i;:::-;25280:5;25277:35;25267:63;;25326:1;25323;25316:12;25267:63;25214:122;:::o

Swarm Source

ipfs://9074aa22ed0ddf5368d12de27f67a4049f92e31986f67db9049301f0aa0c863a

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.