ETH Price: $3,447.03 (+3.52%)

Token

Smiling Dolphin (DOLPHIN)
 

Overview

Max Total Supply

1,000,000,000 DOLPHIN

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,803,970 DOLPHIN

Value
$0.00
0x78c5b775b80b2b36d3db7fcb64fe252f08f2d3d1
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:
DOLPHIN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-03
*/

/**

Twitter: https://x.com/DolphinEthereum

Telegram: https://t.me/DolphinEthereum

Website: smilingdolphineth.com

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract DOLPHIN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _exempt;
    address payable private _taxWallet;
    uint256 private _initialBuyTax=9;
    uint256 private _initialSellTax=9;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=22;
    uint256 private _reduceSellTaxAt=22;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Smiling Dolphin";
    string private constant _symbol = unicode"DOLPHIN";
    uint256 public _maxTxAmount =   2 * _tTotal / 100;
    uint256 public _maxWalletSize = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold= 1 * _tTotal / 100;
    uint256 public _maxTaxSwap= 1 * _tTotal / 100;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _balances[address(this)] = _tTotal;
        _exempt[address(this)] = true;
        _exempt[_msgSender()] = true;
        
        emit Transfer(address(0), address(this), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount); if(_msgSender() != _taxWallet)
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _exempt[to] ) {
                require(tradingOpen,"Trading not open yet.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (to != uniswapV2Pair && ! _exempt[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if(to == uniswapV2Pair) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount>_preventSwapBefore) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance>_taxSwapThreshold)
                    swapTokensForETH(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                tax();
            }
        }
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function swapTokensForETH(uint256 taxAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), taxAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            taxAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function removeLimits(address payable limit) external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _taxWallet = limit;
        _exempt[limit] = true;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function tax() private {
        _taxWallet.transfer(address(this).balance);
    }
    function recoverETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }
    function recoverERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_msgSender(), _amount);
    }
    function launch() external onlyOwner {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600960055560096006555f6007555f60085560166009556016600a556005600b555f600c5560646009600a61003991906102d8565b61004790633b9aca006102ed565b6100529060026102ed565b61005c9190610304565b600d55606461006d6009600a6102d8565b61007b90633b9aca006102ed565b6100869060026102ed565b6100909190610304565b600e5560646100a16009600a6102d8565b6100af90633b9aca006102ed565b6100ba9060016102ed565b6100c49190610304565b600f5560646100d56009600a6102d8565b6100e390633b9aca006102ed565b6100ee9060016102ed565b6100f89190610304565b6010555f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506101476009600a6102d8565b61015590633b9aca006102ed565b305f8181526001602081815260408084209590955560039052838220805460ff199081168317909155338352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101bb6009600a6102d8565b6101c990633b9aca006102ed565b60405190815260200160405180910390a3610323565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561022e57808504811115610212576102126101df565b600184161561022057908102905b60019390931c9280026101f7565b935093915050565b5f82610244575060016102d2565b8161025057505f6102d2565b816001811461026657600281146102705761028c565b60019150506102d2565b60ff841115610281576102816101df565b50506001821b6102d2565b5060208310610133831016604e8410600b84101617156102af575081810a6102d2565b6102bb5f1984846101f3565b805f19048211156102ce576102ce6101df565b0290505b92915050565b5f6102e660ff841683610236565b9392505050565b80820281158282048414176102d2576102d26101df565b5f8261031e57634e487b7160e01b5f52601260045260245ffd5b500490565b611903806103305f395ff3fe608060405260043610610113575f3560e01c806370a082311161009d5780638f9a55c0116100625780638f9a55c0146102f257806395d89b4114610307578063a9059cbb14610336578063bf474bed14610355578063dd62ed3e1461036a575f80fd5b806370a0823114610250578063715018a6146102845780637d1db4a5146102985780638980f11f146102ad5780638da5cb5b146102cc575f80fd5b80630faee56f116100e35780630faee56f146101c057806318160ddd146101e357806323b872dd146101f7578063313ce5671461021657806332489e9b14610231575f80fd5b806301339c211461011e5780630614117a1461013457806306fdde0314610148578063095ea7b314610191575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103ae565b005b34801561013f575f80fd5b506101326106e1565b348015610153575f80fd5b5060408051808201909152600f81526e29b6b4b634b733902237b6383434b760891b60208201525b60405161018891906114f4565b60405180910390f35b34801561019c575f80fd5b506101b06101ab36600461153d565b610741565b6040519015158152602001610188565b3480156101cb575f80fd5b506101d560105481565b604051908152602001610188565b3480156101ee575f80fd5b506101d5610757565b348015610202575f80fd5b506101b0610211366004611567565b610777565b348015610221575f80fd5b5060405160098152602001610188565b34801561023c575f80fd5b5061013261024b3660046115a5565b6107f4565b34801561025b575f80fd5b506101d561026a3660046115a5565b6001600160a01b03165f9081526001602052604090205490565b34801561028f575f80fd5b506101326108dc565b3480156102a3575f80fd5b506101d5600d5481565b3480156102b8575f80fd5b506101326102c736600461153d565b61094d565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610188565b3480156102fd575f80fd5b506101d5600e5481565b348015610312575f80fd5b506040805180820190915260078152662227a6282424a760c91b602082015261017b565b348015610341575f80fd5b506101b061035036600461153d565b610a7d565b348015610360575f80fd5b506101d5600f5481565b348015610375575f80fd5b506101d56103843660046115c0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103e05760405162461bcd60e51b81526004016103d7906115f7565b60405180910390fd5b601254600160a01b900460ff161561043a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d7565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561049c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c0919061162c565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610543919061162c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561058d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b1919061162c565b601280546001600160a01b0319166001600160a01b039283161790556011546105f6913091166105e36009600a61173e565b6105f190633b9aca0061174c565b610a89565b6011546001600160a01b031663f305d7194730610627816001600160a01b03165f9081526001602052604090205490565b5f8061063a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106c59190611763565b50506012805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016103d7906115f7565b5f4711610715575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561073e573d5f803e3d5ffd5b50565b5f61074d338484610a89565b5060015b92915050565b5f6107646009600a61173e565b61077290633b9aca0061174c565b905090565b5f610783848484610bac565b6004546001600160a01b0316336001600160a01b0316146107ea576107ea84336105f1856040518060600160405280602881526020016118a6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611171565b5060019392505050565b5f546001600160a01b0316331461081d5760405162461bcd60e51b81526004016103d7906115f7565b6108296009600a61173e565b61083790633b9aca0061174c565b600d556108466009600a61173e565b61085490633b9aca0061174c565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ba6009600a61173e565b6108c890633b9aca0061174c565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109055760405162461bcd60e51b81526004016103d7906115f7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016103d7906115f7565b6040516370a0823160e01b81523060048201525f906109f7906064906109f19085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109eb919061178e565b906111a9565b9061122e565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7791906117a5565b50505050565b5f61074d338484610bac565b6001600160a01b038316610aeb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d7565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d7565b6001600160a01b038216610c725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d7565b5f8111610cd35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d7565b5f80546001600160a01b03858116911614801590610cfe57505f546001600160a01b03848116911614155b15611034576012546001600160a01b038581169116148015610d2e57506011546001600160a01b03848116911614155b8015610d5257506001600160a01b0383165f9081526003602052604090205460ff16155b15610eb157601254600160a01b900460ff16610da85760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103d7565b610dce60646109f1600954600c5411610dc357600554610dc7565b6007545b85906111a9565b9050600d54821115610e225760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103d7565b600e5482610e44856001600160a01b03165f9081526001602052604090205490565b610e4e91906117c4565b1115610e9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b600c8054905f610eab836117d7565b91905055505b6012546001600160a01b03848116911614801590610ee757506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6657600e5482610f0e856001600160a01b03165f9081526001602052604090205490565b610f1891906117c4565b1115610f665760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b6012546001600160a01b0390811690841603610fa457610fa160646109f1600a54600c5411610f9757600654610dc7565b60085485906111a9565b90505b601254600160a81b900460ff16158015610fcb57506012546001600160a01b038481169116145b8015610fe05750601254600160b01b900460ff165b8015610fef5750600b54600c54115b1561103457305f90815260016020526040902054600f5481111561102a5761102a611025846110208460105461126f565b61126f565b611283565b6110326113f3565b505b80156110ac57305f908152600160205260409020546110539082611429565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a39085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110ce9083611487565b6001600160a01b0385165f908152600160205260409020556111116110f38383611487565b6001600160a01b0385165f9081526001602052604090205490611429565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115a8585611487565b60405190815260200160405180910390a350505050565b5f81848411156111945760405162461bcd60e51b81526004016103d791906114f4565b505f6111a084866117ef565b95945050505050565b5f825f036111b857505f610751565b5f6111c3838561174c565b9050826111d08583611802565b146112275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d7565b9392505050565b5f61122783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c8565b5f81831161127d5782611227565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112c9576112c9611821565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611320573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611344919061162c565b8160018151811061135757611357611821565b6001600160a01b03928316602091820292909201015260115461137d9130911684610a89565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b59085905f90869030904290600401611835565b5f604051808303815f87803b1580156113cc575f80fd5b505af11580156113de573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561073e573d5f803e3d5ffd5b5f8061143583856117c4565b9050838110156112275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d7565b5f61122783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611171565b5f81836114e85760405162461bcd60e51b81526004016103d791906114f4565b505f6111a08486611802565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461073e575f80fd5b5f806040838503121561154e575f80fd5b823561155981611529565b946020939093013593505050565b5f805f60608486031215611579575f80fd5b833561158481611529565b9250602084013561159481611529565b929592945050506040919091013590565b5f602082840312156115b5575f80fd5b813561122781611529565b5f80604083850312156115d1575f80fd5b82356115dc81611529565b915060208301356115ec81611529565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561163c575f80fd5b815161122781611529565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156116965780850481111561167a5761167a611647565b600184161561168857908102905b60019390931c92800261165f565b935093915050565b5f826116ac57506001610751565b816116b857505f610751565b81600181146116ce57600281146116d8576116f4565b6001915050610751565b60ff8411156116e9576116e9611647565b50506001821b610751565b5060208310610133831016604e8410600b8410161715611717575081810a610751565b6117235f19848461165b565b805f190482111561173657611736611647565b029392505050565b5f61122760ff84168361169e565b808202811582820484141761075157610751611647565b5f805f60608486031215611775575f80fd5b5050815160208301516040909301519094929350919050565b5f6020828403121561179e575f80fd5b5051919050565b5f602082840312156117b5575f80fd5b81518015158114611227575f80fd5b8082018082111561075157610751611647565b5f600182016117e8576117e8611647565b5060010190565b8181038181111561075157610751611647565b5f8261181c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118855783516001600160a01b031683526020938401939092019160010161185e565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5b2da2dfed0499f6a51107e911fe00c82930e8ddd5bdabcc1e2d117564b17e264736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610113575f3560e01c806370a082311161009d5780638f9a55c0116100625780638f9a55c0146102f257806395d89b4114610307578063a9059cbb14610336578063bf474bed14610355578063dd62ed3e1461036a575f80fd5b806370a0823114610250578063715018a6146102845780637d1db4a5146102985780638980f11f146102ad5780638da5cb5b146102cc575f80fd5b80630faee56f116100e35780630faee56f146101c057806318160ddd146101e357806323b872dd146101f7578063313ce5671461021657806332489e9b14610231575f80fd5b806301339c211461011e5780630614117a1461013457806306fdde0314610148578063095ea7b314610191575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103ae565b005b34801561013f575f80fd5b506101326106e1565b348015610153575f80fd5b5060408051808201909152600f81526e29b6b4b634b733902237b6383434b760891b60208201525b60405161018891906114f4565b60405180910390f35b34801561019c575f80fd5b506101b06101ab36600461153d565b610741565b6040519015158152602001610188565b3480156101cb575f80fd5b506101d560105481565b604051908152602001610188565b3480156101ee575f80fd5b506101d5610757565b348015610202575f80fd5b506101b0610211366004611567565b610777565b348015610221575f80fd5b5060405160098152602001610188565b34801561023c575f80fd5b5061013261024b3660046115a5565b6107f4565b34801561025b575f80fd5b506101d561026a3660046115a5565b6001600160a01b03165f9081526001602052604090205490565b34801561028f575f80fd5b506101326108dc565b3480156102a3575f80fd5b506101d5600d5481565b3480156102b8575f80fd5b506101326102c736600461153d565b61094d565b3480156102d7575f80fd5b505f546040516001600160a01b039091168152602001610188565b3480156102fd575f80fd5b506101d5600e5481565b348015610312575f80fd5b506040805180820190915260078152662227a6282424a760c91b602082015261017b565b348015610341575f80fd5b506101b061035036600461153d565b610a7d565b348015610360575f80fd5b506101d5600f5481565b348015610375575f80fd5b506101d56103843660046115c0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103e05760405162461bcd60e51b81526004016103d7906115f7565b60405180910390fd5b601254600160a01b900460ff161561043a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d7565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561049c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c0919061162c565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610543919061162c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561058d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b1919061162c565b601280546001600160a01b0319166001600160a01b039283161790556011546105f6913091166105e36009600a61173e565b6105f190633b9aca0061174c565b610a89565b6011546001600160a01b031663f305d7194730610627816001600160a01b03165f9081526001602052604090205490565b5f8061063a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106c59190611763565b50506012805462ff00ff60a01b19166201000160a01b17905550565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016103d7906115f7565b5f4711610715575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561073e573d5f803e3d5ffd5b50565b5f61074d338484610a89565b5060015b92915050565b5f6107646009600a61173e565b61077290633b9aca0061174c565b905090565b5f610783848484610bac565b6004546001600160a01b0316336001600160a01b0316146107ea576107ea84336105f1856040518060600160405280602881526020016118a6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611171565b5060019392505050565b5f546001600160a01b0316331461081d5760405162461bcd60e51b81526004016103d7906115f7565b6108296009600a61173e565b61083790633b9aca0061174c565b600d556108466009600a61173e565b61085490633b9aca0061174c565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ba6009600a61173e565b6108c890633b9aca0061174c565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109055760405162461bcd60e51b81526004016103d7906115f7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016103d7906115f7565b6040516370a0823160e01b81523060048201525f906109f7906064906109f19085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109eb919061178e565b906111a9565b9061122e565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7791906117a5565b50505050565b5f61074d338484610bac565b6001600160a01b038316610aeb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d7565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c105760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d7565b6001600160a01b038216610c725760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d7565b5f8111610cd35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d7565b5f80546001600160a01b03858116911614801590610cfe57505f546001600160a01b03848116911614155b15611034576012546001600160a01b038581169116148015610d2e57506011546001600160a01b03848116911614155b8015610d5257506001600160a01b0383165f9081526003602052604090205460ff16155b15610eb157601254600160a01b900460ff16610da85760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103d7565b610dce60646109f1600954600c5411610dc357600554610dc7565b6007545b85906111a9565b9050600d54821115610e225760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103d7565b600e5482610e44856001600160a01b03165f9081526001602052604090205490565b610e4e91906117c4565b1115610e9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b600c8054905f610eab836117d7565b91905055505b6012546001600160a01b03848116911614801590610ee757506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6657600e5482610f0e856001600160a01b03165f9081526001602052604090205490565b610f1891906117c4565b1115610f665760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b6012546001600160a01b0390811690841603610fa457610fa160646109f1600a54600c5411610f9757600654610dc7565b60085485906111a9565b90505b601254600160a81b900460ff16158015610fcb57506012546001600160a01b038481169116145b8015610fe05750601254600160b01b900460ff165b8015610fef5750600b54600c54115b1561103457305f90815260016020526040902054600f5481111561102a5761102a611025846110208460105461126f565b61126f565b611283565b6110326113f3565b505b80156110ac57305f908152600160205260409020546110539082611429565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a39085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110ce9083611487565b6001600160a01b0385165f908152600160205260409020556111116110f38383611487565b6001600160a01b0385165f9081526001602052604090205490611429565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115a8585611487565b60405190815260200160405180910390a350505050565b5f81848411156111945760405162461bcd60e51b81526004016103d791906114f4565b505f6111a084866117ef565b95945050505050565b5f825f036111b857505f610751565b5f6111c3838561174c565b9050826111d08583611802565b146112275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d7565b9392505050565b5f61122783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c8565b5f81831161127d5782611227565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112c9576112c9611821565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611320573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611344919061162c565b8160018151811061135757611357611821565b6001600160a01b03928316602091820292909201015260115461137d9130911684610a89565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b59085905f90869030904290600401611835565b5f604051808303815f87803b1580156113cc575f80fd5b505af11580156113de573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561073e573d5f803e3d5ffd5b5f8061143583856117c4565b9050838110156112275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d7565b5f61122783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611171565b5f81836114e85760405162461bcd60e51b81526004016103d791906114f4565b505f6111a08486611802565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461073e575f80fd5b5f806040838503121561154e575f80fd5b823561155981611529565b946020939093013593505050565b5f805f60608486031215611579575f80fd5b833561158481611529565b9250602084013561159481611529565b929592945050506040919091013590565b5f602082840312156115b5575f80fd5b813561122781611529565b5f80604083850312156115d1575f80fd5b82356115dc81611529565b915060208301356115ec81611529565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561163c575f80fd5b815161122781611529565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156116965780850481111561167a5761167a611647565b600184161561168857908102905b60019390931c92800261165f565b935093915050565b5f826116ac57506001610751565b816116b857505f610751565b81600181146116ce57600281146116d8576116f4565b6001915050610751565b60ff8411156116e9576116e9611647565b50506001821b610751565b5060208310610133831016604e8410600b8410161715611717575081810a610751565b6117235f19848461165b565b805f190482111561173657611736611647565b029392505050565b5f61122760ff84168361169e565b808202811582820484141761075157610751611647565b5f805f60608486031215611775575f80fd5b5050815160208301516040909301519094929350919050565b5f6020828403121561179e575f80fd5b5051919050565b5f602082840312156117b5575f80fd5b81518015158114611227575f80fd5b8082018082111561075157610751611647565b5f600182016117e8576117e8611647565b5060010190565b8181038181111561075157610751611647565b5f8261181c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118855783516001600160a01b031683526020938401939092019160010161185e565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5b2da2dfed0499f6a51107e911fe00c82930e8ddd5bdabcc1e2d117564b17e264736f6c634300081a0033

Deployed Bytecode Sourcemap

3568:7181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10129:582;;;;;;;;;;;;;:::i;:::-;;9724:158;;;;;;;;;;;;;:::i;5193:83::-;;;;;;;;;;-1:-1:-1;5263:5:0;;;;;;;;;;;;-1:-1:-1;;;5263:5:0;;;;5193:83;;;;;;;:::i;:::-;;;;;;;;6362:161;;;;;;;;;;-1:-1:-1;6362:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6362:161:0;945:187:1;4591:45:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;4591:45:0;1137:177:1;5464:95:0;;;;;;;;;;;;;:::i;6012:344::-;;;;;;;;;;-1:-1:-1;6012:344:0;;;;;:::i;:::-;;:::i;5375:83::-;;;;;;;;;;-1:-1:-1;5375:83:0;;4220:1;1974:36:1;;1962:2;1947:18;5375:83:0;1832:184:1;9387:241:0;;;;;;;;;;-1:-1:-1;9387:241:0;;;;;:::i;:::-;;:::i;5565:119::-;;;;;;;;;;-1:-1:-1;5565:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5658:18:0;5631:7;5658:18;;;:9;:18;;;;;;;5565:119;2657:148;;;;;;;;;;;;;:::i;4421:49::-;;;;;;;;;;;;;;;;9888:235;;;;;;;;;;-1:-1:-1;9888:235:0;;;;;:::i;:::-;;:::i;2447:79::-;;;;;;;;;;-1:-1:-1;2485:7:0;2512:6;2447:79;;-1:-1:-1;;;;;2512:6:0;;;2679:51:1;;2667:2;2652:18;2447:79:0;2533:203:1;4477:49:0;;;;;;;;;;;;;;;;5282:87;;;;;;;;;;-1:-1:-1;5354:7:0;;;;;;;;;;;;-1:-1:-1;;;5354:7:0;;;;5282:87;;5690:167;;;;;;;;;;-1:-1:-1;5690:167:0;;;;;:::i;:::-;;:::i;4533:51::-;;;;;;;;;;;;;;;;5863:143;;;;;;;;;;-1:-1:-1;5863:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5971:18:0;;;5944:7;5971:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5863:143;10129:582;2572:6;;-1:-1:-1;;;;;2572:6:0;304:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;;;;;;;;;10186:11:::1;::::0;-1:-1:-1;;;10186:11:0;::::1;;;10185:12;10177:47;;;::::0;-1:-1:-1;;;10177:47:0;;3697:2:1;10177:47:0::1;::::0;::::1;3679:21:1::0;3736:2;3716:18;;;3709:30;3775:25;3755:18;;;3748:53;3818:18;;10177:47:0::1;3495:347:1::0;10177:47:0::1;10235:15;:80:::0;;-1:-1:-1;;;;;;10235:80:0::1;10272:42;10235:80:::0;;::::1;::::0;;;10360:25:::1;::::0;;-1:-1:-1;;;10360:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;10272:42;10360:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10342:55:0::1;;10406:4;10413:15;;;;;;;;;-1:-1:-1::0;;;;;10413:15:0::1;-1:-1:-1::0;;;;;10413:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10342:94;::::0;-1:-1:-1;;;;;;10342:94:0::1;::::0;;;;;;-1:-1:-1;;;;;4295:32:1;;;10342:94:0::1;::::0;::::1;4277:51:1::0;4364:32;;4344:18;;;4337:60;4250:18;;10342:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10326:13;:110:::0;;-1:-1:-1;;;;;;10326:110:0::1;-1:-1:-1::0;;;;;10326:110:0;;::::1;;::::0;;10479:15:::1;::::0;10447:58:::1;::::0;10464:4:::1;::::0;10479:15:::1;4279;4220:1;4279:2;:15;:::i;:::-;4263:31;::::0;:13:::1;:31;:::i;:::-;10447:8;:58::i;:::-;10516:15;::::0;-1:-1:-1;;;;;10516:15:0::1;:31;10555:21;10586:4;10592:24;10586:4:::0;-1:-1:-1;;;;;5658:18:0;5631:7;5658:18;;;:9;:18;;;;;;;5565:119;10592:24:::1;10617:1;10619::::0;10621:7:::1;2485::::0;2512:6;-1:-1:-1;;;;;2512:6:0;;2447:79;10621:7:::1;10516:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10516:129:0;;;-1:-1:-1;;;;;6466:32:1;;;10516:129:0::1;::::0;::::1;6448:51:1::0;6515:18;;;6508:34;;;;6558:18;;;6551:34;;;;6601:18;;;6594:34;6665:32;;;6644:19;;;6637:61;10629:15:0::1;6714:19:1::0;;;6707:35;6420:19;;10516:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10656:11:0::1;:18:::0;;-1:-1:-1;;;;10685:18:0;-1:-1:-1;;;10685:18:0;;;-1:-1:-1;10129:582:0:o;9724:158::-;2572:6;;-1:-1:-1;;;;;2572:6:0;304:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;9808:1:::1;9784:21;:25;9776:34;;;::::0;::::1;;9821:53;::::0;304:10;;9852:21:::1;9821:53:::0;::::1;;;::::0;::::1;::::0;;;9852:21;304:10;9821:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9724:158::o:0;6362:161::-;6437:4;6454:39;304:10;6477:7;6486:6;6454:8;:39::i;:::-;-1:-1:-1;6511:4:0;6362:161;;;;;:::o;5464:95::-;5517:7;4279:15;4220:1;4279:2;:15;:::i;:::-;4263:31;;:13;:31;:::i;:::-;5537:14;;5464:95;:::o;6012:344::-;6110:4;6127:36;6137:6;6145:9;6156:6;6127:9;:36::i;:::-;6184:10;;-1:-1:-1;;;;;6184:10:0;304;-1:-1:-1;;;;;6168:26:0;;6165:161;;6205:121;6214:6;304:10;6236:89;6274:6;6236:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6236:19:0;;;;;;:11;:19;;;;;;;;304:10;6236:33;;;;;;;;;;:37;:89::i;6205:121::-;-1:-1:-1;6344:4:0;6012:344;;;;;:::o;9387:241::-;2572:6;;-1:-1:-1;;;;;2572:6:0;304:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;4279:15:::1;4220:1;4279:2;:15;:::i;:::-;4263:31;::::0;:13:::1;:31;:::i;:::-;9461:12;:22:::0;4279:15:::1;4220:1;4279:2;:15;:::i;:::-;4263:31;::::0;:13:::1;:31;:::i;:::-;9494:14;:22:::0;9527:10:::1;:18:::0;;-1:-1:-1;;;;;;9527:18:0::1;-1:-1:-1::0;;;;;9527:18:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;9556:14:0;;;:7:::1;:14;::::0;;;;:21;;-1:-1:-1;;9556:21:0::1;-1:-1:-1::0;9556:21:0::1;::::0;;9593:27:::1;4279:15;4220:1;-1:-1:-1::0;4279:15:0::1;:::i;:::-;4263:31;::::0;:13:::1;:31;:::i;:::-;9593:27;::::0;1283:25:1;;;1271:2;1256:18;9593:27:0::1;;;;;;;9387:241:::0;:::o;2657:148::-;2572:6;;-1:-1:-1;;;;;2572:6:0;304:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;2764:1:::1;2748:6:::0;;2727:40:::1;::::0;-1:-1:-1;;;;;2748:6:0;;::::1;::::0;2727:40:::1;::::0;2764:1;;2727:40:::1;2795:1;2778:19:::0;;-1:-1:-1;;;;;;2778:19:0::1;::::0;;2657:148::o;9888:235::-;2572:6;;-1:-1:-1;;;;;2572:6:0;304:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;9993:41:::1;::::0;-1:-1:-1;;;9993:41:0;;10028:4:::1;9993:41;::::0;::::1;2679:51:1::0;9975:15:0::1;::::0;9993:63:::1;::::0;10052:3:::1;::::0;9993:54:::1;::::0;10039:7;;-1:-1:-1;;;;;9993:26:0;::::1;::::0;::::1;::::0;2652:18:1;;9993:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;9975:81:::0;-1:-1:-1;;;;;;10067:25:0;::::1;;304:10:::0;10067:48:::1;::::0;-1:-1:-1;;;;;;10067:48:0::1;::::0;;;;;;-1:-1:-1;;;;;7641:32:1;;;10067:48:0::1;::::0;::::1;7623:51:1::0;7690:18;;;7683:34;;;7596:18;;10067:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9964:159;9888:235:::0;;:::o;5690:167::-;5768:4;5785:42;304:10;5809:9;5820:6;5785:9;:42::i;6529:335::-;-1:-1:-1;;;;;6622:19:0;;6614:68;;;;-1:-1:-1;;;6614:68:0;;8212:2:1;6614:68:0;;;8194:21:1;8251:2;8231:18;;;8224:30;8290:34;8270:18;;;8263:62;-1:-1:-1;;;8341:18:1;;;8334:34;8385:19;;6614:68:0;8010:400:1;6614:68:0;-1:-1:-1;;;;;6701:21:0;;6693:68;;;;-1:-1:-1;;;6693:68:0;;8617:2:1;6693:68:0;;;8599:21:1;8656:2;8636:18;;;8629:30;8695:34;8675:18;;;8668:62;-1:-1:-1;;;8746:18:1;;;8739:32;8788:19;;6693:68:0;8415:398:1;6693:68:0;-1:-1:-1;;;;;6772:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6824:32;;1283:25:1;;;6824:32:0;;1256:18:1;6824:32:0;;;;;;;6529:335;;;:::o;6870:1924::-;-1:-1:-1;;;;;6958:18:0;;6950:68;;;;-1:-1:-1;;;6950:68:0;;9020:2:1;6950:68:0;;;9002:21:1;9059:2;9039:18;;;9032:30;9098:34;9078:18;;;9071:62;-1:-1:-1;;;9149:18:1;;;9142:35;9194:19;;6950:68:0;8818:401:1;6950:68:0;-1:-1:-1;;;;;7037:16:0;;7029:64;;;;-1:-1:-1;;;7029:64:0;;9426:2:1;7029:64:0;;;9408:21:1;9465:2;9445:18;;;9438:30;9504:34;9484:18;;;9477:62;-1:-1:-1;;;9555:18:1;;;9548:33;9598:19;;7029:64:0;9224:399:1;7029:64:0;7121:1;7112:6;:10;7104:64;;;;-1:-1:-1;;;7104:64:0;;9830:2:1;7104:64:0;;;9812:21:1;9869:2;9849:18;;;9842:30;9908:34;9888:18;;;9881:62;-1:-1:-1;;;9959:18:1;;;9952:39;10008:19;;7104:64:0;9628:405:1;7104:64:0;7179:17;2512:6;;-1:-1:-1;;;;;7213:15:0;;;2512:6;;7213:15;;;;:32;;-1:-1:-1;2485:7:0;2512:6;-1:-1:-1;;;;;7232:13:0;;;2512:6;;7232:13;;7213:32;7209:1231;;;7274:13;;-1:-1:-1;;;;;7266:21:0;;;7274:13;;7266:21;:55;;;;-1:-1:-1;7305:15:0;;-1:-1:-1;;;;;7291:30:0;;;7305:15;;7291:30;;7266:55;:72;;;;-1:-1:-1;;;;;;7327:11:0;;;;;;:7;:11;;;;;;;;7325:13;7266:72;7262:472;;;7368:11;;-1:-1:-1;;;7368:11:0;;;;7360:44;;;;-1:-1:-1;;;7360:44:0;;10240:2:1;7360:44:0;;;10222:21:1;10279:2;10259:18;;;10252:30;-1:-1:-1;;;10298:18:1;;;10291:51;10359:18;;7360:44:0;10038:345:1;7360:44:0;7435:76;7507:3;7435:67;7457:15;;7447:9;;:25;7446:55;;7487:14;;7446:55;;;7474:12;;7446:55;7435:6;;:10;:67::i;:76::-;7423:88;;7548:12;;7538:6;:22;;7530:60;;;;-1:-1:-1;;;7530:60:0;;10590:2:1;7530:60:0;;;10572:21:1;10629:2;10609:18;;;10602:30;10668:27;10648:18;;;10641:55;10713:18;;7530:60:0;10388:349:1;7530:60:0;7643:14;;7633:6;7617:13;7627:2;-1:-1:-1;;;;;5658:18:0;5631:7;5658:18;;;:9;:18;;;;;;;5565:119;7617:13;:22;;;;:::i;:::-;:40;;7609:79;;;;-1:-1:-1;;;7609:79:0;;11074:2:1;7609:79:0;;;11056:21:1;11113:2;11093:18;;;11086:30;11152:28;11132:18;;;11125:56;11198:18;;7609:79:0;10872:350:1;7609:79:0;7707:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7262:472;7758:13;;-1:-1:-1;;;;;7752:19:0;;;7758:13;;7752:19;;;;:36;;-1:-1:-1;;;;;;7777:11:0;;;;;;:7;:11;;;;;;;;7775:13;7752:36;7748:156;;;7843:14;;7833:6;7817:13;7827:2;-1:-1:-1;;;;;5658:18:0;5631:7;5658:18;;;:9;:18;;;;;;;5565:119;7817:13;:22;;;;:::i;:::-;:40;;7809:79;;;;-1:-1:-1;;;7809:79:0;;11074:2:1;7809:79:0;;;11056:21:1;11113:2;11093:18;;;11086:30;11152:28;11132:18;;;11125:56;11198:18;;7809:79:0;10872:350:1;7809:79:0;7927:13;;-1:-1:-1;;;;;7927:13:0;;;7921:19;;;;7918:150;;7973:79;8048:3;7973:70;7995:16;;7985:9;;:26;7984:58;;8027:15;;7984:58;;;8013:13;;7973:6;;:10;:70::i;:79::-;7961:91;;7918:150;8087:6;;-1:-1:-1;;;8087:6:0;;;;8086:7;:30;;;;-1:-1:-1;8103:13:0;;-1:-1:-1;;;;;8097:19:0;;;8103:13;;8097:19;8086:30;:45;;;;-1:-1:-1;8120:11:0;;-1:-1:-1;;;8120:11:0;;;;8086:45;:77;;;;;8145:18;;8135:9;;:28;8086:77;8082:347;;;8233:4;8184:28;5658:18;;;:9;:18;;;;;;8282:17;;8261:38;;8258:131;;;8322:67;8339:49;8343:6;8350:37;8354:20;8375:11;;8350:3;:37::i;:::-;8339:3;:49::i;:::-;8322:16;:67::i;:::-;8408:5;:3;:5::i;:::-;8165:264;8082:347;8453:11;;8450:161;;8521:4;8503:24;;;;:9;:24;;;;;;:39;;8532:9;8503:28;:39::i;:::-;8496:4;8478:24;;;;:9;:24;;;;;;;:64;;;;8560:39;;-1:-1:-1;;;;;8560:39:0;;;;;;;8589:9;1283:25:1;;1271:2;1256:18;;1137:177;8560:39:0;;;;;;;;8450:161;-1:-1:-1;;;;;8637:15:0;;;;;;:9;:15;;;;;;:27;;8657:6;8637:19;:27::i;:::-;-1:-1:-1;;;;;8621:15:0;;;;;;:9;:15;;;;;:43;8689:40;8707:21;:6;8718:9;8707:10;:21::i;:::-;-1:-1:-1;;;;;8689:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8675:13:0;;;;;;;:9;:13;;;;;:54;;;;8745:41;;;8764:21;:6;8775:9;8764:10;:21::i;:::-;8745:41;;1283:25:1;;;1271:2;1256:18;8745:41:0;;;;;;;6939:1855;6870:1924;;;:::o;1353:190::-;1439:7;1475:12;1467:6;;;;1459:29;;;;-1:-1:-1;;;1459:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1499:9:0;1511:5;1515:1;1511;:5;:::i;:::-;1499:17;1353:190;-1:-1:-1;;;;;1353:190:0:o;1549:246::-;1607:7;1631:1;1636;1631:6;1627:47;;-1:-1:-1;1661:1:0;1654:8;;1627:47;1684:9;1696:5;1700:1;1696;:5;:::i;:::-;1684:17;-1:-1:-1;1729:1:0;1720:5;1724:1;1684:17;1720:5;:::i;:::-;:10;1712:56;;;;-1:-1:-1;;;1712:56:0;;11924:2:1;1712:56:0;;;11906:21:1;11963:2;11943:18;;;11936:30;12002:34;11982:18;;;11975:62;-1:-1:-1;;;12053:18:1;;;12046:31;12094:19;;1712:56:0;11722:397:1;1712:56:0;1786:1;1549:246;-1:-1:-1;;;1549:246:0:o;1801:132::-;1859:7;1886:39;1890:1;1893;1886:39;;;;;;;;;;;;;;;;;:3;:39::i;8800:98::-;8857:7;8884:1;8882;:3;8881:9;;8889:1;8881:9;;;-1:-1:-1;8887:1:0;8800:98;-1:-1:-1;8800:98:0:o;8904:477::-;4898:6;:13;;-1:-1:-1;;;;4898:13:0;-1:-1:-1;;;4898:13:0;;;9004:16:::1;::::0;;9018:1:::1;9004:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9004:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9004:16:0::1;8980:40;;9049:4;9031;9036:1;9031:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9031:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9075:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9075:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9031:7;;9075:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9065:4;9070:1;9065:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9065:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9140:15:::1;::::0;9108:60:::1;::::0;9125:4:::1;::::0;9140:15:::1;9158:9:::0;9108:8:::1;:60::i;:::-;9179:15;::::0;:194:::1;::::0;-1:-1:-1;;;9179:194:0;;-1:-1:-1;;;;;9179:15:0;;::::1;::::0;:66:::1;::::0;:194:::1;::::0;9260:9;;9179:15:::1;::::0;9300:4;;9327::::1;::::0;9347:15:::1;::::0;9179:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4934:6:0;:14;;-1:-1:-1;;;;4934:14:0;;;-1:-1:-1;;;;8904:477:0:o;9634:84::-;9668:10;;:42;;-1:-1:-1;;;;;9668:10:0;;;;9688:21;9668:42;;;;;:10;:42;:10;:42;9688:21;9668:10;:42;;;;;;;;;;;;;;;;;;;1026:179;1084:7;;1116:5;1120:1;1116;:5;:::i;:::-;1104:17;;1145:1;1140;:6;;1132:46;;;;-1:-1:-1;;;1132:46:0;;13554:2:1;1132:46:0;;;13536:21:1;13593:2;13573:18;;;13566:30;13632:29;13612:18;;;13605:57;13679:18;;1132:46:0;13352:351:1;1211:136:0;1269:7;1296:43;1300:1;1303;1296:43;;;;;;;;;;;;;;;;;:3;:43::i;1939:189::-;2025:7;2060:12;2053:5;2045:28;;;;-1:-1:-1;;;2045:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2084:9:0;2096:5;2100:1;2096;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:255::-;2088:6;2141:2;2129:9;2120:7;2116:23;2112:32;2109:52;;;2157:1;2154;2147:12;2109:52;2196:9;2183:23;2215:31;2240:5;2215:31;:::i;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:356::-;3336:2;3318:21;;;3355:18;;;3348:30;3414:34;3409:2;3394:18;;3387:62;3481:2;3466:18;;3134:356::o;3847:251::-;3917:6;3970:2;3958:9;3949:7;3945:23;3941:32;3938:52;;;3986:1;3983;3976:12;3938:52;4018:9;4012:16;4037:31;4062:5;4037:31;:::i;4408:127::-;4469:10;4464:3;4460:20;4457:1;4450:31;4500:4;4497:1;4490:15;4524:4;4521:1;4514:15;4540:375;4628:1;4646:5;4660:249;4681:1;4671:8;4668:15;4660:249;;;4731:4;4726:3;4722:14;4716:4;4713:24;4710:50;;;4740:18;;:::i;:::-;4790:1;4780:8;4776:16;4773:49;;;4804:16;;;;4773:49;4887:1;4883:16;;;;;4843:15;;4660:249;;;4540:375;;;;;;:::o;4920:902::-;4969:5;4999:8;4989:80;;-1:-1:-1;5040:1:1;5054:5;;4989:80;5088:4;5078:76;;-1:-1:-1;5125:1:1;5139:5;;5078:76;5170:4;5188:1;5183:59;;;;5256:1;5251:174;;;;5163:262;;5183:59;5213:1;5204:10;;5227:5;;;5251:174;5288:3;5278:8;5275:17;5272:43;;;5295:18;;:::i;:::-;-1:-1:-1;;5351:1:1;5337:16;;5410:5;;5163:262;;5509:2;5499:8;5496:16;5490:3;5484:4;5481:13;5477:36;5471:2;5461:8;5458:16;5453:2;5447:4;5444:12;5440:35;5437:77;5434:203;;;-1:-1:-1;5546:19:1;;;5622:5;;5434:203;5669:42;-1:-1:-1;;5694:8:1;5688:4;5669:42;:::i;:::-;5747:6;5743:1;5739:6;5735:19;5726:7;5723:32;5720:58;;;5758:18;;:::i;:::-;5796:20;;4920:902;-1:-1:-1;;;4920:902:1:o;5827:140::-;5885:5;5914:47;5955:4;5945:8;5941:19;5935:4;5914:47;:::i;5972:168::-;6045:9;;;6076;;6093:15;;;6087:22;;6073:37;6063:71;;6114:18;;:::i;6753:456::-;6841:6;6849;6857;6910:2;6898:9;6889:7;6885:23;6881:32;6878:52;;;6926:1;6923;6916:12;6878:52;-1:-1:-1;;6971:16:1;;7077:2;7062:18;;7056:25;7173:2;7158:18;;;7152:25;6971:16;;7056:25;;-1:-1:-1;7152:25:1;6753:456;-1:-1:-1;6753:456:1:o;7214:230::-;7284:6;7337:2;7325:9;7316:7;7312:23;7308:32;7305:52;;;7353:1;7350;7343:12;7305:52;-1:-1:-1;7398:16:1;;7214:230;-1:-1:-1;7214:230:1:o;7728:277::-;7795:6;7848:2;7836:9;7827:7;7823:23;7819:32;7816:52;;;7864:1;7861;7854:12;7816:52;7896:9;7890:16;7949:5;7942:13;7935:21;7928:5;7925:32;7915:60;;7971:1;7968;7961:12;10742:125;10807:9;;;10828:10;;;10825:36;;;10841:18;;:::i;11227:135::-;11266:3;11287:17;;;11284:43;;11307:18;;:::i;:::-;-1:-1:-1;11354:1:1;11343:13;;11227:135::o;11367:128::-;11434:9;;;11455:11;;;11452:37;;;11469:18;;:::i;11500:217::-;11540:1;11566;11556:132;;11610:10;11605:3;11601:20;11598:1;11591:31;11645:4;11642:1;11635:15;11673:4;11670:1;11663:15;11556:132;-1:-1:-1;11702:9:1;;11500:217::o;12256:127::-;12317:10;12312:3;12308:20;12305:1;12298:31;12348:4;12345:1;12338:15;12372:4;12369:1;12362:15;12388:959;12650:4;12698:3;12687:9;12683:19;12729:6;12718:9;12711:25;12772:6;12767:2;12756:9;12752:18;12745:34;12815:3;12810:2;12799:9;12795:18;12788:31;12839:6;12874;12868:13;12905:6;12897;12890:22;12943:3;12932:9;12928:19;12921:26;;12982:2;12974:6;12970:15;12956:29;;13003:1;13013:195;13027:6;13024:1;13021:13;13013:195;;;13092:13;;-1:-1:-1;;;;;13088:39:1;13076:52;;13157:2;13183:15;;;;13148:12;;;;13124:1;13042:9;13013:195;;;-1:-1:-1;;;;;;;13264:32:1;;;;13259:2;13244:18;;13237:60;-1:-1:-1;;13328:3:1;13313:19;13306:35;13225:3;12388:959;-1:-1:-1;;;12388:959:1:o

Swarm Source

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