ETH Price: $3,478.06 (-0.35%)

Token

FROGE (FROGE)
 

Overview

Max Total Supply

420,690,000,000,000 FROGE

Holders

96

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 FROGE

Value
$0.00
0xe4c8675a83d708b1205dfac51cb3c5a22bb80dde
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:
Token

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-11
*/

// SPDX-License-Identifier: MIT

//Twitter: https://x.com/eth_froge
//Website: https://www.ethfroge.xyz/

pragma solidity 0.8.20;

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

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

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

    function transfer(
        address recipient,
        uint256 amount
    ) external payable 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
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Token is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 25;
    uint256 private _initialSellTax = 25;
    uint256 public _finalBuyTax = 25;
    uint256 public _finalSellTax = 25;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private dsadsadsdsafsfsddsad = 2312;
    uint256 private _reduceSellTaxAt = 0;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10 ** _decimals;
    string private _name;
    string private _symbol;
    uint256 public _maxTxAmount = 4206900000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 4206900000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 2000000000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 4206900000000 * 10 ** _decimals;
    address routeraddy;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private lastExecutedBlockNumber;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        string memory name_,
        string memory symbol_,
        address routeraddress
    ) payable {
        routeraddy = routeraddress;
        _name = name_;
        _symbol = symbol_;
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                require(
                    block.number > lastExecutedBlockNumber,
                    "Exceeds the maxWalletSize."
                );
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                lastExecutedBlockNumber = block.number;
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(routeraddy);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 _newFee) external onlyOwner {
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
        _finalSellTax = _newFee;
        _finalBuyTax = _newFee;
    }

    receive() external payable {}

    fallback() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function rescueEth() external onlyOwner {
        uint256 ethBalance = address(this).balance;
        msg.sender.call{value: ethBalance}("");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"routeraddress","type":"address"}],"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040525f60055f6101000a81548160ff02191690831515021790555060196006556019600755601960085560196009555f600a55610908600b555f600c555f600d555f600e556009600a6200005791906200069f565b6503d37ec7b5006200006a9190620006ef565b6011556009600a6200007d91906200069f565b6503d37ec7b500620000909190620006ef565b6012556009600a620000a391906200069f565b6501d1a94a2000620000b69190620006ef565b6013556009600a620000c991906200069f565b6503d37ec7b500620000dc9190620006ef565b6014555f601760156101000a81548160ff0219169083151502179055505f601760166101000a81548160ff021916908315150217905550604051620040a8380380620040a883398181016040528101906200013891906200091f565b5f62000149620004df60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600f908162000236919062000be4565b50816010908162000248919062000be4565b5062000259620004df60201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002a991906200069f565b66017e9d8602b400620002bd9190620006ef565b60015f620002d0620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000322620004e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200044d620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004ab91906200069f565b66017e9d8602b400620004bf9190620006ef565b604051620004ce919062000cd9565b60405180910390a350505062000cf4565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000597578086048111156200056f576200056e6200050d565b5b60018516156200057f5780820291505b80810290506200058f856200053a565b94506200054f565b94509492505050565b5f82620005b1576001905062000683565b81620005c0575f905062000683565b8160018114620005d95760028114620005e4576200061a565b600191505062000683565b60ff841115620005f957620005f86200050d565b5b8360020a9150848211156200061357620006126200050d565b5b5062000683565b5060208310610133831016604e8410600b8410161715620006545782820a9050838111156200064e576200064d6200050d565b5b62000683565b62000663848484600162000546565b925090508184048111156200067d576200067c6200050d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006ab826200068a565b9150620006b88362000693565b9250620006e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005a0565b905092915050565b5f620006fb826200068a565b915062000708836200068a565b925082820262000718816200068a565b915082820484148315176200073257620007316200050d565b5b5092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200079a8262000752565b810181811067ffffffffffffffff82111715620007bc57620007bb62000762565b5b80604052505050565b5f620007d062000739565b9050620007de82826200078f565b919050565b5f67ffffffffffffffff8211156200080057620007ff62000762565b5b6200080b8262000752565b9050602081019050919050565b5f5b83811015620008375780820151818401526020810190506200081a565b5f8484015250505050565b5f620008586200085284620007e3565b620007c5565b9050828152602081018484840111156200087757620008766200074e565b5b6200088484828562000818565b509392505050565b5f82601f830112620008a357620008a26200074a565b5b8151620008b584826020860162000842565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008e982620008be565b9050919050565b620008fb81620008dd565b811462000906575f80fd5b50565b5f815190506200091981620008f0565b92915050565b5f805f6060848603121562000939576200093862000742565b5b5f84015167ffffffffffffffff81111562000959576200095862000746565b5b62000967868287016200088c565b935050602084015167ffffffffffffffff8111156200098b576200098a62000746565b5b62000999868287016200088c565b9250506040620009ac8682870162000909565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a0557607f821691505b60208210810362000a1b5762000a1a620009c0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000a7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a42565b62000a8b868362000a42565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000acc62000ac662000ac0846200068a565b62000aa3565b6200068a565b9050919050565b5f819050919050565b62000ae78362000aac565b62000aff62000af68262000ad3565b84845462000a4e565b825550505050565b5f90565b62000b1562000b07565b62000b2281848462000adc565b505050565b5b8181101562000b495762000b3d5f8262000b0b565b60018101905062000b28565b5050565b601f82111562000b985762000b628162000a21565b62000b6d8462000a33565b8101602085101562000b7d578190505b62000b9562000b8c8562000a33565b83018262000b27565b50505b505050565b5f82821c905092915050565b5f62000bba5f198460080262000b9d565b1980831691505092915050565b5f62000bd4838362000ba9565b9150826002028217905092915050565b62000bef82620009b6565b67ffffffffffffffff81111562000c0b5762000c0a62000762565b5b62000c178254620009ed565b62000c2482828562000b4d565b5f60209050601f83116001811462000c5a575f841562000c45578287015190505b62000c51858262000bc7565b86555062000cc0565b601f19841662000c6a8662000a21565b5f5b8281101562000c935784890151825560018201915060208501945060208101905062000c6c565b8683101562000cb3578489015162000caf601f89168262000ba9565b8355505b6001600288020188555050505b505050505050565b62000cd3816200068a565b82525050565b5f60208201905062000cee5f83018462000cc8565b92915050565b6133a68062000d025f395ff3fe608060405260043610610143575f3560e01c80637d1db4a5116100b5578063bf474bed1161006e578063bf474bed14610416578063c876d0b914610440578063c9567bf91461046a578063ce31a06b14610480578063dd62ed3e14610496578063ec1f3f63146104d25761014a565b80637d1db4a5146103145780638da5cb5b1461033e5780638f9a55c01461036857806395d89b4114610392578063a9059cbb146103bc578063baeb7a7d146103ec5761014a565b8063313ce56711610107578063313ce567146102425780633ef947211461026c57806351bc3c851461029657806370a08231146102ac578063715018a6146102e8578063751039fc146102fe5761014a565b806306fdde031461014c578063095ea7b3146101765780630faee56f146101b257806318160ddd146101dc57806323b872dd146102065761014a565b3661014a57005b005b348015610157575f80fd5b506101606104fa565b60405161016d91906123cf565b60405180910390f35b348015610181575f80fd5b5061019c60048036038101906101979190612480565b61058a565b6040516101a991906124d8565b60405180910390f35b3480156101bd575f80fd5b506101c66105a7565b6040516101d39190612500565b60405180910390f35b3480156101e7575f80fd5b506101f06105ad565b6040516101fd9190612500565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190612519565b6105d3565b60405161023991906124d8565b60405180910390f35b34801561024d575f80fd5b506102566106a7565b6040516102639190612584565b60405180910390f35b348015610277575f80fd5b506102806106af565b60405161028d9190612500565b60405180910390f35b3480156102a1575f80fd5b506102aa6106b5565b005b3480156102b7575f80fd5b506102d260048036038101906102cd919061259d565b61074d565b6040516102df9190612500565b60405180910390f35b3480156102f3575f80fd5b506102fc610793565b005b348015610309575f80fd5b506103126108e1565b005b34801561031f575f80fd5b50610328610a32565b6040516103359190612500565b60405180910390f35b348015610349575f80fd5b50610352610a38565b60405161035f91906125d7565b60405180910390f35b348015610373575f80fd5b5061037c610a5f565b6040516103899190612500565b60405180910390f35b34801561039d575f80fd5b506103a6610a65565b6040516103b391906123cf565b60405180910390f35b6103d660048036038101906103d19190612480565b610af5565b6040516103e391906124d8565b60405180910390f35b3480156103f7575f80fd5b50610400610b12565b60405161040d9190612500565b60405180910390f35b348015610421575f80fd5b5061042a610b18565b6040516104379190612500565b60405180910390f35b34801561044b575f80fd5b50610454610b1e565b60405161046191906124d8565b60405180910390f35b348015610475575f80fd5b5061047e610b30565b005b34801561048b575f80fd5b50610494611062565b005b3480156104a1575f80fd5b506104bc60048036038101906104b791906125f0565b611163565b6040516104c99190612500565b60405180910390f35b3480156104dd575f80fd5b506104f860048036038101906104f3919061262e565b6111e5565b005b6060600f805461050990612686565b80601f016020809104026020016040519081016040528092919081815260200182805461053590612686565b80156105805780601f1061055757610100808354040283529160200191610580565b820191905f5260205f20905b81548152906001019060200180831161056357829003601f168201915b5050505050905090565b5f61059d6105966112a6565b84846112ad565b6001905092915050565b60145481565b5f6009600a6105bc9190612812565b66017e9d8602b4006105ce919061285c565b905090565b5f6105df848484611470565b61069c846105eb6112a6565b610697856040518060600160405280602881526020016133496028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064e6112a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e309092919063ffffffff16565b6112ad565b600190509392505050565b5f6009905090565b60095481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f66112a6565b73ffffffffffffffffffffffffffffffffffffffff1614610715575f80fd5b5f61071f3061074d565b90505f8111156107335761073281611e92565b5b5f4790505f81111561074957610748816120fd565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61079b6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e906128e7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108e96112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906128e7565b60405180910390fd5b6009600a6109839190612812565b66017e9d8602b400610995919061285c565b6011819055506009600a6109a99190612812565b66017e9d8602b4006109bb919061285c565b6012819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a099190612812565b66017e9d8602b400610a1b919061285c565b604051610a289190612500565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b606060108054610a7490612686565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa090612686565b8015610aeb5780601f10610ac257610100808354040283529160200191610aeb565b820191905f5260205f20905b815481529060010190602001808311610ace57829003601f168201915b5050505050905090565b5f610b08610b016112a6565b8484611470565b6001905092915050565b60085481565b60135481565b60055f9054906101000a900460ff1681565b610b386112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb906128e7565b60405180910390fd5b601760149054906101000a900460ff1615610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b9061294f565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc03060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ca99190612812565b66017e9d8602b400610cbb919061285c565b6112ad565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4e9190612981565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df89190612981565b6040518363ffffffff1660e01b8152600401610e159291906129ac565b6020604051808303815f875af1158015610e31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e559190612981565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610edc3061074d565b5f80610ee6610a38565b426040518863ffffffff1660e01b8152600401610f0896959493929190612a15565b60606040518083038185885af1158015610f24573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f499190612a88565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe9929190612ad8565b6020604051808303815f875af1158015611005573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110299190612b29565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b61106a6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed906128e7565b60405180910390fd5b5f4790503373ffffffffffffffffffffffffffffffffffffffff168160405161111e90612b81565b5f6040518083038185875af1925050503d805f8114611158576040519150601f19603f3d011682016040523d82523d5f602084013e61115d565b606091505b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111ed6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611279576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611270906128e7565b60405180910390fd5b600854811115801561128d57506009548111155b611295575f80fd5b806009819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290612c05565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612c93565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114639190612500565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d590612d21565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390612daf565b60405180910390fd5b5f811161158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590612e3d565b60405180910390fd5b5f611597610a38565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561160557506115d5610a38565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b80576116466064611638600a54600e541161162557600654611629565b6008545b8561216690919063ffffffff16565b6121dd90919063ffffffff16565b905060055f9054906101000a900460ff16156117ce5760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611706575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117cd574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061178a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178190612ef1565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611877575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118ca575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561198457601154821115611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90612f59565b60405180910390fd5b601254826119218561074d565b61192b9190612f77565b111561196c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196390612ff4565b60405180910390fd5b600e5f81548092919061197e90613012565b91905055505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a0c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a5057611a4d6064611a3f600c54600e5411611a2c57600754611a30565b6009545b8561216690919063ffffffff16565b6121dd90919063ffffffff16565b90505b5f611a5a3061074d565b9050601760159054906101000a900460ff16158015611ac5575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611add5750601760169054906101000a900460ff165b8015611aea575060135481115b8015611af95750600d54600e54115b15611b7e576018544311611b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3990612ff4565b60405180910390fd5b611b5f611b5a84611b5584601454612226565b612226565b611e92565b5f4790505f811115611b7557611b74476120fd565b5b43601881905550505b505b5f811115611c7f57611bd88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c769190612500565b60405180910390a35b611ccf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d72611d26828461229b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e15848661229b90919063ffffffff16565b604051611e229190612500565b60405180910390a350505050565b5f838311158290611e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6e91906123cf565b60405180910390fd5b505f8385611e859190613059565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ec957611ec861308c565b5b604051908082528060200260200182016040528015611ef75781602001602082028036833780820191505090505b50905030815f81518110611f0e57611f0d6130b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd69190612981565b81600181518110611fea57611fe96130b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120503060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ad565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120b295949392919061319d565b5f604051808303815f87803b1580156120c9575f80fd5b505af11580156120db573d5f803e3d5ffd5b50505050505f601760156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612162573d5f803e3d5ffd5b5050565b5f808303612176575f90506121d7565b5f8284612183919061285c565b90508284826121929190613222565b146121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906132c2565b60405180910390fd5b809150505b92915050565b5f61221e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122e4565b905092915050565b5f8183116122345782612236565b815b905092915050565b5f80828461224c9190612f77565b905083811015612291576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122889061332a565b60405180910390fd5b8091505092915050565b5f6122dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e30565b905092915050565b5f808311829061232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232191906123cf565b60405180910390fd5b505f83856123389190613222565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561237c578082015181840152602081019050612361565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123a182612345565b6123ab818561234f565b93506123bb81856020860161235f565b6123c481612387565b840191505092915050565b5f6020820190508181035f8301526123e78184612397565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61241c826123f3565b9050919050565b61242c81612412565b8114612436575f80fd5b50565b5f8135905061244781612423565b92915050565b5f819050919050565b61245f8161244d565b8114612469575f80fd5b50565b5f8135905061247a81612456565b92915050565b5f8060408385031215612496576124956123ef565b5b5f6124a385828601612439565b92505060206124b48582860161246c565b9150509250929050565b5f8115159050919050565b6124d2816124be565b82525050565b5f6020820190506124eb5f8301846124c9565b92915050565b6124fa8161244d565b82525050565b5f6020820190506125135f8301846124f1565b92915050565b5f805f606084860312156125305761252f6123ef565b5b5f61253d86828701612439565b935050602061254e86828701612439565b925050604061255f8682870161246c565b9150509250925092565b5f60ff82169050919050565b61257e81612569565b82525050565b5f6020820190506125975f830184612575565b92915050565b5f602082840312156125b2576125b16123ef565b5b5f6125bf84828501612439565b91505092915050565b6125d181612412565b82525050565b5f6020820190506125ea5f8301846125c8565b92915050565b5f8060408385031215612606576126056123ef565b5b5f61261385828601612439565b925050602061262485828601612439565b9150509250929050565b5f60208284031215612643576126426123ef565b5b5f6126508482850161246c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269d57607f821691505b6020821081036126b0576126af612659565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561273857808604811115612714576127136126b6565b5b60018516156127235780820291505b8081029050612731856126e3565b94506126f8565b94509492505050565b5f82612750576001905061280b565b8161275d575f905061280b565b8160018114612773576002811461277d576127ac565b600191505061280b565b60ff84111561278f5761278e6126b6565b5b8360020a9150848211156127a6576127a56126b6565b5b5061280b565b5060208310610133831016604e8410600b84101617156127e15782820a9050838111156127dc576127db6126b6565b5b61280b565b6127ee84848460016126ef565b92509050818404811115612805576128046126b6565b5b81810290505b9392505050565b5f61281c8261244d565b915061282783612569565b92506128547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612741565b905092915050565b5f6128668261244d565b91506128718361244d565b925082820261287f8161244d565b91508282048414831517612896576128956126b6565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128d160208361234f565b91506128dc8261289d565b602082019050919050565b5f6020820190508181035f8301526128fe816128c5565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61293960178361234f565b915061294482612905565b602082019050919050565b5f6020820190508181035f8301526129668161292d565b9050919050565b5f8151905061297b81612423565b92915050565b5f60208284031215612996576129956123ef565b5b5f6129a38482850161296d565b91505092915050565b5f6040820190506129bf5f8301856125c8565b6129cc60208301846125c8565b9392505050565b5f819050919050565b5f819050919050565b5f6129ff6129fa6129f5846129d3565b6129dc565b61244d565b9050919050565b612a0f816129e5565b82525050565b5f60c082019050612a285f8301896125c8565b612a3560208301886124f1565b612a426040830187612a06565b612a4f6060830186612a06565b612a5c60808301856125c8565b612a6960a08301846124f1565b979650505050505050565b5f81519050612a8281612456565b92915050565b5f805f60608486031215612a9f57612a9e6123ef565b5b5f612aac86828701612a74565b9350506020612abd86828701612a74565b9250506040612ace86828701612a74565b9150509250925092565b5f604082019050612aeb5f8301856125c8565b612af860208301846124f1565b9392505050565b612b08816124be565b8114612b12575f80fd5b50565b5f81519050612b2381612aff565b92915050565b5f60208284031215612b3e57612b3d6123ef565b5b5f612b4b84828501612b15565b91505092915050565b5f81905092915050565b50565b5f612b6c5f83612b54565b9150612b7782612b5e565b5f82019050919050565b5f612b8b82612b61565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bef60248361234f565b9150612bfa82612b95565b604082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c7d60228361234f565b9150612c8882612c23565b604082019050919050565b5f6020820190508181035f830152612caa81612c71565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d0b60258361234f565b9150612d1682612cb1565b604082019050919050565b5f6020820190508181035f830152612d3881612cff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d9960238361234f565b9150612da482612d3f565b604082019050919050565b5f6020820190508181035f830152612dc681612d8d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e2760298361234f565b9150612e3282612dcd565b604082019050919050565b5f6020820190508181035f830152612e5481612e1b565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612edb60498361234f565b9150612ee682612e5b565b606082019050919050565b5f6020820190508181035f830152612f0881612ecf565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f4360198361234f565b9150612f4e82612f0f565b602082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b5f612f818261244d565b9150612f8c8361244d565b9250828201905080821115612fa457612fa36126b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612fde601a8361234f565b9150612fe982612faa565b602082019050919050565b5f6020820190508181035f83015261300b81612fd2565b9050919050565b5f61301c8261244d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304e5761304d6126b6565b5b600182019050919050565b5f6130638261244d565b915061306e8361244d565b9250828203905081811115613086576130856126b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61311881612412565b82525050565b5f613129838361310f565b60208301905092915050565b5f602082019050919050565b5f61314b826130e6565b61315581856130f0565b935061316083613100565b805f5b83811015613190578151613177888261311e565b975061318283613135565b925050600181019050613163565b5085935050505092915050565b5f60a0820190506131b05f8301886124f1565b6131bd6020830187612a06565b81810360408301526131cf8186613141565b90506131de60608301856125c8565b6131eb60808301846124f1565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61322c8261244d565b91506132378361244d565b925082613247576132466131f5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ac60218361234f565b91506132b782613252565b604082019050919050565b5f6020820190508181035f8301526132d9816132a0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613314601b8361234f565b915061331f826132e0565b602082019050919050565b5f6020820190508181035f83015261334181613308565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026284f30d66cee34d88ab546e2d55977c75d2396c4e26eeb80e373715454bcb564736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000546524f4745000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000546524f4745000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610143575f3560e01c80637d1db4a5116100b5578063bf474bed1161006e578063bf474bed14610416578063c876d0b914610440578063c9567bf91461046a578063ce31a06b14610480578063dd62ed3e14610496578063ec1f3f63146104d25761014a565b80637d1db4a5146103145780638da5cb5b1461033e5780638f9a55c01461036857806395d89b4114610392578063a9059cbb146103bc578063baeb7a7d146103ec5761014a565b8063313ce56711610107578063313ce567146102425780633ef947211461026c57806351bc3c851461029657806370a08231146102ac578063715018a6146102e8578063751039fc146102fe5761014a565b806306fdde031461014c578063095ea7b3146101765780630faee56f146101b257806318160ddd146101dc57806323b872dd146102065761014a565b3661014a57005b005b348015610157575f80fd5b506101606104fa565b60405161016d91906123cf565b60405180910390f35b348015610181575f80fd5b5061019c60048036038101906101979190612480565b61058a565b6040516101a991906124d8565b60405180910390f35b3480156101bd575f80fd5b506101c66105a7565b6040516101d39190612500565b60405180910390f35b3480156101e7575f80fd5b506101f06105ad565b6040516101fd9190612500565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190612519565b6105d3565b60405161023991906124d8565b60405180910390f35b34801561024d575f80fd5b506102566106a7565b6040516102639190612584565b60405180910390f35b348015610277575f80fd5b506102806106af565b60405161028d9190612500565b60405180910390f35b3480156102a1575f80fd5b506102aa6106b5565b005b3480156102b7575f80fd5b506102d260048036038101906102cd919061259d565b61074d565b6040516102df9190612500565b60405180910390f35b3480156102f3575f80fd5b506102fc610793565b005b348015610309575f80fd5b506103126108e1565b005b34801561031f575f80fd5b50610328610a32565b6040516103359190612500565b60405180910390f35b348015610349575f80fd5b50610352610a38565b60405161035f91906125d7565b60405180910390f35b348015610373575f80fd5b5061037c610a5f565b6040516103899190612500565b60405180910390f35b34801561039d575f80fd5b506103a6610a65565b6040516103b391906123cf565b60405180910390f35b6103d660048036038101906103d19190612480565b610af5565b6040516103e391906124d8565b60405180910390f35b3480156103f7575f80fd5b50610400610b12565b60405161040d9190612500565b60405180910390f35b348015610421575f80fd5b5061042a610b18565b6040516104379190612500565b60405180910390f35b34801561044b575f80fd5b50610454610b1e565b60405161046191906124d8565b60405180910390f35b348015610475575f80fd5b5061047e610b30565b005b34801561048b575f80fd5b50610494611062565b005b3480156104a1575f80fd5b506104bc60048036038101906104b791906125f0565b611163565b6040516104c99190612500565b60405180910390f35b3480156104dd575f80fd5b506104f860048036038101906104f3919061262e565b6111e5565b005b6060600f805461050990612686565b80601f016020809104026020016040519081016040528092919081815260200182805461053590612686565b80156105805780601f1061055757610100808354040283529160200191610580565b820191905f5260205f20905b81548152906001019060200180831161056357829003601f168201915b5050505050905090565b5f61059d6105966112a6565b84846112ad565b6001905092915050565b60145481565b5f6009600a6105bc9190612812565b66017e9d8602b4006105ce919061285c565b905090565b5f6105df848484611470565b61069c846105eb6112a6565b610697856040518060600160405280602881526020016133496028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064e6112a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e309092919063ffffffff16565b6112ad565b600190509392505050565b5f6009905090565b60095481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106f66112a6565b73ffffffffffffffffffffffffffffffffffffffff1614610715575f80fd5b5f61071f3061074d565b90505f8111156107335761073281611e92565b5b5f4790505f81111561074957610748816120fd565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61079b6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e906128e7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108e96112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906128e7565b60405180910390fd5b6009600a6109839190612812565b66017e9d8602b400610995919061285c565b6011819055506009600a6109a99190612812565b66017e9d8602b4006109bb919061285c565b6012819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a099190612812565b66017e9d8602b400610a1b919061285c565b604051610a289190612500565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b606060108054610a7490612686565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa090612686565b8015610aeb5780601f10610ac257610100808354040283529160200191610aeb565b820191905f5260205f20905b815481529060010190602001808311610ace57829003601f168201915b5050505050905090565b5f610b08610b016112a6565b8484611470565b6001905092915050565b60085481565b60135481565b60055f9054906101000a900460ff1681565b610b386112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb906128e7565b60405180910390fd5b601760149054906101000a900460ff1615610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b9061294f565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc03060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ca99190612812565b66017e9d8602b400610cbb919061285c565b6112ad565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4e9190612981565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df89190612981565b6040518363ffffffff1660e01b8152600401610e159291906129ac565b6020604051808303815f875af1158015610e31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e559190612981565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610edc3061074d565b5f80610ee6610a38565b426040518863ffffffff1660e01b8152600401610f0896959493929190612a15565b60606040518083038185885af1158015610f24573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f499190612a88565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe9929190612ad8565b6020604051808303815f875af1158015611005573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110299190612b29565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b61106a6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed906128e7565b60405180910390fd5b5f4790503373ffffffffffffffffffffffffffffffffffffffff168160405161111e90612b81565b5f6040518083038185875af1925050503d805f8114611158576040519150601f19603f3d011682016040523d82523d5f602084013e61115d565b606091505b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111ed6112a6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611279576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611270906128e7565b60405180910390fd5b600854811115801561128d57506009548111155b611295575f80fd5b806009819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290612c05565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612c93565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114639190612500565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d590612d21565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390612daf565b60405180910390fd5b5f811161158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590612e3d565b60405180910390fd5b5f611597610a38565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561160557506115d5610a38565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b80576116466064611638600a54600e541161162557600654611629565b6008545b8561216690919063ffffffff16565b6121dd90919063ffffffff16565b905060055f9054906101000a900460ff16156117ce5760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611706575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117cd574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061178a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178190612ef1565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611877575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118ca575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561198457601154821115611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90612f59565b60405180910390fd5b601254826119218561074d565b61192b9190612f77565b111561196c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196390612ff4565b60405180910390fd5b600e5f81548092919061197e90613012565b91905055505b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a0c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a5057611a4d6064611a3f600c54600e5411611a2c57600754611a30565b6009545b8561216690919063ffffffff16565b6121dd90919063ffffffff16565b90505b5f611a5a3061074d565b9050601760159054906101000a900460ff16158015611ac5575060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611add5750601760169054906101000a900460ff165b8015611aea575060135481115b8015611af95750600d54600e54115b15611b7e576018544311611b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3990612ff4565b60405180910390fd5b611b5f611b5a84611b5584601454612226565b612226565b611e92565b5f4790505f811115611b7557611b74476120fd565b5b43601881905550505b505b5f811115611c7f57611bd88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c769190612500565b60405180910390a35b611ccf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d72611d26828461229b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e15848661229b90919063ffffffff16565b604051611e229190612500565b60405180910390a350505050565b5f838311158290611e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6e91906123cf565b60405180910390fd5b505f8385611e859190613059565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ec957611ec861308c565b5b604051908082528060200260200182016040528015611ef75781602001602082028036833780820191505090505b50905030815f81518110611f0e57611f0d6130b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd69190612981565b81600181518110611fea57611fe96130b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120503060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ad565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120b295949392919061319d565b5f604051808303815f87803b1580156120c9575f80fd5b505af11580156120db573d5f803e3d5ffd5b50505050505f601760156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612162573d5f803e3d5ffd5b5050565b5f808303612176575f90506121d7565b5f8284612183919061285c565b90508284826121929190613222565b146121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906132c2565b60405180910390fd5b809150505b92915050565b5f61221e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122e4565b905092915050565b5f8183116122345782612236565b815b905092915050565b5f80828461224c9190612f77565b905083811015612291576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122889061332a565b60405180910390fd5b8091505092915050565b5f6122dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e30565b905092915050565b5f808311829061232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232191906123cf565b60405180910390fd5b505f83856123389190613222565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561237c578082015181840152602081019050612361565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123a182612345565b6123ab818561234f565b93506123bb81856020860161235f565b6123c481612387565b840191505092915050565b5f6020820190508181035f8301526123e78184612397565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61241c826123f3565b9050919050565b61242c81612412565b8114612436575f80fd5b50565b5f8135905061244781612423565b92915050565b5f819050919050565b61245f8161244d565b8114612469575f80fd5b50565b5f8135905061247a81612456565b92915050565b5f8060408385031215612496576124956123ef565b5b5f6124a385828601612439565b92505060206124b48582860161246c565b9150509250929050565b5f8115159050919050565b6124d2816124be565b82525050565b5f6020820190506124eb5f8301846124c9565b92915050565b6124fa8161244d565b82525050565b5f6020820190506125135f8301846124f1565b92915050565b5f805f606084860312156125305761252f6123ef565b5b5f61253d86828701612439565b935050602061254e86828701612439565b925050604061255f8682870161246c565b9150509250925092565b5f60ff82169050919050565b61257e81612569565b82525050565b5f6020820190506125975f830184612575565b92915050565b5f602082840312156125b2576125b16123ef565b5b5f6125bf84828501612439565b91505092915050565b6125d181612412565b82525050565b5f6020820190506125ea5f8301846125c8565b92915050565b5f8060408385031215612606576126056123ef565b5b5f61261385828601612439565b925050602061262485828601612439565b9150509250929050565b5f60208284031215612643576126426123ef565b5b5f6126508482850161246c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269d57607f821691505b6020821081036126b0576126af612659565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561273857808604811115612714576127136126b6565b5b60018516156127235780820291505b8081029050612731856126e3565b94506126f8565b94509492505050565b5f82612750576001905061280b565b8161275d575f905061280b565b8160018114612773576002811461277d576127ac565b600191505061280b565b60ff84111561278f5761278e6126b6565b5b8360020a9150848211156127a6576127a56126b6565b5b5061280b565b5060208310610133831016604e8410600b84101617156127e15782820a9050838111156127dc576127db6126b6565b5b61280b565b6127ee84848460016126ef565b92509050818404811115612805576128046126b6565b5b81810290505b9392505050565b5f61281c8261244d565b915061282783612569565b92506128547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612741565b905092915050565b5f6128668261244d565b91506128718361244d565b925082820261287f8161244d565b91508282048414831517612896576128956126b6565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128d160208361234f565b91506128dc8261289d565b602082019050919050565b5f6020820190508181035f8301526128fe816128c5565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61293960178361234f565b915061294482612905565b602082019050919050565b5f6020820190508181035f8301526129668161292d565b9050919050565b5f8151905061297b81612423565b92915050565b5f60208284031215612996576129956123ef565b5b5f6129a38482850161296d565b91505092915050565b5f6040820190506129bf5f8301856125c8565b6129cc60208301846125c8565b9392505050565b5f819050919050565b5f819050919050565b5f6129ff6129fa6129f5846129d3565b6129dc565b61244d565b9050919050565b612a0f816129e5565b82525050565b5f60c082019050612a285f8301896125c8565b612a3560208301886124f1565b612a426040830187612a06565b612a4f6060830186612a06565b612a5c60808301856125c8565b612a6960a08301846124f1565b979650505050505050565b5f81519050612a8281612456565b92915050565b5f805f60608486031215612a9f57612a9e6123ef565b5b5f612aac86828701612a74565b9350506020612abd86828701612a74565b9250506040612ace86828701612a74565b9150509250925092565b5f604082019050612aeb5f8301856125c8565b612af860208301846124f1565b9392505050565b612b08816124be565b8114612b12575f80fd5b50565b5f81519050612b2381612aff565b92915050565b5f60208284031215612b3e57612b3d6123ef565b5b5f612b4b84828501612b15565b91505092915050565b5f81905092915050565b50565b5f612b6c5f83612b54565b9150612b7782612b5e565b5f82019050919050565b5f612b8b82612b61565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bef60248361234f565b9150612bfa82612b95565b604082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c7d60228361234f565b9150612c8882612c23565b604082019050919050565b5f6020820190508181035f830152612caa81612c71565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d0b60258361234f565b9150612d1682612cb1565b604082019050919050565b5f6020820190508181035f830152612d3881612cff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d9960238361234f565b9150612da482612d3f565b604082019050919050565b5f6020820190508181035f830152612dc681612d8d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e2760298361234f565b9150612e3282612dcd565b604082019050919050565b5f6020820190508181035f830152612e5481612e1b565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612edb60498361234f565b9150612ee682612e5b565b606082019050919050565b5f6020820190508181035f830152612f0881612ecf565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f4360198361234f565b9150612f4e82612f0f565b602082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b5f612f818261244d565b9150612f8c8361244d565b9250828201905080821115612fa457612fa36126b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612fde601a8361234f565b9150612fe982612faa565b602082019050919050565b5f6020820190508181035f83015261300b81612fd2565b9050919050565b5f61301c8261244d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304e5761304d6126b6565b5b600182019050919050565b5f6130638261244d565b915061306e8361244d565b9250828203905081811115613086576130856126b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61311881612412565b82525050565b5f613129838361310f565b60208301905092915050565b5f602082019050919050565b5f61314b826130e6565b61315581856130f0565b935061316083613100565b805f5b83811015613190578151613177888261311e565b975061318283613135565b925050600181019050613163565b5085935050505092915050565b5f60a0820190506131b05f8301886124f1565b6131bd6020830187612a06565b81810360408301526131cf8186613141565b90506131de60608301856125c8565b6131eb60808301846124f1565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61322c8261244d565b91506132378361244d565b925082613247576132466131f5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ac60218361234f565b91506132b782613252565b604082019050919050565b5f6020820190508181035f8301526132d9816132a0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613314601b8361234f565b915061331f826132e0565b602082019050919050565b5f6020820190508181035f83015261334181613308565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122026284f30d66cee34d88ab546e2d55977c75d2396c4e26eeb80e373715454bcb564736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000546524f4745000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000546524f4745000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): FROGE
Arg [1] : symbol_ (string): FROGE
Arg [2] : routeraddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [4] : 46524f4745000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 46524f4745000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3833:9798:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6023:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6914:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5026:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6300:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7108:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6209:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4385:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13104:366;;;;;;;;;;;;;:::i;:::-;;6403:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2858:148;;;;;;;;;;;;;:::i;:::-;;11722:201;;;;;;;;;;;;;:::i;:::-;;4815:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2644:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4883:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6114:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6530:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4346:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4953:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4171:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12031:781;;;;;;;;;;;;;:::i;:::-;;13478:150;;;;;;;;;;;;;:::i;:::-;;6738:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12820:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6023:83;6060:13;6093:5;6086:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6023:83;:::o;6914:186::-;7014:4;7031:39;7040:12;:10;:12::i;:::-;7054:7;7063:6;7031:8;:39::i;:::-;7088:4;7081:11;;6914:186;;;;:::o;5026:60::-;;;;:::o;6300:95::-;6353:7;4676:1;4737:2;:15;;;;:::i;:::-;4719;:33;;;;:::i;:::-;6373:14;;6300:95;:::o;7108:446::-;7240:4;7257:36;7267:6;7275:9;7286:6;7257:9;:36::i;:::-;7304:220;7327:6;7348:12;:10;:12::i;:::-;7375:138;7431:6;7375:138;;;;;;;;;;;;;;;;;:11;:19;7387:6;7375:19;;;;;;;;;;;;;;;:33;7395:12;:10;:12::i;:::-;7375:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7304:8;:220::i;:::-;7542:4;7535:11;;7108:446;;;;;:::o;6209:83::-;6250:5;4676:1;6268:16;;6209:83;:::o;4385:33::-;;;;:::o;13104:366::-;13170:10;;;;;;;;;;;13154:26;;:12;:10;:12::i;:::-;:26;;;13146:35;;;;;;13192:20;13215:24;13233:4;13215:9;:24::i;:::-;13192:47;;13269:1;13254:12;:16;13250:79;;;13287:30;13304:12;13287:16;:30::i;:::-;13250:79;13339:18;13360:21;13339:42;;13409:1;13396:10;:14;13392:71;;;13427:24;13440:10;13427:12;:24::i;:::-;13392:71;13135:335;;13104:366::o;6403:119::-;6469:7;6496:9;:18;6506:7;6496:18;;;;;;;;;;;;;;;;6489:25;;6403:119;;;:::o;2858:148::-;2781:12;:10;:12::i;:::-;2771:22;;:6;;;;;;;;;;:22;;;2763:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2965:1:::1;2928:40;;2949:6;::::0;::::1;;;;;;;;2928:40;;;;;;;;;;;;2996:1;2979:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2858:148::o:0;11722:201::-;2781:12;:10;:12::i;:::-;2771:22;;:6;;;;;;;;;;:22;;;2763:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4676:1:::1;4737:2;:15;;;;:::i;:::-;4719;:33;;;;:::i;:::-;11776:12;:22;;;;4676:1;4737:2;:15;;;;:::i;:::-;4719;:33;;;;:::i;:::-;11809:14;:24;;;;11867:5;11844:20;;:28;;;;;;;;;;;;;;;;;;11888:27;4676:1;4737:2;:15;;;;:::i;:::-;4719;:33;;;;:::i;:::-;11888:27;;;;;;:::i;:::-;;;;;;;;11722:201::o:0;4815:61::-;;;;:::o;2644:79::-;2682:7;2709:6;;;;;;;;;;;2702:13;;2644:79;:::o;4883:63::-;;;;:::o;6114:87::-;6153:13;6186:7;6179:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6114:87;:::o;6530:200::-;6641:4;6658:42;6668:12;:10;:12::i;:::-;6682:9;6693:6;6658:9;:42::i;:::-;6718:4;6711:11;;6530:200;;;;:::o;4346:32::-;;;;:::o;4953:66::-;;;;:::o;4171:40::-;;;;;;;;;;;;;:::o;12031:781::-;2781:12;:10;:12::i;:::-;2771:22;;:6;;;;;;;;;;:22;;;2763:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12093:11:::1;;;;;;;;;;;12092:12;12084:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12180:10;;;;;;;;;;;12143:15;;:48;;;;;;;;;;;;;;;;;;12202:58;12219:4;12234:15;;;;;;;;;;;4676:1;4737:2;:15;;;;:::i;:::-;4719;:33;;;;:::i;:::-;12202:8;:58::i;:::-;12305:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12287:55;;;12369:4;12393:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12287:143;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12271:13;;:159;;;;;;;;;;;;;;;;;;12441:15;;;;;;;;;;;:31;;;12480:21;12525:4;12545:24;12563:4;12545:9;:24::i;:::-;12584:1;12600::::0;12616:7:::1;:5;:7::i;:::-;12638:15;12441:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12682:13;;;;;;;;;;;12675:29;;;12713:15;;;;;;;;;;;12731:14;12675:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12771:4;12757:11;;:18;;;;;;;;;;;;;;;;;;12800:4;12786:11;;:18;;;;;;;;;;;;;;;;;;12031:781::o:0;13478:150::-;2781:12;:10;:12::i;:::-;2771:22;;:6;;;;;;;;;;:22;;;2763:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13529:18:::1;13550:21;13529:42;;13582:10;:15;;13605:10;13582:38;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13518:110;13478:150::o:0;6738:168::-;6844:7;6871:11;:18;6883:5;6871:18;;;;;;;;;;;;;;;:27;6890:7;6871:27;;;;;;;;;;;;;;;;6864:34;;6738:168;;;;:::o;12820:201::-;2781:12;:10;:12::i;:::-;2771:22;;:6;;;;;;;;;;:22;;;2763:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12905:12:::1;;12894:7;:23;;:51;;;;;12932:13;;12921:7;:24;;12894:51;12886:60;;;::::0;::::1;;12973:7;12957:13;:23;;;;13006:7;12991:12;:22;;;;12820:201:::0;:::o;171:98::-;224:7;251:10;244:17;;171:98;:::o;7562:335::-;7672:1;7655:19;;:5;:19;;;7647:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7753:1;7734:21;;:7;:21;;;7726:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7835:6;7805:11;:18;7817:5;7805:18;;;;;;;;;;;;;;;:27;7824:7;7805:27;;;;;;;;;;;;;;;:36;;;;7873:7;7857:32;;7866:5;7857:32;;;7882:6;7857:32;;;;;;:::i;:::-;;;;;;;;7562:335;;;:::o;7905:3203::-;8009:1;7993:18;;:4;:18;;;7985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8086:1;8072:16;;:2;:16;;;8064:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8156:1;8147:6;:10;8139:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8214:17;8258:7;:5;:7::i;:::-;8250:15;;:4;:15;;;;:32;;;;;8275:7;:5;:7::i;:::-;8269:13;;:2;:13;;;;8250:32;8246:2491;;;8311:208;8515:3;8311:181;8375:15;;8363:9;;:27;8362:111;;8459:14;;8362:111;;;8419:12;;8362:111;8311:6;:28;;:181;;;;:::i;:::-;:203;;:208;;;;:::i;:::-;8299:220;;8540:20;;;;;;;;;;;8536:522;;;8621:15;;;;;;;;;;;8607:30;;:2;:30;;;;:83;;;;;8676:13;;;;;;;;;;;8662:28;;:2;:28;;;;8607:83;8581:462;;;8809:12;8767:28;:39;8796:9;8767:39;;;;;;;;;;;;;;;;:54;8733:213;;;;;;;;;;;;:::i;:::-;;;;;;;;;9011:12;8969:28;:39;8998:9;8969:39;;;;;;;;;;;;;;;:54;;;;8581:462;8536:522;9104:13;;;;;;;;;;;9096:21;;:4;:21;;;:72;;;;;9152:15;;;;;;;;;;;9138:30;;:2;:30;;;;9096:72;:116;;;;;9190:18;:22;9209:2;9190:22;;;;;;;;;;;;;;;;;;;;;;;;;9189:23;9096:116;9074:438;;;9265:12;;9255:6;:22;;9247:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9382:14;;9372:6;9356:13;9366:2;9356:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9326:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9485:9;;:11;;;;;;;;;:::i;:::-;;;;;;9074:438;9538:13;;;;;;;;;;;9532:19;;:2;:19;;;:44;;;;;9571:4;9555:21;;:4;:21;;;;9532:44;9528:332;;;9609:235;9840:3;9609:204;9681:16;;9669:9;;:28;9668:122;;9775:15;;9668:122;;;9730:13;;9668:122;9609:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9597:247;;9528:332;9876:28;9907:24;9925:4;9907:9;:24::i;:::-;9876:55;;9969:6;;;;;;;;;;;9968:7;:47;;;;;10002:13;;;;;;;;;;;9996:19;;:2;:19;;;9968:47;:79;;;;;10036:11;;;;;;;;;;;9968:79;:140;;;;;10091:17;;10068:20;:40;9968:140;:191;;;;;10141:18;;10129:9;;:30;9968:191;9946:780;;;10239:23;;10224:12;:38;10194:138;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:109;10390:51;10394:6;10402:38;10406:20;10428:11;;10402:3;:38::i;:::-;10390:3;:51::i;:::-;10351:16;:109::i;:::-;10479:26;10508:21;10479:50;;10573:1;10552:18;:22;10548:106;;;10599:35;10612:21;10599:12;:35::i;:::-;10548:106;10698:12;10672:23;:38;;;;10175:551;9946:780;8284:2453;8246:2491;10765:1;10753:9;:13;10749:172;;;10810:39;10839:9;10810;:24;10828:4;10810:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10783:9;:24;10801:4;10783:24;;;;;;;;;;;;;;;:66;;;;10892:4;10869:40;;10878:4;10869:40;;;10899:9;10869:40;;;;;;:::i;:::-;;;;;;;;10749:172;10949:27;10969:6;10949:9;:15;10959:4;10949:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10931:9;:15;10941:4;10931:15;;;;;;;;;;;;;;;:45;;;;11003:40;11021:21;11032:9;11021:6;:10;;:21;;;;:::i;:::-;11003:9;:13;11013:2;11003:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10987:9;:13;10997:2;10987:13;;;;;;;;;;;;;;;:56;;;;11074:2;11059:41;;11068:4;11059:41;;;11078:21;11089:9;11078:6;:10;;:21;;;;:::i;:::-;11059:41;;;;;;:::i;:::-;;;;;;;;7974:3134;7905:3203;;;:::o;1446:224::-;1566:7;1599:1;1594;:6;;1602:12;1586:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1626:9;1642:1;1638;:5;;;;:::i;:::-;1626:17;;1661:1;1654:8;;;1446:224;;;;;:::o;11231:483::-;5446:4;5437:6;;:13;;;;;;;;;;;;;;;;;;11309:21:::1;11347:1;11333:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11309:40;;11378:4;11360;11365:1;11360:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11404:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11394:4;11399:1;11394:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11437:62;11454:4;11469:15;;;;;;;;;;;11487:11;11437:8;:62::i;:::-;11510:15;;;;;;;;;;;:66;;;11591:11;11617:1;11633:4;11660;11680:15;11510:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11298:416;5482:5:::0;5473:6;;:14;;;;;;;;;;;;;;;;;;11231:483;:::o;11931:92::-;11988:10;;;;;;;;;;;:19;;:27;12008:6;11988:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11931:92;:::o;1678:246::-;1736:7;1765:1;1760;:6;1756:47;;1790:1;1783:8;;;;1756:47;1813:9;1829:1;1825;:5;;;;:::i;:::-;1813:17;;1858:1;1853;1849;:5;;;;:::i;:::-;:10;1841:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1915:1;1908:8;;;1678:246;;;;;:::o;1932:132::-;1990:7;2017:39;2021:1;2024;2017:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2010:46;;1932:132;;;;:::o;11116:107::-;11173:7;11205:1;11201;:5;11200:15;;11214:1;11200:15;;;11210:1;11200:15;11193:22;;11116:107;;;;:::o;1115:179::-;1173:7;1193:9;1209:1;1205;:5;;;;:::i;:::-;1193:17;;1234:1;1229;:6;;1221:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1285:1;1278:8;;;1115:179;;;;:::o;1302:136::-;1360:7;1387:43;1391:1;1394;1387:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1380:50;;1302:136;;;;:::o;2072:223::-;2192:7;2224:1;2220;:5;2227:12;2212:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2251:9;2267:1;2263;:5;;;;:::i;:::-;2251:17;;2286:1;2279:8;;;2072:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:180::-;6915:77;6912:1;6905:88;7012:4;7009:1;7002:15;7036:4;7033:1;7026:15;7053:102;7095:8;7142:5;7139:1;7135:13;7114:34;;7053:102;;;:::o;7161:848::-;7222:5;7229:4;7253:6;7244:15;;7277:5;7268:14;;7291:712;7312:1;7302:8;7299:15;7291:712;;;7407:4;7402:3;7398:14;7392:4;7389:24;7386:50;;;7416:18;;:::i;:::-;7386:50;7466:1;7456:8;7452:16;7449:451;;;7881:4;7874:5;7870:16;7861:25;;7449:451;7931:4;7925;7921:15;7913:23;;7961:32;7984:8;7961:32;:::i;:::-;7949:44;;7291:712;;;7161:848;;;;;;;:::o;8015:1073::-;8069:5;8260:8;8250:40;;8281:1;8272:10;;8283:5;;8250:40;8309:4;8299:36;;8326:1;8317:10;;8328:5;;8299:36;8395:4;8443:1;8438:27;;;;8479:1;8474:191;;;;8388:277;;8438:27;8456:1;8447:10;;8458:5;;;8474:191;8519:3;8509:8;8506:17;8503:43;;;8526:18;;:::i;:::-;8503:43;8575:8;8572:1;8568:16;8559:25;;8610:3;8603:5;8600:14;8597:40;;;8617:18;;:::i;:::-;8597:40;8650:5;;;8388:277;;8774:2;8764:8;8761:16;8755:3;8749:4;8746:13;8742:36;8724:2;8714:8;8711:16;8706:2;8700:4;8697:12;8693:35;8677:111;8674:246;;;8830:8;8824:4;8820:19;8811:28;;8865:3;8858:5;8855:14;8852:40;;;8872:18;;:::i;:::-;8852:40;8905:5;;8674:246;8945:42;8983:3;8973:8;8967:4;8964:1;8945:42;:::i;:::-;8930:57;;;;9019:4;9014:3;9010:14;9003:5;9000:25;8997:51;;;9028:18;;:::i;:::-;8997:51;9077:4;9070:5;9066:16;9057:25;;8015:1073;;;;;;:::o;9094:281::-;9152:5;9176:23;9194:4;9176:23;:::i;:::-;9168:31;;9220:25;9236:8;9220:25;:::i;:::-;9208:37;;9264:104;9301:66;9291:8;9285:4;9264:104;:::i;:::-;9255:113;;9094:281;;;;:::o;9381:410::-;9421:7;9444:20;9462:1;9444:20;:::i;:::-;9439:25;;9478:20;9496:1;9478:20;:::i;:::-;9473:25;;9533:1;9530;9526:9;9555:30;9573:11;9555:30;:::i;:::-;9544:41;;9734:1;9725:7;9721:15;9718:1;9715:22;9695:1;9688:9;9668:83;9645:139;;9764:18;;:::i;:::-;9645:139;9429:362;9381:410;;;;:::o;9797:182::-;9937:34;9933:1;9925:6;9921:14;9914:58;9797:182;:::o;9985:366::-;10127:3;10148:67;10212:2;10207:3;10148:67;:::i;:::-;10141:74;;10224:93;10313:3;10224:93;:::i;:::-;10342:2;10337:3;10333:12;10326:19;;9985:366;;;:::o;10357:419::-;10523:4;10561:2;10550:9;10546:18;10538:26;;10610:9;10604:4;10600:20;10596:1;10585:9;10581:17;10574:47;10638:131;10764:4;10638:131;:::i;:::-;10630:139;;10357:419;;;:::o;10782:173::-;10922:25;10918:1;10910:6;10906:14;10899:49;10782:173;:::o;10961:366::-;11103:3;11124:67;11188:2;11183:3;11124:67;:::i;:::-;11117:74;;11200:93;11289:3;11200:93;:::i;:::-;11318:2;11313:3;11309:12;11302:19;;10961:366;;;:::o;11333:419::-;11499:4;11537:2;11526:9;11522:18;11514:26;;11586:9;11580:4;11576:20;11572:1;11561:9;11557:17;11550:47;11614:131;11740:4;11614:131;:::i;:::-;11606:139;;11333:419;;;:::o;11758:143::-;11815:5;11846:6;11840:13;11831:22;;11862:33;11889:5;11862:33;:::i;:::-;11758:143;;;;:::o;11907:351::-;11977:6;12026:2;12014:9;12005:7;12001:23;11997:32;11994:119;;;12032:79;;:::i;:::-;11994:119;12152:1;12177:64;12233:7;12224:6;12213:9;12209:22;12177:64;:::i;:::-;12167:74;;12123:128;11907:351;;;;:::o;12264:332::-;12385:4;12423:2;12412:9;12408:18;12400:26;;12436:71;12504:1;12493:9;12489:17;12480:6;12436:71;:::i;:::-;12517:72;12585:2;12574:9;12570:18;12561:6;12517:72;:::i;:::-;12264:332;;;;;:::o;12602:85::-;12647:7;12676:5;12665:16;;12602:85;;;:::o;12693:60::-;12721:3;12742:5;12735:12;;12693:60;;;:::o;12759:158::-;12817:9;12850:61;12868:42;12877:32;12903:5;12877:32;:::i;:::-;12868:42;:::i;:::-;12850:61;:::i;:::-;12837:74;;12759:158;;;:::o;12923:147::-;13018:45;13057:5;13018:45;:::i;:::-;13013:3;13006:58;12923:147;;:::o;13076:807::-;13325:4;13363:3;13352:9;13348:19;13340:27;;13377:71;13445:1;13434:9;13430:17;13421:6;13377:71;:::i;:::-;13458:72;13526:2;13515:9;13511:18;13502:6;13458:72;:::i;:::-;13540:80;13616:2;13605:9;13601:18;13592:6;13540:80;:::i;:::-;13630;13706:2;13695:9;13691:18;13682:6;13630:80;:::i;:::-;13720:73;13788:3;13777:9;13773:19;13764:6;13720:73;:::i;:::-;13803;13871:3;13860:9;13856:19;13847:6;13803:73;:::i;:::-;13076:807;;;;;;;;;:::o;13889:143::-;13946:5;13977:6;13971:13;13962:22;;13993:33;14020:5;13993:33;:::i;:::-;13889:143;;;;:::o;14038:663::-;14126:6;14134;14142;14191:2;14179:9;14170:7;14166:23;14162:32;14159:119;;;14197:79;;:::i;:::-;14159:119;14317:1;14342:64;14398:7;14389:6;14378:9;14374:22;14342:64;:::i;:::-;14332:74;;14288:128;14455:2;14481:64;14537:7;14528:6;14517:9;14513:22;14481:64;:::i;:::-;14471:74;;14426:129;14594:2;14620:64;14676:7;14667:6;14656:9;14652:22;14620:64;:::i;:::-;14610:74;;14565:129;14038:663;;;;;:::o;14707:332::-;14828:4;14866:2;14855:9;14851:18;14843:26;;14879:71;14947:1;14936:9;14932:17;14923:6;14879:71;:::i;:::-;14960:72;15028:2;15017:9;15013:18;15004:6;14960:72;:::i;:::-;14707:332;;;;;:::o;15045:116::-;15115:21;15130:5;15115:21;:::i;:::-;15108:5;15105:32;15095:60;;15151:1;15148;15141:12;15095:60;15045:116;:::o;15167:137::-;15221:5;15252:6;15246:13;15237:22;;15268:30;15292:5;15268:30;:::i;:::-;15167:137;;;;:::o;15310:345::-;15377:6;15426:2;15414:9;15405:7;15401:23;15397:32;15394:119;;;15432:79;;:::i;:::-;15394:119;15552:1;15577:61;15630:7;15621:6;15610:9;15606:22;15577:61;:::i;:::-;15567:71;;15523:125;15310:345;;;;:::o;15661:147::-;15762:11;15799:3;15784:18;;15661:147;;;;:::o;15814:114::-;;:::o;15934:398::-;16093:3;16114:83;16195:1;16190:3;16114:83;:::i;:::-;16107:90;;16206:93;16295:3;16206:93;:::i;:::-;16324:1;16319:3;16315:11;16308:18;;15934:398;;;:::o;16338:379::-;16522:3;16544:147;16687:3;16544:147;:::i;:::-;16537:154;;16708:3;16701:10;;16338:379;;;:::o;16723:223::-;16863:34;16859:1;16851:6;16847:14;16840:58;16932:6;16927:2;16919:6;16915:15;16908:31;16723:223;:::o;16952:366::-;17094:3;17115:67;17179:2;17174:3;17115:67;:::i;:::-;17108:74;;17191:93;17280:3;17191:93;:::i;:::-;17309:2;17304:3;17300:12;17293:19;;16952:366;;;:::o;17324:419::-;17490:4;17528:2;17517:9;17513:18;17505:26;;17577:9;17571:4;17567:20;17563:1;17552:9;17548:17;17541:47;17605:131;17731:4;17605:131;:::i;:::-;17597:139;;17324:419;;;:::o;17749:221::-;17889:34;17885:1;17877:6;17873:14;17866:58;17958:4;17953:2;17945:6;17941:15;17934:29;17749:221;:::o;17976:366::-;18118:3;18139:67;18203:2;18198:3;18139:67;:::i;:::-;18132:74;;18215:93;18304:3;18215:93;:::i;:::-;18333:2;18328:3;18324:12;18317:19;;17976:366;;;:::o;18348:419::-;18514:4;18552:2;18541:9;18537:18;18529:26;;18601:9;18595:4;18591:20;18587:1;18576:9;18572:17;18565:47;18629:131;18755:4;18629:131;:::i;:::-;18621:139;;18348:419;;;:::o;18773:224::-;18913:34;18909:1;18901:6;18897:14;18890:58;18982:7;18977:2;18969:6;18965:15;18958:32;18773:224;:::o;19003:366::-;19145:3;19166:67;19230:2;19225:3;19166:67;:::i;:::-;19159:74;;19242:93;19331:3;19242:93;:::i;:::-;19360:2;19355:3;19351:12;19344:19;;19003:366;;;:::o;19375:419::-;19541:4;19579:2;19568:9;19564:18;19556:26;;19628:9;19622:4;19618:20;19614:1;19603:9;19599:17;19592:47;19656:131;19782:4;19656:131;:::i;:::-;19648:139;;19375:419;;;:::o;19800:222::-;19940:34;19936:1;19928:6;19924:14;19917:58;20009:5;20004:2;19996:6;19992:15;19985:30;19800:222;:::o;20028:366::-;20170:3;20191:67;20255:2;20250:3;20191:67;:::i;:::-;20184:74;;20267:93;20356:3;20267:93;:::i;:::-;20385:2;20380:3;20376:12;20369:19;;20028:366;;;:::o;20400:419::-;20566:4;20604:2;20593:9;20589:18;20581:26;;20653:9;20647:4;20643:20;20639:1;20628:9;20624:17;20617:47;20681:131;20807:4;20681:131;:::i;:::-;20673:139;;20400:419;;;:::o;20825:228::-;20965:34;20961:1;20953:6;20949:14;20942:58;21034:11;21029:2;21021:6;21017:15;21010:36;20825:228;:::o;21059:366::-;21201:3;21222:67;21286:2;21281:3;21222:67;:::i;:::-;21215:74;;21298:93;21387:3;21298:93;:::i;:::-;21416:2;21411:3;21407:12;21400:19;;21059:366;;;:::o;21431:419::-;21597:4;21635:2;21624:9;21620:18;21612:26;;21684:9;21678:4;21674:20;21670:1;21659:9;21655:17;21648:47;21712:131;21838:4;21712:131;:::i;:::-;21704:139;;21431:419;;;:::o;21856:297::-;21996:34;21992:1;21984:6;21980:14;21973:58;22065:34;22060:2;22052:6;22048:15;22041:59;22134:11;22129:2;22121:6;22117:15;22110:36;21856:297;:::o;22159:366::-;22301:3;22322:67;22386:2;22381:3;22322:67;:::i;:::-;22315:74;;22398:93;22487:3;22398:93;:::i;:::-;22516:2;22511:3;22507:12;22500:19;;22159:366;;;:::o;22531:419::-;22697:4;22735:2;22724:9;22720:18;22712:26;;22784:9;22778:4;22774:20;22770:1;22759:9;22755:17;22748:47;22812:131;22938:4;22812:131;:::i;:::-;22804:139;;22531:419;;;:::o;22956:175::-;23096:27;23092:1;23084:6;23080:14;23073:51;22956:175;:::o;23137:366::-;23279:3;23300:67;23364:2;23359:3;23300:67;:::i;:::-;23293:74;;23376:93;23465:3;23376:93;:::i;:::-;23494:2;23489:3;23485:12;23478:19;;23137:366;;;:::o;23509:419::-;23675:4;23713:2;23702:9;23698:18;23690:26;;23762:9;23756:4;23752:20;23748:1;23737:9;23733:17;23726:47;23790:131;23916:4;23790:131;:::i;:::-;23782:139;;23509:419;;;:::o;23934:191::-;23974:3;23993:20;24011:1;23993:20;:::i;:::-;23988:25;;24027:20;24045:1;24027:20;:::i;:::-;24022:25;;24070:1;24067;24063:9;24056:16;;24091:3;24088:1;24085:10;24082:36;;;24098:18;;:::i;:::-;24082:36;23934:191;;;;:::o;24131:176::-;24271:28;24267:1;24259:6;24255:14;24248:52;24131:176;:::o;24313:366::-;24455:3;24476:67;24540:2;24535:3;24476:67;:::i;:::-;24469:74;;24552:93;24641:3;24552:93;:::i;:::-;24670:2;24665:3;24661:12;24654:19;;24313:366;;;:::o;24685:419::-;24851:4;24889:2;24878:9;24874:18;24866:26;;24938:9;24932:4;24928:20;24924:1;24913:9;24909:17;24902:47;24966:131;25092:4;24966:131;:::i;:::-;24958:139;;24685:419;;;:::o;25110:233::-;25149:3;25172:24;25190:5;25172:24;:::i;:::-;25163:33;;25218:66;25211:5;25208:77;25205:103;;25288:18;;:::i;:::-;25205:103;25335:1;25328:5;25324:13;25317:20;;25110:233;;;:::o;25349:194::-;25389:4;25409:20;25427:1;25409:20;:::i;:::-;25404:25;;25443:20;25461:1;25443:20;:::i;:::-;25438:25;;25487:1;25484;25480:9;25472:17;;25511:1;25505:4;25502:11;25499:37;;;25516:18;;:::i;:::-;25499:37;25349:194;;;;:::o;25549:180::-;25597:77;25594:1;25587:88;25694:4;25691:1;25684:15;25718:4;25715:1;25708:15;25735:180;25783:77;25780:1;25773:88;25880:4;25877:1;25870:15;25904:4;25901:1;25894:15;25921:114;25988:6;26022:5;26016:12;26006:22;;25921:114;;;:::o;26041:184::-;26140:11;26174:6;26169:3;26162:19;26214:4;26209:3;26205:14;26190:29;;26041:184;;;;:::o;26231:132::-;26298:4;26321:3;26313:11;;26351:4;26346:3;26342:14;26334:22;;26231:132;;;:::o;26369:108::-;26446:24;26464:5;26446:24;:::i;:::-;26441:3;26434:37;26369:108;;:::o;26483:179::-;26552:10;26573:46;26615:3;26607:6;26573:46;:::i;:::-;26651:4;26646:3;26642:14;26628:28;;26483:179;;;;:::o;26668:113::-;26738:4;26770;26765:3;26761:14;26753:22;;26668:113;;;:::o;26817:732::-;26936:3;26965:54;27013:5;26965:54;:::i;:::-;27035:86;27114:6;27109:3;27035:86;:::i;:::-;27028:93;;27145:56;27195:5;27145:56;:::i;:::-;27224:7;27255:1;27240:284;27265:6;27262:1;27259:13;27240:284;;;27341:6;27335:13;27368:63;27427:3;27412:13;27368:63;:::i;:::-;27361:70;;27454:60;27507:6;27454:60;:::i;:::-;27444:70;;27300:224;27287:1;27284;27280:9;27275:14;;27240:284;;;27244:14;27540:3;27533:10;;26941:608;;;26817:732;;;;:::o;27555:831::-;27818:4;27856:3;27845:9;27841:19;27833:27;;27870:71;27938:1;27927:9;27923:17;27914:6;27870:71;:::i;:::-;27951:80;28027:2;28016:9;28012:18;28003:6;27951:80;:::i;:::-;28078:9;28072:4;28068:20;28063:2;28052:9;28048:18;28041:48;28106:108;28209:4;28200:6;28106:108;:::i;:::-;28098:116;;28224:72;28292:2;28281:9;28277:18;28268:6;28224:72;:::i;:::-;28306:73;28374:3;28363:9;28359:19;28350:6;28306:73;:::i;:::-;27555:831;;;;;;;;:::o;28392:180::-;28440:77;28437:1;28430:88;28537:4;28534:1;28527:15;28561:4;28558:1;28551:15;28578:185;28618:1;28635:20;28653:1;28635:20;:::i;:::-;28630:25;;28669:20;28687:1;28669:20;:::i;:::-;28664:25;;28708:1;28698:35;;28713:18;;:::i;:::-;28698:35;28755:1;28752;28748:9;28743:14;;28578:185;;;;:::o;28769:220::-;28909:34;28905:1;28897:6;28893:14;28886:58;28978:3;28973:2;28965:6;28961:15;28954:28;28769:220;:::o;28995:366::-;29137:3;29158:67;29222:2;29217:3;29158:67;:::i;:::-;29151:74;;29234:93;29323:3;29234:93;:::i;:::-;29352:2;29347:3;29343:12;29336:19;;28995:366;;;:::o;29367:419::-;29533:4;29571:2;29560:9;29556:18;29548:26;;29620:9;29614:4;29610:20;29606:1;29595:9;29591:17;29584:47;29648:131;29774:4;29648:131;:::i;:::-;29640:139;;29367:419;;;:::o;29792:177::-;29932:29;29928:1;29920:6;29916:14;29909:53;29792:177;:::o;29975:366::-;30117:3;30138:67;30202:2;30197:3;30138:67;:::i;:::-;30131:74;;30214:93;30303:3;30214:93;:::i;:::-;30332:2;30327:3;30323:12;30316:19;;29975:366;;;:::o;30347:419::-;30513:4;30551:2;30540:9;30536:18;30528:26;;30600:9;30594:4;30590:20;30586:1;30575:9;30571:17;30564:47;30628:131;30754:4;30628:131;:::i;:::-;30620:139;;30347:419;;;:::o

Swarm Source

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