ETH Price: $3,280.21 (-2.25%)

Token

Quantum Synthesia (QUANTSE)
 

Overview

Max Total Supply

10,000,000,000 QUANTSE

Holders

98

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
182,283,729.986528160794059054 QUANTSE

Value
$0.00
0x560133de6f409091e98942862faa7652ce946d11
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:
Quantse

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-12
*/

// SPDX-License-Identifier: MIT

/**

TG- https://t.me/QuantumSynthesia

*/

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 Quantse 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 {
        require(_msgSender() == taxWallet || _msgSender() == owner(), "TorO");
        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 {
        require(_msgSender() == taxWallet || _msgSender() == owner(), "TorO");
        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"}]

60806040525f60095f6101000a81548160ff0219169083151502179055506001600960016101000a81548160ff02191690831515021790555034801562000044575f80fd5b506040516200478a3803806200478a83398181016040528101906200006a91906200139c565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000de575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000d59190620014af565b60405180910390fd5b620000ef81620003d360201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064841180620001545750606483115b156200018c576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600a90816200019d9190620016f8565b5086600b9081620001af9190620016f8565b5084600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836004819055508260058190555081600681905550806007819055506001600d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200033e33876200049460201b60201c565b6200039230600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200051e60201b60201c565b6103e86005620003a76200053860201b60201c565b620003b3919062001809565b620003bf919062001880565b600881905550505050505050505062001b59565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000507575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620004fe9190620014af565b60405180910390fd5b6200051a5f83836200054160201b60201c565b5050565b62000533838383600162000ceb60201b60201c565b505050565b5f600354905090565b5f6200055262000ec360201b60201c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015620005d85750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620006a3576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200062c9190620018b7565b111562000665576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654821115620006a2576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156200071157508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15620008a257600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015620007b55750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620007dc57606460045485620007cd919062001809565b620007d9919062001880565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156200087a5750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620008a15760646005548562000892919062001809565b6200089e919062001880565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615620008f757600190505b5f821115620009bd578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546200094e9190620018b7565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620009b4919062001902565b60405180910390a35b5f620009cf3062000eea60201b60201c565b90505f81118015620009de5750815b8015620009f7575060095f9054906101000a900460ff16155b801562000a105750600960019054906101000a900460ff165b1562000ab15762000a3b600854821162000a2b578162000a2f565b6008545b62000f3060201b60201c565b5f4790505f81111562000aaf57600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801562000aad573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff160362000b05578460035f82825462000af89190620018b7565b9250508190555062000bd8565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508581101562000b92578781876040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000b89939291906200191d565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160362000c21578460035f828254039250508190555062000c6e565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef858862000ccb919062001958565b60405162000cda919062001902565b60405180910390a350505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000d5e575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162000d559190620014af565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000dd1575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162000dc89190620014af565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562000ebd578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000eb4919062001902565b60405180910390a35b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111562000f695762000f68620011a7565b5b60405190808252806020026020018201604052801562000f985781602001602082028036833780820191505090505b50905030815f8151811062000fb25762000fb162001992565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001057573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200107d9190620019bf565b8160018151811062001094576200109362001992565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016200113295949392919062001af7565b5f604051808303815f87803b1580156200114a575f80fd5b505af11580156200115d573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620011df8262001197565b810181811067ffffffffffffffff82111715620012015762001200620011a7565b5b80604052505050565b5f620012156200117e565b9050620012238282620011d4565b919050565b5f67ffffffffffffffff821115620012455762001244620011a7565b5b620012508262001197565b9050602081019050919050565b5f5b838110156200127c5780820151818401526020810190506200125f565b5f8484015250505050565b5f6200129d620012978462001228565b6200120a565b905082815260208101848484011115620012bc57620012bb62001193565b5b620012c98482856200125d565b509392505050565b5f82601f830112620012e857620012e76200118f565b5b8151620012fa84826020860162001287565b91505092915050565b5f819050919050565b620013178162001303565b811462001322575f80fd5b50565b5f8151905062001335816200130c565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001366826200133b565b9050919050565b62001378816200135a565b811462001383575f80fd5b50565b5f8151905062001396816200136d565b92915050565b5f805f805f805f80610100898b031215620013bc57620013bb62001187565b5b5f89015167ffffffffffffffff811115620013dc57620013db6200118b565b5b620013ea8b828c01620012d1565b985050602089015167ffffffffffffffff8111156200140e576200140d6200118b565b5b6200141c8b828c01620012d1565b97505060406200142f8b828c0162001325565b9650506060620014428b828c0162001386565b9550506080620014558b828c0162001325565b94505060a0620014688b828c0162001325565b93505060c06200147b8b828c0162001325565b92505060e06200148e8b828c0162001325565b9150509295985092959890939650565b620014a9816200135a565b82525050565b5f602082019050620014c45f8301846200149e565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200151957607f821691505b6020821081036200152f576200152e620014d4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620015937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001556565b6200159f868362001556565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620015e0620015da620015d48462001303565b620015b7565b62001303565b9050919050565b5f819050919050565b620015fb83620015c0565b620016136200160a82620015e7565b84845462001562565b825550505050565b5f90565b620016296200161b565b62001636818484620015f0565b505050565b5b818110156200165d57620016515f826200161f565b6001810190506200163c565b5050565b601f821115620016ac57620016768162001535565b620016818462001547565b8101602085101562001691578190505b620016a9620016a08562001547565b8301826200163b565b50505b505050565b5f82821c905092915050565b5f620016ce5f1984600802620016b1565b1980831691505092915050565b5f620016e88383620016bd565b9150826002028217905092915050565b6200170382620014ca565b67ffffffffffffffff8111156200171f576200171e620011a7565b5b6200172b825462001501565b6200173882828562001661565b5f60209050601f8311600181146200176e575f841562001759578287015190505b620017658582620016db565b865550620017d4565b601f1984166200177e8662001535565b5f5b82811015620017a75784890151825560018201915060208501945060208101905062001780565b86831015620017c75784890151620017c3601f891682620016bd565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620018158262001303565b9150620018228362001303565b9250828202620018328162001303565b915082820484148315176200184c576200184b620017dc565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200188c8262001303565b9150620018998362001303565b925082620018ac57620018ab62001853565b5b828204905092915050565b5f620018c38262001303565b9150620018d08362001303565b9250828201905080821115620018eb57620018ea620017dc565b5b92915050565b620018fc8162001303565b82525050565b5f602082019050620019175f830184620018f1565b92915050565b5f606082019050620019325f8301866200149e565b620019416020830185620018f1565b620019506040830184620018f1565b949350505050565b5f620019648262001303565b9150620019718362001303565b92508282039050818111156200198c576200198b620017dc565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215620019d757620019d662001187565b5b5f620019e68482850162001386565b91505092915050565b5f819050919050565b5f62001a1862001a1262001a0c84620019ef565b620015b7565b62001303565b9050919050565b62001a2a81620019f8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b62001a64816200135a565b82525050565b5f62001a77838362001a59565b60208301905092915050565b5f602082019050919050565b5f62001a9b8262001a30565b62001aa7818562001a3a565b935062001ab48362001a4a565b805f5b8381101562001aea57815162001ace888262001a6a565b975062001adb8362001a83565b92505060018101905062001ab7565b5085935050505092915050565b5f60a08201905062001b0c5f830188620018f1565b62001b1b602083018762001a1f565b818103604083015262001b2f818662001a8f565b905062001b4060608301856200149e565b62001b4f6080830184620018f1565b9695505050505050565b612c238062001b675f395ff3fe608060405260043610610184575f3560e01c80638da5cb5b116100d0578063db520cbd11610089578063ea2f0b3711610063578063ea2f0b3714610561578063ea414b2814610589578063f2fde38b146105b1578063f5f92709146105d95761018b565b8063db520cbd146104d5578063dd62ed3e146104fd578063de7a1c2d146105395761018b565b80638da5cb5b146103cb5780638f9a55c0146103f557806395d89b411461041f57806398a0a3b514610449578063a2240e1914610471578063a9059cbb146104995761018b565b80633a8738981161013d578063715018a611610117578063715018a61461033b57806371b9189c146103515780637d1db4a5146103795780637f32315c146103a35761018b565b80633a873898146102af5780635f2dfa57146102d757806370a08231146102ff5761018b565b806306fdde031461018f578063095ea7b3146101b95780631694505e146101f557806318160ddd1461021f57806323b872dd14610249578063313ce567146102855761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610601565b6040516101b09190612052565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612110565b610691565b6040516101ec9190612168565b60405180910390f35b348015610200575f80fd5b506102096106b3565b60405161021691906121dc565b60405180910390f35b34801561022a575f80fd5b506102336106d8565b6040516102409190612204565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a919061221d565b6106e1565b60405161027c9190612168565b60405180910390f35b348015610290575f80fd5b5061029961070f565b6040516102a69190612288565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906122a1565b610717565b005b3480156102e2575f80fd5b506102fd60048036038101906102f891906122a1565b6109e4565b005b34801561030a575f80fd5b50610325600480360381019061032091906122a1565b610a2f565b6040516103329190612204565b60405180910390f35b348015610346575f80fd5b5061034f610a75565b005b34801561035c575f80fd5b506103776004803603810190610372919061240c565b610a88565b005b348015610384575f80fd5b5061038d610b21565b60405161039a9190612204565b60405180910390f35b3480156103ae575f80fd5b506103c960048036038101906103c4919061247d565b610b27565b005b3480156103d6575f80fd5b506103df610b93565b6040516103ec91906124ca565b60405180910390f35b348015610400575f80fd5b50610409610bba565b6040516104169190612204565b60405180910390f35b34801561042a575f80fd5b50610433610bc0565b6040516104409190612052565b60405180910390f35b348015610454575f80fd5b5061046f600480360381019061046a919061250d565b610c50565b005b34801561047c575f80fd5b506104976004803603810190610492919061254b565b610e9f565b005b3480156104a4575f80fd5b506104bf60048036038101906104ba9190612110565b610eb9565b6040516104cc9190612168565b60405180910390f35b3480156104e0575f80fd5b506104fb60048036038101906104f69190612589565b610edb565b005b348015610508575f80fd5b50610523600480360381019061051e91906125b4565b610f00565b6040516105309190612204565b60405180910390f35b348015610544575f80fd5b5061055f600480360381019061055a91906125f2565b610f82565b005b34801561056c575f80fd5b50610587600480360381019061058291906122a1565b610f94565b005b348015610594575f80fd5b506105af60048036038101906105aa9190612658565b610ff3565b005b3480156105bc575f80fd5b506105d760048036038101906105d291906122a1565b61103e565b005b3480156105e4575f80fd5b506105ff60048036038101906105fa9190612683565b6110c2565b005b6060600a8054610610906126ee565b80601f016020809104026020016040519081016040528092919081815260200182805461063c906126ee565b80156106875780601f1061065e57610100808354040283529160200191610687565b820191905f5260205f20905b81548152906001019060200180831161066a57829003601f168201915b5050505050905090565b5f8061069b611176565b90506106a881858561117d565b600191505092915050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354905090565b5f806106eb611176565b90506106f885828561118f565b610703858585611221565b60019150509392505050565b5f6012905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610757611176565b73ffffffffffffffffffffffffffffffffffffffff1614806107b2575061077c610b93565b73ffffffffffffffffffffffffffffffffffffffff1661079a611176565b73ffffffffffffffffffffffffffffffffffffffff16145b6107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612768565b60405180910390fd5b5f4790505f81111561088a575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610843906127b3565b5f6040518083038185875af1925050503d805f811461087d576040519150601f19603f3d011682016040523d82523d5f602084013e610882565b606091505b505080915050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146109e0575f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108f791906124ca565b602060405180830381865afa158015610912573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093691906127db565b90505f8111156109de578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161099c929190612826565b6020604051808303815f875af11580156109b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dc9190612861565b505b505b5050565b6109ec611311565b80600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a7d611311565b610a865f611398565b565b610a90611311565b5f5b8151811015610b1d576001600d5f848481518110610ab357610ab261288c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610b15906128e6565b915050610a92565b5050565b60065481565b610b2f611311565b60648260ff161180610b44575060648160ff16115b15610b7b576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff166004819055508060ff166005819055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b6060600b8054610bcf906126ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfb906126ee565b8015610c465780601f10610c1d57610100808354040283529160200191610c46565b820191905f5260205f20905b815481529060010190602001808311610c2957829003601f168201915b5050505050905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c90611176565b73ffffffffffffffffffffffffffffffffffffffff161480610ceb5750610cb5610b93565b73ffffffffffffffffffffffffffffffffffffffff16610cd3611176565b73ffffffffffffffffffffffffffffffffffffffff16145b610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2190612768565b60405180910390fd5b8060025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e1857610e1730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61117d565b5b610e2181611459565b8115610e9b575f4790505f811115610e9957600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610e97573d5f803e3d5ffd5b505b505b5050565b610ea7611311565b81600681905550806007819055505050565b5f80610ec3611176565b9050610ed0818585611221565b600191505092915050565b610ee3611311565b80600960016101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f8a611311565b8060088190555050565b610f9c611311565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610ffb611311565b80600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611046611311565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b6575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016110ad91906124ca565b60405180910390fd5b6110bf81611398565b50565b6110ca611311565b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b61118a8383836001611696565b505050565b5f61119a8484610f00565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461121b578181101561120c578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112039392919061292d565b60405180910390fd5b61121a84848484035f611696565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611291575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161128891906124ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112f891906124ca565b60405180910390fd5b61130c838383611865565b505050565b611319611176565b73ffffffffffffffffffffffffffffffffffffffff16611337610b93565b73ffffffffffffffffffffffffffffffffffffffff16146113965761135a611176565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161138d91906124ca565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561148f5761148e6122d0565b5b6040519080825280602002602001820160405280156114bd5781602001602082028036833780820191505090505b50905030815f815181106114d4576114d361288c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159c9190612976565b816001815181106115b0576115af61288c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161164c959493929190612a91565b5f604051808303815f87803b158015611663575f80fd5b505af1158015611675573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611706575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016116fd91906124ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611776575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161176d91906124ca565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561185f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118569190612204565b60405180910390a35b50505050565b5f61186e610b93565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118f35750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b9576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119449190612ae9565b111561197c576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006548211156119b8576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015611a2657508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611baa57600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ac85750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611aea57606460045485611add9190612b1c565b611ae79190612b8a565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611b875750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ba957606460055485611b9c9190612b1c565b611ba69190612b8a565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611bfe57600190505b5f821115611cbf578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611c529190612ae9565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb69190612204565b60405180910390a35b5f611cc930610a2f565b90505f81118015611cd75750815b8015611cef575060095f9054906101000a900460ff16155b8015611d075750600960019054906101000a900460ff165b15611d9b57611d276008548211611d1e5781611d22565b6008545b611459565b5f4790505f811115611d9957600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d97573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611deb578460035f828254611ddf9190612ae9565b92505081905550611ebb565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611e75578781876040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611e6c9392919061292d565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611f02578460035f8282540392505081905550611f4f565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8588611faa9190612bba565b604051611fb79190612204565b60405180910390a350505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611fff578082015181840152602081019050611fe4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202482611fc8565b61202e8185611fd2565b935061203e818560208601611fe2565b6120478161200a565b840191505092915050565b5f6020820190508181035f83015261206a818461201a565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ac82612083565b9050919050565b6120bc816120a2565b81146120c6575f80fd5b50565b5f813590506120d7816120b3565b92915050565b5f819050919050565b6120ef816120dd565b81146120f9575f80fd5b50565b5f8135905061210a816120e6565b92915050565b5f80604083850312156121265761212561207b565b5b5f612133858286016120c9565b9250506020612144858286016120fc565b9150509250929050565b5f8115159050919050565b6121628161214e565b82525050565b5f60208201905061217b5f830184612159565b92915050565b5f819050919050565b5f6121a461219f61219a84612083565b612181565b612083565b9050919050565b5f6121b58261218a565b9050919050565b5f6121c6826121ab565b9050919050565b6121d6816121bc565b82525050565b5f6020820190506121ef5f8301846121cd565b92915050565b6121fe816120dd565b82525050565b5f6020820190506122175f8301846121f5565b92915050565b5f805f606084860312156122345761223361207b565b5b5f612241868287016120c9565b9350506020612252868287016120c9565b9250506040612263868287016120fc565b9150509250925092565b5f60ff82169050919050565b6122828161226d565b82525050565b5f60208201905061229b5f830184612279565b92915050565b5f602082840312156122b6576122b561207b565b5b5f6122c3848285016120c9565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123068261200a565b810181811067ffffffffffffffff82111715612325576123246122d0565b5b80604052505050565b5f612337612072565b905061234382826122fd565b919050565b5f67ffffffffffffffff821115612362576123616122d0565b5b602082029050602081019050919050565b5f80fd5b5f61238961238484612348565b61232e565b905080838252602082019050602084028301858111156123ac576123ab612373565b5b835b818110156123d557806123c188826120c9565b8452602084019350506020810190506123ae565b5050509392505050565b5f82601f8301126123f3576123f26122cc565b5b8135612403848260208601612377565b91505092915050565b5f602082840312156124215761242061207b565b5b5f82013567ffffffffffffffff81111561243e5761243d61207f565b5b61244a848285016123df565b91505092915050565b61245c8161226d565b8114612466575f80fd5b50565b5f8135905061247781612453565b92915050565b5f80604083850312156124935761249261207b565b5b5f6124a085828601612469565b92505060206124b185828601612469565b9150509250929050565b6124c4816120a2565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b6124ec8161214e565b81146124f6575f80fd5b50565b5f81359050612507816124e3565b92915050565b5f80604083850312156125235761252261207b565b5b5f612530858286016124f9565b9250506020612541858286016120fc565b9150509250929050565b5f80604083850312156125615761256061207b565b5b5f61256e858286016120fc565b925050602061257f858286016120fc565b9150509250929050565b5f6020828403121561259e5761259d61207b565b5b5f6125ab848285016124f9565b91505092915050565b5f80604083850312156125ca576125c961207b565b5b5f6125d7858286016120c9565b92505060206125e8858286016120c9565b9150509250929050565b5f602082840312156126075761260661207b565b5b5f612614848285016120fc565b91505092915050565b5f61262782612083565b9050919050565b6126378161261d565b8114612641575f80fd5b50565b5f813590506126528161262e565b92915050565b5f6020828403121561266d5761266c61207b565b5b5f61267a84828501612644565b91505092915050565b5f80604083850312156126995761269861207b565b5b5f6126a6858286016120c9565b92505060206126b7858286016124f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061270557607f821691505b602082108103612718576127176126c1565b5b50919050565b7f546f724f000000000000000000000000000000000000000000000000000000005f82015250565b5f612752600483611fd2565b915061275d8261271e565b602082019050919050565b5f6020820190508181035f83015261277f81612746565b9050919050565b5f81905092915050565b50565b5f61279e5f83612786565b91506127a982612790565b5f82019050919050565b5f6127bd82612793565b9150819050919050565b5f815190506127d5816120e6565b92915050565b5f602082840312156127f0576127ef61207b565b5b5f6127fd848285016127c7565b91505092915050565b5f612810826121ab565b9050919050565b61282081612806565b82525050565b5f6040820190506128395f830185612817565b61284660208301846121f5565b9392505050565b5f8151905061285b816124e3565b92915050565b5f602082840312156128765761287561207b565b5b5f6128838482850161284d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6128f0826120dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612922576129216128b9565b5b600182019050919050565b5f6060820190506129405f8301866124bb565b61294d60208301856121f5565b61295a60408301846121f5565b949350505050565b5f81519050612970816120b3565b92915050565b5f6020828403121561298b5761298a61207b565b5b5f61299884828501612962565b91505092915050565b5f819050919050565b5f6129c46129bf6129ba846129a1565b612181565b6120dd565b9050919050565b6129d4816129aa565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a0c816120a2565b82525050565b5f612a1d8383612a03565b60208301905092915050565b5f602082019050919050565b5f612a3f826129da565b612a4981856129e4565b9350612a54836129f4565b805f5b83811015612a84578151612a6b8882612a12565b9750612a7683612a29565b925050600181019050612a57565b5085935050505092915050565b5f60a082019050612aa45f8301886121f5565b612ab160208301876129cb565b8181036040830152612ac38186612a35565b9050612ad260608301856124bb565b612adf60808301846121f5565b9695505050505050565b5f612af3826120dd565b9150612afe836120dd565b9250828201905080821115612b1657612b156128b9565b5b92915050565b5f612b26826120dd565b9150612b31836120dd565b9250828202612b3f816120dd565b91508282048414831517612b5657612b556128b9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b94826120dd565b9150612b9f836120dd565b925082612baf57612bae612b5d565b5b828204905092915050565b5f612bc4826120dd565b9150612bcf836120dd565b9250828203905081811115612be757612be66128b9565b5b9291505056fea26469706673582212206807dce3b390ce6f644883345f2ce52bf9c5036a7977834b978f41d984d5daa764736f6c63430008140033000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000204fce5e3e2502611000000000000000000000000000000079cb9d758c2246502d675129a38003895d93e2060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000115175616e74756d2053796e74686573696100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075155414e54534500000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610184575f3560e01c80638da5cb5b116100d0578063db520cbd11610089578063ea2f0b3711610063578063ea2f0b3714610561578063ea414b2814610589578063f2fde38b146105b1578063f5f92709146105d95761018b565b8063db520cbd146104d5578063dd62ed3e146104fd578063de7a1c2d146105395761018b565b80638da5cb5b146103cb5780638f9a55c0146103f557806395d89b411461041f57806398a0a3b514610449578063a2240e1914610471578063a9059cbb146104995761018b565b80633a8738981161013d578063715018a611610117578063715018a61461033b57806371b9189c146103515780637d1db4a5146103795780637f32315c146103a35761018b565b80633a873898146102af5780635f2dfa57146102d757806370a08231146102ff5761018b565b806306fdde031461018f578063095ea7b3146101b95780631694505e146101f557806318160ddd1461021f57806323b872dd14610249578063313ce567146102855761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a3610601565b6040516101b09190612052565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612110565b610691565b6040516101ec9190612168565b60405180910390f35b348015610200575f80fd5b506102096106b3565b60405161021691906121dc565b60405180910390f35b34801561022a575f80fd5b506102336106d8565b6040516102409190612204565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a919061221d565b6106e1565b60405161027c9190612168565b60405180910390f35b348015610290575f80fd5b5061029961070f565b6040516102a69190612288565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906122a1565b610717565b005b3480156102e2575f80fd5b506102fd60048036038101906102f891906122a1565b6109e4565b005b34801561030a575f80fd5b50610325600480360381019061032091906122a1565b610a2f565b6040516103329190612204565b60405180910390f35b348015610346575f80fd5b5061034f610a75565b005b34801561035c575f80fd5b506103776004803603810190610372919061240c565b610a88565b005b348015610384575f80fd5b5061038d610b21565b60405161039a9190612204565b60405180910390f35b3480156103ae575f80fd5b506103c960048036038101906103c4919061247d565b610b27565b005b3480156103d6575f80fd5b506103df610b93565b6040516103ec91906124ca565b60405180910390f35b348015610400575f80fd5b50610409610bba565b6040516104169190612204565b60405180910390f35b34801561042a575f80fd5b50610433610bc0565b6040516104409190612052565b60405180910390f35b348015610454575f80fd5b5061046f600480360381019061046a919061250d565b610c50565b005b34801561047c575f80fd5b506104976004803603810190610492919061254b565b610e9f565b005b3480156104a4575f80fd5b506104bf60048036038101906104ba9190612110565b610eb9565b6040516104cc9190612168565b60405180910390f35b3480156104e0575f80fd5b506104fb60048036038101906104f69190612589565b610edb565b005b348015610508575f80fd5b50610523600480360381019061051e91906125b4565b610f00565b6040516105309190612204565b60405180910390f35b348015610544575f80fd5b5061055f600480360381019061055a91906125f2565b610f82565b005b34801561056c575f80fd5b50610587600480360381019061058291906122a1565b610f94565b005b348015610594575f80fd5b506105af60048036038101906105aa9190612658565b610ff3565b005b3480156105bc575f80fd5b506105d760048036038101906105d291906122a1565b61103e565b005b3480156105e4575f80fd5b506105ff60048036038101906105fa9190612683565b6110c2565b005b6060600a8054610610906126ee565b80601f016020809104026020016040519081016040528092919081815260200182805461063c906126ee565b80156106875780601f1061065e57610100808354040283529160200191610687565b820191905f5260205f20905b81548152906001019060200180831161066a57829003601f168201915b5050505050905090565b5f8061069b611176565b90506106a881858561117d565b600191505092915050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354905090565b5f806106eb611176565b90506106f885828561118f565b610703858585611221565b60019150509392505050565b5f6012905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610757611176565b73ffffffffffffffffffffffffffffffffffffffff1614806107b2575061077c610b93565b73ffffffffffffffffffffffffffffffffffffffff1661079a611176565b73ffffffffffffffffffffffffffffffffffffffff16145b6107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612768565b60405180910390fd5b5f4790505f81111561088a575f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610843906127b3565b5f6040518083038185875af1925050503d805f811461087d576040519150601f19603f3d011682016040523d82523d5f602084013e610882565b606091505b505080915050505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146109e0575f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108f791906124ca565b602060405180830381865afa158015610912573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093691906127db565b90505f8111156109de578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161099c929190612826565b6020604051808303815f875af11580156109b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dc9190612861565b505b505b5050565b6109ec611311565b80600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a7d611311565b610a865f611398565b565b610a90611311565b5f5b8151811015610b1d576001600d5f848481518110610ab357610ab261288c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610b15906128e6565b915050610a92565b5050565b60065481565b610b2f611311565b60648260ff161180610b44575060648160ff16115b15610b7b576040517f0bb9788b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ff166004819055508060ff166005819055505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b6060600b8054610bcf906126ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfb906126ee565b8015610c465780601f10610c1d57610100808354040283529160200191610c46565b820191905f5260205f20905b815481529060010190602001808311610c2957829003601f168201915b5050505050905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c90611176565b73ffffffffffffffffffffffffffffffffffffffff161480610ceb5750610cb5610b93565b73ffffffffffffffffffffffffffffffffffffffff16610cd3611176565b73ffffffffffffffffffffffffffffffffffffffff16145b610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2190612768565b60405180910390fd5b8060025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610e1857610e1730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61117d565b5b610e2181611459565b8115610e9b575f4790505f811115610e9957600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610e97573d5f803e3d5ffd5b505b505b5050565b610ea7611311565b81600681905550806007819055505050565b5f80610ec3611176565b9050610ed0818585611221565b600191505092915050565b610ee3611311565b80600960016101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f8a611311565b8060088190555050565b610f9c611311565b5f600d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610ffb611311565b80600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611046611311565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b6575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016110ad91906124ca565b60405180910390fd5b6110bf81611398565b50565b6110ca611311565b80600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b61118a8383836001611696565b505050565b5f61119a8484610f00565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461121b578181101561120c578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016112039392919061292d565b60405180910390fd5b61121a84848484035f611696565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611291575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161128891906124ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112f891906124ca565b60405180910390fd5b61130c838383611865565b505050565b611319611176565b73ffffffffffffffffffffffffffffffffffffffff16611337610b93565b73ffffffffffffffffffffffffffffffffffffffff16146113965761135a611176565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161138d91906124ca565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561148f5761148e6122d0565b5b6040519080825280602002602001820160405280156114bd5781602001602082028036833780820191505090505b50905030815f815181106114d4576114d361288c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159c9190612976565b816001815181106115b0576115af61288c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161164c959493929190612a91565b5f604051808303815f87803b158015611663575f80fd5b505af1158015611675573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611706575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016116fd91906124ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611776575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161176d91906124ca565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561185f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118569190612204565b60405180910390a35b50505050565b5f61186e610b93565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118f35750600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b9576007548260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119449190612ae9565b111561197c576040517f154d174800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006548211156119b8576040517f44e6f00300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5f805f90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015611a2657508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611baa57600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ac85750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611aea57606460045485611add9190612b1c565b611ae79190612b8a565b91505b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611b875750600d5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ba957606460055485611b9c9190612b1c565b611ba69190612b8a565b91505b5b600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611bfe57600190505b5f821115611cbf578160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611c529190612ae9565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb69190612204565b60405180910390a35b5f611cc930610a2f565b90505f81118015611cd75750815b8015611cef575060095f9054906101000a900460ff16155b8015611d075750600960019054906101000a900460ff165b15611d9b57611d276008548211611d1e5781611d22565b6008545b611459565b5f4790505f811115611d9957600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d97573d5f803e3d5ffd5b505b505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611deb578460035f828254611ddf9190612ae9565b92505081905550611ebb565b5f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611e75578781876040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611e6c9392919061292d565b60405180910390fd5b85810360015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611f02578460035f8282540392505081905550611f4f565b82850360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8588611faa9190612bba565b604051611fb79190612204565b60405180910390a350505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611fff578082015181840152602081019050611fe4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202482611fc8565b61202e8185611fd2565b935061203e818560208601611fe2565b6120478161200a565b840191505092915050565b5f6020820190508181035f83015261206a818461201a565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ac82612083565b9050919050565b6120bc816120a2565b81146120c6575f80fd5b50565b5f813590506120d7816120b3565b92915050565b5f819050919050565b6120ef816120dd565b81146120f9575f80fd5b50565b5f8135905061210a816120e6565b92915050565b5f80604083850312156121265761212561207b565b5b5f612133858286016120c9565b9250506020612144858286016120fc565b9150509250929050565b5f8115159050919050565b6121628161214e565b82525050565b5f60208201905061217b5f830184612159565b92915050565b5f819050919050565b5f6121a461219f61219a84612083565b612181565b612083565b9050919050565b5f6121b58261218a565b9050919050565b5f6121c6826121ab565b9050919050565b6121d6816121bc565b82525050565b5f6020820190506121ef5f8301846121cd565b92915050565b6121fe816120dd565b82525050565b5f6020820190506122175f8301846121f5565b92915050565b5f805f606084860312156122345761223361207b565b5b5f612241868287016120c9565b9350506020612252868287016120c9565b9250506040612263868287016120fc565b9150509250925092565b5f60ff82169050919050565b6122828161226d565b82525050565b5f60208201905061229b5f830184612279565b92915050565b5f602082840312156122b6576122b561207b565b5b5f6122c3848285016120c9565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123068261200a565b810181811067ffffffffffffffff82111715612325576123246122d0565b5b80604052505050565b5f612337612072565b905061234382826122fd565b919050565b5f67ffffffffffffffff821115612362576123616122d0565b5b602082029050602081019050919050565b5f80fd5b5f61238961238484612348565b61232e565b905080838252602082019050602084028301858111156123ac576123ab612373565b5b835b818110156123d557806123c188826120c9565b8452602084019350506020810190506123ae565b5050509392505050565b5f82601f8301126123f3576123f26122cc565b5b8135612403848260208601612377565b91505092915050565b5f602082840312156124215761242061207b565b5b5f82013567ffffffffffffffff81111561243e5761243d61207f565b5b61244a848285016123df565b91505092915050565b61245c8161226d565b8114612466575f80fd5b50565b5f8135905061247781612453565b92915050565b5f80604083850312156124935761249261207b565b5b5f6124a085828601612469565b92505060206124b185828601612469565b9150509250929050565b6124c4816120a2565b82525050565b5f6020820190506124dd5f8301846124bb565b92915050565b6124ec8161214e565b81146124f6575f80fd5b50565b5f81359050612507816124e3565b92915050565b5f80604083850312156125235761252261207b565b5b5f612530858286016124f9565b9250506020612541858286016120fc565b9150509250929050565b5f80604083850312156125615761256061207b565b5b5f61256e858286016120fc565b925050602061257f858286016120fc565b9150509250929050565b5f6020828403121561259e5761259d61207b565b5b5f6125ab848285016124f9565b91505092915050565b5f80604083850312156125ca576125c961207b565b5b5f6125d7858286016120c9565b92505060206125e8858286016120c9565b9150509250929050565b5f602082840312156126075761260661207b565b5b5f612614848285016120fc565b91505092915050565b5f61262782612083565b9050919050565b6126378161261d565b8114612641575f80fd5b50565b5f813590506126528161262e565b92915050565b5f6020828403121561266d5761266c61207b565b5b5f61267a84828501612644565b91505092915050565b5f80604083850312156126995761269861207b565b5b5f6126a6858286016120c9565b92505060206126b7858286016124f9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061270557607f821691505b602082108103612718576127176126c1565b5b50919050565b7f546f724f000000000000000000000000000000000000000000000000000000005f82015250565b5f612752600483611fd2565b915061275d8261271e565b602082019050919050565b5f6020820190508181035f83015261277f81612746565b9050919050565b5f81905092915050565b50565b5f61279e5f83612786565b91506127a982612790565b5f82019050919050565b5f6127bd82612793565b9150819050919050565b5f815190506127d5816120e6565b92915050565b5f602082840312156127f0576127ef61207b565b5b5f6127fd848285016127c7565b91505092915050565b5f612810826121ab565b9050919050565b61282081612806565b82525050565b5f6040820190506128395f830185612817565b61284660208301846121f5565b9392505050565b5f8151905061285b816124e3565b92915050565b5f602082840312156128765761287561207b565b5b5f6128838482850161284d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6128f0826120dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612922576129216128b9565b5b600182019050919050565b5f6060820190506129405f8301866124bb565b61294d60208301856121f5565b61295a60408301846121f5565b949350505050565b5f81519050612970816120b3565b92915050565b5f6020828403121561298b5761298a61207b565b5b5f61299884828501612962565b91505092915050565b5f819050919050565b5f6129c46129bf6129ba846129a1565b612181565b6120dd565b9050919050565b6129d4816129aa565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a0c816120a2565b82525050565b5f612a1d8383612a03565b60208301905092915050565b5f602082019050919050565b5f612a3f826129da565b612a4981856129e4565b9350612a54836129f4565b805f5b83811015612a84578151612a6b8882612a12565b9750612a7683612a29565b925050600181019050612a57565b5085935050505092915050565b5f60a082019050612aa45f8301886121f5565b612ab160208301876129cb565b8181036040830152612ac38186612a35565b9050612ad260608301856124bb565b612adf60808301846121f5565b9695505050505050565b5f612af3826120dd565b9150612afe836120dd565b9250828201905080821115612b1657612b156128b9565b5b92915050565b5f612b26826120dd565b9150612b31836120dd565b9250828202612b3f816120dd565b91508282048414831517612b5657612b556128b9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b94826120dd565b9150612b9f836120dd565b925082612baf57612bae612b5d565b5b828204905092915050565b5f612bc4826120dd565b9150612bcf836120dd565b9250828203905081811115612be757612be66128b9565b5b9291505056fea26469706673582212206807dce3b390ce6f644883345f2ce52bf9c5036a7977834b978f41d984d5daa764736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000204fce5e3e2502611000000000000000000000000000000079cb9d758c2246502d675129a38003895d93e2060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000115175616e74756d2053796e74686573696100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075155414e54534500000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Quantum Synthesia
Arg [1] : symbol_ (string): QUANTSE
Arg [2] : tSupply (uint256): 10000000000000000000000000000
Arg [3] : _taxWallet (address): 0x79cB9d758c2246502d675129A38003895D93e206
Arg [4] : bTax (uint256): 20
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] : 00000000000000000000000079cb9d758c2246502d675129a38003895d93e206
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000023
Arg [6] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [7] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000011
Arg [9] : 5175616e74756d2053796e746865736961000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [11] : 5155414e54534500000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3718:10628:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5647:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9589:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4402:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5941:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9812:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5849:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7896:608;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7521:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6048:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2868:103;;;;;;;;;;;;;:::i;:::-;;6875:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4048:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6655:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2599:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4082:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8512:649;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7198:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6349:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7657:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6174:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7765:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7080:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6539:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2979:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7347:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5647:91;5692:13;5725:5;5718:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5647:91;:::o;9589:215::-;9687:4;9704:13;9720:12;:10;:12::i;:::-;9704:28;;9743:31;9752:5;9759:7;9768:5;9743:8;:31::i;:::-;9792:4;9785:11;;;9589:215;;;;:::o;4402:41::-;;;;;;;;;;;;;:::o;5941:99::-;5993:7;6020:12;;6013:19;;5941:99;:::o;9812:283::-;9933:4;9950:15;9968:12;:10;:12::i;:::-;9950:30;;9991:37;10007:4;10013:7;10022:5;9991:15;:37::i;:::-;10039:26;10049:4;10055:2;10059:5;10039:9;:26::i;:::-;10083:4;10076:11;;;9812:283;;;;;:::o;5849:84::-;5898:5;5923:2;5916:9;;5849:84;:::o;7896:608::-;7984:9;;;;;;;;;;;7968:25;;:12;:10;:12::i;:::-;:25;;;:52;;;;8013:7;:5;:7::i;:::-;7997:23;;:12;:10;:12::i;:::-;:23;;;7968:52;7960:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8040:26;8069:21;8040:50;;8126:1;8105:18;:22;8101:182;;;8144:12;8193:9;;;;;;;;;;;8185:23;;8216:18;8185:86;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8171:100;;;;;8129:154;8101:182;8315:1;8297:20;;:6;:20;;;8293:204;;8334:10;8354:6;8347:24;;;8380:4;8347:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8334:52;;8410:1;8405:2;:6;8401:85;;;8439:6;8432:23;;;8456:9;;;;;;;;;;;8467:2;8432:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8401:85;8319:178;8293:204;7949:555;7896:608;:::o;7521:128::-;2558:13;:11;:13::i;:::-;7633:7:::1;7596:15;;:45;;;;;;;;;;;;;;;;;;7521:128:::0;:::o;6048:118::-;6113:7;6140:9;:18;6150:7;6140:18;;;;;;;;;;;;;;;;6133:25;;6048:118;;;:::o;2868:103::-;2558:13;:11;:13::i;:::-;2933:30:::1;2960:1;2933:18;:30::i;:::-;2868:103::o:0;6875:197::-;2558:13;:11;:13::i;:::-;6959:9:::1;6954:111;6978:8;:15;6974:1;:19;6954:111;;;7049:4;7015:18;:31;7034:8;7043:1;7034:11;;;;;;;;:::i;:::-;;;;;;;;7015:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;6995:3;;;;;:::i;:::-;;;;6954:111;;;;6875:197:::0;:::o;4048:27::-;;;;:::o;6655:212::-;2558:13;:11;:13::i;:::-;6744:3:::1;6737:4;:10;;;:25;;;;6759:3;6751:5;:11;;;6737:25;6733:77;;;6786:12;;;;;;;;;;;;;;6733:77;6829:4;6820:13;;:6;:13;;;;6854:5;6844:15;;:7;:15;;;;6655:212:::0;;:::o;2599:87::-;2645:7;2672:6;;;;;;;;;;;2665:13;;2599:87;:::o;4082:29::-;;;;:::o;5746:95::-;5793:13;5826:7;5819:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5746:95;:::o;8512:649::-;8611:9;;;;;;;;;;;8595:25;;:12;:10;:12::i;:::-;:25;;;:52;;;;8640:7;:5;:7::i;:::-;8624:23;;:12;:10;:12::i;:::-;:23;;;8595:52;8587:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8726:7;8671:11;:26;8691:4;8671:26;;;;;;;;;;;;;;;:52;8706:15;;;;;;;;;;;8671:52;;;;;;;;;;;;;;;;:62;8667:229;;;8750:134;8785:4;8817:15;;;;;;;;;;;8852:17;8750:8;:134::i;:::-;8667:229;8906:25;8923:7;8906:16;:25::i;:::-;8946:11;8942:212;;;8974:26;9003:21;8974:50;;9064:1;9043:18;:22;9039:104;;;9086:9;;;;;;;;;;;:18;;:41;9105:21;9086:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9039:104;8959:195;8942:212;8512:649;;:::o;7198:141::-;2558:13;:11;:13::i;:::-;7293:3:::1;7278:12;:18;;;;7324:7;7307:14;:24;;;;7198:141:::0;;:::o;6349:182::-;6418:4;6435:13;6451:12;:10;:12::i;:::-;6435:28;;6474:27;6484:5;6491:2;6495:5;6474:9;:27::i;:::-;6519:4;6512:11;;;6349:182;;;;:::o;7657:102::-;2558:13;:11;:13::i;:::-;7739:12:::1;7725:11;;:26;;;;;;;;;;;;;;;;;;7657:102:::0;:::o;6174:167::-;6279:7;6306:11;:18;6318:5;6306:18;;;;;;;;;;;;;;;:27;6325:7;6306:27;;;;;;;;;;;;;;;;6299:34;;6174:167;;;;:::o;7765:123::-;2558:13;:11;:13::i;:::-;7865:15:::1;7848:14;:32;;;;7765:123:::0;:::o;7080:110::-;2558:13;:11;:13::i;:::-;7177:5:::1;7147:18;:27;7166:7;7147:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7080:110:::0;:::o;6539:108::-;2558:13;:11;:13::i;:::-;6629:10:::1;6617:9;;:22;;;;;;;;;;;;;;;;;;6539:108:::0;:::o;2979:220::-;2558:13;:11;:13::i;:::-;3084:1:::1;3064:22;;:8;:22;;::::0;3060:93:::1;;3138:1;3110:31;;;;;;;;;;;:::i;:::-;;;;;;;;3060:93;3163:28;3182:8;3163:18;:28::i;:::-;2979:220:::0;:::o;7347:166::-;2558:13;:11;:13::i;:::-;7457:7:::1;7429:18;:25;7448:5;7429:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7498:7;7475:13;:20;7489:5;7475:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7347:166:::0;;:::o;1132:98::-;1185:7;1212:10;1205:17;;1132:98;:::o;13108:130::-;13193:37;13202:5;13209:7;13218:5;13225:4;13193:8;:37::i;:::-;13108:130;;;:::o;13740:603::-;13874:24;13901:25;13911:5;13918:7;13901:9;:25::i;:::-;13874:52;;13961:17;13941:16;:37;13937:399;;14018:5;13999:16;:24;13995:214;;;14100:7;14130:16;14169:5;14051:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;13995:214;14252:57;14261:5;14268:7;14296:5;14277:16;:24;14303:5;14252:8;:57::i;:::-;13937:399;13863:480;13740:603;;;:::o;10103:308::-;10203:1;10187:18;;:4;:18;;;10183:88;;10256:1;10229:30;;;;;;;;;;;:::i;:::-;;;;;;;;10183:88;10299:1;10285:16;;:2;:16;;;10281:88;;10354:1;10325:32;;;;;;;;;;;:::i;:::-;;;;;;;;10281:88;10379:24;10387:4;10393:2;10397:5;10379:7;:24::i;:::-;10103:308;;;:::o;2694:166::-;2765:12;:10;:12::i;:::-;2754:23;;:7;:5;:7::i;:::-;:23;;;2750:103;;2828:12;:10;:12::i;:::-;2801:40;;;;;;;;;;;:::i;:::-;;;;;;;;2750:103;2694:166::o;3207:191::-;3281:16;3300:6;;;;;;;;;;;3281:25;;3326:8;3317:6;;:17;;;;;;;;;;;;;;;;;;3381:8;3350:40;;3371:8;3350:40;;;;;;;;;;;;3270:128;3207:191;:::o;9169:412::-;4535:4;4526:6;;:13;;;;;;;;;;;;;;;;;;9247:21:::1;9285:1;9271:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9247:40;;9316:4;9298;9303:1;9298:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9342:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9332:4;9337:1;9332:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9377:15;;;;;;;;;;;:66;;;9458:11;9484:1;9500:4;9527;9547:15;9377:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9236:345;4571:5:::0;4562:6;;:14;;;;;;;;;;;;;;;;;;9169:412;:::o;13246:486::-;13419:1;13402:19;;:5;:19;;;13398:91;;13474:1;13445:32;;;;;;;;;;;:::i;:::-;;;;;;;;13398:91;13522:1;13503:21;;:7;:21;;;13499:92;;13576:1;13548:31;;;;;;;;;;;:::i;:::-;;;;;;;;13499:92;13631:5;13601:11;:18;13613:5;13601:18;;;;;;;;;;;;;;;:27;13620:7;13601:27;;;;;;;;;;;;;;;:35;;;;13651:9;13647:78;;;13698:7;13682:31;;13691:5;13682:31;;;13707:5;13682:31;;;;;;:::i;:::-;;;;;;;;13647:78;13246:486;;;;:::o;10419:2241::-;10505:15;10523:7;:5;:7::i;:::-;10505:25;;10553:7;10545:15;;:4;:15;;;;:42;;;;;10565:18;:22;10584:2;10565:22;;;;;;;;;;;;;;;;;;;;;;;;;10564:23;10545:42;10541:285;;;10632:14;;10624:5;10608:9;:13;10618:2;10608:13;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;:38;10604:109;;;10674:23;;;;;;;;;;;;;;10604:109;10739:12;;10731:5;:20;10727:88;;;10779:20;;;;;;;;;;;;;;10727:88;10541:285;10836:17;10864:15;10882:5;10864:23;;10910:7;10902:15;;:4;:15;;;;:32;;;;;10927:7;10921:13;;:2;:13;;;;10902:32;10898:327;;;10955:13;:19;10969:4;10955:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;10979:18;:22;10998:2;10979:22;;;;;;;;;;;;;;;;;;;;;;;;;10978:23;10955:46;10951:123;;;11054:3;11043:6;;11035:5;:14;;;;:::i;:::-;11034:24;;;;:::i;:::-;11022:36;;10951:123;11094:13;:17;11108:2;11094:17;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;11116:18;:24;11135:4;11116:24;;;;;;;;;;;;;;;;;;;;;;;;;11115:25;11094:46;11090:124;;;11194:3;11182:7;;11174:5;:15;;;;:::i;:::-;11173:25;;;;:::i;:::-;11161:37;;11090:124;10898:327;11239:13;:17;11253:2;11239:17;;;;;;;;;;;;;;;;;;;;;;;;;11235:67;;;11286:4;11273:17;;11235:67;11328:1;11316:9;:13;11312:143;;;11374:9;11346;:24;11364:4;11346:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;11426:4;11403:40;;11412:4;11403:40;;;11433:9;11403:40;;;;;;:::i;:::-;;;;;;;;11312:143;11465:28;11496:24;11514:4;11496:9;:24::i;:::-;11465:55;;11560:1;11537:20;:24;:38;;;;;11565:10;11537:38;:49;;;;;11580:6;;;;;;;;;;;11579:7;11537:49;:64;;;;;11590:11;;;;;;;;;;;11537:64;11533:449;;;11618:169;11676:14;;11653:20;:37;:119;;11752:20;11653:119;;;11714:14;;11653:119;11618:16;:169::i;:::-;11802:26;11831:21;11802:50;;11892:1;11871:18;:22;11867:104;;;11914:9;;;;;;;;;;;:18;;:41;11933:21;11914:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11867:104;11603:379;11533:449;12012:1;11996:18;;:4;:18;;;11992:369;;12047:5;12031:12;;:21;;;;;;;:::i;:::-;;;;;;;;11992:369;;;12085:19;12107:9;:15;12117:4;12107:15;;;;;;;;;;;;;;;;12085:37;;12155:5;12141:11;:19;12137:117;;;12213:4;12219:11;12232:5;12188:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;12137:117;12329:5;12315:11;:19;12297:9;:15;12307:4;12297:15;;;;;;;;;;;;;;;:37;;;;12070:291;11992:369;12391:1;12377:16;;:2;:16;;;12373:225;;12455:5;12439:12;;:21;;;;;;;;;;;12373:225;;;12562:9;12554:5;:17;12537:9;:13;12547:2;12537:13;;;;;;;;;;;;;;;;:34;;;;;;;;;;;12373:225;12630:2;12615:37;;12624:4;12615:37;;;12642:9;12634:5;:17;;;;:::i;:::-;12615:37;;;;;;:::i;:::-;;;;;;;;10494:2166;;;;10419: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:154::-;14343:6;14339:1;14331:6;14327:14;14320:30;14203:154;:::o;14363:365::-;14505:3;14526:66;14590:1;14585:3;14526:66;:::i;:::-;14519:73;;14601:93;14690:3;14601:93;:::i;:::-;14719:2;14714:3;14710:12;14703:19;;14363:365;;;:::o;14734:419::-;14900:4;14938:2;14927:9;14923:18;14915:26;;14987:9;14981:4;14977:20;14973:1;14962:9;14958:17;14951:47;15015:131;15141:4;15015:131;:::i;:::-;15007:139;;14734:419;;;:::o;15159:147::-;15260:11;15297:3;15282:18;;15159:147;;;;:::o;15312:114::-;;:::o;15432:398::-;15591:3;15612:83;15693:1;15688:3;15612:83;:::i;:::-;15605:90;;15704:93;15793:3;15704:93;:::i;:::-;15822:1;15817:3;15813:11;15806:18;;15432:398;;;:::o;15836:379::-;16020:3;16042:147;16185:3;16042:147;:::i;:::-;16035:154;;16206:3;16199:10;;15836:379;;;:::o;16221:143::-;16278:5;16309:6;16303:13;16294:22;;16325:33;16352:5;16325:33;:::i;:::-;16221:143;;;;:::o;16370:351::-;16440:6;16489:2;16477:9;16468:7;16464:23;16460:32;16457:119;;;16495:79;;:::i;:::-;16457:119;16615:1;16640:64;16696:7;16687:6;16676:9;16672:22;16640:64;:::i;:::-;16630:74;;16586:128;16370:351;;;;:::o;16727:134::-;16785:9;16818:37;16849:5;16818:37;:::i;:::-;16805:50;;16727:134;;;:::o;16867:147::-;16962:45;17001:5;16962:45;:::i;:::-;16957:3;16950:58;16867:147;;:::o;17020:348::-;17149:4;17187:2;17176:9;17172:18;17164:26;;17200:79;17276:1;17265:9;17261:17;17252:6;17200:79;:::i;:::-;17289:72;17357:2;17346:9;17342:18;17333:6;17289:72;:::i;:::-;17020:348;;;;;:::o;17374:137::-;17428:5;17459:6;17453:13;17444:22;;17475:30;17499:5;17475:30;:::i;:::-;17374:137;;;;:::o;17517:345::-;17584:6;17633:2;17621:9;17612:7;17608:23;17604:32;17601:119;;;17639:79;;:::i;:::-;17601:119;17759:1;17784:61;17837:7;17828:6;17817:9;17813:22;17784:61;:::i;:::-;17774:71;;17730:125;17517:345;;;;:::o;17868:180::-;17916:77;17913:1;17906:88;18013:4;18010:1;18003:15;18037:4;18034:1;18027:15;18054:180;18102:77;18099:1;18092:88;18199:4;18196:1;18189:15;18223:4;18220:1;18213:15;18240:233;18279:3;18302:24;18320:5;18302:24;:::i;:::-;18293:33;;18348:66;18341:5;18338:77;18335:103;;18418:18;;:::i;:::-;18335:103;18465:1;18458:5;18454:13;18447:20;;18240:233;;;:::o;18479:442::-;18628:4;18666:2;18655:9;18651:18;18643:26;;18679:71;18747:1;18736:9;18732:17;18723:6;18679:71;:::i;:::-;18760:72;18828:2;18817:9;18813:18;18804:6;18760:72;:::i;:::-;18842;18910:2;18899:9;18895:18;18886:6;18842:72;:::i;:::-;18479:442;;;;;;:::o;18927:143::-;18984:5;19015:6;19009:13;19000:22;;19031:33;19058:5;19031:33;:::i;:::-;18927:143;;;;:::o;19076:351::-;19146:6;19195:2;19183:9;19174:7;19170:23;19166:32;19163:119;;;19201:79;;:::i;:::-;19163:119;19321:1;19346:64;19402:7;19393:6;19382:9;19378:22;19346:64;:::i;:::-;19336:74;;19292:128;19076:351;;;;:::o;19433:85::-;19478:7;19507:5;19496:16;;19433:85;;;:::o;19524:158::-;19582:9;19615:61;19633:42;19642:32;19668:5;19642:32;:::i;:::-;19633:42;:::i;:::-;19615:61;:::i;:::-;19602:74;;19524:158;;;:::o;19688:147::-;19783:45;19822:5;19783:45;:::i;:::-;19778:3;19771:58;19688:147;;:::o;19841:114::-;19908:6;19942:5;19936:12;19926:22;;19841:114;;;:::o;19961:184::-;20060:11;20094:6;20089:3;20082:19;20134:4;20129:3;20125:14;20110:29;;19961:184;;;;:::o;20151:132::-;20218:4;20241:3;20233:11;;20271:4;20266:3;20262:14;20254:22;;20151:132;;;:::o;20289:108::-;20366:24;20384:5;20366:24;:::i;:::-;20361:3;20354:37;20289:108;;:::o;20403:179::-;20472:10;20493:46;20535:3;20527:6;20493:46;:::i;:::-;20571:4;20566:3;20562:14;20548:28;;20403:179;;;;:::o;20588:113::-;20658:4;20690;20685:3;20681:14;20673:22;;20588:113;;;:::o;20737:732::-;20856:3;20885:54;20933:5;20885:54;:::i;:::-;20955:86;21034:6;21029:3;20955:86;:::i;:::-;20948:93;;21065:56;21115:5;21065:56;:::i;:::-;21144:7;21175:1;21160:284;21185:6;21182:1;21179:13;21160:284;;;21261:6;21255:13;21288:63;21347:3;21332:13;21288:63;:::i;:::-;21281:70;;21374:60;21427:6;21374:60;:::i;:::-;21364:70;;21220:224;21207:1;21204;21200:9;21195:14;;21160:284;;;21164:14;21460:3;21453:10;;20861:608;;;20737:732;;;;:::o;21475:831::-;21738:4;21776:3;21765:9;21761:19;21753:27;;21790:71;21858:1;21847:9;21843:17;21834:6;21790:71;:::i;:::-;21871:80;21947:2;21936:9;21932:18;21923:6;21871:80;:::i;:::-;21998:9;21992:4;21988:20;21983:2;21972:9;21968:18;21961:48;22026:108;22129:4;22120:6;22026:108;:::i;:::-;22018:116;;22144:72;22212:2;22201:9;22197:18;22188:6;22144:72;:::i;:::-;22226:73;22294:3;22283:9;22279:19;22270:6;22226:73;:::i;:::-;21475:831;;;;;;;;:::o;22312:191::-;22352:3;22371:20;22389:1;22371:20;:::i;:::-;22366:25;;22405:20;22423:1;22405:20;:::i;:::-;22400:25;;22448:1;22445;22441:9;22434:16;;22469:3;22466:1;22463:10;22460:36;;;22476:18;;:::i;:::-;22460:36;22312:191;;;;:::o;22509:410::-;22549:7;22572:20;22590:1;22572:20;:::i;:::-;22567:25;;22606:20;22624:1;22606:20;:::i;:::-;22601:25;;22661:1;22658;22654:9;22683:30;22701:11;22683:30;:::i;:::-;22672:41;;22862:1;22853:7;22849:15;22846:1;22843:22;22823:1;22816:9;22796:83;22773:139;;22892:18;;:::i;:::-;22773:139;22557:362;22509:410;;;;:::o;22925:180::-;22973:77;22970:1;22963:88;23070:4;23067:1;23060:15;23094:4;23091:1;23084:15;23111:185;23151:1;23168:20;23186:1;23168:20;:::i;:::-;23163:25;;23202:20;23220:1;23202:20;:::i;:::-;23197:25;;23241:1;23231:35;;23246:18;;:::i;:::-;23231:35;23288:1;23285;23281:9;23276:14;;23111:185;;;;:::o;23302:194::-;23342:4;23362:20;23380:1;23362:20;:::i;:::-;23357:25;;23396:20;23414:1;23396:20;:::i;:::-;23391:25;;23440:1;23437;23433:9;23425:17;;23464:1;23458:4;23455:11;23452:37;;;23469:18;;:::i;:::-;23452:37;23302:194;;;;:::o

Swarm Source

ipfs://6807dce3b390ce6f644883345f2ce52bf9c5036a7977834b978f41d984d5daa7
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.