ETH Price: $3,396.50 (+2.00%)

Contract

0xC083f4777F44b1cc79EB3DDb996d4626Bc2eDB01
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $3,396.50/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Transfer201721122024-06-25 23:54:35186 days ago1719359675IN
0xC083f477...6Bc2eDB01
0 ETH0.000623992.41240295
Approve196065522024-04-07 21:40:59265 days ago1712526059IN
0xC083f477...6Bc2eDB01
0 ETH0.000367215.21159027
Approve182802372023-10-04 22:48:47451 days ago1696459727IN
0xC083f477...6Bc2eDB01
0 ETH0.00030376.54194783
Approve182802342023-10-04 22:48:11451 days ago1696459691IN
0xC083f477...6Bc2eDB01
0 ETH0.000291876.28724465
Transfer181075762023-09-10 17:50:35475 days ago1694368235IN
0xC083f477...6Bc2eDB01
0 ETH0.0006186611.32029551
Transfer181062452023-09-10 13:22:35475 days ago1694352155IN
0xC083f477...6Bc2eDB01
0 ETH0.0027592210.13154811
Approve179812702023-08-24 1:25:11493 days ago1692840311IN
0xC083f477...6Bc2eDB01
0 ETH0.0003283313.60147577
Approve178492322023-08-05 14:01:47511 days ago1691244107IN
0xC083f477...6Bc2eDB01
0 ETH0.0004067416.84949181
Approve174676302023-06-13 0:50:23565 days ago1686617423IN
0xC083f477...6Bc2eDB01
0 ETH0.0007094215.36490256
Approve168442132023-03-17 1:17:11653 days ago1679015831IN
0xC083f477...6Bc2eDB01
0 ETH0.0003759915.5756772
Transfer167480292023-03-03 12:37:59666 days ago1677847079IN
0xC083f477...6Bc2eDB01
0 ETH0.0013818625.29083564
Transfer167429292023-03-02 19:25:35667 days ago1677785135IN
0xC083f477...6Bc2eDB01
0 ETH0.0018456925.72787224
Approve167086092023-02-25 23:39:35672 days ago1677368375IN
0xC083f477...6Bc2eDB01
0 ETH0.0004298717.80742995
Approve166743952023-02-21 4:05:59677 days ago1676952359IN
0xC083f477...6Bc2eDB01
0 ETH0.0010896623.47193729
Approve166642182023-02-19 17:48:11678 days ago1676828891IN
0xC083f477...6Bc2eDB01
0 ETH0.0005887224.38813647
Approve166642182023-02-19 17:48:11678 days ago1676828891IN
0xC083f477...6Bc2eDB01
0 ETH0.0005901924.38813647
Approve166602902023-02-19 4:33:11679 days ago1676781191IN
0xC083f477...6Bc2eDB01
0 ETH0.0010720523.09272471
Transfer166436412023-02-16 20:20:47681 days ago1676578847IN
0xC083f477...6Bc2eDB01
0 ETH0.0042148749.61130538
Approve166305102023-02-15 0:17:47683 days ago1676420267IN
0xC083f477...6Bc2eDB01
0 ETH0.0009271238.40600507
Transfer166231782023-02-13 23:40:35684 days ago1676331635IN
0xC083f477...6Bc2eDB01
0 ETH0.0019166522.55997722
Approve166003592023-02-10 19:10:59687 days ago1676056259IN
0xC083f477...6Bc2eDB01
0 ETH0.0005443222.54885577
Transfer165973192023-02-10 8:59:35687 days ago1676019575IN
0xC083f477...6Bc2eDB01
0 ETH0.0013313924.36180589
Transfer165915952023-02-09 13:48:47688 days ago1675950527IN
0xC083f477...6Bc2eDB01
0 ETH0.0014056725.72090947
Transfer165892392023-02-09 5:53:59689 days ago1675922039IN
0xC083f477...6Bc2eDB01
0 ETH0.0011913521.79938858
Transfer165884082023-02-09 3:06:47689 days ago1675912007IN
0xC083f477...6Bc2eDB01
0 ETH0.0041930976.72490139
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201721122024-06-25 23:54:35186 days ago1719359675
0xC083f477...6Bc2eDB01
0.00006555 ETH
201721122024-06-25 23:54:35186 days ago1719359675
0xC083f477...6Bc2eDB01
0.00039331 ETH
201721122024-06-25 23:54:35186 days ago1719359675
0xC083f477...6Bc2eDB01
0.00045887 ETH
182802692023-10-04 22:55:11451 days ago1696460111
0xC083f477...6Bc2eDB01
0.00006615 ETH
182802692023-10-04 22:55:11451 days ago1696460111
0xC083f477...6Bc2eDB01
0.00039695 ETH
182802692023-10-04 22:55:11451 days ago1696460111
0xC083f477...6Bc2eDB01
0.00046311 ETH
182802482023-10-04 22:50:59451 days ago1696459859
0xC083f477...6Bc2eDB01
0.00006779 ETH
182802482023-10-04 22:50:59451 days ago1696459859
0xC083f477...6Bc2eDB01
0.00040675 ETH
182802482023-10-04 22:50:59451 days ago1696459859
0xC083f477...6Bc2eDB01
0.00047455 ETH
181062452023-09-10 13:22:35475 days ago1694352155
0xC083f477...6Bc2eDB01
0.00006545 ETH
181062452023-09-10 13:22:35475 days ago1694352155
0xC083f477...6Bc2eDB01
0.00039272 ETH
181062452023-09-10 13:22:35475 days ago1694352155
0xC083f477...6Bc2eDB01
0.00045817 ETH
165706392023-02-06 15:27:59691 days ago1675697279
0xC083f477...6Bc2eDB01
0.00071481 ETH
165706392023-02-06 15:27:59691 days ago1675697279
0xC083f477...6Bc2eDB01
0.00428891 ETH
165706392023-02-06 15:27:59691 days ago1675697279
0xC083f477...6Bc2eDB01
0.00500373 ETH
165705802023-02-06 15:16:11691 days ago1675696571
0xC083f477...6Bc2eDB01
0.00071578 ETH
165705802023-02-06 15:16:11691 days ago1675696571
0xC083f477...6Bc2eDB01
0.00429472 ETH
165705802023-02-06 15:16:11691 days ago1675696571
0xC083f477...6Bc2eDB01
0.0050105 ETH
165704572023-02-06 14:51:23691 days ago1675695083
0xC083f477...6Bc2eDB01
0.00073301 ETH
165704572023-02-06 14:51:23691 days ago1675695083
0xC083f477...6Bc2eDB01
0.00439806 ETH
165704572023-02-06 14:51:23691 days ago1675695083
0xC083f477...6Bc2eDB01
0.00513108 ETH
165704502023-02-06 14:49:59691 days ago1675694999
0xC083f477...6Bc2eDB01
0.00073401 ETH
165704502023-02-06 14:49:59691 days ago1675694999
0xC083f477...6Bc2eDB01
0.0044041 ETH
165704502023-02-06 14:49:59691 days ago1675694999
0xC083f477...6Bc2eDB01
0.00513812 ETH
165704442023-02-06 14:48:47691 days ago1675694927
0xC083f477...6Bc2eDB01
0.00073502 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20TALEOFHACHIKO

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.14;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    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) external onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) external onlyOwner {
        require(adr != owner, "OWNER cant be unauthorized");
        authorizations[adr] = false;
    }

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

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

    function transferOwnership(address payable _newOwner) external onlyOwner {
        authorizations[owner] = false;
        owner = _newOwner;
        authorizations[owner] = true;
        emit OwnershipTransferred(owner);
    }

    function renounceOwnership() external onlyOwner {
        authorizations[owner] = false;
        owner = address(0);
        emit OwnershipTransferred(owner);
    }

    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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract ERC20TALEOFHACHIKO is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Tale Of Hachiko";
    string public constant symbol = "tHACHI";
    uint8 public constant decimals = 9;

    uint256 public constant totalSupply = 5 * 10**6 * 10**decimals;

    uint256 public _maxTxAmount = totalSupply / 100;
    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

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

    uint256 public liquidityFee = 10;
    uint256 public marketingFee = 30;
    uint256 public totalFee = marketingFee + liquidityFee;
    uint256 public constant feeDenominator = 1000;

    uint256 sellMultiplier = 2250;
    uint256 buyMultiplier = 2250;
    uint256 transferMultiplier = 2250;

    address public marketingFeeReceiver;
    address public autoLpReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;

    bool public swapEnabled = true;
    uint256 public swapThreshold = totalSupply / 500;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0xCaD3bA40091d3DdDa7c5c4b0aaFeAECa2f9c845A;
        autoLpReceiver = msg.sender;

        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;
        isWalletLimitExempt[ZERO] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    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 setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 5,"Cannot set max wallet less than 0.5%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }
    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
        _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
    }

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

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }

        if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");

        if(shouldSwapBack()){ swapBack(); }

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

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[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
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function goLive() external onlyOwner {
        tradingOpen = true;
    }

    function swapBack() internal swapping {

        uint256 totalETHFee = totalFee;

        uint256 amountToLiquify = (swapThreshold * liquidityFee)/(totalETHFee * 2);
        uint256 amountToSwap = swapThreshold - amountToLiquify;

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance;

        totalETHFee = totalETHFee - (liquidityFee / 2);
        
        uint256 amountETHLiquidity = (amountETH * liquidityFee) / (totalETHFee * 2);
        uint256 amountETHMarketing = (amountETH * marketingFee) / totalETHFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLpReceiver,
                block.timestamp
            );
        }
    }

    function manage_FeeExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function manage_TxLimitExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isTxLimitExempt[addresses[i]] = status;
        }
    }

    function manage_WalletLimitExempt(address[] calldata addresses, bool status) external authorized {
        for (uint256 i=0; i < addresses.length; ++i) {
            isWalletLimitExempt[addresses[i]] = status;
        }
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external authorized {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
    }

    function setFees_base1000(uint256 _liquidityFee,  uint256 _marketingFee) external onlyOwner {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;

        totalFee = liquidityFee + marketingFee;
    }

    function setMarketingWallet(address _marketingFeeReceiver) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":"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":"_maxWalletToken","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":[],"name":"autoLpReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFees_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_newOwner","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"}]

60c06040526064620000146009600a62000565565b6200002390624c4b406200057d565b6200002f91906200059f565b6002556064620000426009600a62000565565b6200005190624c4b406200057d565b6200005d91906200059f565b600355600a6009819055601e808255620000789190620005c2565b600b556108ca600c819055600d819055600e556011805461ffff60a01b1916600160a81b1790556101f4620000b06009600a62000565565b620000bf90624c4b406200057d565b620000cb91906200059f565b601255348015620000db57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560118054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001889190620005dd565b6001600160a01b039081166080526011546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ff9190620005dd565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002779190620005dd565b6001600160a01b0390811660a05230600081815260056020908152604080832060115490951683529381528382206000199055600f805473cad3ba40091d3ddda7c5c4b0aafeaeca2f9c845a6001600160a01b0319918216179091556010805433921682179055825260068152838220805460ff1990811660019081179092556007835285842080548216831790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548216831790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df80548216831790556008909252848320805483168217905592825292812080548416831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805484168317905580527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c78054909216179055620003d86009600a62000565565b620003e790624c4b406200057d565b33600081815260046020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200042a6009600a62000565565b6200043990624c4b406200057d565b60405190815260200160405180910390a362000608565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004a75781600019048211156200048b576200048b62000450565b808516156200049957918102915b93841c93908002906200046b565b509250929050565b600082620004c0575060016200055f565b81620004cf575060006200055f565b8160018114620004e85760028114620004f35762000513565b60019150506200055f565b60ff84111562000507576200050762000450565b50506001821b6200055f565b5060208310610133831016604e8410600b841016171562000538575081810a6200055f565b62000544838362000466565b80600019048211156200055b576200055b62000450565b0290505b92915050565b60006200057660ff841683620004af565b9392505050565b60008160001904831182151516156200059a576200059a62000450565b500290565b600082620005bd57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620005d857620005d862000450565b500190565b600060208284031215620005f057600080fd5b81516001600160a01b03811681146200057657600080fd5b60805160a0516123586200064a600039600081816106e40152818161149b0152818161182401528181611b4d0152611b810152600061192f01526123586000f3fe60806040526004361061027f5760003560e01c8063715018a61161014f578063b6a5d7de116100c1578063f0b37c041161007a578063f0b37c041461081c578063f2fde38b1461083c578063f7f7331b1461085c578063f887ea401461087c578063fe9fbb801461089c578063ffb54a99146108bc57600080fd5b8063b6a5d7de14610726578063bd9ab53714610746578063c867d60b14610766578063dd62ed3e14610796578063df20fd49146107dc578063e96fada2146107fc57600080fd5b8063893d20e811610113578063893d20e81461063c5780638b42507f1461065a57806395d89b411461068a57806398118cb4146106bc578063a8aa1b31146106d2578063a9059cbb1461070657600080fd5b8063715018a6146105a35780637460234b146105b857806377b54bad146105f057806378109e54146106105780637d1db4a51461062657600080fd5b80632b112e49116101f3578063571ac8b0116101ac578063571ac8b0146104df5780635d098b38146104ff5780636b67c4df1461051f5780636ce46bc3146105355780636ddd17131461055557806370a082311461057657600080fd5b80632b112e491461040f5780632c28f579146104245780632f54bf6e14610439578063313ce567146104685780633f4218e01461048f5780634be9d869146104bf57600080fd5b8063095ea7b311610245578063095ea7b31461035e578063180b0d7e1461038e57806318160ddd146103a45780631da1db5e146103b95780631df4ccfc146103d957806323b872dd146103ef57600080fd5b80621086831461028b578062bff446146102ad5780630445b667146102cd57806306fdde03146102f657806309302dc61461033e57600080fd5b3661028657005b600080fd5b34801561029757600080fd5b506102ab6102a6366004611e28565b6108dd565b005b3480156102b957600080fd5b506102ab6102c8366004611e28565b610980565b3480156102d957600080fd5b506102e360125481565b6040519081526020015b60405180910390f35b34801561030257600080fd5b506103316040518060400160405280600f81526020016e54616c65204f662048616368696b6f60881b81525081565b6040516102ed9190611eae565b34801561034a57600080fd5b506102ab610359366004611f03565b610a14565b34801561036a57600080fd5b5061037e610379366004611f31565b610ad2565b60405190151581526020016102ed565b34801561039a57600080fd5b506102e36103e881565b3480156103b057600080fd5b506102e3610b3f565b3480156103c557600080fd5b506102ab6103d4366004611f03565b610b5b565b3480156103e557600080fd5b506102e3600b5481565b3480156103fb57600080fd5b5061037e61040a366004611f5d565b610bce565b34801561041b57600080fd5b506102e3610c90565b34801561043057600080fd5b506102ab610d16565b34801561044557600080fd5b5061037e610454366004611f9e565b6000546001600160a01b0391821691161490565b34801561047457600080fd5b5061047d600981565b60405160ff90911681526020016102ed565b34801561049b57600080fd5b5061037e6104aa366004611f9e565b60066020526000908152604090205460ff1681565b3480156104cb57600080fd5b506102ab6104da366004611e28565b610d55565b3480156104eb57600080fd5b5061037e6104fa366004611f9e565b610de9565b34801561050b57600080fd5b506102ab61051a366004611f9e565b610df7565b34801561052b57600080fd5b506102e3600a5481565b34801561054157600080fd5b506102ab610550366004611fbb565b610e43565b34801561056157600080fd5b5060115461037e90600160a81b900460ff1681565b34801561058257600080fd5b506102e3610591366004611f9e565b60046020526000908152604090205481565b3480156105af57600080fd5b506102ab610e79565b3480156105c457600080fd5b506010546105d8906001600160a01b031681565b6040516001600160a01b0390911681526020016102ed565b3480156105fc57600080fd5b5061037e61060b366004611f31565b610f05565b34801561061c57600080fd5b506102e360035481565b34801561063257600080fd5b506102e360025481565b34801561064857600080fd5b506000546001600160a01b03166105d8565b34801561066657600080fd5b5061037e610675366004611f9e565b60076020526000908152604090205460ff1681565b34801561069657600080fd5b506103316040518060400160405280600681526020016574484143484960d01b81525081565b3480156106c857600080fd5b506102e360095481565b3480156106de57600080fd5b506105d87f000000000000000000000000000000000000000000000000000000000000000081565b34801561071257600080fd5b5061037e610721366004611f31565b611014565b34801561073257600080fd5b506102ab610741366004611f9e565b611021565b34801561075257600080fd5b506102ab610761366004611f03565b611072565b34801561077257600080fd5b5061037e610781366004611f9e565b60086020526000908152604090205460ff1681565b3480156107a257600080fd5b506102e36107b1366004611fe7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156107e857600080fd5b506102ab6107f7366004612020565b611136565b34801561080857600080fd5b50600f546105d8906001600160a01b031681565b34801561082857600080fd5b506102ab610837366004611f9e565b611182565b34801561084857600080fd5b506102ab610857366004611f9e565b61122b565b34801561086857600080fd5b506102ab61087736600461203e565b6112d7565b34801561088857600080fd5b506011546105d8906001600160a01b031681565b3480156108a857600080fd5b5061037e6108b7366004611f9e565b61131c565b3480156108c857600080fd5b5060115461037e90600160a01b900460ff1681565b6108e63361131c565b61090b5760405162461bcd60e51b815260040161090290612060565b60405180910390fd5b60005b8281101561097a57816008600086868581811061092d5761092d612085565b90506020020160208101906109429190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610973816120b1565b905061090e565b50505050565b6109893361131c565b6109a55760405162461bcd60e51b815260040161090290612060565b60005b8281101561097a5781600660008686858181106109c7576109c7612085565b90506020020160208101906109dc9190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610a0d816120b1565b90506109a8565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b8152600401610902906120ca565b6005811015610a9b5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610902565b6103e881610aab6009600a6121ce565b610ab890624c4b406121dd565b610ac291906121dd565b610acc91906121fc565b60035550565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b2d9086815260200190565b60405180910390a35060015b92915050565b610b4b6009600a6121ce565b610b5890624c4b406121dd565b81565b6000546001600160a01b03163314610b855760405162461bcd60e51b8152600401610902906120ca565b4760006064610b9484846121dd565b610b9e91906121fc565b604051909150339082156108fc029083906000818181858888f1935050505015801561097a573d6000803e3d6000fd5b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610c7b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610c5691849061133a565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610c86848484611374565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610cf06009600a6121ce565b610cfd90624c4b406121dd565b610d07919061221e565b610d11919061221e565b905090565b6000546001600160a01b03163314610d405760405162461bcd60e51b8152600401610902906120ca565b6011805460ff60a01b1916600160a01b179055565b610d5e3361131c565b610d7a5760405162461bcd60e51b815260040161090290612060565b60005b8281101561097a578160076000868685818110610d9c57610d9c612085565b9050602002016020810190610db19190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610de2816120b1565b9050610d7d565b6000610b3982600019610ad2565b6000546001600160a01b03163314610e215760405162461bcd60e51b8152600401610902906120ca565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610e4c3361131c565b610e685760405162461bcd60e51b815260040161090290612060565b600c91909155600d91909155600e55565b6000546001600160a01b03163314610ea35760405162461bcd60e51b8152600401610902906120ca565b600080546001600160a01b03168152600160209081526040808320805460ff1916905582546001600160a01b0319168355519182527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a1565b600080546001600160a01b03163314610f305760405162461bcd60e51b8152600401610902906120ca565b81600003610fa3576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa09190612235565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061224e565b6000610c89338484611374565b6000546001600160a01b0316331461104b5760405162461bcd60e51b8152600401610902906120ca565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b0316331461109c5760405162461bcd60e51b8152600401610902906120ca565b60058110156110ff5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610902565b6103e88161110f6009600a6121ce565b61111c90624c4b406121dd565b61112691906121dd565b61113091906121fc565b60025550565b6000546001600160a01b031633146111605760405162461bcd60e51b8152600401610902906120ca565b60118054921515600160a81b0260ff60a81b1990931692909217909155601255565b6000546001600160a01b031633146111ac5760405162461bcd60e51b8152600401610902906120ca565b6000546001600160a01b039081169082160361120a5760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610902565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146112555760405162461bcd60e51b8152600401610902906120ca565b600080546001600160a01b039081168252600160208181526040808520805460ff1990811690915585546001600160a01b03191687861690811787558652818620805490911690931790925592549051911681527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6000546001600160a01b031633146113015760405162461bcd60e51b8152600401610902906120ca565b6009829055600a819055611315818361226b565b600b555050565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818484111561135e5760405162461bcd60e51b81526004016109029190611eae565b50600061136b848661221e565b95945050505050565b60135460009060ff16156113945761138d848484611731565b9050610c89565b6001600160a01b03841660009081526001602052604090205460ff161580156113d657506001600160a01b03831660009081526001602052604090205460ff16155b1561142b57601154600160a01b900460ff1661142b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610902565b6001600160a01b03841660009081526001602052604090205460ff1615801561146d57506001600160a01b03841660009081526008602052604090205460ff16155b801561149257506001600160a01b03831660009081526008602052604090205460ff16155b80156114d057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561154a576003546001600160a01b0384166000908152600460205260409020546114fc90849061226b565b111561154a5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610902565b6002548211158061157357506001600160a01b03841660009081526007602052604090205460ff165b8061159657506001600160a01b03831660009081526007602052604090205460ff165b6115da5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610902565b6115e2611817565b156115ef576115ef61188a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461164191849061133a565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff168061168e57506001600160a01b03841660009081526006602052604090205460ff165b6116a25761169d858486611b25565b6116a4565b825b6001600160a01b0385166000908152600460205260409020549091506116ca9082611c84565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061171e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461178291849061133a565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546117b19083611c84565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118059086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611855575060135460ff16155b801561186a5750601154600160a81b900460ff165b8015610d1157505060125430600090815260046020526040902054101590565b6013805460ff19166001179055600b5460006118a78260026121dd565b6009546012546118b791906121dd565b6118c191906121fc565b90506000816012546118d3919061221e565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061190d5761190d612085565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061196157611961612085565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac947906119a7908590600090869030904290600401612283565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b50506009544792506119ea91506002906121fc565b6119f4908661221e565b94506000611a038660026121dd565b600954611a1090846121dd565b611a1a91906121fc565b9050600086600a5484611a2d91906121dd565b611a3791906121fc565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611a72573d6000803e3d6000fd5b508515611b125760115460105460405163f305d71960e01b81523060048201526024810189905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af1158015611ae9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b0e91906122f4565b5050505b50506013805460ff191690555050505050565b6000821580611b345750600b54155b15611b40575081610c89565b600e546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603611b7f5750600c54611bbd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611bbd5750600d545b6000611bf4611bcf6103e860646121dd565b611bee84611be8600b548a611ce390919063ffffffff16565b90611ce3565b90611d65565b90508015611c705730600090815260046020526040902054611c169082611c84565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c679085815260200190565b60405180910390a35b611c7a8582611da7565b9695505050505050565b600080611c91838561226b565b905083811015610c895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610902565b600082600003611cf557506000610b39565b6000611d0183856121dd565b905082611d0e85836121fc565b14610c895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610902565b6000610c8983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de9565b6000610c8983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133a565b60008183611e0a5760405162461bcd60e51b81526004016109029190611eae565b50600061136b84866121fc565b8015158114611e2557600080fd5b50565b600080600060408486031215611e3d57600080fd5b833567ffffffffffffffff80821115611e5557600080fd5b818601915086601f830112611e6957600080fd5b813581811115611e7857600080fd5b8760208260051b8501011115611e8d57600080fd5b60209283019550935050840135611ea381611e17565b809150509250925092565b600060208083528351808285015260005b81811015611edb57858101830151858201604001528201611ebf565b81811115611eed576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215611f1557600080fd5b5035919050565b6001600160a01b0381168114611e2557600080fd5b60008060408385031215611f4457600080fd5b8235611f4f81611f1c565b946020939093013593505050565b600080600060608486031215611f7257600080fd5b8335611f7d81611f1c565b92506020840135611f8d81611f1c565b929592945050506040919091013590565b600060208284031215611fb057600080fd5b8135610c8981611f1c565b600080600060608486031215611fd057600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611ffa57600080fd5b823561200581611f1c565b9150602083013561201581611f1c565b809150509250929050565b6000806040838503121561203357600080fd5b8235611f4f81611e17565b6000806040838503121561205157600080fd5b50508035926020909101359150565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120c3576120c361209b565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b8085111561212557816000190482111561210b5761210b61209b565b8085161561211857918102915b93841c93908002906120ef565b509250929050565b60008261213c57506001610b39565b8161214957506000610b39565b816001811461215f576002811461216957612185565b6001915050610b39565b60ff84111561217a5761217a61209b565b50506001821b610b39565b5060208310610133831016604e8410600b84101617156121a8575081810a610b39565b6121b283836120ea565b80600019048211156121c6576121c661209b565b029392505050565b6000610c8960ff84168361212d565b60008160001904831182151516156121f7576121f761209b565b500290565b60008261221957634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156122305761223061209b565b500390565b60006020828403121561224757600080fd5b5051919050565b60006020828403121561226057600080fd5b8151610c8981611e17565b6000821982111561227e5761227e61209b565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122d35784516001600160a01b0316835293830193918301916001016122ae565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561230957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208d066e849377c3b44aae8d5e2e65c55923314ab5ddbcebac4d28f4c499ee7da164736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061027f5760003560e01c8063715018a61161014f578063b6a5d7de116100c1578063f0b37c041161007a578063f0b37c041461081c578063f2fde38b1461083c578063f7f7331b1461085c578063f887ea401461087c578063fe9fbb801461089c578063ffb54a99146108bc57600080fd5b8063b6a5d7de14610726578063bd9ab53714610746578063c867d60b14610766578063dd62ed3e14610796578063df20fd49146107dc578063e96fada2146107fc57600080fd5b8063893d20e811610113578063893d20e81461063c5780638b42507f1461065a57806395d89b411461068a57806398118cb4146106bc578063a8aa1b31146106d2578063a9059cbb1461070657600080fd5b8063715018a6146105a35780637460234b146105b857806377b54bad146105f057806378109e54146106105780637d1db4a51461062657600080fd5b80632b112e49116101f3578063571ac8b0116101ac578063571ac8b0146104df5780635d098b38146104ff5780636b67c4df1461051f5780636ce46bc3146105355780636ddd17131461055557806370a082311461057657600080fd5b80632b112e491461040f5780632c28f579146104245780632f54bf6e14610439578063313ce567146104685780633f4218e01461048f5780634be9d869146104bf57600080fd5b8063095ea7b311610245578063095ea7b31461035e578063180b0d7e1461038e57806318160ddd146103a45780631da1db5e146103b95780631df4ccfc146103d957806323b872dd146103ef57600080fd5b80621086831461028b578062bff446146102ad5780630445b667146102cd57806306fdde03146102f657806309302dc61461033e57600080fd5b3661028657005b600080fd5b34801561029757600080fd5b506102ab6102a6366004611e28565b6108dd565b005b3480156102b957600080fd5b506102ab6102c8366004611e28565b610980565b3480156102d957600080fd5b506102e360125481565b6040519081526020015b60405180910390f35b34801561030257600080fd5b506103316040518060400160405280600f81526020016e54616c65204f662048616368696b6f60881b81525081565b6040516102ed9190611eae565b34801561034a57600080fd5b506102ab610359366004611f03565b610a14565b34801561036a57600080fd5b5061037e610379366004611f31565b610ad2565b60405190151581526020016102ed565b34801561039a57600080fd5b506102e36103e881565b3480156103b057600080fd5b506102e3610b3f565b3480156103c557600080fd5b506102ab6103d4366004611f03565b610b5b565b3480156103e557600080fd5b506102e3600b5481565b3480156103fb57600080fd5b5061037e61040a366004611f5d565b610bce565b34801561041b57600080fd5b506102e3610c90565b34801561043057600080fd5b506102ab610d16565b34801561044557600080fd5b5061037e610454366004611f9e565b6000546001600160a01b0391821691161490565b34801561047457600080fd5b5061047d600981565b60405160ff90911681526020016102ed565b34801561049b57600080fd5b5061037e6104aa366004611f9e565b60066020526000908152604090205460ff1681565b3480156104cb57600080fd5b506102ab6104da366004611e28565b610d55565b3480156104eb57600080fd5b5061037e6104fa366004611f9e565b610de9565b34801561050b57600080fd5b506102ab61051a366004611f9e565b610df7565b34801561052b57600080fd5b506102e3600a5481565b34801561054157600080fd5b506102ab610550366004611fbb565b610e43565b34801561056157600080fd5b5060115461037e90600160a81b900460ff1681565b34801561058257600080fd5b506102e3610591366004611f9e565b60046020526000908152604090205481565b3480156105af57600080fd5b506102ab610e79565b3480156105c457600080fd5b506010546105d8906001600160a01b031681565b6040516001600160a01b0390911681526020016102ed565b3480156105fc57600080fd5b5061037e61060b366004611f31565b610f05565b34801561061c57600080fd5b506102e360035481565b34801561063257600080fd5b506102e360025481565b34801561064857600080fd5b506000546001600160a01b03166105d8565b34801561066657600080fd5b5061037e610675366004611f9e565b60076020526000908152604090205460ff1681565b34801561069657600080fd5b506103316040518060400160405280600681526020016574484143484960d01b81525081565b3480156106c857600080fd5b506102e360095481565b3480156106de57600080fd5b506105d87f0000000000000000000000005ef60be2d6ef52239f691a5b165b25eddf3bd45a81565b34801561071257600080fd5b5061037e610721366004611f31565b611014565b34801561073257600080fd5b506102ab610741366004611f9e565b611021565b34801561075257600080fd5b506102ab610761366004611f03565b611072565b34801561077257600080fd5b5061037e610781366004611f9e565b60086020526000908152604090205460ff1681565b3480156107a257600080fd5b506102e36107b1366004611fe7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156107e857600080fd5b506102ab6107f7366004612020565b611136565b34801561080857600080fd5b50600f546105d8906001600160a01b031681565b34801561082857600080fd5b506102ab610837366004611f9e565b611182565b34801561084857600080fd5b506102ab610857366004611f9e565b61122b565b34801561086857600080fd5b506102ab61087736600461203e565b6112d7565b34801561088857600080fd5b506011546105d8906001600160a01b031681565b3480156108a857600080fd5b5061037e6108b7366004611f9e565b61131c565b3480156108c857600080fd5b5060115461037e90600160a01b900460ff1681565b6108e63361131c565b61090b5760405162461bcd60e51b815260040161090290612060565b60405180910390fd5b60005b8281101561097a57816008600086868581811061092d5761092d612085565b90506020020160208101906109429190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610973816120b1565b905061090e565b50505050565b6109893361131c565b6109a55760405162461bcd60e51b815260040161090290612060565b60005b8281101561097a5781600660008686858181106109c7576109c7612085565b90506020020160208101906109dc9190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610a0d816120b1565b90506109a8565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b8152600401610902906120ca565b6005811015610a9b5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610902565b6103e881610aab6009600a6121ce565b610ab890624c4b406121dd565b610ac291906121dd565b610acc91906121fc565b60035550565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b2d9086815260200190565b60405180910390a35060015b92915050565b610b4b6009600a6121ce565b610b5890624c4b406121dd565b81565b6000546001600160a01b03163314610b855760405162461bcd60e51b8152600401610902906120ca565b4760006064610b9484846121dd565b610b9e91906121fc565b604051909150339082156108fc029083906000818181858888f1935050505015801561097a573d6000803e3d6000fd5b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610c7b576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610c5691849061133a565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610c86848484611374565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54909190610cf06009600a6121ce565b610cfd90624c4b406121dd565b610d07919061221e565b610d11919061221e565b905090565b6000546001600160a01b03163314610d405760405162461bcd60e51b8152600401610902906120ca565b6011805460ff60a01b1916600160a01b179055565b610d5e3361131c565b610d7a5760405162461bcd60e51b815260040161090290612060565b60005b8281101561097a578160076000868685818110610d9c57610d9c612085565b9050602002016020810190610db19190611f9e565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610de2816120b1565b9050610d7d565b6000610b3982600019610ad2565b6000546001600160a01b03163314610e215760405162461bcd60e51b8152600401610902906120ca565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610e4c3361131c565b610e685760405162461bcd60e51b815260040161090290612060565b600c91909155600d91909155600e55565b6000546001600160a01b03163314610ea35760405162461bcd60e51b8152600401610902906120ca565b600080546001600160a01b03168152600160209081526040808320805460ff1916905582546001600160a01b0319168355519182527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a1565b600080546001600160a01b03163314610f305760405162461bcd60e51b8152600401610902906120ca565b81600003610fa3576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa09190612235565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c89919061224e565b6000610c89338484611374565b6000546001600160a01b0316331461104b5760405162461bcd60e51b8152600401610902906120ca565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b0316331461109c5760405162461bcd60e51b8152600401610902906120ca565b60058110156110ff5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610902565b6103e88161110f6009600a6121ce565b61111c90624c4b406121dd565b61112691906121dd565b61113091906121fc565b60025550565b6000546001600160a01b031633146111605760405162461bcd60e51b8152600401610902906120ca565b60118054921515600160a81b0260ff60a81b1990931692909217909155601255565b6000546001600160a01b031633146111ac5760405162461bcd60e51b8152600401610902906120ca565b6000546001600160a01b039081169082160361120a5760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610902565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146112555760405162461bcd60e51b8152600401610902906120ca565b600080546001600160a01b039081168252600160208181526040808520805460ff1990811690915585546001600160a01b03191687861690811787558652818620805490911690931790925592549051911681527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6000546001600160a01b031633146113015760405162461bcd60e51b8152600401610902906120ca565b6009829055600a819055611315818361226b565b600b555050565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818484111561135e5760405162461bcd60e51b81526004016109029190611eae565b50600061136b848661221e565b95945050505050565b60135460009060ff16156113945761138d848484611731565b9050610c89565b6001600160a01b03841660009081526001602052604090205460ff161580156113d657506001600160a01b03831660009081526001602052604090205460ff16155b1561142b57601154600160a01b900460ff1661142b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610902565b6001600160a01b03841660009081526001602052604090205460ff1615801561146d57506001600160a01b03841660009081526008602052604090205460ff16155b801561149257506001600160a01b03831660009081526008602052604090205460ff16155b80156114d057507f0000000000000000000000005ef60be2d6ef52239f691a5b165b25eddf3bd45a6001600160a01b0316836001600160a01b031614155b1561154a576003546001600160a01b0384166000908152600460205260409020546114fc90849061226b565b111561154a5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610902565b6002548211158061157357506001600160a01b03841660009081526007602052604090205460ff165b8061159657506001600160a01b03831660009081526007602052604090205460ff165b6115da5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610902565b6115e2611817565b156115ef576115ef61188a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526004909152919091205461164191849061133a565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff168061168e57506001600160a01b03841660009081526006602052604090205460ff165b6116a25761169d858486611b25565b6116a4565b825b6001600160a01b0385166000908152600460205260409020549091506116ca9082611c84565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061171e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461178291849061133a565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546117b19083611c84565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118059086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000005ef60be2d6ef52239f691a5b165b25eddf3bd45a1614801590611855575060135460ff16155b801561186a5750601154600160a81b900460ff165b8015610d1157505060125430600090815260046020526040902054101590565b6013805460ff19166001179055600b5460006118a78260026121dd565b6009546012546118b791906121dd565b6118c191906121fc565b90506000816012546118d3919061221e565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061190d5761190d612085565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061196157611961612085565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac947906119a7908590600090869030904290600401612283565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b50506009544792506119ea91506002906121fc565b6119f4908661221e565b94506000611a038660026121dd565b600954611a1090846121dd565b611a1a91906121fc565b9050600086600a5484611a2d91906121dd565b611a3791906121fc565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611a72573d6000803e3d6000fd5b508515611b125760115460105460405163f305d71960e01b81523060048201526024810189905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c40160606040518083038185885af1158015611ae9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b0e91906122f4565b5050505b50506013805460ff191690555050505050565b6000821580611b345750600b54155b15611b40575081610c89565b600e546001600160a01b037f0000000000000000000000005ef60be2d6ef52239f691a5b165b25eddf3bd45a811690841603611b7f5750600c54611bbd565b7f0000000000000000000000005ef60be2d6ef52239f691a5b165b25eddf3bd45a6001600160a01b0316856001600160a01b031603611bbd5750600d545b6000611bf4611bcf6103e860646121dd565b611bee84611be8600b548a611ce390919063ffffffff16565b90611ce3565b90611d65565b90508015611c705730600090815260046020526040902054611c169082611c84565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c679085815260200190565b60405180910390a35b611c7a8582611da7565b9695505050505050565b600080611c91838561226b565b905083811015610c895760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610902565b600082600003611cf557506000610b39565b6000611d0183856121dd565b905082611d0e85836121fc565b14610c895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610902565b6000610c8983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de9565b6000610c8983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133a565b60008183611e0a5760405162461bcd60e51b81526004016109029190611eae565b50600061136b84866121fc565b8015158114611e2557600080fd5b50565b600080600060408486031215611e3d57600080fd5b833567ffffffffffffffff80821115611e5557600080fd5b818601915086601f830112611e6957600080fd5b813581811115611e7857600080fd5b8760208260051b8501011115611e8d57600080fd5b60209283019550935050840135611ea381611e17565b809150509250925092565b600060208083528351808285015260005b81811015611edb57858101830151858201604001528201611ebf565b81811115611eed576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215611f1557600080fd5b5035919050565b6001600160a01b0381168114611e2557600080fd5b60008060408385031215611f4457600080fd5b8235611f4f81611f1c565b946020939093013593505050565b600080600060608486031215611f7257600080fd5b8335611f7d81611f1c565b92506020840135611f8d81611f1c565b929592945050506040919091013590565b600060208284031215611fb057600080fd5b8135610c8981611f1c565b600080600060608486031215611fd057600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611ffa57600080fd5b823561200581611f1c565b9150602083013561201581611f1c565b809150509250929050565b6000806040838503121561203357600080fd5b8235611f4f81611e17565b6000806040838503121561205157600080fd5b50508035926020909101359150565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120c3576120c361209b565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b8085111561212557816000190482111561210b5761210b61209b565b8085161561211857918102915b93841c93908002906120ef565b509250929050565b60008261213c57506001610b39565b8161214957506000610b39565b816001811461215f576002811461216957612185565b6001915050610b39565b60ff84111561217a5761217a61209b565b50506001821b610b39565b5060208310610133831016604e8410600b84101617156121a8575081810a610b39565b6121b283836120ea565b80600019048211156121c6576121c661209b565b029392505050565b6000610c8960ff84168361212d565b60008160001904831182151516156121f7576121f761209b565b500290565b60008261221957634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156122305761223061209b565b500390565b60006020828403121561224757600080fd5b5051919050565b60006020828403121561226057600080fd5b8151610c8981611e17565b6000821982111561227e5761227e61209b565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122d35784516001600160a01b0316835293830193918301916001016122ae565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561230957600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212208d066e849377c3b44aae8d5e2e65c55923314ab5ddbcebac4d28f4c499ee7da164736f6c634300080e0033

Deployed Bytecode Sourcemap

4014:9984:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12861:229;;;;;;;;;;-1:-1:-1;12861:229:0;;;;;:::i;:::-;;:::i;:::-;;12411:213;;;;;;;;;;-1:-1:-1;12411:213:0;;;;;:::i;:::-;;:::i;5424:48::-;;;;;;;;;;;;;;;;;;;1038:25:1;;;1026:2;1011:18;5424:48:0;;;;;;;;4276:47;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4276:47:0;;;;;;;;;;;;:::i;7611:261::-;;;;;;;;;;-1:-1:-1;7611:261:0;;;;;:::i;:::-;;:::i;6715:216::-;;;;;;;;;;-1:-1:-1;6715:216:0;;;;;:::i;:::-;;:::i;:::-;;;2482:14:1;;2475:22;2457:41;;2445:2;2430:18;6715:216:0;2317:187:1;5031:45:0;;;;;;;;;;;;5072:4;5031:45;;4420:62;;;;;;;;;;;;;:::i;10549:259::-;;;;;;;;;;-1:-1:-1;10549:259:0;;;;;:::i;:::-;;:::i;4971:53::-;;;;;;;;;;;;;;;;7233:370;;;;;;;;;;-1:-1:-1;7233:370:0;;;;;:::i;:::-;;:::i;13858:137::-;;;;;;;;;;;;;:::i;11108:74::-;;;;;;;;;;;;;:::i;2572:103::-;;;;;;;;;;-1:-1:-1;2572:103:0;;;;;:::i;:::-;2627:4;2662:5;-1:-1:-1;;;;;2651:16:0;;;2662:5;;2651:16;;2572:103;4377:34;;;;;;;;;;;;4410:1;4377:34;;;;;3394:4:1;3382:17;;;3364:36;;3352:2;3337:18;4377:34:0;3222:184:1;4726:44:0;;;;;;;;;;-1:-1:-1;4726:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12632:221;;;;;;;;;;-1:-1:-1;12632:221:0;;;;;:::i;:::-;;:::i;6939:122::-;;;;;;;;;;-1:-1:-1;6939:122:0;;;;;:::i;:::-;;:::i;13542:141::-;;;;;;;;;;-1:-1:-1;13542:141:0;;;;;:::i;:::-;;:::i;4932:32::-;;;;;;;;;;;;;;;;13098:199;;;;;;;;;;-1:-1:-1;13098:199:0;;;;;:::i;:::-;;:::i;5387:30::-;;;;;;;;;;-1:-1:-1;5387:30:0;;;;-1:-1:-1;;;5387:30:0;;;;;;4604:45;;;;;;;;;;-1:-1:-1;4604:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;3037:168;;;;;;;;;;;;;:::i;5240:29::-;;;;;;;;;;-1:-1:-1;5240:29:0;;;;-1:-1:-1;;;;;5240:29:0;;;;;;-1:-1:-1;;;;;3896:32:1;;;3878:51;;3866:2;3851:18;5240:29:0;3732:203:1;10816:284:0;;;;;;;;;;-1:-1:-1;10816:284:0;;;;;:::i;:::-;;:::i;4545:50::-;;;;;;;;;;;;;;;;4491:47;;;;;;;;;;;;;;;;6490:78;;;;;;;;;;-1:-1:-1;6542:7:0;6560:5;-1:-1:-1;;;;;6560:5:0;6490:78;;4777:48;;;;;;;;;;-1:-1:-1;4777:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4330:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4330:40:0;;;;;4893:32;;;;;;;;;;;;;;;;5309:29;;;;;;;;;;;;;;;7069:156;;;;;;;;;;-1:-1:-1;7069:156:0;;;;;:::i;:::-;;:::i;2299:96::-;;;;;;;;;;-1:-1:-1;2299:96:0;;;;;:::i;:::-;;:::i;7878:262::-;;;;;;;;;;-1:-1:-1;7878:262:0;;;;;:::i;:::-;;:::i;4832:52::-;;;;;;;;;;-1:-1:-1;4832:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6574:133;;;;;;;;;;-1:-1:-1;6574:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6676:19:0;;;6658:7;6676:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6574:133;13691:155;;;;;;;;;;-1:-1:-1;13691:155:0;;;;;:::i;:::-;;:::i;5198:35::-;;;;;;;;;;-1:-1:-1;5198:35:0;;;;-1:-1:-1;;;;;5198:35:0;;;2403:161;;;;;;;;;;-1:-1:-1;2403:161:0;;;;;:::i;:::-;;:::i;2798:231::-;;;;;;;;;;-1:-1:-1;2798:231:0;;;;;:::i;:::-;;:::i;13305:229::-;;;;;;;;;;-1:-1:-1;13305:229:0;;;;;:::i;:::-;;:::i;5278:24::-;;;;;;;;;;-1:-1:-1;5278:24:0;;;;-1:-1:-1;;;;;5278:24:0;;;2683:107;;;;;;;;;;-1:-1:-1;2683:107:0;;;;;:::i;:::-;;:::i;5347:31::-;;;;;;;;;;-1:-1:-1;5347:31:0;;;;-1:-1:-1;;;5347:31:0;;;;;;12861:229;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;;;;;;;;;12974:9:::1;12969:114;12987:20:::0;;::::1;12969:114;;;13065:6;13029:19;:33;13049:9;;13059:1;13049:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13029:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13029:33:0;:42;;-1:-1:-1;;13029:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13009:3:::1;::::0;::::1;:::i;:::-;;;12969:114;;;;12861:229:::0;;;:::o;12411:213::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;12516:9:::1;12511:106;12529:20:::0;;::::1;12511:106;;;12599:6;12571:11;:25;12583:9;;12593:1;12583:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12571:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12571:25:0;:34;;-1:-1:-1;;12571:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12551:3:::1;::::0;::::1;:::i;:::-;;;12511:106;;7611:261:::0;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;7747:1:::1;7720:23;:28;;7712:76;;;::::0;-1:-1:-1;;;7712:76:0;;6666:2:1;7712:76:0::1;::::0;::::1;6648:21:1::0;6705:2;6685:18;;;6678:30;6744:34;6724:18;;;6717:62;-1:-1:-1;;;6795:18:1;;;6788:34;6839:19;;7712:76:0::1;6464:400:1::0;7712:76:0::1;7860:4;7832:23:::0;4470:12:::1;4410:1;4470:2;:12;:::i;:::-;4458:24;::::0;:9:::1;:24;:::i;:::-;7818:37;;;;:::i;:::-;7817:47;;;;:::i;:::-;7799:15;:65:::0;-1:-1:-1;7611:261:0:o;6715:216::-;6819:10;6790:4;6807:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6807:32:0;;;;;;;;;;:41;;;6864:37;6790:4;;6807:32;;6864:37;;;;6842:6;1038:25:1;;1026:2;1011:18;;892:177;6864:37:0;;;;;;;;-1:-1:-1;6919:4:0;6715:216;;;;;:::o;4420:62::-;4470:12;4410:1;4470:2;:12;:::i;:::-;4458:24;;:9;:24;:::i;:::-;4420:62;:::o;10549:259::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10652:21:::1;10632:17;10743:3;10710:28;10722:16:::0;10652:21;10710:28:::1;:::i;:::-;10708:38;;;;:::i;:::-;10757:43;::::0;10684:62;;-1:-1:-1;10765:10:0::1;::::0;10757:43;::::1;;;::::0;10684:62;;10757:43:::1;::::0;;;10684:62;10765:10;10757:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;7233:370:::0;-1:-1:-1;;;;;7353:19:0;;7333:4;7353:19;;;:11;:19;;;;;;;;7373:10;7353:31;;;;;;;;-1:-1:-1;;7353:52:0;7350:186;;7455:69;;;;;;;;;;;-1:-1:-1;;;7455:69:0;;;;;;;;-1:-1:-1;;;;;7455:19:0;;-1:-1:-1;7455:19:0;;;:11;:19;;;;;7475:10;7455:31;;;;;;;;;;:69;;7491:6;;7455:35;:69::i;:::-;-1:-1:-1;;;;;7421:19:0;;;;;;:11;:19;;;;;;;;7441:10;7421:31;;;;;;;:103;7350:186;7555:40;7569:6;7577:9;7588:6;7555:13;:40::i;:::-;7548:47;;7233:370;;;;;;:::o;13858:137::-;13971:9;:15;;;;4152:42;13911:7;13953:15;;;;;13911:7;;13971:15;4470:12;4410:1;4470:2;:12;:::i;:::-;4458:24;;:9;:24;:::i;:::-;13939:29;;;;:::i;:::-;:47;;;;:::i;:::-;13931:56;;13858:137;:::o;11108:74::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;11156:11:::1;:18:::0;;-1:-1:-1;;;;11156:18:0::1;-1:-1:-1::0;;;11156:18:0::1;::::0;;11108:74::o;12632:221::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;12741:9:::1;12736:110;12754:20:::0;;::::1;12736:110;;;12828:6;12796:15;:29;12812:9;;12822:1;12812:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12796:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12796:29:0;:38;;-1:-1:-1;;12796:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12776:3:::1;::::0;::::1;:::i;:::-;;;12736:110;;6939:122:::0;6994:4;7018:35;7026:7;-1:-1:-1;;7018:7:0;:35::i;13542:141::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;13631:20:::1;:44:::0;;-1:-1:-1;;;;;;13631:44:0::1;-1:-1:-1::0;;;;;13631:44:0;;;::::1;::::0;;;::::1;::::0;;13542:141::o;13098:199::-;2240:24;2253:10;2240:12;:24::i;:::-;2232:48;;;;-1:-1:-1;;;2232:48:0;;;;;;;:::i;:::-;13198:14:::1;:22:::0;;;;13231:13:::1;:20:::0;;;;13262:18:::1;:27:::0;13098:199::o;3037:168::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;3120:5:::1;3111::::0;;-1:-1:-1;;;;;3111:5:0::1;3096:21:::0;;:14:::1;:21;::::0;;;;;;;:29;;-1:-1:-1;;3096:29:0::1;::::0;;3136:18;;-1:-1:-1;;;;;;3136:18:0::1;::::0;;3170:27;3878:51:1;;;3170:27:0::1;::::0;3851:18:1;3170:27:0::1;;;;;;;3037:168::o:0;10816:284::-;10907:12;2662:5;;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10935:6:::1;10945:1;10935:11:::0;10932:95:::1;;10971:44;::::0;-1:-1:-1;;;10971:44:0;;11009:4:::1;10971:44;::::0;::::1;3878:51:1::0;-1:-1:-1;;;;;10971:29:0;::::1;::::0;::::1;::::0;3851:18:1;;10971:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10962:53;;10932:95;11044:48;::::0;-1:-1:-1;;;11044:48:0;;11073:10:::1;11044:48;::::0;::::1;9140:51:1::0;9207:18;;;9200:34;;;-1:-1:-1;;;;;11044:28:0;::::1;::::0;::::1;::::0;9113:18:1;;11044:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7069:156::-:0;7149:4;7173:44;7187:10;7199:9;7210:6;7173:13;:44::i;2299:96::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2361:19:0::1;;::::0;;;2383:4:::1;2361:19;::::0;;;;;;;:26;;-1:-1:-1;;2361:26:0::1;::::0;;::::1;::::0;;2299:96::o;7878:262::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;8012:1:::1;7984:24;:29;;7976:82;;;::::0;-1:-1:-1;;;7976:82:0;;9697:2:1;7976:82:0::1;::::0;::::1;9679:21:1::0;9736:2;9716:18;;;9709:30;9775:34;9755:18;;;9748:62;-1:-1:-1;;;9826:18:1;;;9819:39;9875:19;;7976:82:0::1;9495:405:1::0;7976:82:0::1;8128:4;8099:24:::0;4470:12:::1;4410:1;4470:2;:12;:::i;:::-;4458:24;::::0;:9:::1;:24;:::i;:::-;8085:38;;;;:::i;:::-;8084:48;;;;:::i;:::-;8069:12;:63:::0;-1:-1:-1;7878:262:0:o;13691:155::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;13782:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;13782:22:0::1;-1:-1:-1::0;;;;13782:22:0;;::::1;::::0;;;::::1;::::0;;;13815:13:::1;:23:::0;13691:155::o;2403:161::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;2482:5:::1;::::0;-1:-1:-1;;;;;2482:5:0;;::::1;2475:12:::0;;::::1;::::0;2467:51:::1;;;::::0;-1:-1:-1;;;2467:51:0;;10107:2:1;2467:51:0::1;::::0;::::1;10089:21:1::0;10146:2;10126:18;;;10119:30;10185:28;10165:18;;;10158:56;10231:18;;2467:51:0::1;9905:350:1::0;2467:51:0::1;-1:-1:-1::0;;;;;2529:19:0::1;2551:5;2529:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2529:27:0::1;::::0;;2403:161::o;2798:231::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;2906:5:::1;2897::::0;;-1:-1:-1;;;;;2897:5:0;;::::1;2882:21:::0;;:14:::1;:21;::::0;;;;;;;:29;;-1:-1:-1;;2882:29:0;;::::1;::::0;;;2922:17;;-1:-1:-1;;;;;;2922:17:0::1;::::0;;::::1;::::0;;::::1;::::0;;2950:21;;;;;:28;;;;::::1;::::0;;::::1;::::0;;;3015:5;;2994:27;;3015:5;::::1;3878:51:1::0;;2994:27:0::1;::::0;3851:18:1;2994:27:0::1;;;;;;;2798:231:::0;:::o;13305:229::-;2627:4;2662:5;-1:-1:-1;;;;;2662:5:0;2158:10;2651:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;13408:12:::1;:28:::0;;;13447:12:::1;:28:::0;;;13499:27:::1;13462:13:::0;13423;13499:27:::1;:::i;:::-;13488:8;:38:::0;-1:-1:-1;;13305:229:0:o;2683:107::-;-1:-1:-1;;;;;2763:19:0;2739:4;2763:19;;;:14;:19;;;;;;;;;2683:107::o;422:192::-;508:7;544:12;536:6;;;;528:29;;;;-1:-1:-1;;;528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;568:9:0;580:5;584:1;580;:5;:::i;:::-;568:17;422:192;-1:-1:-1;;;;;422:192:0:o;8148:1115::-;8260:6;;8240:4;;8260:6;;8257:63;;;8276:41;8291:6;8299:9;8310:6;8276:14;:41::i;:::-;8269:48;;;;8257:63;-1:-1:-1;;;;;8336:22:0;;;;;;:14;:22;;;;;;;;8335:23;:53;;;;-1:-1:-1;;;;;;8363:25:0;;;;;;:14;:25;;;;;;;;8362:26;8335:53;8332:127;;;8412:11;;-1:-1:-1;;;8412:11:0;;;;8404:43;;;;-1:-1:-1;;;8404:43:0;;10595:2:1;8404:43:0;;;10577:21:1;10634:2;10614:18;;;10607:30;-1:-1:-1;;;10653:18:1;;;10646:50;10713:18;;8404:43:0;10393:344:1;8404:43:0;-1:-1:-1;;;;;8476:22:0;;;;;;:14;:22;;;;;;;;8475:23;:55;;;;-1:-1:-1;;;;;;8503:27:0;;;;;;:19;:27;;;;;;;;8502:28;8475:55;:90;;;;-1:-1:-1;;;;;;8535:30:0;;;;;;:19;:30;;;;;;;;8534:31;8475:90;:111;;;;;8582:4;-1:-1:-1;;;;;8569:17:0;:9;-1:-1:-1;;;;;8569:17:0;;;8475:111;8471:230;;;8646:15;;-1:-1:-1;;;;;8612:20:0;;;;;;:9;:20;;;;;;:29;;8635:6;;8612:29;:::i;:::-;8611:50;;8603:86;;;;-1:-1:-1;;;8603:86:0;;10944:2:1;8603:86:0;;;10926:21:1;10983:2;10963:18;;;10956:30;11022:26;11002:18;;;10995:54;11066:18;;8603:86:0;10742:348:1;8603:86:0;8736:12;;8726:6;:22;;8725:51;;;-1:-1:-1;;;;;;8753:23:0;;;;;;:15;:23;;;;;;;;8725:51;:81;;;-1:-1:-1;;;;;;8780:26:0;;;;;;:15;:26;;;;;;;;8725:81;8717:115;;;;-1:-1:-1;;;8717:115:0;;11297:2:1;8717:115:0;;;11279:21:1;11336:2;11316:18;;;11309:30;-1:-1:-1;;;11355:18:1;;;11348:51;11416:18;;8717:115:0;11095:345:1;8717:115:0;8848:16;:14;:16::i;:::-;8845:35;;;8867:10;:8;:10::i;:::-;8912:53;;;;;;;;;;;-1:-1:-1;;;8912:53:0;;;;;;;;-1:-1:-1;;;;;8912:17:0;;-1:-1:-1;8912:17:0;;;:9;:17;;;;;;;;:53;;8934:6;;8912:21;:53::i;:::-;-1:-1:-1;;;;;8892:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9004:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;9027:22:0;;;;;;:11;:22;;;;;;;;9004:45;9003:93;;9062:34;9070:6;9078;9086:9;9062:7;:34::i;:::-;9003:93;;;9053:6;9003:93;-1:-1:-1;;;;;9132:20:0;;;;;;:9;:20;;;;;;8978:118;;-1:-1:-1;9132:40:0;;8978:118;9132:24;:40::i;:::-;-1:-1:-1;;;;;9109:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9190:43;;;;;;;;;;9218:14;1038:25:1;;1026:2;1011:18;;892:177;9190:43:0;;;;;;;;-1:-1:-1;9251:4:0;;8148:1115;-1:-1:-1;;;;8148:1115:0:o;9275:330::-;9405:53;;;;;;;;;;;-1:-1:-1;;;9405:53:0;;;;;;;;-1:-1:-1;;;;;9405:17:0;;9368:4;9405:17;;;:9;:17;;;;;;;:53;;9427:6;;9405:21;:53::i;:::-;-1:-1:-1;;;;;9385:17:0;;;;;;;:9;:17;;;;;;:73;;;;9492:20;;;;;;;:32;;9517:6;9492:24;:32::i;:::-;-1:-1:-1;;;;;9469:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9540:35;;;;;;;;;;9568:6;1038:25:1;;1026:2;1011:18;;892:177;9540:35:0;;;;;;;;-1:-1:-1;9593:4:0;9275:330;;;;;:::o;10344:197::-;10393:4;10417:10;-1:-1:-1;;;;;10431:4:0;10417:18;;;;;:38;;-1:-1:-1;10449:6:0;;;;10448:7;10417:38;:62;;;;-1:-1:-1;10468:11:0;;-1:-1:-1;;;10468:11:0;;;;10417:62;:116;;;;-1:-1:-1;;10520:13:0;;10510:4;10492:24;;;;:9;:24;;;;;;:41;;;10344:197::o;11190:1213::-;5519:6;:13;;-1:-1:-1;;5519:13:0;5528:4;5519:13;;;11263:8:::1;::::0;5519:6;11342:15:::1;11263:8:::0;11356:1:::1;11342:15;:::i;:::-;11327:12;;11311:13;;:28;;;;:::i;:::-;11310:48;;;;:::i;:::-;11284:74;;11369:20;11408:15;11392:13;;:31;;;;:::i;:::-;11460:16;::::0;;11474:1:::1;11460:16:::0;;;;;::::1;::::0;;11369:54;;-1:-1:-1;11436:21:0::1;::::0;11460:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11460:16:0::1;11436:40;;11505:4;11487;11492:1;11487:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;11487:23:0::1;;;-1:-1:-1::0;;;;;11487:23:0::1;;;::::0;::::1;11531:4;11521;11526:1;11521:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11521:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;11548:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;11548:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;11620:12;;11548:6:::1;::::0;11663:4;;11690::::1;::::0;11710:15:::1;::::0;11548:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11832:12:0::1;::::0;11769:21:::1;::::0;-1:-1:-1;11832:16:0::1;::::0;-1:-1:-1;11847:1:0::1;::::0;11832:16:::1;:::i;:::-;11817:32;::::0;:11;:32:::1;:::i;:::-;11803:46:::0;-1:-1:-1;11870:26:0::1;11929:15;11803:46:::0;11943:1:::1;11929:15;:::i;:::-;11912:12;::::0;11900:24:::1;::::0;:9;:24:::1;:::i;:::-;11899:46;;;;:::i;:::-;11870:75;;11956:26;12014:11;11998:12;;11986:9;:24;;;;:::i;:::-;11985:40;;;;:::i;:::-;12046:20;::::0;12038:58:::1;::::0;11956:69;;-1:-1:-1;;;;;;12046:20:0::1;::::0;12038:58;::::1;;;::::0;11956:69;;12046:20:::1;12038:58:::0;12046:20;12038:58;11956:69;12046:20;12038:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12112:19:0;;12109:287:::1;;12147:6;::::0;12321:14:::1;::::0;12147:237:::1;::::0;-1:-1:-1;;;12147:237:0;;12223:4:::1;12147:237;::::0;::::1;12903:34:1::0;12953:18;;;12946:34;;;12147:6:0::1;12996:18:1::0;;;12989:34;;;13039:18;;;13032:34;-1:-1:-1;;;;;12321:14:0;;::::1;13082:19:1::0;;;13075:44;12354:15:0::1;13135:19:1::0;;;13128:35;12147:6:0;::::1;::::0;:22:::1;::::0;12177:18;;12837:19:1;;12147:237:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12109:287;-1:-1:-1::0;;5537:6:0;:14;;-1:-1:-1;;5537:14:0;;;-1:-1:-1;;;;;11190:1213:0:o;9613:723::-;9699:7;9722:11;;;:28;;-1:-1:-1;9737:8:0;;:13;9722:28;9719:72;;;-1:-1:-1;9773:6:0;9766:13;;9719:72;9824:18;;-1:-1:-1;;;;;9871:4:0;9858:17;;;;;;9855:154;;-1:-1:-1;9905:14:0;;9855:154;;;9950:4;-1:-1:-1;;;;;9940:14:0;:6;-1:-1:-1;;;;;9940:14:0;;9937:72;;-1:-1:-1;9984:13:0;;9937:72;10021:17;10041:62;10082:20;5072:4;10099:3;10082:20;:::i;:::-;10041:36;10066:10;10041:20;10052:8;;10041:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;10021:82;-1:-1:-1;10119:13:0;;10116:172;;10193:4;10175:24;;;;:9;:24;;;;;;:39;;10204:9;10175:28;:39::i;:::-;10166:4;10148:24;;;;:9;:24;;;;;;;:66;;;;10234:42;;-1:-1:-1;;;;;10234:42:0;;;;;;;10266:9;1038:25:1;;1026:2;1011:18;;892:177;10234:42:0;;;;;;;;10116:172;10307:21;:6;10318:9;10307:10;:21::i;:::-;10300:28;9613:723;-1:-1:-1;;;;;;9613:723:0:o;93:181::-;151:7;;183:5;187:1;183;:5;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;-1:-1:-1;;;199:46:0;;13687:2:1;199:46:0;;;13669:21:1;13726:2;13706:18;;;13699:30;13765:29;13745:18;;;13738:57;13812:18;;199:46:0;13485:351:1;620:250:0;678:7;702:1;707;702:6;698:47;;-1:-1:-1;732:1:0;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:0;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:0;;14043:2:1;785:56:0;;;14025:21:1;14082:2;14062:18;;;14055:30;14121:34;14101:18;;;14094:62;-1:-1:-1;;;14172:18:1;;;14165:31;14213:19;;785:56:0;13841:397:1;876:132:0;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;1014:189::-;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1159:9:0;1171:5;1175:1;1171;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;66:60;14:118;:::o;137:750::-;229:6;237;245;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;354:9;341:23;383:18;424:2;416:6;413:14;410:34;;;440:1;437;430:12;410:34;478:6;467:9;463:22;453:32;;523:7;516:4;512:2;508:13;504:27;494:55;;545:1;542;535:12;494:55;585:2;572:16;611:2;603:6;600:14;597:34;;;627:1;624;617:12;597:34;682:7;675:4;665:6;662:1;658:14;654:2;650:23;646:34;643:47;640:67;;;703:1;700;693:12;640:67;734:4;726:13;;;;-1:-1:-1;758:6:1;-1:-1:-1;;799:20:1;;786:34;829:28;786:34;829:28;:::i;:::-;876:5;866:15;;;137:750;;;;;:::o;1074:597::-;1186:4;1215:2;1244;1233:9;1226:21;1276:6;1270:13;1319:6;1314:2;1303:9;1299:18;1292:34;1344:1;1354:140;1368:6;1365:1;1362:13;1354:140;;;1463:14;;;1459:23;;1453:30;1429:17;;;1448:2;1425:26;1418:66;1383:10;;1354:140;;;1512:6;1509:1;1506:13;1503:91;;;1582:1;1577:2;1568:6;1557:9;1553:22;1549:31;1542:42;1503:91;-1:-1:-1;1655:2:1;1634:15;-1:-1:-1;;1630:29:1;1615:45;;;;1662:2;1611:54;;1074:597;-1:-1:-1;;;1074:597:1:o;1676:180::-;1735:6;1788:2;1776:9;1767:7;1763:23;1759:32;1756:52;;;1804:1;1801;1794:12;1756:52;-1:-1:-1;1827:23:1;;1676:180;-1:-1:-1;1676:180:1:o;1861:131::-;-1:-1:-1;;;;;1936:31:1;;1926:42;;1916:70;;1982:1;1979;1972:12;1997:315;2065:6;2073;2126:2;2114:9;2105:7;2101:23;2097:32;2094:52;;;2142:1;2139;2132:12;2094:52;2181:9;2168:23;2200:31;2225:5;2200:31;:::i;:::-;2250:5;2302:2;2287:18;;;;2274:32;;-1:-1:-1;;;1997:315:1:o;2509:456::-;2586:6;2594;2602;2655:2;2643:9;2634:7;2630:23;2626:32;2623:52;;;2671:1;2668;2661:12;2623:52;2710:9;2697:23;2729:31;2754:5;2729:31;:::i;:::-;2779:5;-1:-1:-1;2836:2:1;2821:18;;2808:32;2849:33;2808:32;2849:33;:::i;:::-;2509:456;;2901:7;;-1:-1:-1;;;2955:2:1;2940:18;;;;2927:32;;2509:456::o;2970:247::-;3029:6;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3137:9;3124:23;3156:31;3181:5;3156:31;:::i;3411:316::-;3488:6;3496;3504;3557:2;3545:9;3536:7;3532:23;3528:32;3525:52;;;3573:1;3570;3563:12;3525:52;-1:-1:-1;;3596:23:1;;;3666:2;3651:18;;3638:32;;-1:-1:-1;3717:2:1;3702:18;;;3689:32;;3411:316;-1:-1:-1;3411:316:1:o;3940:388::-;4008:6;4016;4069:2;4057:9;4048:7;4044:23;4040:32;4037:52;;;4085:1;4082;4075:12;4037:52;4124:9;4111:23;4143:31;4168:5;4143:31;:::i;:::-;4193:5;-1:-1:-1;4250:2:1;4235:18;;4222:32;4263:33;4222:32;4263:33;:::i;:::-;4315:7;4305:17;;;3940:388;;;;;:::o;4333:309::-;4398:6;4406;4459:2;4447:9;4438:7;4434:23;4430:32;4427:52;;;4475:1;4472;4465:12;4427:52;4514:9;4501:23;4533:28;4555:5;4533:28;:::i;4907:248::-;4975:6;4983;5036:2;5024:9;5015:7;5011:23;5007:32;5004:52;;;5052:1;5049;5042:12;5004:52;-1:-1:-1;;5075:23:1;;;5145:2;5130:18;;;5117:32;;-1:-1:-1;4907:248:1:o;5386:335::-;5588:2;5570:21;;;5627:2;5607:18;;;5600:30;-1:-1:-1;;;5661:2:1;5646:18;;5639:41;5712:2;5697:18;;5386:335::o;5726:127::-;5787:10;5782:3;5778:20;5775:1;5768:31;5818:4;5815:1;5808:15;5842:4;5839:1;5832:15;5858:127;5919:10;5914:3;5910:20;5907:1;5900:31;5950:4;5947:1;5940:15;5974:4;5971:1;5964:15;5990:135;6029:3;6050:17;;;6047:43;;6070:18;;:::i;:::-;-1:-1:-1;6117:1:1;6106:13;;5990:135::o;6130:329::-;6332:2;6314:21;;;6371:1;6351:18;;;6344:29;-1:-1:-1;;;6404:2:1;6389:18;;6382:36;6450:2;6435:18;;6130:329::o;6869:422::-;6958:1;7001:5;6958:1;7015:270;7036:7;7026:8;7023:21;7015:270;;;7095:4;7091:1;7087:6;7083:17;7077:4;7074:27;7071:53;;;7104:18;;:::i;:::-;7154:7;7144:8;7140:22;7137:55;;;7174:16;;;;7137:55;7253:22;;;;7213:15;;;;7015:270;;;7019:3;6869:422;;;;;:::o;7296:806::-;7345:5;7375:8;7365:80;;-1:-1:-1;7416:1:1;7430:5;;7365:80;7464:4;7454:76;;-1:-1:-1;7501:1:1;7515:5;;7454:76;7546:4;7564:1;7559:59;;;;7632:1;7627:130;;;;7539:218;;7559:59;7589:1;7580:10;;7603:5;;;7627:130;7664:3;7654:8;7651:17;7648:43;;;7671:18;;:::i;:::-;-1:-1:-1;;7727:1:1;7713:16;;7742:5;;7539:218;;7841:2;7831:8;7828:16;7822:3;7816:4;7813:13;7809:36;7803:2;7793:8;7790:16;7785:2;7779:4;7776:12;7772:35;7769:77;7766:159;;;-1:-1:-1;7878:19:1;;;7910:5;;7766:159;7957:34;7982:8;7976:4;7957:34;:::i;:::-;8027:6;8023:1;8019:6;8015:19;8006:7;8003:32;8000:58;;;8038:18;;:::i;:::-;8076:20;;7296:806;-1:-1:-1;;;7296:806:1:o;8107:140::-;8165:5;8194:47;8235:4;8225:8;8221:19;8215:4;8194:47;:::i;8252:168::-;8292:7;8358:1;8354;8350:6;8346:14;8343:1;8340:21;8335:1;8328:9;8321:17;8317:45;8314:71;;;8365:18;;:::i;:::-;-1:-1:-1;8405:9:1;;8252:168::o;8425:217::-;8465:1;8491;8481:132;;8535:10;8530:3;8526:20;8523:1;8516:31;8570:4;8567:1;8560:15;8598:4;8595:1;8588:15;8481:132;-1:-1:-1;8627:9:1;;8425:217::o;8647:125::-;8687:4;8715:1;8712;8709:8;8706:34;;;8720:18;;:::i;:::-;-1:-1:-1;8757:9:1;;8647:125::o;8777:184::-;8847:6;8900:2;8888:9;8879:7;8875:23;8871:32;8868:52;;;8916:1;8913;8906:12;8868:52;-1:-1:-1;8939:16:1;;8777:184;-1:-1:-1;8777:184:1:o;9245:245::-;9312:6;9365:2;9353:9;9344:7;9340:23;9336:32;9333:52;;;9381:1;9378;9371:12;9333:52;9413:9;9407:16;9432:28;9454:5;9432:28;:::i;10260:128::-;10300:3;10331:1;10327:6;10324:1;10321:13;10318:39;;;10337:18;;:::i;:::-;-1:-1:-1;10373:9:1;;10260:128::o;11577:980::-;11839:4;11887:3;11876:9;11872:19;11918:6;11907:9;11900:25;11944:2;11982:6;11977:2;11966:9;11962:18;11955:34;12025:3;12020:2;12009:9;12005:18;11998:31;12049:6;12084;12078:13;12115:6;12107;12100:22;12153:3;12142:9;12138:19;12131:26;;12192:2;12184:6;12180:15;12166:29;;12213:1;12223:195;12237:6;12234:1;12231:13;12223:195;;;12302:13;;-1:-1:-1;;;;;12298:39:1;12286:52;;12393:15;;;;12358:12;;;;12334:1;12252:9;12223:195;;;-1:-1:-1;;;;;;;12474:32:1;;;;12469:2;12454:18;;12447:60;-1:-1:-1;;;12538:3:1;12523:19;12516:35;12435:3;11577:980;-1:-1:-1;;;11577:980:1:o;13174:306::-;13262:6;13270;13278;13331:2;13319:9;13310:7;13306:23;13302:32;13299:52;;;13347:1;13344;13337:12;13299:52;13376:9;13370:16;13360:26;;13426:2;13415:9;13411:18;13405:25;13395:35;;13470:2;13459:9;13455:18;13449:25;13439:35;;13174:306;;;;;:::o

Swarm Source

ipfs://8d066e849377c3b44aae8d5e2e65c55923314ab5ddbcebac4d28f4c499ee7da1

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.