ETH Price: $3,093.31 (+0.99%)
 

Overview

Max Total Supply

1,000,000 BTA

Holders

502

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BTA

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2024-03-24
*/

// Website: https://bta.wtf/
// Twitter: https://twitter.com/basedtheftauto
// Telegram: https://t.me/btaportal

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

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 BTA 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 bots;
    address payable private _taxWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10 ** _decimals;
    string private constant _name = unicode"Based Theft Auto";
    string private constant _symbol = unicode"BTA";
    uint256 public _maxTxAmount = 10000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 10000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 500 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000 * 10 ** _decimals;

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

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_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 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);

                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );

                _buyCount++;
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                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(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    function recoverEmergency() external onlyOwner {
        sendETHToFee(address(this).balance);
    }

    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 delBots(address[] memory notbot) public onlyOwner {
        for (uint256 i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

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

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24
        );
        _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)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"recoverEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","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"}]

60806040525f6006555f6007555f6008555f6009555f600a555f600b555f600c555f600d556009600a61003291906102ec565b61003e90612710610301565b600e5561004d6009600a6102ec565b61005990612710610301565b600f556100686009600a6102ec565b610074906101f4610301565b6010556100836009600a6102ec565b61008f90612710610301565b6011556013805461ffff60a81b191690553480156100ab575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319163317905561010a6009600a6102ec565b61011790620f4240610301565b335f90815260016020819052604082209290925560039061013f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055490911683529120805490921617905561019c3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101d36009600a6102ec565b6101e090620f4240610301565b60405190815260200160405180910390a3610318565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561024457815f190482111561022a5761022a6101f6565b8085161561023757918102915b93841c939080029061020f565b509250929050565b5f8261025a575060016102e6565b8161026657505f6102e6565b816001811461027c5760028114610286576102a2565b60019150506102e6565b60ff841115610297576102976101f6565b50506001821b6102e6565b5060208310610133831016604e8410600b84101617156102c5575081810a6102e6565b6102cf838361020a565b805f19048211156102e2576102e26101f6565b0290505b92915050565b5f6102fa60ff84168361024c565b9392505050565b80820281158282048414176102e6576102e66101f6565b611a2b806103255f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461034d578063bf474bed1461036c578063c9567bf914610381578063d34628cc14610395578063dd62ed3e146103b4578063fc76729c146103f8575f80fd5b8063751039fc146102be5780637d1db4a5146102d25780638da5cb5b146102e75780638f9a55c01461030d57806395d89b4114610322575f80fd5b8063313ce567116100ee578063313ce5671461020357806331c2d8471461021e5780633bbac5791461023f57806370a0823114610276578063715018a6146102aa575f80fd5b806306fdde0314610134578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601081526f4261736564205468656674204175746f60801b60208201525b604051610175919061154e565b60405180910390f35b348015610189575f80fd5b5061019d6101983660046115aa565b61040c565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c2610422565b3480156101ef575f80fd5b5061019d6101fe3660046115d4565b610441565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b5061023d610238366004611626565b6104a8565b005b34801561024a575f80fd5b5061019d6102593660046116e6565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610281575f80fd5b506101c26102903660046116e6565b6001600160a01b03165f9081526001602052604090205490565b3480156102b5575f80fd5b5061023d610538565b3480156102c9575f80fd5b5061023d6105a9565b3480156102dd575f80fd5b506101c2600e5481565b3480156102f2575f80fd5b505f546040516001600160a01b039091168152602001610175565b348015610318575f80fd5b506101c2600f5481565b34801561032d575f80fd5b5060408051808201909152600381526242544160e81b6020820152610168565b348015610358575f80fd5b5061019d6103673660046115aa565b610657565b348015610377575f80fd5b506101c260105481565b34801561038c575f80fd5b5061023d610663565b3480156103a0575f80fd5b5061023d6103af366004611626565b610a0b565b3480156103bf575f80fd5b506101c26103ce366004611701565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610403575f80fd5b5061023d610a8f565b5f610418338484610ac3565b5060015b92915050565b5f61042f6009600a61182c565b61043c90620f424061183a565b905090565b5f61044d848484610be6565b61049e8433610499856040518060600160405280602881526020016119ce602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111ca565b610ac3565b5060019392505050565b5f546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190611851565b60405180910390fd5b5f5b8151811015610534575f60045f8484815181106104fb576104fb611886565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104dc565b5050565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104d190611851565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104d190611851565b6105de6009600a61182c565b6105eb90620f424061183a565b600e556105fa6009600a61182c565b61060790620f424061183a565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106376009600a61182c565b61064490620f424061183a565b60405190815260200160405180910390a1565b5f610418338484610be6565b5f546001600160a01b0316331461068c5760405162461bcd60e51b81526004016104d190611851565b601354600160a01b900460ff16156106e65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d1565b601280546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad2490811790915561072e9030906107216009600a61182c565b61049990620f424061183a565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a2919061189a565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610801573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610825919061189a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561086f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610893919061189a565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306108da816001600160a01b03165f9081526001602052604090205490565b5f806108ed5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610953573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061097891906118b5565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f191906118e0565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a345760405162461bcd60e51b81526004016104d190611851565b5f5b815181101561053457600160045f848481518110610a5657610a56611886565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a36565b5f546001600160a01b03163314610ab85760405162461bcd60e51b81526004016104d190611851565b610ac147611202565b565b6001600160a01b038316610b255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610b865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038216610cac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b5f8111610d0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d1565b5f80546001600160a01b03858116911614801590610d3857505f546001600160a01b03848116911614155b1561108d576001600160a01b0384165f9081526004602052604090205460ff16158015610d7d57506001600160a01b0383165f9081526004602052604090205460ff16155b610d85575f80fd5b6013546001600160a01b038581169116148015610db057506012546001600160a01b03848116911614155b8015610dd457506001600160a01b0383165f9081526003602052604090205460ff16155b15610ee857610e056064610dff600a54600d5411610df457600654610df8565b6008545b8590611239565b906112be565b9050600e54821115610e595760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d1565b600f5482610e7b856001600160a01b03165f9081526001602052604090205490565b610e8591906118ff565b1115610ed35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b600d8054905f610ee283611912565b91905055505b6013546001600160a01b03848116911614801590610f1e57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f9d57600f5482610f45856001600160a01b03165f9081526001602052604090205490565b610f4f91906118ff565b1115610f9d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b6013546001600160a01b038481169116148015610fc357506001600160a01b0384163014155b15610ff057610fed6064610dff600b54600d5411610fe357600754610df8565b6009548590611239565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561102657506013546001600160a01b038581169116145b801561103b5750601354600160b01b900460ff165b8015611048575060105481115b80156110575750600c54600d54115b1561108b576110796110748461106f846011546112ff565b6112ff565b611313565b4780156110895761108947611202565b505b505b801561110557305f908152600160205260409020546110ac9082611483565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461112790836114e1565b6001600160a01b0385165f9081526001602052604090205561116a61114c83836114e1565b6001600160a01b0385165f9081526001602052604090205490611483565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b385856114e1565b60405190815260200160405180910390a350505050565b5f81848411156111ed5760405162461bcd60e51b81526004016104d1919061154e565b505f6111f9848661192a565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610534573d5f803e3d5ffd5b5f825f0361124857505f61041c565b5f611253838561183a565b905082611260858361193d565b146112b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b9392505050565b5f6112b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611522565b5f81831161130d57826112b7565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135957611359611886565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d4919061189a565b816001815181106113e7576113e7611886565b6001600160a01b03928316602091820292909201015260125461140d9130911684610ac3565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114459085905f9086903090429060040161195c565b5f604051808303815f87803b15801561145c575f80fd5b505af115801561146e573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f8061148f83856118ff565b9050838110156112b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b5f6112b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ca565b5f81836115425760405162461bcd60e51b81526004016104d1919061154e565b505f6111f9848661193d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611597575f80fd5b50565b80356115a581611583565b919050565b5f80604083850312156115bb575f80fd5b82356115c681611583565b946020939093013593505050565b5f805f606084860312156115e6575f80fd5b83356115f181611583565b9250602084013561160181611583565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611637575f80fd5b823567ffffffffffffffff8082111561164e575f80fd5b818501915085601f830112611661575f80fd5b81358181111561167357611673611612565b8060051b604051601f19603f8301168101818110858211171561169857611698611612565b6040529182528482019250838101850191888311156116b5575f80fd5b938501935b828510156116da576116cb8561159a565b845293850193928501926116ba565b98975050505050505050565b5f602082840312156116f6575f80fd5b81356112b781611583565b5f8060408385031215611712575f80fd5b823561171d81611583565b9150602083013561172d81611583565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178657815f190482111561176c5761176c611738565b8085161561177957918102915b93841c9390800290611751565b509250929050565b5f8261179c5750600161041c565b816117a857505f61041c565b81600181146117be57600281146117c8576117e4565b600191505061041c565b60ff8411156117d9576117d9611738565b50506001821b61041c565b5060208310610133831016604e8410600b8410161715611807575081810a61041c565b611811838361174c565b805f190482111561182457611824611738565b029392505050565b5f6112b760ff84168361178e565b808202811582820484141761041c5761041c611738565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156118aa575f80fd5b81516112b781611583565b5f805f606084860312156118c7575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118f0575f80fd5b815180151581146112b7575f80fd5b8082018082111561041c5761041c611738565b5f6001820161192357611923611738565b5060010190565b8181038181111561041c5761041c611738565b5f8261195757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ac5784516001600160a01b031683529383019391830191600101611987565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206cd88ad6d0252b34dbcbbb37fb4948caa4195bfa469ed72c4434dff7c728076364736f6c63430008190033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461034d578063bf474bed1461036c578063c9567bf914610381578063d34628cc14610395578063dd62ed3e146103b4578063fc76729c146103f8575f80fd5b8063751039fc146102be5780637d1db4a5146102d25780638da5cb5b146102e75780638f9a55c01461030d57806395d89b4114610322575f80fd5b8063313ce567116100ee578063313ce5671461020357806331c2d8471461021e5780633bbac5791461023f57806370a0823114610276578063715018a6146102aa575f80fd5b806306fdde0314610134578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601081526f4261736564205468656674204175746f60801b60208201525b604051610175919061154e565b60405180910390f35b348015610189575f80fd5b5061019d6101983660046115aa565b61040c565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c2610422565b3480156101ef575f80fd5b5061019d6101fe3660046115d4565b610441565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b5061023d610238366004611626565b6104a8565b005b34801561024a575f80fd5b5061019d6102593660046116e6565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610281575f80fd5b506101c26102903660046116e6565b6001600160a01b03165f9081526001602052604090205490565b3480156102b5575f80fd5b5061023d610538565b3480156102c9575f80fd5b5061023d6105a9565b3480156102dd575f80fd5b506101c2600e5481565b3480156102f2575f80fd5b505f546040516001600160a01b039091168152602001610175565b348015610318575f80fd5b506101c2600f5481565b34801561032d575f80fd5b5060408051808201909152600381526242544160e81b6020820152610168565b348015610358575f80fd5b5061019d6103673660046115aa565b610657565b348015610377575f80fd5b506101c260105481565b34801561038c575f80fd5b5061023d610663565b3480156103a0575f80fd5b5061023d6103af366004611626565b610a0b565b3480156103bf575f80fd5b506101c26103ce366004611701565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610403575f80fd5b5061023d610a8f565b5f610418338484610ac3565b5060015b92915050565b5f61042f6009600a61182c565b61043c90620f424061183a565b905090565b5f61044d848484610be6565b61049e8433610499856040518060600160405280602881526020016119ce602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111ca565b610ac3565b5060019392505050565b5f546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190611851565b60405180910390fd5b5f5b8151811015610534575f60045f8484815181106104fb576104fb611886565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104dc565b5050565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104d190611851565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104d190611851565b6105de6009600a61182c565b6105eb90620f424061183a565b600e556105fa6009600a61182c565b61060790620f424061183a565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106376009600a61182c565b61064490620f424061183a565b60405190815260200160405180910390a1565b5f610418338484610be6565b5f546001600160a01b0316331461068c5760405162461bcd60e51b81526004016104d190611851565b601354600160a01b900460ff16156106e65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d1565b601280546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad2490811790915561072e9030906107216009600a61182c565b61049990620f424061183a565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a2919061189a565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610801573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610825919061189a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561086f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610893919061189a565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306108da816001600160a01b03165f9081526001602052604090205490565b5f806108ed5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610953573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061097891906118b5565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f191906118e0565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a345760405162461bcd60e51b81526004016104d190611851565b5f5b815181101561053457600160045f848481518110610a5657610a56611886565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a36565b5f546001600160a01b03163314610ab85760405162461bcd60e51b81526004016104d190611851565b610ac147611202565b565b6001600160a01b038316610b255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610b865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c4a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038216610cac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b5f8111610d0d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d1565b5f80546001600160a01b03858116911614801590610d3857505f546001600160a01b03848116911614155b1561108d576001600160a01b0384165f9081526004602052604090205460ff16158015610d7d57506001600160a01b0383165f9081526004602052604090205460ff16155b610d85575f80fd5b6013546001600160a01b038581169116148015610db057506012546001600160a01b03848116911614155b8015610dd457506001600160a01b0383165f9081526003602052604090205460ff16155b15610ee857610e056064610dff600a54600d5411610df457600654610df8565b6008545b8590611239565b906112be565b9050600e54821115610e595760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d1565b600f5482610e7b856001600160a01b03165f9081526001602052604090205490565b610e8591906118ff565b1115610ed35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b600d8054905f610ee283611912565b91905055505b6013546001600160a01b03848116911614801590610f1e57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f9d57600f5482610f45856001600160a01b03165f9081526001602052604090205490565b610f4f91906118ff565b1115610f9d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b6013546001600160a01b038481169116148015610fc357506001600160a01b0384163014155b15610ff057610fed6064610dff600b54600d5411610fe357600754610df8565b6009548590611239565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561102657506013546001600160a01b038581169116145b801561103b5750601354600160b01b900460ff165b8015611048575060105481115b80156110575750600c54600d54115b1561108b576110796110748461106f846011546112ff565b6112ff565b611313565b4780156110895761108947611202565b505b505b801561110557305f908152600160205260409020546110ac9082611483565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461112790836114e1565b6001600160a01b0385165f9081526001602052604090205561116a61114c83836114e1565b6001600160a01b0385165f9081526001602052604090205490611483565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b385856114e1565b60405190815260200160405180910390a350505050565b5f81848411156111ed5760405162461bcd60e51b81526004016104d1919061154e565b505f6111f9848661192a565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610534573d5f803e3d5ffd5b5f825f0361124857505f61041c565b5f611253838561183a565b905082611260858361193d565b146112b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b9392505050565b5f6112b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611522565b5f81831161130d57826112b7565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135957611359611886565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d4919061189a565b816001815181106113e7576113e7611886565b6001600160a01b03928316602091820292909201015260125461140d9130911684610ac3565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114459085905f9086903090429060040161195c565b5f604051808303815f87803b15801561145c575f80fd5b505af115801561146e573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f8061148f83856118ff565b9050838110156112b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b5f6112b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ca565b5f81836115425760405162461bcd60e51b81526004016104d1919061154e565b505f6111f9848661193d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611597575f80fd5b50565b80356115a581611583565b919050565b5f80604083850312156115bb575f80fd5b82356115c681611583565b946020939093013593505050565b5f805f606084860312156115e6575f80fd5b83356115f181611583565b9250602084013561160181611583565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611637575f80fd5b823567ffffffffffffffff8082111561164e575f80fd5b818501915085601f830112611661575f80fd5b81358181111561167357611673611612565b8060051b604051601f19603f8301168101818110858211171561169857611698611612565b6040529182528482019250838101850191888311156116b5575f80fd5b938501935b828510156116da576116cb8561159a565b845293850193928501926116ba565b98975050505050505050565b5f602082840312156116f6575f80fd5b81356112b781611583565b5f8060408385031215611712575f80fd5b823561171d81611583565b9150602083013561172d81611583565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178657815f190482111561176c5761176c611738565b8085161561177957918102915b93841c9390800290611751565b509250929050565b5f8261179c5750600161041c565b816117a857505f61041c565b81600181146117be57600281146117c8576117e4565b600191505061041c565b60ff8411156117d9576117d9611738565b50506001821b61041c565b5060208310610133831016604e8410600b8410161715611807575081810a61041c565b611811838361174c565b805f190482111561182457611824611738565b029392505050565b5f6112b760ff84168361178e565b808202811582820484141761041c5761041c611738565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156118aa575f80fd5b81516112b781611583565b5f805f606084860312156118c7575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118f0575f80fd5b815180151581146112b7575f80fd5b8082018082111561041c5761041c611738565b5f6001820161192357611923611738565b5060010190565b8181038181111561041c5761041c611738565b5f8261195757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ac5784516001600160a01b031683529383019391830191600101611987565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206cd88ad6d0252b34dbcbbb37fb4948caa4195bfa469ed72c4434dff7c728076364736f6c63430008190033

Deployed Bytecode Sourcemap

3897:9020:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5720:83;;;;;;;;;;-1:-1:-1;5790:5:0;;;;;;;;;;;;-1:-1:-1;;;5790:5:0;;;;5720:83;;;;;;;:::i;:::-;;;;;;;;6603:186;;;;;;;;;;-1:-1:-1;6603:186:0;;;;;:::i;:::-;;:::i;:::-;;;1197:14:1;;1190:22;1172:41;;1160:2;1145:18;6603:186:0;1032:187:1;4991:52:0;;;;;;;;;;;;;;;;;;;1370:25:1;;;1358:2;1343:18;4991:52:0;1224:177:1;5997:95:0;;;;;;;;;;;;;:::i;6797:446::-;;;;;;;;;;-1:-1:-1;6797:446:0;;;;;:::i;:::-;;:::i;5906:83::-;;;;;;;;;;-1:-1:-1;5906:83:0;;4614:1;2009:36:1;;1997:2;1982:18;5906:83:0;1867:184:1;11739:171:0;;;;;;;;;;-1:-1:-1;11739:171:0;;;;;:::i;:::-;;:::i;:::-;;11918:86;;;;;;;;;;-1:-1:-1;11918:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;11989:7:0;11965:4;11989:7;;;:4;:7;;;;;;;;;11918:86;6100:119;;;;;;;;;;-1:-1:-1;6100:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6193:18:0;6166:7;6193:18;;;:9;:18;;;;;;;6100:119;2892:148;;;;;;;;;;;;;:::i;11185:162::-;;;;;;;;;;;;;:::i;4806:53::-;;;;;;;;;;;;;;;;2678:79;;;;;;;;;;-1:-1:-1;2716:7:0;2743:6;2678:79;;-1:-1:-1;;;;;2743:6:0;;;3712:51:1;;3700:2;3685:18;2678:79:0;3566:203:1;4866:55:0;;;;;;;;;;;;;;;;5811:87;;;;;;;;;;-1:-1:-1;5883:7:0;;;;;;;;;;;;-1:-1:-1;;;5883:7:0;;;;5811:87;;6227:192;;;;;;;;;;-1:-1:-1;6227:192:0;;;;;:::i;:::-;;:::i;4928:56::-;;;;;;;;;;;;;;;;12012:865;;;;;;;;;;;;;:::i;11564:167::-;;;;;;;;;;-1:-1:-1;11564:167:0;;;;;:::i;:::-;;:::i;6427:168::-;;;;;;;;;;-1:-1:-1;6427:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6560:18:0;;;6533:7;6560:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6427:168;11355:101;;;;;;;;;;;;;:::i;6603:186::-;6703:4;6720:39;293:10;6743:7;6752:6;6720:8;:39::i;:::-;-1:-1:-1;6777:4:0;6603:186;;;;;:::o;5997:95::-;6050:7;4667:15;4614:1;4667:2;:15;:::i;:::-;4657:25;;:7;:25;:::i;:::-;6070:14;;5997:95;:::o;6797:446::-;6929:4;6946:36;6956:6;6964:9;6975:6;6946:9;:36::i;:::-;6993:220;7016:6;293:10;7064:138;7120:6;7064:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7064:19:0;;;;;;:11;:19;;;;;;;;293:10;7064:33;;;;;;;;;;:37;:138::i;:::-;6993:8;:220::i;:::-;-1:-1:-1;7231:4:0;6797:446;;;;;:::o;11739:171::-;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;;;;;;;;;11814:9:::1;11809:94;11833:6;:13;11829:1;:17;11809:94;;;11886:5;11868:4;:15;11873:6;11880:1;11873:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11868:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11868:15:0;:23;;-1:-1:-1;;11868:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11848:3:0::1;11809:94;;;;11739:171:::0;:::o;2892:148::-;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;2999:1:::1;2983:6:::0;;2962:40:::1;::::0;-1:-1:-1;;;;;2983:6:0;;::::1;::::0;2962:40:::1;::::0;2999:1;;2962:40:::1;3030:1;3013:19:::0;;-1:-1:-1;;;;;;3013:19:0::1;::::0;;2892:148::o;11185:162::-;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;4667:15:::1;4614:1;4667:2;:15;:::i;:::-;4657:25;::::0;:7:::1;:25;:::i;:::-;11239:12;:22:::0;4667:15:::1;4614:1;4667:2;:15;:::i;:::-;4657:25;::::0;:7:::1;:25;:::i;:::-;11272:14;:24:::0;11312:27:::1;4667:15;4614:1;4667:2;:15;:::i;:::-;4657:25;::::0;:7:::1;:25;:::i;:::-;11312:27;::::0;1370:25:1;;;1358:2;1343:18;11312:27:0::1;;;;;;;11185:162::o:0;6227:192::-;6330:4;6347:42;293:10;6371:9;6382:6;6347:9;:42::i;12012:865::-;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;12074:11:::1;::::0;-1:-1:-1;;;12074:11:0;::::1;;;12073:12;12065:48;;;::::0;-1:-1:-1;;;12065:48:0;;6544:2:1;12065:48:0::1;::::0;::::1;6526:21:1::0;6583:2;6563:18;;;6556:30;6622:25;6602:18;;;6595:53;6665:18;;12065:48:0::1;6342:347:1::0;12065:48:0::1;12124:15;:104:::0;;-1:-1:-1;;;;;;12124:104:0::1;12175:42;12124:104:::0;;::::1;::::0;;;12239:58:::1;::::0;12256:4:::1;::::0;4667:15:::1;4614:1;4667:2;:15;:::i;:::-;4657:25;::::0;:7:::1;:25;:::i;12239:58::-;12342:15;;;;;;;;;-1:-1:-1::0;;;;;12342:15:0::1;-1:-1:-1::0;;;;;12342:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12324:55:0::1;;12402:4;12422:15;;;;;;;;;-1:-1:-1::0;;;;;12422:15:0::1;-1:-1:-1::0;;;;;12422:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12324:131;::::0;-1:-1:-1;;;;;;12324:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7180:15:1;;;12324:131:0::1;::::0;::::1;7162:34:1::0;7232:15;;7212:18;;;7205:43;7097:18;;12324:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12308:13;:147:::0;;-1:-1:-1;;;;;12308:147:0;;::::1;-1:-1:-1::0;;;;;;12308:147:0;;::::1;;::::0;;12466:15:::1;::::0;::::1;:31;12505:21;12550:4;12570:24;12550:4:::0;-1:-1:-1;;;;;6193:18:0;6166:7;6193:18;;;:9;:18;;;;;;;6100:119;12570:24:::1;12609:1;12625::::0;12641:7:::1;2716::::0;2743:6;-1:-1:-1;;;;;2743:6:0;;2678:79;12641:7:::1;12466:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12466:223:0;;;-1:-1:-1;;;;;7618:15:1;;;12466:223:0::1;::::0;::::1;7600:34:1::0;7650:18;;;7643:34;;;;7693:18;;;7686:34;;;;7736:18;;;7729:34;7800:15;;;7779:19;;;7772:44;12663:15:0::1;7832:19:1::0;;;7825:35;7534:19;;12466:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12707:13:0::1;::::0;12752:15:::1;::::0;12700:111:::1;::::0;-1:-1:-1;;;12700:111:0;;-1:-1:-1;;;;;12752:15:0;;::::1;12700:111;::::0;::::1;8356:51:1::0;-1:-1:-1;;8423:18:1;;;8416:34;12707:13:0;::::1;::::0;-1:-1:-1;12700:29:0::1;::::0;8329:18:1;;12700:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12822:11:0::1;:18:::0;;-1:-1:-1;;;;12851:18:0;-1:-1:-1;;;12851:18:0;;;12012:865::o;11564:167::-;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;11638:9:::1;11633:91;11657:5;:12;11653:1;:16;11633:91;;;11708:4;11691;:14;11696:5;11702:1;11696:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11691:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11691:14:0;:21;;-1:-1:-1;;11691:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11671:3:0::1;11633:91;;11355:101:::0;2805:6;;-1:-1:-1;;;;;2805:6:0;293:10;2805:22;2797:67;;;;-1:-1:-1;;;2797:67:0;;;;;;;:::i;:::-;11413:35:::1;11426:21;11413:12;:35::i;:::-;11355:101::o:0;7251:335::-;-1:-1:-1;;;;;7344:19:0;;7336:68;;;;-1:-1:-1;;;7336:68:0;;8945:2:1;7336:68:0;;;8927:21:1;8984:2;8964:18;;;8957:30;9023:34;9003:18;;;8996:62;-1:-1:-1;;;9074:18:1;;;9067:34;9118:19;;7336:68:0;8743:400:1;7336:68:0;-1:-1:-1;;;;;7423:21:0;;7415:68;;;;-1:-1:-1;;;7415:68:0;;9350:2:1;7415:68:0;;;9332:21:1;9389:2;9369:18;;;9362:30;9428:34;9408:18;;;9401:62;-1:-1:-1;;;9479:18:1;;;9472:32;9521:19;;7415:68:0;9148:398:1;7415:68:0;-1:-1:-1;;;;;7494:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7546:32;;1370:25:1;;;7546:32:0;;1343:18:1;7546:32:0;;;;;;;7251:335;;;:::o;7594:2774::-;-1:-1:-1;;;;;7682:18:0;;7674:68;;;;-1:-1:-1;;;7674:68:0;;9753:2:1;7674:68:0;;;9735:21:1;9792:2;9772:18;;;9765:30;9831:34;9811:18;;;9804:62;-1:-1:-1;;;9882:18:1;;;9875:35;9927:19;;7674:68:0;9551:401:1;7674:68:0;-1:-1:-1;;;;;7761:16:0;;7753:64;;;;-1:-1:-1;;;7753:64:0;;10159:2:1;7753:64:0;;;10141:21:1;10198:2;10178:18;;;10171:30;10237:34;10217:18;;;10210:62;-1:-1:-1;;;10288:18:1;;;10281:33;10331:19;;7753:64:0;9957:399:1;7753:64:0;7845:1;7836:6;:10;7828:64;;;;-1:-1:-1;;;7828:64:0;;10563:2:1;7828:64:0;;;10545:21:1;10602:2;10582:18;;;10575:30;10641:34;10621:18;;;10614:62;-1:-1:-1;;;10692:18:1;;;10685:39;10741:19;;7828:64:0;10361:405:1;7828:64:0;7903:17;2743:6;;-1:-1:-1;;;;;7939:15:0;;;2743:6;;7939:15;;;;:32;;-1:-1:-1;2716:7:0;2743:6;-1:-1:-1;;;;;7958:13:0;;;2743:6;;7958:13;;7939:32;7935:2062;;;-1:-1:-1;;;;;7997:10:0;;;;;;:4;:10;;;;;;;;7996:11;:24;;;;-1:-1:-1;;;;;;8012:8:0;;;;;;:4;:8;;;;;;;;8011:9;7996:24;7988:33;;;;;;8068:13;;-1:-1:-1;;;;;8060:21:0;;;8068:13;;8060:21;:72;;;;-1:-1:-1;8116:15:0;;-1:-1:-1;;;;;8102:30:0;;;8116:15;;8102:30;;8060:72;:116;;;;-1:-1:-1;;;;;;8154:22:0;;;;;;:18;:22;;;;;;;;8153:23;8060:116;8038:705;;;8223:232;8451:3;8223:201;8295:15;;8283:9;;:27;8282:119;;8387:14;;8282:119;;;8343:12;;8282:119;8223:6;;:32;:201::i;:::-;:227;;:232::i;:::-;8211:244;;8494:12;;8484:6;:22;;8476:60;;;;-1:-1:-1;;;8476:60:0;;10973:2:1;8476:60:0;;;10955:21:1;11012:2;10992:18;;;10985:30;11051:27;11031:18;;;11024:55;11096:18;;8476:60:0;10771:349:1;8476:60:0;8611:14;;8601:6;8585:13;8595:2;-1:-1:-1;;;;;6193:18:0;6166:7;6193:18;;;:9;:18;;;;;;;6100:119;8585:13;:22;;;;:::i;:::-;:40;;8555:140;;;;-1:-1:-1;;;8555:140:0;;11457:2:1;8555:140:0;;;11439:21:1;11496:2;11476:18;;;11469:30;11535:28;11515:18;;;11508:56;11581:18;;8555:140:0;11255:350:1;8555:140:0;8716:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8038:705;8769:13;;-1:-1:-1;;;;;8763:19:0;;;8769:13;;8763:19;;;;:46;;-1:-1:-1;;;;;;8787:22:0;;;;;;:18;:22;;;;;;;;8786:23;8763:46;8759:227;;;8886:14;;8876:6;8860:13;8870:2;-1:-1:-1;;;;;6193:18:0;6166:7;6193:18;;;:9;:18;;;;;;;6100:119;8860:13;:22;;;;:::i;:::-;:40;;8830:140;;;;-1:-1:-1;;;8830:140:0;;11457:2:1;8830:140:0;;;11439:21:1;11496:2;11476:18;;;11469:30;11535:28;11515:18;;;11508:56;11581:18;;8830:140:0;11255:350:1;8830:140:0;9012:13;;-1:-1:-1;;;;;9006:19:0;;;9012:13;;9006:19;:44;;;;-1:-1:-1;;;;;;9029:21:0;;9045:4;9029:21;;9006:44;9002:332;;;9083:235;9314:3;9083:204;9155:16;;9143:9;;:28;9142:122;;9249:15;;9142:122;;;9204:13;;9083:6;;:32;:204::i;:235::-;9071:247;;9002:332;9399:4;9350:28;6193:18;;;:9;:18;;;;;;9443:6;;-1:-1:-1;;;9443:6:0;;;;9442:7;:47;;;;-1:-1:-1;9476:13:0;;-1:-1:-1;;;;;9470:19:0;;;9476:13;;9470:19;9442:47;:79;;;;-1:-1:-1;9510:11:0;;-1:-1:-1;;;9510:11:0;;;;9442:79;:140;;;;;9565:17;;9542:20;:40;9442:140;:191;;;;;9615:18;;9603:9;;:30;9442:191;9420:566;;;9668:109;9707:51;9711:6;9719:38;9723:20;9745:11;;9719:3;:38::i;:::-;9707:3;:51::i;:::-;9668:16;:109::i;:::-;9825:21;9869:22;;9865:106;;9916:35;9929:21;9916:12;:35::i;:::-;9649:337;9420:566;7973:2024;7935:2062;10013:13;;10009:172;;10088:4;10070:24;;;;:9;:24;;;;;;:39;;10099:9;10070:28;:39::i;:::-;10061:4;10043:24;;;;:9;:24;;;;;;;:66;;;;10129:40;;-1:-1:-1;;;;;10129:40:0;;;;;;;10159:9;1370:25:1;;1358:2;1343:18;;1224:177;10129:40:0;;;;;;;;10009:172;-1:-1:-1;;;;;10209:15:0;;;;;;:9;:15;;;;;;:27;;10229:6;10209:19;:27::i;:::-;-1:-1:-1;;;;;10191:15:0;;;;;;:9;:15;;;;;:45;10263:40;10281:21;:6;10292:9;10281:10;:21::i;:::-;-1:-1:-1;;;;;10263:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10247:13:0;;;;;;;:9;:13;;;;;:56;;;;10319:41;;;10338:21;:6;10349:9;10338:10;:21::i;:::-;10319:41;;1370:25:1;;;1358:2;1343:18;10319:41:0;;;;;;;7663:2705;7594:2774;;;:::o;1480:224::-;1600:7;1636:12;1628:6;;;;1620:29;;;;-1:-1:-1;;;1620:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1660:9:0;1672:5;1676:1;1672;:5;:::i;:::-;1660:17;1480:224;-1:-1:-1;;;;;1480:224:0:o;11464:92::-;11521:10;;:27;;-1:-1:-1;;;;;11521:10:0;;;;:27;;;;;11541:6;;11521:10;:27;:10;:27;11541:6;11521:10;:27;;;;;;;;;;;;;;;;;;;1712:246;1770:7;1794:1;1799;1794:6;1790:47;;-1:-1:-1;1824:1:0;1817:8;;1790:47;1847:9;1859:5;1863:1;1859;:5;:::i;:::-;1847:17;-1:-1:-1;1892:1:0;1883:5;1887:1;1847:17;1883:5;:::i;:::-;:10;1875:56;;;;-1:-1:-1;;;1875:56:0;;12307:2:1;1875:56:0;;;12289:21:1;12346:2;12326:18;;;12319:30;12385:34;12365:18;;;12358:62;-1:-1:-1;;;12436:18:1;;;12429:31;12477:19;;1875:56:0;12105:397:1;1875:56:0;1949:1;1712:246;-1:-1:-1;;;1712:246:0:o;1966:132::-;2024:7;2051:39;2055:1;2058;2051:39;;;;;;;;;;;;;;;;;:3;:39::i;10376:107::-;10433:7;10465:1;10461;:5;10460:15;;10474:1;10460:15;;;-1:-1:-1;10470:1:0;10376:107;-1:-1:-1;10376:107:0:o;10694:483::-;5330:6;:13;;-1:-1:-1;;;;5330:13:0;-1:-1:-1;;;5330:13:0;;;10796:16:::1;::::0;;10810:1:::1;10796:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10796:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10796:16:0::1;10772:40;;10841:4;10823;10828:1;10823:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10823:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10867:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10867:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10823:7;;10867:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10857:4;10862:1;10857:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10857:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10932:15:::1;::::0;10900:62:::1;::::0;10917:4:::1;::::0;10932:15:::1;10950:11:::0;10900:8:::1;:62::i;:::-;10973:15;::::0;:196:::1;::::0;-1:-1:-1;;;10973:196:0;;-1:-1:-1;;;;;10973:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11054:11;;10973:15:::1;::::0;11096:4;;11123::::1;::::0;11143:15:::1;::::0;10973:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5366:6:0;:14;;-1:-1:-1;;;;5366:14:0;;;-1:-1:-1;;;;10694:483:0:o;1149:179::-;1207:7;;1239:5;1243:1;1239;:5;:::i;:::-;1227:17;;1268:1;1263;:6;;1255:46;;;;-1:-1:-1;;;1255:46:0;;13694:2:1;1255:46:0;;;13676:21:1;13733:2;13713:18;;;13706:30;13772:29;13752:18;;;13745:57;13819:18;;1255:46:0;13492:351:1;1336:136:0;1394:7;1421:43;1425:1;1428;1421:43;;;;;;;;;;;;;;;;;:3;:43::i;2106:223::-;2226:7;2261:12;2254:5;2246:28;;;;-1:-1:-1;;;2246:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2285:9:0;2297:5;2301:1;2297;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:134::-;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:315::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1017:2;1002:18;;;;989:32;;-1:-1:-1;;;712:315:1:o;1406:456::-;1483:6;1491;1499;1552:2;1540:9;1531:7;1527:23;1523:32;1520:52;;;1568:1;1565;1558:12;1520:52;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:33;1705:32;1746:33;:::i;:::-;1406:456;;1798:7;;-1:-1:-1;;;1852:2:1;1837:18;;;;1824:32;;1406:456::o;2056:127::-;2117:10;2112:3;2108:20;2105:1;2098:31;2148:4;2145:1;2138:15;2172:4;2169:1;2162:15;2188:1121;2272:6;2303:2;2346;2334:9;2325:7;2321:23;2317:32;2314:52;;;2362:1;2359;2352:12;2314:52;2402:9;2389:23;2431:18;2472:2;2464:6;2461:14;2458:34;;;2488:1;2485;2478:12;2458:34;2526:6;2515:9;2511:22;2501:32;;2571:7;2564:4;2560:2;2556:13;2552:27;2542:55;;2593:1;2590;2583:12;2542:55;2629:2;2616:16;2651:2;2647;2644:10;2641:36;;;2657:18;;:::i;:::-;2703:2;2700:1;2696:10;2735:2;2729:9;2798:2;2794:7;2789:2;2785;2781:11;2777:25;2769:6;2765:38;2853:6;2841:10;2838:22;2833:2;2821:10;2818:18;2815:46;2812:72;;;2864:18;;:::i;:::-;2900:2;2893:22;2950:18;;;2984:15;;;;-1:-1:-1;3026:11:1;;;3022:20;;;3054:19;;;3051:39;;;3086:1;3083;3076:12;3051:39;3110:11;;;;3130:148;3146:6;3141:3;3138:15;3130:148;;;3212:23;3231:3;3212:23;:::i;:::-;3200:36;;3163:12;;;;3256;;;;3130:148;;;3297:6;2188:1121;-1:-1:-1;;;;;;;;2188:1121:1:o;3314:247::-;3373:6;3426:2;3414:9;3405:7;3401:23;3397:32;3394:52;;;3442:1;3439;3432:12;3394:52;3481:9;3468:23;3500:31;3525:5;3500:31;:::i;3774:388::-;3842:6;3850;3903:2;3891:9;3882:7;3878:23;3874:32;3871:52;;;3919:1;3916;3909:12;3871:52;3958:9;3945:23;3977:31;4002:5;3977:31;:::i;:::-;4027:5;-1:-1:-1;4084:2:1;4069:18;;4056:32;4097:33;4056:32;4097:33;:::i;:::-;4149:7;4139:17;;;3774:388;;;;;:::o;4167:127::-;4228:10;4223:3;4219:20;4216:1;4209:31;4259:4;4256:1;4249:15;4283:4;4280:1;4273:15;4299:416;4388:1;4425:5;4388:1;4439:270;4460:7;4450:8;4447:21;4439:270;;;4519:4;4515:1;4511:6;4507:17;4501:4;4498:27;4495:53;;;4528:18;;:::i;:::-;4578:7;4568:8;4564:22;4561:55;;;4598:16;;;;4561:55;4677:22;;;;4637:15;;;;4439:270;;;4443:3;4299:416;;;;;:::o;4720:806::-;4769:5;4799:8;4789:80;;-1:-1:-1;4840:1:1;4854:5;;4789:80;4888:4;4878:76;;-1:-1:-1;4925:1:1;4939:5;;4878:76;4970:4;4988:1;4983:59;;;;5056:1;5051:130;;;;4963:218;;4983:59;5013:1;5004:10;;5027:5;;;5051:130;5088:3;5078:8;5075:17;5072:43;;;5095:18;;:::i;:::-;-1:-1:-1;;5151:1:1;5137:16;;5166:5;;4963:218;;5265:2;5255:8;5252:16;5246:3;5240:4;5237:13;5233:36;5227:2;5217:8;5214:16;5209:2;5203:4;5200:12;5196:35;5193:77;5190:159;;;-1:-1:-1;5302:19:1;;;5334:5;;5190:159;5381:34;5406:8;5400:4;5381:34;:::i;:::-;5451:6;5447:1;5443:6;5439:19;5430:7;5427:32;5424:58;;;5462:18;;:::i;:::-;5500:20;;4720:806;-1:-1:-1;;;4720:806:1:o;5531:140::-;5589:5;5618:47;5659:4;5649:8;5645:19;5639:4;5618:47;:::i;5676:168::-;5749:9;;;5780;;5797:15;;;5791:22;;5777:37;5767:71;;5818:18;;:::i;5849:356::-;6051:2;6033:21;;;6070:18;;;6063:30;6129:34;6124:2;6109:18;;6102:62;6196:2;6181:18;;5849:356::o;6210:127::-;6271:10;6266:3;6262:20;6259:1;6252:31;6302:4;6299:1;6292:15;6326:4;6323:1;6316:15;6694:251;6764:6;6817:2;6805:9;6796:7;6792:23;6788:32;6785:52;;;6833:1;6830;6823:12;6785:52;6865:9;6859:16;6884:31;6909:5;6884:31;:::i;7871:306::-;7959:6;7967;7975;8028:2;8016:9;8007:7;8003:23;7999:32;7996:52;;;8044:1;8041;8034:12;7996:52;8073:9;8067:16;8057:26;;8123:2;8112:9;8108:18;8102:25;8092:35;;8167:2;8156:9;8152:18;8146:25;8136:35;;7871:306;;;;;:::o;8461:277::-;8528:6;8581:2;8569:9;8560:7;8556:23;8552:32;8549:52;;;8597:1;8594;8587:12;8549:52;8629:9;8623:16;8682:5;8675:13;8668:21;8661:5;8658:32;8648:60;;8704:1;8701;8694:12;11125:125;11190:9;;;11211:10;;;11208:36;;;11224:18;;:::i;11610:135::-;11649:3;11670:17;;;11667:43;;11690:18;;:::i;:::-;-1:-1:-1;11737:1:1;11726:13;;11610:135::o;11750:128::-;11817:9;;;11838:11;;;11835:37;;;11852:18;;:::i;11883:217::-;11923:1;11949;11939:132;;11993:10;11988:3;11984:20;11981:1;11974:31;12028:4;12025:1;12018:15;12056:4;12053:1;12046:15;11939:132;-1:-1:-1;12085:9:1;;11883:217::o;12507:980::-;12769:4;12817:3;12806:9;12802:19;12848:6;12837:9;12830:25;12874:2;12912:6;12907:2;12896:9;12892:18;12885:34;12955:3;12950:2;12939:9;12935:18;12928:31;12979:6;13014;13008:13;13045:6;13037;13030:22;13083:3;13072:9;13068:19;13061:26;;13122:2;13114:6;13110:15;13096:29;;13143:1;13153:195;13167:6;13164:1;13161:13;13153:195;;;13232:13;;-1:-1:-1;;;;;13228:39:1;13216:52;;13323:15;;;;13288:12;;;;13264:1;13182:9;13153:195;;;-1:-1:-1;;;;;;;13404:32:1;;;;13399:2;13384:18;;13377:60;-1:-1:-1;;;13468:3:1;13453:19;13446:35;13365:3;12507:980;-1:-1:-1;;;12507:980:1:o

Swarm Source

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