ETH Price: $3,436.94 (+3.23%)

Contract

0x3F495d3Bc3Dad8dcEfDB51b01d2dAf2374B43E49
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve236025522025-10-18 5:48:4718 days ago1760766527IN
0x3F495d3B...374B43E49
0 ETH0.000075931.61703014
Transfer236007232025-10-17 23:40:5919 days ago1760744459IN
0x3F495d3B...374B43E49
0 ETH0.000014430.21983717
Approve234628162025-09-28 16:54:3538 days ago1759078475IN
0x3F495d3B...374B43E49
0 ETH0.000010850.22991854
Approve233353602025-09-10 21:30:4756 days ago1757539847IN
0x3F495d3B...374B43E49
0 ETH0.000078661.67532013
Approve232671532025-09-01 8:41:1165 days ago1756716071IN
0x3F495d3B...374B43E49
0 ETH0.00002990.63425973
Approve232550362025-08-30 16:06:2367 days ago1756569983IN
0x3F495d3B...374B43E49
0 ETH0.000034020.72047605
Approve232347262025-08-27 20:04:4770 days ago1756325087IN
0x3F495d3B...374B43E49
0 ETH0.000039280.83186196
Approve232258302025-08-26 14:17:3571 days ago1756217855IN
0x3F495d3B...374B43E49
0 ETH0.000054961.165835
Approve232086152025-08-24 4:39:3573 days ago1756010375IN
0x3F495d3B...374B43E49
0 ETH0.000030770.65162654
Approve231940562025-08-22 3:54:2376 days ago1755834863IN
0x3F495d3B...374B43E49
0 ETH0.000032150.68189551
Approve231834362025-08-20 16:18:3577 days ago1755706715IN
0x3F495d3B...374B43E49
0 ETH0.000143513.03913478
Approve231545012025-08-16 15:29:1181 days ago1755358151IN
0x3F495d3B...374B43E49
0 ETH0.000037870.806645
Approve231419272025-08-14 21:21:2383 days ago1755206483IN
0x3F495d3B...374B43E49
0 ETH0.000049321.04453785
Approve231390882025-08-14 11:48:4783 days ago1755172127IN
0x3F495d3B...374B43E49
0 ETH0.00008741.85097498
Transfer231347862025-08-13 21:22:3584 days ago1755120155IN
0x3F495d3B...374B43E49
0 ETH0.000159063.27657646
Transfer231347682025-08-13 21:18:5984 days ago1755119939IN
0x3F495d3B...374B43E49
0 ETH0.000107371.63568376
Approve231347402025-08-13 21:13:2384 days ago1755119603IN
0x3F495d3B...374B43E49
0 ETH0.000058081.23182519
Transfer231347122025-08-13 21:07:4784 days ago1755119267IN
0x3F495d3B...374B43E49
0 ETH0.000207663.16343595
Transfer231346872025-08-13 21:02:4784 days ago1755118967IN
0x3F495d3B...374B43E49
0 ETH0.000284651.4592355
Approve231329122025-08-13 15:05:4784 days ago1755097547IN
0x3F495d3B...374B43E49
0 ETH0.000311176.59964518
Approve231313412025-08-13 9:49:4784 days ago1755078587IN
0x3F495d3B...374B43E49
0 ETH0.00005571.18814057
Approve231203162025-08-11 20:53:1186 days ago1754945591IN
0x3F495d3B...374B43E49
0 ETH0.000050441.06829602
Approve231113472025-08-10 14:48:1187 days ago1754837291IN
0x3F495d3B...374B43E49
0 ETH0.000134732.85692895
Approve230977632025-08-08 17:14:3589 days ago1754673275IN
0x3F495d3B...374B43E49
0 ETH0.000048431.02574503
Approve230974792025-08-08 16:17:3589 days ago1754669855IN
0x3F495d3B...374B43E49
0 ETH0.000120052.5456123
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DPAI

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-07-29
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.25;

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

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

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

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

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

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

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IERC20 {

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

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

    function totalSupply() external view returns (uint256);

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

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

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

        _totalSupply += amount;
        _balances[account] += amount;

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

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

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

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

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

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

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

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

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

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

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

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

contract DPAI is ERC20, Ownable {

    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private marketingWallet;

    bool private swapping;

    string private constant _name = "DPAI";
    string private constant _symbol = "DPAI";

    uint256 public initialTotalSupply = 10_000_000 * 1e18;
    uint256 public maxTransactionAmount = initialTotalSupply / 100;
    uint256 public maxWallet = initialTotalSupply / 100;
    uint256 public swapTokensAtAmount = 500 * 1e18;

    uint256 private blockStart;
    uint256 private blockAdd;
    uint256 private blockSnipe;

    bool public tradingOpen = false;
    bool public swapEnabled = false;
    bool public limitsInEffect = true;
    mapping(uint256 => uint256) private swapInBlock;

    uint256 public BuyFee = 20;
    uint256 public SellFee = 30;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address wallet) ERC20(_name, _symbol) {

        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        marketingWallet = payable(wallet);

        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(wallet), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(wallet), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _mint(_msgSender(), initialTotalSupply * 60 / 100);
        _mint(marketingWallet, initialTotalSupply * 40 / 100);
    }

    receive() external payable {}

    function openTrading(uint256 openingFee, uint256 maxOpen, uint256 _blocksnipe) external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        BuyFee = openingFee;
        SellFee = openingFee;
        maxTransactionAmount = initialTotalSupply / maxOpen;
        maxWallet = initialTotalSupply / maxOpen;
        blockSnipe = _blocksnipe;
        blockStart = block.number;
        swapEnabled = true;
        tradingOpen = true;
    }
    function excludeFromMaxTransaction(address updAds, bool isEx)
        public
        onlyOwner
    {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(address pair, bool value)
        public
        onlyOwner
    {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    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");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        uint256 blockNum = block.number;

                if (limitsInEffect) {

                   if(blockNum > (blockStart + blockSnipe))
                    {
                      BuyFee = 50;
                      SellFee = 50;

                      maxTransactionAmount = initialTotalSupply / 100;
                      maxWallet = initialTotalSupply / 100;
                    }


                if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {

                if (!tradingOpen) {
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
                }

                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }

                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                }

                else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }
          }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] && (swapInBlock[blockNum] < 3)) {
            swapping = true;
            swapBack();
            ++swapInBlock[blockNum];
            swapping = false;
        }

        bool takeFee = !swapping;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount * SellFee / 100;
            }
            else if (automatedMarketMakerPairs[from]) {
                fees = amount * BuyFee / 100;
            }

        if (fees > 0) {
            super._transfer(from, address(this), fees);
        }
        amount -= fees;
    }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {

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

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }

   function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function clearStuckEth() external {
        require(_msgSender() == marketingWallet);
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens(uint256 amount) external {
        require(_msgSender() == marketingWallet);
        swapTokensForEth(amount * (10 ** 18));
    }

    function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 30 && _sellFee <= 30, "Fees cannot exceed 30%");
        BuyFee = _buyFee;
        SellFee = _sellFee;
    }

    function updateMarketingWallet(address newMarketingWallet) external onlyOwner {
        marketingWallet = newMarketingWallet;
    }

    function setSwapTokensAtAmount(uint256 _amount) external onlyOwner {
        swapTokensAtAmount = _amount * (10 ** 18);
    }

    function sendTokens(address[] calldata addresses, uint256[] calldata amounts) external {
          require(addresses.length > 0 && amounts.length == addresses.length);
          address from = msg.sender;

          for (uint i = 0; i < addresses.length; i++) {

            _transfer(from, addresses[i], amounts[i] * (10**18));

          }
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap;

        if (contractBalance == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 100) {
            contractBalance = swapTokensAtAmount * 100;
        }

        tokensToSwap = contractBalance;
        swapTokensForEth(tokensToSwap);

    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","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":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"openingFee","type":"uint256"},{"internalType":"uint256","name":"maxOpen","type":"uint256"},{"internalType":"uint256","name":"_blocksnipe","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"sendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","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":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"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":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526a084595161401484a00000060085560646008546100229190610a3a565b60095560646008546100349190610a3a565b600a55681b1ae4d6e2ef500000600b555f600f5f6101000a81548160ff0219169083151502179055505f600f60016101000a81548160ff0219169083151502179055506001600f60026101000a81548160ff0219169083151502179055506014601155601e6012553480156100a7575f5ffd5b506040516146f13803806146f183398181016040528101906100c99190610ac8565b6040518060400160405280600481526020017f44504149000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f445041490000000000000000000000000000000000000000000000000000000081525081600390816101449190610d27565b5080600490816101549190610d27565b50505061017361016861053660201b60201c565b61053d60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610206573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022a9190610ac8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610291573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b59190610ac8565b6040518363ffffffff1660e01b81526004016102d2929190610e05565b6020604051808303815f875af11580156102ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103129190610ac8565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061038360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161060060201b60201c565b6103b560065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161069e60201b60201c565b6103c8608051600161069e60201b60201c565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061042661041961070460201b60201c565b600161072c60201b60201c565b61043730600161072c60201b60201c565b61044881600161072c60201b60201c565b61045b61dead600161072c60201b60201c565b61047961046c61070460201b60201c565b600161069e60201b60201c565b61048a30600161069e60201b60201c565b61049b81600161069e60201b60201c565b6104ae61dead600161069e60201b60201c565b6104e56104bf61053660201b60201c565b6064603c6008546104d09190610e2c565b6104da9190610a3a565b6107e060201b60201c565b61053060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064602860085461051b9190610e2c565b6105259190610a3a565b6107e060201b60201c565b50610fdb565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6106ac61094360201b60201c565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61073a61094360201b60201c565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516107d49190610e87565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361084e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084590610efa565b60405180910390fd5b61085f5f83836109cd60201b60201c565b8060025f8282546108709190610f18565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108c29190610f18565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109269190610f5a565b60405180910390a361093f5f83836109d260201b60201c565b5050565b61095161053660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1661097561070460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290610fbd565b60405180910390fd5b565b505050565b505050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a44826109d7565b9150610a4f836109d7565b925082610a5f57610a5e6109e0565b5b828204905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a9782610a6e565b9050919050565b610aa781610a8d565b8114610ab1575f5ffd5b50565b5f81519050610ac281610a9e565b92915050565b5f60208284031215610add57610adc610a6a565b5b5f610aea84828501610ab4565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b6e57607f821691505b602082108103610b8157610b80610b2a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610be37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ba8565b610bed8683610ba8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610c28610c23610c1e846109d7565b610c05565b6109d7565b9050919050565b5f819050919050565b610c4183610c0e565b610c55610c4d82610c2f565b848454610bb4565b825550505050565b5f5f905090565b610c6c610c5d565b610c77818484610c38565b505050565b5b81811015610c9a57610c8f5f82610c64565b600181019050610c7d565b5050565b601f821115610cdf57610cb081610b87565b610cb984610b99565b81016020851015610cc8578190505b610cdc610cd485610b99565b830182610c7c565b50505b505050565b5f82821c905092915050565b5f610cff5f1984600802610ce4565b1980831691505092915050565b5f610d178383610cf0565b9150826002028217905092915050565b610d3082610af3565b67ffffffffffffffff811115610d4957610d48610afd565b5b610d538254610b57565b610d5e828285610c9e565b5f60209050601f831160018114610d8f575f8415610d7d578287015190505b610d878582610d0c565b865550610dee565b601f198416610d9d86610b87565b5f5b82811015610dc457848901518255600182019150602085019450602081019050610d9f565b86831015610de15784890151610ddd601f891682610cf0565b8355505b6001600288020188555050505b505050505050565b610dff81610a8d565b82525050565b5f604082019050610e185f830185610df6565b610e256020830184610df6565b9392505050565b5f610e36826109d7565b9150610e41836109d7565b9250828202610e4f816109d7565b91508282048414831517610e6657610e65610a0d565b5b5092915050565b5f8115159050919050565b610e8181610e6d565b82525050565b5f602082019050610e9a5f830184610e78565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610ee4601f83610ea0565b9150610eef82610eb0565b602082019050919050565b5f6020820190508181035f830152610f1181610ed8565b9050919050565b5f610f22826109d7565b9150610f2d836109d7565b9250828201905080821115610f4557610f44610a0d565b5b92915050565b610f54816109d7565b82525050565b5f602082019050610f6d5f830184610f4b565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610fa7602083610ea0565b9150610fb282610f73565b602082019050919050565b5f6020820190508181035f830152610fd481610f9b565b9050919050565b6080516136e96110085f395f8181610a800152818161207c0152818161215b015261218201526136e95ff3fe608060405260043610610207575f3560e01c80638da5cb5b11610117578063cf9522fd1161009f578063e2f456051161006e578063e2f4560514610730578063f2fde38b1461075a578063f82d36e814610782578063f8b45b05146107aa578063ffb54a99146107d45761020e565b8063cf9522fd14610678578063d8b66ae1146106a2578063dd62ed3e146106ca578063dd854652146107065761020e565b8063a9059cbb116100e6578063a9059cbb1461059a578063aacebbe3146105d6578063afa4f3b2146105fe578063c024666814610626578063c8c8ebe41461064e5761020e565b80638da5cb5b146104e257806395d89b411461050c5780639a7a23d614610536578063a457c2d71461055e5761020e565b80634a62bb651161019a57806370a082311161016957806370a082311461043c578063715018a614610478578063751039fc1461048e5780637571336a146104a457806389291a8f146104cc5761020e565b80634a62bb651461039657806352f7c988146103c0578063583e0568146103e85780636ddd1713146104125761020e565b8063311028af116101d6578063311028af146102de578063313ce5671461030857806334848b9a14610332578063395093511461035a5761020e565b806306fdde0314610212578063095ea7b31461023c57806318160ddd1461027857806323b872dd146102a25761020e565b3661020e57005b5f5ffd5b34801561021d575f5ffd5b506102266107fe565b604051610233919061256d565b60405180910390f35b348015610247575f5ffd5b50610262600480360381019061025d9190612622565b61088e565b60405161026f919061267a565b60405180910390f35b348015610283575f5ffd5b5061028c6108b0565b60405161029991906126a2565b60405180910390f35b3480156102ad575f5ffd5b506102c860048036038101906102c391906126bb565b6108b9565b6040516102d5919061267a565b60405180910390f35b3480156102e9575f5ffd5b506102f26108e7565b6040516102ff91906126a2565b60405180910390f35b348015610313575f5ffd5b5061031c6108ed565b6040516103299190612726565b60405180910390f35b34801561033d575f5ffd5b506103586004803603810190610353919061273f565b6108f5565b005b348015610365575f5ffd5b50610380600480360381019061037b9190612622565b6109ca565b60405161038d919061267a565b60405180910390f35b3480156103a1575f5ffd5b506103aa610a00565b6040516103b7919061267a565b60405180910390f35b3480156103cb575f5ffd5b506103e660048036038101906103e1919061278f565b610a13565b005b3480156103f3575f5ffd5b506103fc610a7e565b6040516104099190612828565b60405180910390f35b34801561041d575f5ffd5b50610426610aa2565b604051610433919061267a565b60405180910390f35b348015610447575f5ffd5b50610462600480360381019061045d9190612841565b610ab5565b60405161046f91906126a2565b60405180910390f35b348015610483575f5ffd5b5061048c610afa565b005b348015610499575f5ffd5b506104a2610b0d565b005b3480156104af575f5ffd5b506104ca60048036038101906104c59190612896565b610b31565b005b3480156104d7575f5ffd5b506104e0610b91565b005b3480156104ed575f5ffd5b506104f6610c78565b60405161050391906128e3565b60405180910390f35b348015610517575f5ffd5b50610520610ca0565b60405161052d919061256d565b60405180910390f35b348015610541575f5ffd5b5061055c60048036038101906105579190612896565b610d30565b005b348015610569575f5ffd5b50610584600480360381019061057f9190612622565b610dd5565b604051610591919061267a565b60405180910390f35b3480156105a5575f5ffd5b506105c060048036038101906105bb9190612622565b610e4a565b6040516105cd919061267a565b60405180910390f35b3480156105e1575f5ffd5b506105fc60048036038101906105f79190612841565b610e6c565b005b348015610609575f5ffd5b50610624600480360381019061061f91906128fc565b610eb7565b005b348015610631575f5ffd5b5061064c60048036038101906106479190612896565b610edc565b005b348015610659575f5ffd5b50610662610f8a565b60405161066f91906126a2565b60405180910390f35b348015610683575f5ffd5b5061068c610f90565b60405161069991906126a2565b60405180910390f35b3480156106ad575f5ffd5b506106c860048036038101906106c391906129dd565b610f96565b005b3480156106d5575f5ffd5b506106f060048036038101906106eb9190612a5b565b61103c565b6040516106fd91906126a2565b60405180910390f35b348015610711575f5ffd5b5061071a6110be565b60405161072791906126a2565b60405180910390f35b34801561073b575f5ffd5b506107446110c4565b60405161075191906126a2565b60405180910390f35b348015610765575f5ffd5b50610780600480360381019061077b9190612841565b6110ca565b005b34801561078d575f5ffd5b506107a860048036038101906107a391906128fc565b61114c565b005b3480156107b5575f5ffd5b506107be6111ca565b6040516107cb91906126a2565b60405180910390f35b3480156107df575f5ffd5b506107e86111d0565b6040516107f5919061267a565b60405180910390f35b60606003805461080d90612ac6565b80601f016020809104026020016040519081016040528092919081815260200182805461083990612ac6565b80156108845780601f1061085b57610100808354040283529160200191610884565b820191905f5260205f20905b81548152906001019060200180831161086757829003601f168201915b5050505050905090565b5f5f6108986111e2565b90506108a58185856111e9565b600191505092915050565b5f600254905090565b5f5f6108c36111e2565b90506108d08582856113ac565b6108db858585611437565b60019150509392505050565b60085481565b5f6012905090565b6108fd611e00565b600f5f9054906101000a900460ff161561094c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094390612b40565b60405180910390fd5b8260118190555082601281905550816008546109689190612bb8565b6009819055508160085461097c9190612bb8565b600a8190555080600e8190555043600c819055506001600f60016101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff021916908315150217905550505050565b5f5f6109d46111e2565b90506109f58185856109e6858961103c565b6109f09190612be8565b6111e9565b600191505092915050565b600f60029054906101000a900460ff1681565b610a1b611e00565b601e8211158015610a2d5750601e8111155b610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612c65565b60405180910390fd5b81601181905550806012819055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f60019054906101000a900460ff1681565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b02611e00565b610b0b5f611e7e565b565b610b15611e00565b5f600f60026101000a81548160ff021916908315150217905550565b610b39611e00565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bd16111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610bf0575f5ffd5b5f4711610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612ccd565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c75573d5f5f3e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610caf90612ac6565b80601f0160208091040260200160405190810160405280929190818152602001828054610cdb90612ac6565b8015610d265780601f10610cfd57610100808354040283529160200191610d26565b820191905f5260205f20905b815481529060010190602001808311610d0957829003601f168201915b5050505050905090565b610d38611e00565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612d5b565b60405180910390fd5b610dd18282611f41565b5050565b5f5f610ddf6111e2565b90505f610dec828661103c565b905083811015610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890612de9565b60405180910390fd5b610e3e82868684036111e9565b60019250505092915050565b5f5f610e546111e2565b9050610e61818585611437565b600191505092915050565b610e74611e00565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ebf611e00565b670de0b6b3a764000081610ed39190612e07565b600b8190555050565b610ee4611e00565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610f7e919061267a565b60405180910390a25050565b60095481565b60125481565b5f84849050118015610fad57508383905082829050145b610fb5575f5ffd5b5f3390505f5f90505b858590508110156110345761102782878784818110610fe057610fdf612e48565b5b9050602002016020810190610ff59190612841565b670de0b6b3a764000087878681811061101157611010612e48565b5b905060200201356110229190612e07565b611437565b8080600101915050610fbe565b505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b600b5481565b6110d2611e00565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612ee5565b60405180910390fd5b61114981611e7e565b50565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661118c6111e2565b73ffffffffffffffffffffffffffffffffffffffff16146111ab575f5ffd5b6111c7670de0b6b3a7640000826111c29190612e07565b611fdf565b50565b600a5481565b600f5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612f73565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90613001565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139f91906126a2565b60405180910390a3505050565b5f6113b7848461103c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114315781811015611423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141a90613069565b60405180910390fd5b61143084848484036111e9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906130f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90613185565b60405180910390fd5b5f810361152a5761152583835f612233565b611dfb565b5f439050600f60029054906101000a900460ff1615611a6457600e54600c546115539190612be8565b811115611595576032601181905550603260128190555060646008546115799190612bb8565b600981905550606460085461158e9190612bb8565b600a819055505b61159d610c78565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561160b57506115db610c78565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561164357505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561167d575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116965750600760149054906101000a900460ff16155b15611a6357600f5f9054906101000a900460ff166117895760135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611749575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f906131ed565b60405180910390fd5b5b60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611826575060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118cd57600954821115611870576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118679061327b565b60405180910390fd5b600a5461187c84610ab5565b836118879190612be8565b11156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf906132e3565b60405180910390fd5b611a62565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561196a575060145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b9576009548211156119b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ab90613371565b60405180910390fd5b611a61565b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a6057600a54611a1384610ab5565b83611a1e9190612be8565b1115611a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a56906132e3565b60405180910390fd5b5b5b5b5b5b5f611a6e30610ab5565b90505f600b548210159050808015611a925750600f60019054906101000a900460ff165b8015611aab5750600760149054906101000a900460ff16155b8015611afe575060155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611b51575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611ba4575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611bc15750600360105f8581526020019081526020015f2054105b15611c28576001600760146101000a81548160ff021916908315150217905550611be961249f565b60105f8481526020019081526020015f205f8154611c069061338f565b919050819055505f600760146101000a81548160ff0219169083151502179055505b5f600760149054906101000a900460ff1615905060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611cd7575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611ce0575f90505b5f5f90508115611dea5760155f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611d5a57606460125487611d499190612e07565b611d539190612bb8565b9050611dc7565b60155f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dc657606460115487611db99190612e07565b611dc39190612bb8565b90505b5b5f811115611ddb57611dda883083612233565b5b8086611de791906133d6565b95505b611df5888888612233565b50505050505b505050565b611e086111e2565b73ffffffffffffffffffffffffffffffffffffffff16611e26610c78565b73ffffffffffffffffffffffffffffffffffffffff1614611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390613453565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff811115611ffb57611ffa613471565b5b6040519080825280602002602001820160405280156120295781602001602082028036833780820191505090505b50905030815f815181106120405761203f612e48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e3573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210791906134b2565b8160018151811061211b5761211a612e48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612180307f0000000000000000000000000000000000000000000000000000000000000000846111e9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016122029594939291906135cd565b5f604051808303815f87803b158015612219575f5ffd5b505af115801561222b573d5f5f3e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612298906130f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230690613185565b60405180910390fd5b61231a8383836124f3565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490613695565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161248691906126a2565b60405180910390a36124998484846124f8565b50505050565b5f6124a930610ab5565b90505f5f82036124ba5750506124f1565b6064600b546124c99190612e07565b8211156124e2576064600b546124df9190612e07565b91505b8190506124ee81611fdf565b50505b565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61253f826124fd565b6125498185612507565b9350612559818560208601612517565b61256281612525565b840191505092915050565b5f6020820190508181035f8301526125858184612535565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125be82612595565b9050919050565b6125ce816125b4565b81146125d8575f5ffd5b50565b5f813590506125e9816125c5565b92915050565b5f819050919050565b612601816125ef565b811461260b575f5ffd5b50565b5f8135905061261c816125f8565b92915050565b5f5f604083850312156126385761263761258d565b5b5f612645858286016125db565b92505060206126568582860161260e565b9150509250929050565b5f8115159050919050565b61267481612660565b82525050565b5f60208201905061268d5f83018461266b565b92915050565b61269c816125ef565b82525050565b5f6020820190506126b55f830184612693565b92915050565b5f5f5f606084860312156126d2576126d161258d565b5b5f6126df868287016125db565b93505060206126f0868287016125db565b92505060406127018682870161260e565b9150509250925092565b5f60ff82169050919050565b6127208161270b565b82525050565b5f6020820190506127395f830184612717565b92915050565b5f5f5f606084860312156127565761275561258d565b5b5f6127638682870161260e565b93505060206127748682870161260e565b92505060406127858682870161260e565b9150509250925092565b5f5f604083850312156127a5576127a461258d565b5b5f6127b28582860161260e565b92505060206127c38582860161260e565b9150509250929050565b5f819050919050565b5f6127f06127eb6127e684612595565b6127cd565b612595565b9050919050565b5f612801826127d6565b9050919050565b5f612812826127f7565b9050919050565b61282281612808565b82525050565b5f60208201905061283b5f830184612819565b92915050565b5f602082840312156128565761285561258d565b5b5f612863848285016125db565b91505092915050565b61287581612660565b811461287f575f5ffd5b50565b5f813590506128908161286c565b92915050565b5f5f604083850312156128ac576128ab61258d565b5b5f6128b9858286016125db565b92505060206128ca85828601612882565b9150509250929050565b6128dd816125b4565b82525050565b5f6020820190506128f65f8301846128d4565b92915050565b5f602082840312156129115761291061258d565b5b5f61291e8482850161260e565b91505092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261294857612947612927565b5b8235905067ffffffffffffffff8111156129655761296461292b565b5b6020830191508360208202830111156129815761298061292f565b5b9250929050565b5f5f83601f84011261299d5761299c612927565b5b8235905067ffffffffffffffff8111156129ba576129b961292b565b5b6020830191508360208202830111156129d6576129d561292f565b5b9250929050565b5f5f5f5f604085870312156129f5576129f461258d565b5b5f85013567ffffffffffffffff811115612a1257612a11612591565b5b612a1e87828801612933565b9450945050602085013567ffffffffffffffff811115612a4157612a40612591565b5b612a4d87828801612988565b925092505092959194509250565b5f5f60408385031215612a7157612a7061258d565b5b5f612a7e858286016125db565b9250506020612a8f858286016125db565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612add57607f821691505b602082108103612af057612aef612a99565b5b50919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b2a601783612507565b9150612b3582612af6565b602082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612bc2826125ef565b9150612bcd836125ef565b925082612bdd57612bdc612b5e565b5b828204905092915050565b5f612bf2826125ef565b9150612bfd836125ef565b9250828201905080821115612c1557612c14612b8b565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f612c4f601683612507565b9150612c5a82612c1b565b602082019050919050565b5f6020820190508181035f830152612c7c81612c43565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612cb7601683612507565b9150612cc282612c83565b602082019050919050565b5f6020820190508181035f830152612ce481612cab565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612d45603983612507565b9150612d5082612ceb565b604082019050919050565b5f6020820190508181035f830152612d7281612d39565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612dd3602583612507565b9150612dde82612d79565b604082019050919050565b5f6020820190508181035f830152612e0081612dc7565b9050919050565b5f612e11826125ef565b9150612e1c836125ef565b9250828202612e2a816125ef565b91508282048414831517612e4157612e40612b8b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ecf602683612507565b9150612eda82612e75565b604082019050919050565b5f6020820190508181035f830152612efc81612ec3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f5d602483612507565b9150612f6882612f03565b604082019050919050565b5f6020820190508181035f830152612f8a81612f51565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612feb602283612507565b9150612ff682612f91565b604082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613053601d83612507565b915061305e8261301f565b602082019050919050565b5f6020820190508181035f83015261308081613047565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130e1602583612507565b91506130ec82613087565b604082019050919050565b5f6020820190508181035f83015261310e816130d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61316f602383612507565b915061317a82613115565b604082019050919050565b5f6020820190508181035f83015261319c81613163565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6131d7601683612507565b91506131e2826131a3565b602082019050919050565b5f6020820190508181035f830152613204816131cb565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613265603583612507565b91506132708261320b565b604082019050919050565b5f6020820190508181035f83015261329281613259565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6132cd601383612507565b91506132d882613299565b602082019050919050565b5f6020820190508181035f8301526132fa816132c1565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61335b603683612507565b915061336682613301565b604082019050919050565b5f6020820190508181035f8301526133888161334f565b9050919050565b5f613399826125ef565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133cb576133ca612b8b565b5b600182019050919050565b5f6133e0826125ef565b91506133eb836125ef565b925082820390508181111561340357613402612b8b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61343d602083612507565b915061344882613409565b602082019050919050565b5f6020820190508181035f83015261346a81613431565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506134ac816125c5565b92915050565b5f602082840312156134c7576134c661258d565b5b5f6134d48482850161349e565b91505092915050565b5f819050919050565b5f6135006134fb6134f6846134dd565b6127cd565b6125ef565b9050919050565b613510816134e6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613548816125b4565b82525050565b5f613559838361353f565b60208301905092915050565b5f602082019050919050565b5f61357b82613516565b6135858185613520565b935061359083613530565b805f5b838110156135c05781516135a7888261354e565b97506135b283613565565b925050600181019050613593565b5085935050505092915050565b5f60a0820190506135e05f830188612693565b6135ed6020830187613507565b81810360408301526135ff8186613571565b905061360e60608301856128d4565b61361b6080830184612693565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61367f602683612507565b915061368a82613625565b604082019050919050565b5f6020820190508181035f8301526136ac81613673565b905091905056fea26469706673582212205384e966e2d21dbd92dff4e2f9d473afdd9132764325760209d5fc0201bc80d664736f6c634300081e00330000000000000000000000004b8bfc4ca103bbd3b255c6984720a05a52ad3eee

Deployed Bytecode

0x608060405260043610610207575f3560e01c80638da5cb5b11610117578063cf9522fd1161009f578063e2f456051161006e578063e2f4560514610730578063f2fde38b1461075a578063f82d36e814610782578063f8b45b05146107aa578063ffb54a99146107d45761020e565b8063cf9522fd14610678578063d8b66ae1146106a2578063dd62ed3e146106ca578063dd854652146107065761020e565b8063a9059cbb116100e6578063a9059cbb1461059a578063aacebbe3146105d6578063afa4f3b2146105fe578063c024666814610626578063c8c8ebe41461064e5761020e565b80638da5cb5b146104e257806395d89b411461050c5780639a7a23d614610536578063a457c2d71461055e5761020e565b80634a62bb651161019a57806370a082311161016957806370a082311461043c578063715018a614610478578063751039fc1461048e5780637571336a146104a457806389291a8f146104cc5761020e565b80634a62bb651461039657806352f7c988146103c0578063583e0568146103e85780636ddd1713146104125761020e565b8063311028af116101d6578063311028af146102de578063313ce5671461030857806334848b9a14610332578063395093511461035a5761020e565b806306fdde0314610212578063095ea7b31461023c57806318160ddd1461027857806323b872dd146102a25761020e565b3661020e57005b5f5ffd5b34801561021d575f5ffd5b506102266107fe565b604051610233919061256d565b60405180910390f35b348015610247575f5ffd5b50610262600480360381019061025d9190612622565b61088e565b60405161026f919061267a565b60405180910390f35b348015610283575f5ffd5b5061028c6108b0565b60405161029991906126a2565b60405180910390f35b3480156102ad575f5ffd5b506102c860048036038101906102c391906126bb565b6108b9565b6040516102d5919061267a565b60405180910390f35b3480156102e9575f5ffd5b506102f26108e7565b6040516102ff91906126a2565b60405180910390f35b348015610313575f5ffd5b5061031c6108ed565b6040516103299190612726565b60405180910390f35b34801561033d575f5ffd5b506103586004803603810190610353919061273f565b6108f5565b005b348015610365575f5ffd5b50610380600480360381019061037b9190612622565b6109ca565b60405161038d919061267a565b60405180910390f35b3480156103a1575f5ffd5b506103aa610a00565b6040516103b7919061267a565b60405180910390f35b3480156103cb575f5ffd5b506103e660048036038101906103e1919061278f565b610a13565b005b3480156103f3575f5ffd5b506103fc610a7e565b6040516104099190612828565b60405180910390f35b34801561041d575f5ffd5b50610426610aa2565b604051610433919061267a565b60405180910390f35b348015610447575f5ffd5b50610462600480360381019061045d9190612841565b610ab5565b60405161046f91906126a2565b60405180910390f35b348015610483575f5ffd5b5061048c610afa565b005b348015610499575f5ffd5b506104a2610b0d565b005b3480156104af575f5ffd5b506104ca60048036038101906104c59190612896565b610b31565b005b3480156104d7575f5ffd5b506104e0610b91565b005b3480156104ed575f5ffd5b506104f6610c78565b60405161050391906128e3565b60405180910390f35b348015610517575f5ffd5b50610520610ca0565b60405161052d919061256d565b60405180910390f35b348015610541575f5ffd5b5061055c60048036038101906105579190612896565b610d30565b005b348015610569575f5ffd5b50610584600480360381019061057f9190612622565b610dd5565b604051610591919061267a565b60405180910390f35b3480156105a5575f5ffd5b506105c060048036038101906105bb9190612622565b610e4a565b6040516105cd919061267a565b60405180910390f35b3480156105e1575f5ffd5b506105fc60048036038101906105f79190612841565b610e6c565b005b348015610609575f5ffd5b50610624600480360381019061061f91906128fc565b610eb7565b005b348015610631575f5ffd5b5061064c60048036038101906106479190612896565b610edc565b005b348015610659575f5ffd5b50610662610f8a565b60405161066f91906126a2565b60405180910390f35b348015610683575f5ffd5b5061068c610f90565b60405161069991906126a2565b60405180910390f35b3480156106ad575f5ffd5b506106c860048036038101906106c391906129dd565b610f96565b005b3480156106d5575f5ffd5b506106f060048036038101906106eb9190612a5b565b61103c565b6040516106fd91906126a2565b60405180910390f35b348015610711575f5ffd5b5061071a6110be565b60405161072791906126a2565b60405180910390f35b34801561073b575f5ffd5b506107446110c4565b60405161075191906126a2565b60405180910390f35b348015610765575f5ffd5b50610780600480360381019061077b9190612841565b6110ca565b005b34801561078d575f5ffd5b506107a860048036038101906107a391906128fc565b61114c565b005b3480156107b5575f5ffd5b506107be6111ca565b6040516107cb91906126a2565b60405180910390f35b3480156107df575f5ffd5b506107e86111d0565b6040516107f5919061267a565b60405180910390f35b60606003805461080d90612ac6565b80601f016020809104026020016040519081016040528092919081815260200182805461083990612ac6565b80156108845780601f1061085b57610100808354040283529160200191610884565b820191905f5260205f20905b81548152906001019060200180831161086757829003601f168201915b5050505050905090565b5f5f6108986111e2565b90506108a58185856111e9565b600191505092915050565b5f600254905090565b5f5f6108c36111e2565b90506108d08582856113ac565b6108db858585611437565b60019150509392505050565b60085481565b5f6012905090565b6108fd611e00565b600f5f9054906101000a900460ff161561094c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094390612b40565b60405180910390fd5b8260118190555082601281905550816008546109689190612bb8565b6009819055508160085461097c9190612bb8565b600a8190555080600e8190555043600c819055506001600f60016101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff021916908315150217905550505050565b5f5f6109d46111e2565b90506109f58185856109e6858961103c565b6109f09190612be8565b6111e9565b600191505092915050565b600f60029054906101000a900460ff1681565b610a1b611e00565b601e8211158015610a2d5750601e8111155b610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612c65565b60405180910390fd5b81601181905550806012819055505050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600f60019054906101000a900460ff1681565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b02611e00565b610b0b5f611e7e565b565b610b15611e00565b5f600f60026101000a81548160ff021916908315150217905550565b610b39611e00565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bd16111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610bf0575f5ffd5b5f4711610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2990612ccd565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c75573d5f5f3e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610caf90612ac6565b80601f0160208091040260200160405190810160405280929190818152602001828054610cdb90612ac6565b8015610d265780601f10610cfd57610100808354040283529160200191610d26565b820191905f5260205f20905b815481529060010190602001808311610d0957829003601f168201915b5050505050905090565b610d38611e00565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612d5b565b60405180910390fd5b610dd18282611f41565b5050565b5f5f610ddf6111e2565b90505f610dec828661103c565b905083811015610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890612de9565b60405180910390fd5b610e3e82868684036111e9565b60019250505092915050565b5f5f610e546111e2565b9050610e61818585611437565b600191505092915050565b610e74611e00565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ebf611e00565b670de0b6b3a764000081610ed39190612e07565b600b8190555050565b610ee4611e00565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610f7e919061267a565b60405180910390a25050565b60095481565b60125481565b5f84849050118015610fad57508383905082829050145b610fb5575f5ffd5b5f3390505f5f90505b858590508110156110345761102782878784818110610fe057610fdf612e48565b5b9050602002016020810190610ff59190612841565b670de0b6b3a764000087878681811061101157611010612e48565b5b905060200201356110229190612e07565b611437565b8080600101915050610fbe565b505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b600b5481565b6110d2611e00565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612ee5565b60405180910390fd5b61114981611e7e565b50565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661118c6111e2565b73ffffffffffffffffffffffffffffffffffffffff16146111ab575f5ffd5b6111c7670de0b6b3a7640000826111c29190612e07565b611fdf565b50565b600a5481565b600f5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612f73565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90613001565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139f91906126a2565b60405180910390a3505050565b5f6113b7848461103c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114315781811015611423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141a90613069565b60405180910390fd5b61143084848484036111e9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906130f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90613185565b60405180910390fd5b5f810361152a5761152583835f612233565b611dfb565b5f439050600f60029054906101000a900460ff1615611a6457600e54600c546115539190612be8565b811115611595576032601181905550603260128190555060646008546115799190612bb8565b600981905550606460085461158e9190612bb8565b600a819055505b61159d610c78565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561160b57506115db610c78565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561164357505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561167d575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116965750600760149054906101000a900460ff16155b15611a6357600f5f9054906101000a900460ff166117895760135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611749575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f906131ed565b60405180910390fd5b5b60155f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611826575060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118cd57600954821115611870576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118679061327b565b60405180910390fd5b600a5461187c84610ab5565b836118879190612be8565b11156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf906132e3565b60405180910390fd5b611a62565b60155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561196a575060145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b9576009548211156119b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ab90613371565b60405180910390fd5b611a61565b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a6057600a54611a1384610ab5565b83611a1e9190612be8565b1115611a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a56906132e3565b60405180910390fd5b5b5b5b5b5b5f611a6e30610ab5565b90505f600b548210159050808015611a925750600f60019054906101000a900460ff165b8015611aab5750600760149054906101000a900460ff16155b8015611afe575060155f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611b51575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611ba4575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611bc15750600360105f8581526020019081526020015f2054105b15611c28576001600760146101000a81548160ff021916908315150217905550611be961249f565b60105f8481526020019081526020015f205f8154611c069061338f565b919050819055505f600760146101000a81548160ff0219169083151502179055505b5f600760149054906101000a900460ff1615905060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611cd7575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611ce0575f90505b5f5f90508115611dea5760155f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611d5a57606460125487611d499190612e07565b611d539190612bb8565b9050611dc7565b60155f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dc657606460115487611db99190612e07565b611dc39190612bb8565b90505b5b5f811115611ddb57611dda883083612233565b5b8086611de791906133d6565b95505b611df5888888612233565b50505050505b505050565b611e086111e2565b73ffffffffffffffffffffffffffffffffffffffff16611e26610c78565b73ffffffffffffffffffffffffffffffffffffffff1614611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390613453565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff811115611ffb57611ffa613471565b5b6040519080825280602002602001820160405280156120295781602001602082028036833780820191505090505b50905030815f815181106120405761203f612e48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e3573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210791906134b2565b8160018151811061211b5761211a612e48565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612180307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846111e9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016122029594939291906135cd565b5f604051808303815f87803b158015612219575f5ffd5b505af115801561222b573d5f5f3e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612298906130f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230690613185565b60405180910390fd5b61231a8383836124f3565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490613695565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161248691906126a2565b60405180910390a36124998484846124f8565b50505050565b5f6124a930610ab5565b90505f5f82036124ba5750506124f1565b6064600b546124c99190612e07565b8211156124e2576064600b546124df9190612e07565b91505b8190506124ee81611fdf565b50505b565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61253f826124fd565b6125498185612507565b9350612559818560208601612517565b61256281612525565b840191505092915050565b5f6020820190508181035f8301526125858184612535565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125be82612595565b9050919050565b6125ce816125b4565b81146125d8575f5ffd5b50565b5f813590506125e9816125c5565b92915050565b5f819050919050565b612601816125ef565b811461260b575f5ffd5b50565b5f8135905061261c816125f8565b92915050565b5f5f604083850312156126385761263761258d565b5b5f612645858286016125db565b92505060206126568582860161260e565b9150509250929050565b5f8115159050919050565b61267481612660565b82525050565b5f60208201905061268d5f83018461266b565b92915050565b61269c816125ef565b82525050565b5f6020820190506126b55f830184612693565b92915050565b5f5f5f606084860312156126d2576126d161258d565b5b5f6126df868287016125db565b93505060206126f0868287016125db565b92505060406127018682870161260e565b9150509250925092565b5f60ff82169050919050565b6127208161270b565b82525050565b5f6020820190506127395f830184612717565b92915050565b5f5f5f606084860312156127565761275561258d565b5b5f6127638682870161260e565b93505060206127748682870161260e565b92505060406127858682870161260e565b9150509250925092565b5f5f604083850312156127a5576127a461258d565b5b5f6127b28582860161260e565b92505060206127c38582860161260e565b9150509250929050565b5f819050919050565b5f6127f06127eb6127e684612595565b6127cd565b612595565b9050919050565b5f612801826127d6565b9050919050565b5f612812826127f7565b9050919050565b61282281612808565b82525050565b5f60208201905061283b5f830184612819565b92915050565b5f602082840312156128565761285561258d565b5b5f612863848285016125db565b91505092915050565b61287581612660565b811461287f575f5ffd5b50565b5f813590506128908161286c565b92915050565b5f5f604083850312156128ac576128ab61258d565b5b5f6128b9858286016125db565b92505060206128ca85828601612882565b9150509250929050565b6128dd816125b4565b82525050565b5f6020820190506128f65f8301846128d4565b92915050565b5f602082840312156129115761291061258d565b5b5f61291e8482850161260e565b91505092915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261294857612947612927565b5b8235905067ffffffffffffffff8111156129655761296461292b565b5b6020830191508360208202830111156129815761298061292f565b5b9250929050565b5f5f83601f84011261299d5761299c612927565b5b8235905067ffffffffffffffff8111156129ba576129b961292b565b5b6020830191508360208202830111156129d6576129d561292f565b5b9250929050565b5f5f5f5f604085870312156129f5576129f461258d565b5b5f85013567ffffffffffffffff811115612a1257612a11612591565b5b612a1e87828801612933565b9450945050602085013567ffffffffffffffff811115612a4157612a40612591565b5b612a4d87828801612988565b925092505092959194509250565b5f5f60408385031215612a7157612a7061258d565b5b5f612a7e858286016125db565b9250506020612a8f858286016125db565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612add57607f821691505b602082108103612af057612aef612a99565b5b50919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b2a601783612507565b9150612b3582612af6565b602082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612bc2826125ef565b9150612bcd836125ef565b925082612bdd57612bdc612b5e565b5b828204905092915050565b5f612bf2826125ef565b9150612bfd836125ef565b9250828201905080821115612c1557612c14612b8b565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f612c4f601683612507565b9150612c5a82612c1b565b602082019050919050565b5f6020820190508181035f830152612c7c81612c43565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f612cb7601683612507565b9150612cc282612c83565b602082019050919050565b5f6020820190508181035f830152612ce481612cab565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612d45603983612507565b9150612d5082612ceb565b604082019050919050565b5f6020820190508181035f830152612d7281612d39565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612dd3602583612507565b9150612dde82612d79565b604082019050919050565b5f6020820190508181035f830152612e0081612dc7565b9050919050565b5f612e11826125ef565b9150612e1c836125ef565b9250828202612e2a816125ef565b91508282048414831517612e4157612e40612b8b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ecf602683612507565b9150612eda82612e75565b604082019050919050565b5f6020820190508181035f830152612efc81612ec3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f5d602483612507565b9150612f6882612f03565b604082019050919050565b5f6020820190508181035f830152612f8a81612f51565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612feb602283612507565b9150612ff682612f91565b604082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613053601d83612507565b915061305e8261301f565b602082019050919050565b5f6020820190508181035f83015261308081613047565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130e1602583612507565b91506130ec82613087565b604082019050919050565b5f6020820190508181035f83015261310e816130d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61316f602383612507565b915061317a82613115565b604082019050919050565b5f6020820190508181035f83015261319c81613163565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6131d7601683612507565b91506131e2826131a3565b602082019050919050565b5f6020820190508181035f830152613204816131cb565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613265603583612507565b91506132708261320b565b604082019050919050565b5f6020820190508181035f83015261329281613259565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6132cd601383612507565b91506132d882613299565b602082019050919050565b5f6020820190508181035f8301526132fa816132c1565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f61335b603683612507565b915061336682613301565b604082019050919050565b5f6020820190508181035f8301526133888161334f565b9050919050565b5f613399826125ef565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133cb576133ca612b8b565b5b600182019050919050565b5f6133e0826125ef565b91506133eb836125ef565b925082820390508181111561340357613402612b8b565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61343d602083612507565b915061344882613409565b602082019050919050565b5f6020820190508181035f83015261346a81613431565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506134ac816125c5565b92915050565b5f602082840312156134c7576134c661258d565b5b5f6134d48482850161349e565b91505092915050565b5f819050919050565b5f6135006134fb6134f6846134dd565b6127cd565b6125ef565b9050919050565b613510816134e6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613548816125b4565b82525050565b5f613559838361353f565b60208301905092915050565b5f602082019050919050565b5f61357b82613516565b6135858185613520565b935061359083613530565b805f5b838110156135c05781516135a7888261354e565b97506135b283613565565b925050600181019050613593565b5085935050505092915050565b5f60a0820190506135e05f830188612693565b6135ed6020830187613507565b81810360408301526135ff8186613571565b905061360e60608301856128d4565b61361b6080830184612693565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61367f602683612507565b915061368a82613625565b604082019050919050565b5f6020820190508181035f8301526136ac81613673565b905091905056fea26469706673582212205384e966e2d21dbd92dff4e2f9d473afdd9132764325760209d5fc0201bc80d664736f6c634300081e0033

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

0000000000000000000000004b8bfc4ca103bbd3b255c6984720a05a52ad3eee

-----Decoded View---------------
Arg [0] : wallet (address): 0x4b8BfC4CA103BbD3B255c6984720a05a52AD3eEe

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004b8bfc4ca103bbd3b255c6984720a05a52ad3eee


Deployed Bytecode Sourcemap

12242:8803:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7300:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8232:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7621:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8441:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12542:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7520:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14586:469;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8744:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12959:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19769:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12283:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12921:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7737:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6376:103;;;;;;;;;;;;;:::i;:::-;;19277:84;;;;;;;;;;;;;:::i;:::-;;15061:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19369:226;;;;;;;;;;;;;:::i;:::-;;6141:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7408:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15236:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8990:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7872:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19988:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20129:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15703:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12602:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13088:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20264:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8073:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13055:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12729:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6487:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19603:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12671:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12883:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7300:100;7354:13;7387:5;7380:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7300:100;:::o;8232:201::-;8315:4;8332:13;8348:12;:10;:12::i;:::-;8332:28;;8371:32;8380:5;8387:7;8396:6;8371:8;:32::i;:::-;8421:4;8414:11;;;8232:201;;;;:::o;7621:108::-;7682:7;7709:12;;7702:19;;7621:108;:::o;8441:295::-;8572:4;8589:15;8607:12;:10;:12::i;:::-;8589:30;;8630:38;8646:4;8652:7;8661:6;8630:15;:38::i;:::-;8679:27;8689:4;8695:2;8699:6;8679:9;:27::i;:::-;8724:4;8717:11;;;8441:295;;;;;:::o;12542:53::-;;;;:::o;7520:93::-;7578:5;7603:2;7596:9;;7520:93;:::o;14586:469::-;6100:13;:11;:13::i;:::-;14706:11:::1;;;;;;;;;;;14705:12;14697:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14764:10;14755:6;:19;;;;14795:10;14785:7;:20;;;;14860:7;14839:18;;:28;;;;:::i;:::-;14816:20;:51;;;;14911:7;14890:18;;:28;;;;:::i;:::-;14878:9;:40;;;;14942:11;14929:10;:24;;;;14977:12;14964:10;:25;;;;15014:4;15000:11;;:18;;;;;;;;;;;;;;;;;;15043:4;15029:11;;:18;;;;;;;;;;;;;;;;;;14586:469:::0;;;:::o;8744:238::-;8832:4;8849:13;8865:12;:10;:12::i;:::-;8849:28;;8888:64;8897:5;8904:7;8941:10;8913:25;8923:5;8930:7;8913:9;:25::i;:::-;:38;;;;:::i;:::-;8888:8;:64::i;:::-;8970:4;8963:11;;;8744:238;;;;:::o;12959:33::-;;;;;;;;;;;;;:::o;19769:211::-;6100:13;:11;:13::i;:::-;19869:2:::1;19858:7;:13;;:31;;;;;19887:2;19875:8;:14;;19858:31;19850:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;19936:7;19927:6;:16;;;;19964:8;19954:7;:18;;;;19769:211:::0;;:::o;12283:52::-;;;:::o;12921:31::-;;;;;;;;;;;;;:::o;7737:127::-;7811:7;7838:9;:18;7848:7;7838:18;;;;;;;;;;;;;;;;7831:25;;7737:127;;;:::o;6376:103::-;6100:13;:11;:13::i;:::-;6441:30:::1;6468:1;6441:18;:30::i;:::-;6376:103::o:0;19277:84::-;6100:13;:11;:13::i;:::-;19348:5:::1;19331:14;;:22;;;;;;;;;;;;;;;;;;19277:84::o:0;15061:167::-;6100:13;:11;:13::i;:::-;15216:4:::1;15174:31;:39;15206:6;15174:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;15061:167:::0;;:::o;19369:226::-;19438:15;;;;;;;;;;;19422:31;;:12;:10;:12::i;:::-;:31;;;19414:40;;;;;;19497:1;19473:21;:25;19465:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19544:10;19536:28;;:51;19565:21;19536:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19369:226::o;6141:87::-;6187:7;6214:6;;;;;;;;;;;6207:13;;6141:87;:::o;7408:104::-;7464:13;7497:7;7490:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7408:104;:::o;15236:265::-;6100:13;:11;:13::i;:::-;15366::::1;;;;;;;;;;;15358:21;;:4;:21;;::::0;15350:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15452:41;15481:4;15487:5;15452:28;:41::i;:::-;15236:265:::0;;:::o;8990:436::-;9083:4;9100:13;9116:12;:10;:12::i;:::-;9100:28;;9139:24;9166:25;9176:5;9183:7;9166:9;:25::i;:::-;9139:52;;9230:15;9210:16;:35;;9202:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9323:60;9332:5;9339:7;9367:15;9348:16;:34;9323:8;:60::i;:::-;9414:4;9407:11;;;;8990:436;;;;:::o;7872:193::-;7951:4;7968:13;7984:12;:10;:12::i;:::-;7968:28;;8007;8017:5;8024:2;8028:6;8007:9;:28::i;:::-;8053:4;8046:11;;;7872:193;;;;:::o;19988:133::-;6100:13;:11;:13::i;:::-;20095:18:::1;20077:15;;:36;;;;;;;;;;;;;;;;;;19988:133:::0;:::o;20129:127::-;6100:13;:11;:13::i;:::-;20239:8:::1;20228:7;:20;;;;:::i;:::-;20207:18;:41;;;;20129:127:::0;:::o;15703:182::-;6100:13;:11;:13::i;:::-;15819:8:::1;15788:19;:28;15808:7;15788:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15859:7;15843:34;;;15868:8;15843:34;;;;;;:::i;:::-;;;;;;;;15703:182:::0;;:::o;12602:62::-;;;;:::o;13088:27::-;;;;:::o;20264:356::-;20391:1;20372:9;;:16;;:20;:58;;;;;20414:9;;:16;;20396:7;;:14;;:34;20372:58;20364:67;;;;;;20444:12;20459:10;20444:25;;20489:6;20498:1;20489:10;;20484:129;20505:9;;:16;;20501:1;:20;20484:129;;;20545:52;20555:4;20561:9;;20571:1;20561:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20589:6;20575:7;;20583:1;20575:10;;;;;;;:::i;:::-;;;;;;;;:21;;;;:::i;:::-;20545:9;:52::i;:::-;20523:3;;;;;;;20484:129;;;;20351:269;20264:356;;;;:::o;8073:151::-;8162:7;8189:11;:18;8201:5;8189:18;;;;;;;;;;;;;;;:27;8208:7;8189:27;;;;;;;;;;;;;;;;8182:34;;8073:151;;;;:::o;13055:26::-;;;;:::o;12729:46::-;;;;:::o;6487:201::-;6100:13;:11;:13::i;:::-;6596:1:::1;6576:22;;:8;:22;;::::0;6568:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6652:28;6671:8;6652:18;:28::i;:::-;6487:201:::0;:::o;19603:158::-;19689:15;;;;;;;;;;;19673:31;;:12;:10;:12::i;:::-;:31;;;19665:40;;;;;;19716:37;19743:8;19733:6;:19;;;;:::i;:::-;19716:16;:37::i;:::-;19603:158;:::o;12671:51::-;;;;:::o;12883:31::-;;;;;;;;;;;;;:::o;96:98::-;149:7;176:10;169:17;;96:98;:::o;11129:380::-;11282:1;11265:19;;:5;:19;;;11257:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11363:1;11344:21;;:7;:21;;;11336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11447:6;11417:11;:18;11429:5;11417:18;;;;;;;;;;;;;;;:27;11436:7;11417:27;;;;;;;;;;;;;;;:36;;;;11485:7;11469:32;;11478:5;11469:32;;;11494:6;11469:32;;;;;;:::i;:::-;;;;;;;;11129:380;;;:::o;11517:453::-;11652:24;11679:25;11689:5;11696:7;11679:9;:25::i;:::-;11652:52;;11739:17;11719:16;:37;11715:248;;11801:6;11781:16;:26;;11773:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11885:51;11894:5;11901:7;11929:6;11910:16;:25;11885:8;:51::i;:::-;11715:248;11641:329;11517:453;;;:::o;15893:2887::-;16009:1;15993:18;;:4;:18;;;15985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16086:1;16072:16;;:2;:16;;;16064:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16155:1;16145:6;:11;16141:93;;16173:28;16189:4;16195:2;16199:1;16173:15;:28::i;:::-;16216:7;;16141:93;16246:16;16265:12;16246:31;;16302:14;;;;;;;;;;;16298:1416;;;16370:10;;16357;;:23;;;;:::i;:::-;16345:8;:36;16342:294;;;16438:2;16429:6;:11;;;;16475:2;16465:7;:12;;;;16548:3;16527:18;;:24;;;;:::i;:::-;16504:20;:47;;;;16609:3;16588:18;;:24;;;;:::i;:::-;16576:9;:36;;;;16342:294;16670:7;:5;:7::i;:::-;16662:15;;:4;:15;;;;:32;;;;;16687:7;:5;:7::i;:::-;16681:13;;:2;:13;;;;16662:32;:52;;;;;16712:1;16698:16;;:2;:16;;;;16662:52;:77;;;;;16732:6;16718:21;;:2;:21;;;;16662:77;:90;;;;;16744:8;;;;;;;;;;;16743:9;16662:90;16658:1043;;;16780:11;;;;;;;;;;;16775:148;;16824:19;:25;16844:4;16824:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;16853:19;:23;16873:2;16853:23;;;;;;;;;;;;;;;;;;;;;;;;;16824:52;16816:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;16775:148;16947:25;:31;16973:4;16947:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;16983:31;:35;17015:2;16983:35;;;;;;;;;;;;;;;;;;;;;;;;;16982:36;16947:71;16943:743;;;17079:20;;17069:6;:30;;17061:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;17214:9;;17197:13;17207:2;17197:9;:13::i;:::-;17188:6;:22;;;;:::i;:::-;:35;;17180:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16943:743;;;17296:25;:29;17322:2;17296:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;17330:31;:37;17362:4;17330:37;;;;;;;;;;;;;;;;;;;;;;;;;17329:38;17296:71;17292:394;;;17410:20;;17400:6;:30;;17392:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;17292:394;;;17539:31;:35;17571:2;17539:35;;;;;;;;;;;;;;;;;;;;;;;;;17534:152;;17633:9;;17616:13;17626:2;17616:9;:13::i;:::-;17607:6;:22;;;;:::i;:::-;:35;;17599:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17534:152;17292:394;16943:743;16658:1043;16298:1416;17726:28;17757:24;17775:4;17757:9;:24::i;:::-;17726:55;;17794:12;17833:18;;17809:20;:42;;17794:57;;17868:7;:22;;;;;17879:11;;;;;;;;;;;17868:22;:35;;;;;17895:8;;;;;;;;;;;17894:9;17868:35;:71;;;;;17908:25;:31;17934:4;17908:31;;;;;;;;;;;;;;;;;;;;;;;;;17907:32;17868:71;:101;;;;;17944:19;:25;17964:4;17944:25;;;;;;;;;;;;;;;;;;;;;;;;;17943:26;17868:101;:129;;;;;17974:19;:23;17994:2;17974:23;;;;;;;;;;;;;;;;;;;;;;;;;17973:24;17868:129;:160;;;;;18026:1;18002:11;:21;18014:8;18002:21;;;;;;;;;;;;:25;17868:160;17864:302;;;18056:4;18045:8;;:15;;;;;;;;;;;;;;;;;;18075:10;:8;:10::i;:::-;18102:11;:21;18114:8;18102:21;;;;;;;;;;;;18100:23;;;;;:::i;:::-;;;;;;;;18149:5;18138:8;;:16;;;;;;;;;;;;;;;;;;17864:302;18178:12;18194:8;;;;;;;;;;;18193:9;18178:24;;18219:19;:25;18239:4;18219:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;18248:19;:23;18268:2;18248:23;;;;;;;;;;;;;;;;;;;;;;;;;18219:52;18215:100;;;18298:5;18288:15;;18215:100;18327:12;18342:1;18327:16;;18360:7;18356:373;;;18388:25;:29;18414:2;18388:29;;;;;;;;;;;;;;;;;;;;;;;;;18384:218;;;18464:3;18454:7;;18445:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;18438:29;;18384:218;;;18506:25;:31;18532:4;18506:31;;;;;;;;;;;;;;;;;;;;;;;;;18502:100;;;18583:3;18574:6;;18565;:15;;;;:::i;:::-;:21;;;;:::i;:::-;18558:28;;18502:100;18384:218;18625:1;18618:4;:8;18614:83;;;18643:42;18659:4;18673;18680;18643:15;:42::i;:::-;18614:83;18717:4;18707:14;;;;;:::i;:::-;;;18356:373;18739:33;18755:4;18761:2;18765:6;18739:15;:33::i;:::-;15972:2808;;;;;15893:2887;;;;:::o;6236:132::-;6311:12;:10;:12::i;:::-;6300:23;;:7;:5;:7::i;:::-;:23;;;6292:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6236:132::o;6696:191::-;6770:16;6789:6;;;;;;;;;;;6770:25;;6815:8;6806:6;;:17;;;;;;;;;;;;;;;;;;6870:8;6839:40;;6860:8;6839:40;;;;;;;;;;;;6759:128;6696:191;:::o;15509:186::-;15626:5;15592:25;:31;15618:4;15592:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15681:5;15647:40;;15675:4;15647:40;;;;;;;;;;;;15509:186;;:::o;18788:482::-;18856:21;18894:1;18880:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18856:40;;18925:4;18907;18912:1;18907:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18951:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18941:4;18946:1;18941:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;18987:63;19004:4;19019:16;19038:11;18987:8;:63::i;:::-;19063:16;:67;;;19145:11;19171:1;19187:4;19206:15;;;;;;;;;;;19236;19063:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18843:427;18788:482;:::o;9434:675::-;9581:1;9565:18;;:4;:18;;;9557:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9658:1;9644:16;;:2;:16;;;9636:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9713:38;9734:4;9740:2;9744:6;9713:20;:38::i;:::-;9764:19;9786:9;:15;9796:4;9786:15;;;;;;;;;;;;;;;;9764:37;;9835:6;9820:11;:21;;9812:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9952:6;9938:11;:20;9920:9;:15;9930:4;9920:15;;;;;;;;;;;;;;;:38;;;;9990:6;9973:9;:13;9983:2;9973:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10040:2;10025:26;;10034:4;10025:26;;;10044:6;10025:26;;;;;;:::i;:::-;;;;;;;;10064:37;10084:4;10090:2;10094:6;10064:19;:37::i;:::-;9546:563;9434:675;;;:::o;20628:414::-;20667:23;20693:24;20711:4;20693:9;:24::i;:::-;20667:50;;20728:20;20784:1;20765:15;:20;20761:59;;20802:7;;;;20761:59;20875:3;20854:18;;:24;;;;:::i;:::-;20836:15;:42;20832:117;;;20934:3;20913:18;;:24;;;;:::i;:::-;20895:42;;20832:117;20976:15;20961:30;;21002;21019:12;21002:16;:30::i;:::-;20656:386;;20628:414;:::o;11978:125::-;;;;:::o;12111: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:619::-;4823:6;4831;4839;4888:2;4876:9;4867:7;4863:23;4859:32;4856:119;;;4894:79;;:::i;:::-;4856:119;5014:1;5039:53;5084:7;5075:6;5064:9;5060:22;5039:53;:::i;:::-;5029:63;;4985:117;5141:2;5167:53;5212:7;5203:6;5192:9;5188:22;5167:53;:::i;:::-;5157:63;;5112:118;5269:2;5295:53;5340:7;5331:6;5320:9;5316:22;5295:53;:::i;:::-;5285:63;;5240:118;4746:619;;;;;:::o;5371:474::-;5439:6;5447;5496:2;5484:9;5475:7;5471:23;5467:32;5464:119;;;5502:79;;:::i;:::-;5464:119;5622:1;5647:53;5692:7;5683:6;5672:9;5668:22;5647:53;:::i;:::-;5637:63;;5593:117;5749:2;5775:53;5820:7;5811:6;5800:9;5796:22;5775:53;:::i;:::-;5765:63;;5720:118;5371:474;;;;;:::o;5851:60::-;5879:3;5900:5;5893:12;;5851:60;;;:::o;5917:142::-;5967:9;6000:53;6018:34;6027:24;6045:5;6027:24;:::i;:::-;6018:34;:::i;:::-;6000:53;:::i;:::-;5987:66;;5917:142;;;:::o;6065:126::-;6115:9;6148:37;6179:5;6148:37;:::i;:::-;6135:50;;6065:126;;;:::o;6197:151::-;6272:9;6305:37;6336:5;6305:37;:::i;:::-;6292:50;;6197:151;;;:::o;6354:181::-;6466:62;6522:5;6466:62;:::i;:::-;6461:3;6454:75;6354:181;;:::o;6541:272::-;6659:4;6697:2;6686:9;6682:18;6674:26;;6710:96;6803:1;6792:9;6788:17;6779:6;6710:96;:::i;:::-;6541:272;;;;:::o;6819:329::-;6878:6;6927:2;6915:9;6906:7;6902:23;6898:32;6895:119;;;6933:79;;:::i;:::-;6895:119;7053:1;7078:53;7123:7;7114:6;7103:9;7099:22;7078:53;:::i;:::-;7068:63;;7024:117;6819:329;;;;:::o;7154:116::-;7224:21;7239:5;7224:21;:::i;:::-;7217:5;7214:32;7204:60;;7260:1;7257;7250:12;7204:60;7154:116;:::o;7276:133::-;7319:5;7357:6;7344:20;7335:29;;7373:30;7397:5;7373:30;:::i;:::-;7276:133;;;;:::o;7415:468::-;7480:6;7488;7537:2;7525:9;7516:7;7512:23;7508:32;7505:119;;;7543:79;;:::i;:::-;7505:119;7663:1;7688:53;7733:7;7724:6;7713:9;7709:22;7688:53;:::i;:::-;7678:63;;7634:117;7790:2;7816:50;7858:7;7849:6;7838:9;7834:22;7816:50;:::i;:::-;7806:60;;7761:115;7415:468;;;;;:::o;7889:118::-;7976:24;7994:5;7976:24;:::i;:::-;7971:3;7964:37;7889:118;;:::o;8013:222::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8157:71;8225:1;8214:9;8210:17;8201:6;8157:71;:::i;:::-;8013:222;;;;:::o;8241:329::-;8300:6;8349:2;8337:9;8328:7;8324:23;8320:32;8317:119;;;8355:79;;:::i;:::-;8317:119;8475:1;8500:53;8545:7;8536:6;8525:9;8521:22;8500:53;:::i;:::-;8490:63;;8446:117;8241:329;;;;:::o;8576:117::-;8685:1;8682;8675:12;8699:117;8808:1;8805;8798:12;8822:117;8931:1;8928;8921:12;8962:568;9035:8;9045:6;9095:3;9088:4;9080:6;9076:17;9072:27;9062:122;;9103:79;;:::i;:::-;9062:122;9216:6;9203:20;9193:30;;9246:18;9238:6;9235:30;9232:117;;;9268:79;;:::i;:::-;9232:117;9382:4;9374:6;9370:17;9358:29;;9436:3;9428:4;9420:6;9416:17;9406:8;9402:32;9399:41;9396:128;;;9443:79;;:::i;:::-;9396:128;8962:568;;;;;:::o;9553:::-;9626:8;9636:6;9686:3;9679:4;9671:6;9667:17;9663:27;9653:122;;9694:79;;:::i;:::-;9653:122;9807:6;9794:20;9784:30;;9837:18;9829:6;9826:30;9823:117;;;9859:79;;:::i;:::-;9823:117;9973:4;9965:6;9961:17;9949:29;;10027:3;10019:4;10011:6;10007:17;9997:8;9993:32;9990:41;9987:128;;;10034:79;;:::i;:::-;9987:128;9553:568;;;;;:::o;10127:934::-;10249:6;10257;10265;10273;10322:2;10310:9;10301:7;10297:23;10293:32;10290:119;;;10328:79;;:::i;:::-;10290:119;10476:1;10465:9;10461:17;10448:31;10506:18;10498:6;10495:30;10492:117;;;10528:79;;:::i;:::-;10492:117;10641:80;10713:7;10704:6;10693:9;10689:22;10641:80;:::i;:::-;10623:98;;;;10419:312;10798:2;10787:9;10783:18;10770:32;10829:18;10821:6;10818:30;10815:117;;;10851:79;;:::i;:::-;10815:117;10964:80;11036:7;11027:6;11016:9;11012:22;10964:80;:::i;:::-;10946:98;;;;10741:313;10127:934;;;;;;;:::o;11067:474::-;11135:6;11143;11192:2;11180:9;11171:7;11167:23;11163:32;11160:119;;;11198:79;;:::i;:::-;11160:119;11318:1;11343:53;11388:7;11379:6;11368:9;11364:22;11343:53;:::i;:::-;11333:63;;11289:117;11445:2;11471:53;11516:7;11507:6;11496:9;11492:22;11471:53;:::i;:::-;11461:63;;11416:118;11067:474;;;;;:::o;11547:180::-;11595:77;11592:1;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11733:320;11777:6;11814:1;11808:4;11804:12;11794:22;;11861:1;11855:4;11851:12;11882:18;11872:81;;11938:4;11930:6;11926:17;11916:27;;11872:81;12000:2;11992:6;11989:14;11969:18;11966:38;11963:84;;12019:18;;:::i;:::-;11963:84;11784:269;11733:320;;;:::o;12059:173::-;12199:25;12195:1;12187:6;12183:14;12176:49;12059:173;:::o;12238:366::-;12380:3;12401:67;12465:2;12460:3;12401:67;:::i;:::-;12394:74;;12477:93;12566:3;12477:93;:::i;:::-;12595:2;12590:3;12586:12;12579:19;;12238:366;;;:::o;12610:419::-;12776:4;12814:2;12803:9;12799:18;12791:26;;12863:9;12857:4;12853:20;12849:1;12838:9;12834:17;12827:47;12891:131;13017:4;12891:131;:::i;:::-;12883:139;;12610:419;;;:::o;13035:180::-;13083:77;13080:1;13073:88;13180:4;13177:1;13170:15;13204:4;13201:1;13194:15;13221:180;13269:77;13266:1;13259:88;13366:4;13363:1;13356:15;13390:4;13387:1;13380:15;13407:185;13447:1;13464:20;13482:1;13464:20;:::i;:::-;13459:25;;13498:20;13516:1;13498:20;:::i;:::-;13493:25;;13537:1;13527:35;;13542:18;;:::i;:::-;13527:35;13584:1;13581;13577:9;13572:14;;13407:185;;;;:::o;13598:191::-;13638:3;13657:20;13675:1;13657:20;:::i;:::-;13652:25;;13691:20;13709:1;13691:20;:::i;:::-;13686:25;;13734:1;13731;13727:9;13720:16;;13755:3;13752:1;13749:10;13746:36;;;13762:18;;:::i;:::-;13746:36;13598:191;;;;:::o;13795:172::-;13935:24;13931:1;13923:6;13919:14;13912:48;13795:172;:::o;13973:366::-;14115:3;14136:67;14200:2;14195:3;14136:67;:::i;:::-;14129:74;;14212:93;14301:3;14212:93;:::i;:::-;14330:2;14325:3;14321:12;14314:19;;13973:366;;;:::o;14345:419::-;14511:4;14549:2;14538:9;14534:18;14526:26;;14598:9;14592:4;14588:20;14584:1;14573:9;14569:17;14562:47;14626:131;14752:4;14626:131;:::i;:::-;14618:139;;14345:419;;;:::o;14770:172::-;14910:24;14906:1;14898:6;14894:14;14887:48;14770:172;:::o;14948:366::-;15090:3;15111:67;15175:2;15170:3;15111:67;:::i;:::-;15104:74;;15187:93;15276:3;15187:93;:::i;:::-;15305:2;15300:3;15296:12;15289:19;;14948:366;;;:::o;15320:419::-;15486:4;15524:2;15513:9;15509:18;15501:26;;15573:9;15567:4;15563:20;15559:1;15548:9;15544:17;15537:47;15601:131;15727:4;15601:131;:::i;:::-;15593:139;;15320:419;;;:::o;15745:244::-;15885:34;15881:1;15873:6;15869:14;15862:58;15954:27;15949:2;15941:6;15937:15;15930:52;15745:244;:::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:224::-;16932:34;16928:1;16920:6;16916:14;16909:58;17001:7;16996:2;16988:6;16984:15;16977:32;16792:224;:::o;17022:366::-;17164:3;17185:67;17249:2;17244:3;17185:67;:::i;:::-;17178:74;;17261:93;17350:3;17261:93;:::i;:::-;17379:2;17374:3;17370:12;17363:19;;17022:366;;;:::o;17394:419::-;17560:4;17598:2;17587:9;17583:18;17575:26;;17647:9;17641:4;17637:20;17633:1;17622:9;17618:17;17611:47;17675:131;17801:4;17675:131;:::i;:::-;17667:139;;17394:419;;;:::o;17819:410::-;17859:7;17882:20;17900:1;17882:20;:::i;:::-;17877:25;;17916:20;17934:1;17916:20;:::i;:::-;17911:25;;17971:1;17968;17964:9;17993:30;18011:11;17993:30;:::i;:::-;17982:41;;18172:1;18163:7;18159:15;18156:1;18153:22;18133:1;18126:9;18106:83;18083:139;;18202:18;;:::i;:::-;18083:139;17867:362;17819:410;;;;:::o;18235:180::-;18283:77;18280:1;18273:88;18380:4;18377:1;18370:15;18404:4;18401:1;18394:15;18421:225;18561:34;18557:1;18549:6;18545:14;18538:58;18630:8;18625:2;18617:6;18613:15;18606:33;18421:225;:::o;18652:366::-;18794:3;18815:67;18879:2;18874:3;18815:67;:::i;:::-;18808:74;;18891:93;18980:3;18891:93;:::i;:::-;19009:2;19004:3;19000:12;18993:19;;18652:366;;;:::o;19024:419::-;19190:4;19228:2;19217:9;19213:18;19205:26;;19277:9;19271:4;19267:20;19263:1;19252:9;19248:17;19241:47;19305:131;19431:4;19305:131;:::i;:::-;19297:139;;19024:419;;;:::o;19449:223::-;19589:34;19585:1;19577:6;19573:14;19566:58;19658:6;19653:2;19645:6;19641:15;19634:31;19449:223;:::o;19678:366::-;19820:3;19841:67;19905:2;19900:3;19841:67;:::i;:::-;19834:74;;19917:93;20006:3;19917:93;:::i;:::-;20035:2;20030:3;20026:12;20019:19;;19678:366;;;:::o;20050:419::-;20216:4;20254:2;20243:9;20239:18;20231:26;;20303:9;20297:4;20293:20;20289:1;20278:9;20274:17;20267:47;20331:131;20457:4;20331:131;:::i;:::-;20323:139;;20050:419;;;:::o;20475:221::-;20615:34;20611:1;20603:6;20599:14;20592:58;20684:4;20679:2;20671:6;20667:15;20660:29;20475:221;:::o;20702:366::-;20844:3;20865:67;20929:2;20924:3;20865:67;:::i;:::-;20858:74;;20941:93;21030:3;20941:93;:::i;:::-;21059:2;21054:3;21050:12;21043:19;;20702:366;;;:::o;21074:419::-;21240:4;21278:2;21267:9;21263:18;21255:26;;21327:9;21321:4;21317:20;21313:1;21302:9;21298:17;21291:47;21355:131;21481:4;21355:131;:::i;:::-;21347:139;;21074:419;;;:::o;21499:179::-;21639:31;21635:1;21627:6;21623:14;21616:55;21499:179;:::o;21684:366::-;21826:3;21847:67;21911:2;21906:3;21847:67;:::i;:::-;21840:74;;21923:93;22012:3;21923:93;:::i;:::-;22041:2;22036:3;22032:12;22025:19;;21684:366;;;:::o;22056:419::-;22222:4;22260:2;22249:9;22245:18;22237:26;;22309:9;22303:4;22299:20;22295:1;22284:9;22280:17;22273:47;22337:131;22463:4;22337:131;:::i;:::-;22329:139;;22056:419;;;:::o;22481:224::-;22621:34;22617:1;22609:6;22605:14;22598:58;22690:7;22685:2;22677:6;22673:15;22666:32;22481:224;:::o;22711:366::-;22853:3;22874:67;22938:2;22933:3;22874:67;:::i;:::-;22867:74;;22950:93;23039:3;22950:93;:::i;:::-;23068:2;23063:3;23059:12;23052:19;;22711:366;;;:::o;23083:419::-;23249:4;23287:2;23276:9;23272:18;23264:26;;23336:9;23330:4;23326:20;23322:1;23311:9;23307:17;23300:47;23364:131;23490:4;23364:131;:::i;:::-;23356:139;;23083:419;;;:::o;23508:222::-;23648:34;23644:1;23636:6;23632:14;23625:58;23717:5;23712:2;23704:6;23700:15;23693:30;23508:222;:::o;23736:366::-;23878:3;23899:67;23963:2;23958:3;23899:67;:::i;:::-;23892:74;;23975:93;24064:3;23975:93;:::i;:::-;24093:2;24088:3;24084:12;24077:19;;23736:366;;;:::o;24108:419::-;24274:4;24312:2;24301:9;24297:18;24289:26;;24361:9;24355:4;24351:20;24347:1;24336:9;24332:17;24325:47;24389:131;24515:4;24389:131;:::i;:::-;24381:139;;24108:419;;;:::o;24533:172::-;24673:24;24669:1;24661:6;24657:14;24650:48;24533:172;:::o;24711:366::-;24853:3;24874:67;24938:2;24933:3;24874:67;:::i;:::-;24867:74;;24950:93;25039:3;24950:93;:::i;:::-;25068:2;25063:3;25059:12;25052:19;;24711:366;;;:::o;25083:419::-;25249:4;25287:2;25276:9;25272:18;25264:26;;25336:9;25330:4;25326:20;25322:1;25311:9;25307:17;25300:47;25364:131;25490:4;25364:131;:::i;:::-;25356:139;;25083:419;;;:::o;25508:240::-;25648:34;25644:1;25636:6;25632:14;25625:58;25717:23;25712:2;25704:6;25700:15;25693:48;25508:240;:::o;25754:366::-;25896:3;25917:67;25981:2;25976:3;25917:67;:::i;:::-;25910:74;;25993:93;26082:3;25993:93;:::i;:::-;26111:2;26106:3;26102:12;26095:19;;25754:366;;;:::o;26126:419::-;26292:4;26330:2;26319:9;26315:18;26307:26;;26379:9;26373:4;26369:20;26365:1;26354:9;26350:17;26343:47;26407:131;26533:4;26407:131;:::i;:::-;26399:139;;26126:419;;;:::o;26551:169::-;26691:21;26687:1;26679:6;26675:14;26668:45;26551:169;:::o;26726:366::-;26868:3;26889:67;26953:2;26948:3;26889:67;:::i;:::-;26882:74;;26965:93;27054:3;26965:93;:::i;:::-;27083:2;27078:3;27074:12;27067:19;;26726:366;;;:::o;27098:419::-;27264:4;27302:2;27291:9;27287:18;27279:26;;27351:9;27345:4;27341:20;27337:1;27326:9;27322:17;27315:47;27379:131;27505:4;27379:131;:::i;:::-;27371:139;;27098:419;;;:::o;27523:241::-;27663:34;27659:1;27651:6;27647:14;27640:58;27732:24;27727:2;27719:6;27715:15;27708:49;27523:241;:::o;27770:366::-;27912:3;27933:67;27997:2;27992:3;27933:67;:::i;:::-;27926:74;;28009:93;28098:3;28009:93;:::i;:::-;28127:2;28122:3;28118:12;28111:19;;27770:366;;;:::o;28142:419::-;28308:4;28346:2;28335:9;28331:18;28323:26;;28395:9;28389:4;28385:20;28381:1;28370:9;28366:17;28359:47;28423:131;28549:4;28423:131;:::i;:::-;28415:139;;28142:419;;;:::o;28567:233::-;28606:3;28629:24;28647:5;28629:24;:::i;:::-;28620:33;;28675:66;28668:5;28665:77;28662:103;;28745:18;;:::i;:::-;28662:103;28792:1;28785:5;28781:13;28774:20;;28567:233;;;:::o;28806:194::-;28846:4;28866:20;28884:1;28866:20;:::i;:::-;28861:25;;28900:20;28918:1;28900:20;:::i;:::-;28895:25;;28944:1;28941;28937:9;28929:17;;28968:1;28962:4;28959:11;28956:37;;;28973:18;;:::i;:::-;28956:37;28806:194;;;;:::o;29006:182::-;29146:34;29142:1;29134:6;29130:14;29123:58;29006:182;:::o;29194:366::-;29336:3;29357:67;29421:2;29416:3;29357:67;:::i;:::-;29350:74;;29433:93;29522:3;29433:93;:::i;:::-;29551:2;29546:3;29542:12;29535:19;;29194:366;;;:::o;29566:419::-;29732:4;29770:2;29759:9;29755:18;29747:26;;29819:9;29813:4;29809:20;29805:1;29794:9;29790:17;29783:47;29847:131;29973:4;29847:131;:::i;:::-;29839:139;;29566:419;;;:::o;29991:180::-;30039:77;30036:1;30029:88;30136:4;30133:1;30126:15;30160:4;30157:1;30150:15;30177:143;30234:5;30265:6;30259:13;30250:22;;30281:33;30308:5;30281:33;:::i;:::-;30177:143;;;;:::o;30326:351::-;30396:6;30445:2;30433:9;30424:7;30420:23;30416:32;30413:119;;;30451:79;;:::i;:::-;30413:119;30571:1;30596:64;30652:7;30643:6;30632:9;30628:22;30596:64;:::i;:::-;30586:74;;30542:128;30326:351;;;;:::o;30683:85::-;30728:7;30757:5;30746:16;;30683:85;;;:::o;30774:158::-;30832:9;30865:61;30883:42;30892:32;30918:5;30892:32;:::i;:::-;30883:42;:::i;:::-;30865:61;:::i;:::-;30852:74;;30774:158;;;:::o;30938:147::-;31033:45;31072:5;31033:45;:::i;:::-;31028:3;31021:58;30938:147;;:::o;31091:114::-;31158:6;31192:5;31186:12;31176:22;;31091:114;;;:::o;31211:184::-;31310:11;31344:6;31339:3;31332:19;31384:4;31379:3;31375:14;31360:29;;31211:184;;;;:::o;31401:132::-;31468:4;31491:3;31483:11;;31521:4;31516:3;31512:14;31504:22;;31401:132;;;:::o;31539:108::-;31616:24;31634:5;31616:24;:::i;:::-;31611:3;31604:37;31539:108;;:::o;31653:179::-;31722:10;31743:46;31785:3;31777:6;31743:46;:::i;:::-;31821:4;31816:3;31812:14;31798:28;;31653:179;;;;:::o;31838:113::-;31908:4;31940;31935:3;31931:14;31923:22;;31838:113;;;:::o;31987:732::-;32106:3;32135:54;32183:5;32135:54;:::i;:::-;32205:86;32284:6;32279:3;32205:86;:::i;:::-;32198:93;;32315:56;32365:5;32315:56;:::i;:::-;32394:7;32425:1;32410:284;32435:6;32432:1;32429:13;32410:284;;;32511:6;32505:13;32538:63;32597:3;32582:13;32538:63;:::i;:::-;32531:70;;32624:60;32677:6;32624:60;:::i;:::-;32614:70;;32470:224;32457:1;32454;32450:9;32445:14;;32410:284;;;32414:14;32710:3;32703:10;;32111:608;;;31987:732;;;;:::o;32725:831::-;32988:4;33026:3;33015:9;33011:19;33003:27;;33040:71;33108:1;33097:9;33093:17;33084:6;33040:71;:::i;:::-;33121:80;33197:2;33186:9;33182:18;33173:6;33121:80;:::i;:::-;33248:9;33242:4;33238:20;33233:2;33222:9;33218:18;33211:48;33276:108;33379:4;33370:6;33276:108;:::i;:::-;33268:116;;33394:72;33462:2;33451:9;33447:18;33438:6;33394:72;:::i;:::-;33476:73;33544:3;33533:9;33529:19;33520:6;33476:73;:::i;:::-;32725:831;;;;;;;;:::o;33562:225::-;33702:34;33698:1;33690:6;33686:14;33679:58;33771:8;33766:2;33758:6;33754:15;33747:33;33562:225;:::o;33793:366::-;33935:3;33956:67;34020:2;34015:3;33956:67;:::i;:::-;33949:74;;34032:93;34121:3;34032:93;:::i;:::-;34150:2;34145:3;34141:12;34134:19;;33793:366;;;:::o;34165:419::-;34331:4;34369:2;34358:9;34354:18;34346:26;;34418:9;34412:4;34408:20;34404:1;34393:9;34389:17;34382:47;34446:131;34572:4;34446:131;:::i;:::-;34438:139;;34165:419;;;:::o

Swarm Source

ipfs://5384e966e2d21dbd92dff4e2f9d473afdd9132764325760209d5fc0201bc80d6

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.