ETH Price: $2,417.65 (+0.42%)

Contract

0xCD9be2ae7732F5D1c16337Bd1A1Fd91614DE4ca1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer207007282024-09-07 19:10:236 days ago1725736223IN
0xCD9be2ae...614DE4ca1
0 ETH0.00021222.99002445
Approve205154632024-08-12 22:16:3532 days ago1723500995IN
0xCD9be2ae...614DE4ca1
0 ETH0.000109752.32555931
Approve204665322024-08-06 2:25:4739 days ago1722911147IN
0xCD9be2ae...614DE4ca1
0 ETH0.000160843.40817249
Approve204512052024-08-03 23:08:4741 days ago1722726527IN
0xCD9be2ae...614DE4ca1
0 ETH0.00007811.65279455
Approve204401372024-08-02 10:02:3543 days ago1722592955IN
0xCD9be2ae...614DE4ca1
0 ETH0.000155193.28834143
Approve204290412024-07-31 20:52:5944 days ago1722459179IN
0xCD9be2ae...614DE4ca1
0 ETH0.000185527.44731985
Approve204155972024-07-29 23:45:3546 days ago1722296735IN
0xCD9be2ae...614DE4ca1
0 ETH0.000101312.14396104
Approve204009942024-07-27 22:53:3548 days ago1722120815IN
0xCD9be2ae...614DE4ca1
0 ETH0.000190374.06066842
Approve203735312024-07-24 2:51:4752 days ago1721789507IN
0xCD9be2ae...614DE4ca1
0 ETH0.000102472.16859592
Approve203728242024-07-24 0:29:4752 days ago1721780987IN
0xCD9be2ae...614DE4ca1
0 ETH0.000055852.24202346
Approve203684632024-07-23 9:54:1153 days ago1721728451IN
0xCD9be2ae...614DE4ca1
0 ETH0.000294216.23410148
Approve203567882024-07-21 18:45:3554 days ago1721587535IN
0xCD9be2ae...614DE4ca1
0 ETH0.0012130225.70249263
Approve203478252024-07-20 12:44:5956 days ago1721479499IN
0xCD9be2ae...614DE4ca1
0 ETH0.000227494.8142933
Approve203452092024-07-20 3:59:2356 days ago1721447963IN
0xCD9be2ae...614DE4ca1
0 ETH0.000137942.9422359
Approve203418692024-07-19 16:47:4757 days ago1721407667IN
0xCD9be2ae...614DE4ca1
0 ETH0.0016914135.79337016
Approve203418692024-07-19 16:47:4757 days ago1721407667IN
0xCD9be2ae...614DE4ca1
0 ETH0.0016914135.79337016
Approve203373352024-07-19 1:37:2357 days ago1721353043IN
0xCD9be2ae...614DE4ca1
0 ETH0.000404258.62047451
Approve203369662024-07-19 0:23:2357 days ago1721348603IN
0xCD9be2ae...614DE4ca1
0 ETH0.0005598811.90868397
Approve203359792024-07-18 21:05:2357 days ago1721336723IN
0xCD9be2ae...614DE4ca1
0 ETH0.000297249.97646595
Approve203358752024-07-18 20:44:1157 days ago1721335451IN
0xCD9be2ae...614DE4ca1
0 ETH0.000378358.01688976
Approve203339942024-07-18 14:26:3558 days ago1721312795IN
0xCD9be2ae...614DE4ca1
0 ETH0.0008582818.16289453
Approve203334502024-07-18 12:37:1158 days ago1721306231IN
0xCD9be2ae...614DE4ca1
0 ETH0.0006143113
Approve203334262024-07-18 12:32:2358 days ago1721305943IN
0xCD9be2ae...614DE4ca1
0 ETH0.000451849.57390032
Approve203333022024-07-18 12:07:3558 days ago1721304455IN
0xCD9be2ae...614DE4ca1
0 ETH0.0004863710.36101539
Approve203332212024-07-18 11:51:1158 days ago1721303471IN
0xCD9be2ae...614DE4ca1
0 ETH0.000453379.66778748
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
203380232024-07-19 3:55:4757 days ago1721361347
0xCD9be2ae...614DE4ca1
0.02017743 ETH
203380232024-07-19 3:55:4757 days ago1721361347
0xCD9be2ae...614DE4ca1
0.02017743 ETH
203306212024-07-18 3:06:5958 days ago1721272019
0xCD9be2ae...614DE4ca1
0.10295632 ETH
203306212024-07-18 3:06:5958 days ago1721272019
0xCD9be2ae...614DE4ca1
0.10295632 ETH
203263342024-07-17 12:45:3559 days ago1721220335
0xCD9be2ae...614DE4ca1
0.39657326 ETH
203263342024-07-17 12:45:3559 days ago1721220335
0xCD9be2ae...614DE4ca1
0.39657326 ETH
203229792024-07-17 1:31:5959 days ago1721179919
0xCD9be2ae...614DE4ca1
0.33238853 ETH
203229792024-07-17 1:31:5959 days ago1721179919
0xCD9be2ae...614DE4ca1
0.33238853 ETH
203219852024-07-16 22:12:5959 days ago1721167979
0xCD9be2ae...614DE4ca1
0.34323759 ETH
203219852024-07-16 22:12:5959 days ago1721167979
0xCD9be2ae...614DE4ca1
0.34323759 ETH
203214052024-07-16 20:16:4759 days ago1721161007
0xCD9be2ae...614DE4ca1
0.1 ETH
203214052024-07-16 20:16:4759 days ago1721161007
0xCD9be2ae...614DE4ca1
0.60523756 ETH
203214052024-07-16 20:16:4759 days ago1721161007
0xCD9be2ae...614DE4ca1
0.60523756 ETH
203207072024-07-16 17:56:3559 days ago1721152595
0xCD9be2ae...614DE4ca1
0.84235743 ETH
203207072024-07-16 17:56:3559 days ago1721152595
0xCD9be2ae...614DE4ca1
0.84235743 ETH
203207032024-07-16 17:55:4759 days ago1721152547
0xCD9be2ae...614DE4ca1
0.82254849 ETH
203207032024-07-16 17:55:4759 days ago1721152547
0xCD9be2ae...614DE4ca1
0.82254849 ETH
203206262024-07-16 17:40:2359 days ago1721151623
0xCD9be2ae...614DE4ca1
0.67451002 ETH
203206262024-07-16 17:40:2359 days ago1721151623
0xCD9be2ae...614DE4ca1
0.67451002 ETH
203206252024-07-16 17:40:1159 days ago1721151611
0xCD9be2ae...614DE4ca1
0.67817521 ETH
203206252024-07-16 17:40:1159 days ago1721151611
0xCD9be2ae...614DE4ca1
0.67817521 ETH
203206132024-07-16 17:37:4759 days ago1721151467
0xCD9be2ae...614DE4ca1
0.56843122 ETH
203206132024-07-16 17:37:4759 days ago1721151467
0xCD9be2ae...614DE4ca1
0.56843122 ETH
203206122024-07-16 17:37:3559 days ago1721151455
0xCD9be2ae...614DE4ca1
0.54775345 ETH
203206122024-07-16 17:37:3559 days ago1721151455
0xCD9be2ae...614DE4ca1
0.54775345 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MAGABOYS

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-16
*/

// SPDX-License-Identifier: UNLICENSE
/*
Website: https://www.MAGABoysClub.vip
X: https://www.x.com/MAGABoysClub
Telegram: https://t.me/MAGABoysClub 

The Boys Club was watching the Trump rally when they saw an attempted assassination on Trump. 
Disappointed in the way the Secret Service handled the situation, they knew they had to take matters into their own hands!
*/

pragma solidity ^0.8.17;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

interface IRouter {
    function factory() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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 MAGABOYS is Context, IERC20, Ownable {

    using Address for address payable;

    IRouter public router;
    address public pair;
    
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    mapping (address => uint256) public _dogSellTime;
    bool public watchdogMode = false;
    uint256 public _caughtDogs;

    uint8 private constant _decimals = 9; 
    uint256 private _tTotal = 420_000_000 * (10**_decimals);
    uint256 public swapThreshold = 4_200_000 * (10**_decimals); 
    uint256 public maxTxAmount = 4_200_000 * (10**_decimals);
    uint256 public maxWallet =  4_200_000 * (10**_decimals);

    string private constant _name = "MAGA Boys Club"; 
    string private constant _symbol = "MAGABOYS";

    uint8 public buyTax = 30; 
    uint8 public sellTax = 35;

    address public marketingWallet = 0x65c7B49844354631811FaAa1D89031dF50FEeB6D ; 
    
    bool private tradingOpen = false;
    bool private swapping;
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }   

    event SwapAndLiquify();
    event TaxesChanged();

    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[marketingWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    receive() external payable {}

    function enableTrading() external onlyOwner{
        require(!tradingOpen,"Can only be opened once");
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        _isExcludedFromMaxBalance[pair] = true;
        _approve(address(this), address(router), ~uint256(0));
        router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)) - (84_138_000 * 10**_decimals),0,0,owner(),block.timestamp);
        IERC20(pair).approve(address(router), ~uint256(0));
        tradingOpen = true;
    }

    function setMAGABOYSContractTaxes(uint8 buyTax_, uint8 sellTax_) external onlyOwner{
        require(buyTax_ <= 35 && sellTax_<= 60, "Taxes can't exceed the limit.");
        buyTax = buyTax_; sellTax = sellTax_;
        emit TaxesChanged();
    }

    function setContractLimits(uint maxTX_EXACT, uint maxWallet_EXACT) public onlyOwner{
        uint pointFiveSupply = (_tTotal * 5 / 1000) / (10**_decimals);
        require(maxTX_EXACT >= pointFiveSupply && maxWallet_EXACT >= pointFiveSupply, "Invalid Settings");
        maxTxAmount = maxTX_EXACT * (10**_decimals);
        maxWallet = maxWallet_EXACT * (10**_decimals);
    }

    function setMAGABOYSSwapSettings(uint swapThreshold_EXACT) public onlyOwner{
        swapThreshold = swapThreshold_EXACT * (10**_decimals);
    }

    function setWatchdogOff() external onlyOwner{
        require(watchdogMode,"Already turned off.");
        watchdogMode = false;
    }

    function setMAGABOYSSellTimeForAddress(address holder, uint dTime) external onlyOwner{
        _dogSellTime[holder] = block.timestamp + dTime;
    }

    function manualSwap() external lockTheSwap{
        require(msg.sender == marketingWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
            uint256 ethSwapped = swapTokensForETH(tokenBalance);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }
        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);
    }

    function _preTransferCheck(address from,address to,uint256 amount) internal{
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= maxTxAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");

        if(!_isExcludedFromMaxBalance[to])
            require(balanceOf(to) + amount <= maxWallet, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= swapThreshold && !swapping && tradingOpen && from != pair && from != owner() && to != owner())
            swapAndLiquify();
    }

    function _watchDogCheck(address from,address to, bool isBuy) internal{
        if (isBuy){
            if(watchdogMode){
                _caughtDogs++;
                _dogSellTime[to] = block.timestamp + 3;
            }
        }else{
            if (_dogSellTime[from] != 0)
                require(block.timestamp < _dogSellTime[from]); 
        }
    }

    function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){
        uint256 taxedTokens = amount * buyTax / 100;
        if(isSell)
            taxedTokens = amount * sellTax / 100;

        if (taxedTokens > 0){
            _tOwned[address(this)] += taxedTokens;
            emit Transfer (from, address(this), taxedTokens);
        }
        return (amount - taxedTokens);
    }

    function _transfer(address from,address to,uint256 amount) private {
        _preTransferCheck(from, to, amount);
        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _getTaxValues(amount, from, to == pair);
            _watchDogCheck(from,to,from == pair);
        }
        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapAndLiquify() private lockTheSwap{

        uint256 tokensForMarketing = swapThreshold * 100 / 100;
        uint256 tokensForLiquidity = swapThreshold * 0 / 100;
        
        if(tokensForMarketing > 0){
            uint256 ethSwapped = swapTokensForETH(tokensForMarketing);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }

        if(tokensForLiquidity > 0){
            uint half = tokensForLiquidity / 2;
            uint otherHalf = tokensForLiquidity - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
        }

        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);
        
        emit SwapAndLiquify();

    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            marketingWallet,
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity);
    }

}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","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":"_caughtDogs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_dogSellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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 IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTX_EXACT","type":"uint256"},{"internalType":"uint256","name":"maxWallet_EXACT","type":"uint256"}],"name":"setContractLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyTax_","type":"uint8"},{"internalType":"uint8","name":"sellTax_","type":"uint8"}],"name":"setMAGABOYSContractTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"dTime","type":"uint256"}],"name":"setMAGABOYSSellTimeForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapThreshold_EXACT","type":"uint256"}],"name":"setMAGABOYSSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setWatchdogOff","outputs":[],"stateMutability":"nonpayable","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"watchdogMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600860006101000a81548160ff0219169083151502179055506009600a6200002f919062000757565b631908b100620000409190620007a8565b600a556009600a62000053919062000757565b62401640620000639190620007a8565b600b556009600a62000076919062000757565b62401640620000869190620007a8565b600c556009600a62000099919062000757565b62401640620000a99190620007a8565b600d55601e600e60006101000a81548160ff021916908360ff1602179055506023600e60016101000a81548160ff021916908360ff1602179055507365c7b49844354631811faaa1d89031df50feeb6d600e60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60166101000a81548160ff0219169083151502179055503480156200016157600080fd5b506200018262000176620004c860201b60201c565b620004d060201b60201c565b600a546003600062000199620004c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001ed6200059460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620003266200059460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000459620004c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620004ba919062000804565b60405180910390a362000821565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200064b57808604811115620006235762000622620005bd565b5b6001851615620006335780820291505b80810290506200064385620005ec565b945062000603565b94509492505050565b60008262000666576001905062000739565b8162000676576000905062000739565b81600181146200068f57600281146200069a57620006d0565b600191505062000739565b60ff841115620006af57620006ae620005bd565b5b8360020a915084821115620006c957620006c8620005bd565b5b5062000739565b5060208310610133831016604e8410600b84101617156200070a5782820a905083811115620007045762000703620005bd565b5b62000739565b620007198484846001620005f9565b92509050818404811115620007335762000732620005bd565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007648262000740565b915062000771836200074a565b9250620007a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000654565b905092915050565b6000620007b58262000740565b9150620007c28362000740565b9250828202620007d28162000740565b91508282048414831517620007ec57620007eb620005bd565b5b5092915050565b620007fe8162000740565b82525050565b60006020820190506200081b6000830184620007f3565b92915050565b613cab80620008316000396000f3fe6080604052600436106101e75760003560e01c80638c0b5e2211610102578063dd62ed3e11610095578063f2fde38b11610064578063f2fde38b146106e1578063f887ea401461070a578063f8b45b0514610735578063fd1bd8eb14610760576101ee565b8063dd62ed3e14610611578063e0a877c81461064e578063ee9a5d8214610679578063ef07a182146106b6576101ee565b8063a8aa1b31116100d1578063a8aa1b3114610555578063a9059cbb14610580578063b45ad8ec146105bd578063cc1776d3146105e6576101ee565b80638c0b5e22146104ab5780638da5cb5b146104d657806395d89b4114610501578063a323d5241461052c576101ee565b806350bf18a61161017a57806375f0a8741161014957806375f0a87414610403578063768dc7101461042e57806388e757291461046b5780638a8c523c14610494576101ee565b806350bf18a61461038157806351bc3c851461039857806370a08231146103af578063715018a6146103ec576101ee565b806323b872dd116101b657806323b872dd146102b157806328c61f41146102ee578063313ce5671461032b5780634f7041a514610356576101ee565b80630445b667146101f357806306fdde031461021e578063095ea7b31461024957806318160ddd14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610789565b60405161021591906129d9565b60405180910390f35b34801561022a57600080fd5b5061023361078f565b6040516102409190612a84565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612b35565b6107cc565b60405161027d9190612b90565b60405180910390f35b34801561029257600080fd5b5061029b6107ea565b6040516102a891906129d9565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612bab565b6107f4565b6040516102e59190612b90565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190612bfe565b6108ac565b6040516103229190612b90565b60405180910390f35b34801561033757600080fd5b506103406108cc565b60405161034d9190612c47565b60405180910390f35b34801561036257600080fd5b5061036b6108d5565b6040516103789190612c47565b60405180910390f35b34801561038d57600080fd5b506103966108e8565b005b3480156103a457600080fd5b506103ad6109d0565b005b3480156103bb57600080fd5b506103d660048036038101906103d19190612bfe565b610b50565b6040516103e391906129d9565b60405180910390f35b3480156103f857600080fd5b50610401610b99565b005b34801561040f57600080fd5b50610418610c21565b6040516104259190612c71565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612bfe565b610c47565b6040516104629190612b90565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190612c8c565b610c67565b005b3480156104a057600080fd5b506104a9610d05565b005b3480156104b757600080fd5b506104c061123a565b6040516104cd91906129d9565b60405180910390f35b3480156104e257600080fd5b506104eb611240565b6040516104f89190612c71565b60405180910390f35b34801561050d57600080fd5b50610516611269565b6040516105239190612a84565b60405180910390f35b34801561053857600080fd5b50610553600480360381019061054e9190612ce5565b6112a6565b005b34801561056157600080fd5b5061056a6113df565b6040516105779190612c71565b60405180910390f35b34801561058c57600080fd5b506105a760048036038101906105a29190612b35565b611405565b6040516105b49190612b90565b60405180910390f35b3480156105c957600080fd5b506105e460048036038101906105df9190612d25565b611423565b005b3480156105f257600080fd5b506105fb611569565b6040516106089190612c47565b60405180910390f35b34801561061d57600080fd5b5061063860048036038101906106339190612d65565b61157c565b60405161064591906129d9565b60405180910390f35b34801561065a57600080fd5b50610663611603565b6040516106709190612b90565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612bfe565b611616565b6040516106ad91906129d9565b60405180910390f35b3480156106c257600080fd5b506106cb61162e565b6040516106d891906129d9565b60405180910390f35b3480156106ed57600080fd5b5061070860048036038101906107039190612bfe565b611634565b005b34801561071657600080fd5b5061071f61172b565b60405161072c9190612e04565b60405180910390f35b34801561074157600080fd5b5061074a611751565b60405161075791906129d9565b60405180910390f35b34801561076c57600080fd5b5061078760048036038101906107829190612b35565b611757565b005b600b5481565b60606040518060400160405280600e81526020017f4d41474120426f797320436c7562000000000000000000000000000000000000815250905090565b60006107e06107d9611826565b848461182e565b6001905092915050565b6000600a54905090565b60006108018484846119f7565b6108a18461080d611826565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610857611826565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461089c9190612e4e565b61182e565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b600e60009054906101000a900460ff1681565b6108f0611826565b73ffffffffffffffffffffffffffffffffffffffff1661090e611240565b73ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b90612ece565b60405180910390fd5b600860009054906101000a900460ff166109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612f3a565b60405180910390fd5b6000600860006101000a81548160ff021916908315150217905550565b6001600e60176101000a81548160ff021916908315150217905550600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4557600080fd5b6000610a5030610b50565b90506000811115610add576000610a6682611c80565b90506000811115610adb57600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad9573d6000803e3d6000fd5b505b505b6000471115610b3257610b3147600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b506000600e60176101000a81548160ff021916908315150217905550565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba1611826565b73ffffffffffffffffffffffffffffffffffffffff16610bbf611240565b73ffffffffffffffffffffffffffffffffffffffff1614610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0c90612ece565b60405180910390fd5b610c1f6000611fce565b565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b610c6f611826565b73ffffffffffffffffffffffffffffffffffffffff16610c8d611240565b73ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda90612ece565b60405180910390fd5b6009600a610cf1919061308d565b81610cfc91906130d8565b600b8190555050565b610d0d611826565b73ffffffffffffffffffffffffffffffffffffffff16610d2b611240565b73ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890612ece565b60405180910390fd5b600e60169054906101000a900460ff1615610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890613166565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b919061319b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee6919061319b565b6040518363ffffffff1660e01b8152600401610f039291906131c8565b6020604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f46919061319b565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061107330600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001961182e565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306009600a6110c1919061308d565b630503d8106110d091906130d8565b6110d930610b50565b6110e39190612e4e565b6000806110ee611240565b426040518863ffffffff1660e01b81526004016111109695949392919061322c565b60606040518083038185885af115801561112e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115391906132a2565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016111d79291906132f5565b6020604051808303816000875af11580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a919061334a565b506001600e60166101000a81548160ff0219169083151502179055505050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d414741424f5953000000000000000000000000000000000000000000000000815250905090565b6112ae611826565b73ffffffffffffffffffffffffffffffffffffffff166112cc611240565b73ffffffffffffffffffffffffffffffffffffffff1614611322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131990612ece565b60405180910390fd5b60238260ff161115801561133a5750603c8160ff1611155b611379576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611370906133c3565b60405180910390fd5b81600e60006101000a81548160ff021916908360ff16021790555080600e60016101000a81548160ff021916908360ff1602179055507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611419611412611826565b84846119f7565b6001905092915050565b61142b611826565b73ffffffffffffffffffffffffffffffffffffffff16611449611240565b73ffffffffffffffffffffffffffffffffffffffff161461149f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149690612ece565b60405180910390fd5b60006009600a6114af919061308d565b6103e86005600a546114c191906130d8565b6114cb9190613412565b6114d59190613412565b90508083101580156114e75750808210155b611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d9061348f565b60405180910390fd5b6009600a611534919061308d565b8361153f91906130d8565b600c819055506009600a611553919061308d565b8261155e91906130d8565b600d81905550505050565b600e60019054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b60095481565b61163c611826565b73ffffffffffffffffffffffffffffffffffffffff1661165a611240565b73ffffffffffffffffffffffffffffffffffffffff16146116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790612ece565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361171f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171690613521565b60405180910390fd5b61172881611fce565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b61175f611826565b73ffffffffffffffffffffffffffffffffffffffff1661177d611240565b73ffffffffffffffffffffffffffffffffffffffff16146117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca90612ece565b60405180910390fd5b80426117df9190613541565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611894906135e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613679565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119ea91906129d9565b60405180910390a3505050565b611a02838383612092565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a519190612e4e565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b015750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bbf57611b618285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612420565b9050611bbe8484600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461255d565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c0e9190613541565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c7291906129d9565b60405180910390a350505050565b6000804790506000600267ffffffffffffffff811115611ca357611ca2613699565b5b604051908082528060200260200182016040528015611cd15781602001602082028036833780820191505090505b5090503081600081518110611ce957611ce86136c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db4919061319b565b81600181518110611dc857611dc76136c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2f30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168661182e565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401611e939594939291906137b5565b600060405180830381600087803b158015611ead57600080fd5b505af1158015611ec1573d6000803e3d6000fd5b505050508147611ed19190612e4e565b92505050919050565b80471015611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f149061385b565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611f43906138ac565b60006040518083038185875af1925050503d8060008114611f80576040519150601f19603f3d011682016040523d82523d6000602084013e611f85565b606091505b5050905080611fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc090613933565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f8906139c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790613a57565b60405180910390fd5b600081116121b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121aa90613ae9565b60405180910390fd5b600c548111158061220d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61224c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224390613b7b565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166122f657600d54816122aa84610b50565b6122b49190613541565b11156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90613c0d565b60405180910390fd5b5b600b5461230230610b50565b1015801561231d5750600e60179054906101000a900460ff16155b80156123355750600e60169054906101000a900460ff165b801561238f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123ce575061239e611240565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561240d57506123dd611240565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561241b5761241a61267f565b5b505050565b6000806064600e60009054906101000a900460ff1660ff168661244391906130d8565b61244d9190613412565b90508215612482576064600e60019054906101000a900460ff1660ff168661247591906130d8565b61247f9190613412565b90505b60008111156125475780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124da9190613541565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161253e91906129d9565b60405180910390a35b80856125539190612e4e565b9150509392505050565b80156125e657600860009054906101000a900460ff16156125e1576009600081548092919061258b90613c2d565b919050555060034261259d9190613541565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61267a565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461267957600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421061267857600080fd5b5b5b505050565b6001600e60176101000a81548160ff0219169083151502179055506000606480600b546126ac91906130d8565b6126b69190613412565b9050600060646000600b546126cb91906130d8565b6126d59190613412565b905060008211156127625760006126eb83611c80565b9050600081111561276057600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561275e573d6000803e3d6000fd5b505b505b60008111156127b157600060028261277a9190613412565b90506000818361278a9190612e4e565b9050600061279783611c80565b905060008111156127ad576127ac8282612851565b5b5050505b60004711156128065761280547600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a150506000600e60176101000a81548160ff021916908315150217905550565b61287e30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461182e565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016129099695949392919061322c565b60606040518083038185885af1158015612927573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061294c91906132a2565b509150506000818361295e9190612e4e565b11156129bb576129ba81836129739190612e4e565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b505050565b6000819050919050565b6129d3816129c0565b82525050565b60006020820190506129ee60008301846129ca565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a2e578082015181840152602081019050612a13565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a56826129f4565b612a6081856129ff565b9350612a70818560208601612a10565b612a7981612a3a565b840191505092915050565b60006020820190508181036000830152612a9e8184612a4b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad682612aab565b9050919050565b612ae681612acb565b8114612af157600080fd5b50565b600081359050612b0381612add565b92915050565b612b12816129c0565b8114612b1d57600080fd5b50565b600081359050612b2f81612b09565b92915050565b60008060408385031215612b4c57612b4b612aa6565b5b6000612b5a85828601612af4565b9250506020612b6b85828601612b20565b9150509250929050565b60008115159050919050565b612b8a81612b75565b82525050565b6000602082019050612ba56000830184612b81565b92915050565b600080600060608486031215612bc457612bc3612aa6565b5b6000612bd286828701612af4565b9350506020612be386828701612af4565b9250506040612bf486828701612b20565b9150509250925092565b600060208284031215612c1457612c13612aa6565b5b6000612c2284828501612af4565b91505092915050565b600060ff82169050919050565b612c4181612c2b565b82525050565b6000602082019050612c5c6000830184612c38565b92915050565b612c6b81612acb565b82525050565b6000602082019050612c866000830184612c62565b92915050565b600060208284031215612ca257612ca1612aa6565b5b6000612cb084828501612b20565b91505092915050565b612cc281612c2b565b8114612ccd57600080fd5b50565b600081359050612cdf81612cb9565b92915050565b60008060408385031215612cfc57612cfb612aa6565b5b6000612d0a85828601612cd0565b9250506020612d1b85828601612cd0565b9150509250929050565b60008060408385031215612d3c57612d3b612aa6565b5b6000612d4a85828601612b20565b9250506020612d5b85828601612b20565b9150509250929050565b60008060408385031215612d7c57612d7b612aa6565b5b6000612d8a85828601612af4565b9250506020612d9b85828601612af4565b9150509250929050565b6000819050919050565b6000612dca612dc5612dc084612aab565b612da5565b612aab565b9050919050565b6000612ddc82612daf565b9050919050565b6000612dee82612dd1565b9050919050565b612dfe81612de3565b82525050565b6000602082019050612e196000830184612df5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e59826129c0565b9150612e64836129c0565b9250828203905081811115612e7c57612e7b612e1f565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612eb86020836129ff565b9150612ec382612e82565b602082019050919050565b60006020820190508181036000830152612ee781612eab565b9050919050565b7f416c7265616479207475726e6564206f66662e00000000000000000000000000600082015250565b6000612f246013836129ff565b9150612f2f82612eee565b602082019050919050565b60006020820190508181036000830152612f5381612f17565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115612fb157808604811115612f8d57612f8c612e1f565b5b6001851615612f9c5780820291505b8081029050612faa85612f5a565b9450612f71565b94509492505050565b600082612fca5760019050613086565b81612fd85760009050613086565b8160018114612fee5760028114612ff857613027565b6001915050613086565b60ff84111561300a57613009612e1f565b5b8360020a91508482111561302157613020612e1f565b5b50613086565b5060208310610133831016604e8410600b841016171561305c5782820a90508381111561305757613056612e1f565b5b613086565b6130698484846001612f67565b925090508184048111156130805761307f612e1f565b5b81810290505b9392505050565b6000613098826129c0565b91506130a383612c2b565b92506130d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fba565b905092915050565b60006130e3826129c0565b91506130ee836129c0565b92508282026130fc816129c0565b9150828204841483151761311357613112612e1f565b5b5092915050565b7f43616e206f6e6c79206265206f70656e6564206f6e6365000000000000000000600082015250565b60006131506017836129ff565b915061315b8261311a565b602082019050919050565b6000602082019050818103600083015261317f81613143565b9050919050565b60008151905061319581612add565b92915050565b6000602082840312156131b1576131b0612aa6565b5b60006131bf84828501613186565b91505092915050565b60006040820190506131dd6000830185612c62565b6131ea6020830184612c62565b9392505050565b6000819050919050565b600061321661321161320c846131f1565b612da5565b6129c0565b9050919050565b613226816131fb565b82525050565b600060c0820190506132416000830189612c62565b61324e60208301886129ca565b61325b604083018761321d565b613268606083018661321d565b6132756080830185612c62565b61328260a08301846129ca565b979650505050505050565b60008151905061329c81612b09565b92915050565b6000806000606084860312156132bb576132ba612aa6565b5b60006132c98682870161328d565b93505060206132da8682870161328d565b92505060406132eb8682870161328d565b9150509250925092565b600060408201905061330a6000830185612c62565b61331760208301846129ca565b9392505050565b61332781612b75565b811461333257600080fd5b50565b6000815190506133448161331e565b92915050565b6000602082840312156133605761335f612aa6565b5b600061336e84828501613335565b91505092915050565b7f54617865732063616e27742065786365656420746865206c696d69742e000000600082015250565b60006133ad601d836129ff565b91506133b882613377565b602082019050919050565b600060208201905081810360008301526133dc816133a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061341d826129c0565b9150613428836129c0565b925082613438576134376133e3565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b60006134796010836129ff565b915061348482613443565b602082019050919050565b600060208201905081810360008301526134a88161346c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061350b6026836129ff565b9150613516826134af565b604082019050919050565b6000602082019050818103600083015261353a816134fe565b9050919050565b600061354c826129c0565b9150613557836129c0565b925082820190508082111561356f5761356e612e1f565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135d16024836129ff565b91506135dc82613575565b604082019050919050565b60006020820190508181036000830152613600816135c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006136636022836129ff565b915061366e82613607565b604082019050919050565b6000602082019050818103600083015261369281613656565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61372c81612acb565b82525050565b600061373e8383613723565b60208301905092915050565b6000602082019050919050565b6000613762826136f7565b61376c8185613702565b935061377783613713565b8060005b838110156137a857815161378f8882613732565b975061379a8361374a565b92505060018101905061377b565b5085935050505092915050565b600060a0820190506137ca60008301886129ca565b6137d7602083018761321d565b81810360408301526137e98186613757565b90506137f86060830185612c62565b61380560808301846129ca565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613845601d836129ff565b91506138508261380f565b602082019050919050565b6000602082019050818103600083015261387481613838565b9050919050565b600081905092915050565b50565b600061389660008361387b565b91506138a182613886565b600082019050919050565b60006138b782613889565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b600061391d603a836129ff565b9150613928826138c1565b604082019050919050565b6000602082019050818103600083015261394c81613910565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139af6025836129ff565b91506139ba82613953565b604082019050919050565b600060208201905081810360008301526139de816139a2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a416023836129ff565b9150613a4c826139e5565b604082019050919050565b60006020820190508181036000830152613a7081613a34565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613ad36029836129ff565b9150613ade82613a77565b604082019050919050565b60006020820190508181036000830152613b0281613ac6565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b6000613b656029836129ff565b9150613b7082613b09565b604082019050919050565b60006020820190508181036000830152613b9481613b58565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b6000613bf76026836129ff565b9150613c0282613b9b565b604082019050919050565b60006020820190508181036000830152613c2681613bea565b9050919050565b6000613c38826129c0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c6a57613c69612e1f565b5b60018201905091905056fea26469706673582212204dd4e2061d564b5ac627972f6c7d2e41a6e512a914819f67e5ab7b382384631964736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c80638c0b5e2211610102578063dd62ed3e11610095578063f2fde38b11610064578063f2fde38b146106e1578063f887ea401461070a578063f8b45b0514610735578063fd1bd8eb14610760576101ee565b8063dd62ed3e14610611578063e0a877c81461064e578063ee9a5d8214610679578063ef07a182146106b6576101ee565b8063a8aa1b31116100d1578063a8aa1b3114610555578063a9059cbb14610580578063b45ad8ec146105bd578063cc1776d3146105e6576101ee565b80638c0b5e22146104ab5780638da5cb5b146104d657806395d89b4114610501578063a323d5241461052c576101ee565b806350bf18a61161017a57806375f0a8741161014957806375f0a87414610403578063768dc7101461042e57806388e757291461046b5780638a8c523c14610494576101ee565b806350bf18a61461038157806351bc3c851461039857806370a08231146103af578063715018a6146103ec576101ee565b806323b872dd116101b657806323b872dd146102b157806328c61f41146102ee578063313ce5671461032b5780634f7041a514610356576101ee565b80630445b667146101f357806306fdde031461021e578063095ea7b31461024957806318160ddd14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610789565b60405161021591906129d9565b60405180910390f35b34801561022a57600080fd5b5061023361078f565b6040516102409190612a84565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612b35565b6107cc565b60405161027d9190612b90565b60405180910390f35b34801561029257600080fd5b5061029b6107ea565b6040516102a891906129d9565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612bab565b6107f4565b6040516102e59190612b90565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190612bfe565b6108ac565b6040516103229190612b90565b60405180910390f35b34801561033757600080fd5b506103406108cc565b60405161034d9190612c47565b60405180910390f35b34801561036257600080fd5b5061036b6108d5565b6040516103789190612c47565b60405180910390f35b34801561038d57600080fd5b506103966108e8565b005b3480156103a457600080fd5b506103ad6109d0565b005b3480156103bb57600080fd5b506103d660048036038101906103d19190612bfe565b610b50565b6040516103e391906129d9565b60405180910390f35b3480156103f857600080fd5b50610401610b99565b005b34801561040f57600080fd5b50610418610c21565b6040516104259190612c71565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612bfe565b610c47565b6040516104629190612b90565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190612c8c565b610c67565b005b3480156104a057600080fd5b506104a9610d05565b005b3480156104b757600080fd5b506104c061123a565b6040516104cd91906129d9565b60405180910390f35b3480156104e257600080fd5b506104eb611240565b6040516104f89190612c71565b60405180910390f35b34801561050d57600080fd5b50610516611269565b6040516105239190612a84565b60405180910390f35b34801561053857600080fd5b50610553600480360381019061054e9190612ce5565b6112a6565b005b34801561056157600080fd5b5061056a6113df565b6040516105779190612c71565b60405180910390f35b34801561058c57600080fd5b506105a760048036038101906105a29190612b35565b611405565b6040516105b49190612b90565b60405180910390f35b3480156105c957600080fd5b506105e460048036038101906105df9190612d25565b611423565b005b3480156105f257600080fd5b506105fb611569565b6040516106089190612c47565b60405180910390f35b34801561061d57600080fd5b5061063860048036038101906106339190612d65565b61157c565b60405161064591906129d9565b60405180910390f35b34801561065a57600080fd5b50610663611603565b6040516106709190612b90565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612bfe565b611616565b6040516106ad91906129d9565b60405180910390f35b3480156106c257600080fd5b506106cb61162e565b6040516106d891906129d9565b60405180910390f35b3480156106ed57600080fd5b5061070860048036038101906107039190612bfe565b611634565b005b34801561071657600080fd5b5061071f61172b565b60405161072c9190612e04565b60405180910390f35b34801561074157600080fd5b5061074a611751565b60405161075791906129d9565b60405180910390f35b34801561076c57600080fd5b5061078760048036038101906107829190612b35565b611757565b005b600b5481565b60606040518060400160405280600e81526020017f4d41474120426f797320436c7562000000000000000000000000000000000000815250905090565b60006107e06107d9611826565b848461182e565b6001905092915050565b6000600a54905090565b60006108018484846119f7565b6108a18461080d611826565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610857611826565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461089c9190612e4e565b61182e565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b600e60009054906101000a900460ff1681565b6108f0611826565b73ffffffffffffffffffffffffffffffffffffffff1661090e611240565b73ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b90612ece565b60405180910390fd5b600860009054906101000a900460ff166109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612f3a565b60405180910390fd5b6000600860006101000a81548160ff021916908315150217905550565b6001600e60176101000a81548160ff021916908315150217905550600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4557600080fd5b6000610a5030610b50565b90506000811115610add576000610a6682611c80565b90506000811115610adb57600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad9573d6000803e3d6000fd5b505b505b6000471115610b3257610b3147600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b506000600e60176101000a81548160ff021916908315150217905550565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba1611826565b73ffffffffffffffffffffffffffffffffffffffff16610bbf611240565b73ffffffffffffffffffffffffffffffffffffffff1614610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0c90612ece565b60405180910390fd5b610c1f6000611fce565b565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b610c6f611826565b73ffffffffffffffffffffffffffffffffffffffff16610c8d611240565b73ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda90612ece565b60405180910390fd5b6009600a610cf1919061308d565b81610cfc91906130d8565b600b8190555050565b610d0d611826565b73ffffffffffffffffffffffffffffffffffffffff16610d2b611240565b73ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890612ece565b60405180910390fd5b600e60169054906101000a900460ff1615610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890613166565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b919061319b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee6919061319b565b6040518363ffffffff1660e01b8152600401610f039291906131c8565b6020604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f46919061319b565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061107330600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001961182e565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306009600a6110c1919061308d565b630503d8106110d091906130d8565b6110d930610b50565b6110e39190612e4e565b6000806110ee611240565b426040518863ffffffff1660e01b81526004016111109695949392919061322c565b60606040518083038185885af115801561112e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061115391906132a2565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016111d79291906132f5565b6020604051808303816000875af11580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a919061334a565b506001600e60166101000a81548160ff0219169083151502179055505050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d414741424f5953000000000000000000000000000000000000000000000000815250905090565b6112ae611826565b73ffffffffffffffffffffffffffffffffffffffff166112cc611240565b73ffffffffffffffffffffffffffffffffffffffff1614611322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131990612ece565b60405180910390fd5b60238260ff161115801561133a5750603c8160ff1611155b611379576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611370906133c3565b60405180910390fd5b81600e60006101000a81548160ff021916908360ff16021790555080600e60016101000a81548160ff021916908360ff1602179055507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611419611412611826565b84846119f7565b6001905092915050565b61142b611826565b73ffffffffffffffffffffffffffffffffffffffff16611449611240565b73ffffffffffffffffffffffffffffffffffffffff161461149f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149690612ece565b60405180910390fd5b60006009600a6114af919061308d565b6103e86005600a546114c191906130d8565b6114cb9190613412565b6114d59190613412565b90508083101580156114e75750808210155b611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d9061348f565b60405180910390fd5b6009600a611534919061308d565b8361153f91906130d8565b600c819055506009600a611553919061308d565b8261155e91906130d8565b600d81905550505050565b600e60019054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b60095481565b61163c611826565b73ffffffffffffffffffffffffffffffffffffffff1661165a611240565b73ffffffffffffffffffffffffffffffffffffffff16146116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790612ece565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361171f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171690613521565b60405180910390fd5b61172881611fce565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b61175f611826565b73ffffffffffffffffffffffffffffffffffffffff1661177d611240565b73ffffffffffffffffffffffffffffffffffffffff16146117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca90612ece565b60405180910390fd5b80426117df9190613541565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611894906135e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613679565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119ea91906129d9565b60405180910390a3505050565b611a02838383612092565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a519190612e4e565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b015750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bbf57611b618285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612420565b9050611bbe8484600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461255d565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c0e9190613541565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c7291906129d9565b60405180910390a350505050565b6000804790506000600267ffffffffffffffff811115611ca357611ca2613699565b5b604051908082528060200260200182016040528015611cd15781602001602082028036833780820191505090505b5090503081600081518110611ce957611ce86136c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db4919061319b565b81600181518110611dc857611dc76136c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2f30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168661182e565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401611e939594939291906137b5565b600060405180830381600087803b158015611ead57600080fd5b505af1158015611ec1573d6000803e3d6000fd5b505050508147611ed19190612e4e565b92505050919050565b80471015611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f149061385b565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611f43906138ac565b60006040518083038185875af1925050503d8060008114611f80576040519150601f19603f3d011682016040523d82523d6000602084013e611f85565b606091505b5050905080611fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc090613933565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f8906139c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790613a57565b60405180910390fd5b600081116121b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121aa90613ae9565b60405180910390fd5b600c548111158061220d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61224c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224390613b7b565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166122f657600d54816122aa84610b50565b6122b49190613541565b11156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90613c0d565b60405180910390fd5b5b600b5461230230610b50565b1015801561231d5750600e60179054906101000a900460ff16155b80156123355750600e60169054906101000a900460ff165b801561238f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123ce575061239e611240565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561240d57506123dd611240565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561241b5761241a61267f565b5b505050565b6000806064600e60009054906101000a900460ff1660ff168661244391906130d8565b61244d9190613412565b90508215612482576064600e60019054906101000a900460ff1660ff168661247591906130d8565b61247f9190613412565b90505b60008111156125475780600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124da9190613541565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161253e91906129d9565b60405180910390a35b80856125539190612e4e565b9150509392505050565b80156125e657600860009054906101000a900460ff16156125e1576009600081548092919061258b90613c2d565b919050555060034261259d9190613541565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61267a565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461267957600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421061267857600080fd5b5b5b505050565b6001600e60176101000a81548160ff0219169083151502179055506000606480600b546126ac91906130d8565b6126b69190613412565b9050600060646000600b546126cb91906130d8565b6126d59190613412565b905060008211156127625760006126eb83611c80565b9050600081111561276057600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561275e573d6000803e3d6000fd5b505b505b60008111156127b157600060028261277a9190613412565b90506000818361278a9190612e4e565b9050600061279783611c80565b905060008111156127ad576127ac8282612851565b5b5050505b60004711156128065761280547600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a150506000600e60176101000a81548160ff021916908315150217905550565b61287e30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461182e565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016129099695949392919061322c565b60606040518083038185885af1158015612927573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061294c91906132a2565b509150506000818361295e9190612e4e565b11156129bb576129ba81836129739190612e4e565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eda90919063ffffffff16565b5b505050565b6000819050919050565b6129d3816129c0565b82525050565b60006020820190506129ee60008301846129ca565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a2e578082015181840152602081019050612a13565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a56826129f4565b612a6081856129ff565b9350612a70818560208601612a10565b612a7981612a3a565b840191505092915050565b60006020820190508181036000830152612a9e8184612a4b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad682612aab565b9050919050565b612ae681612acb565b8114612af157600080fd5b50565b600081359050612b0381612add565b92915050565b612b12816129c0565b8114612b1d57600080fd5b50565b600081359050612b2f81612b09565b92915050565b60008060408385031215612b4c57612b4b612aa6565b5b6000612b5a85828601612af4565b9250506020612b6b85828601612b20565b9150509250929050565b60008115159050919050565b612b8a81612b75565b82525050565b6000602082019050612ba56000830184612b81565b92915050565b600080600060608486031215612bc457612bc3612aa6565b5b6000612bd286828701612af4565b9350506020612be386828701612af4565b9250506040612bf486828701612b20565b9150509250925092565b600060208284031215612c1457612c13612aa6565b5b6000612c2284828501612af4565b91505092915050565b600060ff82169050919050565b612c4181612c2b565b82525050565b6000602082019050612c5c6000830184612c38565b92915050565b612c6b81612acb565b82525050565b6000602082019050612c866000830184612c62565b92915050565b600060208284031215612ca257612ca1612aa6565b5b6000612cb084828501612b20565b91505092915050565b612cc281612c2b565b8114612ccd57600080fd5b50565b600081359050612cdf81612cb9565b92915050565b60008060408385031215612cfc57612cfb612aa6565b5b6000612d0a85828601612cd0565b9250506020612d1b85828601612cd0565b9150509250929050565b60008060408385031215612d3c57612d3b612aa6565b5b6000612d4a85828601612b20565b9250506020612d5b85828601612b20565b9150509250929050565b60008060408385031215612d7c57612d7b612aa6565b5b6000612d8a85828601612af4565b9250506020612d9b85828601612af4565b9150509250929050565b6000819050919050565b6000612dca612dc5612dc084612aab565b612da5565b612aab565b9050919050565b6000612ddc82612daf565b9050919050565b6000612dee82612dd1565b9050919050565b612dfe81612de3565b82525050565b6000602082019050612e196000830184612df5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e59826129c0565b9150612e64836129c0565b9250828203905081811115612e7c57612e7b612e1f565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612eb86020836129ff565b9150612ec382612e82565b602082019050919050565b60006020820190508181036000830152612ee781612eab565b9050919050565b7f416c7265616479207475726e6564206f66662e00000000000000000000000000600082015250565b6000612f246013836129ff565b9150612f2f82612eee565b602082019050919050565b60006020820190508181036000830152612f5381612f17565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115612fb157808604811115612f8d57612f8c612e1f565b5b6001851615612f9c5780820291505b8081029050612faa85612f5a565b9450612f71565b94509492505050565b600082612fca5760019050613086565b81612fd85760009050613086565b8160018114612fee5760028114612ff857613027565b6001915050613086565b60ff84111561300a57613009612e1f565b5b8360020a91508482111561302157613020612e1f565b5b50613086565b5060208310610133831016604e8410600b841016171561305c5782820a90508381111561305757613056612e1f565b5b613086565b6130698484846001612f67565b925090508184048111156130805761307f612e1f565b5b81810290505b9392505050565b6000613098826129c0565b91506130a383612c2b565b92506130d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612fba565b905092915050565b60006130e3826129c0565b91506130ee836129c0565b92508282026130fc816129c0565b9150828204841483151761311357613112612e1f565b5b5092915050565b7f43616e206f6e6c79206265206f70656e6564206f6e6365000000000000000000600082015250565b60006131506017836129ff565b915061315b8261311a565b602082019050919050565b6000602082019050818103600083015261317f81613143565b9050919050565b60008151905061319581612add565b92915050565b6000602082840312156131b1576131b0612aa6565b5b60006131bf84828501613186565b91505092915050565b60006040820190506131dd6000830185612c62565b6131ea6020830184612c62565b9392505050565b6000819050919050565b600061321661321161320c846131f1565b612da5565b6129c0565b9050919050565b613226816131fb565b82525050565b600060c0820190506132416000830189612c62565b61324e60208301886129ca565b61325b604083018761321d565b613268606083018661321d565b6132756080830185612c62565b61328260a08301846129ca565b979650505050505050565b60008151905061329c81612b09565b92915050565b6000806000606084860312156132bb576132ba612aa6565b5b60006132c98682870161328d565b93505060206132da8682870161328d565b92505060406132eb8682870161328d565b9150509250925092565b600060408201905061330a6000830185612c62565b61331760208301846129ca565b9392505050565b61332781612b75565b811461333257600080fd5b50565b6000815190506133448161331e565b92915050565b6000602082840312156133605761335f612aa6565b5b600061336e84828501613335565b91505092915050565b7f54617865732063616e27742065786365656420746865206c696d69742e000000600082015250565b60006133ad601d836129ff565b91506133b882613377565b602082019050919050565b600060208201905081810360008301526133dc816133a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061341d826129c0565b9150613428836129c0565b925082613438576134376133e3565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b60006134796010836129ff565b915061348482613443565b602082019050919050565b600060208201905081810360008301526134a88161346c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061350b6026836129ff565b9150613516826134af565b604082019050919050565b6000602082019050818103600083015261353a816134fe565b9050919050565b600061354c826129c0565b9150613557836129c0565b925082820190508082111561356f5761356e612e1f565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135d16024836129ff565b91506135dc82613575565b604082019050919050565b60006020820190508181036000830152613600816135c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006136636022836129ff565b915061366e82613607565b604082019050919050565b6000602082019050818103600083015261369281613656565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61372c81612acb565b82525050565b600061373e8383613723565b60208301905092915050565b6000602082019050919050565b6000613762826136f7565b61376c8185613702565b935061377783613713565b8060005b838110156137a857815161378f8882613732565b975061379a8361374a565b92505060018101905061377b565b5085935050505092915050565b600060a0820190506137ca60008301886129ca565b6137d7602083018761321d565b81810360408301526137e98186613757565b90506137f86060830185612c62565b61380560808301846129ca565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613845601d836129ff565b91506138508261380f565b602082019050919050565b6000602082019050818103600083015261387481613838565b9050919050565b600081905092915050565b50565b600061389660008361387b565b91506138a182613886565b600082019050919050565b60006138b782613889565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b600061391d603a836129ff565b9150613928826138c1565b604082019050919050565b6000602082019050818103600083015261394c81613910565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139af6025836129ff565b91506139ba82613953565b604082019050919050565b600060208201905081810360008301526139de816139a2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a416023836129ff565b9150613a4c826139e5565b604082019050919050565b60006020820190508181036000830152613a7081613a34565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613ad36029836129ff565b9150613ade82613a77565b604082019050919050565b60006020820190508181036000830152613b0281613ac6565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b6000613b656029836129ff565b9150613b7082613b09565b604082019050919050565b60006020820190508181036000830152613b9481613b58565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b6000613bf76026836129ff565b9150613c0282613b9b565b604082019050919050565b60006020820190508181036000830152613c2681613bea565b9050919050565b6000613c38826129c0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c6a57613c69612e1f565b5b60018201905091905056fea26469706673582212204dd4e2061d564b5ac627972f6c7d2e41a6e512a914819f67e5ab7b382384631964736f6c63430008110033

Deployed Bytecode Sourcemap

3501:9798:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4145:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5306:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6137:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5583:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6306:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3843:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5492:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4447:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8467:137;;;;;;;;;;;;;:::i;:::-;;8770:473;;;;;;;;;;;;;:::i;:::-;;5686:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1488:94;;;;;;;;;;;;;:::i;:::-;;4513:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3785:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8312:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6964:692;;;;;;;;;;;;;:::i;:::-;;4211:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1265:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5397;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7664:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3626:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5811:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7923:381;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4479:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5986:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3965:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3910:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4004:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1590:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3598:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4274:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8612:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4145:58;;;;:::o;5306:83::-;5343:13;5376:5;;;;;;;;;;;;;;;;;5369:12;;5306:83;:::o;6137:161::-;6212:4;6229:39;6238:12;:10;:12::i;:::-;6252:7;6261:6;6229:8;:39::i;:::-;6286:4;6279:11;;6137:161;;;;:::o;5583:95::-;5636:7;5663;;5656:14;;5583:95;:::o;6306:266::-;6404:4;6421:36;6431:6;6439:9;6450:6;6421:9;:36::i;:::-;6468:74;6477:6;6485:12;:10;:12::i;:::-;6535:6;6499:11;:19;6511:6;6499:19;;;;;;;;;;;;;;;:33;6519:12;:10;:12::i;:::-;6499:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6468:8;:74::i;:::-;6560:4;6553:11;;6306:266;;;;;:::o;3843:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;5492:83::-;5533:5;4074:1;5551:16;;5492:83;:::o;4447:24::-;;;;;;;;;;;;;:::o;8467:137::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8530:12:::1;;;;;;;;;;;8522:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8591:5;8576:12;;:20;;;;;;;;;;;;;;;;;;8467:137::o:0;8770:473::-;4713:4;4702:8;;:15;;;;;;;;;;;;;;;;;;8845::::1;;;;;;;;;;;8831:29;;:10;:29;;;8823:38;;;::::0;::::1;;8872:20;8895:24;8913:4;8895:9;:24::i;:::-;8872:47;;8948:1;8933:12;:16;8930:194;;;8965:18;8986:30;9003:12;8986:16;:30::i;:::-;8965:51;;9047:1;9034:10;:14;9031:81;;;9075:15;;;;;;;;;;;9067:33;;:45;9101:10;9067:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9031:81;8950:174;8930:194;9162:1;9138:21;:25;9134:101;;;9178:57;9213:21;9186:15;;;;;;;;;;;9178:34;;;;:57;;;;:::i;:::-;9134:101;8812:431;4751:5:::0;4740:8;;:16;;;;;;;;;;;;;;;;;;8770:473::o;5686:117::-;5752:7;5779;:16;5787:7;5779:16;;;;;;;;;;;;;;;;5772:23;;5686:117;;;:::o;1488:94::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1553:21:::1;1571:1;1553:9;:21::i;:::-;1488:94::o:0;4513:75::-;;;;;;;;;;;;;:::o;3785:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;8312:147::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4074:1:::1;8437:2;:13;;;;:::i;:::-;8414:19;:37;;;;:::i;:::-;8398:13;:53;;;;8312:147:::0;:::o;6964:692::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7027:11:::1;;;;;;;;;;;7026:12;7018:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7076:15;7102:42;7076:69;;7157:13;7182:7;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7173:38;;;7220:4;7227:7;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7173:69;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7157:85;;7262:7;7253:6;;:16;;;;;;;;;;;;;;;;;;7278:5;7271:4;;:12;;;;;;;;;;;;;;;;;;7328:4;7294:25;:31;7320:4;;;;;;;;;;;7294:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;7343:53;7360:4;7375:6;;;;;;;;;;;7393:1;7384:11;7343:8;:53::i;:::-;7407:6;;;;;;;;;;;:22;;;7437:21;7468:4;4074:1;7515:2;:13;;;;:::i;:::-;7502:10;:26;;;;:::i;:::-;7474:24;7492:4;7474:9;:24::i;:::-;:55;;;;:::i;:::-;7530:1;7532::::0;7534:7:::1;:5;:7::i;:::-;7542:15;7407:151;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7576:4;;;;;;;;;;;7569:20;;;7598:6;;;;;;;;;;;7616:1;7607:11;7569:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7644:4;7630:11;;:18;;;;;;;;;;;;;;;;;;7007:649;;6964:692::o:0;4211:56::-;;;;:::o;1265:87::-;1311:7;1338:6;;;;;;;;;;;1331:13;;1265:87;:::o;5397:::-;5436:13;5469:7;;;;;;;;;;;;;;;;;5462:14;;5397:87;:::o;7664:251::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7777:2:::1;7766:7;:13;;;;:30;;;;;7794:2;7783:8;:13;;;;7766:30;7758:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7850:7;7841:6;;:16;;;;;;;;;;;;;;;;;;7869:8;7859:7;;:18;;;;;;;;;;;;;;;;;;7893:14;;;;;;;;;;7664:251:::0;;:::o;3626:19::-;;;;;;;;;;;;;:::o;5811:167::-;5889:4;5906:42;5916:12;:10;:12::i;:::-;5930:9;5941:6;5906:9;:42::i;:::-;5966:4;5959:11;;5811:167;;;;:::o;7923:381::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8017:20:::1;4074:1;8064:2;:13;;;;:::i;:::-;8055:4;8051:1;8041:7;;:11;;;;:::i;:::-;:18;;;;:::i;:::-;8040:38;;;;:::i;:::-;8017:61;;8112:15;8097:11;:30;;:68;;;;;8150:15;8131;:34;;8097:68;8089:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;4074:1;8226:2;:13;;;;:::i;:::-;8211:11;:29;;;;:::i;:::-;8197:11;:43;;;;4074:1;8282:2;:13;;;;:::i;:::-;8263:15;:33;;;;:::i;:::-;8251:9;:45;;;;8006:298;7923:381:::0;;:::o;4479:25::-;;;;;;;;;;;;;:::o;5986:143::-;6067:7;6094:11;:18;6106:5;6094:18;;;;;;;;;;;;;;;:27;6113:7;6094:27;;;;;;;;;;;;;;;;6087:34;;5986:143;;;;:::o;3965:32::-;;;;;;;;;;;;;:::o;3910:48::-;;;;;;;;;;;;;;;;;:::o;4004:26::-;;;;:::o;1590:192::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1699:1:::1;1679:22;;:8;:22;;::::0;1671:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1755:19;1765:8;1755:9;:19::i;:::-;1590:192:::0;:::o;3598:21::-;;;;;;;;;;;;;:::o;4274:55::-;;;;:::o;8612:150::-;1411:12;:10;:12::i;:::-;1400:23;;:7;:5;:7::i;:::-;:23;;;1392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8749:5:::1;8731:15;:23;;;;:::i;:::-;8708:12;:20;8721:6;8708:20;;;;;;;;;;;;;;;:46;;;;8612:150:::0;;:::o;790:115::-;843:15;886:10;871:26;;790:115;:::o;6580:335::-;6690:1;6673:19;;:5;:19;;;6665:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6771:1;6752:21;;:7;:21;;;6744:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6853:6;6823:11;:18;6835:5;6823:18;;;;;;;;;;;;;;;:27;6842:7;6823:27;;;;;;;;;;;;;;;:36;;;;6891:7;6875:32;;6884:5;6875:32;;;6900:6;6875:32;;;;;;:::i;:::-;;;;;;;;6580:335;;;:::o;10818:487::-;10896:35;10914:4;10920:2;10924:6;10896:17;:35::i;:::-;10959:6;10942:7;:13;10950:4;10942:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;10976:22;11001:6;10976:31;;11022:18;:24;11041:4;11022:24;;;;;;;;;;;;;;;;;;;;;;;;;11021:25;:52;;;;;11051:18;:22;11070:2;11051:22;;;;;;;;;;;;;;;;;;;;;;;;;11050:23;11021:52;11018:190;;;11106:39;11120:6;11128:4;11140;;;;;;;;;;;11134:10;;:2;:10;;;11106:13;:39::i;:::-;11089:56;;11160:36;11175:4;11180:2;11191:4;;;;;;;;;;;11183:12;;:4;:12;;;11160:14;:36::i;:::-;11018:190;11233:14;11218:7;:11;11226:2;11218:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;11278:2;11263:34;;11272:4;11263:34;;;11282:14;11263:34;;;;;;:::i;:::-;;;;;;;;10885:420;10818:487;;;:::o;12183:581::-;12247:7;12267:22;12292:21;12267:46;;12324:21;12362:1;12348:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12324:40;;12393:4;12375;12380:1;12375:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12419:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12409:4;12414:1;12409:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12445:53;12462:4;12477:6;;;;;;;;;;;12486:11;12445:8;:53::i;:::-;12511:6;;;;;;;;;;;:57;;;12583:11;12609:1;12625:4;12652;12672:15;12511:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12741:14;12717:21;:38;;;;:::i;:::-;12709:47;;;;12183:581;;;:::o;433:317::-;548:6;523:21;:31;;515:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;602:12;620:9;:14;;642:6;620:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;601:52;;;672:7;664:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;504:246;433:317;;:::o;1790:173::-;1846:16;1865:6;;;;;;;;;;;1846:25;;1891:8;1882:6;;:17;;;;;;;;;;;;;;;;;;1946:8;1915:40;;1936:8;1915:40;;;;;;;;;;;;1835:128;1790:173;:::o;9251:757::-;9361:1;9345:18;;:4;:18;;;9337:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9438:1;9424:16;;:2;:16;;;9416:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9508:1;9499:6;:10;9491:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9584:11;;9574:6;:21;;:56;;;;9599:25;:31;9625:4;9599:31;;;;;;;;;;;;;;;;;;;;;;;;;9574:56;9566:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9693:25;:29;9719:2;9693:29;;;;;;;;;;;;;;;;;;;;;;;;;9689:134;;9771:9;;9761:6;9745:13;9755:2;9745:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;9737:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9689:134;9876:13;;9848:24;9866:4;9848:9;:24::i;:::-;:41;;:54;;;;;9894:8;;;;;;;;;;;9893:9;9848:54;:69;;;;;9906:11;;;;;;;;;;;9848:69;:85;;;;;9929:4;;;;;;;;;;;9921:12;;:4;:12;;;;9848:85;:104;;;;;9945:7;:5;:7::i;:::-;9937:15;;:4;:15;;;;9848:104;:121;;;;;9962:7;:5;:7::i;:::-;9956:13;;:2;:13;;;;9848:121;9844:156;;;9984:16;:14;:16::i;:::-;9844:156;9251:757;;;:::o;10391:419::-;10470:7;10489:19;10529:3;10520:6;;;;;;;;;;;10511:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10489:43;;10546:6;10543:60;;;10600:3;10590:7;;;;;;;;;;;10581:16;;:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;10567:36;;10543:60;10634:1;10620:11;:15;10616:147;;;10677:11;10651:7;:22;10667:4;10651:22;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10732:4;10708:43;;10718:4;10708:43;;;10739:11;10708:43;;;;;;:::i;:::-;;;;;;;;10616:147;10790:11;10781:6;:20;;;;:::i;:::-;10773:29;;;10391:419;;;;;:::o;10016:367::-;10100:5;10096:280;;;10124:12;;;;;;;;;;;10121:121;;;10156:11;;:13;;;;;;;;;:::i;:::-;;;;;;10225:1;10207:15;:19;;;;:::i;:::-;10188:12;:16;10201:2;10188:16;;;;;;;;;;;;;;;:38;;;;10121:121;10096:280;;;10298:1;10276:12;:18;10289:4;10276:18;;;;;;;;;;;;;;;;:23;10272:91;;10344:12;:18;10357:4;10344:18;;;;;;;;;;;;;;;;10326:15;:36;10318:45;;;;;;10272:91;10096:280;10016:367;;;:::o;11313:862::-;4713:4;4702:8;;:15;;;;;;;;;;;;;;;;;;11371:26:::1;11422:3;11416::::0;11400:13:::1;;:19;;;;:::i;:::-;:25;;;;:::i;:::-;11371:54;;11436:26;11485:3;11481:1;11465:13;;:17;;;;:::i;:::-;:23;;;;:::i;:::-;11436:52;;11533:1;11512:18;:22;11509:206;;;11550:18;11571:36;11588:18;11571:16;:36::i;:::-;11550:57;;11638:1;11625:10;:14;11622:81;;;11666:15;;;;;;;;;;;11658:33;;:45;11692:10;11658:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11622:81;11535:180;11509:206;11751:1;11730:18;:22;11727:283;;;11768:9;11801:1;11780:18;:22;;;;:::i;:::-;11768:34;;11817:14;11855:4;11834:18;:25;;;;:::i;:::-;11817:42;;11874:14;11891:22;11908:4;11891:16;:22::i;:::-;11874:39;;11944:1;11932:9;:13;11928:70;;;11964:34;11977:9;11988;11964:12;:34::i;:::-;11928:70;11753:257;;;11727:283;12050:1;12026:21;:25;12022:101;;;12066:57;12101:21;12074:15;;;;;;;;;;;12066:34;;;;:57;;;;:::i;:::-;12022:101;12149:16;;;;;;;;;;11358:817;;4751:5:::0;4740:8;;:16;;;;;;;;;;;;;;;;;;11313:862::o;12772:522::-;12853:53;12870:4;12885:6;;;;;;;;;;;12894:11;12853:8;:53::i;:::-;12921:24;12950:6;;;;;;;;;;;:22;;;12981:9;13015:4;13035:11;13061:1;13077;13093:15;;;;;;;;;;;13123;12950:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12919:230;;;;13205:1;13186:16;13174:9;:28;;;;:::i;:::-;:32;13170:116;;;13221:65;13269:16;13257:9;:28;;;;:::i;:::-;13229:15;;;;;;;;;;;13221:34;;;;:65;;;;:::i;:::-;13170:116;12842:452;12772:522;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:118::-;5946:22;5962:5;5946:22;:::i;:::-;5939:5;5936:33;5926:61;;5983:1;5980;5973:12;5926:61;5875:118;:::o;5999:135::-;6043:5;6081:6;6068:20;6059:29;;6097:31;6122:5;6097:31;:::i;:::-;5999:135;;;;:::o;6140:466::-;6204:6;6212;6261:2;6249:9;6240:7;6236:23;6232:32;6229:119;;;6267:79;;:::i;:::-;6229:119;6387:1;6412:51;6455:7;6446:6;6435:9;6431:22;6412:51;:::i;:::-;6402:61;;6358:115;6512:2;6538:51;6581:7;6572:6;6561:9;6557:22;6538:51;:::i;:::-;6528:61;;6483:116;6140:466;;;;;:::o;6612:474::-;6680:6;6688;6737:2;6725:9;6716:7;6712:23;6708:32;6705:119;;;6743:79;;:::i;:::-;6705:119;6863:1;6888:53;6933:7;6924:6;6913:9;6909:22;6888:53;:::i;:::-;6878:63;;6834:117;6990:2;7016:53;7061:7;7052:6;7041:9;7037:22;7016:53;:::i;:::-;7006:63;;6961:118;6612:474;;;;;:::o;7092:::-;7160:6;7168;7217:2;7205:9;7196:7;7192:23;7188:32;7185:119;;;7223:79;;:::i;:::-;7185:119;7343:1;7368:53;7413:7;7404:6;7393:9;7389:22;7368:53;:::i;:::-;7358:63;;7314:117;7470:2;7496:53;7541:7;7532:6;7521:9;7517:22;7496:53;:::i;:::-;7486:63;;7441:118;7092:474;;;;;:::o;7572:60::-;7600:3;7621:5;7614:12;;7572:60;;;:::o;7638:142::-;7688:9;7721:53;7739:34;7748:24;7766:5;7748:24;:::i;:::-;7739:34;:::i;:::-;7721:53;:::i;:::-;7708:66;;7638:142;;;:::o;7786:126::-;7836:9;7869:37;7900:5;7869:37;:::i;:::-;7856:50;;7786:126;;;:::o;7918:141::-;7983:9;8016:37;8047:5;8016:37;:::i;:::-;8003:50;;7918:141;;;:::o;8065:161::-;8167:52;8213:5;8167:52;:::i;:::-;8162:3;8155:65;8065:161;;:::o;8232:252::-;8340:4;8378:2;8367:9;8363:18;8355:26;;8391:86;8474:1;8463:9;8459:17;8450:6;8391:86;:::i;:::-;8232:252;;;;:::o;8490:180::-;8538:77;8535:1;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8676:194;8716:4;8736:20;8754:1;8736:20;:::i;:::-;8731:25;;8770:20;8788:1;8770:20;:::i;:::-;8765:25;;8814:1;8811;8807:9;8799:17;;8838:1;8832:4;8829:11;8826:37;;;8843:18;;:::i;:::-;8826:37;8676:194;;;;:::o;8876:182::-;9016:34;9012:1;9004:6;9000:14;8993:58;8876:182;:::o;9064:366::-;9206:3;9227:67;9291:2;9286:3;9227:67;:::i;:::-;9220:74;;9303:93;9392:3;9303:93;:::i;:::-;9421:2;9416:3;9412:12;9405:19;;9064:366;;;:::o;9436:419::-;9602:4;9640:2;9629:9;9625:18;9617:26;;9689:9;9683:4;9679:20;9675:1;9664:9;9660:17;9653:47;9717:131;9843:4;9717:131;:::i;:::-;9709:139;;9436:419;;;:::o;9861:169::-;10001:21;9997:1;9989:6;9985:14;9978:45;9861:169;:::o;10036:366::-;10178:3;10199:67;10263:2;10258:3;10199:67;:::i;:::-;10192:74;;10275:93;10364:3;10275:93;:::i;:::-;10393:2;10388:3;10384:12;10377:19;;10036:366;;;:::o;10408:419::-;10574:4;10612:2;10601:9;10597:18;10589:26;;10661:9;10655:4;10651:20;10647:1;10636:9;10632:17;10625:47;10689:131;10815:4;10689:131;:::i;:::-;10681:139;;10408:419;;;:::o;10833:102::-;10875:8;10922:5;10919:1;10915:13;10894:34;;10833:102;;;:::o;10941:848::-;11002:5;11009:4;11033:6;11024:15;;11057:5;11048:14;;11071:712;11092:1;11082:8;11079:15;11071:712;;;11187:4;11182:3;11178:14;11172:4;11169:24;11166:50;;;11196:18;;:::i;:::-;11166:50;11246:1;11236:8;11232:16;11229:451;;;11661:4;11654:5;11650:16;11641:25;;11229:451;11711:4;11705;11701:15;11693:23;;11741:32;11764:8;11741:32;:::i;:::-;11729:44;;11071:712;;;10941:848;;;;;;;:::o;11795:1073::-;11849:5;12040:8;12030:40;;12061:1;12052:10;;12063:5;;12030:40;12089:4;12079:36;;12106:1;12097:10;;12108:5;;12079:36;12175:4;12223:1;12218:27;;;;12259:1;12254:191;;;;12168:277;;12218:27;12236:1;12227:10;;12238:5;;;12254:191;12299:3;12289:8;12286:17;12283:43;;;12306:18;;:::i;:::-;12283:43;12355:8;12352:1;12348:16;12339:25;;12390:3;12383:5;12380:14;12377:40;;;12397:18;;:::i;:::-;12377:40;12430:5;;;12168:277;;12554:2;12544:8;12541:16;12535:3;12529:4;12526:13;12522:36;12504:2;12494:8;12491:16;12486:2;12480:4;12477:12;12473:35;12457:111;12454:246;;;12610:8;12604:4;12600:19;12591:28;;12645:3;12638:5;12635:14;12632:40;;;12652:18;;:::i;:::-;12632:40;12685:5;;12454:246;12725:42;12763:3;12753:8;12747:4;12744:1;12725:42;:::i;:::-;12710:57;;;;12799:4;12794:3;12790:14;12783:5;12780:25;12777:51;;;12808:18;;:::i;:::-;12777:51;12857:4;12850:5;12846:16;12837:25;;11795:1073;;;;;;:::o;12874:281::-;12932:5;12956:23;12974:4;12956:23;:::i;:::-;12948:31;;13000:25;13016:8;13000:25;:::i;:::-;12988:37;;13044:104;13081:66;13071:8;13065:4;13044:104;:::i;:::-;13035:113;;12874:281;;;;:::o;13161:410::-;13201:7;13224:20;13242:1;13224:20;:::i;:::-;13219:25;;13258:20;13276:1;13258:20;:::i;:::-;13253:25;;13313:1;13310;13306:9;13335:30;13353:11;13335:30;:::i;:::-;13324:41;;13514:1;13505:7;13501:15;13498:1;13495:22;13475:1;13468:9;13448:83;13425:139;;13544:18;;:::i;:::-;13425:139;13209:362;13161:410;;;;:::o;13577:173::-;13717:25;13713:1;13705:6;13701:14;13694:49;13577:173;:::o;13756:366::-;13898:3;13919:67;13983:2;13978:3;13919:67;:::i;:::-;13912:74;;13995:93;14084:3;13995:93;:::i;:::-;14113:2;14108:3;14104:12;14097:19;;13756:366;;;:::o;14128:419::-;14294:4;14332:2;14321:9;14317:18;14309:26;;14381:9;14375:4;14371:20;14367:1;14356:9;14352:17;14345:47;14409:131;14535:4;14409:131;:::i;:::-;14401:139;;14128:419;;;:::o;14553:143::-;14610:5;14641:6;14635:13;14626:22;;14657:33;14684:5;14657:33;:::i;:::-;14553:143;;;;:::o;14702:351::-;14772:6;14821:2;14809:9;14800:7;14796:23;14792:32;14789:119;;;14827:79;;:::i;:::-;14789:119;14947:1;14972:64;15028:7;15019:6;15008:9;15004:22;14972:64;:::i;:::-;14962:74;;14918:128;14702:351;;;;:::o;15059:332::-;15180:4;15218:2;15207:9;15203:18;15195:26;;15231:71;15299:1;15288:9;15284:17;15275:6;15231:71;:::i;:::-;15312:72;15380:2;15369:9;15365:18;15356:6;15312:72;:::i;:::-;15059:332;;;;;:::o;15397:85::-;15442:7;15471:5;15460:16;;15397:85;;;:::o;15488:158::-;15546:9;15579:61;15597:42;15606:32;15632:5;15606:32;:::i;:::-;15597:42;:::i;:::-;15579:61;:::i;:::-;15566:74;;15488:158;;;:::o;15652:147::-;15747:45;15786:5;15747:45;:::i;:::-;15742:3;15735:58;15652:147;;:::o;15805:807::-;16054:4;16092:3;16081:9;16077:19;16069:27;;16106:71;16174:1;16163:9;16159:17;16150:6;16106:71;:::i;:::-;16187:72;16255:2;16244:9;16240:18;16231:6;16187:72;:::i;:::-;16269:80;16345:2;16334:9;16330:18;16321:6;16269:80;:::i;:::-;16359;16435:2;16424:9;16420:18;16411:6;16359:80;:::i;:::-;16449:73;16517:3;16506:9;16502:19;16493:6;16449:73;:::i;:::-;16532;16600:3;16589:9;16585:19;16576:6;16532:73;:::i;:::-;15805:807;;;;;;;;;:::o;16618:143::-;16675:5;16706:6;16700:13;16691:22;;16722:33;16749:5;16722:33;:::i;:::-;16618:143;;;;:::o;16767:663::-;16855:6;16863;16871;16920:2;16908:9;16899:7;16895:23;16891:32;16888:119;;;16926:79;;:::i;:::-;16888:119;17046:1;17071:64;17127:7;17118:6;17107:9;17103:22;17071:64;:::i;:::-;17061:74;;17017:128;17184:2;17210:64;17266:7;17257:6;17246:9;17242:22;17210:64;:::i;:::-;17200:74;;17155:129;17323:2;17349:64;17405:7;17396:6;17385:9;17381:22;17349:64;:::i;:::-;17339:74;;17294:129;16767:663;;;;;:::o;17436:332::-;17557:4;17595:2;17584:9;17580:18;17572:26;;17608:71;17676:1;17665:9;17661:17;17652:6;17608:71;:::i;:::-;17689:72;17757:2;17746:9;17742:18;17733:6;17689:72;:::i;:::-;17436:332;;;;;:::o;17774:116::-;17844:21;17859:5;17844:21;:::i;:::-;17837:5;17834:32;17824:60;;17880:1;17877;17870:12;17824:60;17774:116;:::o;17896:137::-;17950:5;17981:6;17975:13;17966:22;;17997:30;18021:5;17997:30;:::i;:::-;17896:137;;;;:::o;18039:345::-;18106:6;18155:2;18143:9;18134:7;18130:23;18126:32;18123:119;;;18161:79;;:::i;:::-;18123:119;18281:1;18306:61;18359:7;18350:6;18339:9;18335:22;18306:61;:::i;:::-;18296:71;;18252:125;18039:345;;;;:::o;18390:179::-;18530:31;18526:1;18518:6;18514:14;18507:55;18390:179;:::o;18575:366::-;18717:3;18738:67;18802:2;18797:3;18738:67;:::i;:::-;18731:74;;18814:93;18903:3;18814:93;:::i;:::-;18932:2;18927:3;18923:12;18916:19;;18575:366;;;:::o;18947:419::-;19113:4;19151:2;19140:9;19136:18;19128:26;;19200:9;19194:4;19190:20;19186:1;19175:9;19171:17;19164:47;19228:131;19354:4;19228:131;:::i;:::-;19220:139;;18947:419;;;:::o;19372:180::-;19420:77;19417:1;19410:88;19517:4;19514:1;19507:15;19541:4;19538:1;19531:15;19558:185;19598:1;19615:20;19633:1;19615:20;:::i;:::-;19610:25;;19649:20;19667:1;19649:20;:::i;:::-;19644:25;;19688:1;19678:35;;19693:18;;:::i;:::-;19678:35;19735:1;19732;19728:9;19723:14;;19558:185;;;;:::o;19749:166::-;19889:18;19885:1;19877:6;19873:14;19866:42;19749:166;:::o;19921:366::-;20063:3;20084:67;20148:2;20143:3;20084:67;:::i;:::-;20077:74;;20160:93;20249:3;20160:93;:::i;:::-;20278:2;20273:3;20269:12;20262:19;;19921:366;;;:::o;20293:419::-;20459:4;20497:2;20486:9;20482:18;20474:26;;20546:9;20540:4;20536:20;20532:1;20521:9;20517:17;20510:47;20574:131;20700:4;20574:131;:::i;:::-;20566:139;;20293:419;;;:::o;20718:225::-;20858:34;20854:1;20846:6;20842:14;20835:58;20927:8;20922:2;20914:6;20910:15;20903:33;20718:225;:::o;20949:366::-;21091:3;21112:67;21176:2;21171:3;21112:67;:::i;:::-;21105:74;;21188:93;21277:3;21188:93;:::i;:::-;21306:2;21301:3;21297:12;21290:19;;20949:366;;;:::o;21321:419::-;21487:4;21525:2;21514:9;21510:18;21502:26;;21574:9;21568:4;21564:20;21560:1;21549:9;21545:17;21538:47;21602:131;21728:4;21602:131;:::i;:::-;21594:139;;21321:419;;;:::o;21746:191::-;21786:3;21805:20;21823:1;21805:20;:::i;:::-;21800:25;;21839:20;21857:1;21839:20;:::i;:::-;21834:25;;21882:1;21879;21875:9;21868:16;;21903:3;21900:1;21897:10;21894:36;;;21910:18;;:::i;:::-;21894:36;21746:191;;;;:::o;21943:223::-;22083:34;22079:1;22071:6;22067:14;22060:58;22152:6;22147:2;22139:6;22135:15;22128:31;21943:223;:::o;22172:366::-;22314:3;22335:67;22399:2;22394:3;22335:67;:::i;:::-;22328:74;;22411:93;22500:3;22411:93;:::i;:::-;22529:2;22524:3;22520:12;22513:19;;22172:366;;;:::o;22544:419::-;22710:4;22748:2;22737:9;22733:18;22725:26;;22797:9;22791:4;22787:20;22783:1;22772:9;22768:17;22761:47;22825:131;22951:4;22825:131;:::i;:::-;22817:139;;22544:419;;;:::o;22969:221::-;23109:34;23105:1;23097:6;23093:14;23086:58;23178:4;23173:2;23165:6;23161:15;23154:29;22969:221;:::o;23196:366::-;23338:3;23359:67;23423:2;23418:3;23359:67;:::i;:::-;23352:74;;23435:93;23524:3;23435:93;:::i;:::-;23553:2;23548:3;23544:12;23537:19;;23196:366;;;:::o;23568:419::-;23734:4;23772:2;23761:9;23757:18;23749:26;;23821:9;23815:4;23811:20;23807:1;23796:9;23792:17;23785:47;23849:131;23975:4;23849:131;:::i;:::-;23841:139;;23568:419;;;:::o;23993:180::-;24041:77;24038:1;24031:88;24138:4;24135:1;24128:15;24162:4;24159:1;24152:15;24179:180;24227:77;24224:1;24217:88;24324:4;24321:1;24314:15;24348:4;24345:1;24338:15;24365:114;24432:6;24466:5;24460:12;24450:22;;24365:114;;;:::o;24485:184::-;24584:11;24618:6;24613:3;24606:19;24658:4;24653:3;24649:14;24634:29;;24485:184;;;;:::o;24675:132::-;24742:4;24765:3;24757:11;;24795:4;24790:3;24786:14;24778:22;;24675:132;;;:::o;24813:108::-;24890:24;24908:5;24890:24;:::i;:::-;24885:3;24878:37;24813:108;;:::o;24927:179::-;24996:10;25017:46;25059:3;25051:6;25017:46;:::i;:::-;25095:4;25090:3;25086:14;25072:28;;24927:179;;;;:::o;25112:113::-;25182:4;25214;25209:3;25205:14;25197:22;;25112:113;;;:::o;25261:732::-;25380:3;25409:54;25457:5;25409:54;:::i;:::-;25479:86;25558:6;25553:3;25479:86;:::i;:::-;25472:93;;25589:56;25639:5;25589:56;:::i;:::-;25668:7;25699:1;25684:284;25709:6;25706:1;25703:13;25684:284;;;25785:6;25779:13;25812:63;25871:3;25856:13;25812:63;:::i;:::-;25805:70;;25898:60;25951:6;25898:60;:::i;:::-;25888:70;;25744:224;25731:1;25728;25724:9;25719:14;;25684:284;;;25688:14;25984:3;25977:10;;25385:608;;;25261:732;;;;:::o;25999:831::-;26262:4;26300:3;26289:9;26285:19;26277:27;;26314:71;26382:1;26371:9;26367:17;26358:6;26314:71;:::i;:::-;26395:80;26471:2;26460:9;26456:18;26447:6;26395:80;:::i;:::-;26522:9;26516:4;26512:20;26507:2;26496:9;26492:18;26485:48;26550:108;26653:4;26644:6;26550:108;:::i;:::-;26542:116;;26668:72;26736:2;26725:9;26721:18;26712:6;26668:72;:::i;:::-;26750:73;26818:3;26807:9;26803:19;26794:6;26750:73;:::i;:::-;25999:831;;;;;;;;:::o;26836:179::-;26976:31;26972:1;26964:6;26960:14;26953:55;26836:179;:::o;27021:366::-;27163:3;27184:67;27248:2;27243:3;27184:67;:::i;:::-;27177:74;;27260:93;27349:3;27260:93;:::i;:::-;27378:2;27373:3;27369:12;27362:19;;27021:366;;;:::o;27393:419::-;27559:4;27597:2;27586:9;27582:18;27574:26;;27646:9;27640:4;27636:20;27632:1;27621:9;27617:17;27610:47;27674:131;27800:4;27674:131;:::i;:::-;27666:139;;27393:419;;;:::o;27818:147::-;27919:11;27956:3;27941:18;;27818:147;;;;:::o;27971:114::-;;:::o;28091:398::-;28250:3;28271:83;28352:1;28347:3;28271:83;:::i;:::-;28264:90;;28363:93;28452:3;28363:93;:::i;:::-;28481:1;28476:3;28472:11;28465:18;;28091:398;;;:::o;28495:379::-;28679:3;28701:147;28844:3;28701:147;:::i;:::-;28694:154;;28865:3;28858:10;;28495:379;;;:::o;28880:245::-;29020:34;29016:1;29008:6;29004:14;28997:58;29089:28;29084:2;29076:6;29072:15;29065:53;28880:245;:::o;29131:366::-;29273:3;29294:67;29358:2;29353:3;29294:67;:::i;:::-;29287:74;;29370:93;29459:3;29370:93;:::i;:::-;29488:2;29483:3;29479:12;29472:19;;29131:366;;;:::o;29503:419::-;29669:4;29707:2;29696:9;29692:18;29684:26;;29756:9;29750:4;29746:20;29742:1;29731:9;29727:17;29720:47;29784:131;29910:4;29784:131;:::i;:::-;29776:139;;29503:419;;;:::o;29928:224::-;30068:34;30064:1;30056:6;30052:14;30045:58;30137:7;30132:2;30124:6;30120:15;30113:32;29928:224;:::o;30158:366::-;30300:3;30321:67;30385:2;30380:3;30321:67;:::i;:::-;30314:74;;30397:93;30486:3;30397:93;:::i;:::-;30515:2;30510:3;30506:12;30499:19;;30158:366;;;:::o;30530:419::-;30696:4;30734:2;30723:9;30719:18;30711:26;;30783:9;30777:4;30773:20;30769:1;30758:9;30754:17;30747:47;30811:131;30937:4;30811:131;:::i;:::-;30803:139;;30530:419;;;:::o;30955:222::-;31095:34;31091:1;31083:6;31079:14;31072:58;31164:5;31159:2;31151:6;31147:15;31140:30;30955:222;:::o;31183:366::-;31325:3;31346:67;31410:2;31405:3;31346:67;:::i;:::-;31339:74;;31422:93;31511:3;31422:93;:::i;:::-;31540:2;31535:3;31531:12;31524:19;;31183:366;;;:::o;31555:419::-;31721:4;31759:2;31748:9;31744:18;31736:26;;31808:9;31802:4;31798:20;31794:1;31783:9;31779:17;31772:47;31836:131;31962:4;31836:131;:::i;:::-;31828:139;;31555:419;;;:::o;31980:228::-;32120:34;32116:1;32108:6;32104:14;32097:58;32189:11;32184:2;32176:6;32172:15;32165:36;31980:228;:::o;32214:366::-;32356:3;32377:67;32441:2;32436:3;32377:67;:::i;:::-;32370:74;;32453:93;32542:3;32453:93;:::i;:::-;32571:2;32566:3;32562:12;32555:19;;32214:366;;;:::o;32586:419::-;32752:4;32790:2;32779:9;32775:18;32767:26;;32839:9;32833:4;32829:20;32825:1;32814:9;32810:17;32803:47;32867:131;32993:4;32867:131;:::i;:::-;32859:139;;32586:419;;;:::o;33011:228::-;33151:34;33147:1;33139:6;33135:14;33128:58;33220:11;33215:2;33207:6;33203:15;33196:36;33011:228;:::o;33245:366::-;33387:3;33408:67;33472:2;33467:3;33408:67;:::i;:::-;33401:74;;33484:93;33573:3;33484:93;:::i;:::-;33602:2;33597:3;33593:12;33586:19;;33245:366;;;:::o;33617:419::-;33783:4;33821:2;33810:9;33806:18;33798:26;;33870:9;33864:4;33860:20;33856:1;33845:9;33841:17;33834:47;33898:131;34024:4;33898:131;:::i;:::-;33890:139;;33617:419;;;:::o;34042:225::-;34182:34;34178:1;34170:6;34166:14;34159:58;34251:8;34246:2;34238:6;34234:15;34227:33;34042:225;:::o;34273:366::-;34415:3;34436:67;34500:2;34495:3;34436:67;:::i;:::-;34429:74;;34512:93;34601:3;34512:93;:::i;:::-;34630:2;34625:3;34621:12;34614:19;;34273:366;;;:::o;34645:419::-;34811:4;34849:2;34838:9;34834:18;34826:26;;34898:9;34892:4;34888:20;34884:1;34873:9;34869:17;34862:47;34926:131;35052:4;34926:131;:::i;:::-;34918:139;;34645:419;;;:::o;35070:233::-;35109:3;35132:24;35150:5;35132:24;:::i;:::-;35123:33;;35178:66;35171:5;35168:77;35165:103;;35248:18;;:::i;:::-;35165:103;35295:1;35288:5;35284:13;35277:20;;35070:233;;;:::o

Swarm Source

ipfs://4dd4e2061d564b5ac627972f6c7d2e41a6e512a914819f67e5ab7b3823846319

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.