ETH Price: $3,509.37 (+4.62%)

Token

PepeZone (PEZO)
 

Overview

Max Total Supply

1,000,000,000 PEZO

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,360,612.69531250171189186 PEZO

Value
$0.00
0x31e1adef4698ed331dfa91a640fba0d8df2b342e
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
PepeZone

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.18;


interface IERC20 {
  
    function totalSupply() external view returns (uint256);

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

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

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

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

    

 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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


interface IERC20Metadata is IERC20 {
    
    function name() external view returns (string memory);

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

    
    function decimals() external view returns (uint8);
}


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

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


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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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


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

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

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

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

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

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

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

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

   
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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


abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    

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


abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

  
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

  
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

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

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

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

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

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

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

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

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

    function initialize(address, address) external;
}

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

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

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

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

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

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

contract PepeZone is ERC20, Ownable, Pausable {

    IERC20 public pepeToken; 
    
    uint256 private initialSupply;
   
    uint256 private denominator = 100;

    uint256 private swapThreshold = 0.0000009 ether; 
    
    uint256 private devTaxBuy;
    uint256 private liquidityTaxBuy;
   
    
    uint256 private devTaxSell;
    uint256 private liquidityTaxSell;
    uint256 public maxWallet;
    
    address private devTaxWallet;
    address private liquidityTaxWallet;
    
    address public pepeTokenAddress;
    address public launchpadAddress;
    

   
    // Mappings
    
    mapping (address => bool) private blacklist;
    mapping (address => bool) private excludeList;
   
    
    mapping (string => uint256) private buyTaxes;
    mapping (string => uint256) private sellTaxes;
    mapping (string => address) private taxWallets;
    
    bool public taxStatus = true;
    
    IUniswapV2Router02 private uniswapV2Router02;
    IUniswapV2Factory private uniswapV2Factory;
    IUniswapV2Pair private uniswapV2Pair;
    
    constructor(string memory _tokenName,string memory _tokenSymbol,uint256 _supply) ERC20(_tokenName, _tokenSymbol)      payable
    {
        initialSupply =_supply * (10**18);
        maxWallet = initialSupply * 2 / 100; //2% of the supply
        _setOwner(msg.sender);
        uniswapV2Router02 = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Factory = IUniswapV2Factory(uniswapV2Router02.factory());
        uniswapV2Pair = IUniswapV2Pair(uniswapV2Factory.createPair(address(this), uniswapV2Router02.WETH()));
        taxWallets["liquidity"] = address(0);
        setBuyTax(13,2); //dev tax, liquidity tax
        setSellTax(13,2); //dev tax, liquidity tax
        setTaxWallets(0xF8fe2732e36eBA4b2D7dB1422a06d41E153129A4); 
        exclude(msg.sender);
        exclude(address(this));
        exclude(devTaxWallet);
        _mint(msg.sender, initialSupply);
    }
    
    
    uint256 private devTokens;
    uint256 private liquidityTokens;
    
    
   
    function handleTax(address from, address to, uint256 amount) private returns (uint256) {
        address[] memory sellPath = new address[](2);
        sellPath[0] = address(this);
        sellPath[1] = uniswapV2Router02.WETH();
        
        if(!isExcluded(from) && !isExcluded(to)) {
            uint256 tax;
            uint256 baseUnit = amount / denominator;
            if(from == address(uniswapV2Pair)) {
                tax += baseUnit * buyTaxes["dev"];
                tax += baseUnit * buyTaxes["liquidity"];
               
                
                if(tax > 0) {
                    _transfer(from, address(this), tax);   
                }
                
                
                devTokens += baseUnit * buyTaxes["dev"];
                liquidityTokens += baseUnit * buyTaxes["liquidity"];

            } else if(to == address(uniswapV2Pair)) {
                
                tax += baseUnit * sellTaxes["dev"];
                tax += baseUnit * sellTaxes["liquidity"];
                
                
                if(tax > 0) {
                    _transfer(from, address(this), tax);   
                }
                
               
                devTokens += baseUnit * sellTaxes["dev"];
                liquidityTokens += baseUnit * sellTaxes["liquidity"];
                
                
                uint256 taxSum =  devTokens + liquidityTokens;
                
                if(taxSum == 0) return amount;
                
                uint256 ethValue = uniswapV2Router02.getAmountsOut( devTokens + liquidityTokens, sellPath)[1];
                
                if(ethValue >= swapThreshold) {
                    uint256 startBalance = address(this).balance;

                    uint256 toSell = devTokens + liquidityTokens / 2 ;
                    
                    _approve(address(this), address(uniswapV2Router02), toSell);
            
                    uniswapV2Router02.swapExactTokensForETH(
                        toSell,
                        0,
                        sellPath,
                        address(this),
                        block.timestamp
                    );
                    
                    uint256 ethGained = address(this).balance - startBalance;
                    
                    uint256 liquidityToken = liquidityTokens / 2;
                    uint256 liquidityETH = (ethGained * ((liquidityTokens / 2 * 10**18) / taxSum)) / 10**18;
                    
                    
                    uint256 devETH = (ethGained * ((devTokens * 10**18) / taxSum)) / 10**18;
                   
                    
                    _approve(address(this), address(uniswapV2Router02), liquidityToken);
                    
                    uniswapV2Router02.addLiquidityETH{value: liquidityETH}(
                        address(this),
                        liquidityToken,
                        0,
                        0,
                        taxWallets["liquidity"],
                        block.timestamp
                    );
                    
                    uint256 remainingTokens = (devTokens + liquidityTokens) - (toSell + liquidityToken);
                    
                    if(remainingTokens > 0) {
                        _transfer(address(this), taxWallets["dev"], remainingTokens);
                    }
                    
                    
                   (bool success,) = taxWallets["dev"].call{value: devETH}("");
                   require(success, "transfer to  dev wallet failed");
                    
                    
                    if(ethGained - ( devETH + liquidityETH) > 0) {
                       (bool success1,) = taxWallets["dev"].call{value: ethGained - (devETH + liquidityETH)}("");
                        require(success1, "transfer to  dev wallet failed");
                    }

                    
                    
                    
                    devTokens = 0;
                    liquidityTokens = 0;
                    
                }
                
            }
            
            amount -= tax;
            if (to != address(uniswapV2Pair)){
                require(balanceOf(to) + amount <= maxWallet, "maxWallet limit exceeded");
            }
           
        }
        
        return amount;
    }
    
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override virtual {
        require(!paused(), "ERC20: token transfer while paused");
        require(!isBlacklisted(msg.sender), "ERC20: sender blacklisted");
        require(!isBlacklisted(recipient), "ERC20: recipient blacklisted");
        require(!isBlacklisted(tx.origin), "ERC20: sender blacklisted");
        
        if(taxStatus) {
            amount = handleTax(sender, recipient, amount);   
        }

        super._transfer(sender, recipient, amount);
    }

    
    
    /**
     * @dev Triggers the tax handling functionality
     */
    function triggerTax() public onlyOwner {
        handleTax(address(0), address(uniswapV2Pair), 0);
    }

      function setPepeTokenAddress(address _pepeTokenAddress) external onlyOwner {
        pepeTokenAddress = _pepeTokenAddress;
        pepeToken = IERC20(pepeTokenAddress);
    }

 function pepeRewards(address[] calldata holders, uint256[] calldata rewards) external onlyOwner {
        require(holders.length == rewards.length, "Holders and rewards arrays must have the same length.");

        for (uint256 i = 0; i < holders.length; i++) {
            require(pepeToken.transferFrom(msg.sender, holders[i], rewards[i]), "Transfer failed.");
        }
    }
    
    /**
     * @dev Pauses transfers on the token.
     */
    function pause() public onlyOwner {
        require(!paused(), "ERC20: Contract is already paused");
        _pause();
    }

    /**
     * @dev Unpauses transfers on the token.
     */
    function unpause() public onlyOwner {
        require(paused(), "ERC20: Contract is not paused");
        _unpause();
    }

     /**
     * @dev set max wallet limit per address.
     */

    function setMaxWallet (uint256 amount) external onlyOwner {
        require (amount > 10000, "NO rug pull");
        maxWallet = amount * 10**18;
    }
    
    /**
     * @dev Burns tokens from caller address.
     */
    function burn(uint256 amount) public onlyOwner {
        _burn(msg.sender, amount);
    }
    
    /**
     * @dev Blacklists the specified account (Disables transfers to and from the account).
     */
    function enableBlacklist(address account) public onlyOwner {
        require(!blacklist[account], "ERC20: Account is already blacklisted");
        blacklist[account] = true;
    }


    
    /**
     * @dev Remove the specified account from the blacklist.
     */
    function disableBlacklist(address account) public onlyOwner {
        require(blacklist[account], "ERC20: Account is not blacklisted");
        blacklist[account] = false;
    }
    

    
    /**
     * @dev Excludes the specified account from tax.
     */
    function exclude(address account) public onlyOwner {
        require(!isExcluded(account), "ERC20: Account is already excluded");
        excludeList[account] = true;
    }
    
   
    function removeExclude(address account) public onlyOwner {
        require(isExcluded(account), "ERC20: Account is not excluded");
        excludeList[account] = false;
    }
    
    
    function setBuyTax(uint256 dev,uint256 liquidity) public onlyOwner {
        buyTaxes["dev"] = dev;
        buyTaxes["liquidity"] = liquidity;
       
    }
    
    
    function setSellTax(uint256 dev, uint256 liquidity) public onlyOwner {

        sellTaxes["dev"] = dev;
        sellTaxes["liquidity"] = liquidity;
        
    }
    
   
    function setTaxWallets(address dev) public onlyOwner {
        taxWallets["dev"] = dev;
        
    }

    function claimStuckTokens(address _token) external onlyOwner {
 
        if (_token == address(0x0)) {
            payable(owner()).transfer(address(this).balance);
            return;
        }
        IERC20 erc20token = IERC20(_token);
        uint256 balance = erc20token.balanceOf(address(this));
        erc20token.transfer(owner(), balance);
    }
    
    
    function enableTax() public onlyOwner {
        require(!taxStatus, "ERC20: Tax is already enabled");
        taxStatus = true;
    }
    
    
    function disableTax() public onlyOwner {
        require(taxStatus, "ERC20: Tax is already disabled");
        taxStatus = false;
    }
    
    
    function isBlacklisted(address account) public view returns (bool) {
        return blacklist[account];
    }
    
    
    function isExcluded(address account) public view returns (bool) {
        return excludeList[account];
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimStuckTokens","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"}],"name":"disableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"enableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchpadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"holders","type":"address[]"},{"internalType":"uint256[]","name":"rewards","type":"uint256[]"}],"name":"pepeRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pepeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pepeTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pepeTokenAddress","type":"address"}],"name":"setPepeTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dev","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"triggerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052606460085564d18c2e28006009556001601860006101000a81548160ff0219169083151502179055506040516200699738038062006997833981810160405281019062000052919062000d22565b8282816003908162000065919062000ffd565b50806004908162000077919062000ffd565b5050506000600560146101000a81548160ff021916908315150217905550670de0b6b3a764000081620000ab919062001113565b60078190555060646002600754620000c4919062001113565b620000d091906200118d565b600e81905550620000e733620004a560201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d091906200122a565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e391906200122a565b6040518363ffffffff1660e01b8152600401620003029291906200126d565b6020604051808303816000875af115801562000322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034891906200122a565b601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060176040516200039a90620012f5565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003fa600d60026200056b60201b60201c565b6200040e600d60026200064460201b60201c565b6200043373f8fe2732e36eba4b2d7db1422a06d41e153129a46200071d60201b60201c565b62000444336200080c60201b60201c565b62000455306200080c60201b60201c565b62000488600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200080c60201b60201c565b6200049c336007546200094a60201b60201c565b50505062001569565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200057b62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005a162000aca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620005fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005f1906200136d565b60405180910390fd5b8160156040516200060b90620013df565b9081526020016040518091039020819055508060156040516200062e90620012f5565b9081526020016040518091039020819055505050565b6200065462000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200067a62000aca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ca906200136d565b60405180910390fd5b816016604051620006e490620013df565b9081526020016040518091039020819055508060166040516200070790620012f5565b9081526020016040518091039020819055505050565b6200072d62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200075362000aca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a3906200136d565b60405180910390fd5b806017604051620007bd90620013df565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6200081c62000ac260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200084262000aca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200089b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000892906200136d565b60405180910390fd5b620008ac8162000af460201b60201c565b15620008ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008e6906200146c565b60405180910390fd5b6001601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b390620014de565b60405180910390fd5b620009d06000838362000b4a60201b60201c565b8060026000828254620009e4919062001500565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a3b919062001500565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aa291906200154c565b60405180910390a362000abe6000838362000b4f60201b60201c565b5050565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000bbd8262000b72565b810181811067ffffffffffffffff8211171562000bdf5762000bde62000b83565b5b80604052505050565b600062000bf462000b54565b905062000c02828262000bb2565b919050565b600067ffffffffffffffff82111562000c255762000c2462000b83565b5b62000c308262000b72565b9050602081019050919050565b60005b8381101562000c5d57808201518184015260208101905062000c40565b60008484015250505050565b600062000c8062000c7a8462000c07565b62000be8565b90508281526020810184848401111562000c9f5762000c9e62000b6d565b5b62000cac84828562000c3d565b509392505050565b600082601f83011262000ccc5762000ccb62000b68565b5b815162000cde84826020860162000c69565b91505092915050565b6000819050919050565b62000cfc8162000ce7565b811462000d0857600080fd5b50565b60008151905062000d1c8162000cf1565b92915050565b60008060006060848603121562000d3e5762000d3d62000b5e565b5b600084015167ffffffffffffffff81111562000d5f5762000d5e62000b63565b5b62000d6d8682870162000cb4565b935050602084015167ffffffffffffffff81111562000d915762000d9062000b63565b5b62000d9f8682870162000cb4565b925050604062000db28682870162000d0b565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e0f57607f821691505b60208210810362000e255762000e2462000dc7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e8f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e50565b62000e9b868362000e50565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000ede62000ed862000ed28462000ce7565b62000eb3565b62000ce7565b9050919050565b6000819050919050565b62000efa8362000ebd565b62000f1262000f098262000ee5565b84845462000e5d565b825550505050565b600090565b62000f2962000f1a565b62000f3681848462000eef565b505050565b5b8181101562000f5e5762000f5260008262000f1f565b60018101905062000f3c565b5050565b601f82111562000fad5762000f778162000e2b565b62000f828462000e40565b8101602085101562000f92578190505b62000faa62000fa18562000e40565b83018262000f3b565b50505b505050565b600082821c905092915050565b600062000fd26000198460080262000fb2565b1980831691505092915050565b600062000fed838362000fbf565b9150826002028217905092915050565b620010088262000dbc565b67ffffffffffffffff81111562001024576200102362000b83565b5b62001030825462000df6565b6200103d82828562000f62565b600060209050601f83116001811462001075576000841562001060578287015190505b6200106c858262000fdf565b865550620010dc565b601f198416620010858662000e2b565b60005b82811015620010af5784890151825560018201915060208501945060208101905062001088565b86831015620010cf5784890151620010cb601f89168262000fbf565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620011208262000ce7565b91506200112d8362000ce7565b92508282026200113d8162000ce7565b91508282048414831517620011575762001156620010e4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200119a8262000ce7565b9150620011a78362000ce7565b925082620011ba57620011b96200115e565b5b828204905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011f282620011c5565b9050919050565b6200120481620011e5565b81146200121057600080fd5b50565b6000815190506200122481620011f9565b92915050565b60006020828403121562001243576200124262000b5e565b5b6000620012538482850162001213565b91505092915050565b6200126781620011e5565b82525050565b60006040820190506200128460008301856200125c565b6200129360208301846200125c565b9392505050565b600081905092915050565b7f6c69717569646974790000000000000000000000000000000000000000000000600082015250565b6000620012dd6009836200129a565b9150620012ea82620012a5565b600982019050919050565b60006200130282620012ce565b9150819050919050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620013556020836200130c565b915062001362826200131d565b602082019050919050565b60006020820190508181036000830152620013888162001346565b9050919050565b7f6465760000000000000000000000000000000000000000000000000000000000600082015250565b6000620013c76003836200129a565b9150620013d4826200138f565b600382019050919050565b6000620013ec82620013b8565b9150819050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c756460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000620014546022836200130c565b91506200146182620013f6565b604082019050919050565b60006020820190508181036000830152620014878162001445565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620014c6601f836200130c565b9150620014d3826200148e565b602082019050919050565b60006020820190508181036000830152620014f981620014b7565b9050919050565b60006200150d8262000ce7565b91506200151a8362000ce7565b9250828201905080821115620015355762001534620010e4565b5b92915050565b620015468162000ce7565b82525050565b60006020820190506200156360008301846200153b565b92915050565b61541e80620015796000396000f3fe6080604052600436106102345760003560e01c80635d0044ca1161012e578063abe4f11d116100ab578063dd62ed3e1161006f578063dd62ed3e146107e6578063f2fde38b14610823578063f8b45b051461084c578063f9d0831a14610877578063fe575a87146108a05761023b565b8063abe4f11d14610717578063cba0e99614610740578063ced695a41461077d578063cfefd79e14610794578063d01dc84b146107bd5761023b565b80638da5cb5b116100f25780638da5cb5b1461061e57806395d89b4114610649578063a17e7d6514610674578063a457c2d71461069d578063a9059cbb146106da5761023b565b80635d0044ca1461056157806370a082311461058a578063715018a6146105c7578063717a8651146105de5780638456cb59146106075761023b565b8063313ce567116101bc5780634a7d1d66116101805780634a7d1d66146104a25780634aae03d4146104cb5780634febf53d146104f657806353eb3bcf1461051f5780635c975abb146105365761023b565b8063313ce567146103cf57806339509351146103fa5780633f4ba83a1461043757806342966c681461044e57806344ed89cf146104775761023b565b806321cc4c3f1161020357806321cc4c3f146102fc57806323a38a381461032757806323b872dd14610352578063247b912d1461038f5780632c32abc2146103b85761023b565b806305a1f36d1461024057806306fdde0314610269578063095ea7b31461029457806318160ddd146102d15761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102676004803603810190610262919061383a565b6108dd565b005b34801561027557600080fd5b5061027e61099f565b60405161028b919061390a565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061398a565b610a31565b6040516102c891906139e5565b60405180910390f35b3480156102dd57600080fd5b506102e6610a4f565b6040516102f39190613a0f565b60405180910390f35b34801561030857600080fd5b50610311610a59565b60405161031e9190613a89565b60405180910390f35b34801561033357600080fd5b5061033c610a7f565b60405161034991906139e5565b60405180910390f35b34801561035e57600080fd5b5061037960048036038101906103749190613aa4565b610a92565b60405161038691906139e5565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061383a565b610b8a565b005b3480156103c457600080fd5b506103cd610c4c565b005b3480156103db57600080fd5b506103e4610cfa565b6040516103f19190613b13565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c919061398a565b610d03565b60405161042e91906139e5565b60405180910390f35b34801561044357600080fd5b5061044c610daf565b005b34801561045a57600080fd5b5061047560048036038101906104709190613b2e565b610e7c565b005b34801561048357600080fd5b5061048c610f05565b6040516104999190613b6a565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190613b85565b610f2b565b005b3480156104d757600080fd5b506104e061104e565b6040516104ed9190613b6a565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613b85565b611074565b005b34801561052b57600080fd5b50610534611194565b005b34801561054257600080fd5b5061054b61127d565b60405161055891906139e5565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190613b2e565b611294565b005b34801561059657600080fd5b506105b160048036038101906105ac9190613b85565b611371565b6040516105be9190613a0f565b60405180910390f35b3480156105d357600080fd5b506105dc6113b9565b005b3480156105ea57600080fd5b5061060560048036038101906106009190613b85565b611441565b005b34801561061357600080fd5b5061061c6115a5565b005b34801561062a57600080fd5b50610633611673565b6040516106409190613b6a565b60405180910390f35b34801561065557600080fd5b5061065e61169d565b60405161066b919061390a565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190613c6d565b61172f565b005b3480156106a957600080fd5b506106c460048036038101906106bf919061398a565b61193c565b6040516106d191906139e5565b60405180910390f35b3480156106e657600080fd5b5061070160048036038101906106fc919061398a565b611a27565b60405161070e91906139e5565b60405180910390f35b34801561072357600080fd5b5061073e60048036038101906107399190613b85565b611a45565b005b34801561074c57600080fd5b5061076760048036038101906107629190613b85565b611b64565b60405161077491906139e5565b60405180910390f35b34801561078957600080fd5b50610792611bba565b005b3480156107a057600080fd5b506107bb60048036038101906107b69190613b85565b611ca2565b005b3480156107c957600080fd5b506107e460048036038101906107df9190613b85565b611e05565b005b3480156107f257600080fd5b5061080d60048036038101906108089190613cee565b611edf565b60405161081a9190613a0f565b60405180910390f35b34801561082f57600080fd5b5061084a60048036038101906108459190613b85565b611f66565b005b34801561085857600080fd5b5061086161205d565b60405161086e9190613a0f565b60405180910390f35b34801561088357600080fd5b5061089e60048036038101906108999190613b85565b612063565b005b3480156108ac57600080fd5b506108c760048036038101906108c29190613b85565b612275565b6040516108d491906139e5565b60405180910390f35b6108e56122cb565b73ffffffffffffffffffffffffffffffffffffffff16610903611673565b73ffffffffffffffffffffffffffffffffffffffff1614610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095090613d7a565b60405180910390fd5b81601560405161096890613df1565b90815260200160405180910390208190555080601560405161098990613e52565b9081526020016040518091039020819055505050565b6060600380546109ae90613e96565b80601f01602080910402602001604051908101604052809291908181526020018280546109da90613e96565b8015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b5050505050905090565b6000610a45610a3e6122cb565b84846122d3565b6001905092915050565b6000600254905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900460ff1681565b6000610a9f84848461249c565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aea6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190613f39565b60405180910390fd5b610b7e85610b766122cb565b8584036122d3565b60019150509392505050565b610b926122cb565b73ffffffffffffffffffffffffffffffffffffffff16610bb0611673565b73ffffffffffffffffffffffffffffffffffffffff1614610c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfd90613d7a565b60405180910390fd5b816016604051610c1590613df1565b908152602001604051809103902081905550806016604051610c3690613e52565b9081526020016040518091039020819055505050565b610c546122cb565b73ffffffffffffffffffffffffffffffffffffffff16610c72611673565b73ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90613d7a565b60405180910390fd5b610cf76000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006125f2565b50565b60006012905090565b6000610da5610d106122cb565b848460016000610d1e6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da09190613f88565b6122d3565b6001905092915050565b610db76122cb565b73ffffffffffffffffffffffffffffffffffffffff16610dd5611673565b73ffffffffffffffffffffffffffffffffffffffff1614610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290613d7a565b60405180910390fd5b610e3361127d565b610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990614008565b60405180910390fd5b610e7a613186565b565b610e846122cb565b73ffffffffffffffffffffffffffffffffffffffff16610ea2611673565b73ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90613d7a565b60405180910390fd5b610f023382613228565b50565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f336122cb565b73ffffffffffffffffffffffffffffffffffffffff16610f51611673565b73ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613d7a565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61107c6122cb565b73ffffffffffffffffffffffffffffffffffffffff1661109a611673565b73ffffffffffffffffffffffffffffffffffffffff16146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790613d7a565b60405180910390fd5b6110f981611b64565b15611139576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111309061409a565b60405180910390fd5b6001601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61119c6122cb565b73ffffffffffffffffffffffffffffffffffffffff166111ba611673565b73ffffffffffffffffffffffffffffffffffffffff1614611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120790613d7a565b60405180910390fd5b601860009054906101000a900460ff1615611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790614106565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b6000600560149054906101000a900460ff16905090565b61129c6122cb565b73ffffffffffffffffffffffffffffffffffffffff166112ba611673565b73ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790613d7a565b60405180910390fd5b6127108111611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b90614172565b60405180910390fd5b670de0b6b3a7640000816113689190614192565b600e8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c16122cb565b73ffffffffffffffffffffffffffffffffffffffff166113df611673565b73ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90613d7a565b60405180910390fd5b61143f60006133fe565b565b6114496122cb565b73ffffffffffffffffffffffffffffffffffffffff16611467611673565b73ffffffffffffffffffffffffffffffffffffffff16146114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490613d7a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154190614246565b60405180910390fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6115ad6122cb565b73ffffffffffffffffffffffffffffffffffffffff166115cb611673565b73ffffffffffffffffffffffffffffffffffffffff1614611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890613d7a565b60405180910390fd5b61162961127d565b15611669576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611660906142d8565b60405180910390fd5b6116716134c4565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546116ac90613e96565b80601f01602080910402602001604051908101604052809291908181526020018280546116d890613e96565b80156117255780601f106116fa57610100808354040283529160200191611725565b820191906000526020600020905b81548152906001019060200180831161170857829003601f168201915b5050505050905090565b6117376122cb565b73ffffffffffffffffffffffffffffffffffffffff16611755611673565b73ffffffffffffffffffffffffffffffffffffffff16146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613d7a565b60405180910390fd5b8181905084849050146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea9061436a565b60405180910390fd5b60005b8484905081101561193557600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd338787858181106118535761185261438a565b5b90506020020160208101906118689190613b85565b86868681811061187b5761187a61438a565b5b905060200201356040518463ffffffff1660e01b81526004016118a0939291906143b9565b6020604051808303816000875af11580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e3919061441c565b611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191990614495565b60405180910390fd5b808061192d906144b5565b9150506117f6565b5050505050565b6000806001600061194b6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ff9061456f565b60405180910390fd5b611a1c611a136122cb565b858584036122d3565b600191505092915050565b6000611a3b611a346122cb565b848461249c565b6001905092915050565b611a4d6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611a6b611673565b73ffffffffffffffffffffffffffffffffffffffff1614611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab890613d7a565b60405180910390fd5b611aca81611b64565b611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b00906145db565b60405180910390fd5b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611bc26122cb565b73ffffffffffffffffffffffffffffffffffffffff16611be0611673565b73ffffffffffffffffffffffffffffffffffffffff1614611c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2d90613d7a565b60405180910390fd5b601860009054906101000a900460ff16611c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7c90614647565b60405180910390fd5b6000601860006101000a81548160ff021916908315150217905550565b611caa6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611cc8611673565b73ffffffffffffffffffffffffffffffffffffffff1614611d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1590613d7a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da1906146d9565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611e0d6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611e2b611673565b73ffffffffffffffffffffffffffffffffffffffff1614611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7890613d7a565b60405180910390fd5b806017604051611e9090613df1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f6e6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611f8c611673565b73ffffffffffffffffffffffffffffffffffffffff1614611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd990613d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612051576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120489061476b565b60405180910390fd5b61205a816133fe565b50565b600e5481565b61206b6122cb565b73ffffffffffffffffffffffffffffffffffffffff16612089611673565b73ffffffffffffffffffffffffffffffffffffffff16146120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d690613d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121665761211b611673565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612160573d6000803e3d6000fd5b50612272565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121a69190613b6a565b602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e791906147a0565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61220d611673565b836040518363ffffffff1660e01b815260040161222b9291906147cd565b6020604051808303816000875af115801561224a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226e919061441c565b5050505b50565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233990614868565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036123b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a8906148fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161248f9190613a0f565b60405180910390a3505050565b6124a461127d565b156124e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124db9061498c565b60405180910390fd5b6124ed33612275565b1561252d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612524906149f8565b60405180910390fd5b61253682612275565b15612576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256d90614a64565b60405180910390fd5b61257f32612275565b156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906149f8565b60405180910390fd5b601860009054906101000a900460ff16156125e2576125df8383836125f2565b90505b6125ed838383613567565b505050565b600080600267ffffffffffffffff8111156126105761260f614a84565b5b60405190808252806020026020018201604052801561263e5781602001602082028036833780820191505090505b50905030816000815181106126565761265561438a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127219190614ac8565b816001815181106127355761273461438a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061277885611b64565b15801561278b575061278984611b64565b155b1561317a57600080600854856127a19190614b24565b9050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036128fc57601560405161280690613df1565b908152602001604051809103902054816128209190614192565b8261282b9190613f88565b9150601560405161283b90613e52565b908152602001604051809103902054816128559190614192565b826128609190613f88565b915060008211156128775761287687308461249c565b5b601560405161288590613df1565b9081526020016040518091039020548161289f9190614192565b601b60008282546128b09190613f88565b9250508190555060156040516128c590613e52565b908152602001604051809103902054816128df9190614192565b601c60008282546128f09190613f88565b925050819055506130bb565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036130ba57601660405161295f90613df1565b908152602001604051809103902054816129799190614192565b826129849190613f88565b9150601660405161299490613e52565b908152602001604051809103902054816129ae9190614192565b826129b99190613f88565b915060008211156129d0576129cf87308461249c565b5b60166040516129de90613df1565b908152602001604051809103902054816129f89190614192565b601b6000828254612a099190613f88565b925050819055506016604051612a1e90613e52565b90815260200160405180910390205481612a389190614192565b601c6000828254612a499190613f88565b925050819055506000601c54601b54612a629190613f88565b905060008103612a78578594505050505061317f565b6000601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f601c54601b54612ac89190613f88565b876040518363ffffffff1660e01b8152600401612ae6929190614c13565b600060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612b2c9190614d52565b600181518110612b3f57612b3e61438a565b5b6020026020010151905060095481106130b757600047905060006002601c54612b689190614b24565b601b54612b759190613f88565b9050612ba430601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122d3565b601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe58260008a30426040518663ffffffff1660e01b8152600401612c08959493929190614dd6565b6000604051808303816000875af1158015612c27573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612c509190614d52565b5060008247612c5f9190614e30565b905060006002601c54612c729190614b24565b90506000670de0b6b3a764000087670de0b6b3a76400006002601c54612c989190614b24565b612ca29190614192565b612cac9190614b24565b84612cb79190614192565b612cc19190614b24565b90506000670de0b6b3a764000088670de0b6b3a7640000601b54612ce59190614192565b612cef9190614b24565b85612cfa9190614192565b612d049190614b24565b9050612d3330601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856122d3565b601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330866000806017604051612d8590613e52565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612dd696959493929190614e64565b60606040518083038185885af1158015612df4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e199190614ec5565b50505060008386612e2a9190613f88565b601c54601b54612e3a9190613f88565b612e449190614e30565b90506000811115612e9757612e96306017604051612e6190613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361249c565b5b60006017604051612ea790613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612ef990614f49565b60006040518083038185875af1925050503d8060008114612f36576040519150601f19603f3d011682016040523d82523d6000602084013e612f3b565b606091505b5050905080612f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7690614faa565b60405180910390fd5b60008484612f8d9190613f88565b87612f989190614e30565b111561309e5760006017604051612fae90613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168585612fff9190613f88565b8861300a9190614e30565b60405161301690614f49565b60006040518083038185875af1925050503d8060008114613053576040519150601f19603f3d011682016040523d82523d6000602084013e613058565b606091505b505090508061309c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309390614faa565b60405180910390fd5b505b6000601b819055506000601c8190555050505050505050505b50505b5b81856130c79190614e30565b9450601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461317757600e548561312b88611371565b6131359190613f88565b1115613176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316d90615016565b60405180910390fd5b5b50505b829150505b9392505050565b61318e61127d565b6131cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c490615082565b60405180910390fd5b6000600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6132116122cb565b60405161321e9190613b6a565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328e90615114565b60405180910390fd5b6132a3826000836137e6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613329576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613320906151a6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546133809190614e30565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133e59190613a0f565b60405180910390a36133f9836000846137eb565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6134cc61127d565b1561350c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161350390615212565b60405180910390fd5b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586135506122cb565b60405161355d9190613b6a565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036135d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135cd906152a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363c90615336565b60405180910390fd5b6136508383836137e6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156136d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136cd906153c8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137699190613f88565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516137cd9190613a0f565b60405180910390a36137e08484846137eb565b50505050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61381781613804565b811461382257600080fd5b50565b6000813590506138348161380e565b92915050565b60008060408385031215613851576138506137fa565b5b600061385f85828601613825565b925050602061387085828601613825565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138b4578082015181840152602081019050613899565b60008484015250505050565b6000601f19601f8301169050919050565b60006138dc8261387a565b6138e68185613885565b93506138f6818560208601613896565b6138ff816138c0565b840191505092915050565b6000602082019050818103600083015261392481846138d1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139578261392c565b9050919050565b6139678161394c565b811461397257600080fd5b50565b6000813590506139848161395e565b92915050565b600080604083850312156139a1576139a06137fa565b5b60006139af85828601613975565b92505060206139c085828601613825565b9150509250929050565b60008115159050919050565b6139df816139ca565b82525050565b60006020820190506139fa60008301846139d6565b92915050565b613a0981613804565b82525050565b6000602082019050613a246000830184613a00565b92915050565b6000819050919050565b6000613a4f613a4a613a458461392c565b613a2a565b61392c565b9050919050565b6000613a6182613a34565b9050919050565b6000613a7382613a56565b9050919050565b613a8381613a68565b82525050565b6000602082019050613a9e6000830184613a7a565b92915050565b600080600060608486031215613abd57613abc6137fa565b5b6000613acb86828701613975565b9350506020613adc86828701613975565b9250506040613aed86828701613825565b9150509250925092565b600060ff82169050919050565b613b0d81613af7565b82525050565b6000602082019050613b286000830184613b04565b92915050565b600060208284031215613b4457613b436137fa565b5b6000613b5284828501613825565b91505092915050565b613b648161394c565b82525050565b6000602082019050613b7f6000830184613b5b565b92915050565b600060208284031215613b9b57613b9a6137fa565b5b6000613ba984828501613975565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613bd757613bd6613bb2565b5b8235905067ffffffffffffffff811115613bf457613bf3613bb7565b5b602083019150836020820283011115613c1057613c0f613bbc565b5b9250929050565b60008083601f840112613c2d57613c2c613bb2565b5b8235905067ffffffffffffffff811115613c4a57613c49613bb7565b5b602083019150836020820283011115613c6657613c65613bbc565b5b9250929050565b60008060008060408587031215613c8757613c866137fa565b5b600085013567ffffffffffffffff811115613ca557613ca46137ff565b5b613cb187828801613bc1565b9450945050602085013567ffffffffffffffff811115613cd457613cd36137ff565b5b613ce087828801613c17565b925092505092959194509250565b60008060408385031215613d0557613d046137fa565b5b6000613d1385828601613975565b9250506020613d2485828601613975565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d64602083613885565b9150613d6f82613d2e565b602082019050919050565b60006020820190508181036000830152613d9381613d57565b9050919050565b600081905092915050565b7f6465760000000000000000000000000000000000000000000000000000000000600082015250565b6000613ddb600383613d9a565b9150613de682613da5565b600382019050919050565b6000613dfc82613dce565b9150819050919050565b7f6c69717569646974790000000000000000000000000000000000000000000000600082015250565b6000613e3c600983613d9a565b9150613e4782613e06565b600982019050919050565b6000613e5d82613e2f565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613eae57607f821691505b602082108103613ec157613ec0613e67565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613f23602883613885565b9150613f2e82613ec7565b604082019050919050565b60006020820190508181036000830152613f5281613f16565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f9382613804565b9150613f9e83613804565b9250828201905080821115613fb657613fb5613f59565b5b92915050565b7f45524332303a20436f6e7472616374206973206e6f7420706175736564000000600082015250565b6000613ff2601d83613885565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c756460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000614084602283613885565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f45524332303a2054617820697320616c726561647920656e61626c6564000000600082015250565b60006140f0601d83613885565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b7f4e4f207275672070756c6c000000000000000000000000000000000000000000600082015250565b600061415c600b83613885565b915061416782614126565b602082019050919050565b6000602082019050818103600083015261418b8161414f565b9050919050565b600061419d82613804565b91506141a883613804565b92508282026141b681613804565b915082820484148315176141cd576141cc613f59565b5b5092915050565b7f45524332303a204163636f756e7420697320616c726561647920626c61636b6c60008201527f6973746564000000000000000000000000000000000000000000000000000000602082015250565b6000614230602583613885565b915061423b826141d4565b604082019050919050565b6000602082019050818103600083015261425f81614223565b9050919050565b7f45524332303a20436f6e747261637420697320616c726561647920706175736560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006142c2602183613885565b91506142cd82614266565b604082019050919050565b600060208201905081810360008301526142f1816142b5565b9050919050565b7f486f6c6465727320616e64207265776172647320617272617973206d7573742060008201527f68617665207468652073616d65206c656e6774682e0000000000000000000000602082015250565b6000614354603583613885565b915061435f826142f8565b604082019050919050565b6000602082019050818103600083015261438381614347565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006060820190506143ce6000830186613b5b565b6143db6020830185613b5b565b6143e86040830184613a00565b949350505050565b6143f9816139ca565b811461440457600080fd5b50565b600081519050614416816143f0565b92915050565b600060208284031215614432576144316137fa565b5b600061444084828501614407565b91505092915050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b600061447f601083613885565b915061448a82614449565b602082019050919050565b600060208201905081810360008301526144ae81614472565b9050919050565b60006144c082613804565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144f2576144f1613f59565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614559602583613885565b9150614564826144fd565b604082019050919050565b600060208201905081810360008301526145888161454c565b9050919050565b7f45524332303a204163636f756e74206973206e6f74206578636c756465640000600082015250565b60006145c5601e83613885565b91506145d08261458f565b602082019050919050565b600060208201905081810360008301526145f4816145b8565b9050919050565b7f45524332303a2054617820697320616c72656164792064697361626c65640000600082015250565b6000614631601e83613885565b915061463c826145fb565b602082019050919050565b6000602082019050818103600083015261466081614624565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420626c61636b6c6973746560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006146c3602183613885565b91506146ce82614667565b604082019050919050565b600060208201905081810360008301526146f2816146b6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614755602683613885565b9150614760826146f9565b604082019050919050565b6000602082019050818103600083015261478481614748565b9050919050565b60008151905061479a8161380e565b92915050565b6000602082840312156147b6576147b56137fa565b5b60006147c48482850161478b565b91505092915050565b60006040820190506147e26000830185613b5b565b6147ef6020830184613a00565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614852602483613885565b915061485d826147f6565b604082019050919050565b6000602082019050818103600083015261488181614845565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006148e4602283613885565b91506148ef82614888565b604082019050919050565b60006020820190508181036000830152614913816148d7565b9050919050565b7f45524332303a20746f6b656e207472616e73666572207768696c65207061757360008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000614976602283613885565b91506149818261491a565b604082019050919050565b600060208201905081810360008301526149a581614969565b9050919050565b7f45524332303a2073656e64657220626c61636b6c697374656400000000000000600082015250565b60006149e2601983613885565b91506149ed826149ac565b602082019050919050565b60006020820190508181036000830152614a11816149d5565b9050919050565b7f45524332303a20726563697069656e7420626c61636b6c697374656400000000600082015250565b6000614a4e601c83613885565b9150614a5982614a18565b602082019050919050565b60006020820190508181036000830152614a7d81614a41565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050614ac28161395e565b92915050565b600060208284031215614ade57614add6137fa565b5b6000614aec84828501614ab3565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b2f82613804565b9150614b3a83613804565b925082614b4a57614b49614af5565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614b8a8161394c565b82525050565b6000614b9c8383614b81565b60208301905092915050565b6000602082019050919050565b6000614bc082614b55565b614bca8185614b60565b9350614bd583614b71565b8060005b83811015614c06578151614bed8882614b90565b9750614bf883614ba8565b925050600181019050614bd9565b5085935050505092915050565b6000604082019050614c286000830185613a00565b8181036020830152614c3a8184614bb5565b90509392505050565b614c4c826138c0565b810181811067ffffffffffffffff82111715614c6b57614c6a614a84565b5b80604052505050565b6000614c7e6137f0565b9050614c8a8282614c43565b919050565b600067ffffffffffffffff821115614caa57614ca9614a84565b5b602082029050602081019050919050565b6000614cce614cc984614c8f565b614c74565b90508083825260208201905060208402830185811115614cf157614cf0613bbc565b5b835b81811015614d1a5780614d06888261478b565b845260208401935050602081019050614cf3565b5050509392505050565b600082601f830112614d3957614d38613bb2565b5b8151614d49848260208601614cbb565b91505092915050565b600060208284031215614d6857614d676137fa565b5b600082015167ffffffffffffffff811115614d8657614d856137ff565b5b614d9284828501614d24565b91505092915050565b6000819050919050565b6000614dc0614dbb614db684614d9b565b613a2a565b613804565b9050919050565b614dd081614da5565b82525050565b600060a082019050614deb6000830188613a00565b614df86020830187614dc7565b8181036040830152614e0a8186614bb5565b9050614e196060830185613b5b565b614e266080830184613a00565b9695505050505050565b6000614e3b82613804565b9150614e4683613804565b9250828203905081811115614e5e57614e5d613f59565b5b92915050565b600060c082019050614e796000830189613b5b565b614e866020830188613a00565b614e936040830187614dc7565b614ea06060830186614dc7565b614ead6080830185613b5b565b614eba60a0830184613a00565b979650505050505050565b600080600060608486031215614ede57614edd6137fa565b5b6000614eec8682870161478b565b9350506020614efd8682870161478b565b9250506040614f0e8682870161478b565b9150509250925092565b600081905092915050565b50565b6000614f33600083614f18565b9150614f3e82614f23565b600082019050919050565b6000614f5482614f26565b9150819050919050565b7f7472616e7366657220746f20206465762077616c6c6574206661696c65640000600082015250565b6000614f94601e83613885565b9150614f9f82614f5e565b602082019050919050565b60006020820190508181036000830152614fc381614f87565b9050919050565b7f6d617857616c6c6574206c696d69742065786365656465640000000000000000600082015250565b6000615000601883613885565b915061500b82614fca565b602082019050919050565b6000602082019050818103600083015261502f81614ff3565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061506c601483613885565b915061507782615036565b602082019050919050565b6000602082019050818103600083015261509b8161505f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006150fe602183613885565b9150615109826150a2565b604082019050919050565b6000602082019050818103600083015261512d816150f1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000615190602283613885565b915061519b82615134565b604082019050919050565b600060208201905081810360008301526151bf81615183565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006151fc601083613885565b9150615207826151c6565b602082019050919050565b6000602082019050818103600083015261522b816151ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061528e602583613885565b915061529982615232565b604082019050919050565b600060208201905081810360008301526152bd81615281565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000615320602383613885565b915061532b826152c4565b604082019050919050565b6000602082019050818103600083015261534f81615313565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006153b2602683613885565b91506153bd82615356565b604082019050919050565b600060208201905081810360008301526153e1816153a5565b905091905056fea2646970667358221220a7053e95cbd6cb44a2e6f7379659037860f7883505c6d96cb7ad5014613dbe4964736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000008506570655a6f6e65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450455a4f00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102345760003560e01c80635d0044ca1161012e578063abe4f11d116100ab578063dd62ed3e1161006f578063dd62ed3e146107e6578063f2fde38b14610823578063f8b45b051461084c578063f9d0831a14610877578063fe575a87146108a05761023b565b8063abe4f11d14610717578063cba0e99614610740578063ced695a41461077d578063cfefd79e14610794578063d01dc84b146107bd5761023b565b80638da5cb5b116100f25780638da5cb5b1461061e57806395d89b4114610649578063a17e7d6514610674578063a457c2d71461069d578063a9059cbb146106da5761023b565b80635d0044ca1461056157806370a082311461058a578063715018a6146105c7578063717a8651146105de5780638456cb59146106075761023b565b8063313ce567116101bc5780634a7d1d66116101805780634a7d1d66146104a25780634aae03d4146104cb5780634febf53d146104f657806353eb3bcf1461051f5780635c975abb146105365761023b565b8063313ce567146103cf57806339509351146103fa5780633f4ba83a1461043757806342966c681461044e57806344ed89cf146104775761023b565b806321cc4c3f1161020357806321cc4c3f146102fc57806323a38a381461032757806323b872dd14610352578063247b912d1461038f5780632c32abc2146103b85761023b565b806305a1f36d1461024057806306fdde0314610269578063095ea7b31461029457806318160ddd146102d15761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102676004803603810190610262919061383a565b6108dd565b005b34801561027557600080fd5b5061027e61099f565b60405161028b919061390a565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061398a565b610a31565b6040516102c891906139e5565b60405180910390f35b3480156102dd57600080fd5b506102e6610a4f565b6040516102f39190613a0f565b60405180910390f35b34801561030857600080fd5b50610311610a59565b60405161031e9190613a89565b60405180910390f35b34801561033357600080fd5b5061033c610a7f565b60405161034991906139e5565b60405180910390f35b34801561035e57600080fd5b5061037960048036038101906103749190613aa4565b610a92565b60405161038691906139e5565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061383a565b610b8a565b005b3480156103c457600080fd5b506103cd610c4c565b005b3480156103db57600080fd5b506103e4610cfa565b6040516103f19190613b13565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c919061398a565b610d03565b60405161042e91906139e5565b60405180910390f35b34801561044357600080fd5b5061044c610daf565b005b34801561045a57600080fd5b5061047560048036038101906104709190613b2e565b610e7c565b005b34801561048357600080fd5b5061048c610f05565b6040516104999190613b6a565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190613b85565b610f2b565b005b3480156104d757600080fd5b506104e061104e565b6040516104ed9190613b6a565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613b85565b611074565b005b34801561052b57600080fd5b50610534611194565b005b34801561054257600080fd5b5061054b61127d565b60405161055891906139e5565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190613b2e565b611294565b005b34801561059657600080fd5b506105b160048036038101906105ac9190613b85565b611371565b6040516105be9190613a0f565b60405180910390f35b3480156105d357600080fd5b506105dc6113b9565b005b3480156105ea57600080fd5b5061060560048036038101906106009190613b85565b611441565b005b34801561061357600080fd5b5061061c6115a5565b005b34801561062a57600080fd5b50610633611673565b6040516106409190613b6a565b60405180910390f35b34801561065557600080fd5b5061065e61169d565b60405161066b919061390a565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190613c6d565b61172f565b005b3480156106a957600080fd5b506106c460048036038101906106bf919061398a565b61193c565b6040516106d191906139e5565b60405180910390f35b3480156106e657600080fd5b5061070160048036038101906106fc919061398a565b611a27565b60405161070e91906139e5565b60405180910390f35b34801561072357600080fd5b5061073e60048036038101906107399190613b85565b611a45565b005b34801561074c57600080fd5b5061076760048036038101906107629190613b85565b611b64565b60405161077491906139e5565b60405180910390f35b34801561078957600080fd5b50610792611bba565b005b3480156107a057600080fd5b506107bb60048036038101906107b69190613b85565b611ca2565b005b3480156107c957600080fd5b506107e460048036038101906107df9190613b85565b611e05565b005b3480156107f257600080fd5b5061080d60048036038101906108089190613cee565b611edf565b60405161081a9190613a0f565b60405180910390f35b34801561082f57600080fd5b5061084a60048036038101906108459190613b85565b611f66565b005b34801561085857600080fd5b5061086161205d565b60405161086e9190613a0f565b60405180910390f35b34801561088357600080fd5b5061089e60048036038101906108999190613b85565b612063565b005b3480156108ac57600080fd5b506108c760048036038101906108c29190613b85565b612275565b6040516108d491906139e5565b60405180910390f35b6108e56122cb565b73ffffffffffffffffffffffffffffffffffffffff16610903611673565b73ffffffffffffffffffffffffffffffffffffffff1614610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095090613d7a565b60405180910390fd5b81601560405161096890613df1565b90815260200160405180910390208190555080601560405161098990613e52565b9081526020016040518091039020819055505050565b6060600380546109ae90613e96565b80601f01602080910402602001604051908101604052809291908181526020018280546109da90613e96565b8015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b5050505050905090565b6000610a45610a3e6122cb565b84846122d3565b6001905092915050565b6000600254905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900460ff1681565b6000610a9f84848461249c565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aea6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190613f39565b60405180910390fd5b610b7e85610b766122cb565b8584036122d3565b60019150509392505050565b610b926122cb565b73ffffffffffffffffffffffffffffffffffffffff16610bb0611673565b73ffffffffffffffffffffffffffffffffffffffff1614610c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfd90613d7a565b60405180910390fd5b816016604051610c1590613df1565b908152602001604051809103902081905550806016604051610c3690613e52565b9081526020016040518091039020819055505050565b610c546122cb565b73ffffffffffffffffffffffffffffffffffffffff16610c72611673565b73ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90613d7a565b60405180910390fd5b610cf76000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006125f2565b50565b60006012905090565b6000610da5610d106122cb565b848460016000610d1e6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da09190613f88565b6122d3565b6001905092915050565b610db76122cb565b73ffffffffffffffffffffffffffffffffffffffff16610dd5611673565b73ffffffffffffffffffffffffffffffffffffffff1614610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290613d7a565b60405180910390fd5b610e3361127d565b610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990614008565b60405180910390fd5b610e7a613186565b565b610e846122cb565b73ffffffffffffffffffffffffffffffffffffffff16610ea2611673565b73ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90613d7a565b60405180910390fd5b610f023382613228565b50565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f336122cb565b73ffffffffffffffffffffffffffffffffffffffff16610f51611673565b73ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613d7a565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61107c6122cb565b73ffffffffffffffffffffffffffffffffffffffff1661109a611673565b73ffffffffffffffffffffffffffffffffffffffff16146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790613d7a565b60405180910390fd5b6110f981611b64565b15611139576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111309061409a565b60405180910390fd5b6001601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61119c6122cb565b73ffffffffffffffffffffffffffffffffffffffff166111ba611673565b73ffffffffffffffffffffffffffffffffffffffff1614611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120790613d7a565b60405180910390fd5b601860009054906101000a900460ff1615611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790614106565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b6000600560149054906101000a900460ff16905090565b61129c6122cb565b73ffffffffffffffffffffffffffffffffffffffff166112ba611673565b73ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790613d7a565b60405180910390fd5b6127108111611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b90614172565b60405180910390fd5b670de0b6b3a7640000816113689190614192565b600e8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c16122cb565b73ffffffffffffffffffffffffffffffffffffffff166113df611673565b73ffffffffffffffffffffffffffffffffffffffff1614611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c90613d7a565b60405180910390fd5b61143f60006133fe565b565b6114496122cb565b73ffffffffffffffffffffffffffffffffffffffff16611467611673565b73ffffffffffffffffffffffffffffffffffffffff16146114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490613d7a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154190614246565b60405180910390fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6115ad6122cb565b73ffffffffffffffffffffffffffffffffffffffff166115cb611673565b73ffffffffffffffffffffffffffffffffffffffff1614611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890613d7a565b60405180910390fd5b61162961127d565b15611669576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611660906142d8565b60405180910390fd5b6116716134c4565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546116ac90613e96565b80601f01602080910402602001604051908101604052809291908181526020018280546116d890613e96565b80156117255780601f106116fa57610100808354040283529160200191611725565b820191906000526020600020905b81548152906001019060200180831161170857829003601f168201915b5050505050905090565b6117376122cb565b73ffffffffffffffffffffffffffffffffffffffff16611755611673565b73ffffffffffffffffffffffffffffffffffffffff16146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613d7a565b60405180910390fd5b8181905084849050146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea9061436a565b60405180910390fd5b60005b8484905081101561193557600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd338787858181106118535761185261438a565b5b90506020020160208101906118689190613b85565b86868681811061187b5761187a61438a565b5b905060200201356040518463ffffffff1660e01b81526004016118a0939291906143b9565b6020604051808303816000875af11580156118bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e3919061441c565b611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191990614495565b60405180910390fd5b808061192d906144b5565b9150506117f6565b5050505050565b6000806001600061194b6122cb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ff9061456f565b60405180910390fd5b611a1c611a136122cb565b858584036122d3565b600191505092915050565b6000611a3b611a346122cb565b848461249c565b6001905092915050565b611a4d6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611a6b611673565b73ffffffffffffffffffffffffffffffffffffffff1614611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab890613d7a565b60405180910390fd5b611aca81611b64565b611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b00906145db565b60405180910390fd5b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611bc26122cb565b73ffffffffffffffffffffffffffffffffffffffff16611be0611673565b73ffffffffffffffffffffffffffffffffffffffff1614611c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2d90613d7a565b60405180910390fd5b601860009054906101000a900460ff16611c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7c90614647565b60405180910390fd5b6000601860006101000a81548160ff021916908315150217905550565b611caa6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611cc8611673565b73ffffffffffffffffffffffffffffffffffffffff1614611d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1590613d7a565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da1906146d9565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611e0d6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611e2b611673565b73ffffffffffffffffffffffffffffffffffffffff1614611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7890613d7a565b60405180910390fd5b806017604051611e9090613df1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f6e6122cb565b73ffffffffffffffffffffffffffffffffffffffff16611f8c611673565b73ffffffffffffffffffffffffffffffffffffffff1614611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd990613d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612051576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120489061476b565b60405180910390fd5b61205a816133fe565b50565b600e5481565b61206b6122cb565b73ffffffffffffffffffffffffffffffffffffffff16612089611673565b73ffffffffffffffffffffffffffffffffffffffff16146120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d690613d7a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121665761211b611673565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612160573d6000803e3d6000fd5b50612272565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121a69190613b6a565b602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e791906147a0565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61220d611673565b836040518363ffffffff1660e01b815260040161222b9291906147cd565b6020604051808303816000875af115801561224a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226e919061441c565b5050505b50565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233990614868565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036123b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a8906148fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161248f9190613a0f565b60405180910390a3505050565b6124a461127d565b156124e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124db9061498c565b60405180910390fd5b6124ed33612275565b1561252d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612524906149f8565b60405180910390fd5b61253682612275565b15612576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256d90614a64565b60405180910390fd5b61257f32612275565b156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906149f8565b60405180910390fd5b601860009054906101000a900460ff16156125e2576125df8383836125f2565b90505b6125ed838383613567565b505050565b600080600267ffffffffffffffff8111156126105761260f614a84565b5b60405190808252806020026020018201604052801561263e5781602001602082028036833780820191505090505b50905030816000815181106126565761265561438a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127219190614ac8565b816001815181106127355761273461438a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061277885611b64565b15801561278b575061278984611b64565b155b1561317a57600080600854856127a19190614b24565b9050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036128fc57601560405161280690613df1565b908152602001604051809103902054816128209190614192565b8261282b9190613f88565b9150601560405161283b90613e52565b908152602001604051809103902054816128559190614192565b826128609190613f88565b915060008211156128775761287687308461249c565b5b601560405161288590613df1565b9081526020016040518091039020548161289f9190614192565b601b60008282546128b09190613f88565b9250508190555060156040516128c590613e52565b908152602001604051809103902054816128df9190614192565b601c60008282546128f09190613f88565b925050819055506130bb565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036130ba57601660405161295f90613df1565b908152602001604051809103902054816129799190614192565b826129849190613f88565b9150601660405161299490613e52565b908152602001604051809103902054816129ae9190614192565b826129b99190613f88565b915060008211156129d0576129cf87308461249c565b5b60166040516129de90613df1565b908152602001604051809103902054816129f89190614192565b601b6000828254612a099190613f88565b925050819055506016604051612a1e90613e52565b90815260200160405180910390205481612a389190614192565b601c6000828254612a499190613f88565b925050819055506000601c54601b54612a629190613f88565b905060008103612a78578594505050505061317f565b6000601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f601c54601b54612ac89190613f88565b876040518363ffffffff1660e01b8152600401612ae6929190614c13565b600060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612b2c9190614d52565b600181518110612b3f57612b3e61438a565b5b6020026020010151905060095481106130b757600047905060006002601c54612b689190614b24565b601b54612b759190613f88565b9050612ba430601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122d3565b601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe58260008a30426040518663ffffffff1660e01b8152600401612c08959493929190614dd6565b6000604051808303816000875af1158015612c27573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612c509190614d52565b5060008247612c5f9190614e30565b905060006002601c54612c729190614b24565b90506000670de0b6b3a764000087670de0b6b3a76400006002601c54612c989190614b24565b612ca29190614192565b612cac9190614b24565b84612cb79190614192565b612cc19190614b24565b90506000670de0b6b3a764000088670de0b6b3a7640000601b54612ce59190614192565b612cef9190614b24565b85612cfa9190614192565b612d049190614b24565b9050612d3330601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856122d3565b601860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330866000806017604051612d8590613e52565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612dd696959493929190614e64565b60606040518083038185885af1158015612df4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e199190614ec5565b50505060008386612e2a9190613f88565b601c54601b54612e3a9190613f88565b612e449190614e30565b90506000811115612e9757612e96306017604051612e6190613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361249c565b5b60006017604051612ea790613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612ef990614f49565b60006040518083038185875af1925050503d8060008114612f36576040519150601f19603f3d011682016040523d82523d6000602084013e612f3b565b606091505b5050905080612f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7690614faa565b60405180910390fd5b60008484612f8d9190613f88565b87612f989190614e30565b111561309e5760006017604051612fae90613df1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168585612fff9190613f88565b8861300a9190614e30565b60405161301690614f49565b60006040518083038185875af1925050503d8060008114613053576040519150601f19603f3d011682016040523d82523d6000602084013e613058565b606091505b505090508061309c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309390614faa565b60405180910390fd5b505b6000601b819055506000601c8190555050505050505050505b50505b5b81856130c79190614e30565b9450601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461317757600e548561312b88611371565b6131359190613f88565b1115613176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316d90615016565b60405180910390fd5b5b50505b829150505b9392505050565b61318e61127d565b6131cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c490615082565b60405180910390fd5b6000600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6132116122cb565b60405161321e9190613b6a565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328e90615114565b60405180910390fd5b6132a3826000836137e6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613329576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613320906151a6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546133809190614e30565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516133e59190613a0f565b60405180910390a36133f9836000846137eb565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6134cc61127d565b1561350c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161350390615212565b60405180910390fd5b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586135506122cb565b60405161355d9190613b6a565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036135d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135cd906152a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363c90615336565b60405180910390fd5b6136508383836137e6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156136d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136cd906153c8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137699190613f88565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516137cd9190613a0f565b60405180910390a36137e08484846137eb565b50505050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61381781613804565b811461382257600080fd5b50565b6000813590506138348161380e565b92915050565b60008060408385031215613851576138506137fa565b5b600061385f85828601613825565b925050602061387085828601613825565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138b4578082015181840152602081019050613899565b60008484015250505050565b6000601f19601f8301169050919050565b60006138dc8261387a565b6138e68185613885565b93506138f6818560208601613896565b6138ff816138c0565b840191505092915050565b6000602082019050818103600083015261392481846138d1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139578261392c565b9050919050565b6139678161394c565b811461397257600080fd5b50565b6000813590506139848161395e565b92915050565b600080604083850312156139a1576139a06137fa565b5b60006139af85828601613975565b92505060206139c085828601613825565b9150509250929050565b60008115159050919050565b6139df816139ca565b82525050565b60006020820190506139fa60008301846139d6565b92915050565b613a0981613804565b82525050565b6000602082019050613a246000830184613a00565b92915050565b6000819050919050565b6000613a4f613a4a613a458461392c565b613a2a565b61392c565b9050919050565b6000613a6182613a34565b9050919050565b6000613a7382613a56565b9050919050565b613a8381613a68565b82525050565b6000602082019050613a9e6000830184613a7a565b92915050565b600080600060608486031215613abd57613abc6137fa565b5b6000613acb86828701613975565b9350506020613adc86828701613975565b9250506040613aed86828701613825565b9150509250925092565b600060ff82169050919050565b613b0d81613af7565b82525050565b6000602082019050613b286000830184613b04565b92915050565b600060208284031215613b4457613b436137fa565b5b6000613b5284828501613825565b91505092915050565b613b648161394c565b82525050565b6000602082019050613b7f6000830184613b5b565b92915050565b600060208284031215613b9b57613b9a6137fa565b5b6000613ba984828501613975565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613bd757613bd6613bb2565b5b8235905067ffffffffffffffff811115613bf457613bf3613bb7565b5b602083019150836020820283011115613c1057613c0f613bbc565b5b9250929050565b60008083601f840112613c2d57613c2c613bb2565b5b8235905067ffffffffffffffff811115613c4a57613c49613bb7565b5b602083019150836020820283011115613c6657613c65613bbc565b5b9250929050565b60008060008060408587031215613c8757613c866137fa565b5b600085013567ffffffffffffffff811115613ca557613ca46137ff565b5b613cb187828801613bc1565b9450945050602085013567ffffffffffffffff811115613cd457613cd36137ff565b5b613ce087828801613c17565b925092505092959194509250565b60008060408385031215613d0557613d046137fa565b5b6000613d1385828601613975565b9250506020613d2485828601613975565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613d64602083613885565b9150613d6f82613d2e565b602082019050919050565b60006020820190508181036000830152613d9381613d57565b9050919050565b600081905092915050565b7f6465760000000000000000000000000000000000000000000000000000000000600082015250565b6000613ddb600383613d9a565b9150613de682613da5565b600382019050919050565b6000613dfc82613dce565b9150819050919050565b7f6c69717569646974790000000000000000000000000000000000000000000000600082015250565b6000613e3c600983613d9a565b9150613e4782613e06565b600982019050919050565b6000613e5d82613e2f565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613eae57607f821691505b602082108103613ec157613ec0613e67565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613f23602883613885565b9150613f2e82613ec7565b604082019050919050565b60006020820190508181036000830152613f5281613f16565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f9382613804565b9150613f9e83613804565b9250828201905080821115613fb657613fb5613f59565b5b92915050565b7f45524332303a20436f6e7472616374206973206e6f7420706175736564000000600082015250565b6000613ff2601d83613885565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c756460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000614084602283613885565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f45524332303a2054617820697320616c726561647920656e61626c6564000000600082015250565b60006140f0601d83613885565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b7f4e4f207275672070756c6c000000000000000000000000000000000000000000600082015250565b600061415c600b83613885565b915061416782614126565b602082019050919050565b6000602082019050818103600083015261418b8161414f565b9050919050565b600061419d82613804565b91506141a883613804565b92508282026141b681613804565b915082820484148315176141cd576141cc613f59565b5b5092915050565b7f45524332303a204163636f756e7420697320616c726561647920626c61636b6c60008201527f6973746564000000000000000000000000000000000000000000000000000000602082015250565b6000614230602583613885565b915061423b826141d4565b604082019050919050565b6000602082019050818103600083015261425f81614223565b9050919050565b7f45524332303a20436f6e747261637420697320616c726561647920706175736560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006142c2602183613885565b91506142cd82614266565b604082019050919050565b600060208201905081810360008301526142f1816142b5565b9050919050565b7f486f6c6465727320616e64207265776172647320617272617973206d7573742060008201527f68617665207468652073616d65206c656e6774682e0000000000000000000000602082015250565b6000614354603583613885565b915061435f826142f8565b604082019050919050565b6000602082019050818103600083015261438381614347565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006060820190506143ce6000830186613b5b565b6143db6020830185613b5b565b6143e86040830184613a00565b949350505050565b6143f9816139ca565b811461440457600080fd5b50565b600081519050614416816143f0565b92915050565b600060208284031215614432576144316137fa565b5b600061444084828501614407565b91505092915050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b600061447f601083613885565b915061448a82614449565b602082019050919050565b600060208201905081810360008301526144ae81614472565b9050919050565b60006144c082613804565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144f2576144f1613f59565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614559602583613885565b9150614564826144fd565b604082019050919050565b600060208201905081810360008301526145888161454c565b9050919050565b7f45524332303a204163636f756e74206973206e6f74206578636c756465640000600082015250565b60006145c5601e83613885565b91506145d08261458f565b602082019050919050565b600060208201905081810360008301526145f4816145b8565b9050919050565b7f45524332303a2054617820697320616c72656164792064697361626c65640000600082015250565b6000614631601e83613885565b915061463c826145fb565b602082019050919050565b6000602082019050818103600083015261466081614624565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420626c61636b6c6973746560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006146c3602183613885565b91506146ce82614667565b604082019050919050565b600060208201905081810360008301526146f2816146b6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614755602683613885565b9150614760826146f9565b604082019050919050565b6000602082019050818103600083015261478481614748565b9050919050565b60008151905061479a8161380e565b92915050565b6000602082840312156147b6576147b56137fa565b5b60006147c48482850161478b565b91505092915050565b60006040820190506147e26000830185613b5b565b6147ef6020830184613a00565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614852602483613885565b915061485d826147f6565b604082019050919050565b6000602082019050818103600083015261488181614845565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006148e4602283613885565b91506148ef82614888565b604082019050919050565b60006020820190508181036000830152614913816148d7565b9050919050565b7f45524332303a20746f6b656e207472616e73666572207768696c65207061757360008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000614976602283613885565b91506149818261491a565b604082019050919050565b600060208201905081810360008301526149a581614969565b9050919050565b7f45524332303a2073656e64657220626c61636b6c697374656400000000000000600082015250565b60006149e2601983613885565b91506149ed826149ac565b602082019050919050565b60006020820190508181036000830152614a11816149d5565b9050919050565b7f45524332303a20726563697069656e7420626c61636b6c697374656400000000600082015250565b6000614a4e601c83613885565b9150614a5982614a18565b602082019050919050565b60006020820190508181036000830152614a7d81614a41565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050614ac28161395e565b92915050565b600060208284031215614ade57614add6137fa565b5b6000614aec84828501614ab3565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b2f82613804565b9150614b3a83613804565b925082614b4a57614b49614af5565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614b8a8161394c565b82525050565b6000614b9c8383614b81565b60208301905092915050565b6000602082019050919050565b6000614bc082614b55565b614bca8185614b60565b9350614bd583614b71565b8060005b83811015614c06578151614bed8882614b90565b9750614bf883614ba8565b925050600181019050614bd9565b5085935050505092915050565b6000604082019050614c286000830185613a00565b8181036020830152614c3a8184614bb5565b90509392505050565b614c4c826138c0565b810181811067ffffffffffffffff82111715614c6b57614c6a614a84565b5b80604052505050565b6000614c7e6137f0565b9050614c8a8282614c43565b919050565b600067ffffffffffffffff821115614caa57614ca9614a84565b5b602082029050602081019050919050565b6000614cce614cc984614c8f565b614c74565b90508083825260208201905060208402830185811115614cf157614cf0613bbc565b5b835b81811015614d1a5780614d06888261478b565b845260208401935050602081019050614cf3565b5050509392505050565b600082601f830112614d3957614d38613bb2565b5b8151614d49848260208601614cbb565b91505092915050565b600060208284031215614d6857614d676137fa565b5b600082015167ffffffffffffffff811115614d8657614d856137ff565b5b614d9284828501614d24565b91505092915050565b6000819050919050565b6000614dc0614dbb614db684614d9b565b613a2a565b613804565b9050919050565b614dd081614da5565b82525050565b600060a082019050614deb6000830188613a00565b614df86020830187614dc7565b8181036040830152614e0a8186614bb5565b9050614e196060830185613b5b565b614e266080830184613a00565b9695505050505050565b6000614e3b82613804565b9150614e4683613804565b9250828203905081811115614e5e57614e5d613f59565b5b92915050565b600060c082019050614e796000830189613b5b565b614e866020830188613a00565b614e936040830187614dc7565b614ea06060830186614dc7565b614ead6080830185613b5b565b614eba60a0830184613a00565b979650505050505050565b600080600060608486031215614ede57614edd6137fa565b5b6000614eec8682870161478b565b9350506020614efd8682870161478b565b9250506040614f0e8682870161478b565b9150509250925092565b600081905092915050565b50565b6000614f33600083614f18565b9150614f3e82614f23565b600082019050919050565b6000614f5482614f26565b9150819050919050565b7f7472616e7366657220746f20206465762077616c6c6574206661696c65640000600082015250565b6000614f94601e83613885565b9150614f9f82614f5e565b602082019050919050565b60006020820190508181036000830152614fc381614f87565b9050919050565b7f6d617857616c6c6574206c696d69742065786365656465640000000000000000600082015250565b6000615000601883613885565b915061500b82614fca565b602082019050919050565b6000602082019050818103600083015261502f81614ff3565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061506c601483613885565b915061507782615036565b602082019050919050565b6000602082019050818103600083015261509b8161505f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006150fe602183613885565b9150615109826150a2565b604082019050919050565b6000602082019050818103600083015261512d816150f1565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000615190602283613885565b915061519b82615134565b604082019050919050565b600060208201905081810360008301526151bf81615183565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006151fc601083613885565b9150615207826151c6565b602082019050919050565b6000602082019050818103600083015261522b816151ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061528e602583613885565b915061529982615232565b604082019050919050565b600060208201905081810360008301526152bd81615281565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000615320602383613885565b915061532b826152c4565b604082019050919050565b6000602082019050818103600083015261534f81615313565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006153b2602683613885565b91506153bd82615356565b604082019050919050565b600060208201905081810360008301526153e1816153a5565b905091905056fea2646970667358221220a7053e95cbd6cb44a2e6f7379659037860f7883505c6d96cb7ad5014613dbe4964736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000008506570655a6f6e65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450455a4f00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): PepeZone
Arg [1] : _tokenSymbol (string): PEZO
Arg [2] : _supply (uint256): 1000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 506570655a6f6e65000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 50455a4f00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16625:11254:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26430:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1747:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2695:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2081:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16680:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17520:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2877:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26608:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23891:106;;;;;;;;;;;;;:::i;:::-;;1975:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3382:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24846:126;;;;;;;;;;;;;:::i;:::-;;25279:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17133:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24007:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17171:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26043:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27286:136;;;;;;;;;;;;;:::i;:::-;;8091:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25048:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2202:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7145:94;;;;;;;;;;;;;:::i;:::-;;25492:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24647:127;;;;;;;;;;;;;:::i;:::-;;6823:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1858:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24189:384;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3611:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2343:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26235:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27725:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27440:138;;;;;;;;;;;;;:::i;:::-;;25771:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26792:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2532:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7252:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17014:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26905:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27596:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26430:160;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26526:3:::1;26508:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;26564:9;26540:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;:33;;;;26430:160:::0;;:::o;1747:100::-;1801:13;1834:5;1827:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1747:100;:::o;2695:169::-;2778:4;2795:39;2804:12;:10;:12::i;:::-;2818:7;2827:6;2795:8;:39::i;:::-;2852:4;2845:11;;2695:169;;;;:::o;2081:108::-;2142:7;2169:12;;2162:19;;2081:108;:::o;16680:23::-;;;;;;;;;;;;;:::o;17520:28::-;;;;;;;;;;;;;:::o;2877:492::-;3017:4;3034:36;3044:6;3052:9;3063:6;3034:9;:36::i;:::-;3083:24;3110:11;:19;3122:6;3110:19;;;;;;;;;;;;;;;:33;3130:12;:10;:12::i;:::-;3110:33;;;;;;;;;;;;;;;;3083:60;;3182:6;3162:16;:26;;3154:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3269:57;3278:6;3286:12;:10;:12::i;:::-;3319:6;3300:16;:25;3269:8;:57::i;:::-;3357:4;3350:11;;;2877:492;;;;;:::o;26608:167::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26709:3:::1;26690:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;;26748:9;26723;:22;;;;;:::i;:::-;;;;;;;;;;;;;:34;;;;26608:167:::0;;:::o;23891:106::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23941:48:::1;23959:1;23971:13;;;;;;;;;;;23987:1;23941:9;:48::i;:::-;;23891:106::o:0;1975:93::-;2033:5;2058:2;2051:9;;1975:93;:::o;3382:215::-;3470:4;3487:80;3496:12;:10;:12::i;:::-;3510:7;3556:10;3519:11;:25;3531:12;:10;:12::i;:::-;3519:25;;;;;;;;;;;;;;;:34;3545:7;3519:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3487:8;:80::i;:::-;3585:4;3578:11;;3382:215;;;;:::o;24846:126::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24901:8:::1;:6;:8::i;:::-;24893:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;24954:10;:8;:10::i;:::-;24846:126::o:0;25279:91::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25337:25:::1;25343:10;25355:6;25337:5;:25::i;:::-;25279:91:::0;:::o;17133:31::-;;;;;;;;;;;;;:::o;24007:177::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24112:17:::1;24093:16;;:36;;;;;;;;;;;;;;;;;;24159:16;;;;;;;;;;;24140:9;;:36;;;;;;;;;;;;;;;;;;24007:177:::0;:::o;17171:31::-;;;;;;;;;;;;;:::o;26043:175::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26114:19:::1;26125:7;26114:10;:19::i;:::-;26113:20;26105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26206:4;26183:11;:20;26195:7;26183:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;26043:175:::0;:::o;27286:136::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27344:9:::1;;;;;;;;;;;27343:10;27335:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;27410:4;27398:9;;:16;;;;;;;;;;;;;;;;;;27286:136::o:0;8091:86::-;8138:4;8162:7;;;;;;;;;;;8155:14;;8091:86;:::o;25048:154::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25135:5:::1;25126:6;:14;25117:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;25188:6;25179;:15;;;;:::i;:::-;25167:9;:27;;;;25048:154:::0;:::o;2202:127::-;2276:7;2303:9;:18;2313:7;2303:18;;;;;;;;;;;;;;;;2296:25;;2202:127;;;:::o;7145:94::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7210:21:::1;7228:1;7210:9;:21::i;:::-;7145:94::o:0;25492:183::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25571:9:::1;:18;25581:7;25571:18;;;;;;;;;;;;;;;;;;;;;;;;;25570:19;25562:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;25663:4;25642:9;:18;25652:7;25642:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;25492:183:::0;:::o;24647:127::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24701:8:::1;:6;:8::i;:::-;24700:9;24692:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;24758:8;:6;:8::i;:::-;24647:127::o:0;6823:87::-;6869:7;6896:6;;;;;;;;;;;6889:13;;6823:87;:::o;1858:104::-;1914:13;1947:7;1940:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:104;:::o;24189:384::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24322:7:::1;;:14;;24304:7;;:14;;:32;24296:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;24412:9;24407:159;24431:7;;:14;;24427:1;:18;24407:159;;;24475:9;;;;;;;;;;;:22;;;24498:10;24510:7;;24518:1;24510:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;24522:7;;24530:1;24522:10;;;;;;;:::i;:::-;;;;;;;;24475:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24467:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;24447:3;;;;;:::i;:::-;;;;24407:159;;;;24189:384:::0;;;;:::o;3611:413::-;3704:4;3721:24;3748:11;:25;3760:12;:10;:12::i;:::-;3748:25;;;;;;;;;;;;;;;:34;3774:7;3748:34;;;;;;;;;;;;;;;;3721:61;;3821:15;3801:16;:35;;3793:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3914:67;3923:12;:10;:12::i;:::-;3937:7;3965:15;3946:16;:34;3914:8;:67::i;:::-;4012:4;4005:11;;;3611:413;;;;:::o;2343:175::-;2429:4;2446:42;2456:12;:10;:12::i;:::-;2470:9;2481:6;2446:9;:42::i;:::-;2506:4;2499:11;;2343:175;;;;:::o;26235:177::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26311:19:::1;26322:7;26311:10;:19::i;:::-;26303:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;26399:5;26376:11;:20;26388:7;26376:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;26235:177:::0;:::o;27725:110::-;27783:4;27807:11;:20;27819:7;27807:20;;;;;;;;;;;;;;;;;;;;;;;;;27800:27;;27725:110;;;:::o;27440:138::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27498:9:::1;;;;;;;;;;;27490:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;27565:5;27553:9;;:17;;;;;;;;;;;;;;;;;;27440:138::o:0;25771:180::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25850:9:::1;:18;25860:7;25850:18;;;;;;;;;;;;;;;;;;;;;;;;;25842:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;25938:5;25917:9;:18;25927:7;25917:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;25771:180:::0;:::o;26792:105::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26876:3:::1;26856:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;26792:105:::0;:::o;2532:151::-;2621:7;2648:11;:18;2660:5;2648:18;;;;;;;;;;;;;;;:27;2667:7;2648:27;;;;;;;;;;;;;;;;2641:34;;2532:151;;;;:::o;7252:192::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7361:1:::1;7341:22;;:8;:22;;::::0;7333:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7417:19;7427:8;7417:9;:19::i;:::-;7252:192:::0;:::o;17014:24::-;;;;:::o;26905:363::-;7062:12;:10;:12::i;:::-;7051:23;;:7;:5;:7::i;:::-;:23;;;7043:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27002:3:::1;26984:22;;:6;:22;;::::0;26980:124:::1;;27031:7;:5;:7::i;:::-;27023:25;;:48;27049:21;27023:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;27086:7;;26980:124;27114:17;27141:6;27114:34;;27159:15;27177:10;:20;;;27206:4;27177:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27159:53;;27223:10;:19;;;27243:7;:5;:7::i;:::-;27252;27223:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26966:302;;7122:1;26905:363:::0;:::o;27596:111::-;27657:4;27681:9;:18;27691:7;27681:18;;;;;;;;;;;;;;;;;;;;;;;;;27674:25;;27596:111;;;:::o;1113:98::-;1166:7;1193:10;1186:17;;1113:98;:::o;5794:380::-;5947:1;5930:19;;:5;:19;;;5922:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6028:1;6009:21;;:7;:21;;;6001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6112:6;6082:11;:18;6094:5;6082:18;;;;;;;;;;;;;;;:27;6101:7;6082:27;;;;;;;;;;;;;;;:36;;;;6150:7;6134:32;;6143:5;6134:32;;;6159:6;6134:32;;;;;;:::i;:::-;;;;;;;;5794:380;;;:::o;23205:595::-;23355:8;:6;:8::i;:::-;23354:9;23346:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;23422:25;23436:10;23422:13;:25::i;:::-;23421:26;23413:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23497:24;23511:9;23497:13;:24::i;:::-;23496:25;23488:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;23574:24;23588:9;23574:13;:24::i;:::-;23573:25;23565:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;23652:9;;;;;;;;;;;23649:89;;;23687:36;23697:6;23705:9;23716:6;23687:9;:36::i;:::-;23678:45;;23649:89;23750:42;23766:6;23774:9;23785:6;23750:15;:42::i;:::-;23205:595;;;:::o;18732:4461::-;18810:7;18830:25;18872:1;18858:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18830:44;;18907:4;18885:8;18894:1;18885:11;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;;;18937:17;;;;;;;;;;;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18923:8;18932:1;18923:11;;;;;;;;:::i;:::-;;;;;;;:38;;;;;;;;;;;18986:16;18997:4;18986:10;:16::i;:::-;18985:17;:36;;;;;19007:14;19018:2;19007:10;:14::i;:::-;19006:15;18985:36;18982:4170;;;19038:11;19064:16;19092:11;;19083:6;:20;;;;:::i;:::-;19064:39;;19137:13;;;;;;;;;;;19121:30;;:4;:30;;;19118:3814;;19190:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;19179:8;:26;;;;:::i;:::-;19172:33;;;;;:::i;:::-;;;19242:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;19231:8;:32;;;;:::i;:::-;19224:39;;;;;:::i;:::-;;;19326:1;19320:3;:7;19317:93;;;19352:35;19362:4;19376;19383:3;19352:9;:35::i;:::-;19317:93;19488:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;19477:8;:26;;;;:::i;:::-;19464:9;;:39;;;;;;;:::i;:::-;;;;;;;;19552:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;19541:8;:32;;;;:::i;:::-;19522:15;;:51;;;;;;;:::i;:::-;;;;;;;;19118:3814;;;19614:13;;;;;;;;;;;19600:28;;:2;:28;;;19597:3335;;19685:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;19674:8;:27;;;;:::i;:::-;19667:34;;;;;:::i;:::-;;;19738:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;19727:8;:33;;;;:::i;:::-;19720:40;;;;;:::i;:::-;;;19824:1;19818:3;:7;19815:93;;;19850:35;19860:4;19874;19881:3;19850:9;:35::i;:::-;19815:93;19985:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;19974:8;:27;;;;:::i;:::-;19961:9;;:40;;;;;;;:::i;:::-;;;;;;;;20050:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;20039:8;:33;;;;:::i;:::-;20020:15;;:52;;;;;;;:::i;:::-;;;;;;;;20127:14;20157:15;;20145:9;;:27;;;;:::i;:::-;20127:45;;20222:1;20212:6;:11;20209:29;;20232:6;20225:13;;;;;;;;20209:29;20275:16;20294:17;;;;;;;;;;;:31;;;20339:15;;20327:9;;:27;;;;:::i;:::-;20356:8;20294:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20366:1;20294:74;;;;;;;;:::i;:::-;;;;;;;;20275:93;;20420:13;;20408:8;:25;20405:2494;;20458:20;20481:21;20458:44;;20527:14;20574:1;20556:15;;:19;;;;:::i;:::-;20544:9;;:31;;;;:::i;:::-;20527:48;;20621:59;20638:4;20653:17;;;;;;;;;;;20673:6;20621:8;:59::i;:::-;20717:17;;;;;;;;;;;:39;;;20783:6;20816:1;20844:8;20887:4;20919:15;20717:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21002:17;21046:12;21022:21;:36;;;;:::i;:::-;21002:56;;21103:22;21146:1;21128:15;;:19;;;;:::i;:::-;21103:44;;21170:20;21251:6;21240;21230;21226:1;21208:15;;:19;;;;:::i;:::-;:28;;;;:::i;:::-;21207:39;;;;:::i;:::-;21194:9;:53;;;;:::i;:::-;21193:64;;;;:::i;:::-;21170:87;;21324:14;21389:6;21378;21368;21356:9;;:18;;;;:::i;:::-;21355:29;;;;:::i;:::-;21342:9;:43;;;;:::i;:::-;21341:54;;;;:::i;:::-;21324:71;;21461:67;21478:4;21493:17;;;;;;;;;;;21513:14;21461:8;:67::i;:::-;21573:17;;;;;;;;;;;:33;;;21614:12;21662:4;21694:14;21735:1;21763;21791:10;:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21841:15;21573:306;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21924:23;21992:14;21983:6;:23;;;;:::i;:::-;21963:15;;21951:9;;:27;;;;:::i;:::-;21950:57;;;;:::i;:::-;21924:83;;22073:1;22055:15;:19;22052:135;;;22103:60;22121:4;22128:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22147:15;22103:9;:60::i;:::-;22052:135;22253:12;22270:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:22;;22300:6;22270:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22252:59;;;22341:7;22333:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;22492:1;22476:12;22467:6;:21;;;;:::i;:::-;22453:9;:36;;;;:::i;:::-;:40;22450:262;;;22522:13;22540:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:22;;22592:12;22583:6;:21;;;;:::i;:::-;22570:9;:35;;;;:::i;:::-;22540:70;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22521:89;;;22645:8;22637:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;22495:217;22450:262;22814:1;22802:9;:13;;;;22856:1;22838:15;:19;;;;20435:2464;;;;;;;;20405:2494;19630:3302;;19597:3335;19118:3814;22970:3;22960:13;;;;;:::i;:::-;;;23006;;;;;;;;;;;22992:28;;:2;:28;;;22988:140;;23074:9;;23064:6;23048:13;23058:2;23048:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;23040:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;22988:140;19023:4129;;18982:4170;23179:6;23172:13;;;18732:4461;;;;;;:::o;8535:120::-;8338:8;:6;:8::i;:::-;8330:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8604:5:::1;8594:7;;:15;;;;;;;;;;;;;;;;;;8625:22;8634:12;:10;:12::i;:::-;8625:22;;;;;;:::i;:::-;;;;;;;;8535:120::o:0;5191:591::-;5294:1;5275:21;;:7;:21;;;5267:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5347:49;5368:7;5385:1;5389:6;5347:20;:49::i;:::-;5409:22;5434:9;:18;5444:7;5434:18;;;;;;;;;;;;;;;;5409:43;;5489:6;5471:14;:24;;5463:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5608:6;5591:14;:23;5570:9;:18;5580:7;5570:18;;;;;;;;;;;;;;;:44;;;;5652:6;5636:12;;:22;;;;;;;:::i;:::-;;;;;;;;5702:1;5676:37;;5685:7;5676:37;;;5706:6;5676:37;;;;;;:::i;:::-;;;;;;;;5726:48;5746:7;5763:1;5767:6;5726:19;:48::i;:::-;5256:526;5191:591;;:::o;7460:174::-;7517:16;7536:6;;;;;;;;;;;7517:25;;7562:8;7553:6;;:17;;;;;;;;;;;;;;;;;;7617:8;7586:40;;7607:8;7586:40;;;;;;;;;;;;7506:128;7460:174;:::o;8405:118::-;8236:8;:6;:8::i;:::-;8235:9;8227:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8475:4:::1;8465:7;;:14;;;;;;;;;;;;;;;;;;8495:20;8502:12;:10;:12::i;:::-;8495:20;;;;;;:::i;:::-;;;;;;;;8405:118::o:0;4036:733::-;4194:1;4176:20;;:6;:20;;;4168:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4278:1;4257:23;;:9;:23;;;4249:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4333:47;4354:6;4362:9;4373:6;4333:20;:47::i;:::-;4393:21;4417:9;:17;4427:6;4417:17;;;;;;;;;;;;;;;;4393:41;;4470:6;4453:13;:23;;4445:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4591:6;4575:13;:22;4555:9;:17;4565:6;4555:17;;;;;;;;;;;;;;;:42;;;;4643:6;4619:9;:20;4629:9;4619:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4684:9;4667:35;;4676:6;4667:35;;;4695:6;4667:35;;;;;;:::i;:::-;;;;;;;;4715:46;4735:6;4743:9;4754:6;4715:19;:46::i;:::-;4157:612;4036:733;;;:::o;6185:125::-;;;;:::o;6321:124::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:60::-;4306:3;4327:5;4320:12;;4278:60;;;:::o;4344:142::-;4394:9;4427:53;4445:34;4454:24;4472:5;4454:24;:::i;:::-;4445:34;:::i;:::-;4427:53;:::i;:::-;4414:66;;4344:142;;;:::o;4492:126::-;4542:9;4575:37;4606:5;4575:37;:::i;:::-;4562:50;;4492:126;;;:::o;4624:139::-;4687:9;4720:37;4751:5;4720:37;:::i;:::-;4707:50;;4624:139;;;:::o;4769:157::-;4869:50;4913:5;4869:50;:::i;:::-;4864:3;4857:63;4769:157;;:::o;4932:248::-;5038:4;5076:2;5065:9;5061:18;5053:26;;5089:84;5170:1;5159:9;5155:17;5146:6;5089:84;:::i;:::-;4932:248;;;;:::o;5186:619::-;5263:6;5271;5279;5328:2;5316:9;5307:7;5303:23;5299:32;5296:119;;;5334:79;;:::i;:::-;5296:119;5454:1;5479:53;5524:7;5515:6;5504:9;5500:22;5479:53;:::i;:::-;5469:63;;5425:117;5581:2;5607:53;5652:7;5643:6;5632:9;5628:22;5607:53;:::i;:::-;5597:63;;5552:118;5709:2;5735:53;5780:7;5771:6;5760:9;5756:22;5735:53;:::i;:::-;5725:63;;5680:118;5186:619;;;;;:::o;5811:86::-;5846:7;5886:4;5879:5;5875:16;5864:27;;5811:86;;;:::o;5903:112::-;5986:22;6002:5;5986:22;:::i;:::-;5981:3;5974:35;5903:112;;:::o;6021:214::-;6110:4;6148:2;6137:9;6133:18;6125:26;;6161:67;6225:1;6214:9;6210:17;6201:6;6161:67;:::i;:::-;6021:214;;;;:::o;6241:329::-;6300:6;6349:2;6337:9;6328:7;6324:23;6320:32;6317:119;;;6355:79;;:::i;:::-;6317:119;6475:1;6500:53;6545:7;6536:6;6525:9;6521:22;6500:53;:::i;:::-;6490:63;;6446:117;6241:329;;;;:::o;6576:118::-;6663:24;6681:5;6663:24;:::i;:::-;6658:3;6651:37;6576:118;;:::o;6700:222::-;6793:4;6831:2;6820:9;6816:18;6808:26;;6844:71;6912:1;6901:9;6897:17;6888:6;6844:71;:::i;:::-;6700:222;;;;:::o;6928:329::-;6987:6;7036:2;7024:9;7015:7;7011:23;7007:32;7004:119;;;7042:79;;:::i;:::-;7004:119;7162:1;7187:53;7232:7;7223:6;7212:9;7208:22;7187:53;:::i;:::-;7177:63;;7133:117;6928:329;;;;:::o;7263:117::-;7372:1;7369;7362:12;7386:117;7495:1;7492;7485:12;7509:117;7618:1;7615;7608:12;7649:568;7722:8;7732:6;7782:3;7775:4;7767:6;7763:17;7759:27;7749:122;;7790:79;;:::i;:::-;7749:122;7903:6;7890:20;7880:30;;7933:18;7925:6;7922:30;7919:117;;;7955:79;;:::i;:::-;7919:117;8069:4;8061:6;8057:17;8045:29;;8123:3;8115:4;8107:6;8103:17;8093:8;8089:32;8086:41;8083:128;;;8130:79;;:::i;:::-;8083:128;7649:568;;;;;:::o;8240:::-;8313:8;8323:6;8373:3;8366:4;8358:6;8354:17;8350:27;8340:122;;8381:79;;:::i;:::-;8340:122;8494:6;8481:20;8471:30;;8524:18;8516:6;8513:30;8510:117;;;8546:79;;:::i;:::-;8510:117;8660:4;8652:6;8648:17;8636:29;;8714:3;8706:4;8698:6;8694:17;8684:8;8680:32;8677:41;8674:128;;;8721:79;;:::i;:::-;8674:128;8240:568;;;;;:::o;8814:934::-;8936:6;8944;8952;8960;9009:2;8997:9;8988:7;8984:23;8980:32;8977:119;;;9015:79;;:::i;:::-;8977:119;9163:1;9152:9;9148:17;9135:31;9193:18;9185:6;9182:30;9179:117;;;9215:79;;:::i;:::-;9179:117;9328:80;9400:7;9391:6;9380:9;9376:22;9328:80;:::i;:::-;9310:98;;;;9106:312;9485:2;9474:9;9470:18;9457:32;9516:18;9508:6;9505:30;9502:117;;;9538:79;;:::i;:::-;9502:117;9651:80;9723:7;9714:6;9703:9;9699:22;9651:80;:::i;:::-;9633:98;;;;9428:313;8814:934;;;;;;;:::o;9754:474::-;9822:6;9830;9879:2;9867:9;9858:7;9854:23;9850:32;9847:119;;;9885:79;;:::i;:::-;9847:119;10005:1;10030:53;10075:7;10066:6;10055:9;10051:22;10030:53;:::i;:::-;10020:63;;9976:117;10132:2;10158:53;10203:7;10194:6;10183:9;10179:22;10158:53;:::i;:::-;10148:63;;10103:118;9754:474;;;;;:::o;10234:182::-;10374:34;10370:1;10362:6;10358:14;10351:58;10234:182;:::o;10422:366::-;10564:3;10585:67;10649:2;10644:3;10585:67;:::i;:::-;10578:74;;10661:93;10750:3;10661:93;:::i;:::-;10779:2;10774:3;10770:12;10763:19;;10422:366;;;:::o;10794:419::-;10960:4;10998:2;10987:9;10983:18;10975:26;;11047:9;11041:4;11037:20;11033:1;11022:9;11018:17;11011:47;11075:131;11201:4;11075:131;:::i;:::-;11067:139;;10794:419;;;:::o;11219:148::-;11321:11;11358:3;11343:18;;11219:148;;;;:::o;11373:153::-;11513:5;11509:1;11501:6;11497:14;11490:29;11373:153;:::o;11532:400::-;11692:3;11713:84;11795:1;11790:3;11713:84;:::i;:::-;11706:91;;11806:93;11895:3;11806:93;:::i;:::-;11924:1;11919:3;11915:11;11908:18;;11532:400;;;:::o;11938:381::-;12123:3;12145:148;12289:3;12145:148;:::i;:::-;12138:155;;12310:3;12303:10;;11938:381;;;:::o;12325:159::-;12465:11;12461:1;12453:6;12449:14;12442:35;12325:159;:::o;12490:400::-;12650:3;12671:84;12753:1;12748:3;12671:84;:::i;:::-;12664:91;;12764:93;12853:3;12764:93;:::i;:::-;12882:1;12877:3;12873:11;12866:18;;12490:400;;;:::o;12896:381::-;13081:3;13103:148;13247:3;13103:148;:::i;:::-;13096:155;;13268:3;13261:10;;12896:381;;;:::o;13283:180::-;13331:77;13328:1;13321:88;13428:4;13425:1;13418:15;13452:4;13449:1;13442:15;13469:320;13513:6;13550:1;13544:4;13540:12;13530:22;;13597:1;13591:4;13587:12;13618:18;13608:81;;13674:4;13666:6;13662:17;13652:27;;13608:81;13736:2;13728:6;13725:14;13705:18;13702:38;13699:84;;13755:18;;:::i;:::-;13699:84;13520:269;13469:320;;;:::o;13795:227::-;13935:34;13931:1;13923:6;13919:14;13912:58;14004:10;13999:2;13991:6;13987:15;13980:35;13795:227;:::o;14028:366::-;14170:3;14191:67;14255:2;14250:3;14191:67;:::i;:::-;14184:74;;14267:93;14356:3;14267:93;:::i;:::-;14385:2;14380:3;14376:12;14369:19;;14028:366;;;:::o;14400:419::-;14566:4;14604:2;14593:9;14589:18;14581:26;;14653:9;14647:4;14643:20;14639:1;14628:9;14624:17;14617:47;14681:131;14807:4;14681:131;:::i;:::-;14673:139;;14400:419;;;:::o;14825:180::-;14873:77;14870:1;14863:88;14970:4;14967:1;14960:15;14994:4;14991:1;14984:15;15011:191;15051:3;15070:20;15088:1;15070:20;:::i;:::-;15065:25;;15104:20;15122:1;15104:20;:::i;:::-;15099:25;;15147:1;15144;15140:9;15133:16;;15168:3;15165:1;15162:10;15159:36;;;15175:18;;:::i;:::-;15159:36;15011:191;;;;:::o;15208:179::-;15348:31;15344:1;15336:6;15332:14;15325:55;15208:179;:::o;15393:366::-;15535:3;15556:67;15620:2;15615:3;15556:67;:::i;:::-;15549:74;;15632:93;15721:3;15632:93;:::i;:::-;15750:2;15745:3;15741:12;15734:19;;15393:366;;;:::o;15765:419::-;15931:4;15969:2;15958:9;15954:18;15946:26;;16018:9;16012:4;16008:20;16004:1;15993:9;15989:17;15982:47;16046:131;16172:4;16046:131;:::i;:::-;16038:139;;15765:419;;;:::o;16190:221::-;16330:34;16326:1;16318:6;16314:14;16307:58;16399:4;16394:2;16386:6;16382:15;16375:29;16190:221;:::o;16417:366::-;16559:3;16580:67;16644:2;16639:3;16580:67;:::i;:::-;16573:74;;16656:93;16745:3;16656:93;:::i;:::-;16774:2;16769:3;16765:12;16758:19;;16417:366;;;:::o;16789:419::-;16955:4;16993:2;16982:9;16978:18;16970:26;;17042:9;17036:4;17032:20;17028:1;17017:9;17013:17;17006:47;17070:131;17196:4;17070:131;:::i;:::-;17062:139;;16789:419;;;:::o;17214:179::-;17354:31;17350:1;17342:6;17338:14;17331:55;17214:179;:::o;17399:366::-;17541:3;17562:67;17626:2;17621:3;17562:67;:::i;:::-;17555:74;;17638:93;17727:3;17638:93;:::i;:::-;17756:2;17751:3;17747:12;17740:19;;17399:366;;;:::o;17771:419::-;17937:4;17975:2;17964:9;17960:18;17952:26;;18024:9;18018:4;18014:20;18010:1;17999:9;17995:17;17988:47;18052:131;18178:4;18052:131;:::i;:::-;18044:139;;17771:419;;;:::o;18196:161::-;18336:13;18332:1;18324:6;18320:14;18313:37;18196:161;:::o;18363:366::-;18505:3;18526:67;18590:2;18585:3;18526:67;:::i;:::-;18519:74;;18602:93;18691:3;18602:93;:::i;:::-;18720:2;18715:3;18711:12;18704:19;;18363:366;;;:::o;18735:419::-;18901:4;18939:2;18928:9;18924:18;18916:26;;18988:9;18982:4;18978:20;18974:1;18963:9;18959:17;18952:47;19016:131;19142:4;19016:131;:::i;:::-;19008:139;;18735:419;;;:::o;19160:410::-;19200:7;19223:20;19241:1;19223:20;:::i;:::-;19218:25;;19257:20;19275:1;19257:20;:::i;:::-;19252:25;;19312:1;19309;19305:9;19334:30;19352:11;19334:30;:::i;:::-;19323:41;;19513:1;19504:7;19500:15;19497:1;19494:22;19474:1;19467:9;19447:83;19424:139;;19543:18;;:::i;:::-;19424:139;19208:362;19160:410;;;;:::o;19576:224::-;19716:34;19712:1;19704:6;19700:14;19693:58;19785:7;19780:2;19772:6;19768:15;19761:32;19576:224;:::o;19806:366::-;19948:3;19969:67;20033:2;20028:3;19969:67;:::i;:::-;19962:74;;20045:93;20134:3;20045:93;:::i;:::-;20163:2;20158:3;20154:12;20147:19;;19806:366;;;:::o;20178:419::-;20344:4;20382:2;20371:9;20367:18;20359:26;;20431:9;20425:4;20421:20;20417:1;20406:9;20402:17;20395:47;20459:131;20585:4;20459:131;:::i;:::-;20451:139;;20178:419;;;:::o;20603:220::-;20743:34;20739:1;20731:6;20727:14;20720:58;20812:3;20807:2;20799:6;20795:15;20788:28;20603:220;:::o;20829:366::-;20971:3;20992:67;21056:2;21051:3;20992:67;:::i;:::-;20985:74;;21068:93;21157:3;21068:93;:::i;:::-;21186:2;21181:3;21177:12;21170:19;;20829:366;;;:::o;21201:419::-;21367:4;21405:2;21394:9;21390:18;21382:26;;21454:9;21448:4;21444:20;21440:1;21429:9;21425:17;21418:47;21482:131;21608:4;21482:131;:::i;:::-;21474:139;;21201:419;;;:::o;21626:240::-;21766:34;21762:1;21754:6;21750:14;21743:58;21835:23;21830:2;21822:6;21818:15;21811:48;21626:240;:::o;21872:366::-;22014:3;22035:67;22099:2;22094:3;22035:67;:::i;:::-;22028:74;;22111:93;22200:3;22111:93;:::i;:::-;22229:2;22224:3;22220:12;22213:19;;21872:366;;;:::o;22244:419::-;22410:4;22448:2;22437:9;22433:18;22425:26;;22497:9;22491:4;22487:20;22483:1;22472:9;22468:17;22461:47;22525:131;22651:4;22525:131;:::i;:::-;22517:139;;22244:419;;;:::o;22669:180::-;22717:77;22714:1;22707:88;22814:4;22811:1;22804:15;22838:4;22835:1;22828:15;22855:442;23004:4;23042:2;23031:9;23027:18;23019:26;;23055:71;23123:1;23112:9;23108:17;23099:6;23055:71;:::i;:::-;23136:72;23204:2;23193:9;23189:18;23180:6;23136:72;:::i;:::-;23218;23286:2;23275:9;23271:18;23262:6;23218:72;:::i;:::-;22855:442;;;;;;:::o;23303:116::-;23373:21;23388:5;23373:21;:::i;:::-;23366:5;23363:32;23353:60;;23409:1;23406;23399:12;23353:60;23303:116;:::o;23425:137::-;23479:5;23510:6;23504:13;23495:22;;23526:30;23550:5;23526:30;:::i;:::-;23425:137;;;;:::o;23568:345::-;23635:6;23684:2;23672:9;23663:7;23659:23;23655:32;23652:119;;;23690:79;;:::i;:::-;23652:119;23810:1;23835:61;23888:7;23879:6;23868:9;23864:22;23835:61;:::i;:::-;23825:71;;23781:125;23568:345;;;;:::o;23919:166::-;24059:18;24055:1;24047:6;24043:14;24036:42;23919:166;:::o;24091:366::-;24233:3;24254:67;24318:2;24313:3;24254:67;:::i;:::-;24247:74;;24330:93;24419:3;24330:93;:::i;:::-;24448:2;24443:3;24439:12;24432:19;;24091:366;;;:::o;24463:419::-;24629:4;24667:2;24656:9;24652:18;24644:26;;24716:9;24710:4;24706:20;24702:1;24691:9;24687:17;24680:47;24744:131;24870:4;24744:131;:::i;:::-;24736:139;;24463:419;;;:::o;24888:233::-;24927:3;24950:24;24968:5;24950:24;:::i;:::-;24941:33;;24996:66;24989:5;24986:77;24983:103;;25066:18;;:::i;:::-;24983:103;25113:1;25106:5;25102:13;25095:20;;24888:233;;;:::o;25127:224::-;25267:34;25263:1;25255:6;25251:14;25244:58;25336:7;25331:2;25323:6;25319:15;25312:32;25127:224;:::o;25357:366::-;25499:3;25520:67;25584:2;25579:3;25520:67;:::i;:::-;25513:74;;25596:93;25685:3;25596:93;:::i;:::-;25714:2;25709:3;25705:12;25698:19;;25357:366;;;:::o;25729:419::-;25895:4;25933:2;25922:9;25918:18;25910:26;;25982:9;25976:4;25972:20;25968:1;25957:9;25953:17;25946:47;26010:131;26136:4;26010:131;:::i;:::-;26002:139;;25729:419;;;:::o;26154:180::-;26294:32;26290:1;26282:6;26278:14;26271:56;26154:180;:::o;26340:366::-;26482:3;26503:67;26567:2;26562:3;26503:67;:::i;:::-;26496:74;;26579:93;26668:3;26579:93;:::i;:::-;26697:2;26692:3;26688:12;26681:19;;26340:366;;;:::o;26712:419::-;26878:4;26916:2;26905:9;26901:18;26893:26;;26965:9;26959:4;26955:20;26951:1;26940:9;26936:17;26929:47;26993:131;27119:4;26993:131;:::i;:::-;26985:139;;26712:419;;;:::o;27137:180::-;27277:32;27273:1;27265:6;27261:14;27254:56;27137:180;:::o;27323:366::-;27465:3;27486:67;27550:2;27545:3;27486:67;:::i;:::-;27479:74;;27562:93;27651:3;27562:93;:::i;:::-;27680:2;27675:3;27671:12;27664:19;;27323:366;;;:::o;27695:419::-;27861:4;27899:2;27888:9;27884:18;27876:26;;27948:9;27942:4;27938:20;27934:1;27923:9;27919:17;27912:47;27976:131;28102:4;27976:131;:::i;:::-;27968:139;;27695:419;;;:::o;28120:220::-;28260:34;28256:1;28248:6;28244:14;28237:58;28329:3;28324:2;28316:6;28312:15;28305:28;28120:220;:::o;28346:366::-;28488:3;28509:67;28573:2;28568:3;28509:67;:::i;:::-;28502:74;;28585:93;28674:3;28585:93;:::i;:::-;28703:2;28698:3;28694:12;28687:19;;28346:366;;;:::o;28718:419::-;28884:4;28922:2;28911:9;28907:18;28899:26;;28971:9;28965:4;28961:20;28957:1;28946:9;28942:17;28935:47;28999:131;29125:4;28999:131;:::i;:::-;28991:139;;28718:419;;;:::o;29143:225::-;29283:34;29279:1;29271:6;29267:14;29260:58;29352:8;29347:2;29339:6;29335:15;29328:33;29143:225;:::o;29374:366::-;29516:3;29537:67;29601:2;29596:3;29537:67;:::i;:::-;29530:74;;29613:93;29702:3;29613:93;:::i;:::-;29731:2;29726:3;29722:12;29715:19;;29374:366;;;:::o;29746:419::-;29912:4;29950:2;29939:9;29935:18;29927:26;;29999:9;29993:4;29989:20;29985:1;29974:9;29970:17;29963:47;30027:131;30153:4;30027:131;:::i;:::-;30019:139;;29746:419;;;:::o;30171:143::-;30228:5;30259:6;30253:13;30244:22;;30275:33;30302:5;30275:33;:::i;:::-;30171:143;;;;:::o;30320:351::-;30390:6;30439:2;30427:9;30418:7;30414:23;30410:32;30407:119;;;30445:79;;:::i;:::-;30407:119;30565:1;30590:64;30646:7;30637:6;30626:9;30622:22;30590:64;:::i;:::-;30580:74;;30536:128;30320:351;;;;:::o;30677:332::-;30798:4;30836:2;30825:9;30821:18;30813:26;;30849:71;30917:1;30906:9;30902:17;30893:6;30849:71;:::i;:::-;30930:72;30998:2;30987:9;30983:18;30974:6;30930:72;:::i;:::-;30677:332;;;;;:::o;31015:223::-;31155:34;31151:1;31143:6;31139:14;31132:58;31224:6;31219:2;31211:6;31207:15;31200:31;31015:223;:::o;31244:366::-;31386:3;31407:67;31471:2;31466:3;31407:67;:::i;:::-;31400:74;;31483:93;31572:3;31483:93;:::i;:::-;31601:2;31596:3;31592:12;31585:19;;31244:366;;;:::o;31616:419::-;31782:4;31820:2;31809:9;31805:18;31797:26;;31869:9;31863:4;31859:20;31855:1;31844:9;31840:17;31833:47;31897:131;32023:4;31897:131;:::i;:::-;31889:139;;31616:419;;;:::o;32041:221::-;32181:34;32177:1;32169:6;32165:14;32158:58;32250:4;32245:2;32237:6;32233:15;32226:29;32041:221;:::o;32268:366::-;32410:3;32431:67;32495:2;32490:3;32431:67;:::i;:::-;32424:74;;32507:93;32596:3;32507:93;:::i;:::-;32625:2;32620:3;32616:12;32609:19;;32268:366;;;:::o;32640:419::-;32806:4;32844:2;32833:9;32829:18;32821:26;;32893:9;32887:4;32883:20;32879:1;32868:9;32864:17;32857:47;32921:131;33047:4;32921:131;:::i;:::-;32913:139;;32640:419;;;:::o;33065:221::-;33205:34;33201:1;33193:6;33189:14;33182:58;33274:4;33269:2;33261:6;33257:15;33250:29;33065:221;:::o;33292:366::-;33434:3;33455:67;33519:2;33514:3;33455:67;:::i;:::-;33448:74;;33531:93;33620:3;33531:93;:::i;:::-;33649:2;33644:3;33640:12;33633:19;;33292:366;;;:::o;33664:419::-;33830:4;33868:2;33857:9;33853:18;33845:26;;33917:9;33911:4;33907:20;33903:1;33892:9;33888:17;33881:47;33945:131;34071:4;33945:131;:::i;:::-;33937:139;;33664:419;;;:::o;34089:175::-;34229:27;34225:1;34217:6;34213:14;34206:51;34089:175;:::o;34270:366::-;34412:3;34433:67;34497:2;34492:3;34433:67;:::i;:::-;34426:74;;34509:93;34598:3;34509:93;:::i;:::-;34627:2;34622:3;34618:12;34611:19;;34270:366;;;:::o;34642:419::-;34808:4;34846:2;34835:9;34831:18;34823:26;;34895:9;34889:4;34885:20;34881:1;34870:9;34866:17;34859:47;34923:131;35049:4;34923:131;:::i;:::-;34915:139;;34642:419;;;:::o;35067:178::-;35207:30;35203:1;35195:6;35191:14;35184:54;35067:178;:::o;35251:366::-;35393:3;35414:67;35478:2;35473:3;35414:67;:::i;:::-;35407:74;;35490:93;35579:3;35490:93;:::i;:::-;35608:2;35603:3;35599:12;35592:19;;35251:366;;;:::o;35623:419::-;35789:4;35827:2;35816:9;35812:18;35804:26;;35876:9;35870:4;35866:20;35862:1;35851:9;35847:17;35840:47;35904:131;36030:4;35904:131;:::i;:::-;35896:139;;35623:419;;;:::o;36048:180::-;36096:77;36093:1;36086:88;36193:4;36190:1;36183:15;36217:4;36214:1;36207:15;36234:143;36291:5;36322:6;36316:13;36307:22;;36338:33;36365:5;36338:33;:::i;:::-;36234:143;;;;:::o;36383:351::-;36453:6;36502:2;36490:9;36481:7;36477:23;36473:32;36470:119;;;36508:79;;:::i;:::-;36470:119;36628:1;36653:64;36709:7;36700:6;36689:9;36685:22;36653:64;:::i;:::-;36643:74;;36599:128;36383:351;;;;:::o;36740:180::-;36788:77;36785:1;36778:88;36885:4;36882:1;36875:15;36909:4;36906:1;36899:15;36926:185;36966:1;36983:20;37001:1;36983:20;:::i;:::-;36978:25;;37017:20;37035:1;37017:20;:::i;:::-;37012:25;;37056:1;37046:35;;37061:18;;:::i;:::-;37046:35;37103:1;37100;37096:9;37091:14;;36926:185;;;;:::o;37117:114::-;37184:6;37218:5;37212:12;37202:22;;37117:114;;;:::o;37237:184::-;37336:11;37370:6;37365:3;37358:19;37410:4;37405:3;37401:14;37386:29;;37237:184;;;;:::o;37427:132::-;37494:4;37517:3;37509:11;;37547:4;37542:3;37538:14;37530:22;;37427:132;;;:::o;37565:108::-;37642:24;37660:5;37642:24;:::i;:::-;37637:3;37630:37;37565:108;;:::o;37679:179::-;37748:10;37769:46;37811:3;37803:6;37769:46;:::i;:::-;37847:4;37842:3;37838:14;37824:28;;37679:179;;;;:::o;37864:113::-;37934:4;37966;37961:3;37957:14;37949:22;;37864:113;;;:::o;38013:732::-;38132:3;38161:54;38209:5;38161:54;:::i;:::-;38231:86;38310:6;38305:3;38231:86;:::i;:::-;38224:93;;38341:56;38391:5;38341:56;:::i;:::-;38420:7;38451:1;38436:284;38461:6;38458:1;38455:13;38436:284;;;38537:6;38531:13;38564:63;38623:3;38608:13;38564:63;:::i;:::-;38557:70;;38650:60;38703:6;38650:60;:::i;:::-;38640:70;;38496:224;38483:1;38480;38476:9;38471:14;;38436:284;;;38440:14;38736:3;38729:10;;38137:608;;;38013:732;;;;:::o;38751:483::-;38922:4;38960:2;38949:9;38945:18;38937:26;;38973:71;39041:1;39030:9;39026:17;39017:6;38973:71;:::i;:::-;39091:9;39085:4;39081:20;39076:2;39065:9;39061:18;39054:48;39119:108;39222:4;39213:6;39119:108;:::i;:::-;39111:116;;38751:483;;;;;:::o;39240:281::-;39323:27;39345:4;39323:27;:::i;:::-;39315:6;39311:40;39453:6;39441:10;39438:22;39417:18;39405:10;39402:34;39399:62;39396:88;;;39464:18;;:::i;:::-;39396:88;39504:10;39500:2;39493:22;39283:238;39240:281;;:::o;39527:129::-;39561:6;39588:20;;:::i;:::-;39578:30;;39617:33;39645:4;39637:6;39617:33;:::i;:::-;39527:129;;;:::o;39662:311::-;39739:4;39829:18;39821:6;39818:30;39815:56;;;39851:18;;:::i;:::-;39815:56;39901:4;39893:6;39889:17;39881:25;;39961:4;39955;39951:15;39943:23;;39662:311;;;:::o;39996:732::-;40103:5;40128:81;40144:64;40201:6;40144:64;:::i;:::-;40128:81;:::i;:::-;40119:90;;40229:5;40258:6;40251:5;40244:21;40292:4;40285:5;40281:16;40274:23;;40345:4;40337:6;40333:17;40325:6;40321:30;40374:3;40366:6;40363:15;40360:122;;;40393:79;;:::i;:::-;40360:122;40508:6;40491:231;40525:6;40520:3;40517:15;40491:231;;;40600:3;40629:48;40673:3;40661:10;40629:48;:::i;:::-;40624:3;40617:61;40707:4;40702:3;40698:14;40691:21;;40567:155;40551:4;40546:3;40542:14;40535:21;;40491:231;;;40495:21;40109:619;;39996:732;;;;;:::o;40751:385::-;40833:5;40882:3;40875:4;40867:6;40863:17;40859:27;40849:122;;40890:79;;:::i;:::-;40849:122;41000:6;40994:13;41025:105;41126:3;41118:6;41111:4;41103:6;41099:17;41025:105;:::i;:::-;41016:114;;40839:297;40751:385;;;;:::o;41142:554::-;41237:6;41286:2;41274:9;41265:7;41261:23;41257:32;41254:119;;;41292:79;;:::i;:::-;41254:119;41433:1;41422:9;41418:17;41412:24;41463:18;41455:6;41452:30;41449:117;;;41485:79;;:::i;:::-;41449:117;41590:89;41671:7;41662:6;41651:9;41647:22;41590:89;:::i;:::-;41580:99;;41383:306;41142:554;;;;:::o;41702:85::-;41747:7;41776:5;41765:16;;41702:85;;;:::o;41793:158::-;41851:9;41884:61;41902:42;41911:32;41937:5;41911:32;:::i;:::-;41902:42;:::i;:::-;41884:61;:::i;:::-;41871:74;;41793:158;;;:::o;41957:147::-;42052:45;42091:5;42052:45;:::i;:::-;42047:3;42040:58;41957:147;;:::o;42110:831::-;42373:4;42411:3;42400:9;42396:19;42388:27;;42425:71;42493:1;42482:9;42478:17;42469:6;42425:71;:::i;:::-;42506:80;42582:2;42571:9;42567:18;42558:6;42506:80;:::i;:::-;42633:9;42627:4;42623:20;42618:2;42607:9;42603:18;42596:48;42661:108;42764:4;42755:6;42661:108;:::i;:::-;42653:116;;42779:72;42847:2;42836:9;42832:18;42823:6;42779:72;:::i;:::-;42861:73;42929:3;42918:9;42914:19;42905:6;42861:73;:::i;:::-;42110:831;;;;;;;;:::o;42947:194::-;42987:4;43007:20;43025:1;43007:20;:::i;:::-;43002:25;;43041:20;43059:1;43041:20;:::i;:::-;43036:25;;43085:1;43082;43078:9;43070:17;;43109:1;43103:4;43100:11;43097:37;;;43114:18;;:::i;:::-;43097:37;42947:194;;;;:::o;43147:807::-;43396:4;43434:3;43423:9;43419:19;43411:27;;43448:71;43516:1;43505:9;43501:17;43492:6;43448:71;:::i;:::-;43529:72;43597:2;43586:9;43582:18;43573:6;43529:72;:::i;:::-;43611:80;43687:2;43676:9;43672:18;43663:6;43611:80;:::i;:::-;43701;43777:2;43766:9;43762:18;43753:6;43701:80;:::i;:::-;43791:73;43859:3;43848:9;43844:19;43835:6;43791:73;:::i;:::-;43874;43942:3;43931:9;43927:19;43918:6;43874:73;:::i;:::-;43147:807;;;;;;;;;:::o;43960:663::-;44048:6;44056;44064;44113:2;44101:9;44092:7;44088:23;44084:32;44081:119;;;44119:79;;:::i;:::-;44081:119;44239:1;44264:64;44320:7;44311:6;44300:9;44296:22;44264:64;:::i;:::-;44254:74;;44210:128;44377:2;44403:64;44459:7;44450:6;44439:9;44435:22;44403:64;:::i;:::-;44393:74;;44348:129;44516:2;44542:64;44598:7;44589:6;44578:9;44574:22;44542:64;:::i;:::-;44532:74;;44487:129;43960:663;;;;;:::o;44629:147::-;44730:11;44767:3;44752:18;;44629:147;;;;:::o;44782:114::-;;:::o;44902:398::-;45061:3;45082:83;45163:1;45158:3;45082:83;:::i;:::-;45075:90;;45174:93;45263:3;45174:93;:::i;:::-;45292:1;45287:3;45283:11;45276:18;;44902:398;;;:::o;45306:379::-;45490:3;45512:147;45655:3;45512:147;:::i;:::-;45505:154;;45676:3;45669:10;;45306:379;;;:::o;45691:180::-;45831:32;45827:1;45819:6;45815:14;45808:56;45691:180;:::o;45877:366::-;46019:3;46040:67;46104:2;46099:3;46040:67;:::i;:::-;46033:74;;46116:93;46205:3;46116:93;:::i;:::-;46234:2;46229:3;46225:12;46218:19;;45877:366;;;:::o;46249:419::-;46415:4;46453:2;46442:9;46438:18;46430:26;;46502:9;46496:4;46492:20;46488:1;46477:9;46473:17;46466:47;46530:131;46656:4;46530:131;:::i;:::-;46522:139;;46249:419;;;:::o;46674:174::-;46814:26;46810:1;46802:6;46798:14;46791:50;46674:174;:::o;46854:366::-;46996:3;47017:67;47081:2;47076:3;47017:67;:::i;:::-;47010:74;;47093:93;47182:3;47093:93;:::i;:::-;47211:2;47206:3;47202:12;47195:19;;46854:366;;;:::o;47226:419::-;47392:4;47430:2;47419:9;47415:18;47407:26;;47479:9;47473:4;47469:20;47465:1;47454:9;47450:17;47443:47;47507:131;47633:4;47507:131;:::i;:::-;47499:139;;47226:419;;;:::o;47651:170::-;47791:22;47787:1;47779:6;47775:14;47768:46;47651:170;:::o;47827:366::-;47969:3;47990:67;48054:2;48049:3;47990:67;:::i;:::-;47983:74;;48066:93;48155:3;48066:93;:::i;:::-;48184:2;48179:3;48175:12;48168:19;;47827:366;;;:::o;48199:419::-;48365:4;48403:2;48392:9;48388:18;48380:26;;48452:9;48446:4;48442:20;48438:1;48427:9;48423:17;48416:47;48480:131;48606:4;48480:131;:::i;:::-;48472:139;;48199:419;;;:::o;48624:220::-;48764:34;48760:1;48752:6;48748:14;48741:58;48833:3;48828:2;48820:6;48816:15;48809:28;48624:220;:::o;48850:366::-;48992:3;49013:67;49077:2;49072:3;49013:67;:::i;:::-;49006:74;;49089:93;49178:3;49089:93;:::i;:::-;49207:2;49202:3;49198:12;49191:19;;48850:366;;;:::o;49222:419::-;49388:4;49426:2;49415:9;49411:18;49403:26;;49475:9;49469:4;49465:20;49461:1;49450:9;49446:17;49439:47;49503:131;49629:4;49503:131;:::i;:::-;49495:139;;49222:419;;;:::o;49647:221::-;49787:34;49783:1;49775:6;49771:14;49764:58;49856:4;49851:2;49843:6;49839:15;49832:29;49647:221;:::o;49874:366::-;50016:3;50037:67;50101:2;50096:3;50037:67;:::i;:::-;50030:74;;50113:93;50202:3;50113:93;:::i;:::-;50231:2;50226:3;50222:12;50215:19;;49874:366;;;:::o;50246:419::-;50412:4;50450:2;50439:9;50435:18;50427:26;;50499:9;50493:4;50489:20;50485:1;50474:9;50470:17;50463:47;50527:131;50653:4;50527:131;:::i;:::-;50519:139;;50246:419;;;:::o;50671:166::-;50811:18;50807:1;50799:6;50795:14;50788:42;50671:166;:::o;50843:366::-;50985:3;51006:67;51070:2;51065:3;51006:67;:::i;:::-;50999:74;;51082:93;51171:3;51082:93;:::i;:::-;51200:2;51195:3;51191:12;51184:19;;50843:366;;;:::o;51215:419::-;51381:4;51419:2;51408:9;51404:18;51396:26;;51468:9;51462:4;51458:20;51454:1;51443:9;51439:17;51432:47;51496:131;51622:4;51496:131;:::i;:::-;51488:139;;51215:419;;;:::o;51640:224::-;51780:34;51776:1;51768:6;51764:14;51757:58;51849:7;51844:2;51836:6;51832:15;51825:32;51640:224;:::o;51870:366::-;52012:3;52033:67;52097:2;52092:3;52033:67;:::i;:::-;52026:74;;52109:93;52198:3;52109:93;:::i;:::-;52227:2;52222:3;52218:12;52211:19;;51870:366;;;:::o;52242:419::-;52408:4;52446:2;52435:9;52431:18;52423:26;;52495:9;52489:4;52485:20;52481:1;52470:9;52466:17;52459:47;52523:131;52649:4;52523:131;:::i;:::-;52515:139;;52242:419;;;:::o;52667:222::-;52807:34;52803:1;52795:6;52791:14;52784:58;52876:5;52871:2;52863:6;52859:15;52852:30;52667:222;:::o;52895:366::-;53037:3;53058:67;53122:2;53117:3;53058:67;:::i;:::-;53051:74;;53134:93;53223:3;53134:93;:::i;:::-;53252:2;53247:3;53243:12;53236:19;;52895:366;;;:::o;53267:419::-;53433:4;53471:2;53460:9;53456:18;53448:26;;53520:9;53514:4;53510:20;53506:1;53495:9;53491:17;53484:47;53548:131;53674:4;53548:131;:::i;:::-;53540:139;;53267:419;;;:::o;53692:225::-;53832:34;53828:1;53820:6;53816:14;53809:58;53901:8;53896:2;53888:6;53884:15;53877:33;53692:225;:::o;53923:366::-;54065:3;54086:67;54150:2;54145:3;54086:67;:::i;:::-;54079:74;;54162:93;54251:3;54162:93;:::i;:::-;54280:2;54275:3;54271:12;54264:19;;53923:366;;;:::o;54295:419::-;54461:4;54499:2;54488:9;54484:18;54476:26;;54548:9;54542:4;54538:20;54534:1;54523:9;54519:17;54512:47;54576:131;54702:4;54576:131;:::i;:::-;54568:139;;54295:419;;;:::o

Swarm Source

ipfs://a7053e95cbd6cb44a2e6f7379659037860f7883505c6d96cb7ad5014613dbe49
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.