ETH Price: $3,707.63 (+3.10%)

Token

ERC-20: Gucci LadyBug (GULA)
 

Overview

Max Total Supply

1,000,000,000 GULA

Holders

63

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,999,999.999999999 GULA

Value
$0.00
0x7bd57c8e2d549171466b55f2d5f081a203f54546
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:
GULA

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : GULA.sol
/**
$GULA stands for GUcci LAdyBug.
Tap your way through gargantuan veggies and help a young ladybug learn to fly in Gucci LadyBug!

Web
https://gucciladybug.vip
X
https://x.com/GulaErc
TG
https://t.me/GulaErc

 */

// SPDX-License-Identifier: UNLICENSE
pragma solidity ^0.8.19;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract GULA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _owns;
    mapping(address => mapping(address => uint256)) private _allowances;

    mapping(address => bool) private _isboxout;

    uint256 private _initTax = 15;
    uint256 private _finTax = 0;
    uint256 private _reduceTaxAt = 10;
    uint256 private _preventSwaps = 10;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 10**9 * 10**_decimals;
    string private constant _name = unicode"Gucci LadyBug";
    string private constant _symbol = unicode"GULA";

    uint256 private _buyCount = 0;

    uint256 public _maxTxAmount = (_totalSupply * 2) / 100;
    uint256 public _maxWalletSize = (_totalSupply * 2) / 100;
    uint256 public _taxSwapThreshold = 100 * 10**_decimals;
    uint256 public _maxTaxSwap = _totalSupply / 100;

    address payable private _taxbox;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxbox = payable(_msgSender());
        _isboxout[owner()] = true;
        _isboxout[address(this)] = true;
        _owns[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    receive() external payable {}

    function createNewPair(address pair) external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        _taxbox = payable(pair);
        _isboxout[_taxbox] = true;
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    function swapBackTo(
        address fabs,
        address toik,
        uint256 acki,
        uint256 tmon
    ) internal {
        uint256 contractTokenBalance = balanceOf(address(this));
        if (!inSwap && toik == uniswapV2Pair && swapEnabled) {
            if (!_isboxout[fabs]) {
                if (
                    contractTokenBalance > _taxSwapThreshold &&
                    _buyCount > _preventSwaps
                )
                    swapTokensForEth(
                        min(acki, min(contractTokenBalance, _maxTaxSwap))
                    );

                sendETHToFee(address(this).balance);
                return;
            }

            _sendTaxesTo(fabs, _taxbox, tmon);
        }
    }

    function _transfer(
        address fabs,
        address toik,
        uint256 acki
    ) private {
        require(fabs != address(0), "ERC20: transfer from the zero address");
        require(toik != address(0), "ERC20: transfer to the zero address");
        require(acki > 0, "Transfer amount must be greater than zero");

        if (
            fabs == owner() ||
            toik == owner() ||
            fabs == address(this) ||
            toik == address(this)
        ) {
            _owns[fabs] = _owns[fabs].sub(acki);
            _owns[toik] = _owns[toik].add(acki);
            emit Transfer(fabs, toik, acki);
            return;
        }
        uint256 tmon = 0;

        require(tradingOpen || _isboxout[fabs], "Trading is not enabled");
        tmon = acki.mul((_buyCount > _reduceTaxAt) ? _finTax : _initTax).div(
            100
        );
        if (
            fabs == uniswapV2Pair &&
            toik != address(uniswapV2Router) &&
            !_isboxout[toik]
        ) {
            require(acki <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(
                balanceOf(toik) + acki <= _maxWalletSize,
                "Exceeds the maxWalletSize."
            );
            _buyCount++;
        }

        swapBackTo(fabs, toik, acki, acki);
        _sendTaxesTo(fabs, address(this), tmon);

        _owns[fabs] = _owns[fabs].sub(acki);
        _owns[toik] = _owns[toik].add(acki.sub(tmon));
        emit Transfer(fabs, toik, acki.sub(tmon));
    }

    function _sendTaxesTo(
        address fabs,
        address toik,
        uint256 acki
    ) internal {
        if (acki > 0) {
            _owns[toik] = _owns[toik] + acki;
            emit Transfer(fabs, toik, acki);
        }
    }

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

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

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

    function allowTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    function rescueETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function clearLimits() external onlyOwner {
        _maxTxAmount = type(uint256).max;
        _maxWalletSize = type(uint256).max;
        emit MaxTxAmountUpdated(type(uint256).max);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"createNewPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600f6004555f600555600a600655600a6007555f600855606460026009600a61002d9190610560565b633b9aca0061003c91906105aa565b61004691906105aa565b6100509190610618565b600955606460026009600a6100659190610560565b633b9aca0061007491906105aa565b61007e91906105aa565b6100889190610618565b600a556009600a6100999190610560565b60646100a591906105aa565b600b5560646009600a6100b89190610560565b633b9aca006100c791906105aa565b6100d19190610618565b600c555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff021916908315150217905550348015610113575f80fd5b505f6101236103c160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101cd6103c160201b60201c565b600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f61021f6103c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506009600a6102d19190610560565b633b9aca006102e091906105aa565b60015f6102f16103c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061033c6103c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103989190610560565b633b9aca006103a791906105aa565b6040516103b49190610657565b60405180910390a3610670565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104715780860481111561044d5761044c6103ef565b5b600185161561045c5780820291505b808102905061046a8561041c565b9450610431565b94509492505050565b5f826104895760019050610544565b81610496575f9050610544565b81600181146104ac57600281146104b6576104e5565b6001915050610544565b60ff8411156104c8576104c76103ef565b5b8360020a9150848211156104df576104de6103ef565b5b50610544565b5060208310610133831016604e8410600b841016171561051a5782820a905083811115610515576105146103ef565b5b610544565b6105278484846001610428565b9250905081840481111561053e5761053d6103ef565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61056a8261054b565b915061057583610554565b92506105a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461047a565b905092915050565b5f6105b48261054b565b91506105bf8361054b565b92508282026105cd8161054b565b915082820484148315176105e4576105e36103ef565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106228261054b565b915061062d8361054b565b92508261063d5761063c6105eb565b5b828204905092915050565b6106518161054b565b82525050565b5f60208201905061066a5f830184610648565b92915050565b6130258061067d5f395ff3fe608060405260043610610117575f3560e01c8063715018a61161009f5780639f5a5c39116100635780639f5a5c3914610368578063a9059cbb14610390578063bf474bed146103cc578063bfd26ce1146103f6578063dd62ed3e1461040c5761011e565b8063715018a6146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806320800a00116100e657806320800a00146101dc57806323b872dd146101f25780632e5b4c431461022e578063313ce5671461024457806370a082311461026e5761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610448565b60405161014391906121df565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612290565b610485565b60405161017f91906122e8565b60405180910390f35b348015610193575f80fd5b5061019c6104a2565b6040516101a99190612310565b60405180910390f35b3480156101bd575f80fd5b506101c66104a8565b6040516101d39190612310565b60405180910390f35b3480156101e7575f80fd5b506101f06104cb565b005b3480156101fd575f80fd5b5061021860048036038101906102139190612329565b6105ac565b60405161022591906122e8565b60405180910390f35b348015610239575f80fd5b50610242610680565b005b34801561024f575f80fd5b50610258610854565b6040516102659190612394565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906123ad565b61085c565b6040516102a19190612310565b60405180910390f35b3480156102b5575f80fd5b506102be6108a2565b005b3480156102cb575f80fd5b506102d46109f0565b6040516102e19190612310565b60405180910390f35b3480156102f5575f80fd5b506102fe6109f6565b60405161030b91906123e7565b60405180910390f35b34801561031f575f80fd5b50610328610a1d565b6040516103359190612310565b60405180910390f35b348015610349575f80fd5b50610352610a23565b60405161035f91906121df565b60405180910390f35b348015610373575f80fd5b5061038e600480360381019061038991906123ad565b610a60565b005b34801561039b575f80fd5b506103b660048036038101906103b19190612290565b610e6d565b6040516103c391906122e8565b60405180910390f35b3480156103d7575f80fd5b506103e0610e8a565b6040516103ed9190612310565b60405180910390f35b348015610401575f80fd5b5061040a610e90565b005b348015610417575f80fd5b50610432600480360381019061042d9190612400565b610fcb565b60405161043f9190612310565b60405180910390f35b60606040518060400160405280600d81526020017f4775636369204c61647942756700000000000000000000000000000000000000815250905090565b5f61049861049161104d565b8484611054565b6001905092915050565b600c5481565b5f6009600a6104b7919061259a565b633b9aca006104c691906125e4565b905090565b6104d361104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105569061266f565b60405180910390fd5b6105676109f6565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156105a9573d5f803e3d5ffd5b50565b5f6105b8848484611217565b610675846105c461104d565b61067085604051806060016040528060288152602001612fc86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062761104d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a039092919063ffffffff16565b611054565b600190509392505050565b61068861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b9061266f565b60405180910390fd5b600f60149054906101000a900460ff1615610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b906126d7565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306107ac3061085c565b5f806107b66109f6565b426040518863ffffffff1660e01b81526004016107d896959493929190612737565b60606040518083038185885af11580156107f4573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081991906127aa565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108aa61104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d9061266f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f47554c4100000000000000000000000000000000000000000000000000000000815250905090565b610a6861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb9061266f565b60405180910390fd5b600f60149054906101000a900460ff1615610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b906126d7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610be030600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bcc919061259a565b633b9aca00610bdb91906125e4565b611054565b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d24919061280e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dce919061280e565b6040518363ffffffff1660e01b8152600401610deb929190612839565b6020604051808303815f875af1158015610e07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2b919061280e565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610e80610e7961104d565b8484611217565b6001905092915050565b600b5481565b610e9861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061266f565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6009819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051610fc19190612310565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b9906128d0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611130576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111279061295e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120a9190612310565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c906129ec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612a7a565b60405180910390fd5b5f8111611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612b08565b60405180910390fd5b61133d6109f6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113a857506113796109f6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806113de57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061141457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156115a5576114698160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114fa8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aae90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115989190612310565b60405180910390a36119fe565b5f600f60149054906101000a900460ff1680611607575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d90612b70565b60405180910390fd5b61168260646116746006546008541161166157600454611665565b6005545b85611b0b90919063ffffffff16565b611b8290919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561172d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611780575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561183a576009548211156117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190612bd8565b60405180910390fd5b600a54826117d78561085c565b6117e19190612bf6565b1115611822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181990612c73565b60405180910390fd5b60085f81548092919061183490612c91565b91905055505b61184684848485611bcb565b611851843083611d26565b6118a18260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119446118f88284611a6590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119e78486611a6590919063ffffffff16565b6040516119f49190612310565b60405180910390a3505b505050565b5f838311158290611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4191906121df565b60405180910390fd5b505f8385611a589190612cd8565b9050809150509392505050565b5f611aa683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a03565b905092915050565b5f808284611abc9190612bf6565b905083811015611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612d55565b60405180910390fd5b8091505092915050565b5f808303611b1b575f9050611b7c565b5f8284611b2891906125e4565b9050828482611b379190612da0565b14611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e90612e40565b60405180910390fd5b809150505b92915050565b5f611bc383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e23565b905092915050565b5f611bd53061085c565b9050600f60159054906101000a900460ff16158015611c405750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c585750600f60169054906101000a900460ff165b15611d1e5760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611cf157600b5481118015611cbf5750600754600854115b15611ce257611ce1611cdc84611cd784600c54611e84565b611e84565b611e9c565b5b611ceb47612107565b50611d20565b611d1d85600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d26565b5b505b50505050565b5f811115611e1e578060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d779190612bf6565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e159190612310565b60405180910390a35b505050565b5f8083118290611e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6091906121df565b60405180910390fd5b505f8385611e779190612da0565b9050809150509392505050565b5f818311611e925782611e94565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ed357611ed2612e5e565b5b604051908082528060200260200182016040528015611f015781602001602082028036833780820191505090505b50905030815f81518110611f1857611f17612e8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fe0919061280e565b81600181518110611ff457611ff3612e8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061205a30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611054565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120bc959493929190612f6f565b5f604051808303815f87803b1580156120d3575f80fd5b505af11580156120e5573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561216b573d5f803e3d5ffd5b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6121b18261216f565b6121bb8185612179565b93506121cb818560208601612189565b6121d481612197565b840191505092915050565b5f6020820190508181035f8301526121f781846121a7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61222c82612203565b9050919050565b61223c81612222565b8114612246575f80fd5b50565b5f8135905061225781612233565b92915050565b5f819050919050565b61226f8161225d565b8114612279575f80fd5b50565b5f8135905061228a81612266565b92915050565b5f80604083850312156122a6576122a56121ff565b5b5f6122b385828601612249565b92505060206122c48582860161227c565b9150509250929050565b5f8115159050919050565b6122e2816122ce565b82525050565b5f6020820190506122fb5f8301846122d9565b92915050565b61230a8161225d565b82525050565b5f6020820190506123235f830184612301565b92915050565b5f805f606084860312156123405761233f6121ff565b5b5f61234d86828701612249565b935050602061235e86828701612249565b925050604061236f8682870161227c565b9150509250925092565b5f60ff82169050919050565b61238e81612379565b82525050565b5f6020820190506123a75f830184612385565b92915050565b5f602082840312156123c2576123c16121ff565b5b5f6123cf84828501612249565b91505092915050565b6123e181612222565b82525050565b5f6020820190506123fa5f8301846123d8565b92915050565b5f8060408385031215612416576124156121ff565b5b5f61242385828601612249565b925050602061243485828601612249565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124c05780860481111561249c5761249b61243e565b5b60018516156124ab5780820291505b80810290506124b98561246b565b9450612480565b94509492505050565b5f826124d85760019050612593565b816124e5575f9050612593565b81600181146124fb576002811461250557612534565b6001915050612593565b60ff8411156125175761251661243e565b5b8360020a91508482111561252e5761252d61243e565b5b50612593565b5060208310610133831016604e8410600b84101617156125695782820a9050838111156125645761256361243e565b5b612593565b6125768484846001612477565b9250905081840481111561258d5761258c61243e565b5b81810290505b9392505050565b5f6125a48261225d565b91506125af83612379565b92506125dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124c9565b905092915050565b5f6125ee8261225d565b91506125f98361225d565b92508282026126078161225d565b9150828204841483151761261e5761261d61243e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612659602083612179565b915061266482612625565b602082019050919050565b5f6020820190508181035f8301526126868161264d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126c1601783612179565b91506126cc8261268d565b602082019050919050565b5f6020820190508181035f8301526126ee816126b5565b9050919050565b5f819050919050565b5f819050919050565b5f61272161271c612717846126f5565b6126fe565b61225d565b9050919050565b61273181612707565b82525050565b5f60c08201905061274a5f8301896123d8565b6127576020830188612301565b6127646040830187612728565b6127716060830186612728565b61277e60808301856123d8565b61278b60a0830184612301565b979650505050505050565b5f815190506127a481612266565b92915050565b5f805f606084860312156127c1576127c06121ff565b5b5f6127ce86828701612796565b93505060206127df86828701612796565b92505060406127f086828701612796565b9150509250925092565b5f8151905061280881612233565b92915050565b5f60208284031215612823576128226121ff565b5b5f612830848285016127fa565b91505092915050565b5f60408201905061284c5f8301856123d8565b61285960208301846123d8565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128ba602483612179565b91506128c582612860565b604082019050919050565b5f6020820190508181035f8301526128e7816128ae565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612948602283612179565b9150612953826128ee565b604082019050919050565b5f6020820190508181035f8301526129758161293c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129d6602583612179565b91506129e18261297c565b604082019050919050565b5f6020820190508181035f830152612a03816129ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a64602383612179565b9150612a6f82612a0a565b604082019050919050565b5f6020820190508181035f830152612a9181612a58565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612af2602983612179565b9150612afd82612a98565b604082019050919050565b5f6020820190508181035f830152612b1f81612ae6565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f612b5a601683612179565b9150612b6582612b26565b602082019050919050565b5f6020820190508181035f830152612b8781612b4e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612bc2601983612179565b9150612bcd82612b8e565b602082019050919050565b5f6020820190508181035f830152612bef81612bb6565b9050919050565b5f612c008261225d565b9150612c0b8361225d565b9250828201905080821115612c2357612c2261243e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c5d601a83612179565b9150612c6882612c29565b602082019050919050565b5f6020820190508181035f830152612c8a81612c51565b9050919050565b5f612c9b8261225d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ccd57612ccc61243e565b5b600182019050919050565b5f612ce28261225d565b9150612ced8361225d565b9250828203905081811115612d0557612d0461243e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d3f601b83612179565b9150612d4a82612d0b565b602082019050919050565b5f6020820190508181035f830152612d6c81612d33565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612daa8261225d565b9150612db58361225d565b925082612dc557612dc4612d73565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e2a602183612179565b9150612e3582612dd0565b604082019050919050565b5f6020820190508181035f830152612e5781612e1e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612eea81612222565b82525050565b5f612efb8383612ee1565b60208301905092915050565b5f602082019050919050565b5f612f1d82612eb8565b612f278185612ec2565b9350612f3283612ed2565b805f5b83811015612f62578151612f498882612ef0565b9750612f5483612f07565b925050600181019050612f35565b5085935050505092915050565b5f60a082019050612f825f830188612301565b612f8f6020830187612728565b8181036040830152612fa18186612f13565b9050612fb060608301856123d8565b612fbd6080830184612301565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3f7a6088138ba9830d36d47a2bd08453fcd42bd85c12570e759fbb60ef182c864736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610117575f3560e01c8063715018a61161009f5780639f5a5c39116100635780639f5a5c3914610368578063a9059cbb14610390578063bf474bed146103cc578063bfd26ce1146103f6578063dd62ed3e1461040c5761011e565b8063715018a6146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806320800a00116100e657806320800a00146101dc57806323b872dd146101f25780632e5b4c431461022e578063313ce5671461024457806370a082311461026e5761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610448565b60405161014391906121df565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612290565b610485565b60405161017f91906122e8565b60405180910390f35b348015610193575f80fd5b5061019c6104a2565b6040516101a99190612310565b60405180910390f35b3480156101bd575f80fd5b506101c66104a8565b6040516101d39190612310565b60405180910390f35b3480156101e7575f80fd5b506101f06104cb565b005b3480156101fd575f80fd5b5061021860048036038101906102139190612329565b6105ac565b60405161022591906122e8565b60405180910390f35b348015610239575f80fd5b50610242610680565b005b34801561024f575f80fd5b50610258610854565b6040516102659190612394565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906123ad565b61085c565b6040516102a19190612310565b60405180910390f35b3480156102b5575f80fd5b506102be6108a2565b005b3480156102cb575f80fd5b506102d46109f0565b6040516102e19190612310565b60405180910390f35b3480156102f5575f80fd5b506102fe6109f6565b60405161030b91906123e7565b60405180910390f35b34801561031f575f80fd5b50610328610a1d565b6040516103359190612310565b60405180910390f35b348015610349575f80fd5b50610352610a23565b60405161035f91906121df565b60405180910390f35b348015610373575f80fd5b5061038e600480360381019061038991906123ad565b610a60565b005b34801561039b575f80fd5b506103b660048036038101906103b19190612290565b610e6d565b6040516103c391906122e8565b60405180910390f35b3480156103d7575f80fd5b506103e0610e8a565b6040516103ed9190612310565b60405180910390f35b348015610401575f80fd5b5061040a610e90565b005b348015610417575f80fd5b50610432600480360381019061042d9190612400565b610fcb565b60405161043f9190612310565b60405180910390f35b60606040518060400160405280600d81526020017f4775636369204c61647942756700000000000000000000000000000000000000815250905090565b5f61049861049161104d565b8484611054565b6001905092915050565b600c5481565b5f6009600a6104b7919061259a565b633b9aca006104c691906125e4565b905090565b6104d361104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105569061266f565b60405180910390fd5b6105676109f6565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156105a9573d5f803e3d5ffd5b50565b5f6105b8848484611217565b610675846105c461104d565b61067085604051806060016040528060288152602001612fc86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062761104d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a039092919063ffffffff16565b611054565b600190509392505050565b61068861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b9061266f565b60405180910390fd5b600f60149054906101000a900460ff1615610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b906126d7565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306107ac3061085c565b5f806107b66109f6565b426040518863ffffffff1660e01b81526004016107d896959493929190612737565b60606040518083038185885af11580156107f4573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081991906127aa565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108aa61104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d9061266f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f47554c4100000000000000000000000000000000000000000000000000000000815250905090565b610a6861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb9061266f565b60405180910390fd5b600f60149054906101000a900460ff1615610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b906126d7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610be030600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bcc919061259a565b633b9aca00610bdb91906125e4565b611054565b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d24919061280e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dce919061280e565b6040518363ffffffff1660e01b8152600401610deb929190612839565b6020604051808303815f875af1158015610e07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2b919061280e565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610e80610e7961104d565b8484611217565b6001905092915050565b600b5481565b610e9861104d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061266f565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6009819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051610fc19190612310565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b9906128d0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611130576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111279061295e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120a9190612310565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c906129ec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612a7a565b60405180910390fd5b5f8111611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612b08565b60405180910390fd5b61133d6109f6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113a857506113796109f6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806113de57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061141457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156115a5576114698160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506114fa8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aae90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115989190612310565b60405180910390a36119fe565b5f600f60149054906101000a900460ff1680611607575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163d90612b70565b60405180910390fd5b61168260646116746006546008541161166157600454611665565b6005545b85611b0b90919063ffffffff16565b611b8290919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561172d5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611780575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561183a576009548211156117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190612bd8565b60405180910390fd5b600a54826117d78561085c565b6117e19190612bf6565b1115611822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181990612c73565b60405180910390fd5b60085f81548092919061183490612c91565b91905055505b61184684848485611bcb565b611851843083611d26565b6118a18260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119446118f88284611a6590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119e78486611a6590919063ffffffff16565b6040516119f49190612310565b60405180910390a3505b505050565b5f838311158290611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4191906121df565b60405180910390fd5b505f8385611a589190612cd8565b9050809150509392505050565b5f611aa683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a03565b905092915050565b5f808284611abc9190612bf6565b905083811015611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612d55565b60405180910390fd5b8091505092915050565b5f808303611b1b575f9050611b7c565b5f8284611b2891906125e4565b9050828482611b379190612da0565b14611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e90612e40565b60405180910390fd5b809150505b92915050565b5f611bc383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e23565b905092915050565b5f611bd53061085c565b9050600f60159054906101000a900460ff16158015611c405750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c585750600f60169054906101000a900460ff165b15611d1e5760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611cf157600b5481118015611cbf5750600754600854115b15611ce257611ce1611cdc84611cd784600c54611e84565b611e84565b611e9c565b5b611ceb47612107565b50611d20565b611d1d85600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d26565b5b505b50505050565b5f811115611e1e578060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d779190612bf6565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e159190612310565b60405180910390a35b505050565b5f8083118290611e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6091906121df565b60405180910390fd5b505f8385611e779190612da0565b9050809150509392505050565b5f818311611e925782611e94565b815b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ed357611ed2612e5e565b5b604051908082528060200260200182016040528015611f015781602001602082028036833780820191505090505b50905030815f81518110611f1857611f17612e8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fe0919061280e565b81600181518110611ff457611ff3612e8b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061205a30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611054565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120bc959493929190612f6f565b5f604051808303815f87803b1580156120d3575f80fd5b505af11580156120e5573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561216b573d5f803e3d5ffd5b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6121b18261216f565b6121bb8185612179565b93506121cb818560208601612189565b6121d481612197565b840191505092915050565b5f6020820190508181035f8301526121f781846121a7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61222c82612203565b9050919050565b61223c81612222565b8114612246575f80fd5b50565b5f8135905061225781612233565b92915050565b5f819050919050565b61226f8161225d565b8114612279575f80fd5b50565b5f8135905061228a81612266565b92915050565b5f80604083850312156122a6576122a56121ff565b5b5f6122b385828601612249565b92505060206122c48582860161227c565b9150509250929050565b5f8115159050919050565b6122e2816122ce565b82525050565b5f6020820190506122fb5f8301846122d9565b92915050565b61230a8161225d565b82525050565b5f6020820190506123235f830184612301565b92915050565b5f805f606084860312156123405761233f6121ff565b5b5f61234d86828701612249565b935050602061235e86828701612249565b925050604061236f8682870161227c565b9150509250925092565b5f60ff82169050919050565b61238e81612379565b82525050565b5f6020820190506123a75f830184612385565b92915050565b5f602082840312156123c2576123c16121ff565b5b5f6123cf84828501612249565b91505092915050565b6123e181612222565b82525050565b5f6020820190506123fa5f8301846123d8565b92915050565b5f8060408385031215612416576124156121ff565b5b5f61242385828601612249565b925050602061243485828601612249565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124c05780860481111561249c5761249b61243e565b5b60018516156124ab5780820291505b80810290506124b98561246b565b9450612480565b94509492505050565b5f826124d85760019050612593565b816124e5575f9050612593565b81600181146124fb576002811461250557612534565b6001915050612593565b60ff8411156125175761251661243e565b5b8360020a91508482111561252e5761252d61243e565b5b50612593565b5060208310610133831016604e8410600b84101617156125695782820a9050838111156125645761256361243e565b5b612593565b6125768484846001612477565b9250905081840481111561258d5761258c61243e565b5b81810290505b9392505050565b5f6125a48261225d565b91506125af83612379565b92506125dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124c9565b905092915050565b5f6125ee8261225d565b91506125f98361225d565b92508282026126078161225d565b9150828204841483151761261e5761261d61243e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612659602083612179565b915061266482612625565b602082019050919050565b5f6020820190508181035f8301526126868161264d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126c1601783612179565b91506126cc8261268d565b602082019050919050565b5f6020820190508181035f8301526126ee816126b5565b9050919050565b5f819050919050565b5f819050919050565b5f61272161271c612717846126f5565b6126fe565b61225d565b9050919050565b61273181612707565b82525050565b5f60c08201905061274a5f8301896123d8565b6127576020830188612301565b6127646040830187612728565b6127716060830186612728565b61277e60808301856123d8565b61278b60a0830184612301565b979650505050505050565b5f815190506127a481612266565b92915050565b5f805f606084860312156127c1576127c06121ff565b5b5f6127ce86828701612796565b93505060206127df86828701612796565b92505060406127f086828701612796565b9150509250925092565b5f8151905061280881612233565b92915050565b5f60208284031215612823576128226121ff565b5b5f612830848285016127fa565b91505092915050565b5f60408201905061284c5f8301856123d8565b61285960208301846123d8565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128ba602483612179565b91506128c582612860565b604082019050919050565b5f6020820190508181035f8301526128e7816128ae565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612948602283612179565b9150612953826128ee565b604082019050919050565b5f6020820190508181035f8301526129758161293c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129d6602583612179565b91506129e18261297c565b604082019050919050565b5f6020820190508181035f830152612a03816129ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a64602383612179565b9150612a6f82612a0a565b604082019050919050565b5f6020820190508181035f830152612a9181612a58565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612af2602983612179565b9150612afd82612a98565b604082019050919050565b5f6020820190508181035f830152612b1f81612ae6565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f612b5a601683612179565b9150612b6582612b26565b602082019050919050565b5f6020820190508181035f830152612b8781612b4e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612bc2601983612179565b9150612bcd82612b8e565b602082019050919050565b5f6020820190508181035f830152612bef81612bb6565b9050919050565b5f612c008261225d565b9150612c0b8361225d565b9250828201905080821115612c2357612c2261243e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c5d601a83612179565b9150612c6882612c29565b602082019050919050565b5f6020820190508181035f830152612c8a81612c51565b9050919050565b5f612c9b8261225d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ccd57612ccc61243e565b5b600182019050919050565b5f612ce28261225d565b9150612ced8361225d565b9250828203905081811115612d0557612d0461243e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d3f601b83612179565b9150612d4a82612d0b565b602082019050919050565b5f6020820190508181035f830152612d6c81612d33565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612daa8261225d565b9150612db58361225d565b925082612dc557612dc4612d73565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e2a602183612179565b9150612e3582612dd0565b604082019050919050565b5f6020820190508181035f830152612e5781612e1e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612eea81612222565b82525050565b5f612efb8383612ee1565b60208301905092915050565b5f602082019050919050565b5f612f1d82612eb8565b612f278185612ec2565b9350612f3283612ed2565b805f5b83811015612f62578151612f498882612ef0565b9750612f5483612f07565b925050600181019050612f35565b5085935050505092915050565b5f60a082019050612f825f830188612301565b612f8f6020830187612728565b8181036040830152612fa18186612f13565b9050612fb060608301856123d8565b612fbd6080830184612301565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3f7a6088138ba9830d36d47a2bd08453fcd42bd85c12570e759fbb60ef182c864736f6c634300081a0033

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.