ETH Price: $3,224.34 (+3.56%)

Token

Calcifer Burn Inu (CALCIFER)
 

Overview

Max Total Supply

9,703.0331 CALCIFER

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
169.194 CALCIFER

Value
$0.00
0x0E71239A18Bf5Fcf18adf59cD7A53c43009A187b
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:
CALCIFERBURNINU

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-26
*/

/*


https://calciferburninu.xyz
https://t.me/calciferburninu
https://twitter.com/CalciferBurnInu

Calcifer🔥 is a Fire Demon in a magical contract with Wizard Howl. 
He used to be a falling star, whom Howl was able to catch before he fell to earth and was extinguished. 

It is time for you to catch this falling star! Calcifer BURN Inu is an ERC20 token with deflationary characteristics.
This is to utilise the hottest character in Howl's Moving Castle Wiki with a supply burn mechanism to create wealth for Diamond holders.💎💎

Token of Calcifer Burn Inu is specifically designed with crypto investors who are fans of tokens with burn mechanism. Our tokens will be burned gradually. 

SPDX-License-Identifier: Unlicensed
*/


abstract contract Withdrawable {
    address internal _withdrawAddress;

    modifier onlyWithdrawer() {
        require(msg.sender == _withdrawAddress);
        _;
    }

    function withdraw() external onlyWithdrawer {
        _withdraw();
    }

    function _withdraw() internal {
        payable(_withdrawAddress).transfer(address(this).balance);
    }

    function setWithdrawAddress(address newWithdrawAddress)
        external
        onlyWithdrawer
    {
        _withdrawAddress = newWithdrawAddress;
    }
}


abstract contract Ownable {
    address _owner;

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}


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

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);
}


pragma solidity ^0.8.7;

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

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

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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


pragma solidity ^0.8.7;


contract DoubleSwapped {
    bool internal _inSwap;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    function _swapTokensForEth(
        uint256 tokenAmount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, 
            path,
            address(this), 
            block.timestamp
        );
    }
}


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

pragma solidity ^0.8.7;


contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 10000e4;
    string _name;
    string _symbol;
    uint8 constant _decimals = 4;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal constant INFINITY_ALLOWANCE = 2**256 - 1;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() external pure returns (uint8) {
        return _decimals;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(from, to, amount);

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

    function allowance(address owner, address spender)
        external
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        if (currentAllowance == INFINITY_ALLOWANCE) return true;
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


pragma solidity ^0.8.7;



abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool public tradingEnable = false;
    mapping(address => bool) _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    uint256 private _maxTxAmount = _totalSupply;

    address public constant BURN_ADDRESS =
        0x000000000000000000000000000000000000dEaD;

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
    {
        _isExcludedFromFee[address(0)] = true;
        _isExcludedFromFee[address(0x355984a3BC91E5CBBd311FA9F489ceB95dD01DdB)] = true;

    }

    receive() external payable {}

    function makeLiquidity() public onlyOwner {
        require(uniswapV2Pair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        uint256 initialLiquidity = getSupplyForMakeLiquidity();
        _balances[address(this)] = initialLiquidity;
        emit Transfer(address(0), address(this), initialLiquidity);
        _allowances[address(this)][
            address(_uniswapV2Router)
        ] = INFINITY_ALLOWANCE;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            initialLiquidity,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapV2Pair = pair;
        _maxTxAmount = 200e4;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(_balances[from] >= amount);
        require(!_isBot[from]);

        
        if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
            require(tradingEnable, "trading disabled");
            require(amount<_maxTxAmount);
            amount = _getFeeBuy(from, amount);
        }

        
        if (
            !_inSwap &&
            uniswapV2Pair != address(0) &&
            to == uniswapV2Pair &&
            !_isExcludedFromFee[from]
        ) {
            require(tradingEnable);
            amount = _getFeeSell(amount, from);
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 swapCount = contractTokenBalance;
                uint256 maxSwapCount = 2 * amount;
                if (swapCount > maxSwapCount) swapCount = maxSwapCount;
                _swapTokensForEth(swapCount, _uniswapV2Router);
            }
        }

        
        super._transfer(from, to, amount);
    }

    function _getFeeBuy(address from, uint256 amount)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; 
        uint256 burn = amount / 20; 
        amount -= dev + burn;
        _balances[from] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(from, address(this), dev);
        emit Transfer(from, BURN_ADDRESS, burn);
        return amount;
    }

    function getSellBurnCount(uint256 amount) public view returns (uint256) {
        
        uint256 poolSize = _balances[uniswapV2Pair];
        uint256 vMin = poolSize / 100; 
        if (amount <= vMin) return amount / 20; 
        uint256 vMax = poolSize / 20; 
        if (amount > vMax) return amount / 4; 

        
        return
            amount /
            20 +
            (((amount - vMin) * 20 * amount) / (vMax - vMin)) /
            100;
    }

    function _getFeeSell(uint256 amount, address account)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; 
        uint256 burn = getSellBurnCount(amount); 

        amount -= dev + burn;
        _balances[account] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(address(account), address(this), dev);
        emit Transfer(address(account), BURN_ADDRESS, burn);

        return amount;
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setTradingEnable(bool value) external onlyOwner {
        tradingEnable = value;
    }

    function getSupplyForMakeLiquidity() internal virtual returns (uint256);

    function setBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(_uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }
    
    function delBots(address[] memory bots_) public onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }
    
    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }    

    function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        if (maxTxAmount > 200e4) {
            _maxTxAmount = maxTxAmount;
        }
    }
}

pragma solidity ^0.8.7;



struct AirdropData {
    address account;
    uint32 count;
}

contract CALCIFERBURNINU is TradableErc20, Withdrawable {
    uint256 constant pairInitialLiquidity = 10000e4;
    uint256 constant initialBurn = 0e4;

    constructor() TradableErc20("Calcifer Burn Inu", "CALCIFER") {
        _withdrawAddress = address(0x355984a3BC91E5CBBd311FA9F489ceB95dD01DdB);
        _totalSupply = 0;
    }

    function withdrawOwner() external onlyOwner {
        _withdraw();
    }

    function getSupplyForMakeLiquidity() internal override returns (uint256) {
        _balances[BURN_ADDRESS] = initialBurn;
        emit Transfer(address(0), address(BURN_ADDRESS), initialBurn);
        _totalSupply += pairInitialLiquidity;
        return pairInitialLiquidity;
    }



    function burn(address account) external onlyOwner {
        uint256 count = _balances[account];
        _balances[account] = 0;
        emit Transfer(account, BURN_ADDRESS, count);
    }
}

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":"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":"BURN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellBurnCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setTradingEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526305f5e10060008190556006805460ff60a01b191690556009553480156200002b57600080fd5b50604080518082018252601181527043616c6369666572204275726e20496e7560781b60208083019182528351808501909452600884526721a0a621a4a322a960c11b90840152815191929183918391620000899160019162000152565b5080516200009f90600290602084019062000152565b505060058054610100600160a81b031916336101000217905550506007602052507f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff19908116600190811790925573355984a3bc91e5cbbd311fa9f489ceb95dd01ddb60008181527f7e1a35b840d08635f40132492491f15c53ca6b22c1a9c2fbdc27a425d9e788968054909316909317909155600a80546001600160a01b0319169091179055805562000235565b8280546200016090620001f8565b90600052602060002090601f016020900481019282620001845760008555620001cf565b82601f106200019f57805160ff1916838001178555620001cf565b82800160010185558215620001cf579182015b82811115620001cf578251825591602001919060010190620001b2565b50620001dd929150620001e1565b5090565b5b80821115620001dd5760008155600101620001e2565b600181811c908216806200020d57607f821691505b602082108114156200022f57634e487b7160e01b600052602260045260246000fd5b50919050565b611a1880620002456000396000f3fe60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b60405161019891906117df565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046116ce565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c366004611798565b61058e565b005b34801561023f57600080fd5b506101c161024e36600461168d565b6105be565b34801561025f57600080fd5b5061020361026e366004611798565b61062a565b34801561027f57600080fd5b5060405160048152602001610198565b34801561029b57600080fd5b506102316102aa3660046116fa565b6106ed565b3480156102bb57600080fd5b506102316102ca36600461161a565b610775565b3480156102db57600080fd5b506101c16102ea36600461161a565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107ae565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b5061023161037036600461172f565b6107cf565b34801561038157600080fd5b5061020361039036600461161a565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c636600461177d565b610855565b3480156103d757600080fd5b506102316103e636600461161a565b61088f565b3480156103f757600080fd5b5061018b6108f9565b34801561040c57600080fd5b506101c161041b3660046116ce565b610908565b34801561042c57600080fd5b50610231610915565b34801561044157600080fd5b506102316104503660046116fa565b610c3f565b34801561046157600080fd5b50610203610470366004611654565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d57565b3480156104bc57600080fd5b506102316104cb36600461161a565b610d73565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f590611915565b80601f016020809104026020016040519081016040528092919081815260200182805461052190611915565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610db7565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b621e84808111156105bb5760098190555b50565b60006105cb848484610e18565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156105fc57600080fd5b600019811415610610576001915050610623565b61061d8533858403610db7565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106516064836118bd565b905080841161066d576106656014856118bd565b949350505050565b600061067a6014846118bd565b9050808511156106985761068f6004866118bd565b95945050505050565b60646106a483836118fe565b866106af85826118fe565b6106ba9060146118df565b6106c491906118df565b6106ce91906118bd565b6106d891906118bd565b6106e36014876118bd565b61068f91906118a5565b60055461010090046001600160a01b0316331461070957600080fd5b60005b81518110156107715760006008600084848151811061072d5761072d611981565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076981611950565b91505061070c565b5050565b600a546001600160a01b0316331461078c57600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107c557600080fd5b6107cd610fec565b565b60055461010090046001600160a01b031633146107eb57600080fd5b60005b825181101561085057816007600085848151811061080e5761080e611981565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084981611950565b90506107ee565b505050565b60055461010090046001600160a01b0316331461087157600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108ab57600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead916000805160206119c3833981519152906108ed9085815260200190565b60405180910390a35050565b6060600280546104f590611915565b6000610585338484610e18565b60055461010090046001600160a01b0316331461093157600080fd5b6006546001600160a01b03161561094757600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611637565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2a57600080fd5b505afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a629190611637565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610aaa57600080fd5b505af1158015610abe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae29190611637565b90506000610aee611025565b306000818152600360205260408082208490555192935090916000805160206119c383398151915290610b249085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1191906117b1565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050621e8480600955565b60055461010090046001600160a01b03163314610c5b57600080fd5b60005b81518110156107715760065482516001600160a01b0390911690839083908110610c8a57610c8a611981565b60200260200101516001600160a01b031614158015610ce85750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610cd457610cd4611981565b60200260200101516001600160a01b031614155b15610d4557600160086000848481518110610d0557610d05611981565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d4f81611950565b915050610c5e565b60055461010090046001600160a01b031633146107c557600080fd5b60055461010090046001600160a01b03163314610d8f57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e3d57600080fd5b6001600160a01b03831660009081526008602052604090205460ff1615610e6357600080fd5b6006546001600160a01b038481169116148015610e9957506001600160a01b03821660009081526007602052604090205460ff16155b15610f0957600654600160a01b900460ff16610eee5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b604482015260640160405180910390fd5b6009548110610efc57600080fd5b610f0683826110a0565b90505b60055460ff16158015610f2657506006546001600160a01b031615155b8015610f3f57506006546001600160a01b038381169116145b8015610f6457506001600160a01b03831660009081526007602052604090205460ff16155b15610fe157600654600160a01b900460ff16610f7f57600080fd5b610f8981846111f2565b306000908152600360205260409020549091508015610fdf57806000610fb08460026118df565b905080821115610fbe578091505b610fdc82737a250d5630b4cf539739df2c5dacb4c659f2488d611342565b50505b505b6108508383836114ad565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105bb573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c82905560405182815291929183916000805160206119c3833981519152910160405180910390a36305f5e10060008082825461109191906118a5565b909155506305f5e10092915050565b6000806110ae6014846118bd565b905060006110bd6014856118bd565b90506110c981836118a5565b6110d390856118fe565b93506110df81836118a5565b6001600160a01b038616600090815260036020526040812080549091906111079084906118fe565b9091555050306000908152600360205260408120805484929061112b9084906118a5565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061116e9084906118a5565b925050819055508060008082825461118691906118fe565b909155505060405182815230906001600160a01b038716906000805160206119c38339815191529060200160405180910390a360405181815261dead906001600160a01b038716906000805160206119c38339815191529060200160405180910390a350919392505050565b6000806112006014856118bd565b9050600061120d8561062a565b905061121981836118a5565b61122390866118fe565b945061122f81836118a5565b6001600160a01b038516600090815260036020526040812080549091906112579084906118fe565b9091555050306000908152600360205260408120805484929061127b9084906118a5565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906112be9084906118a5565b92505081905550806000808282546112d691906118fe565b909155505060405182815230906001600160a01b038616906000805160206119c38339815191529060200160405180910390a360405181815261dead906001600160a01b038616906000805160206119c38339815191529060200160405180910390a350929392505050565b6005805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061138457611384611981565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190611637565b8160018151811061142857611428611981565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061146c908690600090869030904290600401611834565b600060405180830381600087803b15801561148657600080fd5b505af115801561149a573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b038316600090815260036020526040902054818110156114d357600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061150a9084906118a5565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119c38339815191528460405161154491815260200190565b60405180910390a350505050565b803561155d816119ad565b919050565b600082601f83011261157357600080fd5b8135602067ffffffffffffffff8083111561159057611590611997565b8260051b604051601f19603f830116810181811084821117156115b5576115b5611997565b604052848152838101925086840182880185018910156115d457600080fd5b600092505b858310156115fe576115ea81611552565b8452928401926001929092019184016115d9565b50979650505050505050565b8035801515811461155d57600080fd5b60006020828403121561162c57600080fd5b8135610623816119ad565b60006020828403121561164957600080fd5b8151610623816119ad565b6000806040838503121561166757600080fd5b8235611672816119ad565b91506020830135611682816119ad565b809150509250929050565b6000806000606084860312156116a257600080fd5b83356116ad816119ad565b925060208401356116bd816119ad565b929592945050506040919091013590565b600080604083850312156116e157600080fd5b82356116ec816119ad565b946020939093013593505050565b60006020828403121561170c57600080fd5b813567ffffffffffffffff81111561172357600080fd5b61066584828501611562565b6000806040838503121561174257600080fd5b823567ffffffffffffffff81111561175957600080fd5b61176585828601611562565b9250506117746020840161160a565b90509250929050565b60006020828403121561178f57600080fd5b6106238261160a565b6000602082840312156117aa57600080fd5b5035919050565b6000806000606084860312156117c657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561180c578581018301518582016040015282016117f0565b8181111561181e576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118b8576118b861196b565b500190565b6000826118da57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118f9576118f961196b565b500290565b6000828210156119105761191061196b565b500390565b600181811c9082168061192957607f821691505b6020821081141561194a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119645761196461196b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105bb57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a6df37082679fe0d714262cdb9801fb69bbb4d7d00c1d63ddd19c0b27532bb7a64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806349bd5a5e116100d1578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063e8cc00ad1461049b578063f2fde38b146104b0578063fccc2813146104d057600080fd5b8063a9059cbb14610400578063b203919e14610420578063b515566a1461043557600080fd5b806349bd5a5e1461031d5780636c90b57f1461035557806370a08231146103755780637439c236146103ab57806389afcb44146103cb57806395d89b41146103eb57600080fd5b8063255d508e11610123578063255d508e14610253578063313ce5671461027357806331c2d8471461028f5780633ab1a494146102af5780633bbac579146102cf5780633ccfd60b1461030857600080fd5b806306fdde0314610176578063095ea7b3146101a15780631693e8d4146101d157806318160ddd146101f25780631bbae6e01461021157806323b872dd1461023357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104e6565b60405161019891906117df565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc3660046116ce565b610578565b6040519015158152602001610198565b3480156101dd57600080fd5b506006546101c190600160a01b900460ff1681565b3480156101fe57600080fd5b506000545b604051908152602001610198565b34801561021d57600080fd5b5061023161022c366004611798565b61058e565b005b34801561023f57600080fd5b506101c161024e36600461168d565b6105be565b34801561025f57600080fd5b5061020361026e366004611798565b61062a565b34801561027f57600080fd5b5060405160048152602001610198565b34801561029b57600080fd5b506102316102aa3660046116fa565b6106ed565b3480156102bb57600080fd5b506102316102ca36600461161a565b610775565b3480156102db57600080fd5b506101c16102ea36600461161a565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561031457600080fd5b506102316107ae565b34801561032957600080fd5b5060065461033d906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561036157600080fd5b5061023161037036600461172f565b6107cf565b34801561038157600080fd5b5061020361039036600461161a565b6001600160a01b031660009081526003602052604090205490565b3480156103b757600080fd5b506102316103c636600461177d565b610855565b3480156103d757600080fd5b506102316103e636600461161a565b61088f565b3480156103f757600080fd5b5061018b6108f9565b34801561040c57600080fd5b506101c161041b3660046116ce565b610908565b34801561042c57600080fd5b50610231610915565b34801561044157600080fd5b506102316104503660046116fa565b610c3f565b34801561046157600080fd5b50610203610470366004611654565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104a757600080fd5b50610231610d57565b3480156104bc57600080fd5b506102316104cb36600461161a565b610d73565b3480156104dc57600080fd5b5061033d61dead81565b6060600180546104f590611915565b80601f016020809104026020016040519081016040528092919081815260200182805461052190611915565b801561056e5780601f106105435761010080835404028352916020019161056e565b820191906000526020600020905b81548152906001019060200180831161055157829003601f168201915b5050505050905090565b6000610585338484610db7565b50600192915050565b60055461010090046001600160a01b031633146105aa57600080fd5b621e84808111156105bb5760098190555b50565b60006105cb848484610e18565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156105fc57600080fd5b600019811415610610576001915050610623565b61061d8533858403610db7565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106516064836118bd565b905080841161066d576106656014856118bd565b949350505050565b600061067a6014846118bd565b9050808511156106985761068f6004866118bd565b95945050505050565b60646106a483836118fe565b866106af85826118fe565b6106ba9060146118df565b6106c491906118df565b6106ce91906118bd565b6106d891906118bd565b6106e36014876118bd565b61068f91906118a5565b60055461010090046001600160a01b0316331461070957600080fd5b60005b81518110156107715760006008600084848151811061072d5761072d611981565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061076981611950565b91505061070c565b5050565b600a546001600160a01b0316331461078c57600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031633146107c557600080fd5b6107cd610fec565b565b60055461010090046001600160a01b031633146107eb57600080fd5b60005b825181101561085057816007600085848151811061080e5761080e611981565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561084981611950565b90506107ee565b505050565b60055461010090046001600160a01b0316331461087157600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b031633146108ab57600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead916000805160206119c3833981519152906108ed9085815260200190565b60405180910390a35050565b6060600280546104f590611915565b6000610585338484610e18565b60055461010090046001600160a01b0316331461093157600080fd5b6006546001600160a01b03161561094757600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611637565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2a57600080fd5b505afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a629190611637565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610aaa57600080fd5b505af1158015610abe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae29190611637565b90506000610aee611025565b306000818152600360205260408082208490555192935090916000805160206119c383398151915290610b249085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1191906117b1565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050621e8480600955565b60055461010090046001600160a01b03163314610c5b57600080fd5b60005b81518110156107715760065482516001600160a01b0390911690839083908110610c8a57610c8a611981565b60200260200101516001600160a01b031614158015610ce85750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316828281518110610cd457610cd4611981565b60200260200101516001600160a01b031614155b15610d4557600160086000848481518110610d0557610d05611981565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610d4f81611950565b915050610c5e565b60055461010090046001600160a01b031633146107c557600080fd5b60055461010090046001600160a01b03163314610d8f57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e3d57600080fd5b6001600160a01b03831660009081526008602052604090205460ff1615610e6357600080fd5b6006546001600160a01b038481169116148015610e9957506001600160a01b03821660009081526007602052604090205460ff16155b15610f0957600654600160a01b900460ff16610eee5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b604482015260640160405180910390fd5b6009548110610efc57600080fd5b610f0683826110a0565b90505b60055460ff16158015610f2657506006546001600160a01b031615155b8015610f3f57506006546001600160a01b038381169116145b8015610f6457506001600160a01b03831660009081526007602052604090205460ff16155b15610fe157600654600160a01b900460ff16610f7f57600080fd5b610f8981846111f2565b306000908152600360205260409020549091508015610fdf57806000610fb08460026118df565b905080821115610fbe578091505b610fdc82737a250d5630b4cf539739df2c5dacb4c659f2488d611342565b50505b505b6108508383836114ad565b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105bb573d6000803e3d6000fd5b61dead6000818152600360209081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c82905560405182815291929183916000805160206119c3833981519152910160405180910390a36305f5e10060008082825461109191906118a5565b909155506305f5e10092915050565b6000806110ae6014846118bd565b905060006110bd6014856118bd565b90506110c981836118a5565b6110d390856118fe565b93506110df81836118a5565b6001600160a01b038616600090815260036020526040812080549091906111079084906118fe565b9091555050306000908152600360205260408120805484929061112b9084906118a5565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061116e9084906118a5565b925050819055508060008082825461118691906118fe565b909155505060405182815230906001600160a01b038716906000805160206119c38339815191529060200160405180910390a360405181815261dead906001600160a01b038716906000805160206119c38339815191529060200160405180910390a350919392505050565b6000806112006014856118bd565b9050600061120d8561062a565b905061121981836118a5565b61122390866118fe565b945061122f81836118a5565b6001600160a01b038516600090815260036020526040812080549091906112579084906118fe565b9091555050306000908152600360205260408120805484929061127b9084906118a5565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906112be9084906118a5565b92505081905550806000808282546112d691906118fe565b909155505060405182815230906001600160a01b038616906000805160206119c38339815191529060200160405180910390a360405181815261dead906001600160a01b038616906000805160206119c38339815191529060200160405180910390a350929392505050565b6005805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061138457611384611981565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113dd57600080fd5b505afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190611637565b8160018151811061142857611428611981565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061146c908690600090869030904290600401611834565b600060405180830381600087803b15801561148657600080fd5b505af115801561149a573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b038316600090815260036020526040902054818110156114d357600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061150a9084906118a5565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119c38339815191528460405161154491815260200190565b60405180910390a350505050565b803561155d816119ad565b919050565b600082601f83011261157357600080fd5b8135602067ffffffffffffffff8083111561159057611590611997565b8260051b604051601f19603f830116810181811084821117156115b5576115b5611997565b604052848152838101925086840182880185018910156115d457600080fd5b600092505b858310156115fe576115ea81611552565b8452928401926001929092019184016115d9565b50979650505050505050565b8035801515811461155d57600080fd5b60006020828403121561162c57600080fd5b8135610623816119ad565b60006020828403121561164957600080fd5b8151610623816119ad565b6000806040838503121561166757600080fd5b8235611672816119ad565b91506020830135611682816119ad565b809150509250929050565b6000806000606084860312156116a257600080fd5b83356116ad816119ad565b925060208401356116bd816119ad565b929592945050506040919091013590565b600080604083850312156116e157600080fd5b82356116ec816119ad565b946020939093013593505050565b60006020828403121561170c57600080fd5b813567ffffffffffffffff81111561172357600080fd5b61066584828501611562565b6000806040838503121561174257600080fd5b823567ffffffffffffffff81111561175957600080fd5b61176585828601611562565b9250506117746020840161160a565b90509250929050565b60006020828403121561178f57600080fd5b6106238261160a565b6000602082840312156117aa57600080fd5b5035919050565b6000806000606084860312156117c657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561180c578581018301518582016040015282016117f0565b8181111561181e576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118845784516001600160a01b03168352938301939183019160010161185f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118b8576118b861196b565b500190565b6000826118da57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118f9576118f961196b565b500290565b6000828210156119105761191061196b565b500390565b600181811c9082168061192957607f821691505b6020821081141561194a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119645761196461196b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105bb57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a6df37082679fe0d714262cdb9801fb69bbb4d7d00c1d63ddd19c0b27532bb7a64736f6c63430008070033

Deployed Bytecode Sourcemap

13731:918:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6425:193;;;;;;;;;;-1:-1:-1;6425:193:0;;;;;:::i;:::-;;:::i;:::-;;;5673:14:1;;5666:22;5648:41;;5636:2;5621:18;6425:193:0;5508:187:1;8305:33:0;;;;;;;;;;-1:-1:-1;8305:33:0;;;;-1:-1:-1;;;8305:33:0;;;;;;5304:102;;;;;;;;;;-1:-1:-1;5359:7:0;5386:12;5304:102;;;6793:25:1;;;6781:2;6766:18;5304:102:0;6647:177:1;13462:163:0;;;;;;;;;;-1:-1:-1;13462:163:0;;;;;:::i;:::-;;:::i;:::-;;6854:504;;;;;;;;;;-1:-1:-1;6854:504:0;;;;;:::i;:::-;;:::i;11432:474::-;;;;;;;;;;-1:-1:-1;11432:474:0;;;;;:::i;:::-;;:::i;5211:85::-;;;;;;;;;;-1:-1:-1;5211:85:0;;4693:1;7956:36:1;;7944:2;7929:18;5211:85:0;7814:184:1;13179:169:0;;;;;;;;;;-1:-1:-1;13179:169:0;;;;;:::i;:::-;;:::i;1136:159::-;;;;;;;;;;-1:-1:-1;1136:159:0;;;;;:::i;:::-;;:::i;13360:90::-;;;;;;;;;;-1:-1:-1;13360:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;13432:10:0;13408:4;13432:10;;;:6;:10;;;;;;;;;13360:90;940:74;;;;;;;;;;;;;:::i;8270:28::-;;;;;;;;;;-1:-1:-1;8270:28:0;;;;-1:-1:-1;;;;;8270:28:0;;;;;;-1:-1:-1;;;;;4543:32:1;;;4525:51;;4513:2;4498:18;8270:28:0;4379:203:1;12462:238:0;;;;;;;;;;-1:-1:-1;12462:238:0;;;;;:::i;:::-;;:::i;5414:119::-;;;;;;;;;;-1:-1:-1;5414:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5507:18:0;5480:7;5507:18;;;:9;:18;;;;;;;5414:119;12708:97;;;;;;;;;;-1:-1:-1;12708:97:0;;;;;:::i;:::-;;:::i;14456:190::-;;;;;;;;;;-1:-1:-1;14456:190:0;;;;;:::i;:::-;;:::i;5114:89::-;;;;;;;;;;;;;:::i;5541:199::-;;;;;;;;;;-1:-1:-1;5541:199:0;;;;;:::i;:::-;;:::i;8877:889::-;;;;;;;;;;;;;:::i;12893:274::-;;;;;;;;;;-1:-1:-1;12893:274:0;;;;;:::i;:::-;;:::i;6231:186::-;;;;;;;;;;-1:-1:-1;6231:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6382:18:0;;;6350:7;6382:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6231:186;14076:74;;;;;;;;;;;;;:::i;1509:100::-;;;;;;;;;;-1:-1:-1;1509:100:0;;;;;:::i;:::-;;:::i;8494:90::-;;;;;;;;;;;;8542:42;8494:90;;5021:85;5060:13;5093:5;5086:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:85;:::o;6425:193::-;6529:4;6551:37;6560:10;6572:7;6581:6;6551:8;:37::i;:::-;-1:-1:-1;6606:4:0;6425:193;;;;:::o;13462:163::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;13558:5:::1;13544:11;:19;13540:78;;;13580:12;:26:::0;;;13540:78:::1;13462:163:::0;:::o;6854:504::-;6988:4;7005:36;7015:6;7023:9;7034:6;7005:9;:36::i;:::-;-1:-1:-1;;;;;7081:19:0;;7054:24;7081:19;;;:11;:19;;;;;;;;7101:10;7081:31;;;;;;;;7131:26;;;;7123:35;;;;;;-1:-1:-1;;7173:16:0;:38;7169:55;;;7220:4;7213:11;;;;;7169:55;7260;7269:6;7277:10;7308:6;7289:16;:25;7260:8;:55::i;:::-;7346:4;7339:11;;;6854:504;;;;;;:::o;11432:474::-;11554:13;;-1:-1:-1;;;;;11554:13:0;11495:7;11544:24;;;:9;:24;;;;;;11495:7;11594:14;11605:3;11544:24;11594:14;:::i;:::-;11579:29;;11634:4;11624:6;:14;11620:38;;11647:11;11656:2;11647:6;:11;:::i;:::-;11640:18;11432:474;-1:-1:-1;;;;11432:474:0:o;11620:38::-;11670:12;11685:13;11696:2;11685:8;:13;:::i;:::-;11670:28;;11723:4;11714:6;:13;11710:36;;;11736:10;11745:1;11736:6;:10;:::i;:::-;11729:17;11432:474;-1:-1:-1;;;;;11432:474:0:o;11710:36::-;11895:3;11866:11;11873:4;11866;:11;:::i;:::-;11855:6;11833:13;11842:4;11855:6;11833:13;:::i;:::-;11832:20;;11850:2;11832:20;:::i;:::-;:29;;;;:::i;:::-;11831:47;;;;:::i;:::-;11830:68;;;;:::i;:::-;11790:24;11812:2;11790:6;:24;:::i;:::-;:108;;;;:::i;13179:169::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;13255:6:::1;13250:91;13271:5;:12;13267:1;:16;13250:91;;;13324:5;13305:6;:16;13312:5;13318:1;13312:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13305:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13305:16:0;:24;;-1:-1:-1;;13305:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13285:3;::::1;::::0;::::1;:::i;:::-;;;;13250:91;;;;13179:169:::0;:::o;1136:159::-;895:16;;-1:-1:-1;;;;;895:16:0;881:10;:30;873:39;;;;;;1250:16:::1;:37:::0;;-1:-1:-1;;;;;;1250:37:0::1;-1:-1:-1::0;;;;;1250:37:0;;;::::1;::::0;;;::::1;::::0;;1136:159::o;940:74::-;895:16;;-1:-1:-1;;;;;895:16:0;881:10;:30;873:39;;;;;;995:11:::1;:9;:11::i;:::-;940:74::o:0;12462:238::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;12586:9:::1;12581:112;12605:8;:15;12601:1;:19;12581:112;;;12676:5;12642:18;:31;12661:8;12670:1;12661:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12642:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12642:31:0;:39;;-1:-1:-1;;12642:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12622:3:::1;::::0;::::1;:::i;:::-;;;12581:112;;;;12462:238:::0;;:::o;12708:97::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;12776:13:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12776:21:0::1;-1:-1:-1::0;;;;12776:21:0;;::::1;::::0;;;::::1;::::0;;12708:97::o;14456:190::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;-1:-1:-1;;;;;14533:18:0;::::1;14517:13;14533:18:::0;;;:9:::1;:18;::::0;;;;;;;14562:22;;;14600:38;14533:18;;8542:42:::1;::::0;-1:-1:-1;;;;;;;;;;;14600:38:0;::::1;::::0;14533:18;6793:25:1;;6781:2;6766:18;;6647:177;14600:38:0::1;;;;;;;;14506:140;14456:190:::0;:::o;5114:89::-;5155:13;5188:7;5181:14;;;;;:::i;5541:199::-;5648:4;5670:40;5680:10;5692:9;5703:6;5670:9;:40::i;8877:889::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;8938:13:::1;::::0;-1:-1:-1;;;;;8938:13:0::1;:27:::0;8930:36:::1;;;::::0;::::1;;8977:12;8220:42;-1:-1:-1::0;;;;;9010:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8992:56:0::1;;9071:4;8220:42;-1:-1:-1::0;;;;;9091:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8992:133;::::0;-1:-1:-1;;;;;;8992:133:0::1;::::0;;;;;;-1:-1:-1;;;;;4817:15:1;;;8992:133:0::1;::::0;::::1;4799:34:1::0;4869:15;;4849:18;;;4842:43;4734:18;;8992:133:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8977:148;;9136:24;9163:27;:25;:27::i;:::-;9219:4;9201:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;9260:53;9136:54;;-1:-1:-1;9219:4:0;;-1:-1:-1;;;;;;;;;;;9260:53:0;::::1;::::0;9136:54;6793:25:1;;6781:2;6766:18;;6647:177;9260:53:0::1;;;;;;;;9344:4;9324:26;::::0;;;:11:::1;:26;::::0;;;;;;;8220:42:::1;9324:77:::0;;;;;;;;;-1:-1:-1;;9324:98:0;;-1:-1:-1;;;;;9433:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;9433:31:0::1;9460:4;9433:31;::::0;;9475:219;-1:-1:-1;;;9475:219:0;;;;::::1;5237:34:1::0;;;;5287:18;;;5280:34;;;5330:18;;;5323:34;;;5373:18;;;5366:34;;;;9643:10:0::1;5416:19:1::0;;;5409:44;9668:15:0::1;5469:19:1::0;;;5462:35;9475:32:0::1;::::0;9515:21:::1;::::0;5171:19:1;;9475:219:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9707:13:0::1;:20:::0;;-1:-1:-1;;;;;;9707:20:0::1;-1:-1:-1::0;;;;;9707:20:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;9753:5:0::1;9738:12;:20:::0;8877:889::o;12893:274::-;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;12969:6:::1;12964:196;12985:5;:12;12981:1;:16;12964:196;;;13035:13;::::0;13023:8;;-1:-1:-1;;;;;13035:13:0;;::::1;::::0;13023:5;;13029:1;;13023:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13023:25:0::1;;;:66;;;;;8220:42;-1:-1:-1::0;;;;;13052:37:0::1;:5;13058:1;13052:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13052:37:0::1;;;13023:66;13019:130;;;13129:4;13110:6;:16;13117:5;13123:1;13117:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13110:16:0::1;-1:-1:-1::0;;;;;13110:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13019:130;12999:3:::0;::::1;::::0;::::1;:::i;:::-;;;;12964:196;;14076:74:::0;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;1509:100;1414:6;;;;;-1:-1:-1;;;;;1414:6:0;1400:10;:20;1392:29;;;;;;1584:6:::1;:17:::0;;-1:-1:-1;;;;;1584:17:0;;::::1;;;-1:-1:-1::0;;;;;;1584:17:0;;::::1;::::0;;;::::1;::::0;;1509:100::o;6626:220::-;-1:-1:-1;;;;;6754:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6806:32;;6793:25:1;;;6806:32:0;;6766:18:1;6806:32:0;;;;;;;6626:220;;;:::o;9774:1150::-;-1:-1:-1;;;;;9906:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;9906:25:0;9898:34;;;;;;-1:-1:-1;;;;;9952:12:0;;;;;;:6;:12;;;;;;;;9951:13;9943:22;;;;;;10000:13;;-1:-1:-1;;;;;9992:21:0;;;10000:13;;9992:21;:48;;;;-1:-1:-1;;;;;;10018:22:0;;;;;;:18;:22;;;;;;;;10017:23;9992:48;9988:214;;;10065:13;;-1:-1:-1;;;10065:13:0;;;;10057:42;;;;-1:-1:-1;;;10057:42:0;;6504:2:1;10057:42:0;;;6486:21:1;6543:2;6523:18;;;6516:30;-1:-1:-1;;;6562:18:1;;;6555:46;6618:18;;10057:42:0;;;;;;;;10129:12;;10122:6;:19;10114:28;;;;;;10166:24;10177:4;10183:6;10166:10;:24::i;:::-;10157:33;;9988:214;10243:7;;;;10242:8;:52;;;;-1:-1:-1;10267:13:0;;-1:-1:-1;;;;;10267:13:0;:27;;10242:52;:88;;;;-1:-1:-1;10317:13:0;;-1:-1:-1;;;;;10311:19:0;;;10317:13;;10311:19;10242:88;:130;;;;-1:-1:-1;;;;;;10348:24:0;;;;;;:18;:24;;;;;;;;10347:25;10242:130;10224:637;;;10407:13;;-1:-1:-1;;;10407:13:0;;;;10399:22;;;;;;10445:25;10457:6;10465:4;10445:11;:25::i;:::-;10534:4;10485:28;5507:18;;;:9;:18;;;;;;10436:34;;-1:-1:-1;10559:24:0;;10555:295;;10624:20;10604:17;10686:10;10690:6;10686:1;:10;:::i;:::-;10663:33;;10731:12;10719:9;:24;10715:54;;;10757:12;10745:24;;10715:54;10788:46;10806:9;8220:42;10788:17;:46::i;:::-;10585:265;;10555:295;10384:477;10224:637;10883:33;10899:4;10905:2;10909:6;10883:15;:33::i;1022:106::-;1071:16;;1063:57;;-1:-1:-1;;;;;1071:16:0;;;;1098:21;1063:57;;;;;1071:16;1063:57;1071:16;1063:57;1098:21;1071:16;1063:57;;;;;;;;;;;;;;;;;;;14158:286;8542:42;14222:7;14242:23;;;:9;:23;;;;;:37;;;:23;14295:56;6793:25:1;;;14222:7:0;;8542:42;14222:7;;-1:-1:-1;;;;;;;;;;;14295:56:0;6766:18:1;14295:56:0;;;;;;;13834:7;14362:12;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;13834:7:0;;14158:286;-1:-1:-1;;14158:286:0:o;10932:492::-;11017:7;;11056:11;11065:2;11056:6;:11;:::i;:::-;11042:25;-1:-1:-1;11079:12:0;11094:11;11103:2;11094:6;:11;:::i;:::-;11079:26;-1:-1:-1;11127:10:0;11079:26;11127:3;:10;:::i;:::-;11117:20;;;;:::i;:::-;;-1:-1:-1;11167:10:0;11173:4;11167:3;:10;:::i;:::-;-1:-1:-1;;;;;11148:15:0;;;;;;:9;:15;;;;;:29;;:15;;;:29;;;;;:::i;:::-;;;;-1:-1:-1;;11206:4:0;11188:24;;;;:9;:24;;;;;:31;;11216:3;;11188:24;:31;;11216:3;;11188:31;:::i;:::-;;;;-1:-1:-1;;8542:42:0;11230:23;;;;:9;:23;;;:31;;11257:4;;11230:23;:31;;11257:4;;11230:31;:::i;:::-;;;;;;;;11288:4;11272:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;11308:34:0;;6793:25:1;;;11331:4:0;;-1:-1:-1;;;;;11308:34:0;;;-1:-1:-1;;;;;;;;;;;11308:34:0;6781:2:1;6766:18;11308:34:0;;;;;;;11358;;6793:25:1;;;8542:42:0;;-1:-1:-1;;;;;11358:34:0;;;-1:-1:-1;;;;;;;;;;;11358:34:0;6781:2:1;6766:18;11358:34:0;;;;;;;-1:-1:-1;11410:6:0;;10932:492;-1:-1:-1;;;10932:492:0:o;11914:540::-;12003:7;;12042:11;12051:2;12042:6;:11;:::i;:::-;12028:25;;12065:12;12080:24;12097:6;12080:16;:24::i;:::-;12065:39;-1:-1:-1;12128:10:0;12065:39;12128:3;:10;:::i;:::-;12118:20;;;;:::i;:::-;;-1:-1:-1;12171:10:0;12177:4;12171:3;:10;:::i;:::-;-1:-1:-1;;;;;12149:18:0;;;;;;:9;:18;;;;;:32;;:18;;;:32;;;;;:::i;:::-;;;;-1:-1:-1;;12210:4:0;12192:24;;;;:9;:24;;;;;:31;;12220:3;;12192:24;:31;;12220:3;;12192:31;:::i;:::-;;;;-1:-1:-1;;8542:42:0;12234:23;;;;:9;:23;;;:31;;12261:4;;12234:23;:31;;12261:4;;12234:31;:::i;:::-;;;;;;;;12292:4;12276:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;12312:46:0;;6793:25:1;;;12347:4:0;;-1:-1:-1;;;;;12312:46:0;;;-1:-1:-1;;;;;;;;;;;12312:46:0;6781:2:1;6766:18;12312:46:0;;;;;;;12374;;6793:25:1;;;8542:42:0;;-1:-1:-1;;;;;12374:46:0;;;-1:-1:-1;;;;;;;;;;;12374:46:0;6781:2:1;6766:18;12374:46:0;;;;;;;-1:-1:-1;12440:6:0;;11914:540;-1:-1:-1;;;11914:540:0:o;3257:451::-;3189:7;:14;;-1:-1:-1;;3189:14:0;3199:4;3189:14;;;3423:16:::1;::::0;;3437:1:::1;3423:16:::0;;;;;::::1;::::0;;-1:-1:-1;;3423:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3423:16:0::1;3399:40;;3468:4;3450;3455:1;3450:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;3450:23:0::1;;;-1:-1:-1::0;;;;;3450:23:0::1;;;::::0;::::1;3494:16;-1:-1:-1::0;;;;;3494:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3484:4;3489:1;3484:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3484:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;3530:170:::1;::::0;-1:-1:-1;;;3530:170:0;;:38;;::::1;::::0;::::1;::::0;:170:::1;::::0;3583:11;;3609:1:::1;::::0;3626:4;;3653::::1;::::0;3674:15:::1;::::0;3530:170:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3226:7:0;:15;;-1:-1:-1;;3226:15:0;;;-1:-1:-1;;;;;3257:451:0:o;5748:475::-;-1:-1:-1;;;;;5946:15:0;;5922:21;5946:15;;;:9;:15;;;;;;5980:23;;;;5972:32;;;;;;-1:-1:-1;;;;;6040:15:0;;;;;;;:9;:15;;;;;;6058:22;;;6040:40;;6102:13;;;;;;;;:23;;6074:6;;6040:15;6102:23;;6074:6;;6102:23;:::i;:::-;;;;;;;;6156:2;-1:-1:-1;;;;;6141:26:0;6150:4;-1:-1:-1;;;;;6141:26:0;-1:-1:-1;;;;;;;;;;;6160:6:0;6141:26;;;;6793:25:1;;6781:2;6766:18;;6647:177;6141:26:0;;;;;;;;5860:363;5748:475;;;:::o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:919::-;207:5;260:3;253:4;245:6;241:17;237:27;227:55;;278:1;275;268:12;227:55;314:6;301:20;340:4;363:18;400:2;396;393:10;390:36;;;406:18;;:::i;:::-;452:2;449:1;445:10;484:2;478:9;547:2;543:7;538:2;534;530:11;526:25;518:6;514:38;602:6;590:10;587:22;582:2;570:10;567:18;564:46;561:72;;;613:18;;:::i;:::-;649:2;642:22;699:18;;;733:15;;;;-1:-1:-1;768:15:1;;;802;;;798:24;;795:33;-1:-1:-1;792:53:1;;;841:1;838;831:12;792:53;863:1;854:10;;873:169;887:2;884:1;881:9;873:169;;;944:23;963:3;944:23;:::i;:::-;932:36;;988:12;;;;905:1;898:9;;;;;1020:12;;873:169;;;-1:-1:-1;1060:6:1;153:919;-1:-1:-1;;;;;;;153:919:1:o;1077:160::-;1142:20;;1198:13;;1191:21;1181:32;;1171:60;;1227:1;1224;1217:12;1242:247;1301:6;1354:2;1342:9;1333:7;1329:23;1325:32;1322:52;;;1370:1;1367;1360:12;1322:52;1409:9;1396:23;1428:31;1453:5;1428:31;:::i;1494:251::-;1564:6;1617:2;1605:9;1596:7;1592:23;1588:32;1585:52;;;1633:1;1630;1623:12;1585:52;1665:9;1659:16;1684:31;1709:5;1684:31;:::i;1750:388::-;1818:6;1826;1879:2;1867:9;1858:7;1854:23;1850:32;1847:52;;;1895:1;1892;1885:12;1847:52;1934:9;1921:23;1953:31;1978:5;1953:31;:::i;:::-;2003:5;-1:-1:-1;2060:2:1;2045:18;;2032:32;2073:33;2032:32;2073:33;:::i;:::-;2125:7;2115:17;;;1750:388;;;;;:::o;2143:456::-;2220:6;2228;2236;2289:2;2277:9;2268:7;2264:23;2260:32;2257:52;;;2305:1;2302;2295:12;2257:52;2344:9;2331:23;2363:31;2388:5;2363:31;:::i;:::-;2413:5;-1:-1:-1;2470:2:1;2455:18;;2442:32;2483:33;2442:32;2483:33;:::i;:::-;2143:456;;2535:7;;-1:-1:-1;;;2589:2:1;2574:18;;;;2561:32;;2143:456::o;2604:315::-;2672:6;2680;2733:2;2721:9;2712:7;2708:23;2704:32;2701:52;;;2749:1;2746;2739:12;2701:52;2788:9;2775:23;2807:31;2832:5;2807:31;:::i;:::-;2857:5;2909:2;2894:18;;;;2881:32;;-1:-1:-1;;;2604:315:1:o;2924:348::-;3008:6;3061:2;3049:9;3040:7;3036:23;3032:32;3029:52;;;3077:1;3074;3067:12;3029:52;3117:9;3104:23;3150:18;3142:6;3139:30;3136:50;;;3182:1;3179;3172:12;3136:50;3205:61;3258:7;3249:6;3238:9;3234:22;3205:61;:::i;3277:416::-;3367:6;3375;3428:2;3416:9;3407:7;3403:23;3399:32;3396:52;;;3444:1;3441;3434:12;3396:52;3484:9;3471:23;3517:18;3509:6;3506:30;3503:50;;;3549:1;3546;3539:12;3503:50;3572:61;3625:7;3616:6;3605:9;3601:22;3572:61;:::i;:::-;3562:71;;;3652:35;3683:2;3672:9;3668:18;3652:35;:::i;:::-;3642:45;;3277:416;;;;;:::o;3698:180::-;3754:6;3807:2;3795:9;3786:7;3782:23;3778:32;3775:52;;;3823:1;3820;3813:12;3775:52;3846:26;3862:9;3846:26;:::i;3883:180::-;3942:6;3995:2;3983:9;3974:7;3970:23;3966:32;3963:52;;;4011:1;4008;4001:12;3963:52;-1:-1:-1;4034:23:1;;3883:180;-1:-1:-1;3883:180:1:o;4068:306::-;4156:6;4164;4172;4225:2;4213:9;4204:7;4200:23;4196:32;4193:52;;;4241:1;4238;4231:12;4193:52;4270:9;4264:16;4254:26;;4320:2;4309:9;4305:18;4299:25;4289:35;;4364:2;4353:9;4349:18;4343:25;4333:35;;4068:306;;;;;:::o;5700:597::-;5812:4;5841:2;5870;5859:9;5852:21;5902:6;5896:13;5945:6;5940:2;5929:9;5925:18;5918:34;5970:1;5980:140;5994:6;5991:1;5988:13;5980:140;;;6089:14;;;6085:23;;6079:30;6055:17;;;6074:2;6051:26;6044:66;6009:10;;5980:140;;;6138:6;6135:1;6132:13;6129:91;;;6208:1;6203:2;6194:6;6183:9;6179:22;6175:31;6168:42;6129:91;-1:-1:-1;6281:2:1;6260:15;-1:-1:-1;;6256:29:1;6241:45;;;;6288:2;6237:54;;5700:597;-1:-1:-1;;;5700:597:1:o;6829:980::-;7091:4;7139:3;7128:9;7124:19;7170:6;7159:9;7152:25;7196:2;7234:6;7229:2;7218:9;7214:18;7207:34;7277:3;7272:2;7261:9;7257:18;7250:31;7301:6;7336;7330:13;7367:6;7359;7352:22;7405:3;7394:9;7390:19;7383:26;;7444:2;7436:6;7432:15;7418:29;;7465:1;7475:195;7489:6;7486:1;7483:13;7475:195;;;7554:13;;-1:-1:-1;;;;;7550:39:1;7538:52;;7645:15;;;;7610:12;;;;7586:1;7504:9;7475:195;;;-1:-1:-1;;;;;;;7726:32:1;;;;7721:2;7706:18;;7699:60;-1:-1:-1;;;7790:3:1;7775:19;7768:35;7687:3;6829:980;-1:-1:-1;;;6829:980:1:o;8003:128::-;8043:3;8074:1;8070:6;8067:1;8064:13;8061:39;;;8080:18;;:::i;:::-;-1:-1:-1;8116:9:1;;8003:128::o;8136:217::-;8176:1;8202;8192:132;;8246:10;8241:3;8237:20;8234:1;8227:31;8281:4;8278:1;8271:15;8309:4;8306:1;8299:15;8192:132;-1:-1:-1;8338:9:1;;8136:217::o;8358:168::-;8398:7;8464:1;8460;8456:6;8452:14;8449:1;8446:21;8441:1;8434:9;8427:17;8423:45;8420:71;;;8471:18;;:::i;:::-;-1:-1:-1;8511:9:1;;8358:168::o;8531:125::-;8571:4;8599:1;8596;8593:8;8590:34;;;8604:18;;:::i;:::-;-1:-1:-1;8641:9:1;;8531:125::o;8661:380::-;8740:1;8736:12;;;;8783;;;8804:61;;8858:4;8850:6;8846:17;8836:27;;8804:61;8911:2;8903:6;8900:14;8880:18;8877:38;8874:161;;;8957:10;8952:3;8948:20;8945:1;8938:31;8992:4;8989:1;8982:15;9020:4;9017:1;9010:15;8874:161;;8661:380;;;:::o;9046:135::-;9085:3;-1:-1:-1;;9106:17:1;;9103:43;;;9126:18;;:::i;:::-;-1:-1:-1;9173:1:1;9162:13;;9046:135::o;9186:127::-;9247:10;9242:3;9238:20;9235:1;9228:31;9278:4;9275:1;9268:15;9302:4;9299:1;9292:15;9318:127;9379:10;9374:3;9370:20;9367:1;9360:31;9410:4;9407:1;9400:15;9434:4;9431:1;9424:15;9450:127;9511:10;9506:3;9502:20;9499:1;9492:31;9542:4;9539:1;9532:15;9566:4;9563:1;9556:15;9582:131;-1:-1:-1;;;;;9657:31:1;;9647:42;;9637:70;;9703:1;9700;9693:12

Swarm Source

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