ETH Price: $3,484.94 (+4.53%)
Gas: 5.96 Gwei

Token

Keccak-256 (FIPS 202)
 

Overview

Max Total Supply

1,000,000,000 FIPS 202

Holders

68

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
563,047.437393602 FIPS 202

Value
$0.00
0x8522811cfcf77487a7c64facef027153738b6580
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:
Keccak

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
// https://www.keccak256.guru/
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 IDEXFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}
// https://www.keccak256.guru/
contract Keccak is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Keccak-256";
    string constant _symbol = "FIPS 202";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000 * (10**_decimals);
    uint256 public _maxWalletAmount = 1_000_000_000 * (10**_decimals);
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;
    uint256 keccakFee = 8;
    address public keccakTeam = msg.sender;
    IDEXRouter public router;
    address public pair;
    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply / 1000) * 50;
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        _allowances[address(this)][address(router)] = type(uint256).max;
        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable {}

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

    function decimals() external pure 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];
    }

    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 (recipient != pair && recipient != DEAD) {
            require(
                isTxLimitExempt[recipient] ||
                    _balances[recipient] + amount <= _maxWalletAmount,
                "Transfer amount exceeds the bag size."
            );
        }

        if (shouldSwapBack()) {
            swapBack();
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        uint256 amountReceived = shouldTakeFee(sender)
            ? takeFee(sender, 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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function setKeccakFee(uint256 _keccakFee) external onlyOwner {
        require(_keccakFee <= 10, "Must keep fees at 10% or less");
        keccakFee = _keccakFee;
    }

    function setMaxWallet(uint256 _percentage) external onlyOwner {
        if (_percentage == 100) {
            _maxWalletAmount = type(uint256).max;
        } else {
            _maxWalletAmount = _totalSupply.mul(_percentage).div(100);
        }
    }

    function takeFee(address sender, uint256 amount)
        internal
        returns (uint256)
    {
        uint256 feeAmount = amount.mul(keccakFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            swapEnabled &&
            _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToSwap = contractTokenBalance;

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

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

        uint256 amountETHMarketing = address(this).balance;

        (
            bool MarketingSuccess, /* bytes memory data */

        ) = payable(keccakTeam).call{value: amountETHMarketing, gas: 30000}(
                ""
            );
        require(MarketingSuccess, "receiver rejected ETH transfer");
    }
}

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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"keccakTeam","outputs":[{"internalType":"address","name":"","type":"address"}],"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 IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_keccakFee","type":"uint256"}],"name":"setKeccakFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac9190620007ee565b633b9aca00620000bd91906200083f565b6003556009600a620000d09190620007ee565b633b9aca00620000e191906200083f565b600455600860095533600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff02191690831515021790555060326103e8600354620001599190620008b9565b6200016591906200083f565b600d553480156200017557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000289573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002af91906200095b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035e91906200095b565b306040518363ffffffff1660e01b81526004016200037e9291906200099e565b6020604051808303816000875af11580156200039e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c491906200095b565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006459190620009dc565b60405180910390a350620009f9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006e257808604811115620006ba57620006b962000654565b5b6001851615620006ca5780820291505b8081029050620006da8562000683565b94506200069a565b94509492505050565b600082620006fd5760019050620007d0565b816200070d5760009050620007d0565b8160018114620007265760028114620007315762000767565b6001915050620007d0565b60ff84111562000746576200074562000654565b5b8360020a91508482111562000760576200075f62000654565b5b50620007d0565b5060208310610133831016604e8410600b8410161715620007a15782820a9050838111156200079b576200079a62000654565b5b620007d0565b620007b0848484600162000690565b92509050818404811115620007ca57620007c962000654565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007fb82620007d7565b91506200080883620007e1565b9250620008377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006eb565b905092915050565b60006200084c82620007d7565b91506200085983620007d7565b92508282026200086981620007d7565b9150828204841483151762000883576200088262000654565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008c682620007d7565b9150620008d383620007d7565b925082620008e657620008e56200088a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200092382620008f6565b9050919050565b620009358162000916565b81146200094157600080fd5b50565b60008151905062000955816200092a565b92915050565b600060208284031215620009745762000973620008f1565b5b6000620009848482850162000944565b91505092915050565b620009988162000916565b82525050565b6000604082019050620009b560008301856200098d565b620009c460208301846200098d565b9392505050565b620009d681620007d7565b82525050565b6000602082019050620009f36000830184620009cb565b92915050565b6123ff8062000a096000396000f3fe6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e1b855521461048b578063f887ea40146104b45761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce567146102675780635d0044ca146102925780635e16108d146102bb5780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104df565b60405161015191906119e9565b60405180910390f35b34801561016657600080fd5b5061016f6104e5565b60405161017c9190611a94565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611b45565b610522565b6040516101b99190611ba0565b60405180910390f35b3480156101ce57600080fd5b506101d7610614565b6040516101e491906119e9565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611bbb565b61061e565b6040516102219190611ba0565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611c0e565b61081e565b60405161025e9190611ba0565b60405180910390f35b34801561027357600080fd5b5061027c610877565b6040516102899190611c57565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190611c72565b610880565b005b3480156102c757600080fd5b506102d061092e565b6040516102dd9190611cae565b60405180910390f35b3480156102f257600080fd5b506102fb610954565b60405161030891906119e9565b60405180910390f35b34801561031d57600080fd5b5061032661095a565b6040516103339190611ba0565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611c0e565b61096d565b60405161037091906119e9565b60405180910390f35b34801561038557600080fd5b5061038e6109b6565b005b34801561039c57600080fd5b506103a5610a79565b6040516103b29190611cae565b60405180910390f35b3480156103c757600080fd5b506103d0610aa2565b6040516103dd9190611a94565b60405180910390f35b3480156103f257600080fd5b506103fb610adf565b6040516104089190611cae565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611b45565b610b05565b6040516104459190611ba0565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611cc9565b610b1a565b60405161048291906119e9565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad9190611c72565b610ba1565b005b3480156104c057600080fd5b506104c9610c37565b6040516104d69190611d68565b60405180910390f35b600d5481565b60606040518060400160405280600a81526020017f4b656363616b2d32353600000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161060291906119e9565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080a57610789826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610815848484610cc1565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6108893361081e565b6108c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bf90611dcf565b60405180910390fd5b606481036108fc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60048190555061092b565b61092460646109168360035461108a90919063ffffffff16565b61110490919063ffffffff16565b6004819055505b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf3361081e565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590611dcf565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190611cae565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4649505320323032000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cc1565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610baa3361081e565b610be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be090611dcf565b60405180910390fd5b600a811115610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490611e3b565b60405180910390fd5b8060098190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c9190611a94565b60405180910390fd5b5060008385610cb49190611e8a565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610cea57610ce384848461114e565b9050611083565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d965750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7f57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3f575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e3c9190611ebe565b11155b610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7590611f64565b60405180910390fd5b5b610e87611321565b15610e9557610e946113f8565b5b610f1e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6c8561172b565b610f765782610f81565b610f808584611782565b5b9050610fd581600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161107591906119e9565b60405180910390a360019150505b9392505050565b600080830361109c57600090506110fe565b600082846110aa9190611f84565b90508284826110b99190611ff5565b146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612098565b60405180910390fd5b809150505b92915050565b600061114683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611923565b905092915050565b60006111d9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126e82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161130e91906119e9565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561138e5750600e60009054906101000a900460ff16155b80156113a65750600c60149054906101000a900460ff165b80156113f35750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff81111561143c5761143b6120b8565b5b60405190808252806020026020018201604052801561146a5781602001602082028036833780820191505090505b5090503081600081518110611482576114816120e7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154d919061212b565b81600181518110611561576115606120e7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115ff959493929190612251565b600060405180830381600087803b15801561161957600080fd5b505af115801561162d573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611682906122dc565b600060405180830381858888f193505050503d80600081146116c0576040519150601f19603f3d011682016040523d82523d6000602084013e6116c5565b606091505b5050905080611709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117009061233d565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806117ad606461179f6009548661108a90919063ffffffff16565b61110490919063ffffffff16565b905061180181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a191906119e9565b60405180910390a36118bc818461198690919063ffffffff16565b91505092915050565b60008082846118d49190611ebe565b905083811015611919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611910906123a9565b60405180910390fd5b8091505092915050565b6000808311829061196a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119619190611a94565b60405180910390fd5b50600083856119799190611ff5565b9050809150509392505050565b60006119c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c5d565b905092915050565b6000819050919050565b6119e3816119d0565b82525050565b60006020820190506119fe60008301846119da565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a3e578082015181840152602081019050611a23565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a6682611a04565b611a708185611a0f565b9350611a80818560208601611a20565b611a8981611a4a565b840191505092915050565b60006020820190508181036000830152611aae8184611a5b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ae682611abb565b9050919050565b611af681611adb565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b611b22816119d0565b8114611b2d57600080fd5b50565b600081359050611b3f81611b19565b92915050565b60008060408385031215611b5c57611b5b611ab6565b5b6000611b6a85828601611b04565b9250506020611b7b85828601611b30565b9150509250929050565b60008115159050919050565b611b9a81611b85565b82525050565b6000602082019050611bb56000830184611b91565b92915050565b600080600060608486031215611bd457611bd3611ab6565b5b6000611be286828701611b04565b9350506020611bf386828701611b04565b9250506040611c0486828701611b30565b9150509250925092565b600060208284031215611c2457611c23611ab6565b5b6000611c3284828501611b04565b91505092915050565b600060ff82169050919050565b611c5181611c3b565b82525050565b6000602082019050611c6c6000830184611c48565b92915050565b600060208284031215611c8857611c87611ab6565b5b6000611c9684828501611b30565b91505092915050565b611ca881611adb565b82525050565b6000602082019050611cc36000830184611c9f565b92915050565b60008060408385031215611ce057611cdf611ab6565b5b6000611cee85828601611b04565b9250506020611cff85828601611b04565b9150509250929050565b6000819050919050565b6000611d2e611d29611d2484611abb565b611d09565b611abb565b9050919050565b6000611d4082611d13565b9050919050565b6000611d5282611d35565b9050919050565b611d6281611d47565b82525050565b6000602082019050611d7d6000830184611d59565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611db9600683611a0f565b9150611dc482611d83565b602082019050919050565b60006020820190508181036000830152611de881611dac565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000611e25601d83611a0f565b9150611e3082611def565b602082019050919050565b60006020820190508181036000830152611e5481611e18565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e95826119d0565b9150611ea0836119d0565b9250828203905081811115611eb857611eb7611e5b565b5b92915050565b6000611ec9826119d0565b9150611ed4836119d0565b9250828201905080821115611eec57611eeb611e5b565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602583611a0f565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b6000611f8f826119d0565b9150611f9a836119d0565b9250828202611fa8816119d0565b91508282048414831517611fbf57611fbe611e5b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612000826119d0565b915061200b836119d0565b92508261201b5761201a611fc6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612082602183611a0f565b915061208d82612026565b604082019050919050565b600060208201905081810360008301526120b181612075565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212581611aed565b92915050565b60006020828403121561214157612140611ab6565b5b600061214f84828501612116565b91505092915050565b6000819050919050565b600061217d61217861217384612158565b611d09565b6119d0565b9050919050565b61218d81612162565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121c881611adb565b82525050565b60006121da83836121bf565b60208301905092915050565b6000602082019050919050565b60006121fe82612193565b612208818561219e565b9350612213836121af565b8060005b8381101561224457815161222b88826121ce565b9750612236836121e6565b925050600181019050612217565b5085935050505092915050565b600060a08201905061226660008301886119da565b6122736020830187612184565b818103604083015261228581866121f3565b90506122946060830185611c9f565b6122a160808301846119da565b9695505050505050565b600081905092915050565b50565b60006122c66000836122ab565b91506122d1826122b6565b600082019050919050565b60006122e7826122b9565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612327601e83611a0f565b9150612332826122f1565b602082019050919050565b600060208201905081810360008301526123568161231a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612393601b83611a0f565b915061239e8261235d565b602082019050919050565b600060208201905081810360008301526123c281612386565b905091905056fea2646970667358221220967d2a11b2a59e4b68b8a9b6ff0d83f5449f9bd7fcb91597a8f465df954a1d8964736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e1b855521461048b578063f887ea40146104b45761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce567146102675780635d0044ca146102925780635e16108d146102bb5780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104df565b60405161015191906119e9565b60405180910390f35b34801561016657600080fd5b5061016f6104e5565b60405161017c9190611a94565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611b45565b610522565b6040516101b99190611ba0565b60405180910390f35b3480156101ce57600080fd5b506101d7610614565b6040516101e491906119e9565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611bbb565b61061e565b6040516102219190611ba0565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611c0e565b61081e565b60405161025e9190611ba0565b60405180910390f35b34801561027357600080fd5b5061027c610877565b6040516102899190611c57565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190611c72565b610880565b005b3480156102c757600080fd5b506102d061092e565b6040516102dd9190611cae565b60405180910390f35b3480156102f257600080fd5b506102fb610954565b60405161030891906119e9565b60405180910390f35b34801561031d57600080fd5b5061032661095a565b6040516103339190611ba0565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611c0e565b61096d565b60405161037091906119e9565b60405180910390f35b34801561038557600080fd5b5061038e6109b6565b005b34801561039c57600080fd5b506103a5610a79565b6040516103b29190611cae565b60405180910390f35b3480156103c757600080fd5b506103d0610aa2565b6040516103dd9190611a94565b60405180910390f35b3480156103f257600080fd5b506103fb610adf565b6040516104089190611cae565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611b45565b610b05565b6040516104459190611ba0565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611cc9565b610b1a565b60405161048291906119e9565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad9190611c72565b610ba1565b005b3480156104c057600080fd5b506104c9610c37565b6040516104d69190611d68565b60405180910390f35b600d5481565b60606040518060400160405280600a81526020017f4b656363616b2d32353600000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161060291906119e9565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080a57610789826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610815848484610cc1565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6108893361081e565b6108c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bf90611dcf565b60405180910390fd5b606481036108fc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60048190555061092b565b61092460646109168360035461108a90919063ffffffff16565b61110490919063ffffffff16565b6004819055505b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf3361081e565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590611dcf565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190611cae565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4649505320323032000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cc1565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610baa3361081e565b610be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be090611dcf565b60405180910390fd5b600a811115610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490611e3b565b60405180910390fd5b8060098190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9c9190611a94565b60405180910390fd5b5060008385610cb49190611e8a565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610cea57610ce384848461114e565b9050611083565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d965750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7f57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3f575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e3c9190611ebe565b11155b610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7590611f64565b60405180910390fd5b5b610e87611321565b15610e9557610e946113f8565b5b610f1e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6c8561172b565b610f765782610f81565b610f808584611782565b5b9050610fd581600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161107591906119e9565b60405180910390a360019150505b9392505050565b600080830361109c57600090506110fe565b600082846110aa9190611f84565b90508284826110b99190611ff5565b146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612098565b60405180910390fd5b809150505b92915050565b600061114683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611923565b905092915050565b60006111d9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5d9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126e82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161130e91906119e9565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561138e5750600e60009054906101000a900460ff16155b80156113a65750600c60149054906101000a900460ff165b80156113f35750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff81111561143c5761143b6120b8565b5b60405190808252806020026020018201604052801561146a5781602001602082028036833780820191505090505b5090503081600081518110611482576114816120e7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154d919061212b565b81600181518110611561576115606120e7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115ff959493929190612251565b600060405180830381600087803b15801561161957600080fd5b505af115801561162d573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611682906122dc565b600060405180830381858888f193505050503d80600081146116c0576040519150601f19603f3d011682016040523d82523d6000602084013e6116c5565b606091505b5050905080611709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117009061233d565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806117ad606461179f6009548661108a90919063ffffffff16565b61110490919063ffffffff16565b905061180181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c590919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118a191906119e9565b60405180910390a36118bc818461198690919063ffffffff16565b91505092915050565b60008082846118d49190611ebe565b905083811015611919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611910906123a9565b60405180910390fd5b8091505092915050565b6000808311829061196a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119619190611a94565b60405180910390fd5b50600083856119799190611ff5565b9050809150509392505050565b60006119c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c5d565b905092915050565b6000819050919050565b6119e3816119d0565b82525050565b60006020820190506119fe60008301846119da565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a3e578082015181840152602081019050611a23565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a6682611a04565b611a708185611a0f565b9350611a80818560208601611a20565b611a8981611a4a565b840191505092915050565b60006020820190508181036000830152611aae8184611a5b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ae682611abb565b9050919050565b611af681611adb565b8114611b0157600080fd5b50565b600081359050611b1381611aed565b92915050565b611b22816119d0565b8114611b2d57600080fd5b50565b600081359050611b3f81611b19565b92915050565b60008060408385031215611b5c57611b5b611ab6565b5b6000611b6a85828601611b04565b9250506020611b7b85828601611b30565b9150509250929050565b60008115159050919050565b611b9a81611b85565b82525050565b6000602082019050611bb56000830184611b91565b92915050565b600080600060608486031215611bd457611bd3611ab6565b5b6000611be286828701611b04565b9350506020611bf386828701611b04565b9250506040611c0486828701611b30565b9150509250925092565b600060208284031215611c2457611c23611ab6565b5b6000611c3284828501611b04565b91505092915050565b600060ff82169050919050565b611c5181611c3b565b82525050565b6000602082019050611c6c6000830184611c48565b92915050565b600060208284031215611c8857611c87611ab6565b5b6000611c9684828501611b30565b91505092915050565b611ca881611adb565b82525050565b6000602082019050611cc36000830184611c9f565b92915050565b60008060408385031215611ce057611cdf611ab6565b5b6000611cee85828601611b04565b9250506020611cff85828601611b04565b9150509250929050565b6000819050919050565b6000611d2e611d29611d2484611abb565b611d09565b611abb565b9050919050565b6000611d4082611d13565b9050919050565b6000611d5282611d35565b9050919050565b611d6281611d47565b82525050565b6000602082019050611d7d6000830184611d59565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611db9600683611a0f565b9150611dc482611d83565b602082019050919050565b60006020820190508181036000830152611de881611dac565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000611e25601d83611a0f565b9150611e3082611def565b602082019050919050565b60006020820190508181036000830152611e5481611e18565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e95826119d0565b9150611ea0836119d0565b9250828203905081811115611eb857611eb7611e5b565b5b92915050565b6000611ec9826119d0565b9150611ed4836119d0565b9250828201905080821115611eec57611eeb611e5b565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611f4e602583611a0f565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b6000611f8f826119d0565b9150611f9a836119d0565b9250828202611fa8816119d0565b91508282048414831517611fbf57611fbe611e5b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612000826119d0565b915061200b836119d0565b92508261201b5761201a611fc6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612082602183611a0f565b915061208d82612026565b604082019050919050565b600060208201905081810360008301526120b181612075565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212581611aed565b92915050565b60006020828403121561214157612140611ab6565b5b600061214f84828501612116565b91505092915050565b6000819050919050565b600061217d61217861217384612158565b611d09565b6119d0565b9050919050565b61218d81612162565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121c881611adb565b82525050565b60006121da83836121bf565b60208301905092915050565b6000602082019050919050565b60006121fe82612193565b612208818561219e565b9350612213836121af565b8060005b8381101561224457815161222b88826121ce565b9750612236836121e6565b925050600181019050612217565b5085935050505092915050565b600060a08201905061226660008301886119da565b6122736020830187612184565b818103604083015261228581866121f3565b90506122946060830185611c9f565b6122a160808301846119da565b9695505050505050565b600081905092915050565b50565b60006122c66000836122ab565b91506122d1826122b6565b600082019050919050565b60006122e7826122b9565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612327601e83611a0f565b9150612332826122f1565b602082019050919050565b600060208201905081810360008301526123568161231a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612393601b83611a0f565b915061239e8261235d565b602082019050919050565b600060208201905081810360008301526123c281612386565b905091905056fea2646970667358221220967d2a11b2a59e4b68b8a9b6ff0d83f5449f9bd7fcb91597a8f465df954a1d8964736f6c63430008130033

Deployed Bytecode Sourcemap

4617:6636:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5450:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6489:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7014:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6171:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7466:424;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2579:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6281:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9606:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5311:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5011:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5413:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6691:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2690:131;;;;;;;;;;;;;:::i;:::-;;6591:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6383:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5387:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7270:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6818;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9427:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5356:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5450:57;;;;:::o;6489:94::-;6537:13;6570:5;;;;;;;;;;;;;;;;;6563:12;;6489:94;:::o;7014:248::-;7116:4;7173:6;7138:11;:23;7150:10;7138:23;;;;;;;;;;;;;;;:32;7162:7;7138:32;;;;;;;;;;;;;;;:41;;;;7216:7;7195:37;;7204:10;7195:37;;;7225:6;7195:37;;;;;;:::i;:::-;;;;;;;;7250:4;7243:11;;7014:248;;;;:::o;6171:102::-;6226:7;6253:12;;6246:19;;6171:102;:::o;7466:424::-;7600:4;7656:17;7621:11;:19;7633:6;7621:19;;;;;;;;;;;;;;;:31;7641:10;7621:31;;;;;;;;;;;;;;;;:52;7617:206;;7724:87;7778:6;7724:87;;;;;;;;;;;;;;;;;:11;:19;7736:6;7724:19;;;;;;;;;;;;;;;:31;7744:10;7724:31;;;;;;;;;;;;;;;;:53;;:87;;;;;:::i;:::-;7690:11;:19;7702:6;7690:19;;;;;;;;;;;;;;;:31;7710:10;7690:31;;;;;;;;;;;;;;;:121;;;;7617:206;7842:40;7856:6;7864:9;7875:6;7842:13;:40::i;:::-;7835:47;;7466:424;;;;;:::o;2579:103::-;2634:4;2669:5;;;;;;;;;;;2658:16;;:7;:16;;;2651:23;;2579:103;;;:::o;6281:94::-;6333:5;4942:1;6351:16;;6281:94;:::o;9606:257::-;2521:19;2529:10;2521:7;:19::i;:::-;2513:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;9698:3:::1;9683:11;:18:::0;9679:177:::1;;9737:17;9718:16;:36;;;;9679:177;;;9806:38;9840:3;9806:29;9823:11;9806:12;;:16;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9787:16;:57;;;;9679:177;9606:257:::0;:::o;5311:38::-;;;;;;;;;;;;;:::o;5011:65::-;;;;:::o;5413:30::-;;;;;;;;;;;;;:::o;6691:119::-;6757:7;6784:9;:18;6794:7;6784:18;;;;;;;;;;;;;;;;6777:25;;6691:119;;;:::o;2690:131::-;2521:19;2529:10;2521:7;:19::i;:::-;2513:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2763:1:::1;2747:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2781:32;2810:1;2781:32;;;;;;:::i;:::-;;;;;;;;2690:131::o:0;6591:92::-;6643:7;6670:5;;;;;;;;;;;6663:12;;6591:92;:::o;6383:98::-;6433:13;6466:7;;;;;;;;;;;;;;;;;6459:14;;6383:98;:::o;5387:19::-;;;;;;;;;;;;;:::o;7270:188::-;7377:4;7406:44;7420:10;7432:9;7443:6;7406:13;:44::i;:::-;7399:51;;7270:188;;;;:::o;6818:::-;6938:7;6970:11;:19;6982:6;6970:19;;;;;;;;;;;;;;;:28;6990:7;6970:28;;;;;;;;;;;;;;;;6963:35;;6818:188;;;;:::o;9427:171::-;2521:19;2529:10;2521:7;:19::i;:::-;2513:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;9521:2:::1;9507:10;:16;;9499:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9580:10;9568:9;:22;;;;9427:171:::0;:::o;5356:24::-;;;;;;;;;;;;;:::o;446:224::-;566:7;599:1;594;:6;;602:12;586:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;626:9;642:1;638;:5;;;;:::i;:::-;626:17;;661:1;654:8;;;446:224;;;;;:::o;7898:990::-;8024:4;8045:6;;;;;;;;;;;8041:87;;;8075:41;8090:6;8098:9;8109:6;8075:14;:41::i;:::-;8068:48;;;;8041:87;8157:4;;;;;;;;;;;8144:17;;:9;:17;;;;:38;;;;;8178:4;;;;;;;;;;;8165:17;;:9;:17;;;;8144:38;8140:270;;;8225:15;:26;8241:9;8225:26;;;;;;;;;;;;;;;;;;;;;;;;;:100;;;;8309:16;;8299:6;8276:9;:20;8286:9;8276:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8225:100;8199:199;;;;;;;;;;;;:::i;:::-;;;;;;;;;8140:270;8426:16;:14;:16::i;:::-;8422:59;;;8459:10;:8;:10::i;:::-;8422:59;8513:90;8549:6;8513:90;;;;;;;;;;;;;;;;;:9;:17;8523:6;8513:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;8493:9;:17;8503:6;8493:17;;;;;;;;;;;;;;;:110;;;;8616:22;8641:21;8655:6;8641:13;:21::i;:::-;:82;;8717:6;8641:82;;;8678:23;8686:6;8694;8678:7;:23::i;:::-;8641:82;8616:107;;8757:40;8782:14;8757:9;:20;8767:9;8757:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8734:9;:20;8744:9;8734:20;;;;;;;;;;;;;;;:63;;;;8832:9;8815:43;;8824:6;8815:43;;;8843:14;8815:43;;;;;;:::i;:::-;;;;;;;;8876:4;8869:11;;;7898:990;;;;;;:::o;678:246::-;736:7;765:1;760;:6;756:47;;790:1;783:8;;;;756:47;813:9;829:1;825;:5;;;;:::i;:::-;813:17;;858:1;853;849;:5;;;;:::i;:::-;:10;841:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;915:1;908:8;;;678:246;;;;;:::o;932:132::-;990:7;1017:39;1021:1;1024;1017:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1010:46;;932:132;;;;:::o;8896:401::-;9023:4;9060:90;9096:6;9060:90;;;;;;;;;;;;;;;;;:9;:17;9070:6;9060:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;9040:9;:17;9050:6;9040:17;;;;;;;;;;;;;;;:110;;;;9184:32;9209:6;9184:9;:20;9194:9;9184:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9161:9;:20;9171:9;9161:20;;;;;;;;;;;;;;;:55;;;;9249:9;9232:35;;9241:6;9232:35;;;9260:6;9232:35;;;;;;:::i;:::-;;;;;;;;9285:4;9278:11;;8896:401;;;;;:::o;10221:222::-;10270:4;10321;;;;;;;;;;;10307:18;;:10;:18;;;;:42;;;;;10343:6;;;;;;;;;;;10342:7;10307:42;:70;;;;;10366:11;;;;;;;;;;;10307:70;:128;;;;;10422:13;;10394:9;:24;10412:4;10394:24;;;;;;;;;;;;;;;;:41;;10307:128;10287:148;;10221:222;:::o;10451:799::-;5572:4;5563:6;;:13;;;;;;;;;;;;;;;;;;10500:28:::1;10531:13;;10500:44;;10555:20;10578;10555:43;;10611:21;10649:1;10635:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10611:40;;10680:4;10662;10667:1;10662:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10706:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10696:4;10701:1;10696:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10732:6;;;;;;;;;;;:57;;;10804:12;10831:1;10847:4;10874;10894:15;10732:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10933:26;10962:21;10933:50;;11011:21;11081:10;;;;;;;;;;;11073:24;;11105:18;11130:5;11073:99;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10996:176;;;11191:16;11183:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10489:761;;;;;5608:5:::0;5599:6;;:14;;;;;;;;;;;;;;;;;;10451:799::o;9305:114::-;9367:4;9392:11;:19;9404:6;9392:19;;;;;;;;;;;;;;;;;;;;;;;;;9391:20;9384:27;;9305:114;;;:::o;9871:342::-;9956:7;9981:17;10001:30;10027:3;10001:21;10012:9;;10001:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;9981:50;;10069:39;10098:9;10069;:24;10087:4;10069:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10042:9;:24;10060:4;10042:24;;;;;;;;;;;;;;;:66;;;;10149:4;10124:42;;10133:6;10124:42;;;10156:9;10124:42;;;;;;:::i;:::-;;;;;;;;10184:21;10195:9;10184:6;:10;;:21;;;;:::i;:::-;10177:28;;;9871:342;;;;:::o;115:179::-;173:7;193:9;209:1;205;:5;;;;:::i;:::-;193:17;;234:1;229;:6;;221:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;285:1;278:8;;;115:179;;;;:::o;1072:223::-;1192:7;1224:1;1220;:5;1227:12;1212:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1251:9;1267:1;1263;:5;;;;:::i;:::-;1251:17;;1286:1;1279:8;;;1072:223;;;;;:::o;302:136::-;360:7;387:43;391:1;394;387:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;380:50;;302:136;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:60::-;6383:3;6404:5;6397:12;;6355:60;;;:::o;6421:142::-;6471:9;6504:53;6522:34;6531:24;6549:5;6531:24;:::i;:::-;6522:34;:::i;:::-;6504:53;:::i;:::-;6491:66;;6421:142;;;:::o;6569:126::-;6619:9;6652:37;6683:5;6652:37;:::i;:::-;6639:50;;6569:126;;;:::o;6701:144::-;6769:9;6802:37;6833:5;6802:37;:::i;:::-;6789:50;;6701:144;;;:::o;6851:167::-;6956:55;7005:5;6956:55;:::i;:::-;6951:3;6944:68;6851:167;;:::o;7024:258::-;7135:4;7173:2;7162:9;7158:18;7150:26;;7186:89;7272:1;7261:9;7257:17;7248:6;7186:89;:::i;:::-;7024:258;;;;:::o;7288:156::-;7428:8;7424:1;7416:6;7412:14;7405:32;7288:156;:::o;7450:365::-;7592:3;7613:66;7677:1;7672:3;7613:66;:::i;:::-;7606:73;;7688:93;7777:3;7688:93;:::i;:::-;7806:2;7801:3;7797:12;7790:19;;7450:365;;;:::o;7821:419::-;7987:4;8025:2;8014:9;8010:18;8002:26;;8074:9;8068:4;8064:20;8060:1;8049:9;8045:17;8038:47;8102:131;8228:4;8102:131;:::i;:::-;8094:139;;7821:419;;;:::o;8246:179::-;8386:31;8382:1;8374:6;8370:14;8363:55;8246:179;:::o;8431:366::-;8573:3;8594:67;8658:2;8653:3;8594:67;:::i;:::-;8587:74;;8670:93;8759:3;8670:93;:::i;:::-;8788:2;8783:3;8779:12;8772:19;;8431:366;;;:::o;8803:419::-;8969:4;9007:2;8996:9;8992:18;8984:26;;9056:9;9050:4;9046:20;9042:1;9031:9;9027:17;9020:47;9084:131;9210:4;9084:131;:::i;:::-;9076:139;;8803:419;;;:::o;9228:180::-;9276:77;9273:1;9266:88;9373:4;9370:1;9363:15;9397:4;9394:1;9387:15;9414:194;9454:4;9474:20;9492:1;9474:20;:::i;:::-;9469:25;;9508:20;9526:1;9508:20;:::i;:::-;9503:25;;9552:1;9549;9545:9;9537:17;;9576:1;9570:4;9567:11;9564:37;;;9581:18;;:::i;:::-;9564:37;9414:194;;;;:::o;9614:191::-;9654:3;9673:20;9691:1;9673:20;:::i;:::-;9668:25;;9707:20;9725:1;9707:20;:::i;:::-;9702:25;;9750:1;9747;9743:9;9736:16;;9771:3;9768:1;9765:10;9762:36;;;9778:18;;:::i;:::-;9762:36;9614:191;;;;:::o;9811:224::-;9951:34;9947:1;9939:6;9935:14;9928:58;10020:7;10015:2;10007:6;10003:15;9996:32;9811:224;:::o;10041:366::-;10183:3;10204:67;10268:2;10263:3;10204:67;:::i;:::-;10197:74;;10280:93;10369:3;10280:93;:::i;:::-;10398:2;10393:3;10389:12;10382:19;;10041:366;;;:::o;10413:419::-;10579:4;10617:2;10606:9;10602:18;10594:26;;10666:9;10660:4;10656:20;10652:1;10641:9;10637:17;10630:47;10694:131;10820:4;10694:131;:::i;:::-;10686:139;;10413:419;;;:::o;10838:410::-;10878:7;10901:20;10919:1;10901:20;:::i;:::-;10896:25;;10935:20;10953:1;10935:20;:::i;:::-;10930:25;;10990:1;10987;10983:9;11012:30;11030:11;11012:30;:::i;:::-;11001:41;;11191:1;11182:7;11178:15;11175:1;11172:22;11152:1;11145:9;11125:83;11102:139;;11221:18;;:::i;:::-;11102:139;10886:362;10838:410;;;;:::o;11254:180::-;11302:77;11299:1;11292:88;11399:4;11396:1;11389:15;11423:4;11420:1;11413:15;11440:185;11480:1;11497:20;11515:1;11497:20;:::i;:::-;11492:25;;11531:20;11549:1;11531:20;:::i;:::-;11526:25;;11570:1;11560:35;;11575:18;;:::i;:::-;11560:35;11617:1;11614;11610:9;11605:14;;11440:185;;;;:::o;11631:220::-;11771:34;11767:1;11759:6;11755:14;11748:58;11840:3;11835:2;11827:6;11823:15;11816:28;11631:220;:::o;11857:366::-;11999:3;12020:67;12084:2;12079:3;12020:67;:::i;:::-;12013:74;;12096:93;12185:3;12096:93;:::i;:::-;12214:2;12209:3;12205:12;12198:19;;11857:366;;;:::o;12229:419::-;12395:4;12433:2;12422:9;12418:18;12410:26;;12482:9;12476:4;12472:20;12468:1;12457:9;12453:17;12446:47;12510:131;12636:4;12510:131;:::i;:::-;12502:139;;12229:419;;;:::o;12654:180::-;12702:77;12699:1;12692:88;12799:4;12796:1;12789:15;12823:4;12820:1;12813:15;12840:180;12888:77;12885:1;12878:88;12985:4;12982:1;12975:15;13009:4;13006:1;12999:15;13026:143;13083:5;13114:6;13108:13;13099:22;;13130:33;13157:5;13130:33;:::i;:::-;13026:143;;;;:::o;13175:351::-;13245:6;13294:2;13282:9;13273:7;13269:23;13265:32;13262:119;;;13300:79;;:::i;:::-;13262:119;13420:1;13445:64;13501:7;13492:6;13481:9;13477:22;13445:64;:::i;:::-;13435:74;;13391:128;13175:351;;;;:::o;13532:85::-;13577:7;13606:5;13595:16;;13532:85;;;:::o;13623:158::-;13681:9;13714:61;13732:42;13741:32;13767:5;13741:32;:::i;:::-;13732:42;:::i;:::-;13714:61;:::i;:::-;13701:74;;13623:158;;;:::o;13787:147::-;13882:45;13921:5;13882:45;:::i;:::-;13877:3;13870:58;13787:147;;:::o;13940:114::-;14007:6;14041:5;14035:12;14025:22;;13940:114;;;:::o;14060:184::-;14159:11;14193:6;14188:3;14181:19;14233:4;14228:3;14224:14;14209:29;;14060:184;;;;:::o;14250:132::-;14317:4;14340:3;14332:11;;14370:4;14365:3;14361:14;14353:22;;14250:132;;;:::o;14388:108::-;14465:24;14483:5;14465:24;:::i;:::-;14460:3;14453:37;14388:108;;:::o;14502:179::-;14571:10;14592:46;14634:3;14626:6;14592:46;:::i;:::-;14670:4;14665:3;14661:14;14647:28;;14502:179;;;;:::o;14687:113::-;14757:4;14789;14784:3;14780:14;14772:22;;14687:113;;;:::o;14836:732::-;14955:3;14984:54;15032:5;14984:54;:::i;:::-;15054:86;15133:6;15128:3;15054:86;:::i;:::-;15047:93;;15164:56;15214:5;15164:56;:::i;:::-;15243:7;15274:1;15259:284;15284:6;15281:1;15278:13;15259:284;;;15360:6;15354:13;15387:63;15446:3;15431:13;15387:63;:::i;:::-;15380:70;;15473:60;15526:6;15473:60;:::i;:::-;15463:70;;15319:224;15306:1;15303;15299:9;15294:14;;15259:284;;;15263:14;15559:3;15552:10;;14960:608;;;14836:732;;;;:::o;15574:831::-;15837:4;15875:3;15864:9;15860:19;15852:27;;15889:71;15957:1;15946:9;15942:17;15933:6;15889:71;:::i;:::-;15970:80;16046:2;16035:9;16031:18;16022:6;15970:80;:::i;:::-;16097:9;16091:4;16087:20;16082:2;16071:9;16067:18;16060:48;16125:108;16228:4;16219:6;16125:108;:::i;:::-;16117:116;;16243:72;16311:2;16300:9;16296:18;16287:6;16243:72;:::i;:::-;16325:73;16393:3;16382:9;16378:19;16369:6;16325:73;:::i;:::-;15574:831;;;;;;;;:::o;16411:147::-;16512:11;16549:3;16534:18;;16411:147;;;;:::o;16564:114::-;;:::o;16684:398::-;16843:3;16864:83;16945:1;16940:3;16864:83;:::i;:::-;16857:90;;16956:93;17045:3;16956:93;:::i;:::-;17074:1;17069:3;17065:11;17058:18;;16684:398;;;:::o;17088:379::-;17272:3;17294:147;17437:3;17294:147;:::i;:::-;17287:154;;17458:3;17451:10;;17088:379;;;:::o;17473:180::-;17613:32;17609:1;17601:6;17597:14;17590:56;17473:180;:::o;17659:366::-;17801:3;17822:67;17886:2;17881:3;17822:67;:::i;:::-;17815:74;;17898:93;17987:3;17898:93;:::i;:::-;18016:2;18011:3;18007:12;18000:19;;17659:366;;;:::o;18031:419::-;18197:4;18235:2;18224:9;18220:18;18212:26;;18284:9;18278:4;18274:20;18270:1;18259:9;18255:17;18248:47;18312:131;18438:4;18312:131;:::i;:::-;18304:139;;18031:419;;;:::o;18456:177::-;18596:29;18592:1;18584:6;18580:14;18573:53;18456:177;:::o;18639:366::-;18781:3;18802:67;18866:2;18861:3;18802:67;:::i;:::-;18795:74;;18878:93;18967:3;18878:93;:::i;:::-;18996:2;18991:3;18987:12;18980:19;;18639:366;;;:::o;19011:419::-;19177:4;19215:2;19204:9;19200:18;19192:26;;19264:9;19258:4;19254:20;19250:1;19239:9;19235:17;19228:47;19292:131;19418:4;19292:131;:::i;:::-;19284:139;;19011:419;;;:::o

Swarm Source

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