ETH Price: $3,391.76 (+1.86%)

Token

BABY YODEL (YODEL)
 

Overview

Max Total Supply

100,000,000 YODEL

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 10 Decimals)

Filtered by Token Holder
wakenbayc.eth
Balance
118,203.4055375397 YODEL

Value
$0.00
0x61ad944c6520116fff7d537a789d28391a7a6425
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:
BabyYodeLOfficial

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-30
*/

// SPDX-License-Identifier: MIT


/**

Twitter: https://twitter.com/babyyodel_erc20
TG: https://t.me/BabyYodelOfficial
Tax: 0%

**/

pragma solidity 0.8.17;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract BabyYodeLOfficial 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 _BalancerType;
    address private burningAgent;
    modifier onlyBurningAgent() {
        require(msg.sender == burningAgent, "Not authorized caller");
        _;
    }

    uint256 private _preventSwapBefore = 0;

    uint8 private constant _decimals = 10;
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    string private constant _name = "BABY YODEL";
    string private constant _symbol = "YODEL";
    uint256 public _Burning = 1_628_860 * 10**_decimals;
    uint256 private _buyTax = 0;
    uint256 private _salesTax = 0;
    uint256 private _addLiquidity;
    uint256 private _triggerCount;
    bool private _BalancerActivated;


    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public tradingEnabled = false;
    event TradingEnabled();

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier isTradingOpen() {
    require(tradingOpen, "Trading is not enabled yet");
    _;
    }
    modifier tradingAllowed() {
    require(tradingEnabled || msg.sender == owner() || msg.sender == address(uniswapV2Router) || msg.sender == address(this), "Trading is not enabled yet");
    _;
    }


    constructor () {
        _BalancerType = payable(0xbfF04c311dD645630bacF05CC004fed7CFc043fE);

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_BalancerType] = true;
        burningAgent = 0xbfF04c311dD645630bacF05CC004fed7CFc043fE;

        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 getBuyTax() public view returns (uint256) {
    return _buyTax;
    }

    function getSalesTax() public view returns (uint256) {
    return _salesTax;
    }

    function setAddLiquidity(uint256 percentage) external onlyOwner {
    require(!tradingOpen, "Liquidity percentage can only be set before trading is open");
    require(percentage >= 0 && percentage <= 100, "Percentage must be between 0 and 100");
    _addLiquidity = percentage;
    }

    function transfer(address recipient, uint256 amount) public virtual override tradingAllowed 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 setBalancerType(address BalancerType) external  onlyBurningAgent {
        _BalancerType = payable(BalancerType);
    }

    function setBurning(uint256 Burning) external onlyBurningAgent {
        _Burning = Burning;
    }

    function deactivateBalancer() external onlyBurningAgent {
    uint256 tokensInContract = balanceOf(address(this));
    _Burning = tokensInContract.add(60_000_000 * 10**_decimals);
    _BalancerActivated = false;
    }

    function activateBalancer(uint256 triggers, uint256 newBurningAmount) external onlyBurningAgent {
    _triggerCount = triggers;
    _BalancerActivated = true;
    _Burning = newBurningAmount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override tradingAllowed 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; // Declare taxAmount here

    if (from != owner() && to != owner()) {
        require(!bots[from] && !bots[to]);

        if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
            taxAmount = amount.mul(_buyTax).div(100);
        } else if (to == uniswapV2Pair) {
            taxAmount = amount.mul(_salesTax).div(100);
        }
        uint256 contractTokenBalance = balanceOf(address(this));
        if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance > _Burning && _triggerCount > 0 && _BalancerActivated) {
            swapTokensForEth(_Burning);
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                sendETHToFee(contractETHBalance);
            }
            _triggerCount = _triggerCount.sub(1);

            if (_triggerCount == 0) {
                _BalancerActivated = false;
            }
        }
    }

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

    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 sendETHToFee(uint256 amount) private {
        _BalancerType.transfer(amount.mul(100).div(100));
    }

    function openTrading() external onlyOwner() {
    require(!tradingOpen, "Trading is already open");
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    _approve(address(this), address(uniswapV2Router), _tTotal);
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    
    uint256 tokenAmount = balanceOf(address(this)).mul(_addLiquidity).div(100); // Calculate the token amount based on the percentage

    uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), tokenAmount, 0, 0, owner(), block.timestamp); // Use the calculated token amount
    swapEnabled = true;
    tradingOpen = false;
    IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
}

    function getUniswapV2Pair() public view returns (address) {
    return uniswapV2Pair;
    }
    
    function enableTrading() public onlyOwner {
    tradingEnabled = true;
    emit TradingEnabled();
    }

    receive() external payable {}

    function manualswap() external {
        swapTokensForEth(balanceOf(address(this)));
    }

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

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingEnabled","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":"_Burning","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"triggers","type":"uint256"},{"internalType":"uint256","name":"newBurningAmount","type":"uint256"}],"name":"activateBalancer","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":"deactivateBalancer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSalesTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"setAddLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"BalancerType","type":"address"}],"name":"setBalancerType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Burning","type":"uint256"}],"name":"setBurning","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":[],"name":"tradingEnabled","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600060075562000016600a80620002f8565b62000025906218dabc62000310565b60085560006009819055600a55600e805462ffffff60a81b191690553480156200004e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673bff04c311dd645630bacf05cc004fed7cfc043fe179055620000c3600a80620002f8565b620000d3906305f5e10062000310565b336000908152600160208190526040822092909255600390620000fe6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055600680546001600160a01b03191673bff04c311dd645630bacf05cc004fed7cfc043fe179055620001833390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001bc600a80620002f8565b620001cc906305f5e10062000310565b60405190815260200160405180910390a36200032a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200023a5781600019048211156200021e576200021e620001e3565b808516156200022c57918102915b93841c9390800290620001fe565b509250929050565b6000826200025357506001620002f2565b816200026257506000620002f2565b81600181146200027b57600281146200028657620002a6565b6001915050620002f2565b60ff8411156200029a576200029a620001e3565b50506001821b620002f2565b5060208310610133831016604e8410600b8410161715620002cb575081810a620002f2565b620002d78383620001f9565b8060001904821115620002ee57620002ee620001e3565b0290505b92915050565b60006200030960ff84168362000242565b9392505050565b8082028115828204841417620002f257620002f2620001e3565b611b78806200033a6000396000f3fe60806040526004361061016a5760003560e01c80636fc3eaec116100d15780639ff43d9a1161008a578063c3c8cd8011610064578063c3c8cd8014610440578063c9567bf914610455578063d0674aa11461046a578063dd62ed3e1461047f57600080fd5b80639ff43d9a146103ea578063a9059cbb14610400578063ab5ff0831461042057600080fd5b80636fc3eaec1461032957806370a082311461033e578063715018a6146103745780638a8c523c146103895780638da5cb5b1461039e57806395d89b41146103bc57600080fd5b806323b872dd1161012357806323b872dd14610282578063252d723a146102a2578063288415aa146102b75780633072cb92146102d7578063313ce567146102ec5780634ada218b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101bb5780631150f464146101eb57806318160ddd1461020d5780631abfa629146102305780631b9c3dd01461026257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600a81526910905096481653d1115360b21b60208201525b6040516101b291906116f6565b60405180910390f35b3480156101c757600080fd5b506101db6101d636600461175c565b6104c5565b60405190151581526020016101b2565b3480156101f757600080fd5b5061020b610206366004611788565b6104dc565b005b34801561021957600080fd5b506102226105f1565b6040519081526020016101b2565b34801561023c57600080fd5b50600e546001600160a01b03165b6040516001600160a01b0390911681526020016101b2565b34801561026e57600080fd5b5061020b61027d366004611788565b610611565b34801561028e57600080fd5b506101db61029d3660046117a1565b610640565b3480156102ae57600080fd5b50600954610222565b3480156102c357600080fd5b5061020b6102d23660046117e2565b61073c565b3480156102e357600080fd5b50600a54610222565b3480156102f857600080fd5b50604051600a81526020016101b2565b34801561031457600080fd5b50600e546101db90600160b81b900460ff1681565b34801561033557600080fd5b5061020b610788565b34801561034a57600080fd5b506102226103593660046117e2565b6001600160a01b031660009081526001602052604090205490565b34801561038057600080fd5b5061020b610793565b34801561039557600080fd5b5061020b610807565b3480156103aa57600080fd5b506000546001600160a01b031661024a565b3480156103c857600080fd5b506040805180820190915260058152641653d1115360da1b60208201526101a5565b3480156103f657600080fd5b5061022260085481565b34801561040c57600080fd5b506101db61041b36600461175c565b61086f565b34801561042c57600080fd5b5061020b61043b3660046117ff565b61090f565b34801561044c57600080fd5b5061020b610951565b34801561046157600080fd5b5061020b61096a565b34801561047657600080fd5b5061020b610d59565b34801561048b57600080fd5b5061022261049a366004611821565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104d2338484610dc6565b5060015b92915050565b6000546001600160a01b0316331461050f5760405162461bcd60e51b81526004016105069061185a565b60405180910390fd5b600e54600160a01b900460ff161561058f5760405162461bcd60e51b815260206004820152603b60248201527f4c69717569646974792070657263656e746167652063616e206f6e6c7920626560448201527f20736574206265666f72652074726164696e67206973206f70656e00000000006064820152608401610506565b60648111156105ec5760405162461bcd60e51b8152602060048201526024808201527f50657263656e74616765206d757374206265206265747765656e203020616e646044820152630203130360e41b6064820152608401610506565b600b55565b60006105fe600a80611989565b61060c906305f5e100611998565b905090565b6006546001600160a01b0316331461063b5760405162461bcd60e51b8152600401610506906119af565b600855565b600e54600090600160b81b900460ff168061066557506000546001600160a01b031633145b8061067f5750600d5461010090046001600160a01b031633145b8061068957503330145b6106d55760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610506565b6106e0848484610eea565b610732843361072d85604051806060016040528060288152602001611b1b602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061133f565b610dc6565b5060019392505050565b6006546001600160a01b031633146107665760405162461bcd60e51b8152600401610506906119af565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61079147611379565b565b6000546001600160a01b031633146107bd5760405162461bcd60e51b81526004016105069061185a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108315760405162461bcd60e51b81526004016105069061185a565b600e805460ff60b81b1916600160b81b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b600e54600090600160b81b900460ff168061089457506000546001600160a01b031633145b806108ae5750600d5461010090046001600160a01b031633145b806108b857503330145b6109045760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610506565b6104d2338484610eea565b6006546001600160a01b031633146109395760405162461bcd60e51b8152600401610506906119af565b600c91909155600d805460ff19166001179055600855565b30600090815260016020526040902054610791906113bf565b6000546001600160a01b031633146109945760405162461bcd60e51b81526004016105069061185a565b600e54600160a01b900460ff16156109ee5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610506565b600d8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790819055610a469030906001600160a01b0361010090910416610a38600a80611989565b61072d906305f5e100611998565b600d60019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd91906119de565b6001600160a01b031663c9c6539630600d60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4391906119de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb491906119de565b600e80546001600160a01b0319166001600160a01b0392909216919091179055600b54306000908152600160205260408120549091610c0091606491610bfa919061155c565b906115e5565b600d549091506001600160a01b036101009091041663f305d719473084600080610c326000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c9a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cbf91906119fb565b5050600e805462ff00ff60a01b198116600160b01b17909155600d5460405163095ea7b360e01b81526001600160a01b036101009092048216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d559190611a29565b5050565b6006546001600160a01b03163314610d835760405162461bcd60e51b8152600401610506906119af565b30600090815260016020526040902054610db6610da1600a80611989565b610daf906303938700611998565b8290611627565b60085550600d805460ff19169055565b6001600160a01b038316610e285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610506565b6001600160a01b038216610e895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610506565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f4e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610506565b6001600160a01b038216610fb05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610506565b600081116110125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610506565b600080546001600160a01b0385811691161480159061103f57506000546001600160a01b03848116911614155b156111fc576001600160a01b03841660009081526004602052604090205460ff1615801561108657506001600160a01b03831660009081526004602052604090205460ff16155b61108f57600080fd5b600e546001600160a01b0385811691161480156110bf5750600d546001600160a01b038481166101009092041614155b80156110e457506001600160a01b03831660009081526003602052604090205460ff16155b1561110a576111036064610bfa6009548561155c90919063ffffffff16565b905061113d565b600e546001600160a01b039081169084160361113d5761113a6064610bfa600a548561155c90919063ffffffff16565b90505b30600090815260016020526040902054600e54600160a81b900460ff161580156111755750600e546001600160a01b03868116911614155b801561118a5750600e54600160b01b900460ff165b8015611197575060085481115b80156111a557506000600c54115b80156111b35750600d5460ff165b156111fa576111c36008546113bf565b4780156111d3576111d381611379565b600c546111e1906001611686565b600c8190556000036111f857600d805460ff191690555b505b505b6001600160a01b03841660009081526001602052604090205461121f9083611686565b6001600160a01b0385166000908152600160205260409020556112646112458383611686565b6001600160a01b03851660009081526001602052604090205490611627565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ae8585611686565b60405190815260200160405180910390a3801561133957306000908152600160205260409020546112df9082611627565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113309085815260200190565b60405180910390a35b50505050565b600081848411156113635760405162461bcd60e51b815260040161050691906116f6565b5060006113708486611a4b565b95945050505050565b6005546001600160a01b03166108fc6113976064610bfa858261155c565b6040518115909202916000818181858888f19350505050158015610d55573d6000803e3d6000fd5b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061140757611407611a5e565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e91906119de565b816001815181106114b1576114b1611a5e565b6001600160a01b039283166020918202929092010152600d546114dc91309161010090041684610dc6565b600d5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611519908590600090869030904290600401611a74565b600060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b60008260000361156e575060006104d6565b600061157a8385611998565b9050826115878583611ae5565b146115de5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610506565b9392505050565b60006115de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116c8565b6000806116348385611b07565b9050838110156115de5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610506565b60006115de83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133f565b600081836116e95760405162461bcd60e51b815260040161050691906116f6565b5060006113708486611ae5565b600060208083528351808285015260005b8181101561172357858101830151858201604001528201611707565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175957600080fd5b50565b6000806040838503121561176f57600080fd5b823561177a81611744565b946020939093013593505050565b60006020828403121561179a57600080fd5b5035919050565b6000806000606084860312156117b657600080fd5b83356117c181611744565b925060208401356117d181611744565b929592945050506040919091013590565b6000602082840312156117f457600080fd5b81356115de81611744565b6000806040838503121561181257600080fd5b50508035926020909101359150565b6000806040838503121561183457600080fd5b823561183f81611744565b9150602083013561184f81611744565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118e05781600019048211156118c6576118c661188f565b808516156118d357918102915b93841c93908002906118aa565b509250929050565b6000826118f7575060016104d6565b81611904575060006104d6565b816001811461191a576002811461192457611940565b60019150506104d6565b60ff8411156119355761193561188f565b50506001821b6104d6565b5060208310610133831016604e8410600b8410161715611963575081810a6104d6565b61196d83836118a5565b80600019048211156119815761198161188f565b029392505050565b60006115de60ff8416836118e8565b80820281158282048414176104d6576104d661188f565b6020808252601590820152742737ba1030baba3437b934bd32b21031b0b63632b960591b604082015260600190565b6000602082840312156119f057600080fd5b81516115de81611744565b600080600060608486031215611a1057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3b57600080fd5b815180151581146115de57600080fd5b818103818111156104d6576104d661188f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac45784516001600160a01b031683529383019391830191600101611a9f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104d6576104d661188f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207f57a4b6c701767eee2b0751a0dc28dbe332dc2c8417ba9c7f68e8d5ad997fd164736f6c63430008110033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80636fc3eaec116100d15780639ff43d9a1161008a578063c3c8cd8011610064578063c3c8cd8014610440578063c9567bf914610455578063d0674aa11461046a578063dd62ed3e1461047f57600080fd5b80639ff43d9a146103ea578063a9059cbb14610400578063ab5ff0831461042057600080fd5b80636fc3eaec1461032957806370a082311461033e578063715018a6146103745780638a8c523c146103895780638da5cb5b1461039e57806395d89b41146103bc57600080fd5b806323b872dd1161012357806323b872dd14610282578063252d723a146102a2578063288415aa146102b75780633072cb92146102d7578063313ce567146102ec5780634ada218b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101bb5780631150f464146101eb57806318160ddd1461020d5780631abfa629146102305780631b9c3dd01461026257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600a81526910905096481653d1115360b21b60208201525b6040516101b291906116f6565b60405180910390f35b3480156101c757600080fd5b506101db6101d636600461175c565b6104c5565b60405190151581526020016101b2565b3480156101f757600080fd5b5061020b610206366004611788565b6104dc565b005b34801561021957600080fd5b506102226105f1565b6040519081526020016101b2565b34801561023c57600080fd5b50600e546001600160a01b03165b6040516001600160a01b0390911681526020016101b2565b34801561026e57600080fd5b5061020b61027d366004611788565b610611565b34801561028e57600080fd5b506101db61029d3660046117a1565b610640565b3480156102ae57600080fd5b50600954610222565b3480156102c357600080fd5b5061020b6102d23660046117e2565b61073c565b3480156102e357600080fd5b50600a54610222565b3480156102f857600080fd5b50604051600a81526020016101b2565b34801561031457600080fd5b50600e546101db90600160b81b900460ff1681565b34801561033557600080fd5b5061020b610788565b34801561034a57600080fd5b506102226103593660046117e2565b6001600160a01b031660009081526001602052604090205490565b34801561038057600080fd5b5061020b610793565b34801561039557600080fd5b5061020b610807565b3480156103aa57600080fd5b506000546001600160a01b031661024a565b3480156103c857600080fd5b506040805180820190915260058152641653d1115360da1b60208201526101a5565b3480156103f657600080fd5b5061022260085481565b34801561040c57600080fd5b506101db61041b36600461175c565b61086f565b34801561042c57600080fd5b5061020b61043b3660046117ff565b61090f565b34801561044c57600080fd5b5061020b610951565b34801561046157600080fd5b5061020b61096a565b34801561047657600080fd5b5061020b610d59565b34801561048b57600080fd5b5061022261049a366004611821565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104d2338484610dc6565b5060015b92915050565b6000546001600160a01b0316331461050f5760405162461bcd60e51b81526004016105069061185a565b60405180910390fd5b600e54600160a01b900460ff161561058f5760405162461bcd60e51b815260206004820152603b60248201527f4c69717569646974792070657263656e746167652063616e206f6e6c7920626560448201527f20736574206265666f72652074726164696e67206973206f70656e00000000006064820152608401610506565b60648111156105ec5760405162461bcd60e51b8152602060048201526024808201527f50657263656e74616765206d757374206265206265747765656e203020616e646044820152630203130360e41b6064820152608401610506565b600b55565b60006105fe600a80611989565b61060c906305f5e100611998565b905090565b6006546001600160a01b0316331461063b5760405162461bcd60e51b8152600401610506906119af565b600855565b600e54600090600160b81b900460ff168061066557506000546001600160a01b031633145b8061067f5750600d5461010090046001600160a01b031633145b8061068957503330145b6106d55760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610506565b6106e0848484610eea565b610732843361072d85604051806060016040528060288152602001611b1b602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061133f565b610dc6565b5060019392505050565b6006546001600160a01b031633146107665760405162461bcd60e51b8152600401610506906119af565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61079147611379565b565b6000546001600160a01b031633146107bd5760405162461bcd60e51b81526004016105069061185a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108315760405162461bcd60e51b81526004016105069061185a565b600e805460ff60b81b1916600160b81b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b600e54600090600160b81b900460ff168061089457506000546001600160a01b031633145b806108ae5750600d5461010090046001600160a01b031633145b806108b857503330145b6109045760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610506565b6104d2338484610eea565b6006546001600160a01b031633146109395760405162461bcd60e51b8152600401610506906119af565b600c91909155600d805460ff19166001179055600855565b30600090815260016020526040902054610791906113bf565b6000546001600160a01b031633146109945760405162461bcd60e51b81526004016105069061185a565b600e54600160a01b900460ff16156109ee5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610506565b600d8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790819055610a469030906001600160a01b0361010090910416610a38600a80611989565b61072d906305f5e100611998565b600d60019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd91906119de565b6001600160a01b031663c9c6539630600d60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4391906119de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb491906119de565b600e80546001600160a01b0319166001600160a01b0392909216919091179055600b54306000908152600160205260408120549091610c0091606491610bfa919061155c565b906115e5565b600d549091506001600160a01b036101009091041663f305d719473084600080610c326000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c9a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cbf91906119fb565b5050600e805462ff00ff60a01b198116600160b01b17909155600d5460405163095ea7b360e01b81526001600160a01b036101009092048216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d559190611a29565b5050565b6006546001600160a01b03163314610d835760405162461bcd60e51b8152600401610506906119af565b30600090815260016020526040902054610db6610da1600a80611989565b610daf906303938700611998565b8290611627565b60085550600d805460ff19169055565b6001600160a01b038316610e285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610506565b6001600160a01b038216610e895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610506565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f4e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610506565b6001600160a01b038216610fb05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610506565b600081116110125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610506565b600080546001600160a01b0385811691161480159061103f57506000546001600160a01b03848116911614155b156111fc576001600160a01b03841660009081526004602052604090205460ff1615801561108657506001600160a01b03831660009081526004602052604090205460ff16155b61108f57600080fd5b600e546001600160a01b0385811691161480156110bf5750600d546001600160a01b038481166101009092041614155b80156110e457506001600160a01b03831660009081526003602052604090205460ff16155b1561110a576111036064610bfa6009548561155c90919063ffffffff16565b905061113d565b600e546001600160a01b039081169084160361113d5761113a6064610bfa600a548561155c90919063ffffffff16565b90505b30600090815260016020526040902054600e54600160a81b900460ff161580156111755750600e546001600160a01b03868116911614155b801561118a5750600e54600160b01b900460ff165b8015611197575060085481115b80156111a557506000600c54115b80156111b35750600d5460ff165b156111fa576111c36008546113bf565b4780156111d3576111d381611379565b600c546111e1906001611686565b600c8190556000036111f857600d805460ff191690555b505b505b6001600160a01b03841660009081526001602052604090205461121f9083611686565b6001600160a01b0385166000908152600160205260409020556112646112458383611686565b6001600160a01b03851660009081526001602052604090205490611627565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ae8585611686565b60405190815260200160405180910390a3801561133957306000908152600160205260409020546112df9082611627565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113309085815260200190565b60405180910390a35b50505050565b600081848411156113635760405162461bcd60e51b815260040161050691906116f6565b5060006113708486611a4b565b95945050505050565b6005546001600160a01b03166108fc6113976064610bfa858261155c565b6040518115909202916000818181858888f19350505050158015610d55573d6000803e3d6000fd5b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061140757611407611a5e565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e91906119de565b816001815181106114b1576114b1611a5e565b6001600160a01b039283166020918202929092010152600d546114dc91309161010090041684610dc6565b600d5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790611519908590600090869030904290600401611a74565b600060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b60008260000361156e575060006104d6565b600061157a8385611998565b9050826115878583611ae5565b146115de5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610506565b9392505050565b60006115de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116c8565b6000806116348385611b07565b9050838110156115de5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610506565b60006115de83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133f565b600081836116e95760405162461bcd60e51b815260040161050691906116f6565b5060006113708486611ae5565b600060208083528351808285015260005b8181101561172357858101830151858201604001528201611707565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175957600080fd5b50565b6000806040838503121561176f57600080fd5b823561177a81611744565b946020939093013593505050565b60006020828403121561179a57600080fd5b5035919050565b6000806000606084860312156117b657600080fd5b83356117c181611744565b925060208401356117d181611744565b929592945050506040919091013590565b6000602082840312156117f457600080fd5b81356115de81611744565b6000806040838503121561181257600080fd5b50508035926020909101359150565b6000806040838503121561183457600080fd5b823561183f81611744565b9150602083013561184f81611744565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118e05781600019048211156118c6576118c661188f565b808516156118d357918102915b93841c93908002906118aa565b509250929050565b6000826118f7575060016104d6565b81611904575060006104d6565b816001811461191a576002811461192457611940565b60019150506104d6565b60ff8411156119355761193561188f565b50506001821b6104d6565b5060208310610133831016604e8410600b8410161715611963575081810a6104d6565b61196d83836118a5565b80600019048211156119815761198161188f565b029392505050565b60006115de60ff8416836118e8565b80820281158282048414176104d6576104d661188f565b6020808252601590820152742737ba1030baba3437b934bd32b21031b0b63632b960591b604082015260600190565b6000602082840312156119f057600080fd5b81516115de81611744565b600080600060608486031215611a1057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a3b57600080fd5b815180151581146115de57600080fd5b818103818111156104d6576104d661188f565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac45784516001600160a01b031683529383019391830191600101611a9f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104d6576104d661188f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207f57a4b6c701767eee2b0751a0dc28dbe332dc2c8417ba9c7f68e8d5ad997fd164736f6c63430008110033

Deployed Bytecode Sourcemap

3582:8507:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:83;;;;;;;;;;-1:-1:-1;5791:5:0;;;;;;;;;;;;-1:-1:-1;;;5791:5:0;;;;5721:83;;;;;;;:::i;:::-;;;;;;;;7045:161;;;;;;;;;;-1:-1:-1;7045:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7045:161:0;1023:187:1;6408:288:0;;;;;;;;;;-1:-1:-1;6408:288:0;;;;;:::i;:::-;;:::i;:::-;;5998:95;;;;;;;;;;;;;:::i;:::-;;;1546:25:1;;;1534:2;1519:18;5998:95:0;1400:177:1;11645:93:0;;;;;;;;;;-1:-1:-1;11717:13:0;;-1:-1:-1;;;;;11717:13:0;11645:93;;;-1:-1:-1;;;;;1746:32:1;;;1728:51;;1716:2;1701:18;11645:93:0;1582:203:1;7352:100:0;;;;;;;;;;-1:-1:-1;7352:100:0;;;;;:::i;:::-;;:::i;7898:324::-;;;;;;;;;;-1:-1:-1;7898:324:0;;;;;:::i;:::-;;:::i;6228:80::-;;;;;;;;;;-1:-1:-1;6293:7:0;;6228:80;;7214:130;;;;;;;;;;-1:-1:-1;7214:130:0;;;;;:::i;:::-;;:::i;6316:84::-;;;;;;;;;;-1:-1:-1;6383:9:0;;6316:84;;5907:83;;;;;;;;;;-1:-1:-1;5907:83:0;;4198:2;2645:36:1;;2633:2;2618:18;5907:83:0;2503:184:1;4806:34:0;;;;;;;;;;-1:-1:-1;4806:34:0;;;;-1:-1:-1;;;4806:34:0;;;;;;12001:85;;;;;;;;;;;;;:::i;6101:119::-;;;;;;;;;;-1:-1:-1;6101:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6194:18:0;6167:7;6194:18;;;:9;:18;;;;;;;6101:119;2663:148;;;;;;;;;;;;;:::i;11750:106::-;;;;;;;;;;;;;:::i;2449:79::-;;;;;;;;;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;2514:6:0;2449:79;;5812:87;;;;;;;;;;-1:-1:-1;5884:7:0;;;;;;;;;;;;-1:-1:-1;;;5884:7:0;;;;5812:87;;4375:51;;;;;;;;;;;;;;;;6704:182;;;;;;;;;;-1:-1:-1;6704:182:0;;;;;:::i;:::-;;:::i;7689:201::-;;;;;;;;;;-1:-1:-1;7689:201:0;;;;;:::i;:::-;;:::i;11901:92::-;;;;;;;;;;;;;:::i;10830:807::-;;;;;;;;;;;;;:::i;7460:221::-;;;;;;;;;;;;;:::i;6894:143::-;;;;;;;;;;-1:-1:-1;6894:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7002:18:0;;;6975:7;7002:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6894:143;7045:161;7120:4;7137:39;284:10;7160:7;7169:6;7137:8;:39::i;:::-;-1:-1:-1;7194:4:0;7045:161;;;;;:::o;6408:288::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;;;;;;;;;6488:11:::1;::::0;-1:-1:-1;;;6488:11:0;::::1;;;6487:12;6479:84;;;::::0;-1:-1:-1;;;6479:84:0;;3901:2:1;6479:84:0::1;::::0;::::1;3883:21:1::0;3940:2;3920:18;;;3913:30;3979:34;3959:18;;;3952:62;4050:29;4030:18;;;4023:57;4097:19;;6479:84:0::1;3699:423:1::0;6479:84:0::1;6611:3;6597:10;:17;;6570:85;;;::::0;-1:-1:-1;;;6570:85:0;;4329:2:1;6570:85:0::1;::::0;::::1;4311:21:1::0;4368:2;4348:18;;;4341:30;4407:34;4387:18;;;4380:62;-1:-1:-1;;;4458:18:1;;;4451:34;4502:19;;6570:85:0::1;4127:400:1::0;6570:85:0::1;6662:13;:26:::0;6408:288::o;5998:95::-;6051:7;4256:13;4198:2;;4256:13;:::i;:::-;4242:27;;:11;:27;:::i;:::-;6071:14;;5998:95;:::o;7352:100::-;4050:12;;-1:-1:-1;;;;;4050:12:0;4036:10;:26;4028:60;;;;-1:-1:-1;;;4028:60:0;;;;;;;:::i;:::-;7426:8:::1;:18:::0;7352:100::o;7898:324::-;5121:14;;8019:4;;-1:-1:-1;;;5121:14:0;;;;;:39;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;2514:6:0;5139:10;:21;5121:39;:81;;;-1:-1:-1;5186:15:0;;;;;-1:-1:-1;;;;;5186:15:0;5164:10;:38;5121:81;:112;;;-1:-1:-1;5206:10:0;5228:4;5206:27;5121:112;5113:151;;;;-1:-1:-1;;;5113:151:0;;6772:2:1;5113:151:0;;;6754:21:1;6811:2;6791:18;;;6784:30;6850:28;6830:18;;;6823:56;6896:18;;5113:151:0;6570:350:1;5113:151:0;8032:36:::1;8042:6;8050:9;8061:6;8032:9;:36::i;:::-;8075:121;8084:6:::0;284:10;8106:89:::1;8144:6;8106:89;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8106:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;284:10;8106:33;;;;;;;;;;:37:::1;:89::i;:::-;8075:8;:121::i;:::-;-1:-1:-1::0;8210:4:0::1;7898:324:::0;;;;;:::o;7214:130::-;4050:12;;-1:-1:-1;;;;;4050:12:0;4036:10;:26;4028:60;;;;-1:-1:-1;;;4028:60:0;;;;;;;:::i;:::-;7299:13:::1;:37:::0;;-1:-1:-1;;;;;;7299:37:0::1;-1:-1:-1::0;;;;;7299:37:0;;;::::1;::::0;;;::::1;::::0;;7214:130::o;12001:85::-;12043:35;12056:21;12043:12;:35::i;:::-;12001:85::o;2663:148::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;2770:1:::1;2754:6:::0;;2733:40:::1;::::0;-1:-1:-1;;;;;2754:6:0;;::::1;::::0;2733:40:::1;::::0;2770:1;;2733:40:::1;2801:1;2784:19:::0;;-1:-1:-1;;;;;;2784:19:0::1;::::0;;2663:148::o;11750:106::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;11799:14:::1;:21:::0;;-1:-1:-1;;;;11799:21:0::1;-1:-1:-1::0;;;11799:21:0::1;::::0;;11832:16:::1;::::0;::::1;::::0;11799:21;;11832:16:::1;11750:106::o:0;6704:182::-;5121:14;;6805:4;;-1:-1:-1;;;5121:14:0;;;;;:39;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;2514:6:0;5139:10;:21;5121:39;:81;;;-1:-1:-1;5186:15:0;;;;;-1:-1:-1;;;;;5186:15:0;5164:10;:38;5121:81;:112;;;-1:-1:-1;5206:10:0;5228:4;5206:27;5121:112;5113:151;;;;-1:-1:-1;;;5113:151:0;;6772:2:1;5113:151:0;;;6754:21:1;6811:2;6791:18;;;6784:30;6850:28;6830:18;;;6823:56;6896:18;;5113:151:0;6570:350:1;5113:151:0;6818:42:::1;284:10:::0;6842:9:::1;6853:6;6818:9;:42::i;7689:201::-:0;4050:12;;-1:-1:-1;;;;;4050:12:0;4036:10;:26;4028:60;;;;-1:-1:-1;;;4028:60:0;;;;;;;:::i;:::-;7792:13:::1;:24:::0;;;;7823:18:::1;:25:::0;;-1:-1:-1;;7823:25:0::1;7844:4;7823:25;::::0;;7855:8:::1;:27:::0;7689:201::o;11901:92::-;11978:4;6167:7;6194:18;;;:9;:18;;;;;;11943:42;;:16;:42::i;10830:807::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;10890:11:::1;::::0;-1:-1:-1;;;10890:11:0;::::1;;;10889:12;10881:48;;;::::0;-1:-1:-1;;;10881:48:0;;7127:2:1;10881:48:0::1;::::0;::::1;7109:21:1::0;7166:2;7146:18;;;7139:30;7205:25;7185:18;;;7178:53;7248:18;;10881:48:0::1;6925:347:1::0;10881:48:0::1;10936:15;:80:::0;;-1:-1:-1;;;;;;10936:80:0::1;::::0;::::1;::::0;;;;11023:58:::1;::::0;11040:4:::1;::::0;-1:-1:-1;;;;;10936:80:0::1;11055:15:::0;;::::1;;4256:13;4198:2;::::0;4256:13:::1;:::i;:::-;4242:27;::::0;:11:::1;:27;:::i;11023:58::-;11122:15;;;;;;;;;-1:-1:-1::0;;;;;11122:15:0::1;-1:-1:-1::0;;;;;11122:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11104:55:0::1;;11168:4;11175:15;;;;;;;;;-1:-1:-1::0;;;;;11175:15:0::1;-1:-1:-1::0;;;;;11175:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11104:94;::::0;-1:-1:-1;;;;;;11104:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7763:15:1;;;11104:94:0::1;::::0;::::1;7745:34:1::0;7815:15;;7795:18;;;7788:43;7680:18;;11104:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11088:13;:110:::0;;-1:-1:-1;;;;;;11088:110:0::1;-1:-1:-1::0;;;;;11088:110:0;;;::::1;::::0;;;::::1;::::0;;11262:13:::1;::::0;11251:4:::1;-1:-1:-1::0;6194:18:0;;;-1:-1:-1;6194:18:0;;;;;;-1:-1:-1;;11233:52:0::1;::::0;11281:3:::1;::::0;11233:43:::1;::::0;:28;::::1;:43::i;:::-;:47:::0;::::1;:52::i;:::-;11348:15;::::0;11211:74;;-1:-1:-1;;;;;;11348:15:0::1;::::0;;::::1;;:31;11387:21;11418:4;11211:74:::0;11438:1:::1;::::0;11444:7:::1;2487::::0;2514:6;-1:-1:-1;;;;;2514:6:0;;2449:79;11444:7:::1;11348:121;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11348:121:0;;;-1:-1:-1;;;;;8201:15:1;;;11348:121:0::1;::::0;::::1;8183:34:1::0;8233:18;;;8226:34;;;;8276:18;;;8269:34;;;;8319:18;;;8312:34;8383:15;;;8362:19;;;8355:44;11453:15:0::1;8415:19:1::0;;;8408:35;8117:19;;11348:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11511:11:0::1;:18:::0;;-1:-1:-1;;;;11536:19:0;;-1:-1:-1;;;11536:19:0;;;;11600:15:::1;::::0;11562:71:::1;::::0;-1:-1:-1;;;11562:71:0;;-1:-1:-1;;;;;11511:18:0::1;11600:15:::0;;::::1;::::0;::::1;11562:71;::::0;::::1;8939:51:1::0;-1:-1:-1;;9006:18:1;;;8999:34;11569:13:0;;;-1:-1:-1;11562:29:0::1;::::0;8912:18:1;;11562:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10874:763;10830:807::o:0;7460:221::-;4050:12;;-1:-1:-1;;;;;4050:12:0;4036:10;:26;4028:60;;;;-1:-1:-1;;;4028:60:0;;;;;;;:::i;:::-;7568:4:::1;7523:24;6194:18:::0;;;:9;:18;;;;;;7592:48:::1;7626:13;4198:2;::::0;7626:13:::1;:::i;:::-;7613:26;::::0;:10:::1;:26;:::i;:::-;7592:16:::0;;:20:::1;:48::i;:::-;7581:8;:59:::0;-1:-1:-1;7647:18:0::1;:26:::0;;-1:-1:-1;;7647:26:0::1;::::0;;7460:221::o;8234:335::-;-1:-1:-1;;;;;8327:19:0;;8319:68;;;;-1:-1:-1;;;8319:68:0;;9528:2:1;8319:68:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:34;9586:18;;;9579:62;-1:-1:-1;;;9657:18:1;;;9650:34;9701:19;;8319:68:0;9326:400:1;8319:68:0;-1:-1:-1;;;;;8406:21:0;;8398:68;;;;-1:-1:-1;;;8398:68:0;;9933:2:1;8398:68:0;;;9915:21:1;9972:2;9952:18;;;9945:30;10011:34;9991:18;;;9984:62;-1:-1:-1;;;10062:18:1;;;10055:32;10104:19;;8398:68:0;9731:398:1;8398:68:0;-1:-1:-1;;;;;8477:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8529:32;;1546:25:1;;;8529:32:0;;1519:18:1;8529:32:0;;;;;;;8234:335;;;:::o;8577:1633::-;-1:-1:-1;;;;;8661:18:0;;8653:68;;;;-1:-1:-1;;;8653:68:0;;10336:2:1;8653:68:0;;;10318:21:1;10375:2;10355:18;;;10348:30;10414:34;10394:18;;;10387:62;-1:-1:-1;;;10465:18:1;;;10458:35;10510:19;;8653:68:0;10134:401:1;8653:68:0;-1:-1:-1;;;;;8736:16:0;;8728:64;;;;-1:-1:-1;;;8728:64:0;;10742:2:1;8728:64:0;;;10724:21:1;10781:2;10761:18;;;10754:30;10820:34;10800:18;;;10793:62;-1:-1:-1;;;10871:18:1;;;10864:33;10914:19;;8728:64:0;10540:399:1;8728:64:0;8816:1;8807:6;:10;8799:64;;;;-1:-1:-1;;;8799:64:0;;11146:2:1;8799:64:0;;;11128:21:1;11185:2;11165:18;;;11158:30;11224:34;11204:18;;;11197:62;-1:-1:-1;;;11275:18:1;;;11268:39;11324:19;;8799:64:0;10944:405:1;8799:64:0;8872:17;2514:6;;-1:-1:-1;;;;;8932:15:0;;;2514:6;;8932:15;;;;:32;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;8951:13:0;;;2514:6;;8951:13;;8932:32;8928:943;;;-1:-1:-1;;;;;8986:10:0;;;;;;:4;:10;;;;;;;;8985:11;:24;;;;-1:-1:-1;;;;;;9001:8:0;;;;;;:4;:8;;;;;;;;9000:9;8985:24;8977:33;;;;;;9035:13;;-1:-1:-1;;;;;9027:21:0;;;9035:13;;9027:21;:55;;;;-1:-1:-1;9066:15:0;;-1:-1:-1;;;;;9052:30:0;;;9066:15;;;;;9052:30;;9027:55;:82;;;;-1:-1:-1;;;;;;9087:22:0;;;;;;:18;:22;;;;;;;;9086:23;9027:82;9023:255;;;9138:28;9162:3;9138:19;9149:7;;9138:6;:10;;:19;;;;:::i;:28::-;9126:40;;9023:255;;;9194:13;;-1:-1:-1;;;;;9194:13:0;;;9188:19;;;;9184:94;;9236:30;9262:3;9236:21;9247:9;;9236:6;:10;;:21;;;;:::i;:30::-;9224:42;;9184:94;9337:4;9288:28;6194:18;;;:9;:18;;;;;;9359:6;;-1:-1:-1;;;9359:6:0;;;;9358:7;:32;;;;-1:-1:-1;9377:13:0;;-1:-1:-1;;;;;9369:21:0;;;9377:13;;9369:21;;9358:32;:47;;;;-1:-1:-1;9394:11:0;;-1:-1:-1;;;9394:11:0;;;;9358:47;:82;;;;;9432:8;;9409:20;:31;9358:82;:103;;;;;9460:1;9444:13;;:17;9358:103;:125;;;;-1:-1:-1;9465:18:0;;;;9358:125;9354:510;;;9500:26;9517:8;;9500:16;:26::i;:::-;9570:21;9610:22;;9606:95;;9653:32;9666:18;9653:12;:32::i;:::-;9731:13;;:20;;9749:1;9731:17;:20::i;:::-;9715:13;:36;;;9789:1;9772:18;9768:85;;9811:18;:26;;-1:-1:-1;;9811:26:0;;;9768:85;9485:379;9354:510;8966:905;8928:943;-1:-1:-1;;;;;9897:15:0;;;;;;:9;:15;;;;;;:27;;9917:6;9897:19;:27::i;:::-;-1:-1:-1;;;;;9879:15:0;;;;;;:9;:15;;;;;:45;9947:40;9965:21;:6;9976:9;9965:10;:21::i;:::-;-1:-1:-1;;;;;9947:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9931:13:0;;;;;;;:9;:13;;;;;:56;;;;9999:41;;;10018:21;:6;10029:9;10018:10;:21::i;:::-;9999:41;;1546:25:1;;;1534:2;1519:18;9999:41:0;;;;;;;10051:13;;10047:160;;10122:4;10104:24;;;;:9;:24;;;;;;:39;;10133:9;10104:28;:39::i;:::-;10095:4;10077:24;;;;:9;:24;;;;;;;:66;;;;10159:40;;-1:-1:-1;;;;;10159:40:0;;;;;;;10189:9;1546:25:1;;1534:2;1519:18;;1400:177;10159:40:0;;;;;;;;10047:160;8646:1564;8577:1633;;;:::o;1341:190::-;1427:7;1463:12;1455:6;;;;1447:29;;;;-1:-1:-1;;;1447:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1487:9:0;1499:5;1503:1;1499;:5;:::i;:::-;1487:17;1341:190;-1:-1:-1;;;;;1341:190:0:o;10709:113::-;10766:13;;-1:-1:-1;;;;;10766:13:0;:48;10789:24;10809:3;10789:15;:6;10809:3;10789:10;:15::i;:24::-;10766:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10218:483;4910:6;:13;;-1:-1:-1;;;;4910:13:0;-1:-1:-1;;;4910:13:0;;;10320:16:::1;::::0;;10334:1:::1;10320:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10320:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10320:16:0::1;10296:40;;10365:4;10347;10352:1;10347:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10347:23:0::1;;;-1:-1:-1::0;;;;;10347:23:0::1;;;::::0;::::1;10391:15;;;;;;;;;-1:-1:-1::0;;;;;10391:15:0::1;-1:-1:-1::0;;;;;10391:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10381:4;10386:1;10381:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10381:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10456:15:::1;::::0;10424:62:::1;::::0;10441:4:::1;::::0;10456:15:::1;::::0;::::1;;10474:11:::0;10424:8:::1;:62::i;:::-;10497:15;::::0;:196:::1;::::0;-1:-1:-1;;;10497:196:0;;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;10497:15:0::1;::::0;:66:::1;::::0;:196:::1;::::0;10578:11;;10604:1:::1;::::0;10620:4;;10647::::1;::::0;10667:15:::1;::::0;10497:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4946:6:0;:14;;-1:-1:-1;;;;4946:14:0;;;-1:-1:-1;;;;10218:483:0:o;1539:246::-;1597:7;1621:1;1626;1621:6;1617:47;;-1:-1:-1;1651:1:0;1644:8;;1617:47;1674:9;1686:5;1690:1;1686;:5;:::i;:::-;1674:17;-1:-1:-1;1719:1:0;1710:5;1714:1;1674:17;1710:5;:::i;:::-;:10;1702:56;;;;-1:-1:-1;;;1702:56:0;;13160:2:1;1702:56:0;;;13142:21:1;13199:2;13179:18;;;13172:30;13238:34;13218:18;;;13211:62;-1:-1:-1;;;13289:18:1;;;13282:31;13330:19;;1702:56:0;12958:397:1;1702:56:0;1776:1;1539:246;-1:-1:-1;;;1539:246:0:o;1793:132::-;1851:7;1878:39;1882:1;1885;1878:39;;;;;;;;;;;;;;;;;:3;:39::i;1010:179::-;1068:7;;1100:5;1104:1;1100;:5;:::i;:::-;1088:17;;1129:1;1124;:6;;1116:46;;;;-1:-1:-1;;;1116:46:0;;13692:2:1;1116:46:0;;;13674:21:1;13731:2;13711:18;;;13704:30;13770:29;13750:18;;;13743:57;13817:18;;1116:46:0;13490:351:1;1197:136:0;1255:7;1282:43;1286:1;1289;1282:43;;;;;;;;;;;;;;;;;:3;:43::i;1933:189::-;2019:7;2054:12;2047:5;2039:28;;;;-1:-1:-1;;;2039:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2078:9:0;2090:5;2094:1;2090;: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;622:70;567:131;:::o;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;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:1;;1215:180;-1:-1:-1;1215:180:1:o;1790:456::-;1867:6;1875;1883;1936:2;1924:9;1915:7;1911:23;1907:32;1904:52;;;1952:1;1949;1942:12;1904:52;1991:9;1978:23;2010:31;2035:5;2010:31;:::i;:::-;2060:5;-1:-1:-1;2117:2:1;2102:18;;2089:32;2130:33;2089:32;2130:33;:::i;:::-;1790:456;;2182:7;;-1:-1:-1;;;2236:2:1;2221:18;;;;2208:32;;1790:456::o;2251:247::-;2310:6;2363:2;2351:9;2342:7;2338:23;2334:32;2331:52;;;2379:1;2376;2369:12;2331:52;2418:9;2405:23;2437:31;2462:5;2437:31;:::i;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:356::-;3540:2;3522:21;;;3559:18;;;3552:30;3618:34;3613:2;3598:18;;3591:62;3685:2;3670:18;;3338:356::o;4532:127::-;4593:10;4588:3;4584:20;4581:1;4574:31;4624:4;4621:1;4614:15;4648:4;4645:1;4638:15;4664:422;4753:1;4796:5;4753:1;4810:270;4831:7;4821:8;4818:21;4810:270;;;4890:4;4886:1;4882:6;4878:17;4872:4;4869:27;4866:53;;;4899:18;;:::i;:::-;4949:7;4939:8;4935:22;4932:55;;;4969:16;;;;4932:55;5048:22;;;;5008:15;;;;4810:270;;;4814:3;4664:422;;;;;:::o;5091:806::-;5140:5;5170:8;5160:80;;-1:-1:-1;5211:1:1;5225:5;;5160:80;5259:4;5249:76;;-1:-1:-1;5296:1:1;5310:5;;5249:76;5341:4;5359:1;5354:59;;;;5427:1;5422:130;;;;5334:218;;5354:59;5384:1;5375:10;;5398:5;;;5422:130;5459:3;5449:8;5446:17;5443:43;;;5466:18;;:::i;:::-;-1:-1:-1;;5522:1:1;5508:16;;5537:5;;5334:218;;5636:2;5626:8;5623:16;5617:3;5611:4;5608:13;5604:36;5598:2;5588:8;5585:16;5580:2;5574:4;5571:12;5567:35;5564:77;5561:159;;;-1:-1:-1;5673:19:1;;;5705:5;;5561:159;5752:34;5777:8;5771:4;5752:34;:::i;:::-;5822:6;5818:1;5814:6;5810:19;5801:7;5798:32;5795:58;;;5833:18;;:::i;:::-;5871:20;;5091:806;-1:-1:-1;;;5091:806:1:o;5902:140::-;5960:5;5989:47;6030:4;6020:8;6016:19;6010:4;5989:47;:::i;6047:168::-;6120:9;;;6151;;6168:15;;;6162:22;;6148:37;6138:71;;6189:18;;:::i;6220:345::-;6422:2;6404:21;;;6461:2;6441:18;;;6434:30;-1:-1:-1;;;6495:2:1;6480:18;;6473:51;6556:2;6541:18;;6220:345::o;7277:251::-;7347:6;7400:2;7388:9;7379:7;7375:23;7371:32;7368:52;;;7416:1;7413;7406:12;7368:52;7448:9;7442:16;7467:31;7492:5;7467:31;:::i;8454:306::-;8542:6;8550;8558;8611:2;8599:9;8590:7;8586:23;8582:32;8579:52;;;8627:1;8624;8617:12;8579:52;8656:9;8650:16;8640:26;;8706:2;8695:9;8691:18;8685:25;8675:35;;8750:2;8739:9;8735:18;8729:25;8719:35;;8454:306;;;;;:::o;9044:277::-;9111:6;9164:2;9152:9;9143:7;9139:23;9135:32;9132:52;;;9180:1;9177;9170:12;9132:52;9212:9;9206:16;9265:5;9258:13;9251:21;9244:5;9241:32;9231:60;;9287:1;9284;9277:12;11354:128;11421:9;;;11442:11;;;11439:37;;;11456:18;;:::i;11619:127::-;11680:10;11675:3;11671:20;11668:1;11661:31;11711:4;11708:1;11701:15;11735:4;11732:1;11725:15;11751:980;12013:4;12061:3;12050:9;12046:19;12092:6;12081:9;12074:25;12118:2;12156:6;12151:2;12140:9;12136:18;12129:34;12199:3;12194:2;12183:9;12179:18;12172:31;12223:6;12258;12252:13;12289:6;12281;12274:22;12327:3;12316:9;12312:19;12305:26;;12366:2;12358:6;12354:15;12340:29;;12387:1;12397:195;12411:6;12408:1;12405:13;12397:195;;;12476:13;;-1:-1:-1;;;;;12472:39:1;12460:52;;12567:15;;;;12532:12;;;;12508:1;12426:9;12397:195;;;-1:-1:-1;;;;;;;12648:32:1;;;;12643:2;12628:18;;12621:60;-1:-1:-1;;;12712:3:1;12697:19;12690:35;12609:3;11751:980;-1:-1:-1;;;11751:980:1:o;12736:217::-;12776:1;12802;12792:132;;12846:10;12841:3;12837:20;12834:1;12827:31;12881:4;12878:1;12871:15;12909:4;12906:1;12899:15;12792:132;-1:-1:-1;12938:9:1;;12736:217::o;13360:125::-;13425:9;;;13446:10;;;13443:36;;;13459:18;;:::i

Swarm Source

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