ETH Price: $3,282.40 (-3.75%)
Gas: 15 Gwei

Token

Gauro (GAURO)
 

Overview

Max Total Supply

19,703,482.181043622 GAURO

Holders

732 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (-0.04%)

Onchain Market Cap

$64,359.13

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 GAURO

Value
$0.00 ( ~0 Eth) [0.0000%]
0x7d4737140e7bd5fc73c5b7f5f035ca27dc626fc7
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The Gauro Protocol is built on the Ethereum network with a primary focus on simplifying the delivery of investment, reward compounding, and DeFi (Decentralized Finance) services to the community in the crypto-space.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Gauro

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-14
*/

// The First Compound Reward Protocol (CRP)

// Website: https://gauro.io
// Docs: https://docs.gauro.io
// Twitter: https://x.com/gauro_io
// Telegram: https://t.me/gauro_io
// Channel: https://t.me/GauroChannel

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

// File @openzeppelin/contracts/access/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File @openzeppelin/contracts/token/ERC20/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// File contracts/IUniswap.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity ^0.8.0;

interface IPair {
    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

    function token0() external view returns (address);

    function sync() external;
}

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

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

interface IUniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

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

// File contracts/Token.sol

// Original license: SPDX_License_Identifier: MIT

pragma solidity 0.8.21;

abstract contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(
        string memory _tokenName,
        string memory _tokenSymbol,
        uint8 _tokenDecimals
    ) {
        _name = _tokenName;
        _symbol = _tokenSymbol;
        _decimals = _tokenDecimals;
    }

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

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

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

contract Gauro is ERC20Detailed, Ownable {
    uint256 public rebaseFrequency = 1 hours;
    uint256 public nextRebase;
    uint256 public lastRebase;
    uint256 public finalEpoch = 336; // 14 days
    uint256 public currentEpoch;

    bool public autoRebase;

    uint256 public maxAmount;
    uint256 public maxWallet;

    address public taxWallet;
    address public stakingAdress;

    uint256 public feeToLp = 2;
    uint256 public feeToStake = 2;
    uint256 public feeToMarketing = 2;
    uint256 public finalTax = feeToLp + feeToStake + feeToMarketing;

    uint256 private _initialTax = 25;
    uint256 private _reduceTaxAt = 25;

    uint256 private _buyCount = 0;
    uint256 private _sellCount = 0;
    mapping(address => bool) private _bots;

    uint8 private constant DECIMALS = 9;
    uint256 private constant INITIAL_TOKENS_SUPPLY = 10_000_000 * 10 ** DECIMALS;

    uint256 private constant TOTAL_PARTS =
        type(uint256).max - (type(uint256).max % INITIAL_TOKENS_SUPPLY);

    event Rebase(uint256 indexed time, uint256 totalSupply);
    event RemovedLimits();

    IUniswapRouter public router;
    address public pair;

    bool public limitsInEffect = true;
    bool public tradingEnable = false;

    uint256 private _totalSupply;
    uint256 private _partsPerToken;

    uint256 private swapTokenAtAmount = INITIAL_TOKENS_SUPPLY / 200; // 0.5% of total supply

    mapping(address => uint256) private _partBalances;
    mapping(address => mapping(address => uint256)) private _allowedTokens;
    mapping(address => bool) public isExcludedFromFees;

    modifier validRecipient(address to) {
        require(to != address(0x0));
        _;
    }

    bool inSwap;

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

    constructor(address _stakingAdress) ERC20Detailed("Gauro", "GAURO", DECIMALS) {
        taxWallet = msg.sender;

        router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _totalSupply = INITIAL_TOKENS_SUPPLY;
        _partBalances[msg.sender] = TOTAL_PARTS;
        _partsPerToken = TOTAL_PARTS / (_totalSupply);

        maxAmount = (_totalSupply * 2) / 100;
        maxWallet = (_totalSupply * 2) / 100;

        pair = IFactory(router.factory()).createPair(
            address(this),
            router.WETH()
        );

        stakingAdress = _stakingAdress;

        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[_stakingAdress] = true;
        isExcludedFromFees[address(router)] = true;
        isExcludedFromFees[msg.sender] = true;

        _allowedTokens[address(this)][address(router)] = type(uint256).max;
        _allowedTokens[address(this)][address(this)] = type(uint256).max;
        _allowedTokens[address(msg.sender)][address(router)] = type(uint256)
            .max;

        emit Transfer(
            address(0x0),
            address(msg.sender),
            balanceOf(address(this))
        );
    }

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function allowance(
        address owner_,
        address spender
    ) external view override returns (uint256) {
        return _allowedTokens[owner_][spender];
    }

    function balanceOf(address who) public view override returns (uint256) {
        return _partBalances[who] / (_partsPerToken);
    }

    function shouldRebase() public view returns (bool) {
        return
            currentEpoch < finalEpoch &&
            nextRebase > 0 &&
            nextRebase <= block.timestamp &&
            autoRebase;
    }

    function lpSync() internal {
        IPair _pair = IPair(pair);
        _pair.sync();
    }

    function transfer(
        address to,
        uint256 value
    ) external override validRecipient(to) returns (bool) {
        _transferFrom(msg.sender, to, value);
        return true;
    }

    function removeLimits() external onlyOwner {
        require(limitsInEffect, "Limits already removed");
        limitsInEffect = false;
        emit RemovedLimits();
    }

    function excludedFromFees(
        address _address,
        bool _value
    ) external onlyOwner {
        isExcludedFromFees[_address] = _value;
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        address pairAddress = pair;
        require(
            !_bots[sender] && !_bots[recipient] && !_bots[msg.sender],
            "Blacklisted"
        );

        if (
            !inSwap &&
            !isExcludedFromFees[sender] &&
            !isExcludedFromFees[recipient]
        ) {
            require(tradingEnable, "Trading not live");
            if (limitsInEffect) {
                if (sender == pairAddress || recipient == pairAddress) {
                    require(amount <= maxAmount, "Max Tx Exceeded");
                }
                if (recipient != pairAddress) {
                    require(
                        balanceOf(recipient) + amount <= maxWallet,
                        "Max Wallet Exceeded"
                    );
                }
            }

            if (recipient == pairAddress) {
                if (balanceOf(address(this)) >= swapTokenAtAmount) {
                    swapBack();
                }
                if (shouldRebase()) {
                    rebase();
                }
            }

            uint256 taxAmount;

            if (sender == pairAddress) {
                _buyCount += 1;
                taxAmount =
                    (amount *
                        (_buyCount > _reduceTaxAt ? finalTax : _initialTax)) /
                    100;
            } else if (recipient == pairAddress) {
                _sellCount += 1;
                taxAmount =
                    (amount *
                        (_sellCount > _reduceTaxAt ? finalTax : _initialTax)) /
                    100;
            }

            if (taxAmount > 0) {
                _partBalances[sender] -= (taxAmount * _partsPerToken);
                _partBalances[address(this)] += (taxAmount * _partsPerToken);

                emit Transfer(sender, address(this), taxAmount);
                amount -= taxAmount;
            }
        }

        _partBalances[sender] -= (amount * _partsPerToken);
        _partBalances[recipient] += (amount * _partsPerToken);

        emit Transfer(sender, recipient, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external override validRecipient(to) returns (bool) {
        if (_allowedTokens[from][msg.sender] != type(uint256).max) {
            require(
                _allowedTokens[from][msg.sender] >= value,
                "Insufficient Allowance"
            );
            _allowedTokens[from][msg.sender] =
                _allowedTokens[from][msg.sender] -
                (value);
        }
        _transferFrom(from, to, value);
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) external returns (bool) {
        uint256 oldValue = _allowedTokens[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedTokens[msg.sender][spender] = 0;
        } else {
            _allowedTokens[msg.sender][spender] = oldValue - (subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedTokens[msg.sender][spender]);
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) external returns (bool) {
        _allowedTokens[msg.sender][spender] =
            _allowedTokens[msg.sender][spender] +
            (addedValue);
        emit Approval(msg.sender, spender, _allowedTokens[msg.sender][spender]);
        return true;
    }

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

    function rebase() internal returns (uint256) {
        uint256 times = (block.timestamp - lastRebase) / rebaseFrequency;

        lastRebase = block.timestamp;
        nextRebase = block.timestamp + rebaseFrequency;

        if (times + currentEpoch > finalEpoch) {
            times = finalEpoch - currentEpoch;
        }

        currentEpoch += times;

        uint256 supplyDelta = (_totalSupply * times * 68765) / 10 ** 7;

        if (supplyDelta == 0) {
            emit Rebase(block.timestamp, _totalSupply);
            return _totalSupply;
        }

        _totalSupply = _totalSupply + supplyDelta;

        _partsPerToken = TOTAL_PARTS / (_totalSupply);

        if (currentEpoch >= finalEpoch) {
            autoRebase = false;
            nextRebase = 0;
            feeToLp = 0;
            finalTax = feeToStake + feeToMarketing;
        }

        lpSync();

        emit Rebase(block.timestamp, _totalSupply);

        return _totalSupply;
    }

    function manualRebase() external {
        require(shouldRebase(), "Not in time");
        rebase();
    }

    function enableTrading() external onlyOwner {
        require(!tradingEnable, "Trading Live Already");
        _bots[0xdB5889E35e379Ef0498aaE126fc2CCE1fbD23216] = true; // Block Banana Gun
        tradingEnable = true;
    }

    function startRebase() external onlyOwner {
        require(currentEpoch == 0 && !autoRebase, "already started");
        autoRebase = true;
        nextRebase = block.timestamp + rebaseFrequency;
        lastRebase = block.timestamp;
    }

    function swapBack() public swapping {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }

        if (contractBalance > swapTokenAtAmount) {
            contractBalance = swapTokenAtAmount;
        }

        uint256 amountToSwap = (contractBalance *
            (feeToStake + feeToMarketing)) / finalTax;
        uint256 amountToLp = (contractBalance * feeToLp) / finalTax;

        _swapAndAddliquidity(amountToLp);

        _swapTokensForETH(amountToSwap);

        uint256 ethToStake = (address(this).balance * feeToStake) /
            (feeToStake + feeToMarketing);
        uint256 ethTomarketing = (address(this).balance * feeToMarketing) /
            (feeToStake + feeToMarketing);

        if (ethToStake > 0) {
            (bool success, ) = payable(stakingAdress).call{value: ethToStake}(
                ""
            );
            require(success, "Failed to send ETH to dev wallet");
        }

        if (ethTomarketing > 0) {
            (bool success, ) = payable(taxWallet).call{value: ethTomarketing}(
                ""
            );
            require(success, "Failed to send ETH to dev wallet");
        }
    }

    function _swapTokensForETH(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

    function _swapAndAddliquidity(uint256 amount) internal {
        if (amount > 0) {
            uint256 half = amount / 2;
            uint256 otherHalf = amount - half;

            uint256 initialBalance = address(this).balance;

            _swapTokensForETH(half);

            uint256 newBalance = address(this).balance - (initialBalance);

            router.addLiquidityETH{value: newBalance}(
                address(this),
                otherHalf,
                0,
                0,
                taxWallet,
                block.timestamp
            );
        }
    }

    function setStakingAdress(address _stakingAdress) external onlyOwner {
        stakingAdress = _stakingAdress;
    }

    function setSwapAtAmount(uint256 _amount) external onlyOwner {
        swapTokenAtAmount = _amount;
    }

    function fetchBalances(address[] memory wallets) external {
        address wallet;
        for (uint256 i = 0; i < wallets.length; i++) {
            wallet = wallets[i];
            emit Transfer(wallet, wallet, 0);
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_stakingAdress","type":"address"}],"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":[{"indexed":true,"internalType":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"Rebase","type":"event"},{"anonymous":false,"inputs":[],"name":"RemovedLimits","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":[{"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoRebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"excludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeToLp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeToMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeToStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"fetchBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxAmount","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":"view","type":"function"},{"inputs":[],"name":"nextRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"rebaseFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingAdress","type":"address"}],"name":"setStakingAdress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shouldRebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingAdress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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"},{"stateMutability":"payable","type":"receive"}]

6080604052610e106003556101506006556002600d556002600e556002600f55600f54600e54600d5462000034919062000bc4565b62000040919062000bc4565b60105560196011556019601255600060135560006014556001601760146101000a81548160ff0219169083151502179055506000601760156101000a81548160ff02191690831515021790555060c86009600a6200009f919062000d60565b62989680620000af919062000db1565b620000bb919062000e2b565b601a55348015620000cb57600080fd5b5060405162005109380380620051098339818101604052810190620000f1919062000ecd565b6040518060400160405280600581526020017f476175726f0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f474155524f000000000000000000000000000000000000000000000000000000815250600982600090816200017091906200116f565b5081600190816200018291906200116f565b5080600260006101000a81548160ff021916908360ff160217905550505050620001c1620001b562000a6560201b60201c565b62000a6d60201b60201c565b33600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000267919062000d60565b6298968062000277919062000db1565b6018819055506009600a6200028d919062000d60565b629896806200029d919062000db1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620002ca919062001256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620002f791906200128e565b601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506018546009600a6200034d919062000d60565b629896806200035d919062000db1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200038a919062001256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620003b791906200128e565b620003c3919062000e2b565b60198190555060646002601854620003dc919062000db1565b620003e8919062000e2b565b6009819055506064600260185462000401919062000db1565b6200040d919062000e2b565b600a81905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a7919062000ecd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000557919062000ecd565b6040518363ffffffff1660e01b815260040162000576929190620012da565b6020604051808303816000875af115801562000596573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bc919062000ecd565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601d6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a473062000b3360201b60201c565b60405162000a56919062001318565b60405180910390a35062001335565b600033905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000601954601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000b84919062000e2b565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000bd18262000b8b565b915062000bde8362000b8b565b925082820190508082111562000bf95762000bf862000b95565b5b92915050565b60008160011c9050919050565b6000808291508390505b600185111562000c5e5780860481111562000c365762000c3562000b95565b5b600185161562000c465780820291505b808102905062000c568562000bff565b945062000c16565b94509492505050565b60008262000c79576001905062000d4c565b8162000c89576000905062000d4c565b816001811462000ca2576002811462000cad5762000ce3565b600191505062000d4c565b60ff84111562000cc25762000cc162000b95565b5b8360020a91508482111562000cdc5762000cdb62000b95565b5b5062000d4c565b5060208310610133831016604e8410600b841016171562000d1d5782820a90508381111562000d175762000d1662000b95565b5b62000d4c565b62000d2c848484600162000c0c565b9250905081840481111562000d465762000d4562000b95565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d6d8262000b8b565b915062000d7a8362000d53565b925062000da97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c67565b905092915050565b600062000dbe8262000b8b565b915062000dcb8362000b8b565b925082820262000ddb8162000b8b565b9150828204841483151762000df55762000df462000b95565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e388262000b8b565b915062000e458362000b8b565b92508262000e585762000e5762000dfc565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e958262000e68565b9050919050565b62000ea78162000e88565b811462000eb357600080fd5b50565b60008151905062000ec78162000e9c565b92915050565b60006020828403121562000ee65762000ee562000e63565b5b600062000ef68482850162000eb6565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f8157607f821691505b60208210810362000f975762000f9662000f39565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fc2565b6200100d868362000fc2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620010506200104a620010448462000b8b565b62001025565b62000b8b565b9050919050565b6000819050919050565b6200106c836200102f565b620010846200107b8262001057565b84845462000fcf565b825550505050565b600090565b6200109b6200108c565b620010a881848462001061565b505050565b5b81811015620010d057620010c460008262001091565b600181019050620010ae565b5050565b601f8211156200111f57620010e98162000f9d565b620010f48462000fb2565b8101602085101562001104578190505b6200111c620011138562000fb2565b830182620010ad565b50505b505050565b600082821c905092915050565b6000620011446000198460080262001124565b1980831691505092915050565b60006200115f838362001131565b9150826002028217905092915050565b6200117a8262000eff565b67ffffffffffffffff81111562001196576200119562000f0a565b5b620011a2825462000f68565b620011af828285620010d4565b600060209050601f831160018114620011e75760008415620011d2578287015190505b620011de858262001151565b8655506200124e565b601f198416620011f78662000f9d565b60005b828110156200122157848901518255600182019150602085019450602081019050620011fa565b868310156200124157848901516200123d601f89168262001131565b8355505b6001600288020188555050505b505050505050565b6000620012638262000b8b565b9150620012708362000b8b565b92508262001283576200128262000dfc565b5b828206905092915050565b60006200129b8262000b8b565b9150620012a88362000b8b565b9250828203905081811115620012c357620012c262000b95565b5b92915050565b620012d48162000e88565b82525050565b6000604082019050620012f16000830185620012c9565b620013006020830184620012c9565b9392505050565b620013128162000b8b565b82525050565b60006020820190506200132f600083018462001307565b92915050565b613dc480620013456000396000f3fe6080604052600436106102605760003560e01c8063706f86e911610144578063a457c2d7116100b6578063bf64c7aa1161007a578063bf64c7aa146108a5578063dd62ed3e146108ce578063e30d7cab1461090b578063f2fde38b14610934578063f887ea401461095d578063f8b45b051461098857610267565b8063a457c2d7146107aa578063a5fc4fdd146107e7578063a8aa1b3114610812578063a9059cbb1461083d578063bc7e68a31461087a57610267565b806378f353a11161010857806378f353a1146106bc57806389375abf146106e75780638a8c523c146107125780638da5cb5b146107295780639079f9321461075457806395d89b411461077f57610267565b8063706f86e91461060f57806370a0823114610626578063715018a614610663578063751039fc1461067a578063766718081461069157610267565b80633a98d88e116101dd5780635ad27d77116101a15780635ad27d77146105375780635f48f3931461056257806361a9d1b11461058d57806363eab10a146105a45780636402511e146105cf5780636ac5eeee146105f857610267565b80633a98d88e1461044e5780634a62bb65146104795780634dd7c8bf146104a45780634fbee193146104cf57806350f8f6131461050c57610267565b806323b872dd1161022457806323b872dd146103535780632617cc0e146103905780632dc0562d146103bb578063313ce567146103e6578063395093511461041157610267565b806306fdde031461026c578063095ea7b31461029757806316697fc5146102d45780631693e8d4146102fd57806318160ddd1461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109b3565b60405161028e9190612cab565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612d75565b610a45565b6040516102cb9190612dd0565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190612e17565b610b37565b005b34801561030957600080fd5b50610312610b9a565b60405161031f9190612dd0565b60405180910390f35b34801561033457600080fd5b5061033d610bad565b60405161034a9190612e66565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612e81565b610bb7565b6040516103879190612dd0565b60405180910390f35b34801561039c57600080fd5b506103a5610e76565b6040516103b29190612e66565b60405180910390f35b3480156103c757600080fd5b506103d0610e7c565b6040516103dd9190612ee3565b60405180910390f35b3480156103f257600080fd5b506103fb610ea2565b6040516104089190612f1a565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190612d75565b610eb9565b6040516104459190612dd0565b60405180910390f35b34801561045a57600080fd5b506104636110ae565b6040516104709190612e66565b60405180910390f35b34801561048557600080fd5b5061048e6110b4565b60405161049b9190612dd0565b60405180910390f35b3480156104b057600080fd5b506104b96110c7565b6040516104c69190612e66565b60405180910390f35b3480156104db57600080fd5b506104f660048036038101906104f19190612f35565b6110cd565b6040516105039190612dd0565b60405180910390f35b34801561051857600080fd5b506105216110ed565b60405161052e9190612e66565b60405180910390f35b34801561054357600080fd5b5061054c6110f3565b6040516105599190612e66565b60405180910390f35b34801561056e57600080fd5b506105776110f9565b6040516105849190612e66565b60405180910390f35b34801561059957600080fd5b506105a26110ff565b005b3480156105b057600080fd5b506105b9611151565b6040516105c69190612dd0565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f19190612f62565b611193565b005b34801561060457600080fd5b5061060d6111a5565b005b34801561061b57600080fd5b50610624611475565b005b34801561063257600080fd5b5061064d60048036038101906106489190612f35565b611513565b60405161065a9190612e66565b60405180910390f35b34801561066f57600080fd5b50610678611569565b005b34801561068657600080fd5b5061068f61157d565b005b34801561069d57600080fd5b506106a661161d565b6040516106b39190612e66565b60405180910390f35b3480156106c857600080fd5b506106d1611623565b6040516106de9190612e66565b60405180910390f35b3480156106f357600080fd5b506106fc611629565b6040516107099190612e66565b60405180910390f35b34801561071e57600080fd5b5061072761162f565b005b34801561073557600080fd5b5061073e611710565b60405161074b9190612ee3565b60405180910390f35b34801561076057600080fd5b5061076961173a565b6040516107769190612dd0565b60405180910390f35b34801561078b57600080fd5b5061079461174d565b6040516107a19190612cab565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc9190612d75565b6117df565b6040516107de9190612dd0565b60405180910390f35b3480156107f357600080fd5b506107fc611a68565b6040516108099190612ee3565b60405180910390f35b34801561081e57600080fd5b50610827611a8e565b6040516108349190612ee3565b60405180910390f35b34801561084957600080fd5b50610864600480360381019061085f9190612d75565b611ab4565b6040516108719190612dd0565b60405180910390f35b34801561088657600080fd5b5061088f611b07565b60405161089c9190612e66565b60405180910390f35b3480156108b157600080fd5b506108cc60048036038101906108c791906130d7565b611b0d565b005b3480156108da57600080fd5b506108f560048036038101906108f09190613120565b611bb9565b6040516109029190612e66565b60405180910390f35b34801561091757600080fd5b50610932600480360381019061092d9190612f35565b611c40565b005b34801561094057600080fd5b5061095b60048036038101906109569190612f35565b611c8c565b005b34801561096957600080fd5b50610972611d0f565b60405161097f91906131bf565b60405180910390f35b34801561099457600080fd5b5061099d611d35565b6040516109aa9190612e66565b60405180910390f35b6060600080546109c290613209565b80601f01602080910402602001604051908101604052809291908181526020018280546109ee90613209565b8015610a3b5780601f10610a1057610100808354040283529160200191610a3b565b820191906000526020600020905b815481529060010190602001808311610a1e57829003601f168201915b5050505050905090565b600081601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b259190612e66565b60405180910390a36001905092915050565b610b3f611d3b565b80601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760159054906101000a900460ff1681565b6000601854905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bf357600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e5e5782601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c90613286565b60405180910390fd5b82601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ddd91906132d5565b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e69858585611db9565b5060019150509392505050565b600e5481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16905090565b600081601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f439190613309565b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161109c9190612e66565b60405180910390a36001905092915050565b60065481565b601760149054906101000a900460ff1681565b60105481565b601d6020528060005260406000206000915054906101000a900460ff1681565b600d5481565b600f5481565b60095481565b611107611151565b611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90613389565b60405180910390fd5b61114e612561565b50565b600060065460075410801561116857506000600454115b801561117657504260045411155b801561118e5750600860009054906101000a900460ff165b905090565b61119b611d3b565b80601a8190555050565b6001601e60006101000a81548160ff02191690831515021790555060006111cb30611513565b9050600081036111db5750611458565b601a548111156111eb57601a5490505b6000601054600f54600e546112009190613309565b8361120b91906133a9565b611215919061341a565b90506000601054600d548461122a91906133a9565b611234919061341a565b905061123f8161278e565b611248826128ad565b6000600f54600e5461125a9190613309565b600e544761126891906133a9565b611272919061341a565b90506000600f54600e546112869190613309565b600f544761129491906133a9565b61129e919061341a565b90506000821115611379576000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516112f19061347c565b60006040518083038185875af1925050503d806000811461132e576040519150601f19603f3d011682016040523d82523d6000602084013e611333565b606091505b5050905080611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e906134dd565b60405180910390fd5b505b6000811115611452576000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516113ca9061347c565b60006040518083038185875af1925050503d8060008114611407576040519150601f19603f3d011682016040523d82523d6000602084013e61140c565b606091505b5050905080611450576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611447906134dd565b60405180910390fd5b505b50505050505b6000601e60006101000a81548160ff021916908315150217905550565b61147d611d3b565b600060075414801561149c5750600860009054906101000a900460ff16155b6114db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d290613549565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550600354426115049190613309565b60048190555042600581905550565b6000601954601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611562919061341a565b9050919050565b611571611d3b565b61157b6000612ac3565b565b611585611d3b565b601760149054906101000a900460ff166115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cb906135b5565b60405180910390fd5b6000601760146101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b60075481565b60055481565b60035481565b611637611d3b565b601760159054906101000a900460ff1615611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90613621565b60405180910390fd5b60016015600073db5889e35e379ef0498aae126fc2cce1fbd2321673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760156101000a81548160ff021916908315150217905550565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900460ff1681565b60606001805461175c90613209565b80601f016020809104026020016040519081016040528092919081815260200182805461178890613209565b80156117d55780601f106117aa576101008083540402835291602001916117d5565b820191906000526020600020905b8154815290600101906020018083116117b857829003601f168201915b5050505050905090565b600080601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106118ef576000601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197c565b82816118fb91906132d5565b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611a559190612e66565b60405180910390a3600191505092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611af057600080fd5b611afb338585611db9565b50600191505092915050565b60045481565b600080600090505b8251811015611bb457828181518110611b3157611b30613641565b5b602002602001015191508173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611b9991906136ab565b60405180910390a38080611bac906136c6565b915050611b15565b505050565b6000601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c48611d3b565b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611c94611d3b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90613780565b60405180910390fd5b611d0c81612ac3565b50565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b611d43612b89565b73ffffffffffffffffffffffffffffffffffffffff16611d61611710565b73ffffffffffffffffffffffffffffffffffffffff1614611db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dae906137ec565b60405180910390fd5b565b600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e855750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611edb5750601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1190613858565b60405180910390fd5b601e60009054906101000a900460ff16158015611f815750601d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fd75750601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561242a57601760159054906101000a900460ff1661202b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612022906138c4565b60405180910390fd5b601760149054906101000a900460ff161561217d578073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806120a557508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156120f0576009548311156120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690613930565b60405180910390fd5b5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461217c57600a548361213086611513565b61213a9190613309565b111561217b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121729061399c565b60405180910390fd5b5b5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121e257601a546121bc30611513565b106121ca576121c96111a5565b5b6121d2611151565b156121e1576121df612561565b505b5b60008173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036122665760016013600082825461222a9190613309565b925050819055506064601254601354116122465760115461224a565b6010545b8561225591906133a9565b61225f919061341a565b90506122e5565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036122e4576001601460008282546122ac9190613309565b925050819055506064601254601454116122c8576011546122cc565b6010545b856122d791906133a9565b6122e1919061341a565b90505b5b600081111561242857601954816122fc91906133a9565b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461234a91906132d5565b925050819055506019548161235f91906133a9565b601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123ad9190613309565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124119190612e66565b60405180910390a3808461242591906132d5565b93505b505b6019548361243891906133a9565b601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461248691906132d5565b925050819055506019548361249b91906133a9565b601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124e99190613309565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161254d9190612e66565b60405180910390a360019150509392505050565b6000806003546005544261257591906132d5565b61257f919061341a565b905042600581905550600354426125969190613309565b600481905550600654600754826125ad9190613309565b11156125c6576007546006546125c391906132d5565b90505b80600760008282546125d89190613309565b9250508190555060006298968062010c9d836018546125f791906133a9565b61260191906133a9565b61260b919061341a565b90506000810361265b57427f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a215116018546040516126479190612e66565b60405180910390a26018549250505061278b565b806018546126699190613309565b6018819055506018546009600a6126809190613aef565b6298968061268e91906133a9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6126b99190613b3a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6126e491906132d5565b6126ee919061341a565b60198190555060065460075410612741576000600860006101000a81548160ff02191690831515021790555060006004819055506000600d81905550600f54600e5461273a9190613309565b6010819055505b612749612b91565b427f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160185460405161277b9190612e66565b60405180910390a2601854925050505b90565b60008111156128aa5760006002826127a6919061341a565b9050600081836127b691906132d5565b905060004790506127c6836128ad565b600081476127d491906132d5565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823086600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161285f96959493929190613b6b565b60606040518083038185885af115801561287d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128a29190613be1565b505050505050505b50565b6000600267ffffffffffffffff8111156128ca576128c9612f94565b5b6040519080825280602002602001820160405280156128f85781602001602082028036833780820191505090505b50905030816000815181106129105761290f613641565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129db9190613c49565b816001815181106129ef576129ee613641565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a8d959493929190613d34565b600060405180830381600087803b158015612aa757600080fd5b505af1158015612abb573d6000803e3d6000fd5b505050505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612c0057600080fd5b505af1158015612c14573d6000803e3d6000fd5b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c55578082015181840152602081019050612c3a565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c7d82612c1b565b612c878185612c26565b9350612c97818560208601612c37565b612ca081612c61565b840191505092915050565b60006020820190508181036000830152612cc58184612c72565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0c82612ce1565b9050919050565b612d1c81612d01565b8114612d2757600080fd5b50565b600081359050612d3981612d13565b92915050565b6000819050919050565b612d5281612d3f565b8114612d5d57600080fd5b50565b600081359050612d6f81612d49565b92915050565b60008060408385031215612d8c57612d8b612cd7565b5b6000612d9a85828601612d2a565b9250506020612dab85828601612d60565b9150509250929050565b60008115159050919050565b612dca81612db5565b82525050565b6000602082019050612de56000830184612dc1565b92915050565b612df481612db5565b8114612dff57600080fd5b50565b600081359050612e1181612deb565b92915050565b60008060408385031215612e2e57612e2d612cd7565b5b6000612e3c85828601612d2a565b9250506020612e4d85828601612e02565b9150509250929050565b612e6081612d3f565b82525050565b6000602082019050612e7b6000830184612e57565b92915050565b600080600060608486031215612e9a57612e99612cd7565b5b6000612ea886828701612d2a565b9350506020612eb986828701612d2a565b9250506040612eca86828701612d60565b9150509250925092565b612edd81612d01565b82525050565b6000602082019050612ef86000830184612ed4565b92915050565b600060ff82169050919050565b612f1481612efe565b82525050565b6000602082019050612f2f6000830184612f0b565b92915050565b600060208284031215612f4b57612f4a612cd7565b5b6000612f5984828501612d2a565b91505092915050565b600060208284031215612f7857612f77612cd7565b5b6000612f8684828501612d60565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612fcc82612c61565b810181811067ffffffffffffffff82111715612feb57612fea612f94565b5b80604052505050565b6000612ffe612ccd565b905061300a8282612fc3565b919050565b600067ffffffffffffffff82111561302a57613029612f94565b5b602082029050602081019050919050565b600080fd5b600061305361304e8461300f565b612ff4565b905080838252602082019050602084028301858111156130765761307561303b565b5b835b8181101561309f578061308b8882612d2a565b845260208401935050602081019050613078565b5050509392505050565b600082601f8301126130be576130bd612f8f565b5b81356130ce848260208601613040565b91505092915050565b6000602082840312156130ed576130ec612cd7565b5b600082013567ffffffffffffffff81111561310b5761310a612cdc565b5b613117848285016130a9565b91505092915050565b6000806040838503121561313757613136612cd7565b5b600061314585828601612d2a565b925050602061315685828601612d2a565b9150509250929050565b6000819050919050565b600061318561318061317b84612ce1565b613160565b612ce1565b9050919050565b60006131978261316a565b9050919050565b60006131a98261318c565b9050919050565b6131b98161319e565b82525050565b60006020820190506131d460008301846131b0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061322157607f821691505b602082108103613234576132336131da565b5b50919050565b7f496e73756666696369656e7420416c6c6f77616e636500000000000000000000600082015250565b6000613270601683612c26565b915061327b8261323a565b602082019050919050565b6000602082019050818103600083015261329f81613263565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132e082612d3f565b91506132eb83612d3f565b9250828203905081811115613303576133026132a6565b5b92915050565b600061331482612d3f565b915061331f83612d3f565b9250828201905080821115613337576133366132a6565b5b92915050565b7f4e6f7420696e2074696d65000000000000000000000000000000000000000000600082015250565b6000613373600b83612c26565b915061337e8261333d565b602082019050919050565b600060208201905081810360008301526133a281613366565b9050919050565b60006133b482612d3f565b91506133bf83612d3f565b92508282026133cd81612d3f565b915082820484148315176133e4576133e36132a6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061342582612d3f565b915061343083612d3f565b9250826134405761343f6133eb565b5b828204905092915050565b600081905092915050565b50565b600061346660008361344b565b915061347182613456565b600082019050919050565b600061348782613459565b9150819050919050565b7f4661696c656420746f2073656e642045544820746f206465762077616c6c6574600082015250565b60006134c7602083612c26565b91506134d282613491565b602082019050919050565b600060208201905081810360008301526134f6816134ba565b9050919050565b7f616c726561647920737461727465640000000000000000000000000000000000600082015250565b6000613533600f83612c26565b915061353e826134fd565b602082019050919050565b6000602082019050818103600083015261356281613526565b9050919050565b7f4c696d69747320616c72656164792072656d6f76656400000000000000000000600082015250565b600061359f601683612c26565b91506135aa82613569565b602082019050919050565b600060208201905081810360008301526135ce81613592565b9050919050565b7f54726164696e67204c69766520416c7265616479000000000000000000000000600082015250565b600061360b601483612c26565b9150613616826135d5565b602082019050919050565b6000602082019050818103600083015261363a816135fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061369561369061368b84613670565b613160565b612d3f565b9050919050565b6136a58161367a565b82525050565b60006020820190506136c0600083018461369c565b92915050565b60006136d182612d3f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613703576137026132a6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061376a602683612c26565b91506137758261370e565b604082019050919050565b600060208201905081810360008301526137998161375d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137d6602083612c26565b91506137e1826137a0565b602082019050919050565b60006020820190508181036000830152613805816137c9565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000613842600b83612c26565b915061384d8261380c565b602082019050919050565b6000602082019050818103600083015261387181613835565b9050919050565b7f54726164696e67206e6f74206c69766500000000000000000000000000000000600082015250565b60006138ae601083612c26565b91506138b982613878565b602082019050919050565b600060208201905081810360008301526138dd816138a1565b9050919050565b7f4d61782054782045786365656465640000000000000000000000000000000000600082015250565b600061391a600f83612c26565b9150613925826138e4565b602082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f4d61782057616c6c657420457863656564656400000000000000000000000000600082015250565b6000613986601383612c26565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613a13578086048111156139ef576139ee6132a6565b5b60018516156139fe5780820291505b8081029050613a0c856139bc565b94506139d3565b94509492505050565b600082613a2c5760019050613ae8565b81613a3a5760009050613ae8565b8160018114613a505760028114613a5a57613a89565b6001915050613ae8565b60ff841115613a6c57613a6b6132a6565b5b8360020a915084821115613a8357613a826132a6565b5b50613ae8565b5060208310610133831016604e8410600b8410161715613abe5782820a905083811115613ab957613ab86132a6565b5b613ae8565b613acb84848460016139c9565b92509050818404811115613ae257613ae16132a6565b5b81810290505b9392505050565b6000613afa82612d3f565b9150613b0583612efe565b9250613b327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a1c565b905092915050565b6000613b4582612d3f565b9150613b5083612d3f565b925082613b6057613b5f6133eb565b5b828206905092915050565b600060c082019050613b806000830189612ed4565b613b8d6020830188612e57565b613b9a604083018761369c565b613ba7606083018661369c565b613bb46080830185612ed4565b613bc160a0830184612e57565b979650505050505050565b600081519050613bdb81612d49565b92915050565b600080600060608486031215613bfa57613bf9612cd7565b5b6000613c0886828701613bcc565b9350506020613c1986828701613bcc565b9250506040613c2a86828701613bcc565b9150509250925092565b600081519050613c4381612d13565b92915050565b600060208284031215613c5f57613c5e612cd7565b5b6000613c6d84828501613c34565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cab81612d01565b82525050565b6000613cbd8383613ca2565b60208301905092915050565b6000602082019050919050565b6000613ce182613c76565b613ceb8185613c81565b9350613cf683613c92565b8060005b83811015613d27578151613d0e8882613cb1565b9750613d1983613cc9565b925050600181019050613cfa565b5085935050505092915050565b600060a082019050613d496000830188612e57565b613d56602083018761369c565b8181036040830152613d688186613cd6565b9050613d776060830185612ed4565b613d846080830184612e57565b969550505050505056fea264697066735822122080887d6ea87fba3f50f9a8d519a38b7bb8c9047d79753eab1cba5cdd750e808c64736f6c634300081500330000000000000000000000009b096ee966175d6ed02dbe60a176f02af5b0062d

Deployed Bytecode

0x6080604052600436106102605760003560e01c8063706f86e911610144578063a457c2d7116100b6578063bf64c7aa1161007a578063bf64c7aa146108a5578063dd62ed3e146108ce578063e30d7cab1461090b578063f2fde38b14610934578063f887ea401461095d578063f8b45b051461098857610267565b8063a457c2d7146107aa578063a5fc4fdd146107e7578063a8aa1b3114610812578063a9059cbb1461083d578063bc7e68a31461087a57610267565b806378f353a11161010857806378f353a1146106bc57806389375abf146106e75780638a8c523c146107125780638da5cb5b146107295780639079f9321461075457806395d89b411461077f57610267565b8063706f86e91461060f57806370a0823114610626578063715018a614610663578063751039fc1461067a578063766718081461069157610267565b80633a98d88e116101dd5780635ad27d77116101a15780635ad27d77146105375780635f48f3931461056257806361a9d1b11461058d57806363eab10a146105a45780636402511e146105cf5780636ac5eeee146105f857610267565b80633a98d88e1461044e5780634a62bb65146104795780634dd7c8bf146104a45780634fbee193146104cf57806350f8f6131461050c57610267565b806323b872dd1161022457806323b872dd146103535780632617cc0e146103905780632dc0562d146103bb578063313ce567146103e6578063395093511461041157610267565b806306fdde031461026c578063095ea7b31461029757806316697fc5146102d45780631693e8d4146102fd57806318160ddd1461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109b3565b60405161028e9190612cab565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612d75565b610a45565b6040516102cb9190612dd0565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190612e17565b610b37565b005b34801561030957600080fd5b50610312610b9a565b60405161031f9190612dd0565b60405180910390f35b34801561033457600080fd5b5061033d610bad565b60405161034a9190612e66565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612e81565b610bb7565b6040516103879190612dd0565b60405180910390f35b34801561039c57600080fd5b506103a5610e76565b6040516103b29190612e66565b60405180910390f35b3480156103c757600080fd5b506103d0610e7c565b6040516103dd9190612ee3565b60405180910390f35b3480156103f257600080fd5b506103fb610ea2565b6040516104089190612f1a565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190612d75565b610eb9565b6040516104459190612dd0565b60405180910390f35b34801561045a57600080fd5b506104636110ae565b6040516104709190612e66565b60405180910390f35b34801561048557600080fd5b5061048e6110b4565b60405161049b9190612dd0565b60405180910390f35b3480156104b057600080fd5b506104b96110c7565b6040516104c69190612e66565b60405180910390f35b3480156104db57600080fd5b506104f660048036038101906104f19190612f35565b6110cd565b6040516105039190612dd0565b60405180910390f35b34801561051857600080fd5b506105216110ed565b60405161052e9190612e66565b60405180910390f35b34801561054357600080fd5b5061054c6110f3565b6040516105599190612e66565b60405180910390f35b34801561056e57600080fd5b506105776110f9565b6040516105849190612e66565b60405180910390f35b34801561059957600080fd5b506105a26110ff565b005b3480156105b057600080fd5b506105b9611151565b6040516105c69190612dd0565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f19190612f62565b611193565b005b34801561060457600080fd5b5061060d6111a5565b005b34801561061b57600080fd5b50610624611475565b005b34801561063257600080fd5b5061064d60048036038101906106489190612f35565b611513565b60405161065a9190612e66565b60405180910390f35b34801561066f57600080fd5b50610678611569565b005b34801561068657600080fd5b5061068f61157d565b005b34801561069d57600080fd5b506106a661161d565b6040516106b39190612e66565b60405180910390f35b3480156106c857600080fd5b506106d1611623565b6040516106de9190612e66565b60405180910390f35b3480156106f357600080fd5b506106fc611629565b6040516107099190612e66565b60405180910390f35b34801561071e57600080fd5b5061072761162f565b005b34801561073557600080fd5b5061073e611710565b60405161074b9190612ee3565b60405180910390f35b34801561076057600080fd5b5061076961173a565b6040516107769190612dd0565b60405180910390f35b34801561078b57600080fd5b5061079461174d565b6040516107a19190612cab565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc9190612d75565b6117df565b6040516107de9190612dd0565b60405180910390f35b3480156107f357600080fd5b506107fc611a68565b6040516108099190612ee3565b60405180910390f35b34801561081e57600080fd5b50610827611a8e565b6040516108349190612ee3565b60405180910390f35b34801561084957600080fd5b50610864600480360381019061085f9190612d75565b611ab4565b6040516108719190612dd0565b60405180910390f35b34801561088657600080fd5b5061088f611b07565b60405161089c9190612e66565b60405180910390f35b3480156108b157600080fd5b506108cc60048036038101906108c791906130d7565b611b0d565b005b3480156108da57600080fd5b506108f560048036038101906108f09190613120565b611bb9565b6040516109029190612e66565b60405180910390f35b34801561091757600080fd5b50610932600480360381019061092d9190612f35565b611c40565b005b34801561094057600080fd5b5061095b60048036038101906109569190612f35565b611c8c565b005b34801561096957600080fd5b50610972611d0f565b60405161097f91906131bf565b60405180910390f35b34801561099457600080fd5b5061099d611d35565b6040516109aa9190612e66565b60405180910390f35b6060600080546109c290613209565b80601f01602080910402602001604051908101604052809291908181526020018280546109ee90613209565b8015610a3b5780601f10610a1057610100808354040283529160200191610a3b565b820191906000526020600020905b815481529060010190602001808311610a1e57829003601f168201915b5050505050905090565b600081601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b259190612e66565b60405180910390a36001905092915050565b610b3f611d3b565b80601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760159054906101000a900460ff1681565b6000601854905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bf357600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e5e5782601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c90613286565b60405180910390fd5b82601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ddd91906132d5565b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e69858585611db9565b5060019150509392505050565b600e5481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16905090565b600081601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f439190613309565b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161109c9190612e66565b60405180910390a36001905092915050565b60065481565b601760149054906101000a900460ff1681565b60105481565b601d6020528060005260406000206000915054906101000a900460ff1681565b600d5481565b600f5481565b60095481565b611107611151565b611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90613389565b60405180910390fd5b61114e612561565b50565b600060065460075410801561116857506000600454115b801561117657504260045411155b801561118e5750600860009054906101000a900460ff165b905090565b61119b611d3b565b80601a8190555050565b6001601e60006101000a81548160ff02191690831515021790555060006111cb30611513565b9050600081036111db5750611458565b601a548111156111eb57601a5490505b6000601054600f54600e546112009190613309565b8361120b91906133a9565b611215919061341a565b90506000601054600d548461122a91906133a9565b611234919061341a565b905061123f8161278e565b611248826128ad565b6000600f54600e5461125a9190613309565b600e544761126891906133a9565b611272919061341a565b90506000600f54600e546112869190613309565b600f544761129491906133a9565b61129e919061341a565b90506000821115611379576000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516112f19061347c565b60006040518083038185875af1925050503d806000811461132e576040519150601f19603f3d011682016040523d82523d6000602084013e611333565b606091505b5050905080611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e906134dd565b60405180910390fd5b505b6000811115611452576000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516113ca9061347c565b60006040518083038185875af1925050503d8060008114611407576040519150601f19603f3d011682016040523d82523d6000602084013e61140c565b606091505b5050905080611450576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611447906134dd565b60405180910390fd5b505b50505050505b6000601e60006101000a81548160ff021916908315150217905550565b61147d611d3b565b600060075414801561149c5750600860009054906101000a900460ff16155b6114db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d290613549565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550600354426115049190613309565b60048190555042600581905550565b6000601954601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611562919061341a565b9050919050565b611571611d3b565b61157b6000612ac3565b565b611585611d3b565b601760149054906101000a900460ff166115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cb906135b5565b60405180910390fd5b6000601760146101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b60075481565b60055481565b60035481565b611637611d3b565b601760159054906101000a900460ff1615611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90613621565b60405180910390fd5b60016015600073db5889e35e379ef0498aae126fc2cce1fbd2321673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760156101000a81548160ff021916908315150217905550565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900460ff1681565b60606001805461175c90613209565b80601f016020809104026020016040519081016040528092919081815260200182805461178890613209565b80156117d55780601f106117aa576101008083540402835291602001916117d5565b820191906000526020600020905b8154815290600101906020018083116117b857829003601f168201915b5050505050905090565b600080601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106118ef576000601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197c565b82816118fb91906132d5565b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611a559190612e66565b60405180910390a3600191505092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611af057600080fd5b611afb338585611db9565b50600191505092915050565b60045481565b600080600090505b8251811015611bb457828181518110611b3157611b30613641565b5b602002602001015191508173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611b9991906136ab565b60405180910390a38080611bac906136c6565b915050611b15565b505050565b6000601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c48611d3b565b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611c94611d3b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90613780565b60405180910390fd5b611d0c81612ac3565b50565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b611d43612b89565b73ffffffffffffffffffffffffffffffffffffffff16611d61611710565b73ffffffffffffffffffffffffffffffffffffffff1614611db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dae906137ec565b60405180910390fd5b565b600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e855750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611edb5750601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1190613858565b60405180910390fd5b601e60009054906101000a900460ff16158015611f815750601d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fd75750601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561242a57601760159054906101000a900460ff1661202b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612022906138c4565b60405180910390fd5b601760149054906101000a900460ff161561217d578073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806120a557508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156120f0576009548311156120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690613930565b60405180910390fd5b5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461217c57600a548361213086611513565b61213a9190613309565b111561217b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121729061399c565b60405180910390fd5b5b5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121e257601a546121bc30611513565b106121ca576121c96111a5565b5b6121d2611151565b156121e1576121df612561565b505b5b60008173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036122665760016013600082825461222a9190613309565b925050819055506064601254601354116122465760115461224a565b6010545b8561225591906133a9565b61225f919061341a565b90506122e5565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036122e4576001601460008282546122ac9190613309565b925050819055506064601254601454116122c8576011546122cc565b6010545b856122d791906133a9565b6122e1919061341a565b90505b5b600081111561242857601954816122fc91906133a9565b601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461234a91906132d5565b925050819055506019548161235f91906133a9565b601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123ad9190613309565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124119190612e66565b60405180910390a3808461242591906132d5565b93505b505b6019548361243891906133a9565b601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461248691906132d5565b925050819055506019548361249b91906133a9565b601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124e99190613309565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161254d9190612e66565b60405180910390a360019150509392505050565b6000806003546005544261257591906132d5565b61257f919061341a565b905042600581905550600354426125969190613309565b600481905550600654600754826125ad9190613309565b11156125c6576007546006546125c391906132d5565b90505b80600760008282546125d89190613309565b9250508190555060006298968062010c9d836018546125f791906133a9565b61260191906133a9565b61260b919061341a565b90506000810361265b57427f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a215116018546040516126479190612e66565b60405180910390a26018549250505061278b565b806018546126699190613309565b6018819055506018546009600a6126809190613aef565b6298968061268e91906133a9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6126b99190613b3a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6126e491906132d5565b6126ee919061341a565b60198190555060065460075410612741576000600860006101000a81548160ff02191690831515021790555060006004819055506000600d81905550600f54600e5461273a9190613309565b6010819055505b612749612b91565b427f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160185460405161277b9190612e66565b60405180910390a2601854925050505b90565b60008111156128aa5760006002826127a6919061341a565b9050600081836127b691906132d5565b905060004790506127c6836128ad565b600081476127d491906132d5565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823086600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161285f96959493929190613b6b565b60606040518083038185885af115801561287d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128a29190613be1565b505050505050505b50565b6000600267ffffffffffffffff8111156128ca576128c9612f94565b5b6040519080825280602002602001820160405280156128f85781602001602082028036833780820191505090505b50905030816000815181106129105761290f613641565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129db9190613c49565b816001815181106129ef576129ee613641565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a8d959493929190613d34565b600060405180830381600087803b158015612aa757600080fd5b505af1158015612abb573d6000803e3d6000fd5b505050505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612c0057600080fd5b505af1158015612c14573d6000803e3d6000fd5b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c55578082015181840152602081019050612c3a565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c7d82612c1b565b612c878185612c26565b9350612c97818560208601612c37565b612ca081612c61565b840191505092915050565b60006020820190508181036000830152612cc58184612c72565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0c82612ce1565b9050919050565b612d1c81612d01565b8114612d2757600080fd5b50565b600081359050612d3981612d13565b92915050565b6000819050919050565b612d5281612d3f565b8114612d5d57600080fd5b50565b600081359050612d6f81612d49565b92915050565b60008060408385031215612d8c57612d8b612cd7565b5b6000612d9a85828601612d2a565b9250506020612dab85828601612d60565b9150509250929050565b60008115159050919050565b612dca81612db5565b82525050565b6000602082019050612de56000830184612dc1565b92915050565b612df481612db5565b8114612dff57600080fd5b50565b600081359050612e1181612deb565b92915050565b60008060408385031215612e2e57612e2d612cd7565b5b6000612e3c85828601612d2a565b9250506020612e4d85828601612e02565b9150509250929050565b612e6081612d3f565b82525050565b6000602082019050612e7b6000830184612e57565b92915050565b600080600060608486031215612e9a57612e99612cd7565b5b6000612ea886828701612d2a565b9350506020612eb986828701612d2a565b9250506040612eca86828701612d60565b9150509250925092565b612edd81612d01565b82525050565b6000602082019050612ef86000830184612ed4565b92915050565b600060ff82169050919050565b612f1481612efe565b82525050565b6000602082019050612f2f6000830184612f0b565b92915050565b600060208284031215612f4b57612f4a612cd7565b5b6000612f5984828501612d2a565b91505092915050565b600060208284031215612f7857612f77612cd7565b5b6000612f8684828501612d60565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612fcc82612c61565b810181811067ffffffffffffffff82111715612feb57612fea612f94565b5b80604052505050565b6000612ffe612ccd565b905061300a8282612fc3565b919050565b600067ffffffffffffffff82111561302a57613029612f94565b5b602082029050602081019050919050565b600080fd5b600061305361304e8461300f565b612ff4565b905080838252602082019050602084028301858111156130765761307561303b565b5b835b8181101561309f578061308b8882612d2a565b845260208401935050602081019050613078565b5050509392505050565b600082601f8301126130be576130bd612f8f565b5b81356130ce848260208601613040565b91505092915050565b6000602082840312156130ed576130ec612cd7565b5b600082013567ffffffffffffffff81111561310b5761310a612cdc565b5b613117848285016130a9565b91505092915050565b6000806040838503121561313757613136612cd7565b5b600061314585828601612d2a565b925050602061315685828601612d2a565b9150509250929050565b6000819050919050565b600061318561318061317b84612ce1565b613160565b612ce1565b9050919050565b60006131978261316a565b9050919050565b60006131a98261318c565b9050919050565b6131b98161319e565b82525050565b60006020820190506131d460008301846131b0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061322157607f821691505b602082108103613234576132336131da565b5b50919050565b7f496e73756666696369656e7420416c6c6f77616e636500000000000000000000600082015250565b6000613270601683612c26565b915061327b8261323a565b602082019050919050565b6000602082019050818103600083015261329f81613263565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132e082612d3f565b91506132eb83612d3f565b9250828203905081811115613303576133026132a6565b5b92915050565b600061331482612d3f565b915061331f83612d3f565b9250828201905080821115613337576133366132a6565b5b92915050565b7f4e6f7420696e2074696d65000000000000000000000000000000000000000000600082015250565b6000613373600b83612c26565b915061337e8261333d565b602082019050919050565b600060208201905081810360008301526133a281613366565b9050919050565b60006133b482612d3f565b91506133bf83612d3f565b92508282026133cd81612d3f565b915082820484148315176133e4576133e36132a6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061342582612d3f565b915061343083612d3f565b9250826134405761343f6133eb565b5b828204905092915050565b600081905092915050565b50565b600061346660008361344b565b915061347182613456565b600082019050919050565b600061348782613459565b9150819050919050565b7f4661696c656420746f2073656e642045544820746f206465762077616c6c6574600082015250565b60006134c7602083612c26565b91506134d282613491565b602082019050919050565b600060208201905081810360008301526134f6816134ba565b9050919050565b7f616c726561647920737461727465640000000000000000000000000000000000600082015250565b6000613533600f83612c26565b915061353e826134fd565b602082019050919050565b6000602082019050818103600083015261356281613526565b9050919050565b7f4c696d69747320616c72656164792072656d6f76656400000000000000000000600082015250565b600061359f601683612c26565b91506135aa82613569565b602082019050919050565b600060208201905081810360008301526135ce81613592565b9050919050565b7f54726164696e67204c69766520416c7265616479000000000000000000000000600082015250565b600061360b601483612c26565b9150613616826135d5565b602082019050919050565b6000602082019050818103600083015261363a816135fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061369561369061368b84613670565b613160565b612d3f565b9050919050565b6136a58161367a565b82525050565b60006020820190506136c0600083018461369c565b92915050565b60006136d182612d3f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613703576137026132a6565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061376a602683612c26565b91506137758261370e565b604082019050919050565b600060208201905081810360008301526137998161375d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137d6602083612c26565b91506137e1826137a0565b602082019050919050565b60006020820190508181036000830152613805816137c9565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000613842600b83612c26565b915061384d8261380c565b602082019050919050565b6000602082019050818103600083015261387181613835565b9050919050565b7f54726164696e67206e6f74206c69766500000000000000000000000000000000600082015250565b60006138ae601083612c26565b91506138b982613878565b602082019050919050565b600060208201905081810360008301526138dd816138a1565b9050919050565b7f4d61782054782045786365656465640000000000000000000000000000000000600082015250565b600061391a600f83612c26565b9150613925826138e4565b602082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f4d61782057616c6c657420457863656564656400000000000000000000000000600082015250565b6000613986601383612c26565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613a13578086048111156139ef576139ee6132a6565b5b60018516156139fe5780820291505b8081029050613a0c856139bc565b94506139d3565b94509492505050565b600082613a2c5760019050613ae8565b81613a3a5760009050613ae8565b8160018114613a505760028114613a5a57613a89565b6001915050613ae8565b60ff841115613a6c57613a6b6132a6565b5b8360020a915084821115613a8357613a826132a6565b5b50613ae8565b5060208310610133831016604e8410600b8410161715613abe5782820a905083811115613ab957613ab86132a6565b5b613ae8565b613acb84848460016139c9565b92509050818404811115613ae257613ae16132a6565b5b81810290505b9392505050565b6000613afa82612d3f565b9150613b0583612efe565b9250613b327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a1c565b905092915050565b6000613b4582612d3f565b9150613b5083612d3f565b925082613b6057613b5f6133eb565b5b828206905092915050565b600060c082019050613b806000830189612ed4565b613b8d6020830188612e57565b613b9a604083018761369c565b613ba7606083018661369c565b613bb46080830185612ed4565b613bc160a0830184612e57565b979650505050505050565b600081519050613bdb81612d49565b92915050565b600080600060608486031215613bfa57613bf9612cd7565b5b6000613c0886828701613bcc565b9350506020613c1986828701613bcc565b9250506040613c2a86828701613bcc565b9150509250925092565b600081519050613c4381612d13565b92915050565b600060208284031215613c5f57613c5e612cd7565b5b6000613c6d84828501613c34565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cab81612d01565b82525050565b6000613cbd8383613ca2565b60208301905092915050565b6000602082019050919050565b6000613ce182613c76565b613ceb8185613c81565b9350613cf683613c92565b8060005b83811015613d27578151613d0e8882613cb1565b9750613d1983613cc9565b925050600181019050613cfa565b5085935050505092915050565b600060a082019050613d496000830188612e57565b613d56602083018761369c565b8181036040830152613d688186613cd6565b9050613d776060830185612ed4565b613d846080830184612e57565b969550505050505056fea264697066735822122080887d6ea87fba3f50f9a8d519a38b7bb8c9047d79753eab1cba5cdd750e808c64736f6c63430008150033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009b096ee966175d6ed02dbe60a176f02af5b0062d

-----Decoded View---------------
Arg [0] : _stakingAdress (address): 0x9b096Ee966175d6ED02DBe60a176f02aF5b0062d

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009b096ee966175d6ed02dbe60a176f02af5b0062d


Deployed Bytecode Sourcemap

9363:12786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9087:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17501:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13588:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10594:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12434:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16057:567;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9803:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9702:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9273:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17143:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9522:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10554:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9879:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10939:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9770:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9839:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9638:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18758:109;;;;;;;;;;;;;:::i;:::-;;12869:219;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21755:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19364:1251;;;;;;;;;;;;;:::i;:::-;;19111:245;;;;;;;;;;;;;:::i;:::-;;12727:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2992:103;;;;;;;;;;;;;:::i;:::-;;13405:175;;;;;;;;;;;;;:::i;:::-;;9571:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9490:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9411:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18875:228;;;;;;;;;;;;;:::i;:::-;;2351:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9607:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9178:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16632:503;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9733:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10526:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13198:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9458:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21870:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12544:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21629:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3250:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10491:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9669:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9087:83;9124:13;9157:5;9150:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9087:83;:::o;17501:241::-;17600:4;17655:5;17617:14;:26;17632:10;17617:26;;;;;;;;;;;;;;;:35;17644:7;17617:35;;;;;;;;;;;;;;;:43;;;;17697:7;17676:36;;17685:10;17676:36;;;17706:5;17676:36;;;;;;:::i;:::-;;;;;;;;17730:4;17723:11;;17501:241;;;;:::o;13588:157::-;2237:13;:11;:13::i;:::-;13731:6:::1;13700:18;:28;13719:8;13700:28;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;13588:157:::0;;:::o;10594:33::-;;;;;;;;;;;;;:::o;12434:102::-;12489:7;12516:12;;12509:19;;12434:102;:::o;16057:567::-;16200:4;16187:2;11067:3;11053:18;;:2;:18;;;11045:27;;;;;;16257:17:::1;16221:14;:20;16236:4;16221:20;;;;;;;;;;;;;;;:32;16242:10;16221:32;;;;;;;;;;;;;;;;:53;16217:337;;16353:5;16317:14;:20;16332:4;16317:20;;;;;;;;;;;;;;;:32;16338:10;16317:32;;;;;;;;;;;;;;;;:41;;16291:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;16536:5;16483:14;:20;16498:4;16483:20;;;;;;;;;;;;;;;:32;16504:10;16483:32;;;;;;;;;;;;;;;;:59;;;;:::i;:::-;16431:14;:20;16446:4;16431:20;;;;;;;;;;;;;;;:32;16452:10;16431:32;;;;;;;;;;;;;;;:111;;;;16217:337;16564:30;16578:4;16584:2;16588:5;16564:13;:30::i;:::-;;16612:4;16605:11;;16057:567:::0;;;;;;:::o;9803:29::-;;;;:::o;9702:24::-;;;;;;;;;;;;;:::o;9273:83::-;9314:5;9339:9;;;;;;;;;;;9332:16;;9273:83;:::o;17143:350::-;17250:4;17370:10;17318:14;:26;17333:10;17318:26;;;;;;;;;;;;;;;:35;17345:7;17318:35;;;;;;;;;;;;;;;;:63;;;;:::i;:::-;17267:14;:26;17282:10;17267:26;;;;;;;;;;;;;;;:35;17294:7;17267:35;;;;;;;;;;;;;;;:114;;;;17418:7;17397:66;;17406:10;17397:66;;;17427:14;:26;17442:10;17427:26;;;;;;;;;;;;;;;:35;17454:7;17427:35;;;;;;;;;;;;;;;;17397:66;;;;;;:::i;:::-;;;;;;;;17481:4;17474:11;;17143:350;;;;:::o;9522:31::-;;;;:::o;10554:33::-;;;;;;;;;;;;;:::o;9879:63::-;;;;:::o;10939:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;9770:26::-;;;;:::o;9839:33::-;;;;:::o;9638:24::-;;;;:::o;18758:109::-;18810:14;:12;:14::i;:::-;18802:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;18851:8;:6;:8::i;:::-;;18758:109::o;12869:219::-;12914:4;12966:10;;12951:12;;:25;:56;;;;;13006:1;12993:10;;:14;12951:56;:102;;;;;13038:15;13024:10;;:29;;12951:102;:129;;;;;13070:10;;;;;;;;;;;12951:129;12931:149;;12869:219;:::o;21755:107::-;2237:13;:11;:13::i;:::-;21847:7:::1;21827:17;:27;;;;21755:107:::0;:::o;19364:1251::-;11160:4;11151:6;;:13;;;;;;;;;;;;;;;;;;19411:23:::1;19437:24;19455:4;19437:9;:24::i;:::-;19411:50;;19495:1;19476:15;:20:::0;19472:59:::1;;19513:7;;;19472:59;19565:17;;19547:15;:35;19543:103;;;19617:17;;19599:35;;19543:103;19658:20;19746:8;;19727:14;;19714:10;;:27;;;;:::i;:::-;19682:15;:60;;;;:::i;:::-;19681:73;;;;:::i;:::-;19658:96;;19765:18;19816:8;;19805:7;;19787:15;:25;;;;:::i;:::-;19786:38;;;;:::i;:::-;19765:59;;19837:32;19858:10;19837:20;:32::i;:::-;19882:31;19900:12;19882:17;:31::i;:::-;19926:18;20013:14;;20000:10;;:27;;;;:::i;:::-;19972:10;;19948:21;:34;;;;:::i;:::-;19947:81;;;;:::i;:::-;19926:102;;20039:22;20134:14;;20121:10;;:27;;;;:::i;:::-;20089:14;;20065:21;:38;;;;:::i;:::-;20064:85;;;;:::i;:::-;20039:110;;20179:1;20166:10;:14;20162:215;;;20198:12;20224:13;;;;;;;;;;;20216:27;;20251:10;20216:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20197:101;;;20321:7;20313:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;20182:195;20162:215;20410:1;20393:14;:18;20389:219;;;20429:12;20455:9;;;;;;;;;;;20447:23;;20478:14;20447:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20428:101;;;20552:7;20544:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;20413:195;20389:219;19400:1215;;;;;11175:1;11196:5:::0;11187:6;;:14;;;;;;;;;;;;;;;;;;19364:1251::o;19111:245::-;2237:13;:11;:13::i;:::-;19188:1:::1;19172:12;;:17;:32;;;;;19194:10;;;;;;;;;;;19193:11;19172:32;19164:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19248:4;19235:10;;:17;;;;;;;;;;;;;;;;;;19294:15;;19276;:33;;;;:::i;:::-;19263:10;:46;;;;19333:15;19320:10;:28;;;;19111:245::o:0;12727:134::-;12789:7;12838:14;;12816:13;:18;12830:3;12816:18;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;12809:44;;12727:134;;;:::o;2992:103::-;2237:13;:11;:13::i;:::-;3057:30:::1;3084:1;3057:18;:30::i;:::-;2992:103::o:0;13405:175::-;2237:13;:11;:13::i;:::-;13467:14:::1;;;;;;;;;;;13459:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;13536:5;13519:14;;:22;;;;;;;;;;;;;;;;;;13557:15;;;;;;;;;;13405:175::o:0;9571:27::-;;;;:::o;9490:25::-;;;;:::o;9411:40::-;;;;:::o;18875:228::-;2237:13;:11;:13::i;:::-;18939::::1;;;;;;;;;;;18938:14;18930:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;19040:4;18988:5;:49;18994:42;18988:49;;;;;;;;;;;;;;;;:56;;;;;;;;;;;;;;;;;;19091:4;19075:13;;:20;;;;;;;;;;;;;;;;;;18875:228::o:0;2351:87::-;2397:7;2424:6;;;;;;;;;;;2417:13;;2351:87;:::o;9607:22::-;;;;;;;;;;;;;:::o;9178:87::-;9217:13;9250:7;9243:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9178:87;:::o;16632:503::-;16744:4;16761:16;16780:14;:26;16795:10;16780:26;;;;;;;;;;;;;;;:35;16807:7;16780:35;;;;;;;;;;;;;;;;16761:54;;16849:8;16830:15;:27;16826:198;;16912:1;16874:14;:26;16889:10;16874:26;;;;;;;;;;;;;;;:35;16901:7;16874:35;;;;;;;;;;;;;;;:39;;;;16826:198;;;16996:15;16984:8;:28;;;;:::i;:::-;16946:14;:26;16961:10;16946:26;;;;;;;;;;;;;;;:35;16973:7;16946:35;;;;;;;;;;;;;;;:66;;;;16826:198;17060:7;17039:66;;17048:10;17039:66;;;17069:14;:26;17084:10;17069:26;;;;;;;;;;;;;;;:35;17096:7;17069:35;;;;;;;;;;;;;;;;17039:66;;;;;;:::i;:::-;;;;;;;;17123:4;17116:11;;;16632:503;;;;:::o;9733:28::-;;;;;;;;;;;;;:::o;10526:19::-;;;;;;;;;;;;;:::o;13198:199::-;13314:4;13301:2;11067:3;11053:18;;:2;:18;;;11045:27;;;;;;13331:36:::1;13345:10;13357:2;13361:5;13331:13;:36::i;:::-;;13385:4;13378:11;;13198:199:::0;;;;;:::o;9458:25::-;;;;:::o;21870:239::-;21939:14;21969:9;21981:1;21969:13;;21964:138;21988:7;:14;21984:1;:18;21964:138;;;22033:7;22041:1;22033:10;;;;;;;;:::i;:::-;;;;;;;;22024:19;;22080:6;22063:27;;22072:6;22063:27;;;22088:1;22063:27;;;;;;:::i;:::-;;;;;;;;22004:3;;;;;:::i;:::-;;;;21964:138;;;;21928:181;21870:239;:::o;12544:175::-;12653:7;12680:14;:22;12695:6;12680:22;;;;;;;;;;;;;;;:31;12703:7;12680:31;;;;;;;;;;;;;;;;12673:38;;12544:175;;;;:::o;21629:118::-;2237:13;:11;:13::i;:::-;21725:14:::1;21709:13;;:30;;;;;;;;;;;;;;;;;;21629:118:::0;:::o;3250:238::-;2237:13;:11;:13::i;:::-;3373:1:::1;3353:22;;:8;:22;;::::0;3331:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3452:28;3471:8;3452:18;:28::i;:::-;3250:238:::0;:::o;10491:28::-;;;;;;;;;;;;;:::o;9669:24::-;;;;:::o;2516:132::-;2591:12;:10;:12::i;:::-;2580:23;;:7;:5;:7::i;:::-;:23;;;2572:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2516:132::o;13753:2296::-;13879:4;13896:19;13918:4;;;;;;;;;;;13896:26;;13956:5;:13;13962:6;13956:13;;;;;;;;;;;;;;;;;;;;;;;;;13955:14;:35;;;;;13974:5;:16;13980:9;13974:16;;;;;;;;;;;;;;;;;;;;;;;;;13973:17;13955:35;:57;;;;;13995:5;:17;14001:10;13995:17;;;;;;;;;;;;;;;;;;;;;;;;;13994:18;13955:57;13933:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;14083:6;;;;;;;;;;;14082:7;:51;;;;;14107:18;:26;14126:6;14107:26;;;;;;;;;;;;;;;;;;;;;;;;;14106:27;14082:51;:98;;;;;14151:18;:29;14170:9;14151:29;;;;;;;;;;;;;;;;;;;;;;;;;14150:30;14082:98;14064:1774;;;14215:13;;;;;;;;;;;14207:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;14268:14;;;;;;;;;;;14264:437;;;14317:11;14307:21;;:6;:21;;;:49;;;;14345:11;14332:24;;:9;:24;;;14307:49;14303:145;;;14399:9;;14389:6;:19;;14381:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14303:145;14483:11;14470:24;;:9;:24;;;14466:220;;14586:9;;14576:6;14553:20;14563:9;14553;:20::i;:::-;:29;;;;:::i;:::-;:42;;14519:147;;;;;;;;;;;;:::i;:::-;;;;;;;;;14466:220;14264:437;14734:11;14721:24;;:9;:24;;;14717:257;;14798:17;;14770:24;14788:4;14770:9;:24::i;:::-;:45;14766:104;;14840:10;:8;:10::i;:::-;14766:104;14892:14;:12;:14::i;:::-;14888:71;;;14931:8;:6;:8::i;:::-;;14888:71;14717:257;14990:17;15038:11;15028:21;;:6;:21;;;15024:495;;15083:1;15070:9;;:14;;;;;;;:::i;:::-;;;;;;;;15247:3;15184:12;;15172:9;;:24;:49;;15210:11;;15172:49;;;15199:8;;15172:49;15137:6;:85;;;;:::i;:::-;15136:114;;;;:::i;:::-;15103:147;;15024:495;;;15289:11;15276:24;;:9;:24;;;15272:247;;15335:1;15321:10;;:15;;;;;;;:::i;:::-;;;;;;;;15500:3;15437:12;;15424:10;;:25;:50;;15463:11;;15424:50;;;15452:8;;15424:50;15389:6;:86;;;;:::i;:::-;15388:115;;;;:::i;:::-;15355:148;;15272:247;15024:495;15551:1;15539:9;:13;15535:292;;;15611:14;;15599:9;:26;;;;:::i;:::-;15573:13;:21;15587:6;15573:21;;;;;;;;;;;;;;;;:53;;;;;;;:::i;:::-;;;;;;;;15690:14;;15678:9;:26;;;;:::i;:::-;15645:13;:28;15667:4;15645:28;;;;;;;;;;;;;;;;:60;;;;;;;:::i;:::-;;;;;;;;15756:4;15731:42;;15740:6;15731:42;;;15763:9;15731:42;;;;;;:::i;:::-;;;;;;;;15802:9;15792:19;;;;;:::i;:::-;;;15535:292;14192:1646;14064:1774;15885:14;;15876:6;:23;;;;:::i;:::-;15850:13;:21;15864:6;15850:21;;;;;;;;;;;;;;;;:50;;;;;;;:::i;:::-;;;;;;;;15949:14;;15940:6;:23;;;;:::i;:::-;15911:13;:24;15925:9;15911:24;;;;;;;;;;;;;;;;:53;;;;;;;:::i;:::-;;;;;;;;15999:9;15982:35;;15991:6;15982:35;;;16010:6;15982:35;;;;;;:::i;:::-;;;;;;;;16037:4;16030:11;;;13753:2296;;;;;:::o;17750:1000::-;17786:7;17806:13;17855:15;;17841:10;;17823:15;:28;;;;:::i;:::-;17822:48;;;;:::i;:::-;17806:64;;17896:15;17883:10;:28;;;;17953:15;;17935;:33;;;;:::i;:::-;17922:10;:46;;;;18008:10;;17993:12;;17985:5;:20;;;;:::i;:::-;:33;17981:99;;;18056:12;;18043:10;;:25;;;;:::i;:::-;18035:33;;17981:99;18108:5;18092:12;;:21;;;;;;;:::i;:::-;;;;;;;;18126:19;18181:7;18172:5;18164;18149:12;;:20;;;;:::i;:::-;:28;;;;:::i;:::-;18148:40;;;;:::i;:::-;18126:62;;18220:1;18205:11;:16;18201:125;;18250:15;18243:37;18267:12;;18243:37;;;;;;:::i;:::-;;;;;;;;18302:12;;18295:19;;;;;;18201:125;18368:11;18353:12;;:26;;;;:::i;:::-;18338:12;:41;;;;18424:12;;10186:1;10256:2;:14;;;;:::i;:::-;10243:10;:27;;;;:::i;:::-;10348:17;:41;;;;:::i;:::-;10327:17;:63;;;;:::i;:::-;18409:28;;;;:::i;:::-;18392:14;:45;;;;18470:10;;18454:12;;:26;18450:185;;18510:5;18497:10;;:18;;;;;;;;;;;;;;;;;;18543:1;18530:10;:14;;;;18569:1;18559:7;:11;;;;18609:14;;18596:10;;:27;;;;:::i;:::-;18585:8;:38;;;;18450:185;18647:8;:6;:8::i;:::-;18680:15;18673:37;18697:12;;18673:37;;;;;;:::i;:::-;;;;;;;;18730:12;;18723:19;;;;17750:1000;;:::o;21016:605::-;21095:1;21086:6;:10;21082:532;;;21113:12;21137:1;21128:6;:10;;;;:::i;:::-;21113:25;;21153:17;21182:4;21173:6;:13;;;;:::i;:::-;21153:33;;21203:22;21228:21;21203:46;;21266:23;21284:4;21266:17;:23::i;:::-;21306:18;21352:14;21327:21;:40;;;;:::i;:::-;21306:61;;21384:6;;;;;;;;;;;:22;;;21414:10;21452:4;21476:9;21504:1;21524;21544:9;;;;;;;;;;;21572:15;21384:218;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21098:516;;;;21082:532;21016:605;:::o;20623:385::-;20691:21;20729:1;20715:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20691:40;;20760:4;20742;20747:1;20742:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20786:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20776:4;20781:1;20776:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20812:6;;;;;;;;;;;:57;;;20884:11;20910:1;20927:4;20954;20974:15;20812:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20680:328;20623:385;:::o;3648:191::-;3722:16;3741:6;;;;;;;;;;;3722:25;;3767:8;3758:6;;:17;;;;;;;;;;;;;;;;;;3822:8;3791:40;;3812:8;3791:40;;;;;;;;;;;;3711:128;3648:191;:::o;824:98::-;877:7;904:10;897:17;;824:98;:::o;13096:94::-;13134:11;13154:4;;;;;;;;;;;13134:25;;13170:5;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13123:67;13096:94::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:116::-;3516:21;3531:5;3516:21;:::i;:::-;3509:5;3506:32;3496:60;;3552:1;3549;3542:12;3496:60;3446:116;:::o;3568:133::-;3611:5;3649:6;3636:20;3627:29;;3665:30;3689:5;3665:30;:::i;:::-;3568:133;;;;:::o;3707:468::-;3772:6;3780;3829:2;3817:9;3808:7;3804:23;3800:32;3797:119;;;3835:79;;:::i;:::-;3797:119;3955:1;3980:53;4025:7;4016:6;4005:9;4001:22;3980:53;:::i;:::-;3970:63;;3926:117;4082:2;4108:50;4150:7;4141:6;4130:9;4126:22;4108:50;:::i;:::-;4098:60;;4053:115;3707:468;;;;;:::o;4181:118::-;4268:24;4286:5;4268:24;:::i;:::-;4263:3;4256:37;4181:118;;:::o;4305:222::-;4398:4;4436:2;4425:9;4421:18;4413:26;;4449:71;4517:1;4506:9;4502:17;4493:6;4449:71;:::i;:::-;4305:222;;;;:::o;4533:619::-;4610:6;4618;4626;4675:2;4663:9;4654:7;4650:23;4646:32;4643:119;;;4681:79;;:::i;:::-;4643:119;4801:1;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4772:117;4928:2;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4899:118;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;4533:619;;;;;:::o;5158:118::-;5245:24;5263:5;5245:24;:::i;:::-;5240:3;5233:37;5158:118;;:::o;5282:222::-;5375:4;5413:2;5402:9;5398:18;5390:26;;5426:71;5494:1;5483:9;5479:17;5470:6;5426:71;:::i;:::-;5282:222;;;;:::o;5510:86::-;5545:7;5585:4;5578:5;5574:16;5563:27;;5510:86;;;:::o;5602:112::-;5685:22;5701:5;5685:22;:::i;:::-;5680:3;5673:35;5602:112;;:::o;5720:214::-;5809:4;5847:2;5836:9;5832:18;5824:26;;5860:67;5924:1;5913:9;5909:17;5900:6;5860:67;:::i;:::-;5720:214;;;;:::o;5940:329::-;5999:6;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;5940:329;;;;:::o;6275:::-;6334:6;6383:2;6371:9;6362:7;6358:23;6354:32;6351:119;;;6389:79;;:::i;:::-;6351:119;6509:1;6534:53;6579:7;6570:6;6559:9;6555:22;6534:53;:::i;:::-;6524:63;;6480:117;6275:329;;;;:::o;6610:117::-;6719:1;6716;6709:12;6733:180;6781:77;6778:1;6771:88;6878:4;6875:1;6868:15;6902:4;6899:1;6892:15;6919:281;7002:27;7024:4;7002:27;:::i;:::-;6994:6;6990:40;7132:6;7120:10;7117:22;7096:18;7084:10;7081:34;7078:62;7075:88;;;7143:18;;:::i;:::-;7075:88;7183:10;7179:2;7172:22;6962:238;6919:281;;:::o;7206:129::-;7240:6;7267:20;;:::i;:::-;7257:30;;7296:33;7324:4;7316:6;7296:33;:::i;:::-;7206:129;;;:::o;7341:311::-;7418:4;7508:18;7500:6;7497:30;7494:56;;;7530:18;;:::i;:::-;7494:56;7580:4;7572:6;7568:17;7560:25;;7640:4;7634;7630:15;7622:23;;7341:311;;;:::o;7658:117::-;7767:1;7764;7757:12;7798:710;7894:5;7919:81;7935:64;7992:6;7935:64;:::i;:::-;7919:81;:::i;:::-;7910:90;;8020:5;8049:6;8042:5;8035:21;8083:4;8076:5;8072:16;8065:23;;8136:4;8128:6;8124:17;8116:6;8112:30;8165:3;8157:6;8154:15;8151:122;;;8184:79;;:::i;:::-;8151:122;8299:6;8282:220;8316:6;8311:3;8308:15;8282:220;;;8391:3;8420:37;8453:3;8441:10;8420:37;:::i;:::-;8415:3;8408:50;8487:4;8482:3;8478:14;8471:21;;8358:144;8342:4;8337:3;8333:14;8326:21;;8282:220;;;8286:21;7900:608;;7798:710;;;;;:::o;8531:370::-;8602:5;8651:3;8644:4;8636:6;8632:17;8628:27;8618:122;;8659:79;;:::i;:::-;8618:122;8776:6;8763:20;8801:94;8891:3;8883:6;8876:4;8868:6;8864:17;8801:94;:::i;:::-;8792:103;;8608:293;8531:370;;;;:::o;8907:539::-;8991:6;9040:2;9028:9;9019:7;9015:23;9011:32;9008:119;;;9046:79;;:::i;:::-;9008:119;9194:1;9183:9;9179:17;9166:31;9224:18;9216:6;9213:30;9210:117;;;9246:79;;:::i;:::-;9210:117;9351:78;9421:7;9412:6;9401:9;9397:22;9351:78;:::i;:::-;9341:88;;9137:302;8907:539;;;;:::o;9452:474::-;9520:6;9528;9577:2;9565:9;9556:7;9552:23;9548:32;9545:119;;;9583:79;;:::i;:::-;9545:119;9703:1;9728:53;9773:7;9764:6;9753:9;9749:22;9728:53;:::i;:::-;9718:63;;9674:117;9830:2;9856:53;9901:7;9892:6;9881:9;9877:22;9856:53;:::i;:::-;9846:63;;9801:118;9452:474;;;;;:::o;9932:60::-;9960:3;9981:5;9974:12;;9932:60;;;:::o;9998:142::-;10048:9;10081:53;10099:34;10108:24;10126:5;10108:24;:::i;:::-;10099:34;:::i;:::-;10081:53;:::i;:::-;10068:66;;9998:142;;;:::o;10146:126::-;10196:9;10229:37;10260:5;10229:37;:::i;:::-;10216:50;;10146:126;;;:::o;10278:148::-;10350:9;10383:37;10414:5;10383:37;:::i;:::-;10370:50;;10278:148;;;:::o;10432:175::-;10541:59;10594:5;10541:59;:::i;:::-;10536:3;10529:72;10432:175;;:::o;10613:266::-;10728:4;10766:2;10755:9;10751:18;10743:26;;10779:93;10869:1;10858:9;10854:17;10845:6;10779:93;:::i;:::-;10613:266;;;;:::o;10885:180::-;10933:77;10930:1;10923:88;11030:4;11027:1;11020:15;11054:4;11051:1;11044:15;11071:320;11115:6;11152:1;11146:4;11142:12;11132:22;;11199:1;11193:4;11189:12;11220:18;11210:81;;11276:4;11268:6;11264:17;11254:27;;11210:81;11338:2;11330:6;11327:14;11307:18;11304:38;11301:84;;11357:18;;:::i;:::-;11301:84;11122:269;11071:320;;;:::o;11397:172::-;11537:24;11533:1;11525:6;11521:14;11514:48;11397:172;:::o;11575:366::-;11717:3;11738:67;11802:2;11797:3;11738:67;:::i;:::-;11731:74;;11814:93;11903:3;11814:93;:::i;:::-;11932:2;11927:3;11923:12;11916:19;;11575:366;;;:::o;11947:419::-;12113:4;12151:2;12140:9;12136:18;12128:26;;12200:9;12194:4;12190:20;12186:1;12175:9;12171:17;12164:47;12228:131;12354:4;12228:131;:::i;:::-;12220:139;;11947:419;;;:::o;12372:180::-;12420:77;12417:1;12410:88;12517:4;12514:1;12507:15;12541:4;12538:1;12531:15;12558:194;12598:4;12618:20;12636:1;12618:20;:::i;:::-;12613:25;;12652:20;12670:1;12652:20;:::i;:::-;12647:25;;12696:1;12693;12689:9;12681:17;;12720:1;12714:4;12711:11;12708:37;;;12725:18;;:::i;:::-;12708:37;12558:194;;;;:::o;12758:191::-;12798:3;12817:20;12835:1;12817:20;:::i;:::-;12812:25;;12851:20;12869:1;12851:20;:::i;:::-;12846:25;;12894:1;12891;12887:9;12880:16;;12915:3;12912:1;12909:10;12906:36;;;12922:18;;:::i;:::-;12906:36;12758:191;;;;:::o;12955:161::-;13095:13;13091:1;13083:6;13079:14;13072:37;12955:161;:::o;13122:366::-;13264:3;13285:67;13349:2;13344:3;13285:67;:::i;:::-;13278:74;;13361:93;13450:3;13361:93;:::i;:::-;13479:2;13474:3;13470:12;13463:19;;13122:366;;;:::o;13494:419::-;13660:4;13698:2;13687:9;13683:18;13675:26;;13747:9;13741:4;13737:20;13733:1;13722:9;13718:17;13711:47;13775:131;13901:4;13775:131;:::i;:::-;13767:139;;13494:419;;;:::o;13919:410::-;13959:7;13982:20;14000:1;13982:20;:::i;:::-;13977:25;;14016:20;14034:1;14016:20;:::i;:::-;14011:25;;14071:1;14068;14064:9;14093:30;14111:11;14093:30;:::i;:::-;14082:41;;14272:1;14263:7;14259:15;14256:1;14253:22;14233:1;14226:9;14206:83;14183:139;;14302:18;;:::i;:::-;14183:139;13967:362;13919:410;;;;:::o;14335:180::-;14383:77;14380:1;14373:88;14480:4;14477:1;14470:15;14504:4;14501:1;14494:15;14521:185;14561:1;14578:20;14596:1;14578:20;:::i;:::-;14573:25;;14612:20;14630:1;14612:20;:::i;:::-;14607:25;;14651:1;14641:35;;14656:18;;:::i;:::-;14641:35;14698:1;14695;14691:9;14686:14;;14521:185;;;;:::o;14712:147::-;14813:11;14850:3;14835:18;;14712:147;;;;:::o;14865:114::-;;:::o;14985:398::-;15144:3;15165:83;15246:1;15241:3;15165:83;:::i;:::-;15158:90;;15257:93;15346:3;15257:93;:::i;:::-;15375:1;15370:3;15366:11;15359:18;;14985:398;;;:::o;15389:379::-;15573:3;15595:147;15738:3;15595:147;:::i;:::-;15588:154;;15759:3;15752:10;;15389:379;;;:::o;15774:182::-;15914:34;15910:1;15902:6;15898:14;15891:58;15774:182;:::o;15962:366::-;16104:3;16125:67;16189:2;16184:3;16125:67;:::i;:::-;16118:74;;16201:93;16290:3;16201:93;:::i;:::-;16319:2;16314:3;16310:12;16303:19;;15962:366;;;:::o;16334:419::-;16500:4;16538:2;16527:9;16523:18;16515:26;;16587:9;16581:4;16577:20;16573:1;16562:9;16558:17;16551:47;16615:131;16741:4;16615:131;:::i;:::-;16607:139;;16334:419;;;:::o;16759:165::-;16899:17;16895:1;16887:6;16883:14;16876:41;16759:165;:::o;16930:366::-;17072:3;17093:67;17157:2;17152:3;17093:67;:::i;:::-;17086:74;;17169:93;17258:3;17169:93;:::i;:::-;17287:2;17282:3;17278:12;17271:19;;16930:366;;;:::o;17302:419::-;17468:4;17506:2;17495:9;17491:18;17483:26;;17555:9;17549:4;17545:20;17541:1;17530:9;17526:17;17519:47;17583:131;17709:4;17583:131;:::i;:::-;17575:139;;17302:419;;;:::o;17727:172::-;17867:24;17863:1;17855:6;17851:14;17844:48;17727:172;:::o;17905:366::-;18047:3;18068:67;18132:2;18127:3;18068:67;:::i;:::-;18061:74;;18144:93;18233:3;18144:93;:::i;:::-;18262:2;18257:3;18253:12;18246:19;;17905:366;;;:::o;18277:419::-;18443:4;18481:2;18470:9;18466:18;18458:26;;18530:9;18524:4;18520:20;18516:1;18505:9;18501:17;18494:47;18558:131;18684:4;18558:131;:::i;:::-;18550:139;;18277:419;;;:::o;18702:170::-;18842:22;18838:1;18830:6;18826:14;18819:46;18702:170;:::o;18878:366::-;19020:3;19041:67;19105:2;19100:3;19041:67;:::i;:::-;19034:74;;19117:93;19206:3;19117:93;:::i;:::-;19235:2;19230:3;19226:12;19219:19;;18878:366;;;:::o;19250:419::-;19416:4;19454:2;19443:9;19439:18;19431:26;;19503:9;19497:4;19493:20;19489:1;19478:9;19474:17;19467:47;19531:131;19657:4;19531:131;:::i;:::-;19523:139;;19250:419;;;:::o;19675:180::-;19723:77;19720:1;19713:88;19820:4;19817:1;19810:15;19844:4;19841:1;19834:15;19861:85;19906:7;19935:5;19924:16;;19861:85;;;:::o;19952:158::-;20010:9;20043:61;20061:42;20070:32;20096:5;20070:32;:::i;:::-;20061:42;:::i;:::-;20043:61;:::i;:::-;20030:74;;19952:158;;;:::o;20116:147::-;20211:45;20250:5;20211:45;:::i;:::-;20206:3;20199:58;20116:147;;:::o;20269:238::-;20370:4;20408:2;20397:9;20393:18;20385:26;;20421:79;20497:1;20486:9;20482:17;20473:6;20421:79;:::i;:::-;20269:238;;;;:::o;20513:233::-;20552:3;20575:24;20593:5;20575:24;:::i;:::-;20566:33;;20621:66;20614:5;20611:77;20608:103;;20691:18;;:::i;:::-;20608:103;20738:1;20731:5;20727:13;20720:20;;20513:233;;;:::o;20752:225::-;20892:34;20888:1;20880:6;20876:14;20869:58;20961:8;20956:2;20948:6;20944:15;20937:33;20752:225;:::o;20983:366::-;21125:3;21146:67;21210:2;21205:3;21146:67;:::i;:::-;21139:74;;21222:93;21311:3;21222:93;:::i;:::-;21340:2;21335:3;21331:12;21324:19;;20983:366;;;:::o;21355:419::-;21521:4;21559:2;21548:9;21544:18;21536:26;;21608:9;21602:4;21598:20;21594:1;21583:9;21579:17;21572:47;21636:131;21762:4;21636:131;:::i;:::-;21628:139;;21355:419;;;:::o;21780:182::-;21920:34;21916:1;21908:6;21904:14;21897:58;21780:182;:::o;21968:366::-;22110:3;22131:67;22195:2;22190:3;22131:67;:::i;:::-;22124:74;;22207:93;22296:3;22207:93;:::i;:::-;22325:2;22320:3;22316:12;22309:19;;21968:366;;;:::o;22340:419::-;22506:4;22544:2;22533:9;22529:18;22521:26;;22593:9;22587:4;22583:20;22579:1;22568:9;22564:17;22557:47;22621:131;22747:4;22621:131;:::i;:::-;22613:139;;22340:419;;;:::o;22765:161::-;22905:13;22901:1;22893:6;22889:14;22882:37;22765:161;:::o;22932:366::-;23074:3;23095:67;23159:2;23154:3;23095:67;:::i;:::-;23088:74;;23171:93;23260:3;23171:93;:::i;:::-;23289:2;23284:3;23280:12;23273:19;;22932:366;;;:::o;23304:419::-;23470:4;23508:2;23497:9;23493:18;23485:26;;23557:9;23551:4;23547:20;23543:1;23532:9;23528:17;23521:47;23585:131;23711:4;23585:131;:::i;:::-;23577:139;;23304:419;;;:::o;23729:166::-;23869:18;23865:1;23857:6;23853:14;23846:42;23729:166;:::o;23901:366::-;24043:3;24064:67;24128:2;24123:3;24064:67;:::i;:::-;24057:74;;24140:93;24229:3;24140:93;:::i;:::-;24258:2;24253:3;24249:12;24242:19;;23901:366;;;:::o;24273:419::-;24439:4;24477:2;24466:9;24462:18;24454:26;;24526:9;24520:4;24516:20;24512:1;24501:9;24497:17;24490:47;24554:131;24680:4;24554:131;:::i;:::-;24546:139;;24273:419;;;:::o;24698:165::-;24838:17;24834:1;24826:6;24822:14;24815:41;24698:165;:::o;24869:366::-;25011:3;25032:67;25096:2;25091:3;25032:67;:::i;:::-;25025:74;;25108:93;25197:3;25108:93;:::i;:::-;25226:2;25221:3;25217:12;25210:19;;24869:366;;;:::o;25241:419::-;25407:4;25445:2;25434:9;25430:18;25422:26;;25494:9;25488:4;25484:20;25480:1;25469:9;25465:17;25458:47;25522:131;25648:4;25522:131;:::i;:::-;25514:139;;25241:419;;;:::o;25666:169::-;25806:21;25802:1;25794:6;25790:14;25783:45;25666:169;:::o;25841:366::-;25983:3;26004:67;26068:2;26063:3;26004:67;:::i;:::-;25997:74;;26080:93;26169:3;26080:93;:::i;:::-;26198:2;26193:3;26189:12;26182:19;;25841:366;;;:::o;26213:419::-;26379:4;26417:2;26406:9;26402:18;26394:26;;26466:9;26460:4;26456:20;26452:1;26441:9;26437:17;26430:47;26494:131;26620:4;26494:131;:::i;:::-;26486:139;;26213:419;;;:::o;26638:102::-;26680:8;26727:5;26724:1;26720:13;26699:34;;26638:102;;;:::o;26746:848::-;26807:5;26814:4;26838:6;26829:15;;26862:5;26853:14;;26876:712;26897:1;26887:8;26884:15;26876:712;;;26992:4;26987:3;26983:14;26977:4;26974:24;26971:50;;;27001:18;;:::i;:::-;26971:50;27051:1;27041:8;27037:16;27034:451;;;27466:4;27459:5;27455:16;27446:25;;27034:451;27516:4;27510;27506:15;27498:23;;27546:32;27569:8;27546:32;:::i;:::-;27534:44;;26876:712;;;26746:848;;;;;;;:::o;27600:1073::-;27654:5;27845:8;27835:40;;27866:1;27857:10;;27868:5;;27835:40;27894:4;27884:36;;27911:1;27902:10;;27913:5;;27884:36;27980:4;28028:1;28023:27;;;;28064:1;28059:191;;;;27973:277;;28023:27;28041:1;28032:10;;28043:5;;;28059:191;28104:3;28094:8;28091:17;28088:43;;;28111:18;;:::i;:::-;28088:43;28160:8;28157:1;28153:16;28144:25;;28195:3;28188:5;28185:14;28182:40;;;28202:18;;:::i;:::-;28182:40;28235:5;;;27973:277;;28359:2;28349:8;28346:16;28340:3;28334:4;28331:13;28327:36;28309:2;28299:8;28296:16;28291:2;28285:4;28282:12;28278:35;28262:111;28259:246;;;28415:8;28409:4;28405:19;28396:28;;28450:3;28443:5;28440:14;28437:40;;;28457:18;;:::i;:::-;28437:40;28490:5;;28259:246;28530:42;28568:3;28558:8;28552:4;28549:1;28530:42;:::i;:::-;28515:57;;;;28604:4;28599:3;28595:14;28588:5;28585:25;28582:51;;;28613:18;;:::i;:::-;28582:51;28662:4;28655:5;28651:16;28642:25;;27600:1073;;;;;;:::o;28679:281::-;28737:5;28761:23;28779:4;28761:23;:::i;:::-;28753:31;;28805:25;28821:8;28805:25;:::i;:::-;28793:37;;28849:104;28886:66;28876:8;28870:4;28849:104;:::i;:::-;28840:113;;28679:281;;;;:::o;28966:176::-;28998:1;29015:20;29033:1;29015:20;:::i;:::-;29010:25;;29049:20;29067:1;29049:20;:::i;:::-;29044:25;;29088:1;29078:35;;29093:18;;:::i;:::-;29078:35;29134:1;29131;29127:9;29122:14;;28966:176;;;;:::o;29148:807::-;29397:4;29435:3;29424:9;29420:19;29412:27;;29449:71;29517:1;29506:9;29502:17;29493:6;29449:71;:::i;:::-;29530:72;29598:2;29587:9;29583:18;29574:6;29530:72;:::i;:::-;29612:80;29688:2;29677:9;29673:18;29664:6;29612:80;:::i;:::-;29702;29778:2;29767:9;29763:18;29754:6;29702:80;:::i;:::-;29792:73;29860:3;29849:9;29845:19;29836:6;29792:73;:::i;:::-;29875;29943:3;29932:9;29928:19;29919:6;29875:73;:::i;:::-;29148:807;;;;;;;;;:::o;29961:143::-;30018:5;30049:6;30043:13;30034:22;;30065:33;30092:5;30065:33;:::i;:::-;29961:143;;;;:::o;30110:663::-;30198:6;30206;30214;30263:2;30251:9;30242:7;30238:23;30234:32;30231:119;;;30269:79;;:::i;:::-;30231:119;30389:1;30414:64;30470:7;30461:6;30450:9;30446:22;30414:64;:::i;:::-;30404:74;;30360:128;30527:2;30553:64;30609:7;30600:6;30589:9;30585:22;30553:64;:::i;:::-;30543:74;;30498:129;30666:2;30692:64;30748:7;30739:6;30728:9;30724:22;30692:64;:::i;:::-;30682:74;;30637:129;30110:663;;;;;:::o;30779:143::-;30836:5;30867:6;30861:13;30852:22;;30883:33;30910:5;30883:33;:::i;:::-;30779:143;;;;:::o;30928:351::-;30998:6;31047:2;31035:9;31026:7;31022:23;31018:32;31015:119;;;31053:79;;:::i;:::-;31015:119;31173:1;31198:64;31254:7;31245:6;31234:9;31230:22;31198:64;:::i;:::-;31188:74;;31144:128;30928:351;;;;:::o;31285:114::-;31352:6;31386:5;31380:12;31370:22;;31285:114;;;:::o;31405:184::-;31504:11;31538:6;31533:3;31526:19;31578:4;31573:3;31569:14;31554:29;;31405:184;;;;:::o;31595:132::-;31662:4;31685:3;31677:11;;31715:4;31710:3;31706:14;31698:22;;31595:132;;;:::o;31733:108::-;31810:24;31828:5;31810:24;:::i;:::-;31805:3;31798:37;31733:108;;:::o;31847:179::-;31916:10;31937:46;31979:3;31971:6;31937:46;:::i;:::-;32015:4;32010:3;32006:14;31992:28;;31847:179;;;;:::o;32032:113::-;32102:4;32134;32129:3;32125:14;32117:22;;32032:113;;;:::o;32181:732::-;32300:3;32329:54;32377:5;32329:54;:::i;:::-;32399:86;32478:6;32473:3;32399:86;:::i;:::-;32392:93;;32509:56;32559:5;32509:56;:::i;:::-;32588:7;32619:1;32604:284;32629:6;32626:1;32623:13;32604:284;;;32705:6;32699:13;32732:63;32791:3;32776:13;32732:63;:::i;:::-;32725:70;;32818:60;32871:6;32818:60;:::i;:::-;32808:70;;32664:224;32651:1;32648;32644:9;32639:14;;32604:284;;;32608:14;32904:3;32897:10;;32305:608;;;32181:732;;;;:::o;32919:831::-;33182:4;33220:3;33209:9;33205:19;33197:27;;33234:71;33302:1;33291:9;33287:17;33278:6;33234:71;:::i;:::-;33315:80;33391:2;33380:9;33376:18;33367:6;33315:80;:::i;:::-;33442:9;33436:4;33432:20;33427:2;33416:9;33412:18;33405:48;33470:108;33573:4;33564:6;33470:108;:::i;:::-;33462:116;;33588:72;33656:2;33645:9;33641:18;33632:6;33588:72;:::i;:::-;33670:73;33738:3;33727:9;33723:19;33714:6;33670:73;:::i;:::-;32919:831;;;;;;;;:::o

Swarm Source

ipfs://80887d6ea87fba3f50f9a8d519a38b7bb8c9047d79753eab1cba5cdd750e808c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.