ETH Price: $2,365.68 (-3.93%)

Token

Ape Taxi (TAXI)
 

Overview

Max Total Supply

1,000,000,000 TAXI

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
17,078,664.000152547401965927 TAXI

Value
$0.00
0xfb1bc1b8c791324abd2264bdf326f11c0fc4064d
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:
TAXI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
    Website: https://apetaxieth.xyz
    X: https://x.com/ApeTaxiETH
    Telegram: https://t.me/ApeTaxiETH
 */


// SPDX-License-Identifier: UNLICENSE

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 owner() public view returns (address) {
        return _owner;
    }

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract TAXI 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;
    mapping(address => bool) private _isExcludedFromLimit;
    mapping(address => bool) private bots;
    address payable private _taxWallet;
    string private constant _name = "Ape Taxi";
    string private constant _symbol = "TAXI";

    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 15;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 5000 * 10**_decimals;
    uint256 public _maxTaxSwap = 10000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(0xAB728A7e802519fa95367A34CF9B691918d9c438);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[_taxWallet] = true;

        _isExcludedFromLimit[owner()] = true;
        _isExcludedFromLimit[address(this)] = true;
        _isExcludedFromLimit[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxRate = 0;

        if (
            from != owner() &&
            to != owner() &&
            from != address(this) &&
            to != address(this)
        ) {
            require(!bots[from] && !bots[to]);
            taxRate = (_buyCount >= _reduceBuyTaxAt)
                ? _finalBuyTax
                : _initialBuyTax;

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromLimit[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxRate = !_isExcludedFromFee[from]
                    ? (_buyCount >= _reduceSellTaxAt)
                        ? _finalSellTax
                        : _initialSellTax
                    : 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                amount > _taxSwapThreshold &&
                _buyCount >= _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                uint256 swapAmount = min(contractTokenBalance, _maxTaxSwap);
                if (swapAmount > _taxSwapThreshold) {
                    swapTokensForEth(swapAmount);
                }

                sendETHToFee(address(this).balance);
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        uint256 tookAmount = getTax(from, to, amount, taxRate);

        _balances[to] = _balances[to].add(tookAmount);
        emit Transfer(from, to, tookAmount);
    }

    function getTax(
        address from,
        address to,
        uint256 amount,
        uint256 taxRate
    ) internal returns (uint256) {
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            return amount;
        }
        uint256 taxAmount = amount.mul(taxRate).div(100);

        _balances[from] = _balances[from].sub(amount);
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        return amount.sub(taxAmount);
    }

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

    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 removeLimit() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

    function conMev(address[] memory notbot) public onlyOwner {
        for (uint256 i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function lowMev(address a) public view returns (bool) {
        return bots[a];
    }

    function openTrading() public onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function manualsend() external {
        require(_msgSender() == _taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":"bots_","type":"address[]"}],"name":"addBots","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"conMev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"lowMev","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

6080604052601e600755601e60085560006009556000600a55600f600b55600f600c55600f600d556000600e556012600a6200003c919062000336565b6200004c906301312d006200034e565b600f556200005d6012600a62000336565b6200006d906301312d006200034e565b6010556200007e6012600a62000336565b6200008c906113886200034e565b6011556200009d6012600a62000336565b620000ac90629896806200034e565b6012556014805461ffff60a81b1916905560006015819055601655348015620000d457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b03191673ab728a7e802519fa95367a34cf9b691918d9c4381790556200014a6012600a62000336565b6200015a90633b9aca006200034e565b33600081815260016020818152604080842095909555600680546001600160a01b03908116855260038352868520805460ff1990811686179091558554821686526004909352868520805484168517905530855286852080548416851790559054168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001fa6012600a62000336565b6200020a90633b9aca006200034e565b60405190815260200160405180910390a362000368565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002785781600019048211156200025c576200025c62000221565b808516156200026a57918102915b93841c93908002906200023c565b509250929050565b600082620002915750600162000330565b81620002a05750600062000330565b8160018114620002b95760028114620002c457620002e4565b600191505062000330565b60ff841115620002d857620002d862000221565b50506001821b62000330565b5060208310610133831016604e8410600b841016171562000309575081810a62000330565b62000315838362000237565b80600019048211156200032c576200032c62000221565b0290505b92915050565b60006200034760ff84168362000280565b9392505050565b808202811582820484141762000330576200033062000221565b611b0b80620003786000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461035a578063baf71dd01461037a578063bf474bed146103b3578063c9567bf9146103c9578063d34628cc146103de578063dd62ed3e146103fe57600080fd5b8063715018a6146102c45780637d1db4a5146102d95780638da5cb5b146102ef5780638f9a55c01461031757806395d89b411461032d57600080fd5b8063313ce567116100fd578063313ce5671461021157806351bc3c851461022d57806351ec3d1f1461024457806362256589146102645780636fc3eaec1461027957806370a082311461028e57600080fd5b806306fdde0314610145578063095ea7b3146101885780630faee56f146101b857806318160ddd146101dc57806323b872dd146101f157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267417065205461786960c01b60208201525b60405161017f9190611614565b60405180910390f35b34801561019457600080fd5b506101a86101a3366004611687565b610444565b604051901515815260200161017f565b3480156101c457600080fd5b506101ce60125481565b60405190815260200161017f565b3480156101e857600080fd5b506101ce61045b565b3480156101fd57600080fd5b506101a861020c3660046116b3565b61047c565b34801561021d57600080fd5b506040516012815260200161017f565b34801561023957600080fd5b506102426104e5565b005b34801561025057600080fd5b5061024261025f36600461170a565b610538565b34801561027057600080fd5b506102426105d3565b34801561028557600080fd5b50610242610685565b34801561029a57600080fd5b506101ce6102a93660046117cf565b6001600160a01b031660009081526001602052604090205490565b3480156102d057600080fd5b506102426106b2565b3480156102e557600080fd5b506101ce600f5481565b3480156102fb57600080fd5b506000546040516001600160a01b03909116815260200161017f565b34801561032357600080fd5b506101ce60105481565b34801561033957600080fd5b506040805180820190915260048152635441584960e01b6020820152610172565b34801561036657600080fd5b506101a8610375366004611687565b610726565b34801561038657600080fd5b506101a86103953660046117cf565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103bf57600080fd5b506101ce60115481565b3480156103d557600080fd5b50610242610733565b3480156103ea57600080fd5b506102426103f936600461170a565b610a54565b34801561040a57600080fd5b506101ce6104193660046117ec565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610451338484610ae6565b5060015b92915050565b60006104696012600a61191f565b61047790633b9aca0061192e565b905090565b6000610489848484610c0a565b6104db84336104d685604051806060016040528060288152602001611aae602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061114a565b610ae6565b5060019392505050565b6006546001600160a01b0316336001600160a01b03161461050557600080fd5b3060009081526001602052604090205480156105245761052481611184565b47801561053457610534816112fe565b5050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161056290611945565b60405180910390fd5b60005b81518110156105345760006005600084848151811061058f5761058f61197a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105cb81611990565b91505061056e565b6000546001600160a01b031633146105fd5760405162461bcd60e51b815260040161056290611945565b6106096012600a61191f565b61061790633b9aca0061192e565b600f556106266012600a61191f565b61063490633b9aca0061192e565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106646012600a61191f565b61067290633b9aca0061192e565b60405190815260200160405180910390a1565b6006546001600160a01b0316336001600160a01b0316146106a557600080fd5b476106af816112fe565b50565b6000546001600160a01b031633146106dc5760405162461bcd60e51b815260040161056290611945565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610451338484610c0a565b6000546001600160a01b0316331461075d5760405162461bcd60e51b815260040161056290611945565b601454600160a01b900460ff16156107b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610562565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119a9565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c591906119a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906119a9565b601480546001600160a01b0319166001600160a01b0392831617905560135461096491309116600019610ae6565b6013546001600160a01b031663f305d7194730610996816001600160a01b031660009081526001602052604090205490565b6000806109ab6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3891906119c6565b50506014805462ff00ff60a01b19166201000160a01b17905550565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040161056290611945565b60005b815181101561053457600160056000848481518110610aa257610aa261197a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ade81611990565b915050610a81565b6001600160a01b038316610b485760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610562565b6001600160a01b038216610ba95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610562565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610562565b6001600160a01b038216610cd05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610562565b60008111610d325760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610562565b600080546001600160a01b03858116911614801590610d5f57506000546001600160a01b03848116911614155b8015610d7457506001600160a01b0384163014155b8015610d8957506001600160a01b0383163014155b156110b3576001600160a01b03841660009081526005602052604090205460ff16158015610dd057506001600160a01b03831660009081526005602052604090205460ff16155b610dd957600080fd5b600b54600e541015610ded57600754610df1565b6009545b6014549091506001600160a01b038581169116148015610e1f57506013546001600160a01b03848116911614155b8015610e4457506001600160a01b03831660009081526004602052604090205460ff16155b15610f2c57600f54821115610e9b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610562565b60105482610ebe856001600160a01b031660009081526001602052604090205490565b610ec891906119f4565b1115610f165760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610562565b600e8054906000610f2683611990565b91905055505b6014546001600160a01b038481169116148015610f5257506001600160a01b0384163014155b15610f9a576001600160a01b03841660009081526003602052604090205460ff1615610f7f576000610f97565b600c54600e541015610f9357600854610f97565b600a545b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fd157506014546001600160a01b038581169116145b8015610fe65750601454600160b01b900460ff165b8015610ff3575060115483115b80156110035750600d54600e5410155b156110b1576016544311156110185760006015555b60036015541061106a5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610562565b600061107882601254611338565b905060115481111561108d5761108d81611184565b611096476112fe565b601580549060006110a683611990565b909155505043601655505b505b60006110c185858585611350565b6001600160a01b0385166000908152600160205260409020549091506110e79082611481565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113b9085815260200190565b60405180910390a35050505050565b6000818484111561116e5760405162461bcd60e51b81526004016105629190611614565b50600061117b8486611a07565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111cc576111cc61197a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124991906119a9565b8160018151811061125c5761125c61197a565b6001600160a01b0392831660209182029290920101526013546112829130911684610ae6565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112bb908590600090869030904290600401611a1a565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610534573d6000803e3d6000fd5b60008183116113475782611349565b815b9392505050565b6001600160a01b03841660009081526003602052604081205460ff168061138f57506001600160a01b03841660009081526003602052604090205460ff165b1561139b575081611479565b60006113b260646113ac86866114e0565b90611562565b6001600160a01b0387166000908152600160205260409020549091506113d890856115a4565b6001600160a01b038716600090815260016020526040902055801561146b57306000908152600160205260409020546114119082611481565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114629085815260200190565b60405180910390a35b61147584826115a4565b9150505b949350505050565b60008061148e83856119f4565b9050838110156113495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610562565b6000826000036114f257506000610455565b60006114fe838561192e565b90508261150b8583611a8b565b146113495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610562565b600061134983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e6565b600061134983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061114a565b600081836116075760405162461bcd60e51b81526004016105629190611614565b50600061117b8486611a8b565b600060208083528351808285015260005b8181101561164157858101830151858201604001528201611625565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106af57600080fd5b803561168281611662565b919050565b6000806040838503121561169a57600080fd5b82356116a581611662565b946020939093013593505050565b6000806000606084860312156116c857600080fd5b83356116d381611662565b925060208401356116e381611662565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561171d57600080fd5b823567ffffffffffffffff8082111561173557600080fd5b818501915085601f83011261174957600080fd5b81358181111561175b5761175b6116f4565b8060051b604051601f19603f83011681018181108582111715611780576117806116f4565b60405291825284820192508381018501918883111561179e57600080fd5b938501935b828510156117c3576117b485611677565b845293850193928501926117a3565b98975050505050505050565b6000602082840312156117e157600080fd5b813561134981611662565b600080604083850312156117ff57600080fd5b823561180a81611662565b9150602083013561181a81611662565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561187657816000190482111561185c5761185c611825565b8085161561186957918102915b93841c9390800290611840565b509250929050565b60008261188d57506001610455565b8161189a57506000610455565b81600181146118b057600281146118ba576118d6565b6001915050610455565b60ff8411156118cb576118cb611825565b50506001821b610455565b5060208310610133831016604e8410600b84101617156118f9575081810a610455565b611903838361183b565b806000190482111561191757611917611825565b029392505050565b600061134960ff84168361187e565b808202811582820484141761045557610455611825565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119a2576119a2611825565b5060010190565b6000602082840312156119bb57600080fd5b815161134981611662565b6000806000606084860312156119db57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561045557610455611825565b8181038181111561045557610455611825565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a6a5784516001600160a01b031683529383019391830191600101611a45565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aa857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085d8958e4705e2a2695360ad1a940000bb81bc571e228d27a9ca857f63c089d864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461035a578063baf71dd01461037a578063bf474bed146103b3578063c9567bf9146103c9578063d34628cc146103de578063dd62ed3e146103fe57600080fd5b8063715018a6146102c45780637d1db4a5146102d95780638da5cb5b146102ef5780638f9a55c01461031757806395d89b411461032d57600080fd5b8063313ce567116100fd578063313ce5671461021157806351bc3c851461022d57806351ec3d1f1461024457806362256589146102645780636fc3eaec1461027957806370a082311461028e57600080fd5b806306fdde0314610145578063095ea7b3146101885780630faee56f146101b857806318160ddd146101dc57806323b872dd146101f157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267417065205461786960c01b60208201525b60405161017f9190611614565b60405180910390f35b34801561019457600080fd5b506101a86101a3366004611687565b610444565b604051901515815260200161017f565b3480156101c457600080fd5b506101ce60125481565b60405190815260200161017f565b3480156101e857600080fd5b506101ce61045b565b3480156101fd57600080fd5b506101a861020c3660046116b3565b61047c565b34801561021d57600080fd5b506040516012815260200161017f565b34801561023957600080fd5b506102426104e5565b005b34801561025057600080fd5b5061024261025f36600461170a565b610538565b34801561027057600080fd5b506102426105d3565b34801561028557600080fd5b50610242610685565b34801561029a57600080fd5b506101ce6102a93660046117cf565b6001600160a01b031660009081526001602052604090205490565b3480156102d057600080fd5b506102426106b2565b3480156102e557600080fd5b506101ce600f5481565b3480156102fb57600080fd5b506000546040516001600160a01b03909116815260200161017f565b34801561032357600080fd5b506101ce60105481565b34801561033957600080fd5b506040805180820190915260048152635441584960e01b6020820152610172565b34801561036657600080fd5b506101a8610375366004611687565b610726565b34801561038657600080fd5b506101a86103953660046117cf565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103bf57600080fd5b506101ce60115481565b3480156103d557600080fd5b50610242610733565b3480156103ea57600080fd5b506102426103f936600461170a565b610a54565b34801561040a57600080fd5b506101ce6104193660046117ec565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610451338484610ae6565b5060015b92915050565b60006104696012600a61191f565b61047790633b9aca0061192e565b905090565b6000610489848484610c0a565b6104db84336104d685604051806060016040528060288152602001611aae602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061114a565b610ae6565b5060019392505050565b6006546001600160a01b0316336001600160a01b03161461050557600080fd5b3060009081526001602052604090205480156105245761052481611184565b47801561053457610534816112fe565b5050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161056290611945565b60405180910390fd5b60005b81518110156105345760006005600084848151811061058f5761058f61197a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105cb81611990565b91505061056e565b6000546001600160a01b031633146105fd5760405162461bcd60e51b815260040161056290611945565b6106096012600a61191f565b61061790633b9aca0061192e565b600f556106266012600a61191f565b61063490633b9aca0061192e565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106646012600a61191f565b61067290633b9aca0061192e565b60405190815260200160405180910390a1565b6006546001600160a01b0316336001600160a01b0316146106a557600080fd5b476106af816112fe565b50565b6000546001600160a01b031633146106dc5760405162461bcd60e51b815260040161056290611945565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610451338484610c0a565b6000546001600160a01b0316331461075d5760405162461bcd60e51b815260040161056290611945565b601454600160a01b900460ff16156107b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610562565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119a9565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c591906119a9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906119a9565b601480546001600160a01b0319166001600160a01b0392831617905560135461096491309116600019610ae6565b6013546001600160a01b031663f305d7194730610996816001600160a01b031660009081526001602052604090205490565b6000806109ab6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a3891906119c6565b50506014805462ff00ff60a01b19166201000160a01b17905550565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040161056290611945565b60005b815181101561053457600160056000848481518110610aa257610aa261197a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ade81611990565b915050610a81565b6001600160a01b038316610b485760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610562565b6001600160a01b038216610ba95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610562565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610562565b6001600160a01b038216610cd05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610562565b60008111610d325760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610562565b600080546001600160a01b03858116911614801590610d5f57506000546001600160a01b03848116911614155b8015610d7457506001600160a01b0384163014155b8015610d8957506001600160a01b0383163014155b156110b3576001600160a01b03841660009081526005602052604090205460ff16158015610dd057506001600160a01b03831660009081526005602052604090205460ff16155b610dd957600080fd5b600b54600e541015610ded57600754610df1565b6009545b6014549091506001600160a01b038581169116148015610e1f57506013546001600160a01b03848116911614155b8015610e4457506001600160a01b03831660009081526004602052604090205460ff16155b15610f2c57600f54821115610e9b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610562565b60105482610ebe856001600160a01b031660009081526001602052604090205490565b610ec891906119f4565b1115610f165760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610562565b600e8054906000610f2683611990565b91905055505b6014546001600160a01b038481169116148015610f5257506001600160a01b0384163014155b15610f9a576001600160a01b03841660009081526003602052604090205460ff1615610f7f576000610f97565b600c54600e541015610f9357600854610f97565b600a545b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fd157506014546001600160a01b038581169116145b8015610fe65750601454600160b01b900460ff165b8015610ff3575060115483115b80156110035750600d54600e5410155b156110b1576016544311156110185760006015555b60036015541061106a5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610562565b600061107882601254611338565b905060115481111561108d5761108d81611184565b611096476112fe565b601580549060006110a683611990565b909155505043601655505b505b60006110c185858585611350565b6001600160a01b0385166000908152600160205260409020549091506110e79082611481565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113b9085815260200190565b60405180910390a35050505050565b6000818484111561116e5760405162461bcd60e51b81526004016105629190611614565b50600061117b8486611a07565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111cc576111cc61197a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124991906119a9565b8160018151811061125c5761125c61197a565b6001600160a01b0392831660209182029290920101526013546112829130911684610ae6565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112bb908590600090869030904290600401611a1a565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610534573d6000803e3d6000fd5b60008183116113475782611349565b815b9392505050565b6001600160a01b03841660009081526003602052604081205460ff168061138f57506001600160a01b03841660009081526003602052604090205460ff165b1561139b575081611479565b60006113b260646113ac86866114e0565b90611562565b6001600160a01b0387166000908152600160205260409020549091506113d890856115a4565b6001600160a01b038716600090815260016020526040902055801561146b57306000908152600160205260409020546114119082611481565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114629085815260200190565b60405180910390a35b61147584826115a4565b9150505b949350505050565b60008061148e83856119f4565b9050838110156113495760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610562565b6000826000036114f257506000610455565b60006114fe838561192e565b90508261150b8583611a8b565b146113495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610562565b600061134983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e6565b600061134983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061114a565b600081836116075760405162461bcd60e51b81526004016105629190611614565b50600061117b8486611a8b565b600060208083528351808285015260005b8181101561164157858101830151858201604001528201611625565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106af57600080fd5b803561168281611662565b919050565b6000806040838503121561169a57600080fd5b82356116a581611662565b946020939093013593505050565b6000806000606084860312156116c857600080fd5b83356116d381611662565b925060208401356116e381611662565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561171d57600080fd5b823567ffffffffffffffff8082111561173557600080fd5b818501915085601f83011261174957600080fd5b81358181111561175b5761175b6116f4565b8060051b604051601f19603f83011681018181108582111715611780576117806116f4565b60405291825284820192508381018501918883111561179e57600080fd5b938501935b828510156117c3576117b485611677565b845293850193928501926117a3565b98975050505050505050565b6000602082840312156117e157600080fd5b813561134981611662565b600080604083850312156117ff57600080fd5b823561180a81611662565b9150602083013561181a81611662565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561187657816000190482111561185c5761185c611825565b8085161561186957918102915b93841c9390800290611840565b509250929050565b60008261188d57506001610455565b8161189a57506000610455565b81600181146118b057600281146118ba576118d6565b6001915050610455565b60ff8411156118cb576118cb611825565b50506001821b610455565b5060208310610133831016604e8410600b84101617156118f9575081810a610455565b611903838361183b565b806000190482111561191757611917611825565b029392505050565b600061134960ff84168361187e565b808202811582820484141761045557610455611825565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119a2576119a2611825565b5060010190565b6000602082840312156119bb57600080fd5b815161134981611662565b6000806000606084860312156119db57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561045557610455611825565b8181038181111561045557610455611825565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a6a5784516001600160a01b031683529383019391830191600101611a45565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aa857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085d8958e4705e2a2695360ad1a940000bb81bc571e228d27a9ca857f63c089d864736f6c63430008130033

Deployed Bytecode Sourcemap

3947:9741:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5979:83;;;;;;;;;;-1:-1:-1;6049:5:0;;;;;;;;;;;;-1:-1:-1;;;6049:5:0;;;;5979:83;;;;;;;:::i;:::-;;;;;;;;6885:193;;;;;;;;;;-1:-1:-1;6885:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6885:193:0;1162:187:1;5089:53:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5089:53:0;1354:177:1;6256:95:0;;;;;;;;;;;;;:::i;7086:446::-;;;;;;;;;;-1:-1:-1;7086:446:0;;;;;:::i;:::-;;:::i;6165:83::-;;;;;;;;;;-1:-1:-1;6165:83:0;;4826:2;2139:36:1;;2127:2;2112:18;6165:83:0;1997:184:1;13122:366:0;;;;;;;;;;;;;:::i;:::-;;12049:170;;;;;;;;;;-1:-1:-1;12049:170:0;;;;;:::i;:::-;;:::i;11605:161::-;;;;;;;;;;;;;:::i;13496:189::-;;;;;;;;;;;;;:::i;6359:119::-;;;;;;;;;;-1:-1:-1;6359:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6452:18:0;6425:7;6452:18;;;:9;:18;;;;;;;6359:119;2899:148;;;;;;;;;;;;;:::i;4903:54::-;;;;;;;;;;;;;;;;2685:79;;;;;;;;;;-1:-1:-1;2723:7:0;2750:6;2685:79;;-1:-1:-1;;;;;2750:6:0;;;3842:51:1;;3830:2;3815:18;2685:79:0;3696:203:1;4964:56:0;;;;;;;;;;;;;;;;6070:87;;;;;;;;;;-1:-1:-1;6142:7:0;;;;;;;;;;;;-1:-1:-1;;;6142:7:0;;;;6070:87;;6486:199;;;;;;;;;;-1:-1:-1;6486:199:0;;;;;:::i;:::-;;:::i;12227:87::-;;;;;;;;;;-1:-1:-1;12227:87:0;;;;;:::i;:::-;-1:-1:-1;;;;;12299:7:0;12275:4;12299:7;;;:4;:7;;;;;;;;;12227:87;5027:55;;;;;;;;;;;;;;;;12322:755;;;;;;;;;;;;;:::i;11874:167::-;;;;;;;;;;-1:-1:-1;11874:167:0;;;;;:::i;:::-;;:::i;6693:184::-;;;;;;;;;;-1:-1:-1;6693:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6842:18:0;;;6810:7;6842:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6693:184;6885:193;6987:4;7009:39;305:10;7032:7;7041:6;7009:8;:39::i;:::-;-1:-1:-1;7066:4:0;6885:193;;;;;:::o;6256:95::-;6309:7;4883:13;4826:2;4883;:13;:::i;:::-;4870:26;;:10;:26;:::i;:::-;6329:14;;6256:95;:::o;7086:446::-;7218:4;7235:36;7245:6;7253:9;7264:6;7235:9;:36::i;:::-;7282:220;7305:6;305:10;7353:138;7409:6;7353:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7353:19:0;;;;;;:11;:19;;;;;;;;305:10;7353:33;;;;;;;;;;:37;:138::i;:::-;7282:8;:220::i;:::-;-1:-1:-1;7520:4:0;7086:446;;;;;:::o;13122:366::-;13188:10;;-1:-1:-1;;;;;13188:10:0;305;-1:-1:-1;;;;;13172:26:0;;13164:35;;;;;;13251:4;13210:20;6452:18;;;:9;:18;;;;;;13272:16;;13268:79;;13305:30;13322:12;13305:16;:30::i;:::-;13378:21;13414:14;;13410:71;;13445:24;13458:10;13445:12;:24::i;:::-;13153:335;;13122:366::o;12049:170::-;2812:6;;-1:-1:-1;;;;;2812:6:0;305:10;2812:22;2804:67;;;;-1:-1:-1;;;2804:67:0;;;;;;;:::i;:::-;;;;;;;;;12123:9:::1;12118:94;12142:6;:13;12138:1;:17;12118:94;;;12195:5;12177:4;:15;12182:6;12189:1;12182:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12177:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12177:15:0;:23;;-1:-1:-1;;12177:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12157:3;::::1;::::0;::::1;:::i;:::-;;;;12118:94;;11605:161:::0;2812:6;;-1:-1:-1;;;;;2812:6:0;305:10;2812:22;2804:67;;;;-1:-1:-1;;;2804:67:0;;;;;;;:::i;:::-;4883:13:::1;4826:2;4883;:13;:::i;:::-;4870:26;::::0;:10:::1;:26;:::i;:::-;11658:12;:22:::0;4883:13:::1;4826:2;4883;:13;:::i;:::-;4870:26;::::0;:10:::1;:26;:::i;:::-;11691:14;:24:::0;11731:27:::1;4883:13;4826:2;4883;:13;:::i;:::-;4870:26;::::0;:10:::1;:26;:::i;:::-;11731:27;::::0;1500:25:1;;;1488:2;1473:18;11731:27:0::1;;;;;;;11605:161::o:0;13496:189::-;13562:10;;-1:-1:-1;;;;;13562:10:0;305;-1:-1:-1;;;;;13546:26:0;;13538:35;;;;;;13613:21;13645:32;13613:21;13645:12;:32::i;:::-;13527:158;13496:189::o;2899:148::-;2812:6;;-1:-1:-1;;;;;2812:6:0;305:10;2812:22;2804:67;;;;-1:-1:-1;;;2804:67:0;;;;;;;:::i;:::-;3006:1:::1;2990:6:::0;;2969:40:::1;::::0;-1:-1:-1;;;;;2990:6:0;;::::1;::::0;2969:40:::1;::::0;3006:1;;2969:40:::1;3037:1;3020:19:::0;;-1:-1:-1;;;;;;3020:19:0::1;::::0;;2899:148::o;6486:199::-;6591:4;6613:42;305:10;6637:9;6648:6;6613:9;:42::i;12322:755::-;2812:6;;-1:-1:-1;;;;;2812:6:0;305:10;2812:22;2804:67;;;;-1:-1:-1;;;2804:67:0;;;;;;;:::i;:::-;12382:11:::1;::::0;-1:-1:-1;;;12382:11:0;::::1;;;12381:12;12373:48;;;::::0;-1:-1:-1;;;12373:48:0;;6820:2:1;12373:48:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:25;6878:18;;;6871:53;6941:18;;12373:48:0::1;6618:347:1::0;12373:48:0::1;12432:15;:104:::0;;-1:-1:-1;;;;;;12432:104:0::1;12483:42;12432:104:::0;;::::1;::::0;;;12583:25:::1;::::0;;-1:-1:-1;;;12583:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;12483:42;12583:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12565:55:0::1;;12643:4;12663:15;;;;;;;;;-1:-1:-1::0;;;;;12663:15:0::1;-1:-1:-1::0;;;;;12663:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12565:131;::::0;-1:-1:-1;;;;;;12565:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;12565:131:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;12565:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12549:13;:147:::0;;-1:-1:-1;;;;;;12549:147:0::1;-1:-1:-1::0;;;;;12549:147:0;;::::1;;::::0;;12739:15:::1;::::0;12707:68:::1;::::0;12724:4:::1;::::0;12739:15:::1;-1:-1:-1::0;;12707:8:0::1;:68::i;:::-;12786:15;::::0;-1:-1:-1;;;;;12786:15:0::1;:31;12825:21;12870:4;12890:24;12870:4:::0;-1:-1:-1;;;;;6452:18:0;6425:7;6452:18;;;:9;:18;;;;;;;6359:119;12890:24:::1;12929:1;12945::::0;12961:7:::1;2723::::0;2750:6;-1:-1:-1;;;;;2750:6:0;;2685:79;12961:7:::1;12786:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12786:223:0;;;-1:-1:-1;;;;;7894:15:1;;;12786:223:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;12983:15:0::1;8108:19:1::0;;;8101:35;7810:19;;12786:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13022:11:0::1;:18:::0;;-1:-1:-1;;;;13051:18:0;-1:-1:-1;;;13051:18:0;;;-1:-1:-1;12322:755:0:o;11874:167::-;2812:6;;-1:-1:-1;;;;;2812:6:0;305:10;2812:22;2804:67;;;;-1:-1:-1;;;2804:67:0;;;;;;;:::i;:::-;11948:9:::1;11943:91;11967:5;:12;11963:1;:16;11943:91;;;12018:4;12001;:14;12006:5;12012:1;12006:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12001:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12001:14:0;:21;;-1:-1:-1;;12001:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11981:3;::::1;::::0;::::1;:::i;:::-;;;;11943:91;;7540:369:::0;-1:-1:-1;;;;;7667:19:0;;7659:68;;;;-1:-1:-1;;;7659:68:0;;8660:2:1;7659:68:0;;;8642:21:1;8699:2;8679:18;;;8672:30;8738:34;8718:18;;;8711:62;-1:-1:-1;;;8789:18:1;;;8782:34;8833:19;;7659:68:0;8458:400:1;7659:68:0;-1:-1:-1;;;;;7746:21:0;;7738:68;;;;-1:-1:-1;;;7738:68:0;;9065:2:1;7738:68:0;;;9047:21:1;9104:2;9084:18;;;9077:30;9143:34;9123:18;;;9116:62;-1:-1:-1;;;9194:18:1;;;9187:32;9236:19;;7738:68:0;8863:398:1;7738:68:0;-1:-1:-1;;;;;7817:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7869:32;;1500:25:1;;;7869:32:0;;1473:18:1;7869:32:0;;;;;;;7540:369;;;:::o;7917:2469::-;-1:-1:-1;;;;;8039:18:0;;8031:68;;;;-1:-1:-1;;;8031:68:0;;9468:2:1;8031:68:0;;;9450:21:1;9507:2;9487:18;;;9480:30;9546:34;9526:18;;;9519:62;-1:-1:-1;;;9597:18:1;;;9590:35;9642:19;;8031:68:0;9266:401:1;8031:68:0;-1:-1:-1;;;;;8118:16:0;;8110:64;;;;-1:-1:-1;;;8110:64:0;;9874:2:1;8110:64:0;;;9856:21:1;9913:2;9893:18;;;9886:30;9952:34;9932:18;;;9925:62;-1:-1:-1;;;10003:18:1;;;9996:33;10046:19;;8110:64:0;9672:399:1;8110:64:0;8202:1;8193:6;:10;8185:64;;;;-1:-1:-1;;;8185:64:0;;10278:2:1;8185:64:0;;;10260:21:1;10317:2;10297:18;;;10290:30;10356:34;10336:18;;;10329:62;-1:-1:-1;;;10407:18:1;;;10400:39;10456:19;;8185:64:0;10076:405:1;8185:64:0;8260:15;2750:6;;-1:-1:-1;;;;;8310:15:0;;;2750:6;;8310:15;;;;:45;;-1:-1:-1;2723:7:0;2750:6;-1:-1:-1;;;;;8342:13:0;;;2750:6;;8342:13;;8310:45;:83;;;;-1:-1:-1;;;;;;8372:21:0;;8388:4;8372:21;;8310:83;:119;;;;-1:-1:-1;;;;;;8410:19:0;;8424:4;8410:19;;8310:119;8292:1916;;;-1:-1:-1;;;;;8465:10:0;;;;;;:4;:10;;;;;;;;8464:11;:24;;;;-1:-1:-1;;;;;;8480:8:0;;;;;;:4;:8;;;;;;;;8479:9;8464:24;8456:33;;;;;;8528:15;;8515:9;;:28;;8514:96;;8596:14;;8514:96;;;8564:12;;8514:96;8657:13;;8504:106;;-1:-1:-1;;;;;;8649:21:0;;;8657:13;;8649:21;:72;;;;-1:-1:-1;8705:15:0;;-1:-1:-1;;;;;8691:30:0;;;8705:15;;8691:30;;8649:72;:118;;;;-1:-1:-1;;;;;;8743:24:0;;;;;;:20;:24;;;;;;;;8742:25;8649:118;8627:440;;;8820:12;;8810:6;:22;;8802:60;;;;-1:-1:-1;;;8802:60:0;;10688:2:1;8802:60:0;;;10670:21:1;10727:2;10707:18;;;10700:30;10766:27;10746:18;;;10739:55;10811:18;;8802:60:0;10486:349:1;8802:60:0;8937:14;;8927:6;8911:13;8921:2;-1:-1:-1;;;;;6452:18:0;6425:7;6452:18;;;:9;:18;;;;;;;6359:119;8911:13;:22;;;;:::i;:::-;:40;;8881:140;;;;-1:-1:-1;;;8881:140:0;;11172:2:1;8881:140:0;;;11154:21:1;11211:2;11191:18;;;11184:30;11250:28;11230:18;;;11223:56;11296:18;;8881:140:0;10970:350:1;8881:140:0;9040:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8627:440;9093:13;;-1:-1:-1;;;;;9087:19:0;;;9093:13;;9087:19;:44;;;;-1:-1:-1;;;;;;9110:21:0;;9126:4;9110:21;;9087:44;9083:284;;;-1:-1:-1;;;;;9163:24:0;;;;;;:18;:24;;;;;;;;9162:25;:189;;9350:1;9162:189;;;9225:16;;9212:9;;:29;;9211:115;;9311:15;;9211:115;;;9270:13;;9211:115;9152:199;;9083:284;9432:4;9383:28;6452:18;;;:9;:18;;;;;;9476:6;;-1:-1:-1;;;9476:6:0;;;;9475:7;:47;;;;-1:-1:-1;9509:13:0;;-1:-1:-1;;;;;9503:19:0;;;9509:13;;9503:19;9475:47;:79;;;;-1:-1:-1;9543:11:0;;-1:-1:-1;;;9543:11:0;;;;9475:79;:126;;;;;9584:17;;9575:6;:26;9475:126;:178;;;;;9635:18;;9622:9;;:31;;9475:178;9453:744;;;9707:13;;9692:12;:28;9688:90;;;9757:1;9745:9;:13;9688:90;9816:1;9804:9;;:13;9796:49;;;;-1:-1:-1;;;9796:49:0;;11527:2:1;9796:49:0;;;11509:21:1;11566:2;11546:18;;;11539:30;11605:25;11585:18;;;11578:53;11648:18;;9796:49:0;11325:347:1;9796:49:0;9864:18;9885:38;9889:20;9911:11;;9885:3;:38::i;:::-;9864:59;;9959:17;;9946:10;:30;9942:107;;;10001:28;10018:10;10001:16;:28::i;:::-;10069:35;10082:21;10069:12;:35::i;:::-;10123:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10169:12:0;10153:13;:28;-1:-1:-1;9453:744:0;8441:1767;8292:1916;10220:18;10241:33;10248:4;10254:2;10258:6;10266:7;10241:6;:33::i;:::-;-1:-1:-1;;;;;10303:13:0;;;;;;:9;:13;;;;;;10220:54;;-1:-1:-1;10303:29:0;;10220:54;10303:17;:29::i;:::-;-1:-1:-1;;;;;10287:13:0;;;;;;;:9;:13;;;;;;;:45;;;;10348:30;;;;;;;;;;10367:10;1500:25:1;;1488:2;1473:18;;1354:177;10348:30:0;;;;;;;;8020:2366;;7917:2469;;;:::o;1487:224::-;1607:7;1643:12;1635:6;;;;1627:29;;;;-1:-1:-1;;;1627:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1667:9:0;1679:5;1683:1;1679;:5;:::i;:::-;1667:17;1487:224;-1:-1:-1;;;;;1487:224:0:o;11114:483::-;5503:6;:13;;-1:-1:-1;;;;5503:13:0;-1:-1:-1;;;5503:13:0;;;11216:16:::1;::::0;;11230:1:::1;11216:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11216:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11216:16:0::1;11192:40;;11261:4;11243;11248:1;11243:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11243:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11287:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11287:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11243:7;;11287:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11277:4;11282:1;11277:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11277:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11352:15:::1;::::0;11320:62:::1;::::0;11337:4:::1;::::0;11352:15:::1;11370:11:::0;11320:8:::1;:62::i;:::-;11393:15;::::0;:196:::1;::::0;-1:-1:-1;;;11393:196:0;;-1:-1:-1;;;;;11393:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11474:11;;11393:15:::1;::::0;11516:4;;11543::::1;::::0;11563:15:::1;::::0;11393:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5539:6:0;:14;;-1:-1:-1;;;;5539:14:0;;;-1:-1:-1;;;;11114:483:0:o;11774:92::-;11831:10;;:27;;-1:-1:-1;;;;;11831:10:0;;;;:27;;;;;11851:6;;11831:10;:27;:10;:27;11851:6;11831:10;:27;;;;;;;;;;;;;;;;;;;10999:107;11056:7;11088:1;11084;:5;11083:15;;11097:1;11083:15;;;11093:1;11083:15;11076:22;10999:107;-1:-1:-1;;;10999:107:0:o;10394:597::-;-1:-1:-1;;;;;10554:24:0;;10530:7;10554:24;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10582:22:0;;;;;;:18;:22;;;;;;;;10554:50;10550:96;;;-1:-1:-1;10628:6:0;10621:13;;10550:96;10656:17;10676:28;10700:3;10676:19;:6;10687:7;10676:10;:19::i;:::-;:23;;:28::i;:::-;-1:-1:-1;;;;;10735:15:0;;;;;;:9;:15;;;;;;10656:48;;-1:-1:-1;10735:27:0;;10755:6;10735:19;:27::i;:::-;-1:-1:-1;;;;;10717:15:0;;;;;;:9;:15;;;;;:45;10777:13;;10773:172;;10852:4;10834:24;;;;:9;:24;;;;;;:39;;10863:9;10834:28;:39::i;:::-;10825:4;10807:24;;;;:9;:24;;;;;;;:66;;;;10893:40;;-1:-1:-1;;;;;10893:40:0;;;;;;;10923:9;1500:25:1;;1488:2;1473:18;;1354:177;10893:40:0;;;;;;;;10773:172;10962:21;:6;10973:9;10962:10;:21::i;:::-;10955:28;;;10394:597;;;;;;;:::o;1156:179::-;1214:7;;1246:5;1250:1;1246;:5;:::i;:::-;1234:17;;1275:1;1270;:6;;1262:46;;;;-1:-1:-1;;;1262:46:0;;12997:2:1;1262:46:0;;;12979:21:1;13036:2;13016:18;;;13009:30;13075:29;13055:18;;;13048:57;13122:18;;1262:46:0;12795:351:1;1719:246:0;1777:7;1801:1;1806;1801:6;1797:47;;-1:-1:-1;1831:1:0;1824:8;;1797:47;1854:9;1866:5;1870:1;1866;:5;:::i;:::-;1854:17;-1:-1:-1;1899:1:0;1890:5;1894:1;1854:17;1890:5;:::i;:::-;:10;1882:56;;;;-1:-1:-1;;;1882:56:0;;13575:2:1;1882:56:0;;;13557:21:1;13614:2;13594:18;;;13587:30;13653:34;13633:18;;;13626:62;-1:-1:-1;;;13704:18:1;;;13697:31;13745:19;;1882:56:0;13373:397:1;1973:132:0;2031:7;2058:39;2062:1;2065;2058:39;;;;;;;;;;;;;;;;;:3;:39::i;1343:136::-;1401:7;1428:43;1432:1;1435;1428:43;;;;;;;;;;;;;;;;;:3;:43::i;2113:223::-;2233:7;2268:12;2261:5;2253:28;;;;-1:-1:-1;;;2253:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2292:9:0;2304:5;2308:1;2304;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;10840:125::-;10905:9;;;10926:10;;;10923:36;;;10939:18;;:::i;11677:128::-;11744:9;;;11765:11;;;11762:37;;;11779:18;;:::i;11810:980::-;12072:4;12120:3;12109:9;12105:19;12151:6;12140:9;12133:25;12177:2;12215:6;12210:2;12199:9;12195:18;12188:34;12258:3;12253:2;12242:9;12238:18;12231:31;12282:6;12317;12311:13;12348:6;12340;12333:22;12386:3;12375:9;12371:19;12364:26;;12425:2;12417:6;12413:15;12399:29;;12446:1;12456:195;12470:6;12467:1;12464:13;12456:195;;;12535:13;;-1:-1:-1;;;;;12531:39:1;12519:52;;12626:15;;;;12591:12;;;;12567:1;12485:9;12456:195;;;-1:-1:-1;;;;;;;12707:32:1;;;;12702:2;12687:18;;12680:60;-1:-1:-1;;;12771:3:1;12756:19;12749:35;12668:3;11810:980;-1:-1:-1;;;11810:980:1:o;13151:217::-;13191:1;13217;13207:132;;13261:10;13256:3;13252:20;13249:1;13242:31;13296:4;13293:1;13286:15;13324:4;13321:1;13314:15;13207:132;-1:-1:-1;13353:9:1;;13151:217::o

Swarm Source

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