ETH Price: $3,434.67 (+7.60%)
Gas: 14 Gwei

Token

Hollywood X PEPE ($HXPE)
 

Overview

Max Total Supply

100,000,000,000 $HXPE

Holders

415

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
325,947.71241830065359477 $HXPE

Value
$0.00
0x03295a1df357339b75e1af5a2542472dd0a88e35
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:
HXPE

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-15
*/

/*

██╗  ██╗ ██████╗ ██╗     ██╗  ██╗   ██╗██╗    ██╗ ██████╗  ██████╗ ██████╗ 
██║  ██║██╔═══██╗██║     ██║  ╚██╗ ██╔╝██║    ██║██╔═══██╗██╔═══██╗██╔══██╗
███████║██║   ██║██║     ██║   ╚████╔╝ ██║ █╗ ██║██║   ██║██║   ██║██║  ██║
██╔══██║██║   ██║██║     ██║    ╚██╔╝  ██║███╗██║██║   ██║██║   ██║██║  ██║
██║  ██║╚██████╔╝███████╗███████╗██║   ╚███╔███╔╝╚██████╔╝╚██████╔╝██████╔╝
╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝    ╚══╝╚══╝  ╚═════╝  ╚═════╝ ╚═════╝ 
                                                                           
            ██╗  ██╗    ██████╗ ███████╗██████╗ ███████╗                   
            ╚██╗██╔╝    ██╔══██╗██╔════╝██╔══██╗██╔════╝                   
             ╚███╔╝     ██████╔╝█████╗  ██████╔╝█████╗                     
             ██╔██╗     ██╔═══╝ ██╔══╝  ██╔═══╝ ██╔══╝                     
            ██╔╝ ██╗    ██║     ███████╗██║     ███████╗                   
            ╚═╝  ╚═╝    ╚═╝     ╚══════╝╚═╝     ╚══════╝                   
                                                                           

Official Links

Telegram: https://t.me/hollywoodxpepe
Twitter: https://twitter.com/hollywoodxpepe
YouTube: https://www.youtube.com/@hollywoodpepe
Website: http://hollywoodxpepe.com/
GitHub: https://github.com/hollywoodxpepe

*/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
   
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

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

        (bool success, ) = recipient.call{value: amount}("");
        return success;
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, 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;
        _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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

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

contract HXPE is ERC20, Ownable {
    using Address for address payable;

    IUniswapV2Router02 public uniswapV2Router;
    address public  uniswapV2Pair;

    mapping (address => bool) private _isExcludedFromFees;

    string  public creator;

    uint256 public  marketingFeeOnBuy;
    uint256 public  marketingFeeOnSell;

    address public  marketingWallet;

    uint256 public  swapTokensAtAmount;
    bool    private swapping;

    bool    public swapEnabled;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SwapAndSendMarketing(uint256 tokensSwapped, uint256 bnbSend);
    event SwapTokensAtAmountUpdated(uint256 swapTokensAtAmount);

    constructor () ERC20("Hollywood X PEPE", "$HXPE") 
    {   
        address router;
        router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair   = _uniswapV2Pair;

        _approve(address(this), address(uniswapV2Router), type(uint256).max);

        marketingFeeOnBuy  = 0;
        marketingFeeOnSell = 5;

        marketingWallet = 0xE29cD7D00004b402603c241aAcF4E1c6eD1a89c0;

        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(0xdead)] = true;
        _isExcludedFromFees[address(this)] = true;

        _mint(owner(), 1e11 * (10 ** decimals()));
        swapTokensAtAmount = totalSupply() / 5_000;

        tradingEnabled = false;
        swapEnabled = false;
    }

    receive() external payable {

  	}

    function claimStuckTokens(address token) external onlyOwner {
        require(token != address(this), "Owner cannot claim contract's balance of its own tokens");
        if (token == address(0x0)) {
            payable(msg.sender).sendValue(address(this).balance);
            return;
        }
        IERC20 ERC20token = IERC20(token);
        uint256 balance = ERC20token.balanceOf(address(this));
        ERC20token.transfer(msg.sender, balance);
    }

    function excludeFromFees(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromFees[account] = excluded;

        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
        swapEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

		uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap &&
            !swapping &&
            to == uniswapV2Pair &&
            swapEnabled
        ) {
            swapping = true;

            swapAndSendMarketing(contractTokenBalance);     

            swapping = false;
        }

        uint256 _totalFees;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
            _totalFees = 0;
        } else if (from == uniswapV2Pair) {
            _totalFees = marketingFeeOnBuy;
        } else if (to == uniswapV2Pair) {
            _totalFees =  marketingFeeOnSell;
        } else {
            _totalFees = 0;
        }

        if (_totalFees > 0) {
            uint256 fees = (amount * _totalFees) / 100;
            amount = amount - fees;
            super._transfer(from, address(this), fees);
        }


        super._transfer(from, to, amount);
    }

    function setSwapEnabled(bool _enabled) external onlyOwner{
        require(swapEnabled != _enabled, "swapEnabled already at this state.");
        swapEnabled = _enabled;
    }

    function setSwapTokensAtAmount(uint256 newAmount) external onlyOwner{
        require(newAmount > totalSupply() / 1_000_000, "SwapTokensAtAmount must be greater than 0.0001% of total supply");
        swapTokensAtAmount = newAmount;

        emit SwapTokensAtAmountUpdated(swapTokensAtAmount);
    }

    function swapAndSendMarketing(uint256 tokenAmount) private {
        uint256 initialBalance = address(this).balance;

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

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

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

        payable(marketingWallet).sendValue(newBalance);

        emit SwapAndSendMarketing(tokenAmount, newBalance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendMarketing","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"SwapTokensAtAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280601081526020017f486f6c6c79776f6f6420582050455045000000000000000000000000000000008152506040518060400160405280600581526020017f244858504500000000000000000000000000000000000000000000000000000081525081600390816200008f919062000bf7565b508060049081620000a1919062000bf7565b5050506000620000b6620005e560201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e7919062000d48565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000d48565b6040518363ffffffff1660e01b81526004016200029492919062000d8b565b6020604051808303816000875af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da919062000d48565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620005ed60201b60201c565b6000600a819055506005600b8190555073e29cd7d00004b402603c241aacf4e1c6ed1a89c0600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006200042e620007be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200058162000545620007be60201b60201c565b62000555620007e860201b60201c565b600a62000563919062000f48565b64174876e80062000575919062000f99565b620007f160201b60201c565b611388620005946200096960201b60201c565b620005a0919062001013565b600d819055506000600e60026101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff02191690831515021790555050505062001267565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200065f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200065690620010d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620006d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c8906200116a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620007b191906200119d565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000863576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200085a906200120a565b60405180910390fd5b62000877600083836200097360201b60201c565b80600260008282546200088b91906200122c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620008e291906200122c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200094991906200119d565b60405180910390a362000965600083836200097860201b60201c565b5050565b6000600254905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620009ff57607f821691505b60208210810362000a155762000a14620009b7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a40565b62000a8b868362000a40565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ad862000ad262000acc8462000aa3565b62000aad565b62000aa3565b9050919050565b6000819050919050565b62000af48362000ab7565b62000b0c62000b038262000adf565b84845462000a4d565b825550505050565b600090565b62000b2362000b14565b62000b3081848462000ae9565b505050565b5b8181101562000b585762000b4c60008262000b19565b60018101905062000b36565b5050565b601f82111562000ba75762000b718162000a1b565b62000b7c8462000a30565b8101602085101562000b8c578190505b62000ba462000b9b8562000a30565b83018262000b35565b50505b505050565b600082821c905092915050565b600062000bcc6000198460080262000bac565b1980831691505092915050565b600062000be7838362000bb9565b9150826002028217905092915050565b62000c02826200097d565b67ffffffffffffffff81111562000c1e5762000c1d62000988565b5b62000c2a8254620009e6565b62000c3782828562000b5c565b600060209050601f83116001811462000c6f576000841562000c5a578287015190505b62000c66858262000bd9565b86555062000cd6565b601f19841662000c7f8662000a1b565b60005b8281101562000ca95784890151825560018201915060208501945060208101905062000c82565b8683101562000cc9578489015162000cc5601f89168262000bb9565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d108262000ce3565b9050919050565b62000d228162000d03565b811462000d2e57600080fd5b50565b60008151905062000d428162000d17565b92915050565b60006020828403121562000d615762000d6062000cde565b5b600062000d718482850162000d31565b91505092915050565b62000d858162000d03565b82525050565b600060408201905062000da2600083018562000d7a565b62000db1602083018462000d7a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000e465780860481111562000e1e5762000e1d62000db8565b5b600185161562000e2e5780820291505b808102905062000e3e8562000de7565b945062000dfe565b94509492505050565b60008262000e61576001905062000f34565b8162000e71576000905062000f34565b816001811462000e8a576002811462000e955762000ecb565b600191505062000f34565b60ff84111562000eaa5762000ea962000db8565b5b8360020a91508482111562000ec45762000ec362000db8565b5b5062000f34565b5060208310610133831016604e8410600b841016171562000f055782820a90508381111562000eff5762000efe62000db8565b5b62000f34565b62000f14848484600162000df4565b9250905081840481111562000f2e5762000f2d62000db8565b5b81810290505b9392505050565b600060ff82169050919050565b600062000f558262000aa3565b915062000f628362000f3b565b925062000f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e4f565b905092915050565b600062000fa68262000aa3565b915062000fb38362000aa3565b925082820262000fc38162000aa3565b9150828204841483151762000fdd5762000fdc62000db8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620010208262000aa3565b91506200102d8362000aa3565b92508262001040576200103f62000fe4565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620010ba6024836200104b565b9150620010c7826200105c565b604082019050919050565b60006020820190508181036000830152620010ed81620010ab565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000620011526022836200104b565b91506200115f82620010f4565b604082019050919050565b60006020820190508181036000830152620011858162001143565b9050919050565b620011978162000aa3565b82525050565b6000602082019050620011b460008301846200118c565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620011f2601f836200104b565b9150620011ff82620011ba565b602082019050919050565b600060208201905081810360008301526200122581620011e3565b9050919050565b6000620012398262000aa3565b9150620012468362000aa3565b925082820190508082111562001261576200126062000db8565b5b92915050565b6136a780620012776000396000f3fe6080604052600436106101c65760003560e01c8063715018a6116100f7578063afa4f3b211610095578063e01af92c11610064578063e01af92c14610669578063e2f4560514610692578063f2fde38b146106bd578063f9d0831a146106e6576101cd565b8063afa4f3b2146105af578063c0246668146105d8578063dc4c7dbc14610601578063dd62ed3e1461062c576101cd565b80638da5cb5b116100d15780638da5cb5b146104df57806395d89b411461050a578063a457c2d714610535578063a9059cbb14610572576101cd565b8063715018a61461048657806375f0a8741461049d5780638a8c523c146104c8576101cd565b806339509351116101645780634fbee1931161013e5780634fbee193146103b65780635fc2e596146103f35780636ddd17131461041e57806370a0823114610449576101cd565b8063395093511461032357806349bd5a5e146103605780634ada218b1461038b576101cd565b80631694505e116101a05780631694505e1461026557806318160ddd1461029057806323b872dd146102bb578063313ce567146102f8576101cd565b806302d05d3f146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761070f565b6040516101f49190612585565b60405180910390f35b34801561020957600080fd5b5061021261079d565b60405161021f9190612585565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612640565b61082f565b60405161025c919061269b565b60405180910390f35b34801561027157600080fd5b5061027a61084d565b6040516102879190612715565b60405180910390f35b34801561029c57600080fd5b506102a5610873565b6040516102b2919061273f565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd919061275a565b61087d565b6040516102ef919061269b565b60405180910390f35b34801561030457600080fd5b5061030d61099c565b60405161031a91906127c9565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190612640565b6109a5565b604051610357919061269b565b60405180910390f35b34801561036c57600080fd5b50610375610a51565b60405161038291906127f3565b60405180910390f35b34801561039757600080fd5b506103a0610a77565b6040516103ad919061269b565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d8919061280e565b610a8a565b6040516103ea919061269b565b60405180910390f35b3480156103ff57600080fd5b50610408610ae0565b604051610415919061273f565b60405180910390f35b34801561042a57600080fd5b50610433610ae6565b604051610440919061269b565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b919061280e565b610af9565b60405161047d919061273f565b60405180910390f35b34801561049257600080fd5b5061049b610b41565b005b3480156104a957600080fd5b506104b2610c99565b6040516104bf91906127f3565b60405180910390f35b3480156104d457600080fd5b506104dd610cbf565b005b3480156104eb57600080fd5b506104f4610dde565b60405161050191906127f3565b60405180910390f35b34801561051657600080fd5b5061051f610e08565b60405161052c9190612585565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612640565b610e9a565b604051610569919061269b565b60405180910390f35b34801561057e57600080fd5b5061059960048036038101906105949190612640565b610f85565b6040516105a6919061269b565b60405180910390f35b3480156105bb57600080fd5b506105d660048036038101906105d1919061283b565b610fa3565b005b3480156105e457600080fd5b506105ff60048036038101906105fa9190612894565b6110d4565b005b34801561060d57600080fd5b506106166112a6565b604051610623919061273f565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e91906128d4565b6112ac565b604051610660919061273f565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190612914565b611333565b005b34801561069e57600080fd5b506106a761143c565b6040516106b4919061273f565b60405180910390f35b3480156106c957600080fd5b506106e460048036038101906106df919061280e565b611442565b005b3480156106f257600080fd5b5061070d6004803603810190610708919061280e565b611608565b005b6009805461071c90612970565b80601f016020809104026020016040519081016040528092919081815260200182805461074890612970565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b505050505081565b6060600380546107ac90612970565b80601f01602080910402602001604051908101604052809291908181526020018280546107d890612970565b80156108255780601f106107fa57610100808354040283529160200191610825565b820191906000526020600020905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b600061084361083c611878565b8484611880565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108c9611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109855782811015610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612a13565b60405180910390fd5b6109848561097c611878565b858403611880565b5b610990858585611a49565b60019150509392505050565b60006012905090565b6000610a476109b2611878565b8484600160006109c0611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a429190612a62565b611880565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b49611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90612ae2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cc7611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90612ae2565b60405180910390fd5b600e60029054906101000a900460ff1615610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612b4e565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e1790612970565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4390612970565b8015610e905780601f10610e6557610100808354040283529160200191610e90565b820191906000526020600020905b815481529060010190602001808311610e7357829003601f168201915b5050505050905090565b60008060016000610ea9611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5d90612be0565b60405180910390fd5b610f7a610f71611878565b85858403611880565b600191505092915050565b6000610f99610f92611878565b8484611a49565b6001905092915050565b610fab611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190612ae2565b60405180910390fd5b620f4240611046610873565b6110509190612c2f565b8111611091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108890612cd2565b60405180910390fd5b80600d819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600d546040516110c9919061273f565b60405180910390a150565b6110dc611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612ae2565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036111fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f490612d64565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161129a919061269b565b60405180910390a25050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61133b611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190612ae2565b60405180910390fd5b801515600e60019054906101000a900460ff1615150361141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141690612df6565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b600d5481565b61144a611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612ae2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612e88565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611610611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612ae2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490612f1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117705761176a473373ffffffffffffffffffffffffffffffffffffffff16611eff90919063ffffffff16565b50611875565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117b091906127f3565b602060405180830381865afa1580156117cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f19190612f4f565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161182e929190612f7c565b6020604051808303816000875af115801561184d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118719190612fba565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e690613059565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361195e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611955906130eb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a3c919061273f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf9061317d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e9061320f565b60405180910390fd5b600e60029054906101000a900460ff1680611b8b5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bdf5750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c159061327b565b60405180910390fd5b60008103611c3757611c3283836000611fba565b611efa565b6000611c4230610af9565b90506000600d548210159050808015611c685750600e60009054906101000a900460ff16155b8015611cc15750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611cd95750600e60019054906101000a900460ff165b15611d1e576001600e60006101000a81548160ff021916908315150217905550611d0282612239565b6000600e60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dc15750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dd85750600e60009054906101000a900460ff165b15611de65760009050611eab565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611e4557600a549050611eaa565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611ea457600b549050611ea9565b600090505b5b5b6000811115611eeb57600060648286611ec4919061329b565b611ece9190612c2f565b90508085611edc91906132dd565b9450611ee9873083611fba565b505b611ef6868686611fba565b5050505b505050565b600081471015611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b9061335d565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051611f6a906133ae565b60006040518083038185875af1925050503d8060008114611fa7576040519150601f19603f3d011682016040523d82523d6000602084013e611fac565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612029576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120209061317d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208f9061320f565b60405180910390fd5b6120a38383836124eb565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212090613435565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121bc9190612a62565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612220919061273f565b60405180910390a36122338484846124f0565b50505050565b60004790506000600267ffffffffffffffff81111561225b5761225a613455565b5b6040519080825280602002602001820160405280156122895781602001602082028036833780820191505090505b50905030816000815181106122a1576122a0613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236c91906134c8565b816001815181106123805761237f613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b815260040161241e9594939291906135ee565b600060405180830381600087803b15801561243857600080fd5b505af115801561244c573d6000803e3d6000fd5b505050506000824761245e91906132dd565b90506124ab81600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eff90919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516124dd929190613648565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561252f578082015181840152602081019050612514565b60008484015250505050565b6000601f19601f8301169050919050565b6000612557826124f5565b6125618185612500565b9350612571818560208601612511565b61257a8161253b565b840191505092915050565b6000602082019050818103600083015261259f818461254c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125d7826125ac565b9050919050565b6125e7816125cc565b81146125f257600080fd5b50565b600081359050612604816125de565b92915050565b6000819050919050565b61261d8161260a565b811461262857600080fd5b50565b60008135905061263a81612614565b92915050565b60008060408385031215612657576126566125a7565b5b6000612665858286016125f5565b92505060206126768582860161262b565b9150509250929050565b60008115159050919050565b61269581612680565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6000819050919050565b60006126db6126d66126d1846125ac565b6126b6565b6125ac565b9050919050565b60006126ed826126c0565b9050919050565b60006126ff826126e2565b9050919050565b61270f816126f4565b82525050565b600060208201905061272a6000830184612706565b92915050565b6127398161260a565b82525050565b60006020820190506127546000830184612730565b92915050565b600080600060608486031215612773576127726125a7565b5b6000612781868287016125f5565b9350506020612792868287016125f5565b92505060406127a38682870161262b565b9150509250925092565b600060ff82169050919050565b6127c3816127ad565b82525050565b60006020820190506127de60008301846127ba565b92915050565b6127ed816125cc565b82525050565b600060208201905061280860008301846127e4565b92915050565b600060208284031215612824576128236125a7565b5b6000612832848285016125f5565b91505092915050565b600060208284031215612851576128506125a7565b5b600061285f8482850161262b565b91505092915050565b61287181612680565b811461287c57600080fd5b50565b60008135905061288e81612868565b92915050565b600080604083850312156128ab576128aa6125a7565b5b60006128b9858286016125f5565b92505060206128ca8582860161287f565b9150509250929050565b600080604083850312156128eb576128ea6125a7565b5b60006128f9858286016125f5565b925050602061290a858286016125f5565b9150509250929050565b60006020828403121561292a576129296125a7565b5b60006129388482850161287f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061298857607f821691505b60208210810361299b5761299a612941565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129fd602883612500565b9150612a08826129a1565b604082019050919050565b60006020820190508181036000830152612a2c816129f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a6d8261260a565b9150612a788361260a565b9250828201905080821115612a9057612a8f612a33565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612acc602083612500565b9150612ad782612a96565b602082019050919050565b60006020820190508181036000830152612afb81612abf565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612b38601883612500565b9150612b4382612b02565b602082019050919050565b60006020820190508181036000830152612b6781612b2b565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612bca602583612500565b9150612bd582612b6e565b604082019050919050565b60006020820190508181036000830152612bf981612bbd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c3a8261260a565b9150612c458361260a565b925082612c5557612c54612c00565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b6000612cbc603f83612500565b9150612cc782612c60565b604082019050919050565b60006020820190508181036000830152612ceb81612caf565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000612d4e602a83612500565b9150612d5982612cf2565b604082019050919050565b60006020820190508181036000830152612d7d81612d41565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000612de0602283612500565b9150612deb82612d84565b604082019050919050565b60006020820190508181036000830152612e0f81612dd3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e72602683612500565b9150612e7d82612e16565b604082019050919050565b60006020820190508181036000830152612ea181612e65565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b6000612f04603783612500565b9150612f0f82612ea8565b604082019050919050565b60006020820190508181036000830152612f3381612ef7565b9050919050565b600081519050612f4981612614565b92915050565b600060208284031215612f6557612f646125a7565b5b6000612f7384828501612f3a565b91505092915050565b6000604082019050612f9160008301856127e4565b612f9e6020830184612730565b9392505050565b600081519050612fb481612868565b92915050565b600060208284031215612fd057612fcf6125a7565b5b6000612fde84828501612fa5565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613043602483612500565b915061304e82612fe7565b604082019050919050565b6000602082019050818103600083015261307281613036565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d5602283612500565b91506130e082613079565b604082019050919050565b60006020820190508181036000830152613104816130c8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613167602583612500565b91506131728261310b565b604082019050919050565b600060208201905081810360008301526131968161315a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131f9602383612500565b91506132048261319d565b604082019050919050565b60006020820190508181036000830152613228816131ec565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000613265601883612500565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b60006132a68261260a565b91506132b18361260a565b92508282026132bf8161260a565b915082820484148315176132d6576132d5612a33565b5b5092915050565b60006132e88261260a565b91506132f38361260a565b925082820390508181111561330b5761330a612a33565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613347601d83612500565b915061335282613311565b602082019050919050565b600060208201905081810360008301526133768161333a565b9050919050565b600081905092915050565b50565b600061339860008361337d565b91506133a382613388565b600082019050919050565b60006133b98261338b565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061341f602683612500565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134c2816125de565b92915050565b6000602082840312156134de576134dd6125a7565b5b60006134ec848285016134b3565b91505092915050565b6000819050919050565b600061351a613515613510846134f5565b6126b6565b61260a565b9050919050565b61352a816134ff565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613565816125cc565b82525050565b6000613577838361355c565b60208301905092915050565b6000602082019050919050565b600061359b82613530565b6135a5818561353b565b93506135b08361354c565b8060005b838110156135e15781516135c8888261356b565b97506135d383613583565b9250506001810190506135b4565b5085935050505092915050565b600060a0820190506136036000830188612730565b6136106020830187613521565b81810360408301526136228186613590565b905061363160608301856127e4565b61363e6080830184612730565b9695505050505050565b600060408201905061365d6000830185612730565b61366a6020830184612730565b939250505056fea2646970667358221220c9345d35459bf30c10bdd3290ae411f95e8419f513d7675a6addb2a91b005b6664736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c8063715018a6116100f7578063afa4f3b211610095578063e01af92c11610064578063e01af92c14610669578063e2f4560514610692578063f2fde38b146106bd578063f9d0831a146106e6576101cd565b8063afa4f3b2146105af578063c0246668146105d8578063dc4c7dbc14610601578063dd62ed3e1461062c576101cd565b80638da5cb5b116100d15780638da5cb5b146104df57806395d89b411461050a578063a457c2d714610535578063a9059cbb14610572576101cd565b8063715018a61461048657806375f0a8741461049d5780638a8c523c146104c8576101cd565b806339509351116101645780634fbee1931161013e5780634fbee193146103b65780635fc2e596146103f35780636ddd17131461041e57806370a0823114610449576101cd565b8063395093511461032357806349bd5a5e146103605780634ada218b1461038b576101cd565b80631694505e116101a05780631694505e1461026557806318160ddd1461029057806323b872dd146102bb578063313ce567146102f8576101cd565b806302d05d3f146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761070f565b6040516101f49190612585565b60405180910390f35b34801561020957600080fd5b5061021261079d565b60405161021f9190612585565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612640565b61082f565b60405161025c919061269b565b60405180910390f35b34801561027157600080fd5b5061027a61084d565b6040516102879190612715565b60405180910390f35b34801561029c57600080fd5b506102a5610873565b6040516102b2919061273f565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd919061275a565b61087d565b6040516102ef919061269b565b60405180910390f35b34801561030457600080fd5b5061030d61099c565b60405161031a91906127c9565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190612640565b6109a5565b604051610357919061269b565b60405180910390f35b34801561036c57600080fd5b50610375610a51565b60405161038291906127f3565b60405180910390f35b34801561039757600080fd5b506103a0610a77565b6040516103ad919061269b565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d8919061280e565b610a8a565b6040516103ea919061269b565b60405180910390f35b3480156103ff57600080fd5b50610408610ae0565b604051610415919061273f565b60405180910390f35b34801561042a57600080fd5b50610433610ae6565b604051610440919061269b565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b919061280e565b610af9565b60405161047d919061273f565b60405180910390f35b34801561049257600080fd5b5061049b610b41565b005b3480156104a957600080fd5b506104b2610c99565b6040516104bf91906127f3565b60405180910390f35b3480156104d457600080fd5b506104dd610cbf565b005b3480156104eb57600080fd5b506104f4610dde565b60405161050191906127f3565b60405180910390f35b34801561051657600080fd5b5061051f610e08565b60405161052c9190612585565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190612640565b610e9a565b604051610569919061269b565b60405180910390f35b34801561057e57600080fd5b5061059960048036038101906105949190612640565b610f85565b6040516105a6919061269b565b60405180910390f35b3480156105bb57600080fd5b506105d660048036038101906105d1919061283b565b610fa3565b005b3480156105e457600080fd5b506105ff60048036038101906105fa9190612894565b6110d4565b005b34801561060d57600080fd5b506106166112a6565b604051610623919061273f565b60405180910390f35b34801561063857600080fd5b50610653600480360381019061064e91906128d4565b6112ac565b604051610660919061273f565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190612914565b611333565b005b34801561069e57600080fd5b506106a761143c565b6040516106b4919061273f565b60405180910390f35b3480156106c957600080fd5b506106e460048036038101906106df919061280e565b611442565b005b3480156106f257600080fd5b5061070d6004803603810190610708919061280e565b611608565b005b6009805461071c90612970565b80601f016020809104026020016040519081016040528092919081815260200182805461074890612970565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b505050505081565b6060600380546107ac90612970565b80601f01602080910402602001604051908101604052809291908181526020018280546107d890612970565b80156108255780601f106107fa57610100808354040283529160200191610825565b820191906000526020600020905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b600061084361083c611878565b8484611880565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108c9611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109855782811015610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612a13565b60405180910390fd5b6109848561097c611878565b858403611880565b5b610990858585611a49565b60019150509392505050565b60006012905090565b6000610a476109b2611878565b8484600160006109c0611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a429190612a62565b611880565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60029054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b49611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90612ae2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cc7611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90612ae2565b60405180910390fd5b600e60029054906101000a900460ff1615610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612b4e565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e1790612970565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4390612970565b8015610e905780601f10610e6557610100808354040283529160200191610e90565b820191906000526020600020905b815481529060010190602001808311610e7357829003601f168201915b5050505050905090565b60008060016000610ea9611878565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5d90612be0565b60405180910390fd5b610f7a610f71611878565b85858403611880565b600191505092915050565b6000610f99610f92611878565b8484611a49565b6001905092915050565b610fab611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190612ae2565b60405180910390fd5b620f4240611046610873565b6110509190612c2f565b8111611091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108890612cd2565b60405180910390fd5b80600d819055507f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b145600d546040516110c9919061273f565b60405180910390a150565b6110dc611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612ae2565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036111fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f490612d64565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161129a919061269b565b60405180910390a25050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61133b611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190612ae2565b60405180910390fd5b801515600e60019054906101000a900460ff1615150361141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141690612df6565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b600d5481565b61144a611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612ae2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612e88565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611610611878565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612ae2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490612f1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117705761176a473373ffffffffffffffffffffffffffffffffffffffff16611eff90919063ffffffff16565b50611875565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117b091906127f3565b602060405180830381865afa1580156117cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f19190612f4f565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161182e929190612f7c565b6020604051808303816000875af115801561184d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118719190612fba565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e690613059565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361195e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611955906130eb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a3c919061273f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf9061317d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e9061320f565b60405180910390fd5b600e60029054906101000a900460ff1680611b8b5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bdf5750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c159061327b565b60405180910390fd5b60008103611c3757611c3283836000611fba565b611efa565b6000611c4230610af9565b90506000600d548210159050808015611c685750600e60009054906101000a900460ff16155b8015611cc15750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611cd95750600e60019054906101000a900460ff165b15611d1e576001600e60006101000a81548160ff021916908315150217905550611d0282612239565b6000600e60006101000a81548160ff0219169083151502179055505b6000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dc15750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dd85750600e60009054906101000a900460ff165b15611de65760009050611eab565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611e4557600a549050611eaa565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611ea457600b549050611ea9565b600090505b5b5b6000811115611eeb57600060648286611ec4919061329b565b611ece9190612c2f565b90508085611edc91906132dd565b9450611ee9873083611fba565b505b611ef6868686611fba565b5050505b505050565b600081471015611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b9061335d565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051611f6a906133ae565b60006040518083038185875af1925050503d8060008114611fa7576040519150601f19603f3d011682016040523d82523d6000602084013e611fac565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612029576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120209061317d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208f9061320f565b60405180910390fd5b6120a38383836124eb565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212090613435565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121bc9190612a62565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612220919061273f565b60405180910390a36122338484846124f0565b50505050565b60004790506000600267ffffffffffffffff81111561225b5761225a613455565b5b6040519080825280602002602001820160405280156122895781602001602082028036833780820191505090505b50905030816000815181106122a1576122a0613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236c91906134c8565b816001815181106123805761237f613484565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b815260040161241e9594939291906135ee565b600060405180830381600087803b15801561243857600080fd5b505af115801561244c573d6000803e3d6000fd5b505050506000824761245e91906132dd565b90506124ab81600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611eff90919063ffffffff16565b507f957ad1fc6d4d41da6d1a8d37303289ef3c4b78e0285ff5df1e12070ef0e6299984826040516124dd929190613648565b60405180910390a150505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561252f578082015181840152602081019050612514565b60008484015250505050565b6000601f19601f8301169050919050565b6000612557826124f5565b6125618185612500565b9350612571818560208601612511565b61257a8161253b565b840191505092915050565b6000602082019050818103600083015261259f818461254c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125d7826125ac565b9050919050565b6125e7816125cc565b81146125f257600080fd5b50565b600081359050612604816125de565b92915050565b6000819050919050565b61261d8161260a565b811461262857600080fd5b50565b60008135905061263a81612614565b92915050565b60008060408385031215612657576126566125a7565b5b6000612665858286016125f5565b92505060206126768582860161262b565b9150509250929050565b60008115159050919050565b61269581612680565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6000819050919050565b60006126db6126d66126d1846125ac565b6126b6565b6125ac565b9050919050565b60006126ed826126c0565b9050919050565b60006126ff826126e2565b9050919050565b61270f816126f4565b82525050565b600060208201905061272a6000830184612706565b92915050565b6127398161260a565b82525050565b60006020820190506127546000830184612730565b92915050565b600080600060608486031215612773576127726125a7565b5b6000612781868287016125f5565b9350506020612792868287016125f5565b92505060406127a38682870161262b565b9150509250925092565b600060ff82169050919050565b6127c3816127ad565b82525050565b60006020820190506127de60008301846127ba565b92915050565b6127ed816125cc565b82525050565b600060208201905061280860008301846127e4565b92915050565b600060208284031215612824576128236125a7565b5b6000612832848285016125f5565b91505092915050565b600060208284031215612851576128506125a7565b5b600061285f8482850161262b565b91505092915050565b61287181612680565b811461287c57600080fd5b50565b60008135905061288e81612868565b92915050565b600080604083850312156128ab576128aa6125a7565b5b60006128b9858286016125f5565b92505060206128ca8582860161287f565b9150509250929050565b600080604083850312156128eb576128ea6125a7565b5b60006128f9858286016125f5565b925050602061290a858286016125f5565b9150509250929050565b60006020828403121561292a576129296125a7565b5b60006129388482850161287f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061298857607f821691505b60208210810361299b5761299a612941565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129fd602883612500565b9150612a08826129a1565b604082019050919050565b60006020820190508181036000830152612a2c816129f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a6d8261260a565b9150612a788361260a565b9250828201905080821115612a9057612a8f612a33565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612acc602083612500565b9150612ad782612a96565b602082019050919050565b60006020820190508181036000830152612afb81612abf565b9050919050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612b38601883612500565b9150612b4382612b02565b602082019050919050565b60006020820190508181036000830152612b6781612b2b565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612bca602583612500565b9150612bd582612b6e565b604082019050919050565b60006020820190508181036000830152612bf981612bbd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c3a8261260a565b9150612c458361260a565b925082612c5557612c54612c00565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c7900602082015250565b6000612cbc603f83612500565b9150612cc782612c60565b604082019050919050565b60006020820190508181036000830152612ceb81612caf565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b6000612d4e602a83612500565b9150612d5982612cf2565b604082019050919050565b60006020820190508181036000830152612d7d81612d41565b9050919050565b7f73776170456e61626c656420616c72656164792061742074686973207374617460008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000612de0602283612500565b9150612deb82612d84565b604082019050919050565b60006020820190508181036000830152612e0f81612dd3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e72602683612500565b9150612e7d82612e16565b604082019050919050565b60006020820190508181036000830152612ea181612e65565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b6000612f04603783612500565b9150612f0f82612ea8565b604082019050919050565b60006020820190508181036000830152612f3381612ef7565b9050919050565b600081519050612f4981612614565b92915050565b600060208284031215612f6557612f646125a7565b5b6000612f7384828501612f3a565b91505092915050565b6000604082019050612f9160008301856127e4565b612f9e6020830184612730565b9392505050565b600081519050612fb481612868565b92915050565b600060208284031215612fd057612fcf6125a7565b5b6000612fde84828501612fa5565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613043602483612500565b915061304e82612fe7565b604082019050919050565b6000602082019050818103600083015261307281613036565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d5602283612500565b91506130e082613079565b604082019050919050565b60006020820190508181036000830152613104816130c8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613167602583612500565b91506131728261310b565b604082019050919050565b600060208201905081810360008301526131968161315a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131f9602383612500565b91506132048261319d565b604082019050919050565b60006020820190508181036000830152613228816131ec565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000613265601883612500565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b60006132a68261260a565b91506132b18361260a565b92508282026132bf8161260a565b915082820484148315176132d6576132d5612a33565b5b5092915050565b60006132e88261260a565b91506132f38361260a565b925082820390508181111561330b5761330a612a33565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000613347601d83612500565b915061335282613311565b602082019050919050565b600060208201905081810360008301526133768161333a565b9050919050565b600081905092915050565b50565b600061339860008361337d565b91506133a382613388565b600082019050919050565b60006133b98261338b565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061341f602683612500565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134c2816125de565b92915050565b6000602082840312156134de576134dd6125a7565b5b60006134ec848285016134b3565b91505092915050565b6000819050919050565b600061351a613515613510846134f5565b6126b6565b61260a565b9050919050565b61352a816134ff565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613565816125cc565b82525050565b6000613577838361355c565b60208301905092915050565b6000602082019050919050565b600061359b82613530565b6135a5818561353b565b93506135b08361354c565b8060005b838110156135e15781516135c8888261356b565b97506135d383613583565b9250506001810190506135b4565b5085935050505092915050565b600060a0820190506136036000830188612730565b6136106020830187613521565b81810360408301526136228186613590565b905061363160608301856127e4565b61363e6080830184612730565b9695505050505050565b600060408201905061365d6000830185612730565b61366a6020830184612730565b939250505056fea2646970667358221220c9345d35459bf30c10bdd3290ae411f95e8419f513d7675a6addb2a91b005b6664736f6c63430008110033

Deployed Bytecode Sourcemap

22036:5537:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22265:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17321:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18235:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22117:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17642:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18412:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17541:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18993:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22165:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24710:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24577:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22296:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22493:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17758:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16508:148;;;;;;;;;;;;;:::i;:::-;;22379:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24745:175;;;;;;;;;;;;;:::i;:::-;;16294:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17429:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19216:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17893:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26611:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24279:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22336:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18076:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26424:179;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22419:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16664:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23806:465;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22265:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17321:100::-;17375:13;17408:5;17401:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17321:100;:::o;18235:169::-;18318:4;18335:39;18344:12;:10;:12::i;:::-;18358:7;18367:6;18335:8;:39::i;:::-;18392:4;18385:11;;18235:169;;;;:::o;22117:41::-;;;;;;;;;;;;;:::o;17642:108::-;17703:7;17730:12;;17723:19;;17642:108;:::o;18412:573::-;18552:4;18569:24;18596:11;:19;18608:6;18596:19;;;;;;;;;;;;;;;:33;18616:12;:10;:12::i;:::-;18596:33;;;;;;;;;;;;;;;;18569:60;;18664:17;18644:16;:37;18640:265;;18726:6;18706:16;:26;;18698:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;18821:57;18830:6;18838:12;:10;:12::i;:::-;18871:6;18852:16;:25;18821:8;:57::i;:::-;18640:265;18917:36;18927:6;18935:9;18946:6;18917:9;:36::i;:::-;18973:4;18966:11;;;18412:573;;;;;:::o;17541:93::-;17599:5;17624:2;17617:9;;17541:93;:::o;18993:215::-;19081:4;19098:80;19107:12;:10;:12::i;:::-;19121:7;19167:10;19130:11;:25;19142:12;:10;:12::i;:::-;19130:25;;;;;;;;;;;;;;;:34;19156:7;19130:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;19098:8;:80::i;:::-;19196:4;19189:11;;18993:215;;;;:::o;22165:29::-;;;;;;;;;;;;;:::o;24710:26::-;;;;;;;;;;;;;:::o;24577:125::-;24642:4;24666:19;:28;24686:7;24666:28;;;;;;;;;;;;;;;;;;;;;;;;;24659:35;;24577:125;;;:::o;22296:33::-;;;;:::o;22493:26::-;;;;;;;;;;;;;:::o;17758:127::-;17832:7;17859:9;:18;17869:7;17859:18;;;;;;;;;;;;;;;;17852:25;;17758:127;;;:::o;16508:148::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16615:1:::1;16578:40;;16599:6;;;;;;;;;;;16578:40;;;;;;;;;;;;16646:1;16629:6;;:19;;;;;;;;;;;;;;;;;;16508:148::o:0;22379:31::-;;;;;;;;;;;;;:::o;24745:175::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24808:14:::1;;;;;;;;;;;24807:15;24799:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;24879:4;24862:14;;:21;;;;;;;;;;;;;;;;;;24908:4;24894:11;;:18;;;;;;;;;;;;;;;;;;24745:175::o:0;16294:79::-;16332:7;16359:6;;;;;;;;;;;16352:13;;16294:79;:::o;17429:104::-;17485:13;17518:7;17511:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17429:104;:::o;19216:413::-;19309:4;19326:24;19353:11;:25;19365:12;:10;:12::i;:::-;19353:25;;;;;;;;;;;;;;;:34;19379:7;19353:34;;;;;;;;;;;;;;;;19326:61;;19426:15;19406:16;:35;;19398:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;19519:67;19528:12;:10;:12::i;:::-;19542:7;19570:15;19551:16;:34;19519:8;:67::i;:::-;19617:4;19610:11;;;19216:413;;;;:::o;17893:175::-;17979:4;17996:42;18006:12;:10;:12::i;:::-;18020:9;18031:6;17996:9;:42::i;:::-;18056:4;18049:11;;17893:175;;;;:::o;26611:304::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26726:9:::1;26710:13;:11;:13::i;:::-;:25;;;;:::i;:::-;26698:9;:37;26690:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;26835:9;26814:18;:30;;;;26862:45;26888:18;;26862:45;;;;;;:::i;:::-;;;;;;;;26611:304:::0;:::o;24279:290::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24405:8:::1;24373:40;;:19;:28;24393:7;24373:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;::::0;24365:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24501:8;24470:19;:28;24490:7;24470:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;24543:7;24527:34;;;24552:8;24527:34;;;;;;:::i;:::-;;;;;;;;24279:290:::0;;:::o;22336:34::-;;;;:::o;18076:151::-;18165:7;18192:11;:18;18204:5;18192:18;;;;;;;;;;;;;;;:27;18211:7;18192:27;;;;;;;;;;;;;;;;18185:34;;18076:151;;;;:::o;26424:179::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26515:8:::1;26500:23;;:11;;;;;;;;;;;:23;;::::0;26492:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;26587:8;26573:11;;:22;;;;;;;;;;;;;;;;;;26424:179:::0;:::o;22419:34::-;;;;:::o;16664:244::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16773:1:::1;16753:22;;:8;:22;;::::0;16745:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16863:8;16834:38;;16855:6;;;;;;;;;;;16834:38;;;;;;;;;;;;16892:8;16883:6;;:17;;;;;;;;;;;;;;;;;;16664:244:::0;:::o;23806:465::-;16431:12;:10;:12::i;:::-;16421:22;;:6;;;;;;;;;;;:22;;;16413:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23902:4:::1;23885:22;;:5;:22;;::::0;23877:90:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23999:3;23982:21;;:5;:21;;::::0;23978:127:::1;;24020:52;24050:21;24028:10;24020:29;;;;:52;;;;:::i;:::-;;24087:7;;23978:127;24115:17;24142:5;24115:33;;24159:15;24177:10;:20;;;24206:4;24177:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24159:53;;24223:10;:19;;;24243:10;24255:7;24223:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23866:405;;16491:1;23806:465:::0;:::o;15617:98::-;15670:7;15697:10;15690:17;;15617:98;:::o;21384:380::-;21537:1;21520:19;;:5;:19;;;21512:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21618:1;21599:21;;:7;:21;;;21591:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21702:6;21672:11;:18;21684:5;21672:18;;;;;;;;;;;;;;;:27;21691:7;21672:27;;;;;;;;;;;;;;;:36;;;;21740:7;21724:32;;21733:5;21724:32;;;21749:6;21724:32;;;;;;:::i;:::-;;;;;;;;21384:380;;;:::o;24928:1488::-;25041:1;25025:18;;:4;:18;;;25017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25118:1;25104:16;;:2;:16;;;25096:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;25179:14;;;;;;;;;;;:43;;;;25197:19;:25;25217:4;25197:25;;;;;;;;;;;;;;;;;;;;;;;;;25179:43;:70;;;;25226:19;:23;25246:2;25226:23;;;;;;;;;;;;;;;;;;;;;;;;;25179:70;25171:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;25312:1;25302:6;:11;25298:93;;25330:28;25346:4;25352:2;25356:1;25330:15;:28::i;:::-;25373:7;;25298:93;25397:28;25428:24;25446:4;25428:9;:24::i;:::-;25397:55;;25465:12;25504:18;;25480:20;:42;;25465:57;;25539:7;:33;;;;;25564:8;;;;;;;;;;;25563:9;25539:33;:69;;;;;25595:13;;;;;;;;;;;25589:19;;:2;:19;;;25539:69;:97;;;;;25625:11;;;;;;;;;;;25539:97;25535:252;;;25674:4;25663:8;;:15;;;;;;;;;;;;;;;;;;25695:42;25716:20;25695;:42::i;:::-;25770:5;25759:8;;:16;;;;;;;;;;;;;;;;;;25535:252;25799:18;25832:19;:25;25852:4;25832:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;25861:19;:23;25881:2;25861:23;;;;;;;;;;;;;;;;;;;;;;;;;25832:52;:64;;;;25888:8;;;;;;;;;;;25832:64;25828:338;;;25926:1;25913:14;;25828:338;;;25957:13;;;;;;;;;;;25949:21;;:4;:21;;;25945:221;;26000:17;;25987:30;;25945:221;;;26045:13;;;;;;;;;;;26039:19;;:2;:19;;;26035:131;;26089:18;;26075:32;;26035:131;;;26153:1;26140:14;;26035:131;25945:221;25828:338;26195:1;26182:10;:14;26178:183;;;26213:12;26252:3;26238:10;26229:6;:19;;;;:::i;:::-;26228:27;;;;:::i;:::-;26213:42;;26288:4;26279:6;:13;;;;:::i;:::-;26270:22;;26307:42;26323:4;26337;26344;26307:15;:42::i;:::-;26198:163;26178:183;26375:33;26391:4;26397:2;26401:6;26375:15;:33::i;:::-;25006:1410;;;24928:1488;;;;:::o;11527:266::-;11606:4;11655:6;11630:21;:31;;11622:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11709:12;11727:9;:14;;11749:6;11727:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11708:52;;;11778:7;11771:14;;;11527:266;;;;:::o;19637:733::-;19795:1;19777:20;;:6;:20;;;19769:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19879:1;19858:23;;:9;:23;;;19850:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;19934:47;19955:6;19963:9;19974:6;19934:20;:47::i;:::-;19994:21;20018:9;:17;20028:6;20018:17;;;;;;;;;;;;;;;;19994:41;;20071:6;20054:13;:23;;20046:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;20192:6;20176:13;:22;20156:9;:17;20166:6;20156:17;;;;;;;;;;;;;;;:42;;;;20244:6;20220:9;:20;20230:9;20220:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;20285:9;20268:35;;20277:6;20268:35;;;20296:6;20268:35;;;;;;:::i;:::-;;;;;;;;20316:46;20336:6;20344:9;20355:6;20316:19;:46::i;:::-;19758:612;19637:733;;;:::o;26923:647::-;26993:22;27018:21;26993:46;;27052:21;27090:1;27076:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27052:40;;27121:4;27103;27108:1;27103:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;27147:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27137:4;27142:1;27137:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;27182:15;;;;;;;;;;;:66;;;27263:11;27289:1;27305:4;27332;27352:15;27182:186;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27381:18;27426:14;27402:21;:38;;;;:::i;:::-;27381:59;;27453:46;27488:10;27461:15;;;;;;;;;;;27453:34;;;;:46;;;;:::i;:::-;;27517:45;27538:11;27551:10;27517:45;;;;;;;:::i;:::-;;;;;;;;26982:588;;;26923:647;:::o;21772:125::-;;;;:::o;21905:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:::-;6572:6;6621:2;6609:9;6600:7;6596:23;6592:32;6589:119;;;6627:79;;:::i;:::-;6589:119;6747:1;6772:53;6817:7;6808:6;6797:9;6793:22;6772:53;:::i;:::-;6762:63;;6718:117;6513:329;;;;:::o;6848:116::-;6918:21;6933:5;6918:21;:::i;:::-;6911:5;6908:32;6898:60;;6954:1;6951;6944:12;6898:60;6848:116;:::o;6970:133::-;7013:5;7051:6;7038:20;7029:29;;7067:30;7091:5;7067:30;:::i;:::-;6970:133;;;;:::o;7109:468::-;7174:6;7182;7231:2;7219:9;7210:7;7206:23;7202:32;7199:119;;;7237:79;;:::i;:::-;7199:119;7357:1;7382:53;7427:7;7418:6;7407:9;7403:22;7382:53;:::i;:::-;7372:63;;7328:117;7484:2;7510:50;7552:7;7543:6;7532:9;7528:22;7510:50;:::i;:::-;7500:60;;7455:115;7109:468;;;;;:::o;7583:474::-;7651:6;7659;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7961:2;7987:53;8032:7;8023:6;8012:9;8008:22;7987:53;:::i;:::-;7977:63;;7932:118;7583:474;;;;;:::o;8063:323::-;8119:6;8168:2;8156:9;8147:7;8143:23;8139:32;8136:119;;;8174:79;;:::i;:::-;8136:119;8294:1;8319:50;8361:7;8352:6;8341:9;8337:22;8319:50;:::i;:::-;8309:60;;8265:114;8063:323;;;;:::o;8392:180::-;8440:77;8437:1;8430:88;8537:4;8534:1;8527:15;8561:4;8558:1;8551:15;8578:320;8622:6;8659:1;8653:4;8649:12;8639:22;;8706:1;8700:4;8696:12;8727:18;8717:81;;8783:4;8775:6;8771:17;8761:27;;8717:81;8845:2;8837:6;8834:14;8814:18;8811:38;8808:84;;8864:18;;:::i;:::-;8808:84;8629:269;8578:320;;;:::o;8904:227::-;9044:34;9040:1;9032:6;9028:14;9021:58;9113:10;9108:2;9100:6;9096:15;9089:35;8904:227;:::o;9137:366::-;9279:3;9300:67;9364:2;9359:3;9300:67;:::i;:::-;9293:74;;9376:93;9465:3;9376:93;:::i;:::-;9494:2;9489:3;9485:12;9478:19;;9137:366;;;:::o;9509:419::-;9675:4;9713:2;9702:9;9698:18;9690:26;;9762:9;9756:4;9752:20;9748:1;9737:9;9733:17;9726:47;9790:131;9916:4;9790:131;:::i;:::-;9782:139;;9509:419;;;:::o;9934:180::-;9982:77;9979:1;9972:88;10079:4;10076:1;10069:15;10103:4;10100:1;10093:15;10120:191;10160:3;10179:20;10197:1;10179:20;:::i;:::-;10174:25;;10213:20;10231:1;10213:20;:::i;:::-;10208:25;;10256:1;10253;10249:9;10242:16;;10277:3;10274:1;10271:10;10268:36;;;10284:18;;:::i;:::-;10268:36;10120:191;;;;:::o;10317:182::-;10457:34;10453:1;10445:6;10441:14;10434:58;10317:182;:::o;10505:366::-;10647:3;10668:67;10732:2;10727:3;10668:67;:::i;:::-;10661:74;;10744:93;10833:3;10744:93;:::i;:::-;10862:2;10857:3;10853:12;10846:19;;10505:366;;;:::o;10877:419::-;11043:4;11081:2;11070:9;11066:18;11058:26;;11130:9;11124:4;11120:20;11116:1;11105:9;11101:17;11094:47;11158:131;11284:4;11158:131;:::i;:::-;11150:139;;10877:419;;;:::o;11302:174::-;11442:26;11438:1;11430:6;11426:14;11419:50;11302:174;:::o;11482:366::-;11624:3;11645:67;11709:2;11704:3;11645:67;:::i;:::-;11638:74;;11721:93;11810:3;11721:93;:::i;:::-;11839:2;11834:3;11830:12;11823:19;;11482:366;;;:::o;11854:419::-;12020:4;12058:2;12047:9;12043:18;12035:26;;12107:9;12101:4;12097:20;12093:1;12082:9;12078:17;12071:47;12135:131;12261:4;12135:131;:::i;:::-;12127:139;;11854:419;;;:::o;12279:224::-;12419:34;12415:1;12407:6;12403:14;12396:58;12488:7;12483:2;12475:6;12471:15;12464:32;12279:224;:::o;12509:366::-;12651:3;12672:67;12736:2;12731:3;12672:67;:::i;:::-;12665:74;;12748:93;12837:3;12748:93;:::i;:::-;12866:2;12861:3;12857:12;12850:19;;12509:366;;;:::o;12881:419::-;13047:4;13085:2;13074:9;13070:18;13062:26;;13134:9;13128:4;13124:20;13120:1;13109:9;13105:17;13098:47;13162:131;13288:4;13162:131;:::i;:::-;13154:139;;12881:419;;;:::o;13306:180::-;13354:77;13351:1;13344:88;13451:4;13448:1;13441:15;13475:4;13472:1;13465:15;13492:185;13532:1;13549:20;13567:1;13549:20;:::i;:::-;13544:25;;13583:20;13601:1;13583:20;:::i;:::-;13578:25;;13622:1;13612:35;;13627:18;;:::i;:::-;13612:35;13669:1;13666;13662:9;13657:14;;13492:185;;;;:::o;13683:250::-;13823:34;13819:1;13811:6;13807:14;13800:58;13892:33;13887:2;13879:6;13875:15;13868:58;13683:250;:::o;13939:366::-;14081:3;14102:67;14166:2;14161:3;14102:67;:::i;:::-;14095:74;;14178:93;14267:3;14178:93;:::i;:::-;14296:2;14291:3;14287:12;14280:19;;13939:366;;;:::o;14311:419::-;14477:4;14515:2;14504:9;14500:18;14492:26;;14564:9;14558:4;14554:20;14550:1;14539:9;14535:17;14528:47;14592:131;14718:4;14592:131;:::i;:::-;14584:139;;14311:419;;;:::o;14736:229::-;14876:34;14872:1;14864:6;14860:14;14853:58;14945:12;14940:2;14932:6;14928:15;14921:37;14736:229;:::o;14971:366::-;15113:3;15134:67;15198:2;15193:3;15134:67;:::i;:::-;15127:74;;15210:93;15299:3;15210:93;:::i;:::-;15328:2;15323:3;15319:12;15312:19;;14971:366;;;:::o;15343:419::-;15509:4;15547:2;15536:9;15532:18;15524:26;;15596:9;15590:4;15586:20;15582:1;15571:9;15567:17;15560:47;15624:131;15750:4;15624:131;:::i;:::-;15616:139;;15343:419;;;:::o;15768:221::-;15908:34;15904:1;15896:6;15892:14;15885:58;15977:4;15972:2;15964:6;15960:15;15953:29;15768:221;:::o;15995:366::-;16137:3;16158:67;16222:2;16217:3;16158:67;:::i;:::-;16151:74;;16234:93;16323:3;16234:93;:::i;:::-;16352:2;16347:3;16343:12;16336:19;;15995:366;;;:::o;16367:419::-;16533:4;16571:2;16560:9;16556:18;16548:26;;16620:9;16614:4;16610:20;16606:1;16595:9;16591:17;16584:47;16648:131;16774:4;16648:131;:::i;:::-;16640:139;;16367:419;;;:::o;16792:225::-;16932:34;16928:1;16920:6;16916:14;16909:58;17001:8;16996:2;16988:6;16984:15;16977:33;16792:225;:::o;17023:366::-;17165:3;17186:67;17250:2;17245:3;17186:67;:::i;:::-;17179:74;;17262:93;17351:3;17262:93;:::i;:::-;17380:2;17375:3;17371:12;17364:19;;17023:366;;;:::o;17395:419::-;17561:4;17599:2;17588:9;17584:18;17576:26;;17648:9;17642:4;17638:20;17634:1;17623:9;17619:17;17612:47;17676:131;17802:4;17676:131;:::i;:::-;17668:139;;17395:419;;;:::o;17820:242::-;17960:34;17956:1;17948:6;17944:14;17937:58;18029:25;18024:2;18016:6;18012:15;18005:50;17820:242;:::o;18068:366::-;18210:3;18231:67;18295:2;18290:3;18231:67;:::i;:::-;18224:74;;18307:93;18396:3;18307:93;:::i;:::-;18425:2;18420:3;18416:12;18409:19;;18068:366;;;:::o;18440:419::-;18606:4;18644:2;18633:9;18629:18;18621:26;;18693:9;18687:4;18683:20;18679:1;18668:9;18664:17;18657:47;18721:131;18847:4;18721:131;:::i;:::-;18713:139;;18440:419;;;:::o;18865:143::-;18922:5;18953:6;18947:13;18938:22;;18969:33;18996:5;18969:33;:::i;:::-;18865:143;;;;:::o;19014:351::-;19084:6;19133:2;19121:9;19112:7;19108:23;19104:32;19101:119;;;19139:79;;:::i;:::-;19101:119;19259:1;19284:64;19340:7;19331:6;19320:9;19316:22;19284:64;:::i;:::-;19274:74;;19230:128;19014:351;;;;:::o;19371:332::-;19492:4;19530:2;19519:9;19515:18;19507:26;;19543:71;19611:1;19600:9;19596:17;19587:6;19543:71;:::i;:::-;19624:72;19692:2;19681:9;19677:18;19668:6;19624:72;:::i;:::-;19371:332;;;;;:::o;19709:137::-;19763:5;19794:6;19788:13;19779:22;;19810:30;19834:5;19810:30;:::i;:::-;19709:137;;;;:::o;19852:345::-;19919:6;19968:2;19956:9;19947:7;19943:23;19939:32;19936:119;;;19974:79;;:::i;:::-;19936:119;20094:1;20119:61;20172:7;20163:6;20152:9;20148:22;20119:61;:::i;:::-;20109:71;;20065:125;19852:345;;;;:::o;20203:223::-;20343:34;20339:1;20331:6;20327:14;20320:58;20412:6;20407:2;20399:6;20395:15;20388:31;20203:223;:::o;20432:366::-;20574:3;20595:67;20659:2;20654:3;20595:67;:::i;:::-;20588:74;;20671:93;20760:3;20671:93;:::i;:::-;20789:2;20784:3;20780:12;20773:19;;20432:366;;;:::o;20804:419::-;20970:4;21008:2;20997:9;20993:18;20985:26;;21057:9;21051:4;21047:20;21043:1;21032:9;21028:17;21021:47;21085:131;21211:4;21085:131;:::i;:::-;21077:139;;20804:419;;;:::o;21229:221::-;21369:34;21365:1;21357:6;21353:14;21346:58;21438:4;21433:2;21425:6;21421:15;21414:29;21229:221;:::o;21456:366::-;21598:3;21619:67;21683:2;21678:3;21619:67;:::i;:::-;21612:74;;21695:93;21784:3;21695:93;:::i;:::-;21813:2;21808:3;21804:12;21797:19;;21456:366;;;:::o;21828:419::-;21994:4;22032:2;22021:9;22017:18;22009:26;;22081:9;22075:4;22071:20;22067:1;22056:9;22052:17;22045:47;22109:131;22235:4;22109:131;:::i;:::-;22101:139;;21828:419;;;:::o;22253:224::-;22393:34;22389:1;22381:6;22377:14;22370:58;22462:7;22457:2;22449:6;22445:15;22438:32;22253:224;:::o;22483:366::-;22625:3;22646:67;22710:2;22705:3;22646:67;:::i;:::-;22639:74;;22722:93;22811:3;22722:93;:::i;:::-;22840:2;22835:3;22831:12;22824:19;;22483:366;;;:::o;22855:419::-;23021:4;23059:2;23048:9;23044:18;23036:26;;23108:9;23102:4;23098:20;23094:1;23083:9;23079:17;23072:47;23136:131;23262:4;23136:131;:::i;:::-;23128:139;;22855:419;;;:::o;23280:222::-;23420:34;23416:1;23408:6;23404:14;23397:58;23489:5;23484:2;23476:6;23472:15;23465:30;23280:222;:::o;23508:366::-;23650:3;23671:67;23735:2;23730:3;23671:67;:::i;:::-;23664:74;;23747:93;23836:3;23747:93;:::i;:::-;23865:2;23860:3;23856:12;23849:19;;23508:366;;;:::o;23880:419::-;24046:4;24084:2;24073:9;24069:18;24061:26;;24133:9;24127:4;24123:20;24119:1;24108:9;24104:17;24097:47;24161:131;24287:4;24161:131;:::i;:::-;24153:139;;23880:419;;;:::o;24305:174::-;24445:26;24441:1;24433:6;24429:14;24422:50;24305:174;:::o;24485:366::-;24627:3;24648:67;24712:2;24707:3;24648:67;:::i;:::-;24641:74;;24724:93;24813:3;24724:93;:::i;:::-;24842:2;24837:3;24833:12;24826:19;;24485:366;;;:::o;24857:419::-;25023:4;25061:2;25050:9;25046:18;25038:26;;25110:9;25104:4;25100:20;25096:1;25085:9;25081:17;25074:47;25138:131;25264:4;25138:131;:::i;:::-;25130:139;;24857:419;;;:::o;25282:410::-;25322:7;25345:20;25363:1;25345:20;:::i;:::-;25340:25;;25379:20;25397:1;25379:20;:::i;:::-;25374:25;;25434:1;25431;25427:9;25456:30;25474:11;25456:30;:::i;:::-;25445:41;;25635:1;25626:7;25622:15;25619:1;25616:22;25596:1;25589:9;25569:83;25546:139;;25665:18;;:::i;:::-;25546:139;25330:362;25282:410;;;;:::o;25698:194::-;25738:4;25758:20;25776:1;25758:20;:::i;:::-;25753:25;;25792:20;25810:1;25792:20;:::i;:::-;25787:25;;25836:1;25833;25829:9;25821:17;;25860:1;25854:4;25851:11;25848:37;;;25865:18;;:::i;:::-;25848:37;25698:194;;;;:::o;25898:179::-;26038:31;26034:1;26026:6;26022:14;26015:55;25898:179;:::o;26083:366::-;26225:3;26246:67;26310:2;26305:3;26246:67;:::i;:::-;26239:74;;26322:93;26411:3;26322:93;:::i;:::-;26440:2;26435:3;26431:12;26424:19;;26083:366;;;:::o;26455:419::-;26621:4;26659:2;26648:9;26644:18;26636:26;;26708:9;26702:4;26698:20;26694:1;26683:9;26679:17;26672:47;26736:131;26862:4;26736:131;:::i;:::-;26728:139;;26455:419;;;:::o;26880:147::-;26981:11;27018:3;27003:18;;26880:147;;;;:::o;27033:114::-;;:::o;27153:398::-;27312:3;27333:83;27414:1;27409:3;27333:83;:::i;:::-;27326:90;;27425:93;27514:3;27425:93;:::i;:::-;27543:1;27538:3;27534:11;27527:18;;27153:398;;;:::o;27557:379::-;27741:3;27763:147;27906:3;27763:147;:::i;:::-;27756:154;;27927:3;27920:10;;27557:379;;;:::o;27942:225::-;28082:34;28078:1;28070:6;28066:14;28059:58;28151:8;28146:2;28138:6;28134:15;28127:33;27942:225;:::o;28173:366::-;28315:3;28336:67;28400:2;28395:3;28336:67;:::i;:::-;28329:74;;28412:93;28501:3;28412:93;:::i;:::-;28530:2;28525:3;28521:12;28514:19;;28173:366;;;:::o;28545:419::-;28711:4;28749:2;28738:9;28734:18;28726:26;;28798:9;28792:4;28788:20;28784:1;28773:9;28769:17;28762:47;28826:131;28952:4;28826:131;:::i;:::-;28818:139;;28545:419;;;:::o;28970:180::-;29018:77;29015:1;29008:88;29115:4;29112:1;29105:15;29139:4;29136:1;29129:15;29156:180;29204:77;29201:1;29194:88;29301:4;29298:1;29291:15;29325:4;29322:1;29315:15;29342:143;29399:5;29430:6;29424:13;29415:22;;29446:33;29473:5;29446:33;:::i;:::-;29342:143;;;;:::o;29491:351::-;29561:6;29610:2;29598:9;29589:7;29585:23;29581:32;29578:119;;;29616:79;;:::i;:::-;29578:119;29736:1;29761:64;29817:7;29808:6;29797:9;29793:22;29761:64;:::i;:::-;29751:74;;29707:128;29491:351;;;;:::o;29848:85::-;29893:7;29922:5;29911:16;;29848:85;;;:::o;29939:158::-;29997:9;30030:61;30048:42;30057:32;30083:5;30057:32;:::i;:::-;30048:42;:::i;:::-;30030:61;:::i;:::-;30017:74;;29939:158;;;:::o;30103:147::-;30198:45;30237:5;30198:45;:::i;:::-;30193:3;30186:58;30103:147;;:::o;30256:114::-;30323:6;30357:5;30351:12;30341:22;;30256:114;;;:::o;30376:184::-;30475:11;30509:6;30504:3;30497:19;30549:4;30544:3;30540:14;30525:29;;30376:184;;;;:::o;30566:132::-;30633:4;30656:3;30648:11;;30686:4;30681:3;30677:14;30669:22;;30566:132;;;:::o;30704:108::-;30781:24;30799:5;30781:24;:::i;:::-;30776:3;30769:37;30704:108;;:::o;30818:179::-;30887:10;30908:46;30950:3;30942:6;30908:46;:::i;:::-;30986:4;30981:3;30977:14;30963:28;;30818:179;;;;:::o;31003:113::-;31073:4;31105;31100:3;31096:14;31088:22;;31003:113;;;:::o;31152:732::-;31271:3;31300:54;31348:5;31300:54;:::i;:::-;31370:86;31449:6;31444:3;31370:86;:::i;:::-;31363:93;;31480:56;31530:5;31480:56;:::i;:::-;31559:7;31590:1;31575:284;31600:6;31597:1;31594:13;31575:284;;;31676:6;31670:13;31703:63;31762:3;31747:13;31703:63;:::i;:::-;31696:70;;31789:60;31842:6;31789:60;:::i;:::-;31779:70;;31635:224;31622:1;31619;31615:9;31610:14;;31575:284;;;31579:14;31875:3;31868:10;;31276:608;;;31152:732;;;;:::o;31890:831::-;32153:4;32191:3;32180:9;32176:19;32168:27;;32205:71;32273:1;32262:9;32258:17;32249:6;32205:71;:::i;:::-;32286:80;32362:2;32351:9;32347:18;32338:6;32286:80;:::i;:::-;32413:9;32407:4;32403:20;32398:2;32387:9;32383:18;32376:48;32441:108;32544:4;32535:6;32441:108;:::i;:::-;32433:116;;32559:72;32627:2;32616:9;32612:18;32603:6;32559:72;:::i;:::-;32641:73;32709:3;32698:9;32694:19;32685:6;32641:73;:::i;:::-;31890:831;;;;;;;;:::o;32727:332::-;32848:4;32886:2;32875:9;32871:18;32863:26;;32899:71;32967:1;32956:9;32952:17;32943:6;32899:71;:::i;:::-;32980:72;33048:2;33037:9;33033:18;33024:6;32980:72;:::i;:::-;32727:332;;;;;:::o

Swarm Source

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