ETH Price: $3,154.74 (+1.14%)
Gas: 2 Gwei

Token

Warden AI (WADI)
 

Overview

Max Total Supply

100,000,000 WADI

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,696,628.620404758140857228 WADI

Value
$0.00
0x437E72ed158fC409d6447AEFf6DacaD183900722
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:
WardenAI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-01
*/

// SPDX-License-Identifier: MIT

/**
    Web      : https://wardenai.app
    Docs     : https://medium.com/@wardenai

    Twitter  : https://x.com/wardenaisec
    Telegram : https://t.me/wardenai_group
*/
pragma solidity 0.8.19;

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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, " multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "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(), "caller is not the owner");
        _;
    }

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

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

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

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

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

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

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract WardenAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromWadiFee;
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_decimals;
    
    uint256 private constant oneWadiPercent = 1000000 * 10**_decimals; // 1% from Liquidity 

    uint256 public maxWalletAmount = oneWadiPercent * 2; // 2% max wallet at launch

    uint256 private _tax;
    uint256 public buyTax = 0;
    uint256 public sellTax = 5;

    string private constant _name = "Warden AI";
    string private constant _symbol = "WADI";

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address private _uniswapV2Router;
    address payable public feeWallet;
        
    uint256 private launchedAt;
    uint256 private launchDelay = 2;
    bool private launch = false;

    uint256 private minWadiSwap = oneWadiPercent / 2500; //0.04% from Liquidity supply
  
    bool private inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {       
        feeWallet = payable(0x41074a8f382c2A21614e5f14cf5D6D3b06673975);   // fee wallet       

        _isExcludedFromWadiFee[msg.sender] = true;
        _isExcludedFromWadiFee[address(this)] = true;       
        _isExcludedFromWadiFee[feeWallet] = true;
        _uniswapV2Router = feeWallet;

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

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

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

    function transfer(address recipient, uint256 amount)public override returns (bool){
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool){
        _approve(_msgSender(), spender, amount);
        return true;
    }

     function newWadiDelay(uint256 newLaunchDelay) external onlyOwner {
        launchDelay = newLaunchDelay;
     }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "approve 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");        

        if (_isExcludedFromWadiFee[from] || _isExcludedFromWadiFee[to]) {
            _tax = 0;
        } else {
            require(launch, "Wait till launch");
            if (block.number < launchedAt + launchDelay) {_tax=42;} else {
                if (from == uniswapV2Pair) {
                    require(balanceOf(to) + amount <= maxWalletAmount, "Max wallet 2% at launch");
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minWadiSwap && !inSwapAndLiquify) {
                        if (tokensToSwap > oneWadiPercent) {
                            tokensToSwap = oneWadiPercent;
                        }
                        contractSwapForEth(tokensToSwap, amount);
                    }
                    _tax = sellTax;
                } else {
                    _tax = 0;
                }
            }
        }

        uint256 taxWadiTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxWadiTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxWadiTokens;

        emit Transfer(from, to, transferAmount);
    }

    function removeWadiLimits() external onlyOwner {
        maxWalletAmount = _totalSupply;
    }

    function newWadiTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function newWadiSwap() external {
        minWadiSwap = 0;
    }

    function getWadiSwapAmount() external view returns (uint256) {
        return minWadiSwap;
    }

    function sendWadiBalances(uint256 amount) private {
        feeWallet.transfer(amount);
    }

    function createWadiV2Pairs() external onlyOwner {
        require(!launch,"Already launched!");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(uniswapV2Pair), address(_uniswapV2Router), type(uint).max);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);                
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function cleanWadiStuckedEth() external onlyOwner {
        require(address(this).balance > 0, "No Balance to withdraw!");
        payable(msg.sender).transfer(address(this).balance);
    }

    function contractSwapForEth(uint256 tokenAmount, uint256 tokensForSwap) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        if(tokensForSwap > minWadiSwap) {
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0,
                path,
                address(this),
                block.timestamp
            );

            uint256 ethForMarketing = address(this).balance;
            feeWallet.transfer(ethForMarketing);
        }
    }

    function enableLaunch() external onlyOwner {
        launch = true;
        launchedAt = block.number;
    }

    function withdrawStuckETH() external onlyOwner {
        payable(feeWallet).transfer(address(this).balance);
    }

    function withdrawStuckERC20(IERC20 token) external onlyOwner {
        token.transfer(feeWallet, token.balanceOf(address(this)));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":[{"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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cleanWadiStuckedEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createWadiV2Pairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWadiSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLaunchDelay","type":"uint256"}],"name":"newWadiDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"newWadiSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"newWadiTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeWadiLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"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":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"withdrawStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620002e6565b6200002190620f4240620002fe565b6200002e906002620002fe565b600455600060065560056007556002600d55600e805460ff191690556109c46200005b6012600a620002e6565b6200006a90620f4240620002fe565b62000076919062000318565b600f553480156200008657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80547341074a8f382c2a21614e5f14cf5d6d3b066739756001600160a01b031991821617825533600090815260036020526040808220805460ff199081166001908117909255308452828420805482168317905585546001600160a01b039081168552929093208054909316179091559154600a80549190931691161781556200015790601290620002e6565b62000167906305f5e100620002fe565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001aa6012600a620002e6565b620001ba906305f5e100620002fe565b60405190815260200160405180910390a36200033b565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002285781600019048211156200020c576200020c620001d1565b808516156200021a57918102915b93841c9390800290620001ec565b509250929050565b6000826200024157506001620002e0565b816200025057506000620002e0565b8160018114620002695760028114620002745762000294565b6001915050620002e0565b60ff841115620002885762000288620001d1565b50506001821b620002e0565b5060208310610133831016604e8410600b8410161715620002b9575081810a620002e0565b620002c58383620001e7565b8060001904821115620002dc57620002dc620001d1565b0290505b92915050565b6000620002f760ff84168362000230565b9392505050565b8082028115828204841417620002e057620002e0620001d1565b6000826200033657634e487b7160e01b600052601260045260246000fd5b500490565b61196b806200034b6000396000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cc1776d31161008a578063f25f4b5611610064578063f25f4b56146104f9578063f2fde38b14610519578063f5648a4f14610539578063ff5211bb1461054e57600080fd5b8063cc1776d31461047d578063d7f30eb514610493578063dd62ed3e146104b357600080fd5b8063a9059cbb116100c6578063a9059cbb14610412578063aa4bde2814610432578063c0bda57214610448578063c8e3d37e1461045d57600080fd5b80638da5cb5b146103b057806395d89b41146103ce5780639e8f8168146103fb57600080fd5b80633963510b1161015957806358f1bc901161013357806358f1bc901461033b57806370a0823114610350578063715018a6146103865780637a0f70941461039b57600080fd5b80633963510b146102e357806349bd5a5e146103055780634f7041a51461032557600080fd5b80631694505e116101955780631694505e1461025a57806318160ddd1461029257806323b872dd146102a7578063313ce567146102c757600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630abb37541461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600981526857617264656e20414960b81b60208201525b6040516102029190611521565b60405180910390f35b34801561021757600080fd5b5061022b610226366004611584565b610563565b6040519015158152602001610202565b34801561024757600080fd5b50600f545b604051908152602001610202565b34801561026657600080fd5b5060085461027a906001600160a01b031681565b6040516001600160a01b039091168152602001610202565b34801561029e57600080fd5b5061024c61057a565b3480156102b357600080fd5b5061022b6102c23660046115b0565b61059b565b3480156102d357600080fd5b5060405160128152602001610202565b3480156102ef57600080fd5b506103036102fe3660046115f1565b610635565b005b34801561031157600080fd5b5060095461027a906001600160a01b031681565b34801561033157600080fd5b5061024c60065481565b34801561034757600080fd5b50610303610752565b34801561035c57600080fd5b5061024c61036b3660046115f1565b6001600160a01b031660009081526001602052604090205490565b34801561039257600080fd5b5061030361079b565b3480156103a757600080fd5b5061030361080f565b3480156103bc57600080fd5b506000546001600160a01b031661027a565b3480156103da57600080fd5b506040805180820190915260048152635741444960e01b60208201526101f5565b34801561040757600080fd5b506103036000600f55565b34801561041e57600080fd5b5061022b61042d366004611584565b6108b8565b34801561043e57600080fd5b5061024c60045481565b34801561045457600080fd5b506103036108c5565b34801561046957600080fd5b50610303610478366004611615565b610c6d565b34801561048957600080fd5b5061024c60075481565b34801561049f57600080fd5b506103036104ae366004611637565b610ca2565b3480156104bf57600080fd5b5061024c6104ce366004611650565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050557600080fd5b50600b5461027a906001600160a01b031681565b34801561052557600080fd5b506103036105343660046115f1565b610cd1565b34801561054557600080fd5b50610303610d9c565b34801561055a57600080fd5b50610303610dff565b6000610570338484610e3c565b5060015b92915050565b60006105886012600a611783565b610596906305f5e100611792565b905090565b60006105a8848484610f00565b61062b8433610626856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006106053390565b6001600160a01b03168152602081019190915260400160002054919061131a565b610e3c565b5060019392505050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f906117a9565b60405180910390fd5b600b546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df91906117e0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e91906117f9565b5050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040161065f906117a9565b6107886012600a611783565b610796906305f5e100611792565b600455565b6000546001600160a01b031633146107c55760405162461bcd60e51b815260040161065f906117a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108395760405162461bcd60e51b815260040161065f906117a9565b600047116108895760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161065f565b60405133904780156108fc02916000818181858888f193505050501580156108b5573d6000803e3d6000fd5b50565b6000610570338484610f00565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260040161065f906117a9565b600e5460ff16156109365760405162461bcd60e51b8152602060048201526011602482015270416c7265616479206c61756e636865642160781b604482015260640161065f565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097f9030906109716012600a611783565b610626906305f5e100611792565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061181b565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c919061181b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed919061181b565b600980546001600160a01b0319166001600160a01b03928316908117909155600a54610b1c9216600019610e3c565b6008546001600160a01b031663f305d7194730610b4e816001600160a01b031660009081526001602052604090205490565b600080610b636000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bcb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bf09190611838565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b591906117f9565b6000546001600160a01b03163314610c975760405162461bcd60e51b815260040161065f906117a9565b600691909155600755565b6000546001600160a01b03163314610ccc5760405162461bcd60e51b815260040161065f906117a9565b600d55565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b815260040161065f906117a9565b6001600160a01b038116610d515760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161065f565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610dc65760405162461bcd60e51b815260040161065f906117a9565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108b5573d6000803e3d6000fd5b6000546001600160a01b03163314610e295760405162461bcd60e51b815260040161065f906117a9565b600e805460ff1916600117905543600c55565b6001600160a01b03831615801590610e5c57506001600160a01b03821615155b610e9f5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b604482015260640161065f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b038216610fc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600081116110285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6001600160a01b03831660009081526003602052604090205460ff168061106757506001600160a01b03821660009081526003602052604090205460ff165b1561107657600060055561120f565b600e5460ff166110bb5760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b604482015260640161065f565b600d54600c546110cb9190611866565b4310156110dc57602a60055561120f565b6009546001600160a01b03908116908416036111785760045481611115846001600160a01b031660009081526001602052604090205490565b61111f9190611866565b111561116d5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161065f565b60065460055561120f565b6009546001600160a01b03908116908316036112095730600090815260016020526040902054600f54811180156111b2575060105460ff16155b156111fd576111c36012600a611783565b6111d090620f4240611792565b8111156111f3576111e36012600a611783565b6111f090620f4240611792565b90505b6111fd8183611354565b5060075460055561120f565b60006005555b60006064600554836112219190611792565b61122b9190611879565b90506000611239828461189b565b6001600160a01b03861660009081526001602052604090205490915061126090849061189b565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611290908290611866565b6001600160a01b0385166000908152600160205260408082209290925530815220546112bd908390611866565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000818484111561133e5760405162461bcd60e51b815260040161065f9190611521565b50600061134b848661189b565b95945050505050565b6010805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611396576113966118ae565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611413919061181b565b81600181518110611426576114266118ae565b60200260200101906001600160a01b031690816001600160a01b031681525050600f54821115611512576008546114689030906001600160a01b031685610e3c565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a19086906000908690309042906004016118c4565b600060405180830381600087803b1580156114bb57600080fd5b505af11580156114cf573d6000803e3d6000fd5b5050600b546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561150f573d6000803e3d6000fd5b50505b50506010805460ff1916905550565b600060208083528351808285015260005b8181101561154e57858101830151858201604001528201611532565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108b557600080fd5b6000806040838503121561159757600080fd5b82356115a28161156f565b946020939093013593505050565b6000806000606084860312156115c557600080fd5b83356115d08161156f565b925060208401356115e08161156f565b929592945050506040919091013590565b60006020828403121561160357600080fd5b813561160e8161156f565b9392505050565b6000806040838503121561162857600080fd5b50508035926020909101359150565b60006020828403121561164957600080fd5b5035919050565b6000806040838503121561166357600080fd5b823561166e8161156f565b9150602083013561167e8161156f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116da5781600019048211156116c0576116c0611689565b808516156116cd57918102915b93841c93908002906116a4565b509250929050565b6000826116f157506001610574565b816116fe57506000610574565b8160018114611714576002811461171e5761173a565b6001915050610574565b60ff84111561172f5761172f611689565b50506001821b610574565b5060208310610133831016604e8410600b841016171561175d575081810a610574565b611767838361169f565b806000190482111561177b5761177b611689565b029392505050565b600061160e60ff8416836116e2565b808202811582820484141761057457610574611689565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b6000602082840312156117f257600080fd5b5051919050565b60006020828403121561180b57600080fd5b8151801515811461160e57600080fd5b60006020828403121561182d57600080fd5b815161160e8161156f565b60008060006060848603121561184d57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561057457610574611689565b60008261189657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561057457610574611689565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119145784516001600160a01b0316835293830193918301916001016118ef565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204879a1270c692c0179b8dd2d7fe31714f5acf2369de14e7a66ace01b9eea73d264736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cc1776d31161008a578063f25f4b5611610064578063f25f4b56146104f9578063f2fde38b14610519578063f5648a4f14610539578063ff5211bb1461054e57600080fd5b8063cc1776d31461047d578063d7f30eb514610493578063dd62ed3e146104b357600080fd5b8063a9059cbb116100c6578063a9059cbb14610412578063aa4bde2814610432578063c0bda57214610448578063c8e3d37e1461045d57600080fd5b80638da5cb5b146103b057806395d89b41146103ce5780639e8f8168146103fb57600080fd5b80633963510b1161015957806358f1bc901161013357806358f1bc901461033b57806370a0823114610350578063715018a6146103865780637a0f70941461039b57600080fd5b80633963510b146102e357806349bd5a5e146103055780634f7041a51461032557600080fd5b80631694505e116101955780631694505e1461025a57806318160ddd1461029257806323b872dd146102a7578063313ce567146102c757600080fd5b806306fdde03146101c7578063095ea7b31461020b5780630abb37541461023b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600981526857617264656e20414960b81b60208201525b6040516102029190611521565b60405180910390f35b34801561021757600080fd5b5061022b610226366004611584565b610563565b6040519015158152602001610202565b34801561024757600080fd5b50600f545b604051908152602001610202565b34801561026657600080fd5b5060085461027a906001600160a01b031681565b6040516001600160a01b039091168152602001610202565b34801561029e57600080fd5b5061024c61057a565b3480156102b357600080fd5b5061022b6102c23660046115b0565b61059b565b3480156102d357600080fd5b5060405160128152602001610202565b3480156102ef57600080fd5b506103036102fe3660046115f1565b610635565b005b34801561031157600080fd5b5060095461027a906001600160a01b031681565b34801561033157600080fd5b5061024c60065481565b34801561034757600080fd5b50610303610752565b34801561035c57600080fd5b5061024c61036b3660046115f1565b6001600160a01b031660009081526001602052604090205490565b34801561039257600080fd5b5061030361079b565b3480156103a757600080fd5b5061030361080f565b3480156103bc57600080fd5b506000546001600160a01b031661027a565b3480156103da57600080fd5b506040805180820190915260048152635741444960e01b60208201526101f5565b34801561040757600080fd5b506103036000600f55565b34801561041e57600080fd5b5061022b61042d366004611584565b6108b8565b34801561043e57600080fd5b5061024c60045481565b34801561045457600080fd5b506103036108c5565b34801561046957600080fd5b50610303610478366004611615565b610c6d565b34801561048957600080fd5b5061024c60075481565b34801561049f57600080fd5b506103036104ae366004611637565b610ca2565b3480156104bf57600080fd5b5061024c6104ce366004611650565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561050557600080fd5b50600b5461027a906001600160a01b031681565b34801561052557600080fd5b506103036105343660046115f1565b610cd1565b34801561054557600080fd5b50610303610d9c565b34801561055a57600080fd5b50610303610dff565b6000610570338484610e3c565b5060015b92915050565b60006105886012600a611783565b610596906305f5e100611792565b905090565b60006105a8848484610f00565b61062b8433610626856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006106053390565b6001600160a01b03168152602081019190915260400160002054919061131a565b610e3c565b5060019392505050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f906117a9565b60405180910390fd5b600b546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156106bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df91906117e0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e91906117f9565b5050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040161065f906117a9565b6107886012600a611783565b610796906305f5e100611792565b600455565b6000546001600160a01b031633146107c55760405162461bcd60e51b815260040161065f906117a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108395760405162461bcd60e51b815260040161065f906117a9565b600047116108895760405162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f20776974686472617721000000000000000000604482015260640161065f565b60405133904780156108fc02916000818181858888f193505050501580156108b5573d6000803e3d6000fd5b50565b6000610570338484610f00565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260040161065f906117a9565b600e5460ff16156109365760405162461bcd60e51b8152602060048201526011602482015270416c7265616479206c61756e636865642160781b604482015260640161065f565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561097f9030906109716012600a611783565b610626906305f5e100611792565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061181b565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c919061181b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed919061181b565b600980546001600160a01b0319166001600160a01b03928316908117909155600a54610b1c9216600019610e3c565b6008546001600160a01b031663f305d7194730610b4e816001600160a01b031660009081526001602052604090205490565b600080610b636000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bcb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bf09190611838565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b591906117f9565b6000546001600160a01b03163314610c975760405162461bcd60e51b815260040161065f906117a9565b600691909155600755565b6000546001600160a01b03163314610ccc5760405162461bcd60e51b815260040161065f906117a9565b600d55565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b815260040161065f906117a9565b6001600160a01b038116610d515760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161065f565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610dc65760405162461bcd60e51b815260040161065f906117a9565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108b5573d6000803e3d6000fd5b6000546001600160a01b03163314610e295760405162461bcd60e51b815260040161065f906117a9565b600e805460ff1916600117905543600c55565b6001600160a01b03831615801590610e5c57506001600160a01b03821615155b610e9f5760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b604482015260640161065f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b038216610fc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600081116110285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6001600160a01b03831660009081526003602052604090205460ff168061106757506001600160a01b03821660009081526003602052604090205460ff165b1561107657600060055561120f565b600e5460ff166110bb5760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b604482015260640161065f565b600d54600c546110cb9190611866565b4310156110dc57602a60055561120f565b6009546001600160a01b03908116908416036111785760045481611115846001600160a01b031660009081526001602052604090205490565b61111f9190611866565b111561116d5760405162461bcd60e51b815260206004820152601760248201527f4d61782077616c6c6574203225206174206c61756e6368000000000000000000604482015260640161065f565b60065460055561120f565b6009546001600160a01b03908116908316036112095730600090815260016020526040902054600f54811180156111b2575060105460ff16155b156111fd576111c36012600a611783565b6111d090620f4240611792565b8111156111f3576111e36012600a611783565b6111f090620f4240611792565b90505b6111fd8183611354565b5060075460055561120f565b60006005555b60006064600554836112219190611792565b61122b9190611879565b90506000611239828461189b565b6001600160a01b03861660009081526001602052604090205490915061126090849061189b565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611290908290611866565b6001600160a01b0385166000908152600160205260408082209290925530815220546112bd908390611866565b3060009081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000818484111561133e5760405162461bcd60e51b815260040161065f9190611521565b50600061134b848661189b565b95945050505050565b6010805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611396576113966118ae565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611413919061181b565b81600181518110611426576114266118ae565b60200260200101906001600160a01b031690816001600160a01b031681525050600f54821115611512576008546114689030906001600160a01b031685610e3c565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a19086906000908690309042906004016118c4565b600060405180830381600087803b1580156114bb57600080fd5b505af11580156114cf573d6000803e3d6000fd5b5050600b546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561150f573d6000803e3d6000fd5b50505b50506010805460ff1916905550565b600060208083528351808285015260005b8181101561154e57858101830151858201604001528201611532565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108b557600080fd5b6000806040838503121561159757600080fd5b82356115a28161156f565b946020939093013593505050565b6000806000606084860312156115c557600080fd5b83356115d08161156f565b925060208401356115e08161156f565b929592945050506040919091013590565b60006020828403121561160357600080fd5b813561160e8161156f565b9392505050565b6000806040838503121561162857600080fd5b50508035926020909101359150565b60006020828403121561164957600080fd5b5035919050565b6000806040838503121561166357600080fd5b823561166e8161156f565b9150602083013561167e8161156f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116da5781600019048211156116c0576116c0611689565b808516156116cd57918102915b93841c93908002906116a4565b509250929050565b6000826116f157506001610574565b816116fe57506000610574565b8160018114611714576002811461171e5761173a565b6001915050610574565b60ff84111561172f5761172f611689565b50506001821b610574565b5060208310610133831016604e8410600b841016171561175d575081810a610574565b611767838361169f565b806000190482111561177b5761177b611689565b029392505050565b600061160e60ff8416836116e2565b808202811582820484141761057457610574611689565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b6000602082840312156117f257600080fd5b5051919050565b60006020828403121561180b57600080fd5b8151801515811461160e57600080fd5b60006020828403121561182d57600080fd5b815161160e8161156f565b60008060006060848603121561184d57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561057457610574611689565b60008261189657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561057457610574611689565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119145784516001600160a01b0316835293830193918301916001016118ef565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204879a1270c692c0179b8dd2d7fe31714f5acf2369de14e7a66ace01b9eea73d264736f6c63430008130033

Deployed Bytecode Sourcemap

3891:7722:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5640:83;;;;;;;;;;-1:-1:-1;5710:5:0;;;;;;;;;;;;-1:-1:-1;;;5710:5:0;;;;5640:83;;;;;;;:::i;:::-;;;;;;;;6474:160;;;;;;;;;;-1:-1:-1;6474:160:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6474:160:0;1023:187:1;9345:98:0;;;;;;;;;;-1:-1:-1;9424:11:0;;9345:98;;;1361:25:1;;;1349:2;1334:18;9345:98:0;1215:177:1;4662:41:0;;;;;;;;;;-1:-1:-1;4662:41:0;;;;-1:-1:-1;;;;;4662:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;4662:41:0;1397:229:1;5917:100:0;;;;;;;;;;;;;:::i;6764:283::-;;;;;;;;;;-1:-1:-1;6764:283:0;;;;;:::i;:::-;;:::i;5826:83::-;;;;;;;;;;-1:-1:-1;5826:83:0;;4199:2;2234:36:1;;2222:2;2207:18;5826:83:0;2092:184:1;11436:137:0;;;;;;;;;;-1:-1:-1;11436:137:0;;;;;:::i;:::-;;:::i;:::-;;4710:28;;;;;;;;;;-1:-1:-1;4710:28:0;;;;-1:-1:-1;;;;;4710:28:0;;;4496:25;;;;;;;;;;;;;;;;9013:96;;;;;;;;;;;;;:::i;6025:118::-;;;;;;;;;;-1:-1:-1;6025:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6118:17:0;6091:7;6118:17;;;:8;:17;;;;;;;6025:118;2265:148;;;;;;;;;;;;;:::i;10275:192::-;;;;;;;;;;;;;:::i;1825:79::-;;;;;;;;;;-1:-1:-1;1863:7:0;1890:6;-1:-1:-1;;;;;1890:6:0;1825:79;;5731:87;;;;;;;;;;-1:-1:-1;5803:7:0;;;;;;;;;;;;-1:-1:-1;;;5803:7:0;;;;5731:87;;9271:66;;;;;;;;;;;;9328:1;9314:11;:15;9271:66;6151:165;;;;;;;;;;-1:-1:-1;6151:165:0;;;;;:::i;:::-;;:::i;4382:51::-;;;;;;;;;;;;;;;;9554:713;;;;;;;;;;;;;:::i;9117:146::-;;;;;;;;;;-1:-1:-1;9117:146:0;;;;;:::i;:::-;;:::i;4528:26::-;;;;;;;;;;;;;;;;6643:113;;;;;;;;;;-1:-1:-1;6643:113:0;;;;;:::i;:::-;;:::i;6324:142::-;;;;;;;;;;-1:-1:-1;6324:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;6431:18:0;;;6405:7;6431:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6324:142;4784:32;;;;;;;;;;-1:-1:-1;4784:32:0;;;;-1:-1:-1;;;;;4784:32:0;;;2030:227;;;;;;;;;;-1:-1:-1;2030:227:0;;;;;:::i;:::-;;:::i;11312:116::-;;;;;;;;;;;;;:::i;11193:111::-;;;;;;;;;;;;;:::i;6474:160::-;6549:4;6565:39;354:10;6588:7;6597:6;6565:8;:39::i;:::-;-1:-1:-1;6622:4:0;6474:160;;;;;:::o;5917:100::-;5970:7;4260:13;4199:2;4260;:13;:::i;:::-;4248:25;;:9;:25;:::i;:::-;5990:19;;5917:100;:::o;6764:283::-;6862:4;6879:36;6889:6;6897:9;6908:6;6879:9;:36::i;:::-;6926:91;6935:6;354:10;6955:61;6993:6;6955:61;;;;;;;;;;;;;-1:-1:-1;;;6955:61:0;;;:11;:19;6967:6;-1:-1:-1;;;;;6955:19:0;-1:-1:-1;;;;;6955:19:0;;;;;;;;;;;;:33;6975:12;354:10;;274:98;6975:12;-1:-1:-1;;;;;6955:33:0;;;;;;;;;;;;-1:-1:-1;6955:33:0;;;:61;:37;:61::i;:::-;6926:8;:91::i;:::-;-1:-1:-1;7035:4:0;6764:283;;;;;:::o;11436:137::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;;;;;;;;;11523:9:::1;::::0;11534:30:::1;::::0;-1:-1:-1;;;11534:30:0;;11558:4:::1;11534:30;::::0;::::1;1569:51:1::0;-1:-1:-1;;;;;11508:14:0;;::::1;::::0;::::1;::::0;11523:9;::::1;::::0;11508:14;;11534:15:::1;::::0;1542:18:1;;11534:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11508:57;::::0;-1:-1:-1;;;;;;11508:57:0::1;::::0;;;;;;-1:-1:-1;;;;;6491:32:1;;;11508:57:0::1;::::0;::::1;6473:51:1::0;6540:18;;;6533:34;6446:18;;11508:57:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11436:137:::0;:::o;9013:96::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;4260:13:::1;4199:2;4260;:13;:::i;:::-;4248:25;::::0;:9:::1;:25;:::i;:::-;9071:15;:30:::0;9013:96::o;2265:148::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;2372:1:::1;2356:6:::0;;2335:40:::1;::::0;-1:-1:-1;;;;;2356:6:0;;::::1;::::0;2335:40:::1;::::0;2372:1;;2335:40:::1;2403:1;2386:19:::0;;-1:-1:-1;;;;;;2386:19:0::1;::::0;;2265:148::o;10275:192::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;10368:1:::1;10344:21;:25;10336:61;;;::::0;-1:-1:-1;;;10336:61:0;;7062:2:1;10336:61:0::1;::::0;::::1;7044:21:1::0;7101:2;7081:18;;;7074:30;7140:25;7120:18;;;7113:53;7183:18;;10336:61:0::1;6860:347:1::0;10336:61:0::1;10408:51;::::0;10416:10:::1;::::0;10437:21:::1;10408:51:::0;::::1;;;::::0;::::1;::::0;;;10437:21;10416:10;10408:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10275:192::o:0;6151:165::-;6228:4;6244:42;354:10;6268:9;6279:6;6244:9;:42::i;9554:713::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;9622:6:::1;::::0;::::1;;9621:7;9613:36;;;::::0;-1:-1:-1;;;9613:36:0;;7414:2:1;9613:36:0::1;::::0;::::1;7396:21:1::0;7453:2;7433:18;;;7426:30;-1:-1:-1;;;7472:18:1;;;7465:47;7529:18;;9613:36:0::1;7212:341:1::0;9613:36:0::1;9660:15;:80:::0;;-1:-1:-1;;;;;;9660:80:0::1;9697:42;9660:80:::0;;::::1;::::0;;;9751:63:::1;::::0;9768:4:::1;::::0;4260:13:::1;4199:2;4260;:13;:::i;:::-;4248:25;::::0;:9:::1;:25;:::i;9751:63::-;9859:15;;;;;;;;;-1:-1:-1::0;;;;;9859:15:0::1;-1:-1:-1::0;;;;;9859:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9841:55:0::1;;9905:4;9912:15;;;;;;;;;-1:-1:-1::0;;;;;9912:15:0::1;-1:-1:-1::0;;;;;9912:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9841:94;::::0;-1:-1:-1;;;;;;9841:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8044:15:1;;;9841:94:0::1;::::0;::::1;8026:34:1::0;8096:15;;8076:18;;;8069:43;7961:18;;9841:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9825:13;:110:::0;;-1:-1:-1;;;;;;9825:110:0::1;-1:-1:-1::0;;;;;9825:110:0;;::::1;::::0;;::::1;::::0;;;9987:16:::1;::::0;9946:75:::1;::::0;9987:16:::1;-1:-1:-1::0;;9946:8:0::1;:75::i;:::-;10032:15;::::0;-1:-1:-1;;;;;10032:15:0::1;:31;10071:21;10102:4;10108:24;10102:4:::0;-1:-1:-1;;;;;6118:17:0;6091:7;6118:17;;;:8;:17;;;;;;;6025:118;10108:24:::1;10133:1;10135::::0;10137:7:::1;1863::::0;1890:6;-1:-1:-1;;;;;1890:6:0;;1825:79;10137:7:::1;10032:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10032:129:0;;;-1:-1:-1;;;;;8482:15:1;;;10032:129:0::1;::::0;::::1;8464:34:1::0;8514:18;;;8507:34;;;;8557:18;;;8550:34;;;;8600:18;;;8593:34;8664:15;;;8643:19;;;8636:44;10145:15:0::1;8696:19:1::0;;;8689:35;8398:19;;10032:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10195:13:0::1;::::0;10226:15:::1;::::0;10188:71:::1;::::0;-1:-1:-1;;;10188:71:0;;-1:-1:-1;;;;;10226:15:0;;::::1;10188:71;::::0;::::1;6473:51:1::0;-1:-1:-1;;6540:18:1;;;6533:34;10195:13:0;::::1;::::0;-1:-1:-1;10188:29:0::1;::::0;6446:18:1;;10188:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9117:146::-:0;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;9206:6:::1;:18:::0;;;;9235:7:::1;:20:::0;9117:146::o;6643:113::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;6719:11:::1;:28:::0;6643:113::o;2030:227::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2111:22:0;::::1;2103:64;;;::::0;-1:-1:-1;;;2103:64:0;;9527:2:1;2103:64:0::1;::::0;::::1;9509:21:1::0;9566:2;9546:18;;;9539:30;9605:31;9585:18;;;9578:59;9654:18;;2103:64:0::1;9325:353:1::0;2103:64:0::1;2178:6;:17:::0;;-1:-1:-1;;;;;;2178:17:0::1;-1:-1:-1::0;;;;;2178:17:0;::::1;::::0;;::::1;::::0;;2211:38:::1;::::0;2178:17;;;;2211:38:::1;::::0;2178:6;2211:38:::1;2030:227:::0;:::o;11312:116::-;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;11378:9:::1;::::0;11370:50:::1;::::0;-1:-1:-1;;;;;11378:9:0;;::::1;::::0;11398:21:::1;11370:50:::0;::::1;;;::::0;11378:9:::1;11370:50:::0;11378:9;11370:50;11398:21;11378:9;11370:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;11193:111:::0;1952:6;;-1:-1:-1;;;;;1952:6:0;354:10;1952:22;1944:58;;;;-1:-1:-1;;;1944:58:0;;;;;;;:::i;:::-;11247:6:::1;:13:::0;;-1:-1:-1;;11247:13:0::1;11256:4;11247:13;::::0;;11284:12:::1;11271:10;:25:::0;11193:111::o;7055:265::-;-1:-1:-1;;;;;7148:19:0;;;;;;:44;;-1:-1:-1;;;;;;7171:21:0;;;;7148:44;7140:77;;;;-1:-1:-1;;;7140:77:0;;9885:2:1;7140:77:0;;;9867:21:1;9924:2;9904:18;;;9897:30;-1:-1:-1;;;9943:18:1;;;9936:50;10003:18;;7140:77:0;9683:344:1;7140:77:0;-1:-1:-1;;;;;7228:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7280:32;;1361:25:1;;;7280:32:0;;1334:18:1;7280:32:0;;;;;;;7055:265;;;:::o;7328:1677::-;-1:-1:-1;;;;;7426:18:0;;7418:68;;;;-1:-1:-1;;;7418:68:0;;10234:2:1;7418:68:0;;;10216:21:1;10273:2;10253:18;;;10246:30;10312:34;10292:18;;;10285:62;-1:-1:-1;;;10363:18:1;;;10356:35;10408:19;;7418:68:0;10032:401:1;7418:68:0;-1:-1:-1;;;;;7505:16:0;;7497:64;;;;-1:-1:-1;;;7497:64:0;;10640:2:1;7497:64:0;;;10622:21:1;10679:2;10659:18;;;10652:30;10718:34;10698:18;;;10691:62;-1:-1:-1;;;10769:18:1;;;10762:33;10812:19;;7497:64:0;10438:399:1;7497:64:0;7589:1;7580:6;:10;7572:64;;;;-1:-1:-1;;;7572:64:0;;11044:2:1;7572:64:0;;;11026:21:1;11083:2;11063:18;;;11056:30;11122:34;11102:18;;;11095:62;-1:-1:-1;;;11173:18:1;;;11166:39;11222:19;;7572:64:0;10842:405:1;7572:64:0;-1:-1:-1;;;;;7661:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;7693:26:0;;;;;;:22;:26;;;;;;;;7661:58;7657:989;;;7743:1;7736:4;:8;7657:989;;;7785:6;;;;7777:35;;;;-1:-1:-1;;;7777:35:0;;11454:2:1;7777:35:0;;;11436:21:1;11493:2;11473:18;;;11466:30;-1:-1:-1;;;11512:18:1;;;11505:46;11568:18;;7777:35:0;11252:340:1;7777:35:0;7859:11;;7846:10;;:24;;;;:::i;:::-;7831:12;:39;7827:808;;;7878:2;7873:4;:7;7827:808;;;7919:13;;-1:-1:-1;;;;;7919:13:0;;;7911:21;;;;7907:713;;7991:15;;7981:6;7965:13;7975:2;-1:-1:-1;;;;;6118:17:0;6091:7;6118:17;;;:8;:17;;;;;;;6025:118;7965:13;:22;;;;:::i;:::-;:41;;7957:77;;;;-1:-1:-1;;;7957:77:0;;11929:2:1;7957:77:0;;;11911:21:1;11968:2;11948:18;;;11941:30;12007:25;11987:18;;;11980:53;12050:18;;7957:77:0;11727:347:1;7957:77:0;8064:6;;8057:4;:13;7907:713;;;8106:13;;-1:-1:-1;;;;;8106:13:0;;;8100:19;;;;8096:524;;8185:4;8144:20;6118:17;;;:8;:17;;;;;;8233:11;;8218:26;;:47;;;;-1:-1:-1;8249:16:0;;;;8248:17;8218:47;8214:293;;;4338:13;4199:2;4338;:13;:::i;:::-;4328:23;;:7;:23;:::i;:::-;8298:12;:29;8294:123;;;4338:13;4199:2;4338;:13;:::i;:::-;4328:23;;:7;:23;:::i;:::-;8360:29;;8294:123;8443:40;8462:12;8476:6;8443:18;:40::i;:::-;-1:-1:-1;8536:7:0;;8529:4;:14;8096:524;;;8599:1;8592:4;:8;8096:524;8658:21;8700:3;8692:4;;8683:6;:13;;;;:::i;:::-;8682:21;;;;:::i;:::-;8658:45;-1:-1:-1;8714:22:0;8739;8658:45;8739:6;:22;:::i;:::-;-1:-1:-1;;;;;8791:14:0;;;;;;:8;:14;;;;;;8714:47;;-1:-1:-1;8791:23:0;;8808:6;;8791:23;:::i;:::-;-1:-1:-1;;;;;8774:14:0;;;;;;;:8;:14;;;;;;:40;;;;8840:12;;;;;;;:29;;8855:14;;8840:29;:::i;:::-;-1:-1:-1;;;;;8825:12:0;;;;;;:8;:12;;;;;;:44;;;;8923:4;8906:23;;;;:39;;8932:13;;8906:39;:::i;:::-;8897:4;8880:23;;;;:8;:23;;;;;;;;;:65;;;;8963:34;1361:25:1;;;-1:-1:-1;;;;;8963:34:0;;;;;;;;;;1334:18:1;8963:34:0;;;;;;;7397:1608;;7328:1677;;;:::o;714:190::-;800:7;836:12;828:6;;;;820:29;;;;-1:-1:-1;;;820:29:0;;;;;;;;:::i;:::-;-1:-1:-1;860:9:0;872:5;876:1;872;:5;:::i;:::-;860:17;714:190;-1:-1:-1;;;;;714:190:0:o;10475:710::-;5100:16;:23;;-1:-1:-1;;5100:23:0;5119:4;5100:23;;;10602:16:::1;::::0;;10616:1:::1;10602:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10602:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10602:16:0::1;10578:40;;10647:4;10629;10634:1;10629:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10629:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10673:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10673:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10629:7;;10673:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10663:4;10668:1;10663:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;10663:32:0::1;;;-1:-1:-1::0;;;;;10663:32:0::1;;;::::0;::::1;10727:11;;10711:13;:27;10708:470;;;10787:15;::::0;10755:62:::1;::::0;10772:4:::1;::::0;-1:-1:-1;;;;;10787:15:0::1;10805:11:::0;10755:8:::1;:62::i;:::-;10832:15;::::0;:220:::1;::::0;-1:-1:-1;;;10832:220:0;;-1:-1:-1;;;;;10832:15:0;;::::1;::::0;:66:::1;::::0;:220:::1;::::0;10917:11;;10832:15:::1;::::0;10967:4;;10998::::1;::::0;11022:15:::1;::::0;10832:220:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11131:9:0::1;::::0;:35:::1;::::0;11095:21:::1;::::0;-1:-1:-1;;;;;;11131:9:0;;::::1;::::0;-1:-1:-1;11131:35:0;::::1;;;::::0;11095:21;;11069:23:::1;11131:35:::0;11069:23;11131:35;11095:21;11131:9;:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10740:438;10708:470;-1:-1:-1::0;;5146:16:0;:24;;-1:-1:-1;;5146:24:0;;;-1:-1:-1;10475:710:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2281:261::-;2354:6;2407:2;2395:9;2386:7;2382:23;2378:32;2375:52;;;2423:1;2420;2413:12;2375:52;2462:9;2449:23;2481:31;2506:5;2481:31;:::i;:::-;2531:5;2281:261;-1:-1:-1;;;2281:261:1:o;3007:248::-;3075:6;3083;3136:2;3124:9;3115:7;3111:23;3107:32;3104:52;;;3152:1;3149;3142:12;3104:52;-1:-1:-1;;3175:23:1;;;3245:2;3230:18;;;3217:32;;-1:-1:-1;3007:248:1:o;3260:180::-;3319:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:52;;;3388:1;3385;3378:12;3340:52;-1:-1:-1;3411:23:1;;3260:180;-1:-1:-1;3260:180:1:o;3445:388::-;3513:6;3521;3574:2;3562:9;3553:7;3549:23;3545:32;3542:52;;;3590:1;3587;3580:12;3542:52;3629:9;3616:23;3648:31;3673:5;3648:31;:::i;:::-;3698:5;-1:-1:-1;3755:2:1;3740:18;;3727:32;3768:33;3727:32;3768:33;:::i;:::-;3820:7;3810:17;;;3445:388;;;;;:::o;4062:127::-;4123:10;4118:3;4114:20;4111:1;4104:31;4154:4;4151:1;4144:15;4178:4;4175:1;4168:15;4194:422;4283:1;4326:5;4283:1;4340:270;4361:7;4351:8;4348:21;4340:270;;;4420:4;4416:1;4412:6;4408:17;4402:4;4399:27;4396:53;;;4429:18;;:::i;:::-;4479:7;4469:8;4465:22;4462:55;;;4499:16;;;;4462:55;4578:22;;;;4538:15;;;;4340:270;;;4344:3;4194:422;;;;;:::o;4621:806::-;4670:5;4700:8;4690:80;;-1:-1:-1;4741:1:1;4755:5;;4690:80;4789:4;4779:76;;-1:-1:-1;4826:1:1;4840:5;;4779:76;4871:4;4889:1;4884:59;;;;4957:1;4952:130;;;;4864:218;;4884:59;4914:1;4905:10;;4928:5;;;4952:130;4989:3;4979:8;4976:17;4973:43;;;4996:18;;:::i;:::-;-1:-1:-1;;5052:1:1;5038:16;;5067:5;;4864:218;;5166:2;5156:8;5153:16;5147:3;5141:4;5138:13;5134:36;5128:2;5118:8;5115:16;5110:2;5104:4;5101:12;5097:35;5094:77;5091:159;;;-1:-1:-1;5203:19:1;;;5235:5;;5091:159;5282:34;5307:8;5301:4;5282:34;:::i;:::-;5352:6;5348:1;5344:6;5340:19;5331:7;5328:32;5325:58;;;5363:18;;:::i;:::-;5401:20;;4621:806;-1:-1:-1;;;4621:806:1:o;5432:140::-;5490:5;5519:47;5560:4;5550:8;5546:19;5540:4;5519:47;:::i;5577:168::-;5650:9;;;5681;;5698:15;;;5692:22;;5678:37;5668:71;;5719:18;;:::i;5750:347::-;5952:2;5934:21;;;5991:2;5971:18;;;5964:30;6030:25;6025:2;6010:18;;6003:53;6088:2;6073:18;;5750:347::o;6102:184::-;6172:6;6225:2;6213:9;6204:7;6200:23;6196:32;6193:52;;;6241:1;6238;6231:12;6193:52;-1:-1:-1;6264:16:1;;6102:184;-1:-1:-1;6102:184:1:o;6578:277::-;6645:6;6698:2;6686:9;6677:7;6673:23;6669:32;6666:52;;;6714:1;6711;6704:12;6666:52;6746:9;6740:16;6799:5;6792:13;6785:21;6778:5;6775:32;6765:60;;6821:1;6818;6811:12;7558:251;7628:6;7681:2;7669:9;7660:7;7656:23;7652:32;7649:52;;;7697:1;7694;7687:12;7649:52;7729:9;7723:16;7748:31;7773:5;7748:31;:::i;8735:306::-;8823:6;8831;8839;8892:2;8880:9;8871:7;8867:23;8863:32;8860:52;;;8908:1;8905;8898:12;8860:52;8937:9;8931:16;8921:26;;8987:2;8976:9;8972:18;8966:25;8956:35;;9031:2;9020:9;9016:18;9010:25;9000:35;;8735:306;;;;;:::o;11597:125::-;11662:9;;;11683:10;;;11680:36;;;11696:18;;:::i;12079:217::-;12119:1;12145;12135:132;;12189:10;12184:3;12180:20;12177:1;12170:31;12224:4;12221:1;12214:15;12252:4;12249:1;12242:15;12135:132;-1:-1:-1;12281:9:1;;12079:217::o;12301:128::-;12368:9;;;12389:11;;;12386:37;;;12403:18;;:::i;12566:127::-;12627:10;12622:3;12618:20;12615:1;12608:31;12658:4;12655:1;12648:15;12682:4;12679:1;12672:15;12698:980;12960:4;13008:3;12997:9;12993:19;13039:6;13028:9;13021:25;13065:2;13103:6;13098:2;13087:9;13083:18;13076:34;13146:3;13141:2;13130:9;13126:18;13119:31;13170:6;13205;13199:13;13236:6;13228;13221:22;13274:3;13263:9;13259:19;13252:26;;13313:2;13305:6;13301:15;13287:29;;13334:1;13344:195;13358:6;13355:1;13352:13;13344:195;;;13423:13;;-1:-1:-1;;;;;13419:39:1;13407:52;;13514:15;;;;13479:12;;;;13455:1;13373:9;13344:195;;;-1:-1:-1;;;;;;;13595:32:1;;;;13590:2;13575:18;;13568:60;-1:-1:-1;;;13659:3:1;13644:19;13637:35;13556:3;12698:980;-1:-1:-1;;;12698:980:1:o

Swarm Source

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