ETH Price: $3,433.23 (+4.57%)

Token

Ordo Novus (ORDUS)
 

Overview

Max Total Supply

10,000,000,000 ORDUS

Holders

117

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 ORDUS

Value
$0.00
0x5d9eae8c6c037245cc1af7259987a949706067e9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ordonovus

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-19
*/

// SPDX-License-Identifier: MIT

/**

TG- t.me/ordonovusai

X - https://x.com/LogicSyno


*/

pragma solidity ^0.8.20;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, uint256 value) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

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

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

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}
interface IERC20Errors {
    error ERC20InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed
    );

    error ERC20InvalidSender(address sender);

    error ERC20InvalidReceiver(address receiver);

    error ERC20InsufficientAllowance(
        address spender,
        uint256 allowance,
        uint256 needed
    );

    error ERC20InvalidApprover(address approver);

    error ERC20InvalidSpender(address spender);
    error MaxTxAmountReached();
    error MaxWalletLimitReached();
    error InValidTax();
}

abstract contract Ownable is Context {
    address private _owner;

    error OwnableUnauthorizedAccount(address account);
    error OwnableInvalidOwner(address owner);

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

    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function WETH() external pure returns (address);
}

contract ordonovus is Ownable, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

    mapping(address account => mapping(address spender => uint256))
        private _allowances;

    uint256 private _totalSupply;
    uint256 private buyTax;
    uint256 private sellTax;
    uint256 public _maxTxAmount;
    uint256 public _maxWalletSize;
    uint256 private minimumSAmount;

    bool private inSwap = false;
    bool private swapEnabled = true;

    string private _name;
    string private _symbol;

    mapping(address => bool) private isPairAddress;
    mapping(address => bool) private _isExcludedFromFee;

    IUniswapV2Router02 public uniswapV2Router;

    address payable private taxWallet;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 tSupply,
        address _taxWallet,
        uint256 bTax,
        uint256 sTax,
        uint256 _mTxAmount,
        uint256 _mWalletAmount
    ) Ownable(msg.sender) {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        if (bTax > 100 || sTax > 100) {
            revert InValidTax();
        }
        _name = name_;
        _symbol = symbol_;
        taxWallet = payable(_taxWallet);
        buyTax = bTax;
        sellTax = sTax;
        _maxTxAmount = _mTxAmount;
        _maxWalletSize = _mWalletAmount;
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[taxWallet] = true;
        _mint(msg.sender, tSupply);
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        minimumSAmount = (totalSupply() * 5) / 1000;
    }

    receive() external payable {}

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

    function setTaxWallet(address payable _newWallet) public onlyOwner {
        taxWallet = _newWallet;
    }

    function updateTaxAmount(uint8 _buy, uint8 _sell) public onlyOwner {
        if (_buy > 100 || _sell > 100) {
            revert InValidTax();
        }
        buyTax = _buy;
        sellTax = _sell;
    }

    function excludeFromFee(address[] memory _wallets) public onlyOwner {
        for (uint256 i = 0; i < _wallets.length; i++) {
            _isExcludedFromFee[_wallets[i]] = true;
        }
    }

    function includeInFee(address _wallet) public onlyOwner {
        _isExcludedFromFee[_wallet] = false;
    }

    function updateLimits(uint256 _tx, uint256 _wallet) public onlyOwner {
        _maxTxAmount = _tx;
        _maxWalletSize = _wallet;
    }

    function setPairContract(address _pair, bool _isPair) public onlyOwner {
        _isExcludedFromFee[_pair] = _isPair;
        isPairAddress[_pair] = _isPair;
    }

    function updateRouterContract(address _router) public onlyOwner {
        uniswapV2Router = IUniswapV2Router02(_router);
    }

    function disableSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    function updateMinimumSAmount(uint256 _minimumSAmount) public onlyOwner {
        minimumSAmount = _minimumSAmount;
    }

    function withdrawStuckAsset(address _token) external {
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            bool success;
            (success, ) = address(taxWallet).call{value: contractETHBalance}(
                ""
            );
        }
        if (_token != address(0)) {
            uint256 tb = IERC20(_token).balanceOf(address(this));
            if (tb > 0) {
                IERC20(_token).transfer(taxWallet, tb);
            }
        }
    }

    function manualswap(bool ethTransfer, uint256 _amount) external {
        if (_allowances[address(this)][address(uniswapV2Router)] < _amount) {
            _approve(
                address(this),
                address(uniswapV2Router),
                type(uint256).max
            );
        }
        swapTokensForEth(_amount);
        if (ethTransfer) {
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                taxWallet.transfer(address(this).balance);
            }
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

    function approve(
        address spender,
        uint256 value
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    function _update(address from, address to, uint256 value) internal virtual {
        address owner__ = owner();
        if (from != owner__ && !_isExcludedFromFee[to]) {
            if (_balances[to] + value > _maxWalletSize) {
                revert MaxWalletLimitReached();
            }
            if (value > _maxTxAmount) {
                revert MaxTxAmountReached();
            }
        }
        uint256 taxAmount;
        bool shouldSwap = false;
        if (from != owner__ && to != owner__) {
            if (isPairAddress[from] && !_isExcludedFromFee[to]) {
                taxAmount = (value * buyTax) / (100);
            }

            if (isPairAddress[to] && !_isExcludedFromFee[from]) {
                taxAmount = (value * sellTax) / (100);
            }
        }
        if (isPairAddress[to]) {
            shouldSwap = true;
        }
        if (taxAmount > 0) {
            _balances[address(this)] += taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
        uint256 contractTokenBalance = balanceOf(address(this));

        if (contractTokenBalance > 0 && shouldSwap && !inSwap && swapEnabled) {
            swapTokensForEth(
                contractTokenBalance > minimumSAmount
                    ? minimumSAmount
                    : contractTokenBalance
            );
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                taxWallet.transfer(address(this).balance);
            }
        }
        if (from == address(0)) {
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                _balances[from] = fromBalance - value;
            }
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value - taxAmount;
            }
        }

        emit Transfer(from, to, value - taxAmount);
    }

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value,
        bool emitEvent
    ) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 value
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(
                    spender,
                    currentAllowance,
                    value
                );
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"tSupply","type":"uint256"},{"internalType":"address","name":"_taxWallet","type":"address"},{"internalType":"uint256","name":"bTax","type":"uint256"},{"internalType":"uint256","name":"sTax","type":"uint256"},{"internalType":"uint256","name":"_mTxAmount","type":"uint256"},{"internalType":"uint256","name":"_mWalletAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"InValidTax","type":"error"},{"inputs":[],"name":"MaxTxAmountReached","type":"error"},{"inputs":[],"name":"MaxWalletLimitReached","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"disableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_wallets","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"ethTransfer","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_isPair","type":"bool"}],"name":"setPairContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tx","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"updateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumSAmount","type":"uint256"}],"name":"updateMinimumSAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"updateRouterContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buy","type":"uint8"},{"internalType":"uint8","name":"_sell","type":"uint8"}],"name":"updateTaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"withdrawStuckAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f60095f6101000a81548160ff0219169083151502179055506001600960016101000a81548160ff02191690831515021790555034801562000044575f80fd5b506040516200456e3803806200456e83398181016040528101906200006a91906200139c565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000de575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000d59190620014af565b60405180910390fd5b620000ef81620003d360201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064841180620001545750606483115b156200018c576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600a90816200019d9190620016f8565b5086600b9081620001af9190620016f8565b5084600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836004819055508260058190555081600681905550806007819055506001600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200033e33876200049460201b60201c565b6200039230600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200051e60201b60201c565b6103e86005620003a76200053860201b60201c565b620003b3919062001809565b620003bf919062001880565b600881905550505050505050505062001b59565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000507575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620004fe9190620014af565b60405180910390fd5b6200051a5f83836200054160201b60201c565b5050565b62000533838383600162000ceb60201b60201c565b505050565b5f600354905090565b5f6200055262000ec360201b60201c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015620005d85750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620006a3576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200062c9190620018b7565b111562000665576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654821115620006a2576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156200071157508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15620008a257600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015620007b55750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620007dc57606460045485620007cd919062001809565b620007d9919062001880565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156200087a5750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620008a15760646005548562000892919062001809565b6200089e919062001880565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615620008f757600190505b5f821115620009bd578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546200094e9190620018b7565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620009b4919062001902565b60405180910390a35b5f620009cf3062000eea60201b60201c565b90505f81118015620009de5750815b8015620009f7575060095f9054906101000a900460ff16155b801562000a105750600960019054906101000a900460ff165b1562000ab15762000a3b600854821162000a2b578162000a2f565b6008545b62000f3060201b60201c565b5f4790505f81111562000aaf57600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801562000aad573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160362000b05578460035f82825462000af89190620018b7565b9250508190555062000bd8565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508581101562000b92578781876040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000b89939291906200191d565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160362000c21578460035f828254039250508190555062000c6e565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef858862000ccb919062001958565b60405162000cda919062001902565b60405180910390a350505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000d5e575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162000d559190620014af565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000dd1575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162000dc89190620014af565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562000ebd578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000eb4919062001902565b60405180910390a35b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111562000f695762000f68620011a7565b5b60405190808252806020026020018201604052801562000f985781602001602082028036833780820191505090505b50905030815f8151811062000fb25762000fb162001992565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001057573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200107d9190620019bf565b8160018151811062001094576200109362001992565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016200113295949392919062001af7565b5f604051808303815f87803b1580156200114a575f80fd5b505af11580156200115d573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620011df8262001197565b810181811067ffffffffffffffff82111715620012015762001200620011a7565b5b80604052505050565b5f620012156200117e565b9050620012238282620011d4565b919050565b5f67ffffffffffffffff821115620012455762001244620011a7565b5b620012508262001197565b9050602081019050919050565b5f5b838110156200127c5780820151818401526020810190506200125f565b5f8484015250505050565b5f6200129d620012978462001228565b6200120a565b905082815260208101848484011115620012bc57620012bb62001193565b5b620012c98482856200125d565b509392505050565b5f82601f830112620012e857620012e76200118f565b5b8151620012fa84826020860162001287565b91505092915050565b5f819050919050565b620013178162001303565b811462001322575f80fd5b50565b5f8151905062001335816200130c565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001366826200133b565b9050919050565b62001378816200135a565b811462001383575f80fd5b50565b5f8151905062001396816200136d565b92915050565b5f805f805f805f80610100898b031215620013bc57620013bb62001187565b5b5f89015167ffffffffffffffff811115620013dc57620013db6200118b565b5b620013ea8b828c01620012d1565b985050602089015167ffffffffffffffff8111156200140e576200140d6200118b565b5b6200141c8b828c01620012d1565b97505060406200142f8b828c0162001325565b9650506060620014428b828c0162001386565b9550506080620014558b828c0162001325565b94505060a0620014688b828c0162001325565b93505060c06200147b8b828c0162001325565b92505060e06200148e8b828c0162001325565b9150509295985092959890939650565b620014a9816200135a565b82525050565b5f602082019050620014c45f8301846200149e565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200151957607f821691505b6020821081036200152f576200152e620014d4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620015937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001556565b6200159f868362001556565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620015e0620015da620015d48462001303565b620015b7565b62001303565b9050919050565b5f819050919050565b620015fb83620015c0565b620016136200160a82620015e7565b84845462001562565b825550505050565b5f90565b620016296200161b565b62001636818484620015f0565b505050565b5b818110156200165d57620016515f826200161f565b6001810190506200163c565b5050565b601f821115620016ac57620016768162001535565b620016818462001547565b8101602085101562001691578190505b620016a9620016a08562001547565b8301826200163b565b50505b505050565b5f82821c905092915050565b5f620016ce5f1984600802620016b1565b1980831691505092915050565b5f620016e88383620016bd565b9150826002028217905092915050565b6200170382620014ca565b67ffffffffffffffff8111156200171f576200171e620011a7565b5b6200172b825462001501565b6200173882828562001661565b5f60209050601f8311600181146200176e575f841562001759578287015190505b620017658582620016db565b865550620017d4565b601f1984166200177e8662001535565b5f5b82811015620017a75784890151825560018201915060208501945060208101905062001780565b86831015620017c75784890151620017c3601f891682620016bd565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620018158262001303565b9150620018228362001303565b9250828202620018328162001303565b915082820484148315176200184c576200184b620017dc565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200188c8262001303565b9150620018998362001303565b925082620018ac57620018ab62001853565b5b828204905092915050565b5f620018c38262001303565b9150620018d08362001303565b9250828201905080821115620018eb57620018ea620017dc565b5b92915050565b620018fc8162001303565b82525050565b5f602082019050620019175f830184620018f1565b92915050565b5f606082019050620019325f8301866200149e565b620019416020830185620018f1565b620019506040830184620018f1565b949350505050565b5f620019648262001303565b9150620019718362001303565b92508282039050818111156200198c576200198b620017dc565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215620019d757620019d662001187565b5b5f620019e68482850162001386565b91505092915050565b5f819050919050565b5f62001a1862001a1262001a0c84620019ef565b620015b7565b62001303565b9050919050565b62001a2a81620019f8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b62001a64816200135a565b82525050565b5f62001a77838362001a59565b60208301905092915050565b5f602082019050919050565b5f62001a9b8262001a30565b62001aa7818562001a3a565b935062001ab48362001a4a565b805f5b8381101562001aea57815162001ace888262001a6a565b975062001adb8362001a83565b92505060018101905062001ab7565b5085935050505092915050565b5f60a08201905062001b0c5f830188620018f1565b62001b1b602083018762001a1f565b818103604083015262001b2f818662001a8f565b905062001b4060608301856200149e565b62001b4f6080830184620018f1565b9695505050505050565b612a078062001b675f395ff3fe608060405260043610610184575f3560e01c80638da5cb5b116100d0578063db520cbd11610089578063ea2f0b3711610063578063ea2f0b3714610561578063ea414b2814610589578063f2fde38b146105b1578063f5f92709146105d95761018b565b8063db520cbd146104d5578063dd62ed3e146104fd578063de7a1c2d146105395761018b565b80638da5cb5b146103cb5780638f9a55c0146103f557806395d89b411461041f57806398a0a3b514610449578063a2240e1914610471578063a9059cbb146104995761018b565b80633a8738981161013d578063715018a611610117578063715018a61461033b57806371b9189c146103515780637d1db4a5146103795780637f32315c146103a35761018b565b80633a873898146102af5780635f2dfa57146102d757806370a08231146102ff5761018b565b806306fdde031461018f578063095ea7b3146101b95780631694505e146101f557806318160ddd1461021f57806323b872dd14610249578063313ce567146102855761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610601565b6040516101b09190611e9e565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190611f5c565b610691565b6040516101ec9190611fb4565b60405180910390f35b348015610200575f80fd5b506102096106b3565b6040516102169190612028565b60405180910390f35b34801561022a575f80fd5b506102336106d8565b6040516102409190612050565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190612069565b6106e1565b60405161027c9190611fb4565b60405180910390f35b348015610290575f80fd5b5061029961070f565b6040516102a691906120d4565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906120ed565b610717565b005b3480156102e2575f80fd5b506102fd60048036038101906102f891906120ed565b61090a565b005b34801561030a575f80fd5b50610325600480360381019061032091906120ed565b610955565b6040516103329190612050565b60405180910390f35b348015610346575f80fd5b5061034f61099b565b005b34801561035c575f80fd5b5061037760048036038101906103729190612258565b6109ae565b005b348015610384575f80fd5b5061038d610a47565b60405161039a9190612050565b60405180910390f35b3480156103ae575f80fd5b506103c960048036038101906103c491906122c9565b610a4d565b005b3480156103d6575f80fd5b506103df610ab9565b6040516103ec9190612316565b60405180910390f35b348015610400575f80fd5b50610409610ae0565b6040516104169190612050565b60405180910390f35b34801561042a575f80fd5b50610433610ae6565b6040516104409190611e9e565b60405180910390f35b348015610454575f80fd5b5061046f600480360381019061046a9190612359565b610b76565b005b34801561047c575f80fd5b5061049760048036038101906104929190612397565b610ceb565b005b3480156104a4575f80fd5b506104bf60048036038101906104ba9190611f5c565b610d05565b6040516104cc9190611fb4565b60405180910390f35b3480156104e0575f80fd5b506104fb60048036038101906104f691906123d5565b610d27565b005b348015610508575f80fd5b50610523600480360381019061051e9190612400565b610d4c565b6040516105309190612050565b60405180910390f35b348015610544575f80fd5b5061055f600480360381019061055a919061243e565b610dce565b005b34801561056c575f80fd5b50610587600480360381019061058291906120ed565b610de0565b005b348015610594575f80fd5b506105af60048036038101906105aa91906124a4565b610e3f565b005b3480156105bc575f80fd5b506105d760048036038101906105d291906120ed565b610e8a565b005b3480156105e4575f80fd5b506105ff60048036038101906105fa91906124cf565b610f0e565b005b6060600a80546106109061253a565b80601f016020809104026020016040519081016040528092919081815260200182805461063c9061253a565b80156106875780601f1061065e57610100808354040283529160200191610687565b820191905f5260205f20905b81548152906001019060200180831161066a57829003601f168201915b5050505050905090565b5f8061069b610fc2565b90506106a8818585610fc9565b600191505092915050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354905090565b5f806106eb610fc2565b90506106f8858285610fdb565b61070385858561106d565b60019150509392505050565b5f6012905090565b5f4790505f8111156107b0575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161076990612597565b5f6040518083038185875af1925050503d805f81146107a3576040519150601f19603f3d011682016040523d82523d5f602084013e6107a8565b606091505b505080915050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610906575f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161081d9190612316565b602060405180830381865afa158015610838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085c91906125bf565b90505f811115610904578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016108c292919061260a565b6020604051808303815f875af11580156108de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109029190612645565b505b505b5050565b61091261115d565b80600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109a361115d565b6109ac5f6111e4565b565b6109b661115d565b5f5b8151811015610a43576001600d5f8484815181106109d9576109d8612670565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a3b906126ca565b9150506109b8565b5050565b60065481565b610a5561115d565b60648260ff161180610a6a575060648160ff16115b15610aa1576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff166004819055508060ff166005819055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b6060600b8054610af59061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b219061253a565b8015610b6c5780601f10610b4357610100808354040283529160200191610b6c565b820191905f5260205f20905b815481529060010190602001808311610b4f57829003601f168201915b5050505050905090565b8060025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610c6457610c6330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fc9565b5b610c6d816112a5565b8115610ce7575f4790505f811115610ce557600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ce3573d5f803e3d5ffd5b505b505b5050565b610cf361115d565b81600681905550806007819055505050565b5f80610d0f610fc2565b9050610d1c81858561106d565b600191505092915050565b610d2f61115d565b80600960016101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dd661115d565b8060088190555050565b610de861115d565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e4761115d565b80600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610e9261115d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f02575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610ef99190612316565b60405180910390fd5b610f0b816111e4565b50565b610f1661115d565b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b610fd683838360016114e2565b505050565b5f610fe68484610d4c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110675781811015611058578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161104f93929190612711565b60405180910390fd5b61106684848484035f6114e2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110dd575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016110d49190612316565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361114d575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111449190612316565b60405180910390fd5b6111588383836116b1565b505050565b611165610fc2565b73ffffffffffffffffffffffffffffffffffffffff16611183610ab9565b73ffffffffffffffffffffffffffffffffffffffff16146111e2576111a6610fc2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111d99190612316565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156112db576112da61211c565b5b6040519080825280602002602001820160405280156113095781602001602082028036833780820191505090505b50905030815f815181106113205761131f612670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e8919061275a565b816001815181106113fc576113fb612670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611498959493929190612875565b5f604051808303815f87803b1580156114af575f80fd5b505af11580156114c1573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611552575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115499190612316565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c2575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115b99190612316565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116ab578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116a29190612050565b60405180910390a35b50505050565b5f6116ba610ab9565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561173f5750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611805576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179091906128cd565b11156117c8576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654821115611804576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561187257508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156119f657600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119145750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611936576064600454856119299190612900565b611933919061296e565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119d35750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119f5576064600554856119e89190612900565b6119f2919061296e565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a4a57600190505b5f821115611b0b578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a9e91906128cd565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b029190612050565b60405180910390a35b5f611b1530610955565b90505f81118015611b235750815b8015611b3b575060095f9054906101000a900460ff16155b8015611b535750600960019054906101000a900460ff165b15611be757611b736008548211611b6a5781611b6e565b6008545b6112a5565b5f4790505f811115611be557600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611be3573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611c37578460035f828254611c2b91906128cd565b92505081905550611d07565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611cc1578781876040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611cb893929190612711565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611d4e578460035f8282540392505081905550611d9b565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8588611df6919061299e565b604051611e039190612050565b60405180910390a350505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e4b578082015181840152602081019050611e30565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e7082611e14565b611e7a8185611e1e565b9350611e8a818560208601611e2e565b611e9381611e56565b840191505092915050565b5f6020820190508181035f830152611eb68184611e66565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ef882611ecf565b9050919050565b611f0881611eee565b8114611f12575f80fd5b50565b5f81359050611f2381611eff565b92915050565b5f819050919050565b611f3b81611f29565b8114611f45575f80fd5b50565b5f81359050611f5681611f32565b92915050565b5f8060408385031215611f7257611f71611ec7565b5b5f611f7f85828601611f15565b9250506020611f9085828601611f48565b9150509250929050565b5f8115159050919050565b611fae81611f9a565b82525050565b5f602082019050611fc75f830184611fa5565b92915050565b5f819050919050565b5f611ff0611feb611fe684611ecf565b611fcd565b611ecf565b9050919050565b5f61200182611fd6565b9050919050565b5f61201282611ff7565b9050919050565b61202281612008565b82525050565b5f60208201905061203b5f830184612019565b92915050565b61204a81611f29565b82525050565b5f6020820190506120635f830184612041565b92915050565b5f805f606084860312156120805761207f611ec7565b5b5f61208d86828701611f15565b935050602061209e86828701611f15565b92505060406120af86828701611f48565b9150509250925092565b5f60ff82169050919050565b6120ce816120b9565b82525050565b5f6020820190506120e75f8301846120c5565b92915050565b5f6020828403121561210257612101611ec7565b5b5f61210f84828501611f15565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61215282611e56565b810181811067ffffffffffffffff821117156121715761217061211c565b5b80604052505050565b5f612183611ebe565b905061218f8282612149565b919050565b5f67ffffffffffffffff8211156121ae576121ad61211c565b5b602082029050602081019050919050565b5f80fd5b5f6121d56121d084612194565b61217a565b905080838252602082019050602084028301858111156121f8576121f76121bf565b5b835b81811015612221578061220d8882611f15565b8452602084019350506020810190506121fa565b5050509392505050565b5f82601f83011261223f5761223e612118565b5b813561224f8482602086016121c3565b91505092915050565b5f6020828403121561226d5761226c611ec7565b5b5f82013567ffffffffffffffff81111561228a57612289611ecb565b5b6122968482850161222b565b91505092915050565b6122a8816120b9565b81146122b2575f80fd5b50565b5f813590506122c38161229f565b92915050565b5f80604083850312156122df576122de611ec7565b5b5f6122ec858286016122b5565b92505060206122fd858286016122b5565b9150509250929050565b61231081611eee565b82525050565b5f6020820190506123295f830184612307565b92915050565b61233881611f9a565b8114612342575f80fd5b50565b5f813590506123538161232f565b92915050565b5f806040838503121561236f5761236e611ec7565b5b5f61237c85828601612345565b925050602061238d85828601611f48565b9150509250929050565b5f80604083850312156123ad576123ac611ec7565b5b5f6123ba85828601611f48565b92505060206123cb85828601611f48565b9150509250929050565b5f602082840312156123ea576123e9611ec7565b5b5f6123f784828501612345565b91505092915050565b5f806040838503121561241657612415611ec7565b5b5f61242385828601611f15565b925050602061243485828601611f15565b9150509250929050565b5f6020828403121561245357612452611ec7565b5b5f61246084828501611f48565b91505092915050565b5f61247382611ecf565b9050919050565b61248381612469565b811461248d575f80fd5b50565b5f8135905061249e8161247a565b92915050565b5f602082840312156124b9576124b8611ec7565b5b5f6124c684828501612490565b91505092915050565b5f80604083850312156124e5576124e4611ec7565b5b5f6124f285828601611f15565b925050602061250385828601612345565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061255157607f821691505b6020821081036125645761256361250d565b5b50919050565b5f81905092915050565b50565b5f6125825f8361256a565b915061258d82612574565b5f82019050919050565b5f6125a182612577565b9150819050919050565b5f815190506125b981611f32565b92915050565b5f602082840312156125d4576125d3611ec7565b5b5f6125e1848285016125ab565b91505092915050565b5f6125f482611ff7565b9050919050565b612604816125ea565b82525050565b5f60408201905061261d5f8301856125fb565b61262a6020830184612041565b9392505050565b5f8151905061263f8161232f565b92915050565b5f6020828403121561265a57612659611ec7565b5b5f61266784828501612631565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126d482611f29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127065761270561269d565b5b600182019050919050565b5f6060820190506127245f830186612307565b6127316020830185612041565b61273e6040830184612041565b949350505050565b5f8151905061275481611eff565b92915050565b5f6020828403121561276f5761276e611ec7565b5b5f61277c84828501612746565b91505092915050565b5f819050919050565b5f6127a86127a361279e84612785565b611fcd565b611f29565b9050919050565b6127b88161278e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127f081611eee565b82525050565b5f61280183836127e7565b60208301905092915050565b5f602082019050919050565b5f612823826127be565b61282d81856127c8565b9350612838836127d8565b805f5b8381101561286857815161284f88826127f6565b975061285a8361280d565b92505060018101905061283b565b5085935050505092915050565b5f60a0820190506128885f830188612041565b61289560208301876127af565b81810360408301526128a78186612819565b90506128b66060830185612307565b6128c36080830184612041565b9695505050505050565b5f6128d782611f29565b91506128e283611f29565b92508282019050808211156128fa576128f961269d565b5b92915050565b5f61290a82611f29565b915061291583611f29565b925082820261292381611f29565b9150828204841483151761293a5761293961269d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297882611f29565b915061298383611f29565b92508261299357612992612941565b5b828204905092915050565b5f6129a882611f29565b91506129b383611f29565b92508282039050818111156129cb576129ca61269d565b5b9291505056fea2646970667358221220022523aeebf23ee0d39a8d9b8b197cc4b8d465f031740266f47588fcd84685aa64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000204fce5e3e25026110000000000000000000000000000000ecef1bdb81a090b3abef8eb9e4b174a377f3f3990000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000000a4f72646f204e6f7675730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054f52445553000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610184575f3560e01c80638da5cb5b116100d0578063db520cbd11610089578063ea2f0b3711610063578063ea2f0b3714610561578063ea414b2814610589578063f2fde38b146105b1578063f5f92709146105d95761018b565b8063db520cbd146104d5578063dd62ed3e146104fd578063de7a1c2d146105395761018b565b80638da5cb5b146103cb5780638f9a55c0146103f557806395d89b411461041f57806398a0a3b514610449578063a2240e1914610471578063a9059cbb146104995761018b565b80633a8738981161013d578063715018a611610117578063715018a61461033b57806371b9189c146103515780637d1db4a5146103795780637f32315c146103a35761018b565b80633a873898146102af5780635f2dfa57146102d757806370a08231146102ff5761018b565b806306fdde031461018f578063095ea7b3146101b95780631694505e146101f557806318160ddd1461021f57806323b872dd14610249578063313ce567146102855761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610601565b6040516101b09190611e9e565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190611f5c565b610691565b6040516101ec9190611fb4565b60405180910390f35b348015610200575f80fd5b506102096106b3565b6040516102169190612028565b60405180910390f35b34801561022a575f80fd5b506102336106d8565b6040516102409190612050565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190612069565b6106e1565b60405161027c9190611fb4565b60405180910390f35b348015610290575f80fd5b5061029961070f565b6040516102a691906120d4565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906120ed565b610717565b005b3480156102e2575f80fd5b506102fd60048036038101906102f891906120ed565b61090a565b005b34801561030a575f80fd5b50610325600480360381019061032091906120ed565b610955565b6040516103329190612050565b60405180910390f35b348015610346575f80fd5b5061034f61099b565b005b34801561035c575f80fd5b5061037760048036038101906103729190612258565b6109ae565b005b348015610384575f80fd5b5061038d610a47565b60405161039a9190612050565b60405180910390f35b3480156103ae575f80fd5b506103c960048036038101906103c491906122c9565b610a4d565b005b3480156103d6575f80fd5b506103df610ab9565b6040516103ec9190612316565b60405180910390f35b348015610400575f80fd5b50610409610ae0565b6040516104169190612050565b60405180910390f35b34801561042a575f80fd5b50610433610ae6565b6040516104409190611e9e565b60405180910390f35b348015610454575f80fd5b5061046f600480360381019061046a9190612359565b610b76565b005b34801561047c575f80fd5b5061049760048036038101906104929190612397565b610ceb565b005b3480156104a4575f80fd5b506104bf60048036038101906104ba9190611f5c565b610d05565b6040516104cc9190611fb4565b60405180910390f35b3480156104e0575f80fd5b506104fb60048036038101906104f691906123d5565b610d27565b005b348015610508575f80fd5b50610523600480360381019061051e9190612400565b610d4c565b6040516105309190612050565b60405180910390f35b348015610544575f80fd5b5061055f600480360381019061055a919061243e565b610dce565b005b34801561056c575f80fd5b50610587600480360381019061058291906120ed565b610de0565b005b348015610594575f80fd5b506105af60048036038101906105aa91906124a4565b610e3f565b005b3480156105bc575f80fd5b506105d760048036038101906105d291906120ed565b610e8a565b005b3480156105e4575f80fd5b506105ff60048036038101906105fa91906124cf565b610f0e565b005b6060600a80546106109061253a565b80601f016020809104026020016040519081016040528092919081815260200182805461063c9061253a565b80156106875780601f1061065e57610100808354040283529160200191610687565b820191905f5260205f20905b81548152906001019060200180831161066a57829003601f168201915b5050505050905090565b5f8061069b610fc2565b90506106a8818585610fc9565b600191505092915050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354905090565b5f806106eb610fc2565b90506106f8858285610fdb565b61070385858561106d565b60019150509392505050565b5f6012905090565b5f4790505f8111156107b0575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161076990612597565b5f6040518083038185875af1925050503d805f81146107a3576040519150601f19603f3d011682016040523d82523d5f602084013e6107a8565b606091505b505080915050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610906575f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161081d9190612316565b602060405180830381865afa158015610838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085c91906125bf565b90505f811115610904578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016108c292919061260a565b6020604051808303815f875af11580156108de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109029190612645565b505b505b5050565b61091261115d565b80600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109a361115d565b6109ac5f6111e4565b565b6109b661115d565b5f5b8151811015610a43576001600d5f8484815181106109d9576109d8612670565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a3b906126ca565b9150506109b8565b5050565b60065481565b610a5561115d565b60648260ff161180610a6a575060648160ff16115b15610aa1576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff166004819055508060ff166005819055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b6060600b8054610af59061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b219061253a565b8015610b6c5780601f10610b4357610100808354040283529160200191610b6c565b820191905f5260205f20905b815481529060010190602001808311610b4f57829003601f168201915b5050505050905090565b8060025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610c6457610c6330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fc9565b5b610c6d816112a5565b8115610ce7575f4790505f811115610ce557600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ce3573d5f803e3d5ffd5b505b505b5050565b610cf361115d565b81600681905550806007819055505050565b5f80610d0f610fc2565b9050610d1c81858561106d565b600191505092915050565b610d2f61115d565b80600960016101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dd661115d565b8060088190555050565b610de861115d565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610e4761115d565b80600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610e9261115d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f02575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610ef99190612316565b60405180910390fd5b610f0b816111e4565b50565b610f1661115d565b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b610fd683838360016114e2565b505050565b5f610fe68484610d4c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110675781811015611058578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161104f93929190612711565b60405180910390fd5b61106684848484035f6114e2565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110dd575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016110d49190612316565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361114d575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111449190612316565b60405180910390fd5b6111588383836116b1565b505050565b611165610fc2565b73ffffffffffffffffffffffffffffffffffffffff16611183610ab9565b73ffffffffffffffffffffffffffffffffffffffff16146111e2576111a6610fc2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111d99190612316565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156112db576112da61211c565b5b6040519080825280602002602001820160405280156113095781602001602082028036833780820191505090505b50905030815f815181106113205761131f612670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e8919061275a565b816001815181106113fc576113fb612670565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611498959493929190612875565b5f604051808303815f87803b1580156114af575f80fd5b505af11580156114c1573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611552575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115499190612316565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c2575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115b99190612316565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116ab578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116a29190612050565b60405180910390a35b50505050565b5f6116ba610ab9565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561173f5750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611805576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179091906128cd565b11156117c8576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654821115611804576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561187257508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156119f657600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119145750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611936576064600454856119299190612900565b611933919061296e565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156119d35750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119f5576064600554856119e89190612900565b6119f2919061296e565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611a4a57600190505b5f821115611b0b578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a9e91906128cd565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b029190612050565b60405180910390a35b5f611b1530610955565b90505f81118015611b235750815b8015611b3b575060095f9054906101000a900460ff16155b8015611b535750600960019054906101000a900460ff165b15611be757611b736008548211611b6a5781611b6e565b6008545b6112a5565b5f4790505f811115611be557600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611be3573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611c37578460035f828254611c2b91906128cd565b92505081905550611d07565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611cc1578781876040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611cb893929190612711565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611d4e578460035f8282540392505081905550611d9b565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8588611df6919061299e565b604051611e039190612050565b60405180910390a350505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e4b578082015181840152602081019050611e30565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e7082611e14565b611e7a8185611e1e565b9350611e8a818560208601611e2e565b611e9381611e56565b840191505092915050565b5f6020820190508181035f830152611eb68184611e66565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ef882611ecf565b9050919050565b611f0881611eee565b8114611f12575f80fd5b50565b5f81359050611f2381611eff565b92915050565b5f819050919050565b611f3b81611f29565b8114611f45575f80fd5b50565b5f81359050611f5681611f32565b92915050565b5f8060408385031215611f7257611f71611ec7565b5b5f611f7f85828601611f15565b9250506020611f9085828601611f48565b9150509250929050565b5f8115159050919050565b611fae81611f9a565b82525050565b5f602082019050611fc75f830184611fa5565b92915050565b5f819050919050565b5f611ff0611feb611fe684611ecf565b611fcd565b611ecf565b9050919050565b5f61200182611fd6565b9050919050565b5f61201282611ff7565b9050919050565b61202281612008565b82525050565b5f60208201905061203b5f830184612019565b92915050565b61204a81611f29565b82525050565b5f6020820190506120635f830184612041565b92915050565b5f805f606084860312156120805761207f611ec7565b5b5f61208d86828701611f15565b935050602061209e86828701611f15565b92505060406120af86828701611f48565b9150509250925092565b5f60ff82169050919050565b6120ce816120b9565b82525050565b5f6020820190506120e75f8301846120c5565b92915050565b5f6020828403121561210257612101611ec7565b5b5f61210f84828501611f15565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61215282611e56565b810181811067ffffffffffffffff821117156121715761217061211c565b5b80604052505050565b5f612183611ebe565b905061218f8282612149565b919050565b5f67ffffffffffffffff8211156121ae576121ad61211c565b5b602082029050602081019050919050565b5f80fd5b5f6121d56121d084612194565b61217a565b905080838252602082019050602084028301858111156121f8576121f76121bf565b5b835b81811015612221578061220d8882611f15565b8452602084019350506020810190506121fa565b5050509392505050565b5f82601f83011261223f5761223e612118565b5b813561224f8482602086016121c3565b91505092915050565b5f6020828403121561226d5761226c611ec7565b5b5f82013567ffffffffffffffff81111561228a57612289611ecb565b5b6122968482850161222b565b91505092915050565b6122a8816120b9565b81146122b2575f80fd5b50565b5f813590506122c38161229f565b92915050565b5f80604083850312156122df576122de611ec7565b5b5f6122ec858286016122b5565b92505060206122fd858286016122b5565b9150509250929050565b61231081611eee565b82525050565b5f6020820190506123295f830184612307565b92915050565b61233881611f9a565b8114612342575f80fd5b50565b5f813590506123538161232f565b92915050565b5f806040838503121561236f5761236e611ec7565b5b5f61237c85828601612345565b925050602061238d85828601611f48565b9150509250929050565b5f80604083850312156123ad576123ac611ec7565b5b5f6123ba85828601611f48565b92505060206123cb85828601611f48565b9150509250929050565b5f602082840312156123ea576123e9611ec7565b5b5f6123f784828501612345565b91505092915050565b5f806040838503121561241657612415611ec7565b5b5f61242385828601611f15565b925050602061243485828601611f15565b9150509250929050565b5f6020828403121561245357612452611ec7565b5b5f61246084828501611f48565b91505092915050565b5f61247382611ecf565b9050919050565b61248381612469565b811461248d575f80fd5b50565b5f8135905061249e8161247a565b92915050565b5f602082840312156124b9576124b8611ec7565b5b5f6124c684828501612490565b91505092915050565b5f80604083850312156124e5576124e4611ec7565b5b5f6124f285828601611f15565b925050602061250385828601612345565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061255157607f821691505b6020821081036125645761256361250d565b5b50919050565b5f81905092915050565b50565b5f6125825f8361256a565b915061258d82612574565b5f82019050919050565b5f6125a182612577565b9150819050919050565b5f815190506125b981611f32565b92915050565b5f602082840312156125d4576125d3611ec7565b5b5f6125e1848285016125ab565b91505092915050565b5f6125f482611ff7565b9050919050565b612604816125ea565b82525050565b5f60408201905061261d5f8301856125fb565b61262a6020830184612041565b9392505050565b5f8151905061263f8161232f565b92915050565b5f6020828403121561265a57612659611ec7565b5b5f61266784828501612631565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126d482611f29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127065761270561269d565b5b600182019050919050565b5f6060820190506127245f830186612307565b6127316020830185612041565b61273e6040830184612041565b949350505050565b5f8151905061275481611eff565b92915050565b5f6020828403121561276f5761276e611ec7565b5b5f61277c84828501612746565b91505092915050565b5f819050919050565b5f6127a86127a361279e84612785565b611fcd565b611f29565b9050919050565b6127b88161278e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127f081611eee565b82525050565b5f61280183836127e7565b60208301905092915050565b5f602082019050919050565b5f612823826127be565b61282d81856127c8565b9350612838836127d8565b805f5b8381101561286857815161284f88826127f6565b975061285a8361280d565b92505060018101905061283b565b5085935050505092915050565b5f60a0820190506128885f830188612041565b61289560208301876127af565b81810360408301526128a78186612819565b90506128b66060830185612307565b6128c36080830184612041565b9695505050505050565b5f6128d782611f29565b91506128e283611f29565b92508282019050808211156128fa576128f961269d565b5b92915050565b5f61290a82611f29565b915061291583611f29565b925082820261292381611f29565b9150828204841483151761293a5761293961269d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297882611f29565b915061298383611f29565b92508261299357612992612941565b5b828204905092915050565b5f6129a882611f29565b91506129b383611f29565b92508282039050818111156129cb576129ca61269d565b5b9291505056fea2646970667358221220022523aeebf23ee0d39a8d9b8b197cc4b8d465f031740266f47588fcd84685aa64736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000204fce5e3e25026110000000000000000000000000000000ecef1bdb81a090b3abef8eb9e4b174a377f3f3990000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000000a4f72646f204e6f7675730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054f52445553000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Ordo Novus
Arg [1] : symbol_ (string): ORDUS
Arg [2] : tSupply (uint256): 10000000000000000000000000000
Arg [3] : _taxWallet (address): 0xEcEF1bDb81A090B3aBEf8EB9e4B174A377F3f399
Arg [4] : bTax (uint256): 25
Arg [5] : sTax (uint256): 35
Arg [6] : _mTxAmount (uint256): 200
Arg [7] : _mWalletAmount (uint256): 200

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [2] : 0000000000000000000000000000000000000000204fce5e3e25026110000000
Arg [3] : 000000000000000000000000ecef1bdb81a090b3abef8eb9e4b174a377f3f399
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000023
Arg [6] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [7] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [8] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [9] : 4f72646f204e6f76757300000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [11] : 4f52445553000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3738:10470:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9451:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4424:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5963:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9674:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7918:528;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7543:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6070:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2888:103;;;;;;;;;;;;;:::i;:::-;;6897:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4070:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6677:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2619:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4104:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5768:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8454:569;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7220:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6371:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7679:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6196:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7787:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7102:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6561:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2999:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7369:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5669:91;5714:13;5747:5;5740:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:91;:::o;9451:215::-;9549:4;9566:13;9582:12;:10;:12::i;:::-;9566:28;;9605:31;9614:5;9621:7;9630:5;9605:8;:31::i;:::-;9654:4;9647:11;;;9451:215;;;;:::o;4424:41::-;;;;;;;;;;;;;:::o;5963:99::-;6015:7;6042:12;;6035:19;;5963:99;:::o;9674:283::-;9795:4;9812:15;9830:12;:10;:12::i;:::-;9812:30;;9853:37;9869:4;9875:7;9884:5;9853:15;:37::i;:::-;9901:26;9911:4;9917:2;9921:5;9901:9;:26::i;:::-;9945:4;9938:11;;;9674:283;;;;;:::o;5871:84::-;5920:5;5945:2;5938:9;;5871:84;:::o;7918:528::-;7982:26;8011:21;7982:50;;8068:1;8047:18;:22;8043:182;;;8086:12;8135:9;;;;;;;;;;;8127:23;;8158:18;8127:86;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8113:100;;;;;8071:154;8043:182;8257:1;8239:20;;:6;:20;;;8235:204;;8276:10;8296:6;8289:24;;;8322:4;8289:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8276:52;;8352:1;8347:2;:6;8343:85;;;8381:6;8374:23;;;8398:9;;;;;;;;;;;8409:2;8374:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8343:85;8261:178;8235:204;7971:475;7918:528;:::o;7543:128::-;2578:13;:11;:13::i;:::-;7655:7:::1;7618:15;;:45;;;;;;;;;;;;;;;;;;7543:128:::0;:::o;6070:118::-;6135:7;6162:9;:18;6172:7;6162:18;;;;;;;;;;;;;;;;6155:25;;6070:118;;;:::o;2888:103::-;2578:13;:11;:13::i;:::-;2953:30:::1;2980:1;2953:18;:30::i;:::-;2888:103::o:0;6897:197::-;2578:13;:11;:13::i;:::-;6981:9:::1;6976:111;7000:8;:15;6996:1;:19;6976:111;;;7071:4;7037:18;:31;7056:8;7065:1;7056:11;;;;;;;;:::i;:::-;;;;;;;;7037:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;7017:3;;;;;:::i;:::-;;;;6976:111;;;;6897:197:::0;:::o;4070:27::-;;;;:::o;6677:212::-;2578:13;:11;:13::i;:::-;6766:3:::1;6759:4;:10;;;:25;;;;6781:3;6773:5;:11;;;6759:25;6755:77;;;6808:12;;;;;;;;;;;;;;6755:77;6851:4;6842:13;;:6;:13;;;;6876:5;6866:15;;:7;:15;;;;6677:212:::0;;:::o;2619:87::-;2665:7;2692:6;;;;;;;;;;;2685:13;;2619:87;:::o;4104:29::-;;;;:::o;5768:95::-;5815:13;5848:7;5841:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5768:95;:::o;8454:569::-;8588:7;8533:11;:26;8553:4;8533:26;;;;;;;;;;;;;;;:52;8568:15;;;;;;;;;;;8533:52;;;;;;;;;;;;;;;;:62;8529:229;;;8612:134;8647:4;8679:15;;;;;;;;;;;8714:17;8612:8;:134::i;:::-;8529:229;8768:25;8785:7;8768:16;:25::i;:::-;8808:11;8804:212;;;8836:26;8865:21;8836:50;;8926:1;8905:18;:22;8901:104;;;8948:9;;;;;;;;;;;:18;;:41;8967:21;8948:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8901:104;8821:195;8804:212;8454:569;;:::o;7220:141::-;2578:13;:11;:13::i;:::-;7315:3:::1;7300:12;:18;;;;7346:7;7329:14;:24;;;;7220:141:::0;;:::o;6371:182::-;6440:4;6457:13;6473:12;:10;:12::i;:::-;6457:28;;6496:27;6506:5;6513:2;6517:5;6496:9;:27::i;:::-;6541:4;6534:11;;;6371:182;;;;:::o;7679:102::-;2578:13;:11;:13::i;:::-;7761:12:::1;7747:11;;:26;;;;;;;;;;;;;;;;;;7679:102:::0;:::o;6196:167::-;6301:7;6328:11;:18;6340:5;6328:18;;;;;;;;;;;;;;;:27;6347:7;6328:27;;;;;;;;;;;;;;;;6321:34;;6196:167;;;;:::o;7787:123::-;2578:13;:11;:13::i;:::-;7887:15:::1;7870:14;:32;;;;7787:123:::0;:::o;7102:110::-;2578:13;:11;:13::i;:::-;7199:5:::1;7169:18;:27;7188:7;7169:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7102:110:::0;:::o;6561:108::-;2578:13;:11;:13::i;:::-;6651:10:::1;6639:9;;:22;;;;;;;;;;;;;;;;;;6561:108:::0;:::o;2999:220::-;2578:13;:11;:13::i;:::-;3104:1:::1;3084:22;;:8;:22;;::::0;3080:93:::1;;3158:1;3130:31;;;;;;;;;;;:::i;:::-;;;;;;;;3080:93;3183:28;3202:8;3183:18;:28::i;:::-;2999:220:::0;:::o;7369:166::-;2578:13;:11;:13::i;:::-;7479:7:::1;7451:18;:25;7470:5;7451:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7520:7;7497:13;:20;7511:5;7497:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7369:166:::0;;:::o;1152:98::-;1205:7;1232:10;1225:17;;1152:98;:::o;12970:130::-;13055:37;13064:5;13071:7;13080:5;13087:4;13055:8;:37::i;:::-;12970:130;;;:::o;13602:603::-;13736:24;13763:25;13773:5;13780:7;13763:9;:25::i;:::-;13736:52;;13823:17;13803:16;:37;13799:399;;13880:5;13861:16;:24;13857:214;;;13962:7;13992:16;14031:5;13913:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;13857:214;14114:57;14123:5;14130:7;14158:5;14139:16;:24;14165:5;14114:8;:57::i;:::-;13799:399;13725:480;13602:603;;;:::o;9965:308::-;10065:1;10049:18;;:4;:18;;;10045:88;;10118:1;10091:30;;;;;;;;;;;:::i;:::-;;;;;;;;10045:88;10161:1;10147:16;;:2;:16;;;10143:88;;10216:1;10187:32;;;;;;;;;;;:::i;:::-;;;;;;;;10143:88;10241:24;10249:4;10255:2;10259:5;10241:7;:24::i;:::-;9965:308;;;:::o;2714:166::-;2785:12;:10;:12::i;:::-;2774:23;;:7;:5;:7::i;:::-;:23;;;2770:103;;2848:12;:10;:12::i;:::-;2821:40;;;;;;;;;;;:::i;:::-;;;;;;;;2770:103;2714:166::o;3227:191::-;3301:16;3320:6;;;;;;;;;;;3301:25;;3346:8;3337:6;;:17;;;;;;;;;;;;;;;;;;3401:8;3370:40;;3391:8;3370:40;;;;;;;;;;;;3290:128;3227:191;:::o;9031:412::-;4557:4;4548:6;;:13;;;;;;;;;;;;;;;;;;9109:21:::1;9147:1;9133:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9109:40;;9178:4;9160;9165:1;9160:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9204:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9194:4;9199:1;9194:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9239:15;;;;;;;;;;;:66;;;9320:11;9346:1;9362:4;9389;9409:15;9239:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9098:345;4593:5:::0;4584:6;;:14;;;;;;;;;;;;;;;;;;9031:412;:::o;13108:486::-;13281:1;13264:19;;:5;:19;;;13260:91;;13336:1;13307:32;;;;;;;;;;;:::i;:::-;;;;;;;;13260:91;13384:1;13365:21;;:7;:21;;;13361:92;;13438:1;13410:31;;;;;;;;;;;:::i;:::-;;;;;;;;13361:92;13493:5;13463:11;:18;13475:5;13463:18;;;;;;;;;;;;;;;:27;13482:7;13463:27;;;;;;;;;;;;;;;:35;;;;13513:9;13509:78;;;13560:7;13544:31;;13553:5;13544:31;;;13569:5;13544:31;;;;;;:::i;:::-;;;;;;;;13509:78;13108:486;;;;:::o;10281:2241::-;10367:15;10385:7;:5;:7::i;:::-;10367:25;;10415:7;10407:15;;:4;:15;;;;:42;;;;;10427:18;:22;10446:2;10427:22;;;;;;;;;;;;;;;;;;;;;;;;;10426:23;10407:42;10403:285;;;10494:14;;10486:5;10470:9;:13;10480:2;10470:13;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;:38;10466:109;;;10536:23;;;;;;;;;;;;;;10466:109;10601:12;;10593:5;:20;10589:88;;;10641:20;;;;;;;;;;;;;;10589:88;10403:285;10698:17;10726:15;10744:5;10726:23;;10772:7;10764:15;;:4;:15;;;;:32;;;;;10789:7;10783:13;;:2;:13;;;;10764:32;10760:327;;;10817:13;:19;10831:4;10817:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;10841:18;:22;10860:2;10841:22;;;;;;;;;;;;;;;;;;;;;;;;;10840:23;10817:46;10813:123;;;10916:3;10905:6;;10897:5;:14;;;;:::i;:::-;10896:24;;;;:::i;:::-;10884:36;;10813:123;10956:13;:17;10970:2;10956:17;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;10978:18;:24;10997:4;10978:24;;;;;;;;;;;;;;;;;;;;;;;;;10977:25;10956:46;10952:124;;;11056:3;11044:7;;11036:5;:15;;;;:::i;:::-;11035:25;;;;:::i;:::-;11023:37;;10952:124;10760:327;11101:13;:17;11115:2;11101:17;;;;;;;;;;;;;;;;;;;;;;;;;11097:67;;;11148:4;11135:17;;11097:67;11190:1;11178:9;:13;11174:143;;;11236:9;11208;:24;11226:4;11208:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;11288:4;11265:40;;11274:4;11265:40;;;11295:9;11265:40;;;;;;:::i;:::-;;;;;;;;11174:143;11327:28;11358:24;11376:4;11358:9;:24::i;:::-;11327:55;;11422:1;11399:20;:24;:38;;;;;11427:10;11399:38;:49;;;;;11442:6;;;;;;;;;;;11441:7;11399:49;:64;;;;;11452:11;;;;;;;;;;;11399:64;11395:449;;;11480:169;11538:14;;11515:20;:37;:119;;11614:20;11515:119;;;11576:14;;11515:119;11480:16;:169::i;:::-;11664:26;11693:21;11664:50;;11754:1;11733:18;:22;11729:104;;;11776:9;;;;;;;;;;;:18;;:41;11795:21;11776:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11729:104;11465:379;11395:449;11874:1;11858:18;;:4;:18;;;11854:369;;11909:5;11893:12;;:21;;;;;;;:::i;:::-;;;;;;;;11854:369;;;11947:19;11969:9;:15;11979:4;11969:15;;;;;;;;;;;;;;;;11947:37;;12017:5;12003:11;:19;11999:117;;;12075:4;12081:11;12094:5;12050:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;11999:117;12191:5;12177:11;:19;12159:9;:15;12169:4;12159:15;;;;;;;;;;;;;;;:37;;;;11932:291;11854:369;12253:1;12239:16;;:2;:16;;;12235:225;;12317:5;12301:12;;:21;;;;;;;;;;;12235:225;;;12424:9;12416:5;:17;12399:9;:13;12409:2;12399:13;;;;;;;;;;;;;;;;:34;;;;;;;;;;;12235:225;12492:2;12477:37;;12486:4;12477:37;;;12504:9;12496:5;:17;;;;:::i;:::-;12477:37;;;;;;:::i;:::-;;;;;;;;10356:2166;;;;10281:2241;;;:::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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:329::-;5885:6;5934:2;5922:9;5913:7;5909:23;5905:32;5902:119;;;5940:79;;:::i;:::-;5902:119;6060:1;6085:53;6130:7;6121:6;6110:9;6106:22;6085:53;:::i;:::-;6075:63;;6031:117;5826:329;;;;:::o;6161:117::-;6270:1;6267;6260:12;6284:180;6332:77;6329:1;6322:88;6429:4;6426:1;6419:15;6453:4;6450:1;6443:15;6470:281;6553:27;6575:4;6553:27;:::i;:::-;6545:6;6541:40;6683:6;6671:10;6668:22;6647:18;6635:10;6632:34;6629:62;6626:88;;;6694:18;;:::i;:::-;6626:88;6734:10;6730:2;6723:22;6513:238;6470:281;;:::o;6757:129::-;6791:6;6818:20;;:::i;:::-;6808:30;;6847:33;6875:4;6867:6;6847:33;:::i;:::-;6757:129;;;:::o;6892:311::-;6969:4;7059:18;7051:6;7048:30;7045:56;;;7081:18;;:::i;:::-;7045:56;7131:4;7123:6;7119:17;7111:25;;7191:4;7185;7181:15;7173:23;;6892:311;;;:::o;7209:117::-;7318:1;7315;7308:12;7349:710;7445:5;7470:81;7486:64;7543:6;7486:64;:::i;:::-;7470:81;:::i;:::-;7461:90;;7571:5;7600:6;7593:5;7586:21;7634:4;7627:5;7623:16;7616:23;;7687:4;7679:6;7675:17;7667:6;7663:30;7716:3;7708:6;7705:15;7702:122;;;7735:79;;:::i;:::-;7702:122;7850:6;7833:220;7867:6;7862:3;7859:15;7833:220;;;7942:3;7971:37;8004:3;7992:10;7971:37;:::i;:::-;7966:3;7959:50;8038:4;8033:3;8029:14;8022:21;;7909:144;7893:4;7888:3;7884:14;7877:21;;7833:220;;;7837:21;7451:608;;7349:710;;;;;:::o;8082:370::-;8153:5;8202:3;8195:4;8187:6;8183:17;8179:27;8169:122;;8210:79;;:::i;:::-;8169:122;8327:6;8314:20;8352:94;8442:3;8434:6;8427:4;8419:6;8415:17;8352:94;:::i;:::-;8343:103;;8159:293;8082:370;;;;:::o;8458:539::-;8542:6;8591:2;8579:9;8570:7;8566:23;8562:32;8559:119;;;8597:79;;:::i;:::-;8559:119;8745:1;8734:9;8730:17;8717:31;8775:18;8767:6;8764:30;8761:117;;;8797:79;;:::i;:::-;8761:117;8902:78;8972:7;8963:6;8952:9;8948:22;8902:78;:::i;:::-;8892:88;;8688:302;8458:539;;;;:::o;9003:118::-;9074:22;9090:5;9074:22;:::i;:::-;9067:5;9064:33;9054:61;;9111:1;9108;9101:12;9054:61;9003:118;:::o;9127:135::-;9171:5;9209:6;9196:20;9187:29;;9225:31;9250:5;9225:31;:::i;:::-;9127:135;;;;:::o;9268:466::-;9332:6;9340;9389:2;9377:9;9368:7;9364:23;9360:32;9357:119;;;9395:79;;:::i;:::-;9357:119;9515:1;9540:51;9583:7;9574:6;9563:9;9559:22;9540:51;:::i;:::-;9530:61;;9486:115;9640:2;9666:51;9709:7;9700:6;9689:9;9685:22;9666:51;:::i;:::-;9656:61;;9611:116;9268:466;;;;;:::o;9740:118::-;9827:24;9845:5;9827:24;:::i;:::-;9822:3;9815:37;9740:118;;:::o;9864:222::-;9957:4;9995:2;9984:9;9980:18;9972:26;;10008:71;10076:1;10065:9;10061:17;10052:6;10008:71;:::i;:::-;9864:222;;;;:::o;10092:116::-;10162:21;10177:5;10162:21;:::i;:::-;10155:5;10152:32;10142:60;;10198:1;10195;10188:12;10142:60;10092:116;:::o;10214:133::-;10257:5;10295:6;10282:20;10273:29;;10311:30;10335:5;10311:30;:::i;:::-;10214:133;;;;:::o;10353:468::-;10418:6;10426;10475:2;10463:9;10454:7;10450:23;10446:32;10443:119;;;10481:79;;:::i;:::-;10443:119;10601:1;10626:50;10668:7;10659:6;10648:9;10644:22;10626:50;:::i;:::-;10616:60;;10572:114;10725:2;10751:53;10796:7;10787:6;10776:9;10772:22;10751:53;:::i;:::-;10741:63;;10696:118;10353:468;;;;;:::o;10827:474::-;10895:6;10903;10952:2;10940:9;10931:7;10927:23;10923:32;10920:119;;;10958:79;;:::i;:::-;10920:119;11078:1;11103:53;11148:7;11139:6;11128:9;11124:22;11103:53;:::i;:::-;11093:63;;11049:117;11205:2;11231:53;11276:7;11267:6;11256:9;11252:22;11231:53;:::i;:::-;11221:63;;11176:118;10827:474;;;;;:::o;11307:323::-;11363:6;11412:2;11400:9;11391:7;11387:23;11383:32;11380:119;;;11418:79;;:::i;:::-;11380:119;11538:1;11563:50;11605:7;11596:6;11585:9;11581:22;11563:50;:::i;:::-;11553:60;;11509:114;11307:323;;;;:::o;11636:474::-;11704:6;11712;11761:2;11749:9;11740:7;11736:23;11732:32;11729:119;;;11767:79;;:::i;:::-;11729:119;11887:1;11912:53;11957:7;11948:6;11937:9;11933:22;11912:53;:::i;:::-;11902:63;;11858:117;12014:2;12040:53;12085:7;12076:6;12065:9;12061:22;12040:53;:::i;:::-;12030:63;;11985:118;11636:474;;;;;:::o;12116:329::-;12175:6;12224:2;12212:9;12203:7;12199:23;12195:32;12192:119;;;12230:79;;:::i;:::-;12192:119;12350:1;12375:53;12420:7;12411:6;12400:9;12396:22;12375:53;:::i;:::-;12365:63;;12321:117;12116:329;;;;:::o;12451:104::-;12496:7;12525:24;12543:5;12525:24;:::i;:::-;12514:35;;12451:104;;;:::o;12561:138::-;12642:32;12668:5;12642:32;:::i;:::-;12635:5;12632:43;12622:71;;12689:1;12686;12679:12;12622:71;12561:138;:::o;12705:155::-;12759:5;12797:6;12784:20;12775:29;;12813:41;12848:5;12813:41;:::i;:::-;12705:155;;;;:::o;12866:345::-;12933:6;12982:2;12970:9;12961:7;12957:23;12953:32;12950:119;;;12988:79;;:::i;:::-;12950:119;13108:1;13133:61;13186:7;13177:6;13166:9;13162:22;13133:61;:::i;:::-;13123:71;;13079:125;12866:345;;;;:::o;13217:468::-;13282:6;13290;13339:2;13327:9;13318:7;13314:23;13310:32;13307:119;;;13345:79;;:::i;:::-;13307:119;13465:1;13490:53;13535:7;13526:6;13515:9;13511:22;13490:53;:::i;:::-;13480:63;;13436:117;13592:2;13618:50;13660:7;13651:6;13640:9;13636:22;13618:50;:::i;:::-;13608:60;;13563:115;13217:468;;;;;:::o;13691:180::-;13739:77;13736:1;13729:88;13836:4;13833:1;13826:15;13860:4;13857:1;13850:15;13877:320;13921:6;13958:1;13952:4;13948:12;13938:22;;14005:1;13999:4;13995:12;14026:18;14016:81;;14082:4;14074:6;14070:17;14060:27;;14016:81;14144:2;14136:6;14133:14;14113:18;14110:38;14107:84;;14163:18;;:::i;:::-;14107:84;13928:269;13877:320;;;:::o;14203:147::-;14304:11;14341:3;14326:18;;14203:147;;;;:::o;14356:114::-;;:::o;14476:398::-;14635:3;14656:83;14737:1;14732:3;14656:83;:::i;:::-;14649:90;;14748:93;14837:3;14748:93;:::i;:::-;14866:1;14861:3;14857:11;14850:18;;14476:398;;;:::o;14880:379::-;15064:3;15086:147;15229:3;15086:147;:::i;:::-;15079:154;;15250:3;15243:10;;14880:379;;;:::o;15265:143::-;15322:5;15353:6;15347:13;15338:22;;15369:33;15396:5;15369:33;:::i;:::-;15265:143;;;;:::o;15414:351::-;15484:6;15533:2;15521:9;15512:7;15508:23;15504:32;15501:119;;;15539:79;;:::i;:::-;15501:119;15659:1;15684:64;15740:7;15731:6;15720:9;15716:22;15684:64;:::i;:::-;15674:74;;15630:128;15414:351;;;;:::o;15771:134::-;15829:9;15862:37;15893:5;15862:37;:::i;:::-;15849:50;;15771:134;;;:::o;15911:147::-;16006:45;16045:5;16006:45;:::i;:::-;16001:3;15994:58;15911:147;;:::o;16064:348::-;16193:4;16231:2;16220:9;16216:18;16208:26;;16244:79;16320:1;16309:9;16305:17;16296:6;16244:79;:::i;:::-;16333:72;16401:2;16390:9;16386:18;16377:6;16333:72;:::i;:::-;16064:348;;;;;:::o;16418:137::-;16472:5;16503:6;16497:13;16488:22;;16519:30;16543:5;16519:30;:::i;:::-;16418:137;;;;:::o;16561:345::-;16628:6;16677:2;16665:9;16656:7;16652:23;16648:32;16645:119;;;16683:79;;:::i;:::-;16645:119;16803:1;16828:61;16881:7;16872:6;16861:9;16857:22;16828:61;:::i;:::-;16818:71;;16774:125;16561:345;;;;:::o;16912:180::-;16960:77;16957:1;16950:88;17057:4;17054:1;17047:15;17081:4;17078:1;17071:15;17098:180;17146:77;17143:1;17136:88;17243:4;17240:1;17233:15;17267:4;17264:1;17257:15;17284:233;17323:3;17346:24;17364:5;17346:24;:::i;:::-;17337:33;;17392:66;17385:5;17382:77;17379:103;;17462:18;;:::i;:::-;17379:103;17509:1;17502:5;17498:13;17491:20;;17284:233;;;:::o;17523:442::-;17672:4;17710:2;17699:9;17695:18;17687:26;;17723:71;17791:1;17780:9;17776:17;17767:6;17723:71;:::i;:::-;17804:72;17872:2;17861:9;17857:18;17848:6;17804:72;:::i;:::-;17886;17954:2;17943:9;17939:18;17930:6;17886:72;:::i;:::-;17523:442;;;;;;:::o;17971:143::-;18028:5;18059:6;18053:13;18044:22;;18075:33;18102:5;18075:33;:::i;:::-;17971:143;;;;:::o;18120:351::-;18190:6;18239:2;18227:9;18218:7;18214:23;18210:32;18207:119;;;18245:79;;:::i;:::-;18207:119;18365:1;18390:64;18446:7;18437:6;18426:9;18422:22;18390:64;:::i;:::-;18380:74;;18336:128;18120:351;;;;:::o;18477:85::-;18522:7;18551:5;18540:16;;18477:85;;;:::o;18568:158::-;18626:9;18659:61;18677:42;18686:32;18712:5;18686:32;:::i;:::-;18677:42;:::i;:::-;18659:61;:::i;:::-;18646:74;;18568:158;;;:::o;18732:147::-;18827:45;18866:5;18827:45;:::i;:::-;18822:3;18815:58;18732:147;;:::o;18885:114::-;18952:6;18986:5;18980:12;18970:22;;18885:114;;;:::o;19005:184::-;19104:11;19138:6;19133:3;19126:19;19178:4;19173:3;19169:14;19154:29;;19005:184;;;;:::o;19195:132::-;19262:4;19285:3;19277:11;;19315:4;19310:3;19306:14;19298:22;;19195:132;;;:::o;19333:108::-;19410:24;19428:5;19410:24;:::i;:::-;19405:3;19398:37;19333:108;;:::o;19447:179::-;19516:10;19537:46;19579:3;19571:6;19537:46;:::i;:::-;19615:4;19610:3;19606:14;19592:28;;19447:179;;;;:::o;19632:113::-;19702:4;19734;19729:3;19725:14;19717:22;;19632:113;;;:::o;19781:732::-;19900:3;19929:54;19977:5;19929:54;:::i;:::-;19999:86;20078:6;20073:3;19999:86;:::i;:::-;19992:93;;20109:56;20159:5;20109:56;:::i;:::-;20188:7;20219:1;20204:284;20229:6;20226:1;20223:13;20204:284;;;20305:6;20299:13;20332:63;20391:3;20376:13;20332:63;:::i;:::-;20325:70;;20418:60;20471:6;20418:60;:::i;:::-;20408:70;;20264:224;20251:1;20248;20244:9;20239:14;;20204:284;;;20208:14;20504:3;20497:10;;19905:608;;;19781:732;;;;:::o;20519:831::-;20782:4;20820:3;20809:9;20805:19;20797:27;;20834:71;20902:1;20891:9;20887:17;20878:6;20834:71;:::i;:::-;20915:80;20991:2;20980:9;20976:18;20967:6;20915:80;:::i;:::-;21042:9;21036:4;21032:20;21027:2;21016:9;21012:18;21005:48;21070:108;21173:4;21164:6;21070:108;:::i;:::-;21062:116;;21188:72;21256:2;21245:9;21241:18;21232:6;21188:72;:::i;:::-;21270:73;21338:3;21327:9;21323:19;21314:6;21270:73;:::i;:::-;20519:831;;;;;;;;:::o;21356:191::-;21396:3;21415:20;21433:1;21415:20;:::i;:::-;21410:25;;21449:20;21467:1;21449:20;:::i;:::-;21444:25;;21492:1;21489;21485:9;21478:16;;21513:3;21510:1;21507:10;21504:36;;;21520:18;;:::i;:::-;21504:36;21356:191;;;;:::o;21553:410::-;21593:7;21616:20;21634:1;21616:20;:::i;:::-;21611:25;;21650:20;21668:1;21650:20;:::i;:::-;21645:25;;21705:1;21702;21698:9;21727:30;21745:11;21727:30;:::i;:::-;21716:41;;21906:1;21897:7;21893:15;21890:1;21887:22;21867:1;21860:9;21840:83;21817:139;;21936:18;;:::i;:::-;21817:139;21601:362;21553:410;;;;:::o;21969:180::-;22017:77;22014:1;22007:88;22114:4;22111:1;22104:15;22138:4;22135:1;22128:15;22155:185;22195:1;22212:20;22230:1;22212:20;:::i;:::-;22207:25;;22246:20;22264:1;22246:20;:::i;:::-;22241:25;;22285:1;22275:35;;22290:18;;:::i;:::-;22275:35;22332:1;22329;22325:9;22320:14;;22155:185;;;;:::o;22346:194::-;22386:4;22406:20;22424:1;22406:20;:::i;:::-;22401:25;;22440:20;22458:1;22440:20;:::i;:::-;22435:25;;22484:1;22481;22477:9;22469:17;;22508:1;22502:4;22499:11;22496:37;;;22513:18;;:::i;:::-;22496:37;22346:194;;;;:::o

Swarm Source

ipfs://022523aeebf23ee0d39a8d9b8b197cc4b8d465f031740266f47588fcd84685aa
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.