ETH Price: $3,290.69 (+1.37%)
Gas: 1 Gwei

Token

Dejitaru Saru (DEJITARUSARU)
 

Overview

Max Total Supply

100,000,000 DEJITARUSARU

Holders

85

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.412113881653818482 DEJITARUSARU

Value
$0.00
0xe80fc29f7258f430ac5a58fb20cbf4dfbd55dda4
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:
DejitaruSaru

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-22
*/

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

/*

t.me/DejitaruSaru

Monkey See, Monkey do...

*/

abstract contract Ownable {
    address private _owner;

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

    constructor() {
        _transferOwnership(msg.sender);
    }

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

}

interface IERC20 {

    function balanceOf(address account) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function approve(address spender, 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);
    function transfer(address recipient, uint256 amount) external returns (bool);



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

}

interface IERC20Metadata is IERC20 {

    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);

}

contract ERC20 is IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _symbol;
    string private _name;
    mapping(address => mapping(address => uint256)) private _allowances;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from zero address");
        require(recipient != address(0), "ERC20: transfer to zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount greater than balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount greater than allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

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

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(msg.sender, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (
        uint256 amountToken,
        uint256 amountETH,
        uint256 liquidity
    );
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract DejitaruSaru is ERC20, Ownable {

    uint256 public buyLiquidityFee;
    uint256 public tokensForLiquidity;
    uint256 public sellTotalFees;
    uint256 public maxWallet;
    uint256 public maxTransactionAmount;
    address public immutable liquidityPair;
    mapping(address => bool) private feeExcluded;
    address public treasuryWallet;
    bool private swapping;
    uint256 public feeDenominator = 1000;
    uint256 public buyTreasuryFee;

    uint256 public tokensForTreasury;
    uint256 public buyTotalFees;
    mapping(address => bool) public isExcludedMaxTransactionAmount;

    address public LPTokenRecipient;


    bool public limitsInEffect = true;
    IUniswapV2Router02 public immutable router;

    uint256 public sellTreasuryFee;
    uint256 public sellLiquidityFee;

    constructor(address router_, address treasuryWallet_, address LPTokenRecipient_) ERC20("Dejitaru Saru", "DEJITARUSARU") {

        router = IUniswapV2Router02(router_);

        isExcludedMaxTransactionAmount[address(router)] = true;

        liquidityPair = IUniswapV2Factory(
                router.factory()
        ).createPair(
            address(this),
            router.WETH()
        );
        isExcludedMaxTransactionAmount[address(liquidityPair)] = true;
        LPTokenRecipient = LPTokenRecipient_;
        treasuryWallet = treasuryWallet_;

        uint256 totalSupply = 100_000_000 * 1e18;

        uint256 _sellLiquidityFee = 20;
        uint256 _sellTreasuryFee = 20;
        uint256 _buyLiquidityFee = 20;
        uint256 _buyTreasuryFee = 20;

        feeExcluded[address(this)] = true;
        isExcludedMaxTransactionAmount[address(this)] = true;

        isExcludedMaxTransactionAmount[address(0xdead)] = true;
        buyLiquidityFee = _buyLiquidityFee;
        sellTreasuryFee = _sellTreasuryFee;
        sellLiquidityFee = _sellLiquidityFee;
        feeExcluded[address(0xdead)] = true;
        buyTreasuryFee = _buyTreasuryFee;

        buyTotalFees = buyLiquidityFee + buyTreasuryFee;
        sellTotalFees = sellLiquidityFee + sellTreasuryFee;

        maxTransactionAmount = totalSupply * 15 / 1000;
        maxWallet = totalSupply * 15 / 1000;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(address(this), totalSupply);
    }

    receive() external payable {}

    function _addLiquidity(uint256 tokenAmount, uint256 ethAmount, address tokenRecipient) internal {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            tokenRecipient,
            block.timestamp
        );
    }

    function addInitialLiquidity() external payable onlyOwner {
        _addLiquidity(balanceOf(address(this)), msg.value, treasuryWallet);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0xdead) &&
                !swapping
            ) {

                if (
                    from == liquidityPair &&
                    !isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

                else if (
                    to == liquidityPair &&
                    !isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                } else if (!isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }
            }
        }

        if (
            !swapping &&
            from != liquidityPair &&
            !feeExcluded[from] &&
            !feeExcluded[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        bool takeFee = !swapping;

        if (feeExcluded[from] || feeExcluded[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        if (takeFee) {
            if (to == liquidityPair && sellTotalFees > 0) {
                fees = amount * sellTotalFees / feeDenominator;
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForTreasury += (fees * sellTreasuryFee) / sellTotalFees;
            }

            else if (from == liquidityPair && buyTotalFees > 0) {
                fees = amount * buyTotalFees / feeDenominator;
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForTreasury += (fees * buyTreasuryFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

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

    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    function swapBack() internal {
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForTreasury;
        uint256 contractBalance = balanceOf(address(this));

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            // Reset to 0
            contractBalance = 0;
            totalTokensToSwap = 0;
            return;
        }

        uint256 lp = (contractBalance * tokensForLiquidity) / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance - lp;
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH);
        uint256 ethBalance = (address(this).balance) - initialETHBalance;
        uint256 ethForTreasury = ethBalance * tokensForTreasury / totalTokensToSwap;
        uint256 ethForLiquidity = ethBalance - ethForTreasury;
        tokensForTreasury = 0;
        tokensForLiquidity = 0;

        if (lp > 0 && ethForLiquidity > 0) {
            _addLiquidity(lp, ethForLiquidity, LPTokenRecipient);
        }

        if (address(this).balance > 0) {
            bool success;
            (success, ) = address(treasuryWallet).call{value: address(this).balance}("");
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"treasuryWallet_","type":"address"},{"internalType":"address","name":"LPTokenRecipient_","type":"address"}],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LPTokenRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addInitialLiquidity","outputs":[],"stateMutability":"payable","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":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTreasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTreasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTreasury","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526103e8600d556012805460ff60a01b1916600160a01b1790553480156200002a57600080fd5b5060405162002280380380620022808339810160408190526200004d916200050c565b6040518060400160405280600d81526020016c44656a6974617275205361727560981b8152506040518060400160405280600c81526020016b44454a49544152555341525560a01b8152508160039081620000a99190620005fb565b506002620000b88282620005fb565b505050620000cc33620003b560201b60201c565b6001600160a01b03831660a0819052600081815260116020908152604091829020805460ff19166001179055815163c45a015560e01b8152915163c45a01559260048082019392918290030181865afa1580156200012e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001549190620006c7565b6001600160a01b031663c9c653963060a0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca9190620006c7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e9190620006c7565b6001600160a01b03908116608081905260009081526011602081815260408084208054600160ff199182168117909255601280546001600160a01b03199081168a8a1617909155600c8054909116978a1697909717909655308552600b8084528286208054881683179055938352908420805486168217905561dead9093527f97847ee99463795296047093514439c3127772df3715e628aa85601cf854171680548516841790556014600681905560138190558080559190527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac34158054909316909117909155600e8190556a52b7d2dcc80cd2e40000009080808062000345818062000702565b6010556013546014546200035a919062000702565b6008556103e86200036d86600f6200071e565b62000379919062000738565b600a556103e86200038c86600f6200071e565b62000398919062000738565b600955620003a7308662000407565b50505050505050506200075b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620004625760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806001600082825462000476919062000702565b90915550506001600160a01b03821660009081526020819052604081208054839290620004a590849062000702565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200050757600080fd5b919050565b6000806000606084860312156200052257600080fd5b6200052d84620004ef565b92506200053d60208501620004ef565b91506200054d60408501620004ef565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200058157607f821691505b602082108103620005a257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005f657600081815260208120601f850160051c81016020861015620005d15750805b601f850160051c820191505b81811015620005f257828155600101620005dd565b5050505b505050565b81516001600160401b0381111562000617576200061762000556565b6200062f816200062884546200056c565b84620005a8565b602080601f8311600181146200066757600084156200064e5750858301515b600019600386901b1c1916600185901b178555620005f2565b600085815260208120601f198616915b82811015620006985788860151825594840194600190910190840162000677565b5085821015620006b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620006da57600080fd5b620006e582620004ef565b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115620007185762000718620006ec565b92915050565b8082028115828204841417620007185762000718620006ec565b6000826200075657634e487b7160e01b600052601260045260246000fd5b500490565b60805160a051611ab9620007c7600039600081816105e601528181610a1301528181610a780152818161163f015281816116f8015261173401526000818161046b01528181610d6401528181610e7401528181610fb4015281816110c2015261118d0152611ab96000f3fe6080604052600436106101f25760003560e01c806370a082311161010d578063c8c8ebe4116100a0578063f11a24d31161006f578063f11a24d314610588578063f2fde38b1461059e578063f6374342146105be578063f887ea40146105d4578063f8b45b051461060857600080fd5b8063c8c8ebe414610500578063cc2ffe7c14610516578063d85ba0631461052c578063dd62ed3e1461054257600080fd5b80638da5cb5b116100dc5780638da5cb5b1461048d57806395d89b41146104ab578063a457c2d7146104c0578063a9059cbb146104e057600080fd5b806370a08231146103f9578063715018a61461042f578063751039fc14610444578063808a54571461045957600080fd5b8063313ce567116101855780634bb2c785116101545780634bb2c785146103875780635c068a8c146103b75780636a486a8e146103cd5780636b2fb124146103e357600080fd5b8063313ce5671461030a57806339509351146103265780634626402b146103465780634a62bb651461036657600080fd5b806318160ddd116101c157806318160ddd146102875780631a8145bb1461029c57806323b872dd146102b25780632f28c7f6146102d257600080fd5b80630210a83d146101fe57806306fdde0314610208578063095ea7b314610233578063180b0d7e1461026357600080fd5b366101f957005b600080fd5b61020661061e565b005b34801561021457600080fd5b5061021d610689565b60405161022a91906117a0565b60405180910390f35b34801561023f57600080fd5b5061025361024e366004611803565b61071b565b604051901515815260200161022a565b34801561026f57600080fd5b50610279600d5481565b60405190815260200161022a565b34801561029357600080fd5b50600154610279565b3480156102a857600080fd5b5061027960075481565b3480156102be57600080fd5b506102536102cd36600461182f565b610732565b3480156102de57600080fd5b506012546102f2906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b34801561031657600080fd5b506040516012815260200161022a565b34801561033257600080fd5b50610253610341366004611803565b6107e1565b34801561035257600080fd5b50600c546102f2906001600160a01b031681565b34801561037257600080fd5b5060125461025390600160a01b900460ff1681565b34801561039357600080fd5b506102536103a2366004611870565b60116020526000908152604090205460ff1681565b3480156103c357600080fd5b50610279600e5481565b3480156103d957600080fd5b5061027960085481565b3480156103ef57600080fd5b5061027960135481565b34801561040557600080fd5b50610279610414366004611870565b6001600160a01b031660009081526020819052604090205490565b34801561043b57600080fd5b5061020661081d565b34801561045057600080fd5b50610253610860565b34801561046557600080fd5b506102f27f000000000000000000000000000000000000000000000000000000000000000081565b34801561049957600080fd5b506005546001600160a01b03166102f2565b3480156104b757600080fd5b5061021d6108ae565b3480156104cc57600080fd5b506102536104db366004611803565b6108bd565b3480156104ec57600080fd5b506102536104fb366004611803565b610956565b34801561050c57600080fd5b50610279600a5481565b34801561052257600080fd5b50610279600f5481565b34801561053857600080fd5b5061027960105481565b34801561054e57600080fd5b5061027961055d366004611894565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561059457600080fd5b5061027960065481565b3480156105aa57600080fd5b506102066105b9366004611870565b610963565b3480156105ca57600080fd5b5061027960145481565b3480156105e057600080fd5b506102f27f000000000000000000000000000000000000000000000000000000000000000081565b34801561061457600080fd5b5061027960095481565b336106316005546001600160a01b031690565b6001600160a01b0316146106605760405162461bcd60e51b8152600401610657906118cd565b60405180910390fd5b3060009081526020819052604090205461068790600c5434906001600160a01b0316610a0d565b565b60606003805461069890611902565b80601f01602080910402602001604051908101604052809291908181526020018280546106c490611902565b80156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b5050505050905090565b6000610728338484610aef565b5060015b92915050565b600061073f848484610c13565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156107c95760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610657565b6107d68533858403610aef565b506001949350505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610728918590610818908690611952565b610aef565b336108306005546001600160a01b031690565b6001600160a01b0316146108565760405162461bcd60e51b8152600401610657906118cd565b6106876000611281565b6000336108756005546001600160a01b031690565b6001600160a01b03161461089b5760405162461bcd60e51b8152600401610657906118cd565b506012805460ff60a01b19169055600190565b60606002805461069890611902565b3360009081526004602090815260408083206001600160a01b03861684529091528120548281101561093f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610657565b61094c3385858403610aef565b5060019392505050565b6000610728338484610c13565b336109766005546001600160a01b031690565b6001600160a01b03161461099c5760405162461bcd60e51b8152600401610657906118cd565b6001600160a01b038116610a015760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610657565b610a0a81611281565b50565b610a38307f000000000000000000000000000000000000000000000000000000000000000085610aef565b60405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0382811660848301524260a48301527f0000000000000000000000000000000000000000000000000000000000000000169063f305d71990849060c40160606040518083038185885af1158015610ac2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ae79190611965565b505050505050565b6001600160a01b038316610b515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610657565b6001600160a01b038216610bb25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610657565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610657565b6001600160a01b038216610cd95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610657565b80600003610cf257610ced838360006112d3565b505050565b601254600160a01b900460ff1615610f9d576005546001600160a01b03848116911614801590610d3057506005546001600160a01b03838116911614155b8015610d4757506001600160a01b03821661dead14155b8015610d5d5750600c54600160a01b900460ff16155b15610f9d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316148015610dbc57506001600160a01b03821660009081526011602052604090205460ff16155b15610e7257600a54811115610e0c5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610657565b6009546001600160a01b038316600090815260208190526040902054610e329083611952565b1115610e6d5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610657565b610f9d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148015610ecc57506001600160a01b03831660009081526011602052604090205460ff16155b15610f1c57600a54811115610e6d5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610657565b6001600160a01b03821660009081526011602052604090205460ff16610f9d576009546001600160a01b038316600090815260208190526040902054610f629083611952565b1115610f9d5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610657565b600c54600160a01b900460ff16158015610fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b801561100e57506001600160a01b0383166000908152600b602052604090205460ff16155b801561103357506001600160a01b0382166000908152600b602052604090205460ff16155b1561106157600c805460ff60a01b1916600160a01b179055611053611497565b600c805460ff60a01b191690555b600c546001600160a01b0384166000908152600b602052604090205460ff600160a01b9092048216159116806110af57506001600160a01b0383166000908152600b602052604090205460ff165b156110b8575060005b6000811561126f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614801561110357506000600854115b1561118b57600d546008546111189085611993565b61112291906119aa565b9050600854601454826111359190611993565b61113f91906119aa565b600760008282546111509190611952565b90915550506008546013546111659083611993565b61116f91906119aa565b600f60008282546111809190611952565b909155506112519050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161480156111ce57506000601054115b1561125157600d546010546111e39085611993565b6111ed91906119aa565b9050601054600654826112009190611993565b61120a91906119aa565b6007600082825461121b9190611952565b9091555050601054600e546112309083611993565b61123a91906119aa565b600f600082825461124b9190611952565b90915550505b8015611262576112628530836112d3565b61126c81846119cc565b92505b61127a8585856112d3565b5050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166113335760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610657565b6001600160a01b0382166113895760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610657565b6001600160a01b038316600090815260208190526040902054818110156114065760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610657565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061143d908490611952565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148991815260200190565b60405180910390a350505050565b6000600f546007546114a99190611952565b306000908152602081905260409020549091508015806114c7575081155b156114d0575050565b6000600283600754846114e39190611993565b6114ed91906119aa565b6114f791906119aa565b9050600061150582846119cc565b905047611511826115e8565b600061151d82476119cc565b9050600086600f54836115309190611993565b61153a91906119aa565b9050600061154882846119cc565b6000600f819055600755905085158015906115635750600081115b156115815760125461158190879083906001600160a01b0316610a0d565b47156115de57600c546040516000916001600160a01b03169047908381818185875af1925050503d80600081146115d4576040519150601f19603f3d011682016040523d82523d6000602084013e6115d9565b606091505b505050505b5050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061161d5761161d6119df565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf91906119f5565b816001815181106116d2576116d26119df565b60200260200101906001600160a01b031690816001600160a01b03168152505061171d307f000000000000000000000000000000000000000000000000000000000000000084610aef565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611772908590600090869030904290600401611a12565b600060405180830381600087803b15801561178c57600080fd5b505af1158015610ae7573d6000803e3d6000fd5b600060208083528351808285015260005b818110156117cd578581018301518582016040015282016117b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a0a57600080fd5b6000806040838503121561181657600080fd5b8235611821816117ee565b946020939093013593505050565b60008060006060848603121561184457600080fd5b833561184f816117ee565b9250602084013561185f816117ee565b929592945050506040919091013590565b60006020828403121561188257600080fd5b813561188d816117ee565b9392505050565b600080604083850312156118a757600080fd5b82356118b2816117ee565b915060208301356118c2816117ee565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061191657607f821691505b60208210810361193657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072c5761072c61193c565b60008060006060848603121561197a57600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761072c5761072c61193c565b6000826119c757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561072c5761072c61193c565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a0757600080fd5b815161188d816117ee565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a625784516001600160a01b031683529383019391830191600101611a3d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203e75ce76f96fe82847312afab98e69699159fe5ec44c0709fec6e9721f85119664736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000ba6509e3fa06906c79a8b2b8859be74228783b36000000000000000000000000000000000000000000000000000000000000dead

Deployed Bytecode

0x6080604052600436106101f25760003560e01c806370a082311161010d578063c8c8ebe4116100a0578063f11a24d31161006f578063f11a24d314610588578063f2fde38b1461059e578063f6374342146105be578063f887ea40146105d4578063f8b45b051461060857600080fd5b8063c8c8ebe414610500578063cc2ffe7c14610516578063d85ba0631461052c578063dd62ed3e1461054257600080fd5b80638da5cb5b116100dc5780638da5cb5b1461048d57806395d89b41146104ab578063a457c2d7146104c0578063a9059cbb146104e057600080fd5b806370a08231146103f9578063715018a61461042f578063751039fc14610444578063808a54571461045957600080fd5b8063313ce567116101855780634bb2c785116101545780634bb2c785146103875780635c068a8c146103b75780636a486a8e146103cd5780636b2fb124146103e357600080fd5b8063313ce5671461030a57806339509351146103265780634626402b146103465780634a62bb651461036657600080fd5b806318160ddd116101c157806318160ddd146102875780631a8145bb1461029c57806323b872dd146102b25780632f28c7f6146102d257600080fd5b80630210a83d146101fe57806306fdde0314610208578063095ea7b314610233578063180b0d7e1461026357600080fd5b366101f957005b600080fd5b61020661061e565b005b34801561021457600080fd5b5061021d610689565b60405161022a91906117a0565b60405180910390f35b34801561023f57600080fd5b5061025361024e366004611803565b61071b565b604051901515815260200161022a565b34801561026f57600080fd5b50610279600d5481565b60405190815260200161022a565b34801561029357600080fd5b50600154610279565b3480156102a857600080fd5b5061027960075481565b3480156102be57600080fd5b506102536102cd36600461182f565b610732565b3480156102de57600080fd5b506012546102f2906001600160a01b031681565b6040516001600160a01b03909116815260200161022a565b34801561031657600080fd5b506040516012815260200161022a565b34801561033257600080fd5b50610253610341366004611803565b6107e1565b34801561035257600080fd5b50600c546102f2906001600160a01b031681565b34801561037257600080fd5b5060125461025390600160a01b900460ff1681565b34801561039357600080fd5b506102536103a2366004611870565b60116020526000908152604090205460ff1681565b3480156103c357600080fd5b50610279600e5481565b3480156103d957600080fd5b5061027960085481565b3480156103ef57600080fd5b5061027960135481565b34801561040557600080fd5b50610279610414366004611870565b6001600160a01b031660009081526020819052604090205490565b34801561043b57600080fd5b5061020661081d565b34801561045057600080fd5b50610253610860565b34801561046557600080fd5b506102f27f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d133881565b34801561049957600080fd5b506005546001600160a01b03166102f2565b3480156104b757600080fd5b5061021d6108ae565b3480156104cc57600080fd5b506102536104db366004611803565b6108bd565b3480156104ec57600080fd5b506102536104fb366004611803565b610956565b34801561050c57600080fd5b50610279600a5481565b34801561052257600080fd5b50610279600f5481565b34801561053857600080fd5b5061027960105481565b34801561054e57600080fd5b5061027961055d366004611894565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561059457600080fd5b5061027960065481565b3480156105aa57600080fd5b506102066105b9366004611870565b610963565b3480156105ca57600080fd5b5061027960145481565b3480156105e057600080fd5b506102f27f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561061457600080fd5b5061027960095481565b336106316005546001600160a01b031690565b6001600160a01b0316146106605760405162461bcd60e51b8152600401610657906118cd565b60405180910390fd5b3060009081526020819052604090205461068790600c5434906001600160a01b0316610a0d565b565b60606003805461069890611902565b80601f01602080910402602001604051908101604052809291908181526020018280546106c490611902565b80156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b5050505050905090565b6000610728338484610aef565b5060015b92915050565b600061073f848484610c13565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156107c95760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526c68616e20616c6c6f77616e636560981b6064820152608401610657565b6107d68533858403610aef565b506001949350505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610728918590610818908690611952565b610aef565b336108306005546001600160a01b031690565b6001600160a01b0316146108565760405162461bcd60e51b8152600401610657906118cd565b6106876000611281565b6000336108756005546001600160a01b031690565b6001600160a01b03161461089b5760405162461bcd60e51b8152600401610657906118cd565b506012805460ff60a01b19169055600190565b60606002805461069890611902565b3360009081526004602090815260408083206001600160a01b03861684529091528120548281101561093f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610657565b61094c3385858403610aef565b5060019392505050565b6000610728338484610c13565b336109766005546001600160a01b031690565b6001600160a01b03161461099c5760405162461bcd60e51b8152600401610657906118cd565b6001600160a01b038116610a015760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610657565b610a0a81611281565b50565b610a38307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d85610aef565b60405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0382811660848301524260a48301527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063f305d71990849060c40160606040518083038185885af1158015610ac2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ae79190611965565b505050505050565b6001600160a01b038316610b515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610657565b6001600160a01b038216610bb25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610657565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c775760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610657565b6001600160a01b038216610cd95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610657565b80600003610cf257610ced838360006112d3565b505050565b601254600160a01b900460ff1615610f9d576005546001600160a01b03848116911614801590610d3057506005546001600160a01b03838116911614155b8015610d4757506001600160a01b03821661dead14155b8015610d5d5750600c54600160a01b900460ff16155b15610f9d577f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d13386001600160a01b0316836001600160a01b0316148015610dbc57506001600160a01b03821660009081526011602052604090205460ff16155b15610e7257600a54811115610e0c5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610657565b6009546001600160a01b038316600090815260208190526040902054610e329083611952565b1115610e6d5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610657565b610f9d565b7f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d13386001600160a01b0316826001600160a01b0316148015610ecc57506001600160a01b03831660009081526011602052604090205460ff16155b15610f1c57600a54811115610e6d5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610657565b6001600160a01b03821660009081526011602052604090205460ff16610f9d576009546001600160a01b038316600090815260208190526040902054610f629083611952565b1115610f9d5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610657565b600c54600160a01b900460ff16158015610fe957507f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d13386001600160a01b0316836001600160a01b031614155b801561100e57506001600160a01b0383166000908152600b602052604090205460ff16155b801561103357506001600160a01b0382166000908152600b602052604090205460ff16155b1561106157600c805460ff60a01b1916600160a01b179055611053611497565b600c805460ff60a01b191690555b600c546001600160a01b0384166000908152600b602052604090205460ff600160a01b9092048216159116806110af57506001600160a01b0383166000908152600b602052604090205460ff165b156110b8575060005b6000811561126f577f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d13386001600160a01b0316846001600160a01b031614801561110357506000600854115b1561118b57600d546008546111189085611993565b61112291906119aa565b9050600854601454826111359190611993565b61113f91906119aa565b600760008282546111509190611952565b90915550506008546013546111659083611993565b61116f91906119aa565b600f60008282546111809190611952565b909155506112519050565b7f000000000000000000000000f8d5c18a4ae6aca11d22a6b3a5b279d5095d13386001600160a01b0316856001600160a01b03161480156111ce57506000601054115b1561125157600d546010546111e39085611993565b6111ed91906119aa565b9050601054600654826112009190611993565b61120a91906119aa565b6007600082825461121b9190611952565b9091555050601054600e546112309083611993565b61123a91906119aa565b600f600082825461124b9190611952565b90915550505b8015611262576112628530836112d3565b61126c81846119cc565b92505b61127a8585856112d3565b5050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166113335760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610657565b6001600160a01b0382166113895760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610657565b6001600160a01b038316600090815260208190526040902054818110156114065760405162461bcd60e51b815260206004820152602b60248201527f45524332303a207472616e7366657220616d6f756e742067726561746572207460448201526a68616e2062616c616e636560a81b6064820152608401610657565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061143d908490611952565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148991815260200190565b60405180910390a350505050565b6000600f546007546114a99190611952565b306000908152602081905260409020549091508015806114c7575081155b156114d0575050565b6000600283600754846114e39190611993565b6114ed91906119aa565b6114f791906119aa565b9050600061150582846119cc565b905047611511826115e8565b600061151d82476119cc565b9050600086600f54836115309190611993565b61153a91906119aa565b9050600061154882846119cc565b6000600f819055600755905085158015906115635750600081115b156115815760125461158190879083906001600160a01b0316610a0d565b47156115de57600c546040516000916001600160a01b03169047908381818185875af1925050503d80600081146115d4576040519150601f19603f3d011682016040523d82523d6000602084013e6115d9565b606091505b505050505b5050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061161d5761161d6119df565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bf91906119f5565b816001815181106116d2576116d26119df565b60200260200101906001600160a01b031690816001600160a01b03168152505061171d307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610aef565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611772908590600090869030904290600401611a12565b600060405180830381600087803b15801561178c57600080fd5b505af1158015610ae7573d6000803e3d6000fd5b600060208083528351808285015260005b818110156117cd578581018301518582016040015282016117b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a0a57600080fd5b6000806040838503121561181657600080fd5b8235611821816117ee565b946020939093013593505050565b60008060006060848603121561184457600080fd5b833561184f816117ee565b9250602084013561185f816117ee565b929592945050506040919091013590565b60006020828403121561188257600080fd5b813561188d816117ee565b9392505050565b600080604083850312156118a757600080fd5b82356118b2816117ee565b915060208301356118c2816117ee565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061191657607f821691505b60208210810361193657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072c5761072c61193c565b60008060006060848603121561197a57600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761072c5761072c61193c565b6000826119c757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561072c5761072c61193c565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a0757600080fd5b815161188d816117ee565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a625784516001600160a01b031683529383019391830191600101611a3d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203e75ce76f96fe82847312afab98e69699159fe5ec44c0709fec6e9721f85119664736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000ba6509e3fa06906c79a8b2b8859be74228783b36000000000000000000000000000000000000000000000000000000000000dead

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : treasuryWallet_ (address): 0xBA6509E3Fa06906c79a8B2b8859BE74228783B36
Arg [2] : LPTokenRecipient_ (address): 0x000000000000000000000000000000000000dEaD

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000ba6509e3fa06906c79a8b2b8859be74228783b36
Arg [2] : 000000000000000000000000000000000000000000000000000000000000dead


Deployed Bytecode Sourcemap

6745:7731:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9619:143;;;:::i;:::-;;4072:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2399:167;;;;;;;;;;-1:-1:-1;2399:167:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;2399:167:0;1023:187:1;7139:36:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;7139:36:0;1215:177:1;3956:108:0;;;;;;;;;;-1:-1:-1;4044:12:0;;3956:108;;6831:33;;;;;;;;;;;;;;;;3455:493;;;;;;;;;;-1:-1:-1;3455:493:0;;;;;:::i;:::-;;:::i;7364:31::-;;;;;;;;;;-1:-1:-1;7364:31:0;;;;-1:-1:-1;;;;;7364:31:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;7364:31:0;1858:203:1;2733:93:0;;;;;;;;;;-1:-1:-1;2733:93:0;;2816:2;2208:36:1;;2196:2;2181:18;2733:93:0;2066:184:1;4757:211:0;;;;;;;;;;-1:-1:-1;4757:211:0;;;;;:::i;:::-;;:::i;7075:29::-;;;;;;;;;;-1:-1:-1;7075:29:0;;;;-1:-1:-1;;;;;7075:29:0;;;7406:33;;;;;;;;;;-1:-1:-1;7406:33:0;;;;-1:-1:-1;;;7406:33:0;;;;;;7293:62;;;;;;;;;;-1:-1:-1;7293:62:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7182:29;;;;;;;;;;;;;;;;6871:28;;;;;;;;;;;;;;;;7497:30;;;;;;;;;;;;;;;;4976:127;;;;;;;;;;-1:-1:-1;4976:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5077:18:0;5050:7;5077:18;;;;;;;;;;;;4976:127;978:103;;;;;;;;;;;;;:::i;13129:121::-;;;;;;;;;;;;;:::i;6979:38::-;;;;;;;;;;;;;;;558:87;;;;;;;;;;-1:-1:-1;631:6:0;;-1:-1:-1;;;;;631:6:0;558:87;;4645:104;;;;;;;;;;;;;:::i;5111:409::-;;;;;;;;;;-1:-1:-1;5111:409:0;;;;;:::i;:::-;;:::i;4464:173::-;;;;;;;;;;-1:-1:-1;4464:173:0;;;;;:::i;:::-;;:::i;6937:35::-;;;;;;;;;;;;;;;;7220:32;;;;;;;;;;;;;;;;7259:27;;;;;;;;;;;;;;;;2574:151;;;;;;;;;;-1:-1:-1;2574:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2690:18:0;;;2663:7;2690:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2574:151;6794:30;;;;;;;;;;;;;;;;349:201;;;;;;;;;;-1:-1:-1;349:201:0;;;;;:::i;:::-;;:::i;7534:31::-;;;;;;;;;;;;;;;;7446:42;;;;;;;;;;;;;;;6906:24;;;;;;;;;;;;;;;;9619:143;903:10;892:7;631:6;;-1:-1:-1;;;;;631:6:0;;558:87;892:7;-1:-1:-1;;;;;892:21:0;;884:66;;;;-1:-1:-1;;;884:66:0;;;;;;;:::i;:::-;;;;;;;;;9720:4:::1;5050:7:::0;5077:18;;;;;;;;;;;9688:66:::1;::::0;9739:14:::1;::::0;9728:9:::1;::::0;-1:-1:-1;;;;;9739:14:0::1;9688:13;:66::i;:::-;9619:143::o:0;4072:100::-;4126:13;4159:5;4152:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4072:100;:::o;2399:167::-;2482:4;2499:37;2508:10;2520:7;2529:6;2499:8;:37::i;:::-;-1:-1:-1;2554:4:0;2399:167;;;;;:::o;3455:493::-;3595:4;3612:36;3622:6;3630:9;3641:6;3612:9;:36::i;:::-;-1:-1:-1;;;;;3688:19:0;;3661:24;3688:19;;;:11;:19;;;;;;;;3708:10;3688:31;;;;;;;;3738:26;;;;3730:84;;;;-1:-1:-1;;;3730:84:0;;4082:2:1;3730:84:0;;;4064:21:1;4121:2;4101:18;;;4094:30;4160:34;4140:18;;;4133:62;-1:-1:-1;;;4211:18:1;;;4204:43;4264:19;;3730:84:0;3880:409:1;3730:84:0;3850:55;3859:6;3867:10;3898:6;3879:16;:25;3850:8;:55::i;:::-;-1:-1:-1;3936:4:0;;3455:493;-1:-1:-1;;;;3455:493:0:o;4757:211::-;4871:10;4845:4;4892:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4892:32:0;;;;;;;;;;4845:4;;4862:76;;4883:7;;4892:45;;4927:10;;4892:45;:::i;:::-;4862:8;:76::i;978:103::-;903:10;892:7;631:6;;-1:-1:-1;;;;;631:6:0;;558:87;892:7;-1:-1:-1;;;;;892:21:0;;884:66;;;;-1:-1:-1;;;884:66:0;;;;;;;:::i;:::-;1043:30:::1;1070:1;1043:18;:30::i;13129:121::-:0;13181:4;903:10;892:7;631:6;;-1:-1:-1;;;;;631:6:0;;558:87;892:7;-1:-1:-1;;;;;892:21:0;;884:66;;;;-1:-1:-1;;;884:66:0;;;;;;;:::i;:::-;-1:-1:-1;13198:14:0::1;:22:::0;;-1:-1:-1;;;;13198:22:0::1;::::0;;;13129:121;:::o;4645:104::-;4701:13;4734:7;4727:14;;;;;:::i;5111:409::-;5260:10;5204:4;5248:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5248:32:0;;;;;;;;;;5299:35;;;;5291:85;;;;-1:-1:-1;;;5291:85:0;;4758:2:1;5291:85:0;;;4740:21:1;4797:2;4777:18;;;4770:30;4836:34;4816:18;;;4809:62;-1:-1:-1;;;4887:18:1;;;4880:35;4932:19;;5291:85:0;4556:401:1;5291:85:0;5412:65;5421:10;5433:7;5461:15;5442:16;:34;5412:8;:65::i;:::-;-1:-1:-1;5508:4:0;;5111:409;-1:-1:-1;;;5111:409:0:o;4464:173::-;4550:4;4567:40;4577:10;4589:9;4600:6;4567:9;:40::i;349:201::-;903:10;892:7;631:6;;-1:-1:-1;;;;;631:6:0;;558:87;892:7;-1:-1:-1;;;;;892:21:0;;884:66;;;;-1:-1:-1;;;884:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;438:22:0;::::1;430:73;;;::::0;-1:-1:-1;;;430:73:0;;5164:2:1;430:73:0::1;::::0;::::1;5146:21:1::0;5203:2;5183:18;;;5176:30;5242:34;5222:18;;;5215:62;-1:-1:-1;;;5293:18:1;;;5286:36;5339:19;;430:73:0::1;4962:402:1::0;430:73:0::1;514:28;533:8;514:18;:28::i;:::-;349:201:::0;:::o;9235:376::-;9342:53;9359:4;9374:6;9383:11;9342:8;:53::i;:::-;9406:197;;-1:-1:-1;;;9406:197:0;;9470:4;9406:197;;;5710:34:1;5760:18;;;5753:34;;;9516:1:0;5803:18:1;;;5796:34;;;5846:18;;;5839:34;-1:-1:-1;;;;;5910:15:1;;;5889:19;;;5882:44;9577:15:0;5942:19:1;;;5935:35;9406:6:0;:22;;;;9436:9;;5644:19:1;;9406:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9235:376;;;:::o;5528:380::-;-1:-1:-1;;;;;5664:19:0;;5656:68;;;;-1:-1:-1;;;5656:68:0;;6494:2:1;5656:68:0;;;6476:21:1;6533:2;6513:18;;;6506:30;6572:34;6552:18;;;6545:62;-1:-1:-1;;;6623:18:1;;;6616:34;6667:19;;5656:68:0;6292:400:1;5656:68:0;-1:-1:-1;;;;;5743:21:0;;5735:68;;;;-1:-1:-1;;;5735:68:0;;6899:2:1;5735:68:0;;;6881:21:1;6938:2;6918:18;;;6911:30;6977:34;6957:18;;;6950:62;-1:-1:-1;;;7028:18:1;;;7021:32;7070:19;;5735:68:0;6697:398:1;5735:68:0;-1:-1:-1;;;;;5816:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5868:32;;1361:25:1;;;5868:32:0;;1334:18:1;5868:32:0;;;;;;;5528:380;;;:::o;9770:2898::-;-1:-1:-1;;;;;9902:18:0;;9894:68;;;;-1:-1:-1;;;9894:68:0;;7302:2:1;9894:68:0;;;7284:21:1;7341:2;7321:18;;;7314:30;7380:34;7360:18;;;7353:62;-1:-1:-1;;;7431:18:1;;;7424:35;7476:19;;9894:68:0;7100:401:1;9894:68:0;-1:-1:-1;;;;;9981:16:0;;9973:64;;;;-1:-1:-1;;;9973:64:0;;7708:2:1;9973:64:0;;;7690:21:1;7747:2;7727:18;;;7720:30;7786:34;7766:18;;;7759:62;-1:-1:-1;;;7837:18:1;;;7830:33;7880:19;;9973:64:0;7506:399:1;9973:64:0;10054:6;10064:1;10054:11;10050:93;;10082:28;10098:4;10104:2;10108:1;10082:15;:28::i;:::-;9770:2898;;;:::o;10050:93::-;10159:14;;-1:-1:-1;;;10159:14:0;;;;10155:1257;;;631:6;;-1:-1:-1;;;;;10212:15:0;;;631:6;;10212:15;;;;:49;;-1:-1:-1;631:6:0;;-1:-1:-1;;;;;10248:13:0;;;631:6;;10248:13;;10212:49;:91;;;;-1:-1:-1;;;;;;10282:21:0;;10296:6;10282:21;;10212:91;:121;;;;-1:-1:-1;10325:8:0;;-1:-1:-1;;;10325:8:0;;;;10324:9;10212:121;10190:1211;;;10404:13;-1:-1:-1;;;;;10396:21:0;:4;-1:-1:-1;;;;;10396:21:0;;:81;;;;-1:-1:-1;;;;;;10443:34:0;;;;;;:30;:34;;;;;;;;10442:35;10396:81;10370:1016;;;10564:20;;10554:6;:30;;10520:138;;;;-1:-1:-1;;;10520:138:0;;8112:2:1;10520:138:0;;;8094:21:1;8151:2;8131:18;;;8124:30;-1:-1:-1;;;8170:18:1;;;8163:52;8232:18;;10520:138:0;7910:346:1;10520:138:0;10741:9;;-1:-1:-1;;;;;5077:18:0;;5050:7;5077:18;;;;;;;;;;;10715:22;;:6;:22;:::i;:::-;:35;;10681:131;;;;-1:-1:-1;;;10681:131:0;;8463:2:1;10681:131:0;;;8445:21:1;8502:2;8482:18;;;8475:30;-1:-1:-1;;;8521:18:1;;;8514:40;8571:18;;10681:131:0;8261:334:1;10681:131:0;10370:1016;;;10889:13;-1:-1:-1;;;;;10883:19:0;:2;-1:-1:-1;;;;;10883:19:0;;:81;;;;-1:-1:-1;;;;;;10928:36:0;;;;;;:30;:36;;;;;;;;10927:37;10883:81;10857:529;;;11051:20;;11041:6;:30;;11007:138;;;;-1:-1:-1;;;11007:138:0;;8112:2:1;11007:138:0;;;8094:21:1;8151:2;8131:18;;;8124:30;-1:-1:-1;;;8170:18:1;;;8163:52;8232:18;;11007:138:0;7910:346:1;10857:529:0;-1:-1:-1;;;;;11176:34:0;;;;;;:30;:34;;;;;;;;11171:215;;11295:9;;-1:-1:-1;;;;;5077:18:0;;5050:7;5077:18;;;;;;;;;;;11269:22;;:6;:22;:::i;:::-;:35;;11235:131;;;;-1:-1:-1;;;11235:131:0;;8463:2:1;11235:131:0;;;8445:21:1;8502:2;8482:18;;;8475:30;-1:-1:-1;;;8521:18:1;;;8514:40;8571:18;;11235:131:0;8261:334:1;11235:131:0;11443:8;;-1:-1:-1;;;11443:8:0;;;;11442:9;:47;;;;;11476:13;-1:-1:-1;;;;;11468:21:0;:4;-1:-1:-1;;;;;11468:21:0;;;11442:47;:82;;;;-1:-1:-1;;;;;;11507:17:0;;;;;;:11;:17;;;;;;;;11506:18;11442:82;:115;;;;-1:-1:-1;;;;;;11542:15:0;;;;;;:11;:15;;;;;;;;11541:16;11442:115;11424:247;;;11584:8;:15;;-1:-1:-1;;;;11584:15:0;-1:-1:-1;;;11584:15:0;;;11616:10;:8;:10::i;:::-;11643:8;:16;;-1:-1:-1;;;;11643:16:0;;;11424:247;11699:8;;-1:-1:-1;;;;;11724:17:0;;11683:12;11724:17;;;:11;:17;;;;;;11699:8;-1:-1:-1;;;11699:8:0;;;;;11698:9;;11724:17;;:36;;-1:-1:-1;;;;;;11745:15:0;;;;;;:11;:15;;;;;;;;11724:36;11720:84;;;-1:-1:-1;11787:5:0;11720:84;11816:12;11847:7;11843:772;;;11881:13;-1:-1:-1;;;;;11875:19:0;:2;-1:-1:-1;;;;;11875:19:0;;:40;;;;;11914:1;11898:13;;:17;11875:40;11871:595;;;11968:14;;11952:13;;11943:22;;:6;:22;:::i;:::-;:39;;;;:::i;:::-;11936:46;;12051:13;;12031:16;;12024:4;:23;;;;:::i;:::-;12023:41;;;;:::i;:::-;12001:18;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;;12131:13:0;;12112:15;;12105:22;;:4;:22;:::i;:::-;12104:40;;;;:::i;:::-;12083:17;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;11871:595:0;;-1:-1:-1;11871:595:0;;12193:13;-1:-1:-1;;;;;12185:21:0;:4;-1:-1:-1;;;;;12185:21:0;;:41;;;;;12225:1;12210:12;;:16;12185:41;12181:285;;;12278:14;;12263:12;;12254:21;;:6;:21;:::i;:::-;:38;;;;:::i;:::-;12247:45;;12360:12;;12341:15;;12334:4;:22;;;;:::i;:::-;12333:39;;;;:::i;:::-;12311:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;;12438:12:0;;12420:14;;12413:21;;:4;:21;:::i;:::-;12412:38;;;;:::i;:::-;12391:17;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;12181:285:0;12486:8;;12482:91;;12515:42;12531:4;12545;12552;12515:15;:42::i;:::-;12589:14;12599:4;12589:14;;:::i;:::-;;;11843:772;12627:33;12643:4;12649:2;12653:6;12627:15;:33::i;:::-;9883:2785;;9770:2898;;;:::o;653:191::-;746:6;;;-1:-1:-1;;;;;763:17:0;;;-1:-1:-1;;;;;;763:17:0;;;;;;;796:40;;746:6;;;763:17;746:6;;796:40;;727:16;;796:40;716:128;653:191;:::o;2834:613::-;-1:-1:-1;;;;;2974:20:0;;2966:66;;;;-1:-1:-1;;;2966:66:0;;9330:2:1;2966:66:0;;;9312:21:1;9369:2;9349:18;;;9342:30;9408:34;9388:18;;;9381:62;-1:-1:-1;;;9459:18:1;;;9452:31;9500:19;;2966:66:0;9128:397:1;2966:66:0;-1:-1:-1;;;;;3051:23:0;;3043:67;;;;-1:-1:-1;;;3043:67:0;;9732:2:1;3043:67:0;;;9714:21:1;9771:2;9751:18;;;9744:30;9810:33;9790:18;;;9783:61;9861:18;;3043:67:0;9530:355:1;3043:67:0;-1:-1:-1;;;;;3147:17:0;;3123:21;3147:17;;;;;;;;;;;3183:23;;;;3175:79;;;;-1:-1:-1;;;3175:79:0;;10092:2:1;3175:79:0;;;10074:21:1;10131:2;10111:18;;;10104:30;10170:34;10150:18;;;10143:62;-1:-1:-1;;;10221:18:1;;;10214:41;10272:19;;3175:79:0;9890:407:1;3175:79:0;-1:-1:-1;;;;;3290:17:0;;;:9;:17;;;;;;;;;;;3310:22;;;3290:42;;3354:20;;;;;;;;:30;;3326:6;;3290:9;3354:30;;3326:6;;3354:30;:::i;:::-;;;;;;;;3419:9;-1:-1:-1;;;;;3402:35:0;3411:6;-1:-1:-1;;;;;3402:35:0;;3430:6;3402:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;3402:35:0;;;;;;;;2955:492;2834:613;;;:::o;13258:1213::-;13298:25;13347:17;;13326:18;;:38;;;;:::i;:::-;13419:4;13375:23;5077:18;;;;;;;;;;;13298:66;;-1:-1:-1;13442:20:0;;;:46;;-1:-1:-1;13466:22:0;;13442:46;13438:182;;;-1:-1:-1;;13258:1213:0:o;13438:182::-;13632:10;13706:1;13686:17;13664:18;;13646:15;:36;;;;:::i;:::-;13645:58;;;;:::i;:::-;:62;;;;:::i;:::-;13632:75;-1:-1:-1;13718:26:0;13747:20;13632:75;13747:15;:20;:::i;:::-;13718:49;-1:-1:-1;13806:21:0;13838:36;13718:49;13838:16;:36::i;:::-;13885:18;13906:43;13932:17;13907:21;13906:43;:::i;:::-;13885:64;;13960:22;14018:17;13998;;13985:10;:30;;;;:::i;:::-;:50;;;;:::i;:::-;13960:75;-1:-1:-1;14046:23:0;14072:27;13960:75;14072:10;:27;:::i;:::-;14130:1;14110:17;:21;;;14142:18;:22;14046:53;-1:-1:-1;14181:6:0;;;;;:29;;;14209:1;14191:15;:19;14181:29;14177:114;;;14262:16;;14227:52;;14241:2;;14245:15;;-1:-1:-1;;;;;14262:16:0;14227:13;:52::i;:::-;14307:21;:25;14303:161;;14398:14;;14390:62;;14349:12;;-1:-1:-1;;;;;14398:14:0;;14426:21;;14349:12;14390:62;14349:12;14390:62;14426:21;14398:14;14390:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;14303:161:0;13287:1184;;;;;;;;13258:1213::o;12676:445::-;12767:16;;;12781:1;12767:16;;;;;;;;12743:21;;12767:16;;;;;;;;;;-1:-1:-1;12767:16:0;12743:40;;12812:4;12794;12799:1;12794:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12794:23:0;;;-1:-1:-1;;;;;12794:23:0;;;;;12838:6;-1:-1:-1;;;;;12838:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12828:4;12833:1;12828:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12828:23:0;;;-1:-1:-1;;;;;12828:23:0;;;;;12862:53;12879:4;12894:6;12903:11;12862:8;:53::i;:::-;12926:187;;-1:-1:-1;;;12926:187:0;;-1:-1:-1;;;;;12926:6:0;:57;;;;:187;;12998:11;;13024:1;;13040:4;;13067;;13087:15;;12926:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;3134:356::-;3336:2;3318:21;;;3355:18;;;3348:30;3414:34;3409:2;3394:18;;3387:62;3481:2;3466:18;;3134:356::o;3495:380::-;3574:1;3570:12;;;;3617;;;3638:61;;3692:4;3684:6;3680:17;3670:27;;3638:61;3745:2;3737:6;3734:14;3714:18;3711:38;3708:161;;3791:10;3786:3;3782:20;3779:1;3772:31;3826:4;3823:1;3816:15;3854:4;3851:1;3844:15;3708:161;;3495:380;;;:::o;4294:127::-;4355:10;4350:3;4346:20;4343:1;4336:31;4386:4;4383:1;4376:15;4410:4;4407:1;4400:15;4426:125;4491:9;;;4512:10;;;4509:36;;;4525:18;;:::i;5981:306::-;6069:6;6077;6085;6138:2;6126:9;6117:7;6113:23;6109:32;6106:52;;;6154:1;6151;6144:12;6106:52;6183:9;6177:16;6167:26;;6233:2;6222:9;6218:18;6212:25;6202:35;;6277:2;6266:9;6262:18;6256:25;6246:35;;5981:306;;;;;:::o;8600:168::-;8673:9;;;8704;;8721:15;;;8715:22;;8701:37;8691:71;;8742:18;;:::i;8773:217::-;8813:1;8839;8829:132;;8883:10;8878:3;8874:20;8871:1;8864:31;8918:4;8915:1;8908:15;8946:4;8943:1;8936:15;8829:132;-1:-1:-1;8975:9:1;;8773:217::o;8995:128::-;9062:9;;;9083:11;;;9080:37;;;9097:18;;:::i;10644:127::-;10705:10;10700:3;10696:20;10693:1;10686:31;10736:4;10733:1;10726:15;10760:4;10757:1;10750:15;10776:251;10846:6;10899:2;10887:9;10878:7;10874:23;10870:32;10867:52;;;10915:1;10912;10905:12;10867:52;10947:9;10941:16;10966:31;10991:5;10966:31;:::i;11032:980::-;11294:4;11342:3;11331:9;11327:19;11373:6;11362:9;11355:25;11399:2;11437:6;11432:2;11421:9;11417:18;11410:34;11480:3;11475:2;11464:9;11460:18;11453:31;11504:6;11539;11533:13;11570:6;11562;11555:22;11608:3;11597:9;11593:19;11586:26;;11647:2;11639:6;11635:15;11621:29;;11668:1;11678:195;11692:6;11689:1;11686:13;11678:195;;;11757:13;;-1:-1:-1;;;;;11753:39:1;11741:52;;11848:15;;;;11813:12;;;;11789:1;11707:9;11678:195;;;-1:-1:-1;;;;;;;11929:32:1;;;;11924:2;11909:18;;11902:60;-1:-1:-1;;;11993:3:1;11978:19;11971:35;11890:3;11032:980;-1:-1:-1;;;11032:980:1:o

Swarm Source

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