ETH Price: $2,369.36 (-3.51%)
Gas: 3.1 Gwei

Token

Lusail Stadium (LUSAIL)
 

Overview

Max Total Supply

1,000,000,000,000 LUSAIL

Holders

119

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: LUSAIL 5
Balance
5,046,052,277.092114315 LUSAIL

Value
$0.00
0x3D0010717Ec9534c1AF4F8FBFAFb2431011e682e
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:
LusailStadium

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : LusailStadium.sol
/**
 *Website: https://lusail.bet
 *Telegram: https://t.me/LusailPortal
 *Twitter: https://twitter.com/LusailERC
 *Medium: https://medium.com/@LusailERC
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender) , "!Owner"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract LusailStadium is ERC20, Ownable {
    using SafeMath for uint256;
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override 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]; }

    struct TaxWallets {
        address marketing;
        address addLp;
    }

    struct FeesBuy {
        uint marketing;
        uint addLp;
        uint totalFee;
    }

    struct FeesSell {
        uint marketing;
        uint addLp;
        uint totalFee;
    }

    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Lusail Stadium";
    string constant _symbol = "LUSAIL";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1000 * 10**9 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply.mul(10).div(1000);
    uint256 public _maxTx = _totalSupply.mul(10).div(1000);

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    TaxWallets public _taxWallet = TaxWallets ({
        marketing: 0x23962139bfec51e6BcFAB6A6EcD3Addf8b9e66ff,
        addLp: 0x24d280E617Ab3fAb61b5140916f8fe45f71d1a2D
    });

    FeesBuy public _feeBuy = FeesBuy ({
        marketing: 3,
        addLp: 2,
        totalFee: 5
    });

    FeesSell public _feeSell = FeesSell ({
        marketing: 3,
        addLp: 2,
        totalFee: 5
    });

    uint256 feeDenominator = 100;

    IUniswapV2Router02 public router;
    address public pair;

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

    constructor () Ownable(msg.sender) {
        router = IUniswapV2Router02(routerAdress);
        pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isFeeExempt[_taxWallet.marketing] = true;
        isFeeExempt[_taxWallet.addLp] = true;

        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[_taxWallet.marketing] = true;
        isTxLimitExempt[_taxWallet.addLp] = true;
        isTxLimitExempt[routerAdress] = true;
        isTxLimitExempt[pair] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

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

    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].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isTxLimitExempt[sender] && (recipient == pair || sender == pair)) {
            require(amount <= _maxTx, "Buy/Sell exceeds the max tx");
        }

        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (shouldTakeFee(sender) && shouldTakeFee(recipient)) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
        if (sender == pair && _feeBuy.totalFee != 0) {           // Buy
            feeAmount = amount.mul(_feeBuy.totalFee).div(feeDenominator);
            _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(feeAmount.mul(_feeBuy.marketing).div(_feeBuy.totalFee));
            _balances[_taxWallet.addLp] = _balances[_taxWallet.addLp].add(feeAmount.mul(_feeBuy.addLp).div(_feeBuy.totalFee));
        } else if (recipient == pair && _feeSell.totalFee != 0) { // Sell
            feeAmount = amount.mul(_feeSell.totalFee).div(feeDenominator);
            _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(feeAmount.mul(_feeSell.marketing).div(_feeSell.totalFee));
            _balances[_taxWallet.addLp] = _balances[_taxWallet.addLp].add(feeAmount.mul(_feeSell.addLp).div(_feeSell.totalFee));
        }
        return amount.sub(feeAmount);
    }

    function setFeeSell(uint256 _marketing, uint256 _addLp) external onlyOwner{
        _feeSell.marketing = _marketing; 
        _feeSell.addLp = _addLp;
        _feeSell.totalFee = _marketing.add(_addLp);
    }

    function setFeeBuy(uint256 _marketing, uint256 _addLp) external onlyOwner{
        _feeBuy.marketing = _marketing; 
        _feeBuy.addLp = _addLp;
        _feeBuy.totalFee = _marketing.add(_addLp);
    }       

    function updateTaxWallets(address _marketing, address _addLp) external onlyOwner{
        _taxWallet.marketing = _marketing; 
        _taxWallet.addLp = _addLp;
    }

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

    function setFeeExempt(address adr, bool _isFeeExempt) external onlyOwner{
        isFeeExempt[adr] = _isFeeExempt; 
    }

    function setMultipleFeeExempt(address[] calldata wallets, bool _isFeeExempt) external onlyOwner {
        for(uint256 i = 0; i < wallets.length; i++) {
            isFeeExempt[wallets[i]] = _isFeeExempt;
        }
    }

    function setLegitAmount(uint256 _walletLimitPercent, uint256 _maxTxPercent)  external onlyOwner {
        require(_walletLimitPercent >= 1,"wallet limit mush be not less than 0.1 percent");
        require(_maxTxPercent >= 1, "Max tx amount must not be less than 0.1 percent");

        _maxWalletAmount = (_totalSupply * _walletLimitPercent ) / 1000;
        _maxTx = _totalSupply.mul(_maxTxPercent).div(1000);
    }

    function setTxLimitExempt(address adr, bool _isTxLimitExempt) external onlyOwner{
        isTxLimitExempt[adr] = _isTxLimitExempt;
    }

    function stuckToken() external {
        uint256 contractTokenBalance = _balances[address(this)];
        _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(contractTokenBalance);
        _balances[address(this)] = 0;
    }

    function stuckETH() external {
         payable(_taxWallet.marketing).transfer(address(this).balance);
    }

    receive() external payable { }
}

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

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":"address","name":"owner","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":"_feeBuy","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"addLp","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeSell","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"addLp","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"addLp","type":"address"}],"stateMutability":"view","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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 IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_addLp","type":"uint256"}],"name":"setFeeBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"bool","name":"_isFeeExempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_addLp","type":"uint256"}],"name":"setFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_walletLimitPercent","type":"uint256"},{"internalType":"uint256","name":"_maxTxPercent","type":"uint256"}],"name":"setLegitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"_isFeeExempt","type":"bool"}],"name":"setMultipleFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"bool","name":"_isTxLimitExempt","type":"bool"}],"name":"setTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stuckToken","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":"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":"_marketing","type":"address"},{"internalType":"address","name":"_addLp","type":"address"}],"name":"updateTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000ddc565b64e8d4a51000620000be919062000e2d565b600355620000f96103e8620000e5600a60035462000b0560201b620014211790919060201c565b62000b8860201b6200149b1790919060201c565b600455620001346103e862000120600a60035462000b0560201b620014211790919060201c565b62000b8860201b6200149b1790919060201c565b60055560405180604001604052807323962139bfec51e6bcfab6a6ecd3addf8b9e66ff73ffffffffffffffffffffffffffffffffffffffff1681526020017324d280e617ab3fab61b5140916f8fe45f71d1a2d73ffffffffffffffffffffffffffffffffffffffff16815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050604051806060016040528060038152602001600281526020016005815250600c6000820151816000015560208201518160010155604082015181600201555050604051806060016040528060038152602001600281526020016005815250600f60008201518160000155602082015181600101556040820151816002015550506064601255348015620002c457600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fe919062000ee2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000487573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ad919062000ee2565b306040518363ffffffff1660e01b8152600401620004cd92919062000f25565b6020604051808303816000875af1158015620004ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000513919062000ee2565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000af6919062000f63565b60405180910390a3506200113d565b600080830362000b19576000905062000b82565b6000828462000b29919062000e2d565b905082848262000b3a919062000faf565b1462000b7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b74906200106e565b60405180910390fd5b809150505b92915050565b600062000bd283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000bda60201b60201c565b905092915050565b6000808311829062000c24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1b919062001119565b60405180910390fd5b506000838562000c35919062000faf565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000cd05780860481111562000ca85762000ca762000c42565b5b600185161562000cb85780820291505b808102905062000cc88562000c71565b945062000c88565b94509492505050565b60008262000ceb576001905062000dbe565b8162000cfb576000905062000dbe565b816001811462000d14576002811462000d1f5762000d55565b600191505062000dbe565b60ff84111562000d345762000d3362000c42565b5b8360020a91508482111562000d4e5762000d4d62000c42565b5b5062000dbe565b5060208310610133831016604e8410600b841016171562000d8f5782820a90508381111562000d895762000d8862000c42565b5b62000dbe565b62000d9e848484600162000c7e565b9250905081840481111562000db85762000db762000c42565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000de98262000dc5565b915062000df68362000dcf565b925062000e257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000cd9565b905092915050565b600062000e3a8262000dc5565b915062000e478362000dc5565b925082820262000e578162000dc5565b9150828204841483151762000e715762000e7062000c42565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000eaa8262000e7d565b9050919050565b62000ebc8162000e9d565b811462000ec857600080fd5b50565b60008151905062000edc8162000eb1565b92915050565b60006020828403121562000efb5762000efa62000e78565b5b600062000f0b8482850162000ecb565b91505092915050565b62000f1f8162000e9d565b82525050565b600060408201905062000f3c600083018562000f14565b62000f4b602083018462000f14565b9392505050565b62000f5d8162000dc5565b82525050565b600060208201905062000f7a600083018462000f52565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000fbc8262000dc5565b915062000fc98362000dc5565b92508262000fdc5762000fdb62000f80565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200105660218362000fe7565b9150620010638262000ff8565b604082019050919050565b60006020820190508181036000830152620010898162001047565b9050919050565b600081519050919050565b60005b83811015620010bb5780820151818401526020810190506200109e565b60008484015250505050565b6000601f19601f8301169050919050565b6000620010e58262001090565b620010f1818562000fe7565b9350620011038185602086016200109b565b6200110e81620010c7565b840191505092915050565b60006020820190508181036000830152620011358184620010d8565b905092915050565b612de4806200114d6000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063a8aa1b311161008a578063daaefb4711610064578063daaefb47146105fa578063dd62ed3e14610623578063eb7c95ec14610660578063f887ea4014610677576101c2565b8063a8aa1b3114610569578063a9059cbb14610594578063ae882eb7146105d1576101c2565b8063893d20e8116100c6578063893d20e8146104c15780638d7a8ba7146104ec5780638ebfc7961461051557806395d89b411461053e576101c2565b8063715018a6146104565780637830b0721461046d5780638457584114610498576101c2565b8063313ce567116101595780635ccf8678116101335780635ccf8678146103995780636c0a24eb146103c25780636f268a99146103ed57806370a0823114610419576101c2565b8063313ce5671461032a578063411adcb6146103555780635332244b14610382576101c2565b806318160ddd1161019557806318160ddd146102585780631e62d5241461028357806323b872dd146102b05780632f54bf6e146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cefb76f1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106a2565b6040516101e991906123a6565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612466565b6106df565b60405161022691906124c1565b60405180910390f35b34801561023b57600080fd5b506102566004803603810190610251919061256d565b6107d1565b005b34801561026457600080fd5b5061026d6108be565b60405161027a91906125dc565b60405180910390f35b34801561028f57600080fd5b506102986108c8565b6040516102a7939291906125f7565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061262e565b6108e0565b6040516102e491906124c1565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190612681565b610ae0565b60405161032191906124c1565b60405180910390f35b34801561033657600080fd5b5061033f610b39565b60405161034c91906126ca565b60405180910390f35b34801561036157600080fd5b5061036a610b42565b604051610379939291906125f7565b60405180910390f35b34801561038e57600080fd5b50610397610b5a565b005b3480156103a557600080fd5b506103c060048036038101906103bb91906126e5565b610cc5565b005b3480156103ce57600080fd5b506103d7610de9565b6040516103e491906125dc565b60405180910390f35b3480156103f957600080fd5b50610402610def565b604051610410929190612734565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b9190612681565b610e41565b60405161044d91906125dc565b60405180910390f35b34801561046257600080fd5b5061046b610e8a565b005b34801561047957600080fd5b50610482610f4d565b60405161048f91906125dc565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba919061275d565b610f53565b005b3480156104cd57600080fd5b506104d6611027565b6040516104e3919061279d565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e91906127b8565b611050565b005b34801561052157600080fd5b5061053c600480360381019061053791906127b8565b6110f3565b005b34801561054a57600080fd5b50610553611196565b60405161056091906123a6565b60405180910390f35b34801561057557600080fd5b5061057e6111d3565b60405161058b919061279d565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b69190612466565b6111f9565b6040516105c891906124c1565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906126e5565b61120e565b005b34801561060657600080fd5b50610621600480360381019061061c91906126e5565b61128a565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061275d565b611306565b60405161065791906125dc565b60405180910390f35b34801561066c57600080fd5b5061067561138d565b005b34801561068357600080fd5b5061068c6113fb565b6040516106999190612857565b60405180910390f35b60606040518060400160405280600e81526020017f4c757361696c205374616469756d000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107bf91906125dc565b60405180910390a36001905092915050565b6107da33610ae0565b610819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610810906128be565b60405180910390fd5b60005b838390508110156108b857816008600086868581811061083f5761083e6128de565b5b90506020020160208101906108549190612681565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108b09061293c565b91505061081c565b50505050565b6000600354905090565b600c8060000154908060010154908060020154905083565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610acc57610a4b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ad7848484611549565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600f8060000154908060010154908060020154905083565b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610c158160066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b610cce33610ae0565b610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d04906128be565b60405180910390fd5b6001821015610d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d48906129f6565b60405180910390fd5b6001811015610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90612a88565b60405180910390fd5b6103e882600354610da69190612aa8565b610db09190612b19565b600481905550610ddf6103e8610dd18360035461142190919063ffffffff16565b61149b90919063ffffffff16565b6005819055505050565b60045481565b600a8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e9333610ae0565b610ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec9906128be565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610f43919061279d565b60405180910390a1565b60055481565b610f5c33610ae0565b610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906128be565b60405180910390fd5b81600a60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61105933610ae0565b611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906128be565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110fc33610ae0565b61113b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611132906128be565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600681526020017f4c555341494c0000000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611206338484611549565b905092915050565b61121733610ae0565b611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d906128be565b60405180910390fd5b81600c6000018190555080600c6001018190555061127d8183611a5690919063ffffffff16565b600c600201819055505050565b61129333610ae0565b6112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c9906128be565b60405180910390fd5b81600f6000018190555080600f600101819055506112f98183611a5690919063ffffffff16565b600f600201819055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156113f8573d6000803e3d6000fd5b50565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008083036114335760009050611495565b600082846114419190612aa8565b90508284826114509190612b19565b14611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612bbc565b60405180910390fd5b809150505b92915050565b60006114dd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab4565b905092915050565b600083831115829061152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152491906123a6565b60405180910390fd5b506000838561153c9190612bdc565b9050809150509392505050565b600060148054906101000a900460ff161561157057611569848484611b17565b9050611a4f565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561166f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061166e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b156116ba576005548211156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b090612c5c565b60405180910390fd5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117665750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561184f57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061180f575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180c9190612c7c565b11155b61184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590612d22565b60405180910390fd5b5b6118d8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061192685611cea565b8015611937575061193684611cea565b5b611941578261194d565b61194c858585611d41565b5b90506119a181600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4191906125dc565b60405180910390a360019150505b9392505050565b6000808284611a659190612c7c565b905083811015611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa190612d8e565b60405180910390fd5b8091505092915050565b60008083118290611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af291906123a6565b60405180910390fd5b5060008385611b0a9190612b19565b9050809150509392505050565b6000611ba2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c3782600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cd791906125dc565b60405180910390a3600190509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008060009050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611dab57506000600c6002015414155b15611ffd57611ddc601254611dce600c600201548661142190919063ffffffff16565b61149b90919063ffffffff16565b9050611e83611e10600c60020154611e02600c600001548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f90611f1d600c60020154611f0f600c600101548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122af565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561206057506000600f6002015414155b156122ae57612091601254612083600f600201548661142190919063ffffffff16565b61149b90919063ffffffff16565b90506121386120c5600f600201546120b7600f600001548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122456121d2600f600201546121c4600f600101548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6122c281846122cc90919063ffffffff16565b9150509392505050565b600061230e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114e5565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612350578082015181840152602081019050612335565b60008484015250505050565b6000601f19601f8301169050919050565b600061237882612316565b6123828185612321565b9350612392818560208601612332565b61239b8161235c565b840191505092915050565b600060208201905081810360008301526123c0818461236d565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123fd826123d2565b9050919050565b61240d816123f2565b811461241857600080fd5b50565b60008135905061242a81612404565b92915050565b6000819050919050565b61244381612430565b811461244e57600080fd5b50565b6000813590506124608161243a565b92915050565b6000806040838503121561247d5761247c6123c8565b5b600061248b8582860161241b565b925050602061249c85828601612451565b9150509250929050565b60008115159050919050565b6124bb816124a6565b82525050565b60006020820190506124d660008301846124b2565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612501576125006124dc565b5b8235905067ffffffffffffffff81111561251e5761251d6124e1565b5b60208301915083602082028301111561253a576125396124e6565b5b9250929050565b61254a816124a6565b811461255557600080fd5b50565b60008135905061256781612541565b92915050565b600080600060408486031215612586576125856123c8565b5b600084013567ffffffffffffffff8111156125a4576125a36123cd565b5b6125b0868287016124eb565b935093505060206125c386828701612558565b9150509250925092565b6125d681612430565b82525050565b60006020820190506125f160008301846125cd565b92915050565b600060608201905061260c60008301866125cd565b61261960208301856125cd565b61262660408301846125cd565b949350505050565b600080600060608486031215612647576126466123c8565b5b60006126558682870161241b565b93505060206126668682870161241b565b925050604061267786828701612451565b9150509250925092565b600060208284031215612697576126966123c8565b5b60006126a58482850161241b565b91505092915050565b600060ff82169050919050565b6126c4816126ae565b82525050565b60006020820190506126df60008301846126bb565b92915050565b600080604083850312156126fc576126fb6123c8565b5b600061270a85828601612451565b925050602061271b85828601612451565b9150509250929050565b61272e816123f2565b82525050565b60006040820190506127496000830185612725565b6127566020830184612725565b9392505050565b60008060408385031215612774576127736123c8565b5b60006127828582860161241b565b92505060206127938582860161241b565b9150509250929050565b60006020820190506127b26000830184612725565b92915050565b600080604083850312156127cf576127ce6123c8565b5b60006127dd8582860161241b565b92505060206127ee85828601612558565b9150509250929050565b6000819050919050565b600061281d612818612813846123d2565b6127f8565b6123d2565b9050919050565b600061282f82612802565b9050919050565b600061284182612824565b9050919050565b61285181612836565b82525050565b600060208201905061286c6000830184612848565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b60006128a8600683612321565b91506128b382612872565b602082019050919050565b600060208201905081810360008301526128d78161289b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061294782612430565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129795761297861290d565b5b600182019050919050565b7f77616c6c6574206c696d6974206d757368206265206e6f74206c65737320746860008201527f616e20302e312070657263656e74000000000000000000000000000000000000602082015250565b60006129e0602e83612321565b91506129eb82612984565b604082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b7f4d617820747820616d6f756e74206d757374206e6f74206265206c657373207460008201527f68616e20302e312070657263656e740000000000000000000000000000000000602082015250565b6000612a72602f83612321565b9150612a7d82612a16565b604082019050919050565b60006020820190508181036000830152612aa181612a65565b9050919050565b6000612ab382612430565b9150612abe83612430565b9250828202612acc81612430565b91508282048414831517612ae357612ae261290d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b2482612430565b9150612b2f83612430565b925082612b3f57612b3e612aea565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ba6602183612321565b9150612bb182612b4a565b604082019050919050565b60006020820190508181036000830152612bd581612b99565b9050919050565b6000612be782612430565b9150612bf283612430565b9250828203905081811115612c0a57612c0961290d565b5b92915050565b7f4275792f53656c6c206578636565647320746865206d61782074780000000000600082015250565b6000612c46601b83612321565b9150612c5182612c10565b602082019050919050565b60006020820190508181036000830152612c7581612c39565b9050919050565b6000612c8782612430565b9150612c9283612430565b9250828201905080821115612caa57612ca961290d565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612d0c602583612321565b9150612d1782612cb0565b604082019050919050565b60006020820190508181036000830152612d3b81612cff565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d78601b83612321565b9150612d8382612d42565b602082019050919050565b60006020820190508181036000830152612da781612d6b565b905091905056fea2646970667358221220086988930d412b7df983fa19154e88f98fdb495e5c4b23da2a523c7a2fddbd4664736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063a8aa1b311161008a578063daaefb4711610064578063daaefb47146105fa578063dd62ed3e14610623578063eb7c95ec14610660578063f887ea4014610677576101c2565b8063a8aa1b3114610569578063a9059cbb14610594578063ae882eb7146105d1576101c2565b8063893d20e8116100c6578063893d20e8146104c15780638d7a8ba7146104ec5780638ebfc7961461051557806395d89b411461053e576101c2565b8063715018a6146104565780637830b0721461046d5780638457584114610498576101c2565b8063313ce567116101595780635ccf8678116101335780635ccf8678146103995780636c0a24eb146103c25780636f268a99146103ed57806370a0823114610419576101c2565b8063313ce5671461032a578063411adcb6146103555780635332244b14610382576101c2565b806318160ddd1161019557806318160ddd146102585780631e62d5241461028357806323b872dd146102b05780632f54bf6e146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cefb76f1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106a2565b6040516101e991906123a6565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612466565b6106df565b60405161022691906124c1565b60405180910390f35b34801561023b57600080fd5b506102566004803603810190610251919061256d565b6107d1565b005b34801561026457600080fd5b5061026d6108be565b60405161027a91906125dc565b60405180910390f35b34801561028f57600080fd5b506102986108c8565b6040516102a7939291906125f7565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061262e565b6108e0565b6040516102e491906124c1565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190612681565b610ae0565b60405161032191906124c1565b60405180910390f35b34801561033657600080fd5b5061033f610b39565b60405161034c91906126ca565b60405180910390f35b34801561036157600080fd5b5061036a610b42565b604051610379939291906125f7565b60405180910390f35b34801561038e57600080fd5b50610397610b5a565b005b3480156103a557600080fd5b506103c060048036038101906103bb91906126e5565b610cc5565b005b3480156103ce57600080fd5b506103d7610de9565b6040516103e491906125dc565b60405180910390f35b3480156103f957600080fd5b50610402610def565b604051610410929190612734565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b9190612681565b610e41565b60405161044d91906125dc565b60405180910390f35b34801561046257600080fd5b5061046b610e8a565b005b34801561047957600080fd5b50610482610f4d565b60405161048f91906125dc565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba919061275d565b610f53565b005b3480156104cd57600080fd5b506104d6611027565b6040516104e3919061279d565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e91906127b8565b611050565b005b34801561052157600080fd5b5061053c600480360381019061053791906127b8565b6110f3565b005b34801561054a57600080fd5b50610553611196565b60405161056091906123a6565b60405180910390f35b34801561057557600080fd5b5061057e6111d3565b60405161058b919061279d565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b69190612466565b6111f9565b6040516105c891906124c1565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906126e5565b61120e565b005b34801561060657600080fd5b50610621600480360381019061061c91906126e5565b61128a565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061275d565b611306565b60405161065791906125dc565b60405180910390f35b34801561066c57600080fd5b5061067561138d565b005b34801561068357600080fd5b5061068c6113fb565b6040516106999190612857565b60405180910390f35b60606040518060400160405280600e81526020017f4c757361696c205374616469756d000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107bf91906125dc565b60405180910390a36001905092915050565b6107da33610ae0565b610819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610810906128be565b60405180910390fd5b60005b838390508110156108b857816008600086868581811061083f5761083e6128de565b5b90506020020160208101906108549190612681565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108b09061293c565b91505061081c565b50505050565b6000600354905090565b600c8060000154908060010154908060020154905083565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610acc57610a4b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ad7848484611549565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600f8060000154908060010154908060020154905083565b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610c158160066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b610cce33610ae0565b610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d04906128be565b60405180910390fd5b6001821015610d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d48906129f6565b60405180910390fd5b6001811015610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90612a88565b60405180910390fd5b6103e882600354610da69190612aa8565b610db09190612b19565b600481905550610ddf6103e8610dd18360035461142190919063ffffffff16565b61149b90919063ffffffff16565b6005819055505050565b60045481565b600a8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e9333610ae0565b610ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec9906128be565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610f43919061279d565b60405180910390a1565b60055481565b610f5c33610ae0565b610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906128be565b60405180910390fd5b81600a60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61105933610ae0565b611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906128be565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110fc33610ae0565b61113b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611132906128be565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600681526020017f4c555341494c0000000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611206338484611549565b905092915050565b61121733610ae0565b611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d906128be565b60405180910390fd5b81600c6000018190555080600c6001018190555061127d8183611a5690919063ffffffff16565b600c600201819055505050565b61129333610ae0565b6112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c9906128be565b60405180910390fd5b81600f6000018190555080600f600101819055506112f98183611a5690919063ffffffff16565b600f600201819055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156113f8573d6000803e3d6000fd5b50565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008083036114335760009050611495565b600082846114419190612aa8565b90508284826114509190612b19565b14611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612bbc565b60405180910390fd5b809150505b92915050565b60006114dd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ab4565b905092915050565b600083831115829061152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152491906123a6565b60405180910390fd5b506000838561153c9190612bdc565b9050809150509392505050565b600060148054906101000a900460ff161561157057611569848484611b17565b9050611a4f565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561166f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061166e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b156116ba576005548211156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b090612c5c565b60405180910390fd5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117665750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561184f57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061180f575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180c9190612c7c565b11155b61184e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184590612d22565b60405180910390fd5b5b6118d8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061192685611cea565b8015611937575061193684611cea565b5b611941578261194d565b61194c858585611d41565b5b90506119a181600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a4191906125dc565b60405180910390a360019150505b9392505050565b6000808284611a659190612c7c565b905083811015611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa190612d8e565b60405180910390fd5b8091505092915050565b60008083118290611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af291906123a6565b60405180910390fd5b5060008385611b0a9190612b19565b9050809150509392505050565b6000611ba2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e59092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c3782600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cd791906125dc565b60405180910390a3600190509392505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008060009050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611dab57506000600c6002015414155b15611ffd57611ddc601254611dce600c600201548661142190919063ffffffff16565b61149b90919063ffffffff16565b9050611e83611e10600c60020154611e02600c600001548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f90611f1d600c60020154611f0f600c600101548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122af565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561206057506000600f6002015414155b156122ae57612091601254612083600f600201548661142190919063ffffffff16565b61149b90919063ffffffff16565b90506121386120c5600f600201546120b7600f600001548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122456121d2600f600201546121c4600f600101548561142190919063ffffffff16565b61149b90919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5690919063ffffffff16565b60066000600a60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6122c281846122cc90919063ffffffff16565b9150509392505050565b600061230e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114e5565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612350578082015181840152602081019050612335565b60008484015250505050565b6000601f19601f8301169050919050565b600061237882612316565b6123828185612321565b9350612392818560208601612332565b61239b8161235c565b840191505092915050565b600060208201905081810360008301526123c0818461236d565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123fd826123d2565b9050919050565b61240d816123f2565b811461241857600080fd5b50565b60008135905061242a81612404565b92915050565b6000819050919050565b61244381612430565b811461244e57600080fd5b50565b6000813590506124608161243a565b92915050565b6000806040838503121561247d5761247c6123c8565b5b600061248b8582860161241b565b925050602061249c85828601612451565b9150509250929050565b60008115159050919050565b6124bb816124a6565b82525050565b60006020820190506124d660008301846124b2565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612501576125006124dc565b5b8235905067ffffffffffffffff81111561251e5761251d6124e1565b5b60208301915083602082028301111561253a576125396124e6565b5b9250929050565b61254a816124a6565b811461255557600080fd5b50565b60008135905061256781612541565b92915050565b600080600060408486031215612586576125856123c8565b5b600084013567ffffffffffffffff8111156125a4576125a36123cd565b5b6125b0868287016124eb565b935093505060206125c386828701612558565b9150509250925092565b6125d681612430565b82525050565b60006020820190506125f160008301846125cd565b92915050565b600060608201905061260c60008301866125cd565b61261960208301856125cd565b61262660408301846125cd565b949350505050565b600080600060608486031215612647576126466123c8565b5b60006126558682870161241b565b93505060206126668682870161241b565b925050604061267786828701612451565b9150509250925092565b600060208284031215612697576126966123c8565b5b60006126a58482850161241b565b91505092915050565b600060ff82169050919050565b6126c4816126ae565b82525050565b60006020820190506126df60008301846126bb565b92915050565b600080604083850312156126fc576126fb6123c8565b5b600061270a85828601612451565b925050602061271b85828601612451565b9150509250929050565b61272e816123f2565b82525050565b60006040820190506127496000830185612725565b6127566020830184612725565b9392505050565b60008060408385031215612774576127736123c8565b5b60006127828582860161241b565b92505060206127938582860161241b565b9150509250929050565b60006020820190506127b26000830184612725565b92915050565b600080604083850312156127cf576127ce6123c8565b5b60006127dd8582860161241b565b92505060206127ee85828601612558565b9150509250929050565b6000819050919050565b600061281d612818612813846123d2565b6127f8565b6123d2565b9050919050565b600061282f82612802565b9050919050565b600061284182612824565b9050919050565b61285181612836565b82525050565b600060208201905061286c6000830184612848565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b60006128a8600683612321565b91506128b382612872565b602082019050919050565b600060208201905081810360008301526128d78161289b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061294782612430565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129795761297861290d565b5b600182019050919050565b7f77616c6c6574206c696d6974206d757368206265206e6f74206c65737320746860008201527f616e20302e312070657263656e74000000000000000000000000000000000000602082015250565b60006129e0602e83612321565b91506129eb82612984565b604082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b7f4d617820747820616d6f756e74206d757374206e6f74206265206c657373207460008201527f68616e20302e312070657263656e740000000000000000000000000000000000602082015250565b6000612a72602f83612321565b9150612a7d82612a16565b604082019050919050565b60006020820190508181036000830152612aa181612a65565b9050919050565b6000612ab382612430565b9150612abe83612430565b9250828202612acc81612430565b91508282048414831517612ae357612ae261290d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b2482612430565b9150612b2f83612430565b925082612b3f57612b3e612aea565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ba6602183612321565b9150612bb182612b4a565b604082019050919050565b60006020820190508181036000830152612bd581612b99565b9050919050565b6000612be782612430565b9150612bf283612430565b9250828203905081811115612c0a57612c0961290d565b5b92915050565b7f4275792f53656c6c206578636565647320746865206d61782074780000000000600082015250565b6000612c46601b83612321565b9150612c5182612c10565b602082019050919050565b60006020820190508181036000830152612c7581612c39565b9050919050565b6000612c8782612430565b9150612c9283612430565b9250828201905080821115612caa57612ca961290d565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612d0c602583612321565b9150612d1782612cb0565b604082019050919050565b60006020820190508181036000830152612d3b81612cff565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d78601b83612321565b9150612d8382612d42565b602082019050919050565b60006020820190508181036000830152612da781612d6b565b905091905056fea2646970667358221220086988930d412b7df983fa19154e88f98fdb495e5c4b23da2a523c7a2fddbd4664736f6c63430008110033

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.