ETH Price: $3,293.68 (-1.82%)

Token

0xMusic (0xM)
 

Overview

Max Total Supply

10,000,000 0xM

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
MetaMask: Swaps Spender
Balance
0.000000000000000001 0xM

Value
$0.00
0x74de5d4FCbf63E00296fd95d33236B9794016631
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:
OxMusic

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-15
*/

/**
    _______            _____               .__        
\   _  \ ___  ___ /     \  __ __  _____|__| ____  
/  /_\  \\  \/  //  \ /  \|  |  \/  ___/  |/ ___\ 
\  \_/   \>    </    Y    \  |  /\___ \|  \  \___ 
 \_____  /__/\_ \____|__  /____//____  >__|\___  >
       \/      \/       \/           \/        \/ 
                                                  

        TG: https://t.me/music0x_eth
        X: https://twitter.com/0xMusic_eth
        WEB: https://music0x.com
        YOUTUBE: https://www.youtube.com/@0xMusic_eth
**/



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;


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 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) 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;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }


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

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

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

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

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


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

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

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

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


    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }


    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

  
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

 
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

   
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}



abstract contract Ownable is Context {
    address private _owner;

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


    constructor() {
        _transferOwnership(_msgSender());
    }

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

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


    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

   
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address UNISWAP_V2_PAIR);
}

contract OxMusic is IERC20, Ownable {
    event Reflect(uint256 amountReflected, uint256 newTotalProportion);


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

    IUniswapV2Router02 public constant UNISWAP_V2_ROUTER =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable UNISWAP_V2_PAIR;

    struct Fee {
        uint8 reflection;
        uint8 dev;
        uint128 total;
    }

    string _name = "0xMusic";
    string _symbol = "0xM"; 

    uint256 _totalSupply = 10000000 * 10 ** 18;
    address private marketingWallet;

    uint256 public _maxTxAmount = (_totalSupply * 2) / 100;
    uint256 public _maxWalletSize =  (_totalSupply * 2) / 100; 
    mapping(address => uint256) public _rOwned;
    uint256 public _totalProportion = _totalSupply;

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

    bool public limitsEnabled = true;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    Fee public initialBuyFee = Fee({ reflection: 0, dev: 33, total: 33});
    Fee public initialSellFee = Fee({ reflection: 0, dev: 33, total: 33});
    Fee public finalBuyFee = Fee({ reflection: 1, dev: 4, total: 5});
    Fee public finalSellFee =  Fee({ reflection: 1, dev: 4, total: 5});
    Fee public buyFee;
    Fee public sellFee;
    address private devWallet;

    bool public claimingFees = true;
    uint256 public swapThreshold = (_totalSupply * 5) / 10000; // 0.05%
    uint256 public customMultiplier = 20;
    bool inSwap;

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


    constructor(address _devWallet, address _marketingWallet) {
        buyFee = initialBuyFee;
        sellFee = initialSellFee;
        address _uniswapPair =
            IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH());
        UNISWAP_V2_PAIR = _uniswapPair;
      
        _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max;
        _allowances[address(this)][tx.origin] = type(uint256).max;

        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(UNISWAP_V2_ROUTER)] = true;
        isTxLimitExempt[_uniswapPair] = true;
        isTxLimitExempt[tx.origin] = true;
        isFeeExempt[tx.origin] = true;
        isFeeExempt[address(this)] = true;
        marketingWallet = _marketingWallet;

        isFeeExempt[marketingWallet] = true;
        isTxLimitExempt[marketingWallet] = true;

        devWallet = _devWallet;
    uint256 marketingWalletSupply = _totalSupply / 3; // 3% of total supply
    _rOwned[marketingWallet] = marketingWalletSupply;

    // Allocate the remaining supply to the tx.origin
    _rOwned[tx.origin] = _totalSupply - marketingWalletSupply;

    // Emit transfer events
    emit Transfer(address(0), marketingWallet, marketingWalletSupply);
    emit Transfer(address(0), tx.origin, _rOwned[tx.origin]);
}

    receive() external payable {}

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
    function setFees(uint8 buyReflection, uint8 buyDev, uint8 sellReflection, uint8 sellDev) public onlyOwner {
        buyFee = Fee({reflection: buyReflection, dev: buyDev, total: uint128(buyReflection) + uint128(buyDev)});
        sellFee = Fee({reflection: sellReflection, dev: sellDev, total: uint128(sellReflection) + uint128(sellDev)});
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            require(_allowances[sender][msg.sender] >= amount, "ERC20: insufficient allowance");
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }


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

    function decimals() external pure returns (uint8) {
        return 18;
    }

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

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

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

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

    function tokensToProportion(uint256 tokens) public view returns (uint256) {
        return tokens * _totalProportion / _totalSupply;
    }

    function tokenFromReflection(uint256 proportion) public view returns (uint256) {
        return proportion * _totalSupply / _totalProportion;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }


    function clearStuckBalance() external onlyOwner {
        (bool success,) = payable(msg.sender).call{value: address(this).balance}("");
        require(success);
    }

    function clearStuckToken() external onlyOwner {
        _transferFrom(address(this), msg.sender, balanceOf(address(this)));
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        claimingFees = _enabled;
        swapThreshold =  (_totalSupply * _amount) / 10000;
    }

  function setCustomMultiplier(uint256 _customMultiplier) public onlyOwner {
        customMultiplier = _customMultiplier;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFeeReceivers(address m_) external onlyOwner {
        devWallet = m_;
    }

    function setMaxTxBasisPoint(uint256 p_) external onlyOwner {
        _maxTxAmount = _totalSupply * p_ / 10000;
    }

    function removeLimits() external onlyOwner {
        limitsEnabled = false;
        buyFee = finalBuyFee;
        sellFee = finalSellFee;
    }

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


    if (limitsEnabled && sender == UNISWAP_V2_PAIR && !isTxLimitExempt[recipient]) {
        require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            require(balanceOf(recipient) + amount <= _maxWalletSize, "Exceeds maxWalletSize.");
        }
    if (_shouldSwapBack()) {
        _swapBack();
    }

    uint256 proportionAmount = tokensToProportion(amount);
    require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
    _rOwned[sender] = _rOwned[sender] - proportionAmount;


    uint256 proportionReceived = _shouldTakeFee(sender, recipient)
        ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount)
        : proportionAmount;
    _rOwned[recipient] = _rOwned[recipient] + proportionReceived;

    emit Transfer(sender, recipient, tokenFromReflection(proportionReceived));
    return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    
    function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) internal returns (uint256) {
        Fee memory __buyFee = buyFee;
        Fee memory __sellFee = sellFee;

        uint256 proportionFeeAmount =
            buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100;


        uint256 proportionReflected = buying == true
            ? proportionFeeAmount * __buyFee.reflection / __buyFee.total
            : proportionFeeAmount * __sellFee.reflection / __sellFee.total;

        _totalProportion = _totalProportion - proportionReflected;

       
        uint256 _proportionToContract = proportionFeeAmount - proportionReflected;
        if (_proportionToContract > 0) {
            _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract;

            emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract));
        }
        emit Reflect(proportionReflected, _totalProportion);
        return proportionAmount - proportionFeeAmount;
    }

    function _shouldSwapBack() internal view returns (bool) {
        return msg.sender != UNISWAP_V2_PAIR && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold;
    }

    function _swapBack() internal swapping {
        Fee memory __sellFee = sellFee;
        uint256 contractBalance = balanceOf(address(this));
        uint256 __swapThreshold = swapThreshold;
        uint256 amountToSwap = __swapThreshold;

        if (contractBalance == 0 || amountToSwap == 0) {
            return;
        }

        if (contractBalance > swapThreshold * customMultiplier) {
            contractBalance = swapThreshold * customMultiplier;
        }
        approve(address(UNISWAP_V2_ROUTER), contractBalance);


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

        UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractBalance, 0, path, address(this), block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 totalSwapFee = __sellFee.total - __sellFee.reflection;
        uint256 devcash = amountETH * __sellFee.dev / totalSwapFee;


     (bool tmpSuccess,) = payable(devWallet).call{value: devcash}("");
    require(tmpSuccess, "Transfer failed.");

    }

    function _shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_devWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","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":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"customMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"finalBuyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalSellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBuyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_customMultiplier","type":"uint256"}],"name":"setCustomMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"m_","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyReflection","type":"uint8"},{"internalType":"uint8","name":"buyDev","type":"uint8"},{"internalType":"uint8","name":"sellReflection","type":"uint8"},{"internalType":"uint8","name":"sellDev","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"p_","type":"uint256"}],"name":"setMaxTxBasisPoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600781526020017f30784d7573696300000000000000000000000000000000000000000000000000815250600190816200004a919062001207565b506040518060400160405280600381526020017f30784d00000000000000000000000000000000000000000000000000000000008152506002908162000091919062001207565b506a084595161401484a00000060035560646002600354620000b491906200131d565b620000c0919062001397565b60055560646002600354620000d691906200131d565b620000e2919062001397565b6006556003546008556001600a60006101000a81548160ff0219169083151502179055506040518060600160405280600060ff168152602001602160ff16815260200160216fffffffffffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506040518060600160405280600060ff168152602001602160ff16815260200160216fffffffffffffffffffffffffffffffff16815250600e60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506040518060600160405280600160ff168152602001600460ff16815260200160056fffffffffffffffffffffffffffffffff16815250600f60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506040518060600160405280600160ff168152602001600460ff16815260200160056fffffffffffffffffffffffffffffffff16815250601060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050506001601360146101000a81548160ff02191690831515021790555061271060056003546200042191906200131d565b6200042d919062001397565b60145560146015553480156200044257600080fd5b5060405162004c7d38038062004c7d833981810160405281019062000468919062001439565b620004886200047c62000ec160201b60201c565b62000ec960201b60201c565b600d60116000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050600e60126000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055509050506000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000666573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068c919062001480565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000708573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200072e919062001480565b6040518363ffffffff1660e01b81526004016200074d929190620014c3565b6020604051808303816000875af11580156200076d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000793919062001480565b90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006003805462000ccb919062001397565b90508060076000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060035462000d439190620014f0565b600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000e0891906200153c565b60405180910390a33273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600760003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000eaf91906200153c565b60405180910390a35050505062001559565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200100f57607f821691505b60208210810362001025576200102462000fc7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200108f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001050565b6200109b868362001050565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010e8620010e2620010dc84620010b3565b620010bd565b620010b3565b9050919050565b6000819050919050565b6200110483620010c7565b6200111c6200111382620010ef565b8484546200105d565b825550505050565b600090565b6200113362001124565b62001140818484620010f9565b505050565b5b8181101562001168576200115c60008262001129565b60018101905062001146565b5050565b601f821115620011b75762001181816200102b565b6200118c8462001040565b810160208510156200119c578190505b620011b4620011ab8562001040565b83018262001145565b50505b505050565b600082821c905092915050565b6000620011dc60001984600802620011bc565b1980831691505092915050565b6000620011f78383620011c9565b9150826002028217905092915050565b620012128262000f8d565b67ffffffffffffffff8111156200122e576200122d62000f98565b5b6200123a825462000ff6565b620012478282856200116c565b600060209050601f8311600181146200127f57600084156200126a578287015190505b620012768582620011e9565b865550620012e6565b601f1984166200128f866200102b565b60005b82811015620012b95784890151825560018201915060208501945060208101905062001292565b86831015620012d95784890151620012d5601f891682620011c9565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200132a82620010b3565b91506200133783620010b3565b92508282026200134781620010b3565b91508282048414831517620013615762001360620012ee565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620013a482620010b3565b9150620013b183620010b3565b925082620013c457620013c362001368565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200140182620013d4565b9050919050565b6200141381620013f4565b81146200141f57600080fd5b50565b600081519050620014338162001408565b92915050565b60008060408385031215620014535762001452620013cf565b5b6000620014638582860162001422565b9250506020620014768582860162001422565b9150509250929050565b600060208284031215620014995762001498620013cf565b5b6000620014a98482850162001422565b91505092915050565b620014bd81620013f4565b82525050565b6000604082019050620014da6000830185620014b2565b620014e96020830184620014b2565b9392505050565b6000620014fd82620010b3565b91506200150a83620010b3565b9250828203905081811115620015255762001524620012ee565b5b92915050565b6200153681620010b3565b82525050565b60006020820190506200155360008301846200152b565b92915050565b6080516136f36200158a60003960008181611822015281816118e901528181611b7e015261204f01526136f36000f3fe6080604052600436106102555760003560e01c8063751039fc11610139578063b0f7ec38116100b6578063e186ec741161007a578063e186ec74146108bd578063e6990a90146108e6578063e6d40d6014610913578063f2fde38b14610940578063f40acc3d14610969578063f84ba65d146109945761025c565b8063b0f7ec38146107ec578063d85a282814610817578063dd62ed3e1461082e578063df20fd491461086b578063e01bb688146108945761025c565b80638f9a55c0116100fd5780638f9a55c01461070557806395d89b41146107305780639faa7cfd1461075b578063a82ed9ec14610784578063a9059cbb146107af5761025c565b8063751039fc1461064457806378de607b1461065b5780637d1db4a514610686578063875fa085146106b15780638da5cb5b146106da5761025c565b80632d838119116101d257806345ce53651161019657806345ce536514610520578063470624021461055d578063571ac8b01461058a578063658d4b7f146105c757806370a08231146105f0578063715018a61461062d5761025c565b80632d83811914610449578063313ce5671461048657806331e02e0b146104b15780633582ad23146104de578063364333f4146105095761025c565b806318160ddd1161021957806318160ddd1461035c57806323b872dd146103875780632b112e49146103c45780632b14ca56146103ef5780632b36a6d21461041c5761025c565b80630445b6671461026157806306fdde031461028c578063095ea7b3146102b75780630cfc15f9146102f457806317800287146103315761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109bd565b60405161028391906129bf565b60405180910390f35b34801561029857600080fd5b506102a16109c3565b6040516102ae9190612a6a565b60405180910390f35b3480156102c357600080fd5b506102de60048036038101906102d99190612b1b565b610a55565b6040516102eb9190612b76565b60405180910390f35b34801561030057600080fd5b5061031b60048036038101906103169190612b91565b610b47565b60405161032891906129bf565b60405180910390f35b34801561033d57600080fd5b50610346610b5f565b60405161035391906129bf565b60405180910390f35b34801561036857600080fd5b50610371610b65565b60405161037e91906129bf565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190612bbe565b610b6f565b6040516103bb9190612b76565b60405180910390f35b3480156103d057600080fd5b506103d9610df0565b6040516103e691906129bf565b60405180910390f35b3480156103fb57600080fd5b50610404610e23565b60405161041393929190612c58565b60405180910390f35b34801561042857600080fd5b50610431610e71565b60405161044093929190612c58565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b9190612c8f565b610ebf565b60405161047d91906129bf565b60405180910390f35b34801561049257600080fd5b5061049b610ee3565b6040516104a89190612cbc565b60405180910390f35b3480156104bd57600080fd5b506104c6610eec565b6040516104d593929190612c58565b60405180910390f35b3480156104ea57600080fd5b506104f3610f3a565b6040516105009190612b76565b60405180910390f35b34801561051557600080fd5b5061051e610f4d565b005b34801561052c57600080fd5b5061054760048036038101906105429190612c8f565b610fce565b60405161055491906129bf565b60405180910390f35b34801561056957600080fd5b50610572610ff2565b60405161058193929190612c58565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612b91565b611040565b6040516105be9190612b76565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e99190612d03565b611073565b005b3480156105fc57600080fd5b5061061760048036038101906106129190612b91565b6110d6565b60405161062491906129bf565b60405180910390f35b34801561063957600080fd5b50610642611127565b005b34801561065057600080fd5b5061065961113b565b005b34801561066757600080fd5b506106706112dc565b60405161067d91906129bf565b60405180910390f35b34801561069257600080fd5b5061069b6112e2565b6040516106a891906129bf565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d39190612c8f565b6112e8565b005b3480156106e657600080fd5b506106ef6112fa565b6040516106fc9190612d52565b60405180910390f35b34801561071157600080fd5b5061071a611323565b60405161072791906129bf565b60405180910390f35b34801561073c57600080fd5b50610745611329565b6040516107529190612a6a565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d9190612d99565b6113bb565b005b34801561079057600080fd5b5061079961155d565b6040516107a69190612e5f565b60405180910390f35b3480156107bb57600080fd5b506107d660048036038101906107d19190612b1b565b611575565b6040516107e39190612b76565b60405180910390f35b3480156107f857600080fd5b5061080161158a565b60405161080e9190612b76565b60405180910390f35b34801561082357600080fd5b5061082c61159d565b005b34801561083a57600080fd5b5061085560048036038101906108509190612e7a565b6115bb565b60405161086291906129bf565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190612eba565b611642565b005b3480156108a057600080fd5b506108bb60048036038101906108b69190612b91565b611689565b005b3480156108c957600080fd5b506108e460048036038101906108df9190612c8f565b6116d5565b005b3480156108f257600080fd5b506108fb611701565b60405161090a93929190612c58565b60405180910390f35b34801561091f57600080fd5b5061092861174f565b60405161093793929190612c58565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190612b91565b61179d565b005b34801561097557600080fd5b5061097e611820565b60405161098b9190612d52565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b69190612d03565b611844565b005b60145481565b6060600180546109d290612f29565b80601f01602080910402602001604051908101604052809291908181526020018280546109fe90612f29565b8015610a4b5780601f10610a2057610100808354040283529160200191610a4b565b820191906000526020600020905b815481529060010190602001808311610a2e57829003601f168201915b5050505050905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b3591906129bf565b60405180910390a36001905092915050565b60076020528060005260406000206000915090505481565b60085481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ddc5781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cca90612fa6565b60405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5b9190612ff5565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610de78484846118a7565b90509392505050565b6000610dfc60006110d6565b610e0761dead6110d6565b600354610e149190612ff5565b610e1e9190612ff5565b905090565b60128060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600e8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600060085460035483610ed29190613029565b610edc919061309a565b9050919050565b60006012905090565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600a60009054906101000a900460ff1681565b610f55611cec565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610f7b906130fc565b60006040518083038185875af1925050503d8060008114610fb8576040519150601f19603f3d011682016040523d82523d6000602084013e610fbd565b606091505b5050905080610fcb57600080fd5b50565b600060035460085483610fe19190613029565b610feb919061309a565b9050919050565b60118060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600061106c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a55565b9050919050565b61107b611cec565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611120600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebf565b9050919050565b61112f611cec565b6111396000611d6a565b565b611143611cec565b6000600a60006101000a81548160ff021916908315150217905550600f60116000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050601060126000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050565b60155481565b60055481565b6112f0611cec565b8060158190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606002805461133890612f29565b80601f016020809104026020016040519081016040528092919081815260200182805461136490612f29565b80156113b15780601f10611386576101008083540402835291602001916113b1565b820191906000526020600020905b81548152906001019060200180831161139457829003601f168201915b5050505050905090565b6113c3611cec565b60405180606001604052808560ff1681526020018460ff1681526020018460ff168660ff166113f29190613111565b6fffffffffffffffffffffffffffffffff16815250601160008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060405180606001604052808360ff1681526020018260ff1681526020018260ff168460ff166114bc9190613111565b6fffffffffffffffffffffffffffffffff16815250601260008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006115823384846118a7565b905092915050565b601360149054906101000a900460ff1681565b6115a5611cec565b6115b830336115b3306110d6565b6118a7565b50565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61164a611cec565b81601360146101000a81548160ff021916908315150217905550612710816003546116759190613029565b61167f919061309a565b6014819055505050565b611691611cec565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116dd611cec565b612710816003546116ee9190613029565b6116f8919061309a565b60058190555050565b60108060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600f8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b6117a5611cec565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b906131c7565b60405180910390fd5b61181d81611d6a565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b61184c611cec565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601660009054906101000a900460ff16156118d0576118c9848484611e2e565b9050611ce5565b600a60009054906101000a900460ff16801561193757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561198d5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a30576005548211156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ce90613259565b60405180910390fd5b600654826119e4856110d6565b6119ee9190613279565b1115611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a26906132f9565b60405180910390fd5b5b611a3861204b565b15611a4657611a456120e9565b5b6000611a5183610fce565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc90613365565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b209190612ff5565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b6f8686612557565b611b795781611be1565b611be07f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611bd6576000611bd9565b60015b8784612605565b5b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2e9190613279565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cc984610ebf565b604051611cd691906129bf565b60405180910390a36001925050505b9392505050565b611cf461299e565b73ffffffffffffffffffffffffffffffffffffffff16611d126112fa565b73ffffffffffffffffffffffffffffffffffffffff1614611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906133d1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611e3a83610fce565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb590613365565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f099190612ff5565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f979190613279565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161203791906129bf565b60405180910390a360019150509392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120b65750601660009054906101000a900460ff16155b80156120ce5750601360149054906101000a900460ff165b80156120e457506014546120e1306110d6565b10155b905090565b6001601660006101000a81548160ff021916908315150217905550600060126040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050905060006121a4306110d6565b905060006014549050600081905060008314806121c15750600081145b156121cf575050505061253a565b6015546014546121df9190613029565b8311156121f9576015546014546121f69190613029565b92505b612217737a250d5630b4cf539739df2c5dacb4c659f2488d84610a55565b506000600267ffffffffffffffff811115612235576122346133f1565b5b6040519080825280602002602001820160405280156122635781602001602082028036833780820191505090505b509050308160008151811061227b5761227a613420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123389190613464565b8160018151811061234c5761234b613420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016123dc95949392919061358a565b600060405180830381600087803b1580156123f657600080fd5b505af115801561240a573d6000803e3d6000fd5b5050505060004790506000866000015160ff16876040015161242c91906135e4565b6fffffffffffffffffffffffffffffffff169050600081886020015160ff16846124569190613029565b612460919061309a565b90506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516124aa906130fc565b60006040518083038185875af1925050503d80600081146124e7576040519150601f19603f3d011682016040523d82523d6000602084013e6124ec565b606091505b5050905080612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790613674565b60405180910390fd5b5050505050505050505b6000601660006101000a81548160ff021916908315150217905550565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125fd5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008060116040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060126040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600115158715151461277157606482604001516fffffffffffffffffffffffffffffffff16866127629190613029565b61276c919061309a565b6127a0565b606483604001516fffffffffffffffffffffffffffffffff16866127959190613029565b61279f919061309a565b5b9050600060011515881515146127e95782604001516fffffffffffffffffffffffffffffffff16836000015160ff16836127da9190613029565b6127e4919061309a565b61281e565b83604001516fffffffffffffffffffffffffffffffff16846000015160ff16836128139190613029565b61281d919061309a565b5b90508060085461282e9190612ff5565b600881905550600081836128429190612ff5565b905060008111156129495780600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128989190613279565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61293384610ebf565b60405161294091906129bf565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac8260085460405161297c929190613694565b60405180910390a182876129909190612ff5565b955050505050509392505050565b600033905090565b6000819050919050565b6129b9816129a6565b82525050565b60006020820190506129d460008301846129b0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a145780820151818401526020810190506129f9565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a3c826129da565b612a4681856129e5565b9350612a568185602086016129f6565b612a5f81612a20565b840191505092915050565b60006020820190508181036000830152612a848184612a31565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612abc82612a91565b9050919050565b612acc81612ab1565b8114612ad757600080fd5b50565b600081359050612ae981612ac3565b92915050565b612af8816129a6565b8114612b0357600080fd5b50565b600081359050612b1581612aef565b92915050565b60008060408385031215612b3257612b31612a8c565b5b6000612b4085828601612ada565b9250506020612b5185828601612b06565b9150509250929050565b60008115159050919050565b612b7081612b5b565b82525050565b6000602082019050612b8b6000830184612b67565b92915050565b600060208284031215612ba757612ba6612a8c565b5b6000612bb584828501612ada565b91505092915050565b600080600060608486031215612bd757612bd6612a8c565b5b6000612be586828701612ada565b9350506020612bf686828701612ada565b9250506040612c0786828701612b06565b9150509250925092565b600060ff82169050919050565b612c2781612c11565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b612c5281612c2d565b82525050565b6000606082019050612c6d6000830186612c1e565b612c7a6020830185612c1e565b612c876040830184612c49565b949350505050565b600060208284031215612ca557612ca4612a8c565b5b6000612cb384828501612b06565b91505092915050565b6000602082019050612cd16000830184612c1e565b92915050565b612ce081612b5b565b8114612ceb57600080fd5b50565b600081359050612cfd81612cd7565b92915050565b60008060408385031215612d1a57612d19612a8c565b5b6000612d2885828601612ada565b9250506020612d3985828601612cee565b9150509250929050565b612d4c81612ab1565b82525050565b6000602082019050612d676000830184612d43565b92915050565b612d7681612c11565b8114612d8157600080fd5b50565b600081359050612d9381612d6d565b92915050565b60008060008060808587031215612db357612db2612a8c565b5b6000612dc187828801612d84565b9450506020612dd287828801612d84565b9350506040612de387828801612d84565b9250506060612df487828801612d84565b91505092959194509250565b6000819050919050565b6000612e25612e20612e1b84612a91565b612e00565b612a91565b9050919050565b6000612e3782612e0a565b9050919050565b6000612e4982612e2c565b9050919050565b612e5981612e3e565b82525050565b6000602082019050612e746000830184612e50565b92915050565b60008060408385031215612e9157612e90612a8c565b5b6000612e9f85828601612ada565b9250506020612eb085828601612ada565b9150509250929050565b60008060408385031215612ed157612ed0612a8c565b5b6000612edf85828601612cee565b9250506020612ef085828601612b06565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f4157607f821691505b602082108103612f5457612f53612efa565b5b50919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f90601d836129e5565b9150612f9b82612f5a565b602082019050919050565b60006020820190508181036000830152612fbf81612f83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613000826129a6565b915061300b836129a6565b925082820390508181111561302357613022612fc6565b5b92915050565b6000613034826129a6565b915061303f836129a6565b925082820261304d816129a6565b9150828204841483151761306457613063612fc6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130a5826129a6565b91506130b0836129a6565b9250826130c0576130bf61306b565b5b828204905092915050565b600081905092915050565b50565b60006130e66000836130cb565b91506130f1826130d6565b600082019050919050565b6000613107826130d9565b9150819050919050565b600061311c82612c2d565b915061312783612c2d565b925082820190506fffffffffffffffffffffffffffffffff81111561314f5761314e612fc6565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131b16026836129e5565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006132436028836129e5565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b6000613284826129a6565b915061328f836129a6565b92508282019050808211156132a7576132a6612fc6565b5b92915050565b7f45786365656473206d617857616c6c657453697a652e00000000000000000000600082015250565b60006132e36016836129e5565b91506132ee826132ad565b602082019050919050565b60006020820190508181036000830152613312816132d6565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b600061334f6014836129e5565b915061335a82613319565b602082019050919050565b6000602082019050818103600083015261337e81613342565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133bb6020836129e5565b91506133c682613385565b602082019050919050565b600060208201905081810360008301526133ea816133ae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061345e81612ac3565b92915050565b60006020828403121561347a57613479612a8c565b5b60006134888482850161344f565b91505092915050565b6000819050919050565b60006134b66134b16134ac84613491565b612e00565b6129a6565b9050919050565b6134c68161349b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61350181612ab1565b82525050565b600061351383836134f8565b60208301905092915050565b6000602082019050919050565b6000613537826134cc565b61354181856134d7565b935061354c836134e8565b8060005b8381101561357d5781516135648882613507565b975061356f8361351f565b925050600181019050613550565b5085935050505092915050565b600060a08201905061359f60008301886129b0565b6135ac60208301876134bd565b81810360408301526135be818661352c565b90506135cd6060830185612d43565b6135da60808301846129b0565b9695505050505050565b60006135ef82612c2d565b91506135fa83612c2d565b925082820390506fffffffffffffffffffffffffffffffff81111561362257613621612fc6565b5b92915050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b600061365e6010836129e5565b915061366982613628565b602082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b60006040820190506136a960008301856129b0565b6136b660208301846129b0565b939250505056fea2646970667358221220461d21f37fd4281c083f03a28796b598a3553c52037b075ebe641e639fc5c89b64736f6c6343000813003300000000000000000000000051749743547adf06f5a73084b2371773b6ba3eff00000000000000000000000036de080be6c40e1c7ca008ca17960bc78802593d

Deployed Bytecode

0x6080604052600436106102555760003560e01c8063751039fc11610139578063b0f7ec38116100b6578063e186ec741161007a578063e186ec74146108bd578063e6990a90146108e6578063e6d40d6014610913578063f2fde38b14610940578063f40acc3d14610969578063f84ba65d146109945761025c565b8063b0f7ec38146107ec578063d85a282814610817578063dd62ed3e1461082e578063df20fd491461086b578063e01bb688146108945761025c565b80638f9a55c0116100fd5780638f9a55c01461070557806395d89b41146107305780639faa7cfd1461075b578063a82ed9ec14610784578063a9059cbb146107af5761025c565b8063751039fc1461064457806378de607b1461065b5780637d1db4a514610686578063875fa085146106b15780638da5cb5b146106da5761025c565b80632d838119116101d257806345ce53651161019657806345ce536514610520578063470624021461055d578063571ac8b01461058a578063658d4b7f146105c757806370a08231146105f0578063715018a61461062d5761025c565b80632d83811914610449578063313ce5671461048657806331e02e0b146104b15780633582ad23146104de578063364333f4146105095761025c565b806318160ddd1161021957806318160ddd1461035c57806323b872dd146103875780632b112e49146103c45780632b14ca56146103ef5780632b36a6d21461041c5761025c565b80630445b6671461026157806306fdde031461028c578063095ea7b3146102b75780630cfc15f9146102f457806317800287146103315761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109bd565b60405161028391906129bf565b60405180910390f35b34801561029857600080fd5b506102a16109c3565b6040516102ae9190612a6a565b60405180910390f35b3480156102c357600080fd5b506102de60048036038101906102d99190612b1b565b610a55565b6040516102eb9190612b76565b60405180910390f35b34801561030057600080fd5b5061031b60048036038101906103169190612b91565b610b47565b60405161032891906129bf565b60405180910390f35b34801561033d57600080fd5b50610346610b5f565b60405161035391906129bf565b60405180910390f35b34801561036857600080fd5b50610371610b65565b60405161037e91906129bf565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190612bbe565b610b6f565b6040516103bb9190612b76565b60405180910390f35b3480156103d057600080fd5b506103d9610df0565b6040516103e691906129bf565b60405180910390f35b3480156103fb57600080fd5b50610404610e23565b60405161041393929190612c58565b60405180910390f35b34801561042857600080fd5b50610431610e71565b60405161044093929190612c58565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b9190612c8f565b610ebf565b60405161047d91906129bf565b60405180910390f35b34801561049257600080fd5b5061049b610ee3565b6040516104a89190612cbc565b60405180910390f35b3480156104bd57600080fd5b506104c6610eec565b6040516104d593929190612c58565b60405180910390f35b3480156104ea57600080fd5b506104f3610f3a565b6040516105009190612b76565b60405180910390f35b34801561051557600080fd5b5061051e610f4d565b005b34801561052c57600080fd5b5061054760048036038101906105429190612c8f565b610fce565b60405161055491906129bf565b60405180910390f35b34801561056957600080fd5b50610572610ff2565b60405161058193929190612c58565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612b91565b611040565b6040516105be9190612b76565b60405180910390f35b3480156105d357600080fd5b506105ee60048036038101906105e99190612d03565b611073565b005b3480156105fc57600080fd5b5061061760048036038101906106129190612b91565b6110d6565b60405161062491906129bf565b60405180910390f35b34801561063957600080fd5b50610642611127565b005b34801561065057600080fd5b5061065961113b565b005b34801561066757600080fd5b506106706112dc565b60405161067d91906129bf565b60405180910390f35b34801561069257600080fd5b5061069b6112e2565b6040516106a891906129bf565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d39190612c8f565b6112e8565b005b3480156106e657600080fd5b506106ef6112fa565b6040516106fc9190612d52565b60405180910390f35b34801561071157600080fd5b5061071a611323565b60405161072791906129bf565b60405180910390f35b34801561073c57600080fd5b50610745611329565b6040516107529190612a6a565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d9190612d99565b6113bb565b005b34801561079057600080fd5b5061079961155d565b6040516107a69190612e5f565b60405180910390f35b3480156107bb57600080fd5b506107d660048036038101906107d19190612b1b565b611575565b6040516107e39190612b76565b60405180910390f35b3480156107f857600080fd5b5061080161158a565b60405161080e9190612b76565b60405180910390f35b34801561082357600080fd5b5061082c61159d565b005b34801561083a57600080fd5b5061085560048036038101906108509190612e7a565b6115bb565b60405161086291906129bf565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d9190612eba565b611642565b005b3480156108a057600080fd5b506108bb60048036038101906108b69190612b91565b611689565b005b3480156108c957600080fd5b506108e460048036038101906108df9190612c8f565b6116d5565b005b3480156108f257600080fd5b506108fb611701565b60405161090a93929190612c58565b60405180910390f35b34801561091f57600080fd5b5061092861174f565b60405161093793929190612c58565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190612b91565b61179d565b005b34801561097557600080fd5b5061097e611820565b60405161098b9190612d52565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b69190612d03565b611844565b005b60145481565b6060600180546109d290612f29565b80601f01602080910402602001604051908101604052809291908181526020018280546109fe90612f29565b8015610a4b5780601f10610a2057610100808354040283529160200191610a4b565b820191906000526020600020905b815481529060010190602001808311610a2e57829003601f168201915b5050505050905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b3591906129bf565b60405180910390a36001905092915050565b60076020528060005260406000206000915090505481565b60085481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ddc5781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cca90612fa6565b60405180910390fd5b81600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5b9190612ff5565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610de78484846118a7565b90509392505050565b6000610dfc60006110d6565b610e0761dead6110d6565b600354610e149190612ff5565b610e1e9190612ff5565b905090565b60128060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600e8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600060085460035483610ed29190613029565b610edc919061309a565b9050919050565b60006012905090565b600d8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600a60009054906101000a900460ff1681565b610f55611cec565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610f7b906130fc565b60006040518083038185875af1925050503d8060008114610fb8576040519150601f19603f3d011682016040523d82523d6000602084013e610fbd565b606091505b5050905080610fcb57600080fd5b50565b600060035460085483610fe19190613029565b610feb919061309a565b9050919050565b60118060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600061106c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610a55565b9050919050565b61107b611cec565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611120600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebf565b9050919050565b61112f611cec565b6111396000611d6a565b565b611143611cec565b6000600a60006101000a81548160ff021916908315150217905550600f60116000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050601060126000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff1602179055506000820160019054906101000a900460ff168160000160016101000a81548160ff021916908360ff1602179055506000820160029054906101000a90046fffffffffffffffffffffffffffffffff168160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550905050565b60155481565b60055481565b6112f0611cec565b8060158190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606002805461133890612f29565b80601f016020809104026020016040519081016040528092919081815260200182805461136490612f29565b80156113b15780601f10611386576101008083540402835291602001916113b1565b820191906000526020600020905b81548152906001019060200180831161139457829003601f168201915b5050505050905090565b6113c3611cec565b60405180606001604052808560ff1681526020018460ff1681526020018460ff168660ff166113f29190613111565b6fffffffffffffffffffffffffffffffff16815250601160008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060405180606001604052808360ff1681526020018260ff1681526020018260ff168460ff166114bc9190613111565b6fffffffffffffffffffffffffffffffff16815250601260008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006115823384846118a7565b905092915050565b601360149054906101000a900460ff1681565b6115a5611cec565b6115b830336115b3306110d6565b6118a7565b50565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61164a611cec565b81601360146101000a81548160ff021916908315150217905550612710816003546116759190613029565b61167f919061309a565b6014819055505050565b611691611cec565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116dd611cec565b612710816003546116ee9190613029565b6116f8919061309a565b60058190555050565b60108060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b600f8060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a90046fffffffffffffffffffffffffffffffff16905083565b6117a5611cec565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b906131c7565b60405180910390fd5b61181d81611d6a565b50565b7f000000000000000000000000722302e5b10b6359f778ebfa6c9089fe5af09d8381565b61184c611cec565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601660009054906101000a900460ff16156118d0576118c9848484611e2e565b9050611ce5565b600a60009054906101000a900460ff16801561193757507f000000000000000000000000722302e5b10b6359f778ebfa6c9089fe5af09d8373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561198d5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a30576005548211156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ce90613259565b60405180910390fd5b600654826119e4856110d6565b6119ee9190613279565b1115611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a26906132f9565b60405180910390fd5b5b611a3861204b565b15611a4657611a456120e9565b5b6000611a5183610fce565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc90613365565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b209190612ff5565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b6f8686612557565b611b795781611be1565b611be07f000000000000000000000000722302e5b10b6359f778ebfa6c9089fe5af09d8373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611bd6576000611bd9565b60015b8784612605565b5b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2e9190613279565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cc984610ebf565b604051611cd691906129bf565b60405180910390a36001925050505b9392505050565b611cf461299e565b73ffffffffffffffffffffffffffffffffffffffff16611d126112fa565b73ffffffffffffffffffffffffffffffffffffffff1614611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906133d1565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611e3a83610fce565b905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb590613365565b60405180910390fd5b80600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f099190612ff5565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f979190613279565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161203791906129bf565b60405180910390a360019150509392505050565b60007f000000000000000000000000722302e5b10b6359f778ebfa6c9089fe5af09d8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120b65750601660009054906101000a900460ff16155b80156120ce5750601360149054906101000a900460ff165b80156120e457506014546120e1306110d6565b10155b905090565b6001601660006101000a81548160ff021916908315150217905550600060126040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681525050905060006121a4306110d6565b905060006014549050600081905060008314806121c15750600081145b156121cf575050505061253a565b6015546014546121df9190613029565b8311156121f9576015546014546121f69190613029565b92505b612217737a250d5630b4cf539739df2c5dacb4c659f2488d84610a55565b506000600267ffffffffffffffff811115612235576122346133f1565b5b6040519080825280602002602001820160405280156122635781602001602082028036833780820191505090505b509050308160008151811061227b5761227a613420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123389190613464565b8160018151811061234c5761234b613420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016123dc95949392919061358a565b600060405180830381600087803b1580156123f657600080fd5b505af115801561240a573d6000803e3d6000fd5b5050505060004790506000866000015160ff16876040015161242c91906135e4565b6fffffffffffffffffffffffffffffffff169050600081886020015160ff16846124569190613029565b612460919061309a565b90506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516124aa906130fc565b60006040518083038185875af1925050503d80600081146124e7576040519150601f19603f3d011682016040523d82523d6000602084013e6124ec565b606091505b5050905080612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790613674565b60405180910390fd5b5050505050505050505b6000601660006101000a81548160ff021916908315150217905550565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125fd5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008060116040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600060126040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506000600115158715151461277157606482604001516fffffffffffffffffffffffffffffffff16866127629190613029565b61276c919061309a565b6127a0565b606483604001516fffffffffffffffffffffffffffffffff16866127959190613029565b61279f919061309a565b5b9050600060011515881515146127e95782604001516fffffffffffffffffffffffffffffffff16836000015160ff16836127da9190613029565b6127e4919061309a565b61281e565b83604001516fffffffffffffffffffffffffffffffff16846000015160ff16836128139190613029565b61281d919061309a565b5b90508060085461282e9190612ff5565b600881905550600081836128429190612ff5565b905060008111156129495780600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128989190613279565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61293384610ebf565b60405161294091906129bf565b60405180910390a35b7fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac8260085460405161297c929190613694565b60405180910390a182876129909190612ff5565b955050505050509392505050565b600033905090565b6000819050919050565b6129b9816129a6565b82525050565b60006020820190506129d460008301846129b0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a145780820151818401526020810190506129f9565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a3c826129da565b612a4681856129e5565b9350612a568185602086016129f6565b612a5f81612a20565b840191505092915050565b60006020820190508181036000830152612a848184612a31565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612abc82612a91565b9050919050565b612acc81612ab1565b8114612ad757600080fd5b50565b600081359050612ae981612ac3565b92915050565b612af8816129a6565b8114612b0357600080fd5b50565b600081359050612b1581612aef565b92915050565b60008060408385031215612b3257612b31612a8c565b5b6000612b4085828601612ada565b9250506020612b5185828601612b06565b9150509250929050565b60008115159050919050565b612b7081612b5b565b82525050565b6000602082019050612b8b6000830184612b67565b92915050565b600060208284031215612ba757612ba6612a8c565b5b6000612bb584828501612ada565b91505092915050565b600080600060608486031215612bd757612bd6612a8c565b5b6000612be586828701612ada565b9350506020612bf686828701612ada565b9250506040612c0786828701612b06565b9150509250925092565b600060ff82169050919050565b612c2781612c11565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b612c5281612c2d565b82525050565b6000606082019050612c6d6000830186612c1e565b612c7a6020830185612c1e565b612c876040830184612c49565b949350505050565b600060208284031215612ca557612ca4612a8c565b5b6000612cb384828501612b06565b91505092915050565b6000602082019050612cd16000830184612c1e565b92915050565b612ce081612b5b565b8114612ceb57600080fd5b50565b600081359050612cfd81612cd7565b92915050565b60008060408385031215612d1a57612d19612a8c565b5b6000612d2885828601612ada565b9250506020612d3985828601612cee565b9150509250929050565b612d4c81612ab1565b82525050565b6000602082019050612d676000830184612d43565b92915050565b612d7681612c11565b8114612d8157600080fd5b50565b600081359050612d9381612d6d565b92915050565b60008060008060808587031215612db357612db2612a8c565b5b6000612dc187828801612d84565b9450506020612dd287828801612d84565b9350506040612de387828801612d84565b9250506060612df487828801612d84565b91505092959194509250565b6000819050919050565b6000612e25612e20612e1b84612a91565b612e00565b612a91565b9050919050565b6000612e3782612e0a565b9050919050565b6000612e4982612e2c565b9050919050565b612e5981612e3e565b82525050565b6000602082019050612e746000830184612e50565b92915050565b60008060408385031215612e9157612e90612a8c565b5b6000612e9f85828601612ada565b9250506020612eb085828601612ada565b9150509250929050565b60008060408385031215612ed157612ed0612a8c565b5b6000612edf85828601612cee565b9250506020612ef085828601612b06565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f4157607f821691505b602082108103612f5457612f53612efa565b5b50919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f90601d836129e5565b9150612f9b82612f5a565b602082019050919050565b60006020820190508181036000830152612fbf81612f83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613000826129a6565b915061300b836129a6565b925082820390508181111561302357613022612fc6565b5b92915050565b6000613034826129a6565b915061303f836129a6565b925082820261304d816129a6565b9150828204841483151761306457613063612fc6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130a5826129a6565b91506130b0836129a6565b9250826130c0576130bf61306b565b5b828204905092915050565b600081905092915050565b50565b60006130e66000836130cb565b91506130f1826130d6565b600082019050919050565b6000613107826130d9565b9150819050919050565b600061311c82612c2d565b915061312783612c2d565b925082820190506fffffffffffffffffffffffffffffffff81111561314f5761314e612fc6565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131b16026836129e5565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006132436028836129e5565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b6000613284826129a6565b915061328f836129a6565b92508282019050808211156132a7576132a6612fc6565b5b92915050565b7f45786365656473206d617857616c6c657453697a652e00000000000000000000600082015250565b60006132e36016836129e5565b91506132ee826132ad565b602082019050919050565b60006020820190508181036000830152613312816132d6565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b600061334f6014836129e5565b915061335a82613319565b602082019050919050565b6000602082019050818103600083015261337e81613342565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133bb6020836129e5565b91506133c682613385565b602082019050919050565b600060208201905081810360008301526133ea816133ae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061345e81612ac3565b92915050565b60006020828403121561347a57613479612a8c565b5b60006134888482850161344f565b91505092915050565b6000819050919050565b60006134b66134b16134ac84613491565b612e00565b6129a6565b9050919050565b6134c68161349b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61350181612ab1565b82525050565b600061351383836134f8565b60208301905092915050565b6000602082019050919050565b6000613537826134cc565b61354181856134d7565b935061354c836134e8565b8060005b8381101561357d5781516135648882613507565b975061356f8361351f565b925050600181019050613550565b5085935050505092915050565b600060a08201905061359f60008301886129b0565b6135ac60208301876134bd565b81810360408301526135be818661352c565b90506135cd6060830185612d43565b6135da60808301846129b0565b9695505050505050565b60006135ef82612c2d565b91506135fa83612c2d565b925082820390506fffffffffffffffffffffffffffffffff81111561362257613621612fc6565b5b92915050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b600061365e6010836129e5565b915061366982613628565b602082019050919050565b6000602082019050818103600083015261368d81613651565b9050919050565b60006040820190506136a960008301856129b0565b6136b660208301846129b0565b939250505056fea2646970667358221220461d21f37fd4281c083f03a28796b598a3553c52037b075ebe641e639fc5c89b64736f6c63430008130033

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

00000000000000000000000051749743547adf06f5a73084b2371773b6ba3eff00000000000000000000000036de080be6c40e1c7ca008ca17960bc78802593d

-----Decoded View---------------
Arg [0] : _devWallet (address): 0x51749743547adf06F5A73084b2371773b6BA3eff
Arg [1] : _marketingWallet (address): 0x36dE080BE6C40E1c7ca008CA17960BC78802593d

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000051749743547adf06f5a73084b2371773b6ba3eff
Arg [1] : 00000000000000000000000036de080be6c40e1c7ca008ca17960bc78802593d


Deployed Bytecode Sourcemap

8570:11129:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10115:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13273:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11755:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9396:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9445:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13077:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12626:441;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14069:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10018:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;9774:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13912:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13187:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9699:68;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;9568:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14215:170;;;;;;;;;;;;;:::i;:::-;;13764:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9994:17;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11979:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14856:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13463:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7540:103;;;;;;;;;;;;;:::i;:::-;;15341:147;;;;;;;;;;;;;:::i;:::-;;10188:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9270:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14720:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7300:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9331:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13366:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12271:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8838:126;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12109:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10077:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14393:131;;;;;;;;;;;;;:::i;:::-;;13609:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14532:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15118:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15215:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9921:66;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;9850:64;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;7651:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8971:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14983:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10115:57;;;;:::o;13273:85::-;13312:13;13345:5;13338:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13273:85;:::o;11755:216::-;11830:4;11882:6;11847:11;:23;11859:10;11847:23;;;;;;;;;;;;;;;:32;11871:7;11847:32;;;;;;;;;;;;;;;:41;;;;11925:7;11904:37;;11913:10;11904:37;;;11934:6;11904:37;;;;;;:::i;:::-;;;;;;;;11959:4;11952:11;;11755:216;;;;:::o;9396:42::-;;;;;;;;;;;;;;;;;:::o;9445:46::-;;;;:::o;13077:102::-;13132:7;13159:12;;13152:19;;13077:102;:::o;12626:441::-;12726:4;12782:17;12747:11;:19;12759:6;12747:19;;;;;;;;;;;;;;;:31;12767:10;12747:31;;;;;;;;;;;;;;;;:52;12743:257;;12859:6;12824:11;:19;12836:6;12824:19;;;;;;;;;;;;;;;:31;12844:10;12824:31;;;;;;;;;;;;;;;;:41;;12816:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;12982:6;12948:11;:19;12960:6;12948:19;;;;;;;;;;;;;;;:31;12968:10;12948:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;12914:11;:19;12926:6;12914:19;;;;;;;;;;;;;;;:31;12934:10;12914:31;;;;;;;;;;;;;;;:74;;;;12743:257;13019:40;13033:6;13041:9;13052:6;13019:13;:40::i;:::-;13012:47;;12626:441;;;;;:::o;14069:136::-;14122:7;14182:15;8787:42;14182:9;:15::i;:::-;14164;8714:42;14164:9;:15::i;:::-;14149:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;14142:55;;14069:136;:::o;10018:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9774:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13912:149::-;13982:7;14037:16;;14022:12;;14009:10;:25;;;;:::i;:::-;:44;;;;:::i;:::-;14002:51;;13912:149;;;:::o;13187:78::-;13230:5;13255:2;13248:9;;13187:78;:::o;9699:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9568:32::-;;;;;;;;;;;;;:::o;14215:170::-;7255:13;:11;:13::i;:::-;14275:12:::1;14300:10;14292:24;;14324:21;14292:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14274:76;;;14369:7;14361:16;;;::::0;::::1;;14263:122;14215:170::o:0;13764:140::-;13829:7;13884:12;;13865:16;;13856:6;:25;;;;:::i;:::-;:40;;;;:::i;:::-;13849:47;;13764:140;;;:::o;9994:17::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11979:122::-;12034:4;12058:35;12066:7;12075:17;12058:7;:35::i;:::-;12051:42;;11979:122;;;:::o;14856:119::-;7255:13;:11;:13::i;:::-;14961:6:::1;14939:11;:19;14951:6;14939:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14856:119:::0;;:::o;13463:138::-;13529:7;13556:37;13576:7;:16;13584:7;13576:16;;;;;;;;;;;;;;;;13556:19;:37::i;:::-;13549:44;;13463:138;;;:::o;7540:103::-;7255:13;:11;:13::i;:::-;7605:30:::1;7632:1;7605:18;:30::i;:::-;7540:103::o:0;15341:147::-;7255:13;:11;:13::i;:::-;15411:5:::1;15395:13;;:21;;;;;;;;;;;;;;;;;;15436:11;15427:6;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15468:12;15458:7;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15341:147::o:0;10188:36::-;;;;:::o;9270:54::-;;;;:::o;14720:128::-;7255:13;:11;:13::i;:::-;14823:17:::1;14804:16;:36;;;;14720:128:::0;:::o;7300:87::-;7346:7;7373:6;;;;;;;;;;;7366:13;;7300:87;:::o;9331:57::-;;;;:::o;13366:89::-;13407:13;13440:7;13433:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13366:89;:::o;12271:347::-;7255:13;:11;:13::i;:::-;12397:94:::1;;;;;;;;12414:13;12397:94;;;;;;12434:6;12397:94;;;;;;12482:6;12474:15;;12457:13;12449:22;;:40;;;;:::i;:::-;12397:94;;;;::::0;12388:6:::1;:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12512:98;;;;;;;;12529:14;12512:98;;;;;;12550:7;12512:98;;;;;;12600:7;12592:16;;12574:14;12566:23;;:42;;;;:::i;:::-;12512:98;;;;::::0;12502:7:::1;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12271:347:::0;;;;:::o;8838:126::-;8921:42;8838:126;:::o;12109:156::-;12189:4;12213:44;12227:10;12239:9;12250:6;12213:13;:44::i;:::-;12206:51;;12109:156;;;;:::o;10077:31::-;;;;;;;;;;;;;:::o;14393:131::-;7255:13;:11;:13::i;:::-;14450:66:::1;14472:4;14479:10;14491:24;14509:4;14491:9;:24::i;:::-;14450:13;:66::i;:::-;;14393:131::o:0;13609:147::-;13693:7;13720:11;:19;13732:6;13720:19;;;;;;;;;;;;;;;:28;13740:7;13720:28;;;;;;;;;;;;;;;;13713:35;;13609:147;;;;:::o;14532:182::-;7255:13;:11;:13::i;:::-;14638:8:::1;14623:12;;:23;;;;;;;;;;;;;;;;;;14701:5;14690:7;14675:12;;:22;;;;:::i;:::-;14674:32;;;;:::i;:::-;14657:13;:49;;;;14532:182:::0;;:::o;15118:89::-;7255:13;:11;:13::i;:::-;15197:2:::1;15185:9;;:14;;;;;;;;;;;;;;;;;;15118:89:::0;:::o;15215:118::-;7255:13;:11;:13::i;:::-;15320:5:::1;15315:2;15300:12;;:17;;;;:::i;:::-;:25;;;;:::i;:::-;15285:12;:40;;;;15215:118:::0;:::o;9921:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9850:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7651:201::-;7255:13;:11;:13::i;:::-;7760:1:::1;7740:22;;:8;:22;;::::0;7732:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7816:28;7835:8;7816:18;:28::i;:::-;7651:201:::0;:::o;8971:40::-;;;:::o;14983:127::-;7255:13;:11;:13::i;:::-;15096:6:::1;15070:15;:23;15086:6;15070:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14983:127:::0;;:::o;15501:1099::-;15593:4;15610:6;;;;;;;;;;;15606:79;;;15636:41;15651:6;15659:9;15670:6;15636:14;:41::i;:::-;15629:48;;;;15606:79;15699:13;;;;;;;;;;;:42;;;;;15726:15;15716:25;;:6;:25;;;15699:42;:73;;;;;15746:15;:26;15762:9;15746:26;;;;;;;;;;;;;;;;;;;;;;;;;15745:27;15699:73;15695:274;;;15803:12;;15793:6;:22;;15785:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15916:14;;15906:6;15883:20;15893:9;15883;:20::i;:::-;:29;;;;:::i;:::-;:47;;15875:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;15695:274;15979:17;:15;:17::i;:::-;15975:53;;;16009:11;:9;:11::i;:::-;15975:53;16036:24;16063:26;16082:6;16063:18;:26::i;:::-;16036:53;;16123:16;16104:7;:15;16112:6;16104:15;;;;;;;;;;;;;;;;:35;;16096:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16207:16;16189:7;:15;16197:6;16189:15;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;16171:7;:15;16179:6;16171:15;;;;;;;;;;;;;;;:52;;;;16234:26;16263:33;16278:6;16286:9;16263:14;:33::i;:::-;:162;;16409:16;16263:162;;;16308:89;16340:15;16330:25;;:6;:25;;;:40;;16365:5;16330:40;;;16358:4;16330:40;16372:6;16380:16;16308:21;:89::i;:::-;16263:162;16234:191;;16474:18;16453:7;:18;16461:9;16453:18;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;16432:7;:18;16440:9;16432:18;;;;;;;;;;;;;;;:60;;;;16523:9;16506:68;;16515:6;16506:68;;;16534:39;16554:18;16534:19;:39::i;:::-;16506:68;;;;;;:::i;:::-;;;;;;;;16588:4;16581:11;;;;15501:1099;;;;;;:::o;7397:132::-;7472:12;:10;:12::i;:::-;7461:23;;:7;:5;:7::i;:::-;:23;;;7453:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7397:132::o;7865:191::-;7939:16;7958:6;;;;;;;;;;;7939:25;;7984:8;7975:6;;:17;;;;;;;;;;;;;;;;;;8039:8;8008:40;;8029:8;8008:40;;;;;;;;;;;;7928:128;7865:191;:::o;16609:455::-;16702:4;16719:24;16746:26;16765:6;16746:18;:26::i;:::-;16719:53;;16810:16;16791:7;:15;16799:6;16791:15;;;;;;;;;;;;;;;;:35;;16783:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16898:16;16880:7;:15;16888:6;16880:15;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;16862:7;:15;16870:6;16862:15;;;;;;;;;;;;;;;:52;;;;16967:16;16946:7;:18;16954:9;16946:18;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;16925:7;:18;16933:9;16925:18;;;;;;;;;;;;;;;:58;;;;17016:9;16999:35;;17008:6;16999:35;;;17027:6;16999:35;;;;;;:::i;:::-;;;;;;;;17052:4;17045:11;;;16609:455;;;;;:::o;18170:183::-;18220:4;18258:15;18244:29;;:10;:29;;;;:40;;;;;18278:6;;;;;;;;;;;18277:7;18244:40;:56;;;;;18288:12;;;;;;;;;;;18244:56;:101;;;;;18332:13;;18304:24;18322:4;18304:9;:24::i;:::-;:41;;18244:101;18237:108;;18170:183;:::o;18361:1166::-;10291:4;10282:6;;:13;;;;;;;;;;;;;;;;;;18411:20:::1;18434:7;18411:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;18452:23;18478:24;18496:4;18478:9;:24::i;:::-;18452:50;;18513:23;18539:13;;18513:39;;18563:20;18586:15;18563:38;;18637:1;18618:15;:20;:41;;;;18658:1;18642:12;:17;18618:41;18614:80;;;18676:7;;;;;;18614:80;18744:16;;18728:13;;:32;;;;:::i;:::-;18710:15;:50;18706:133;;;18811:16;;18795:13;;:32;;;;:::i;:::-;18777:50;;18706:133;18849:52;8921:42;18885:15;18849:7;:52::i;:::-;;18916:21;18954:1;18940:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18916:40;;18985:4;18967;18972:1;18967:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8921:42;19011:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19001:4;19006:1;19001:7;;;;;;;;:::i;:::-;;;;;;;:34;;;;;;;;;::::0;::::1;8921:42;19048:68;;;19131:15;19148:1;19151:4;19165;19172:15;19048:150;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19211:17;19231:21;19211:41;;19265:20;19306:9;:20;;;19288:38;;:9;:15;;;:38;;;;:::i;:::-;19265:61;;;;19337:15;19383:12;19367:9;:13;;;19355:25;;:9;:25;;;;:::i;:::-;:40;;;;:::i;:::-;19337:58;;19408:15;19436:9;;;;;;;;;;;19428:23;;19459:7;19428:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19407:64;;;19486:10;19478:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;18400:1127;;;;;;;;;10306:1;10327:5:::0;10318:6;;:14;;;;;;;;;;;;;;;;;;18361:1166::o;19535:161::-;19617:4;19642:11;:19;19654:6;19642:19;;;;;;;;;;;;;;;;;;;;;;;;;19641:20;:47;;;;;19666:11;:22;19678:9;19666:22;;;;;;;;;;;;;;;;;;;;;;;;;19665:23;19641:47;19634:54;;19535:161;;;;:::o;17078:1084::-;17182:7;17202:19;17224:6;17202:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17241:20;17264:7;17241:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17284:27;17337:4;17327:14;;:6;:14;;;:99;;17423:3;17405:9;:15;;;17386:34;;:16;:34;;;;:::i;:::-;:40;;;;:::i;:::-;17327:99;;;17380:3;17363:8;:14;;;17344:33;;:16;:33;;;;:::i;:::-;:39;;;;:::i;:::-;17327:99;17284:142;;17441:27;17481:4;17471:14;;:6;:14;;;:164;;17620:9;:15;;;17575:60;;17597:9;:20;;;17575:42;;:19;:42;;;;:::i;:::-;:60;;;;:::i;:::-;17471:164;;;17545:8;:14;;;17501:58;;17523:8;:19;;;17501:41;;:19;:41;;;;:::i;:::-;:58;;;;:::i;:::-;17471:164;17441:194;;17686:19;17667:16;;:38;;;;:::i;:::-;17648:16;:57;;;;17727:29;17781:19;17759;:41;;;;:::i;:::-;17727:73;;17839:1;17815:21;:25;17811:226;;;17907:21;17882:7;:22;17898:4;17882:22;;;;;;;;;;;;;;;;:46;;;;:::i;:::-;17857:7;:22;17873:4;17857:22;;;;;;;;;;;;;;;:71;;;;17975:4;17950:75;;17959:6;17950:75;;;17982:42;18002:21;17982:19;:42::i;:::-;17950:75;;;;;;:::i;:::-;;;;;;;;17811:226;18052:46;18060:19;18081:16;;18052:46;;;;;;;:::i;:::-;;;;;;;;18135:19;18116:16;:38;;;;:::i;:::-;18109:45;;;;;;;17078:1084;;;;;:::o;1533:98::-;1586:7;1613:10;1606:17;;1533:98;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:118::-;5005:7;5045:34;5038:5;5034:46;5023:57;;4968:118;;;:::o;5092:::-;5179:24;5197:5;5179:24;:::i;:::-;5174:3;5167:37;5092:118;;:::o;5216:426::-;5357:4;5395:2;5384:9;5380:18;5372:26;;5408:67;5472:1;5461:9;5457:17;5448:6;5408:67;:::i;:::-;5485:68;5549:2;5538:9;5534:18;5525:6;5485:68;:::i;:::-;5563:72;5631:2;5620:9;5616:18;5607:6;5563:72;:::i;:::-;5216:426;;;;;;:::o;5648:329::-;5707:6;5756:2;5744:9;5735:7;5731:23;5727:32;5724:119;;;5762:79;;:::i;:::-;5724:119;5882:1;5907:53;5952:7;5943:6;5932:9;5928:22;5907:53;:::i;:::-;5897:63;;5853:117;5648:329;;;;:::o;5983:214::-;6072:4;6110:2;6099:9;6095:18;6087:26;;6123:67;6187:1;6176:9;6172:17;6163:6;6123:67;:::i;:::-;5983:214;;;;:::o;6203:116::-;6273:21;6288:5;6273:21;:::i;:::-;6266:5;6263:32;6253:60;;6309:1;6306;6299:12;6253:60;6203:116;:::o;6325:133::-;6368:5;6406:6;6393:20;6384:29;;6422:30;6446:5;6422:30;:::i;:::-;6325:133;;;;:::o;6464:468::-;6529:6;6537;6586:2;6574:9;6565:7;6561:23;6557:32;6554:119;;;6592:79;;:::i;:::-;6554:119;6712:1;6737:53;6782:7;6773:6;6762:9;6758:22;6737:53;:::i;:::-;6727:63;;6683:117;6839:2;6865:50;6907:7;6898:6;6887:9;6883:22;6865:50;:::i;:::-;6855:60;;6810:115;6464:468;;;;;:::o;6938:118::-;7025:24;7043:5;7025:24;:::i;:::-;7020:3;7013:37;6938:118;;:::o;7062:222::-;7155:4;7193:2;7182:9;7178:18;7170:26;;7206:71;7274:1;7263:9;7259:17;7250:6;7206:71;:::i;:::-;7062:222;;;;:::o;7290:118::-;7361:22;7377:5;7361:22;:::i;:::-;7354:5;7351:33;7341:61;;7398:1;7395;7388:12;7341:61;7290:118;:::o;7414:135::-;7458:5;7496:6;7483:20;7474:29;;7512:31;7537:5;7512:31;:::i;:::-;7414:135;;;;:::o;7555:749::-;7633:6;7641;7649;7657;7706:3;7694:9;7685:7;7681:23;7677:33;7674:120;;;7713:79;;:::i;:::-;7674:120;7833:1;7858:51;7901:7;7892:6;7881:9;7877:22;7858:51;:::i;:::-;7848:61;;7804:115;7958:2;7984:51;8027:7;8018:6;8007:9;8003:22;7984:51;:::i;:::-;7974:61;;7929:116;8084:2;8110:51;8153:7;8144:6;8133:9;8129:22;8110:51;:::i;:::-;8100:61;;8055:116;8210:2;8236:51;8279:7;8270:6;8259:9;8255:22;8236:51;:::i;:::-;8226:61;;8181:116;7555:749;;;;;;;:::o;8310:60::-;8338:3;8359:5;8352:12;;8310:60;;;:::o;8376:142::-;8426:9;8459:53;8477:34;8486:24;8504:5;8486:24;:::i;:::-;8477:34;:::i;:::-;8459:53;:::i;:::-;8446:66;;8376:142;;;:::o;8524:126::-;8574:9;8607:37;8638:5;8607:37;:::i;:::-;8594:50;;8524:126;;;:::o;8656:152::-;8732:9;8765:37;8796:5;8765:37;:::i;:::-;8752:50;;8656:152;;;:::o;8814:183::-;8927:63;8984:5;8927:63;:::i;:::-;8922:3;8915:76;8814:183;;:::o;9003:274::-;9122:4;9160:2;9149:9;9145:18;9137:26;;9173:97;9267:1;9256:9;9252:17;9243:6;9173:97;:::i;:::-;9003:274;;;;:::o;9283:474::-;9351:6;9359;9408:2;9396:9;9387:7;9383:23;9379:32;9376:119;;;9414:79;;:::i;:::-;9376:119;9534:1;9559:53;9604:7;9595:6;9584:9;9580:22;9559:53;:::i;:::-;9549:63;;9505:117;9661:2;9687:53;9732:7;9723:6;9712:9;9708:22;9687:53;:::i;:::-;9677:63;;9632:118;9283:474;;;;;:::o;9763:468::-;9828:6;9836;9885:2;9873:9;9864:7;9860:23;9856:32;9853:119;;;9891:79;;:::i;:::-;9853:119;10011:1;10036:50;10078:7;10069:6;10058:9;10054:22;10036:50;:::i;:::-;10026:60;;9982:114;10135:2;10161:53;10206:7;10197:6;10186:9;10182:22;10161:53;:::i;:::-;10151:63;;10106:118;9763:468;;;;;:::o;10237:180::-;10285:77;10282:1;10275:88;10382:4;10379:1;10372:15;10406:4;10403:1;10396:15;10423:320;10467:6;10504:1;10498:4;10494:12;10484:22;;10551:1;10545:4;10541:12;10572:18;10562:81;;10628:4;10620:6;10616:17;10606:27;;10562:81;10690:2;10682:6;10679:14;10659:18;10656:38;10653:84;;10709:18;;:::i;:::-;10653:84;10474:269;10423:320;;;:::o;10749:179::-;10889:31;10885:1;10877:6;10873:14;10866:55;10749:179;:::o;10934:366::-;11076:3;11097:67;11161:2;11156:3;11097:67;:::i;:::-;11090:74;;11173:93;11262:3;11173:93;:::i;:::-;11291:2;11286:3;11282:12;11275:19;;10934:366;;;:::o;11306:419::-;11472:4;11510:2;11499:9;11495:18;11487:26;;11559:9;11553:4;11549:20;11545:1;11534:9;11530:17;11523:47;11587:131;11713:4;11587:131;:::i;:::-;11579:139;;11306:419;;;:::o;11731:180::-;11779:77;11776:1;11769:88;11876:4;11873:1;11866:15;11900:4;11897:1;11890:15;11917:194;11957:4;11977:20;11995:1;11977:20;:::i;:::-;11972:25;;12011:20;12029:1;12011:20;:::i;:::-;12006:25;;12055:1;12052;12048:9;12040:17;;12079:1;12073:4;12070:11;12067:37;;;12084:18;;:::i;:::-;12067:37;11917:194;;;;:::o;12117:410::-;12157:7;12180:20;12198:1;12180:20;:::i;:::-;12175:25;;12214:20;12232:1;12214:20;:::i;:::-;12209:25;;12269:1;12266;12262:9;12291:30;12309:11;12291:30;:::i;:::-;12280:41;;12470:1;12461:7;12457:15;12454:1;12451:22;12431:1;12424:9;12404:83;12381:139;;12500:18;;:::i;:::-;12381:139;12165:362;12117:410;;;;:::o;12533:180::-;12581:77;12578:1;12571:88;12678:4;12675:1;12668:15;12702:4;12699:1;12692:15;12719:185;12759:1;12776:20;12794:1;12776:20;:::i;:::-;12771:25;;12810:20;12828:1;12810:20;:::i;:::-;12805:25;;12849:1;12839:35;;12854:18;;:::i;:::-;12839:35;12896:1;12893;12889:9;12884:14;;12719:185;;;;:::o;12910:147::-;13011:11;13048:3;13033:18;;12910:147;;;;:::o;13063:114::-;;:::o;13183:398::-;13342:3;13363:83;13444:1;13439:3;13363:83;:::i;:::-;13356:90;;13455:93;13544:3;13455:93;:::i;:::-;13573:1;13568:3;13564:11;13557:18;;13183:398;;;:::o;13587:379::-;13771:3;13793:147;13936:3;13793:147;:::i;:::-;13786:154;;13957:3;13950:10;;13587:379;;;:::o;13972:224::-;14012:3;14031:20;14049:1;14031:20;:::i;:::-;14026:25;;14065:20;14083:1;14065:20;:::i;:::-;14060:25;;14108:1;14105;14101:9;14094:16;;14131:34;14126:3;14123:43;14120:69;;;14169:18;;:::i;:::-;14120:69;13972:224;;;;:::o;14202:225::-;14342:34;14338:1;14330:6;14326:14;14319:58;14411:8;14406:2;14398:6;14394:15;14387:33;14202:225;:::o;14433:366::-;14575:3;14596:67;14660:2;14655:3;14596:67;:::i;:::-;14589:74;;14672:93;14761:3;14672:93;:::i;:::-;14790:2;14785:3;14781:12;14774:19;;14433:366;;;:::o;14805:419::-;14971:4;15009:2;14998:9;14994:18;14986:26;;15058:9;15052:4;15048:20;15044:1;15033:9;15029:17;15022:47;15086:131;15212:4;15086:131;:::i;:::-;15078:139;;14805:419;;;:::o;15230:227::-;15370:34;15366:1;15358:6;15354:14;15347:58;15439:10;15434:2;15426:6;15422:15;15415:35;15230:227;:::o;15463:366::-;15605:3;15626:67;15690:2;15685:3;15626:67;:::i;:::-;15619:74;;15702:93;15791:3;15702:93;:::i;:::-;15820:2;15815:3;15811:12;15804:19;;15463:366;;;:::o;15835:419::-;16001:4;16039:2;16028:9;16024:18;16016:26;;16088:9;16082:4;16078:20;16074:1;16063:9;16059:17;16052:47;16116:131;16242:4;16116:131;:::i;:::-;16108:139;;15835:419;;;:::o;16260:191::-;16300:3;16319:20;16337:1;16319:20;:::i;:::-;16314:25;;16353:20;16371:1;16353:20;:::i;:::-;16348:25;;16396:1;16393;16389:9;16382:16;;16417:3;16414:1;16411:10;16408:36;;;16424:18;;:::i;:::-;16408:36;16260:191;;;;:::o;16457:172::-;16597:24;16593:1;16585:6;16581:14;16574:48;16457:172;:::o;16635:366::-;16777:3;16798:67;16862:2;16857:3;16798:67;:::i;:::-;16791:74;;16874:93;16963:3;16874:93;:::i;:::-;16992:2;16987:3;16983:12;16976:19;;16635:366;;;:::o;17007:419::-;17173:4;17211:2;17200:9;17196:18;17188:26;;17260:9;17254:4;17250:20;17246:1;17235:9;17231:17;17224:47;17288:131;17414:4;17288:131;:::i;:::-;17280:139;;17007:419;;;:::o;17432:170::-;17572:22;17568:1;17560:6;17556:14;17549:46;17432:170;:::o;17608:366::-;17750:3;17771:67;17835:2;17830:3;17771:67;:::i;:::-;17764:74;;17847:93;17936:3;17847:93;:::i;:::-;17965:2;17960:3;17956:12;17949:19;;17608:366;;;:::o;17980:419::-;18146:4;18184:2;18173:9;18169:18;18161:26;;18233:9;18227:4;18223:20;18219:1;18208:9;18204:17;18197:47;18261:131;18387:4;18261:131;:::i;:::-;18253:139;;17980:419;;;:::o;18405:182::-;18545:34;18541:1;18533:6;18529:14;18522:58;18405:182;:::o;18593:366::-;18735:3;18756:67;18820:2;18815:3;18756:67;:::i;:::-;18749:74;;18832:93;18921:3;18832:93;:::i;:::-;18950:2;18945:3;18941:12;18934:19;;18593:366;;;:::o;18965:419::-;19131:4;19169:2;19158:9;19154:18;19146:26;;19218:9;19212:4;19208:20;19204:1;19193:9;19189:17;19182:47;19246:131;19372:4;19246:131;:::i;:::-;19238:139;;18965:419;;;:::o;19390:180::-;19438:77;19435:1;19428:88;19535:4;19532:1;19525:15;19559:4;19556:1;19549:15;19576:180;19624:77;19621:1;19614:88;19721:4;19718:1;19711:15;19745:4;19742:1;19735:15;19762:143;19819:5;19850:6;19844:13;19835:22;;19866:33;19893:5;19866:33;:::i;:::-;19762:143;;;;:::o;19911:351::-;19981:6;20030:2;20018:9;20009:7;20005:23;20001:32;19998:119;;;20036:79;;:::i;:::-;19998:119;20156:1;20181:64;20237:7;20228:6;20217:9;20213:22;20181:64;:::i;:::-;20171:74;;20127:128;19911:351;;;;:::o;20268:85::-;20313:7;20342:5;20331:16;;20268:85;;;:::o;20359:158::-;20417:9;20450:61;20468:42;20477:32;20503:5;20477:32;:::i;:::-;20468:42;:::i;:::-;20450:61;:::i;:::-;20437:74;;20359:158;;;:::o;20523:147::-;20618:45;20657:5;20618:45;:::i;:::-;20613:3;20606:58;20523:147;;:::o;20676:114::-;20743:6;20777:5;20771:12;20761:22;;20676:114;;;:::o;20796:184::-;20895:11;20929:6;20924:3;20917:19;20969:4;20964:3;20960:14;20945:29;;20796:184;;;;:::o;20986:132::-;21053:4;21076:3;21068:11;;21106:4;21101:3;21097:14;21089:22;;20986:132;;;:::o;21124:108::-;21201:24;21219:5;21201:24;:::i;:::-;21196:3;21189:37;21124:108;;:::o;21238:179::-;21307:10;21328:46;21370:3;21362:6;21328:46;:::i;:::-;21406:4;21401:3;21397:14;21383:28;;21238:179;;;;:::o;21423:113::-;21493:4;21525;21520:3;21516:14;21508:22;;21423:113;;;:::o;21572:732::-;21691:3;21720:54;21768:5;21720:54;:::i;:::-;21790:86;21869:6;21864:3;21790:86;:::i;:::-;21783:93;;21900:56;21950:5;21900:56;:::i;:::-;21979:7;22010:1;21995:284;22020:6;22017:1;22014:13;21995:284;;;22096:6;22090:13;22123:63;22182:3;22167:13;22123:63;:::i;:::-;22116:70;;22209:60;22262:6;22209:60;:::i;:::-;22199:70;;22055:224;22042:1;22039;22035:9;22030:14;;21995:284;;;21999:14;22295:3;22288:10;;21696:608;;;21572:732;;;;:::o;22310:831::-;22573:4;22611:3;22600:9;22596:19;22588:27;;22625:71;22693:1;22682:9;22678:17;22669:6;22625:71;:::i;:::-;22706:80;22782:2;22771:9;22767:18;22758:6;22706:80;:::i;:::-;22833:9;22827:4;22823:20;22818:2;22807:9;22803:18;22796:48;22861:108;22964:4;22955:6;22861:108;:::i;:::-;22853:116;;22979:72;23047:2;23036:9;23032:18;23023:6;22979:72;:::i;:::-;23061:73;23129:3;23118:9;23114:19;23105:6;23061:73;:::i;:::-;22310:831;;;;;;;;:::o;23147:227::-;23187:4;23207:20;23225:1;23207:20;:::i;:::-;23202:25;;23241:20;23259:1;23241:20;:::i;:::-;23236:25;;23285:1;23282;23278:9;23270:17;;23309:34;23303:4;23300:44;23297:70;;;23347:18;;:::i;:::-;23297:70;23147:227;;;;:::o;23380:166::-;23520:18;23516:1;23508:6;23504:14;23497:42;23380:166;:::o;23552:366::-;23694:3;23715:67;23779:2;23774:3;23715:67;:::i;:::-;23708:74;;23791:93;23880:3;23791:93;:::i;:::-;23909:2;23904:3;23900:12;23893:19;;23552:366;;;:::o;23924:419::-;24090:4;24128:2;24117:9;24113:18;24105:26;;24177:9;24171:4;24167:20;24163:1;24152:9;24148:17;24141:47;24205:131;24331:4;24205:131;:::i;:::-;24197:139;;23924:419;;;:::o;24349:332::-;24470:4;24508:2;24497:9;24493:18;24485:26;;24521:71;24589:1;24578:9;24574:17;24565:6;24521:71;:::i;:::-;24602:72;24670:2;24659:9;24655:18;24646:6;24602:72;:::i;:::-;24349:332;;;;;:::o

Swarm Source

ipfs://461d21f37fd4281c083f03a28796b598a3553c52037b075ebe641e639fc5c89b
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.