ETH Price: $3,325.19 (-4.01%)

Token

FlashStake (FLASH)
 

Overview

Max Total Supply

1,000,000,000 FLASH

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
20,884,164.539168031 FLASH

Value
$0.00
0x54e888eb5c3dfca6a7446d4c1a913fcdc203fce0
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:
FlashStake

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 2023-10-18
*/

// SPDX-License-Identifier: MIT

/*
Stop waiting for your money. Claim up to two years' worth of yield, instantly and upfront.

Website:  https://www.flashprotocol.org
Telegram:  https://t.me/flash_erc
Twitter: https://twitter.com/flash_erc
Dapp: https://app.flashprotocol.org
*/

pragma solidity 0.8.19;

library SafeMathInt {
    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;
        }
    }
}
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 renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
interface IDexFactory {
    function createPair(address tokenA, address tokenB) external returns (address pairAddress);
}
interface ISimpleERC20 {
    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);
}
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract FlashStake is ISimpleERC20, Ownable {
    using SafeMathInt for uint256;
    string private constant _name = unicode"FlashStake";
    string private constant _symbol = unicode"FLASH";
    uint8 private constant _decimals = 9;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 private swapCounts;
    bool private swapping;
    uint256 swapTriggerAfter;
    IRouter router;
    address public pairAddress;
    bool private openedTrading = false;
    bool private swapEnabled = true;
    uint256 private maxFeeSwap = ( _totalSupply * 1000 ) / 100000;
    uint256 private minTaxSwap = ( _totalSupply * 10 ) / 100000;
    modifier lockSwap {swapping = true; _; swapping = false;}
    uint256 private lpAddRate = 0;
    uint256 private marketingRate = 0;
    uint256 private devRate = 100;
    uint256 private burnRate = 0;
    uint256 private buyFee = 1200;
    uint256 private sellFee = 2500;
    uint256 private transferFee = 1200;
    uint256 private denominator = 10000;
    address internal devReceipient = 0xBda15439168A333d6Aca9a7aFee1DeccF2E8CFF7; 
    address internal marketingReceipient = 0xBda15439168A333d6Aca9a7aFee1DeccF2E8CFF7;
    address internal lpAddReceiver = 0xBda15439168A333d6Aca9a7aFee1DeccF2E8CFF7;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcluded;
    uint256 public maxTxAmounts = ( _totalSupply * 200 ) / 10000;
    uint256 public maxBuySize = ( _totalSupply * 200 ) / 10000;
    uint256 public maxWalletAmount = ( _totalSupply * 200 ) / 10000;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IDexFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pairAddress = _pair;
        _isExcluded[lpAddReceiver] = true;
        _isExcluded[marketingReceipient] = true;
        _isExcluded[devReceipient] = true;
        _isExcluded[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function 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 getOwner() external view override returns (address) { return owner; }
    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 decimals() public pure returns (uint8) {return _decimals;}    
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address 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(!_isExcluded[sender] && !_isExcluded[recipient]){require(openedTrading, "openedTrading");}
        if(!_isExcluded[sender] && !_isExcluded[recipient] && recipient != address(pairAddress) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= maxWalletAmount, "Exceeds maximum wallet amount.");}
        if(sender != pairAddress){require(amount <= maxBuySize || _isExcluded[sender] || _isExcluded[recipient], "TX Limit Exceeded");}
        require(amount <= maxTxAmounts || _isExcluded[sender] || _isExcluded[recipient], "TX Limit Exceeded"); 
        if(recipient == pairAddress && !_isExcluded[sender]){swapCounts += uint256(1);}
        if(shouldSwapTax(sender, recipient, amount)){swapBackFee(maxFeeSwap); swapCounts = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !_isExcluded[sender] ? getAmounts(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    function shouldSwapTax(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTaxSwap;
        bool aboveThreshold = balanceOf(address(this)) >= maxFeeSwap;
        return !swapping && swapEnabled && openedTrading && aboveMin && !_isExcluded[sender] && recipient == pairAddress && swapCounts >= swapTriggerAfter && aboveThreshold;
    }
    function swapBackFee(uint256 tokens) private lockSwap {
        uint256 _denominator = (lpAddRate.add(1).add(marketingRate).add(devRate)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(lpAddRate).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensToETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(lpAddRate));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(lpAddRate);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingRate);
        if(marketingAmt > 0){payable(marketingReceipient).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(devReceipient).transfer(contractBalance);}
    }
    function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _devAddresselopment, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        lpAddRate = _liquidity; marketingRate = _marketing; burnRate = _burn; devRate = _devAddresselopment; 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 swapTokensToETH(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);
    }
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpAddReceiver,
            block.timestamp);
    }
    function getFees(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pairAddress){return sellFee;}
        if(sender == pairAddress){return buyFee;}
        return transferFee;
    }
    function startTrading() external onlyOwner {openedTrading = true;}
    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);
        maxTxAmounts = newTx; maxBuySize = newTransfer; maxWalletAmount = 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%");
    }
    function getAmounts(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (_isExcluded[recipient]) {return maxTxAmounts;}
        if(getFees(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getFees(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnRate > uint256(0) && getFees(sender, recipient) > burnRate){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnRate));}
        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;
    }
}

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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuySize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmounts","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":[],"name":"pairAddress","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":"_devAddresselopment","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"}]

6080604052620000126009600a620004bf565b6200002290633b9aca00620004d7565b60018190556006805461ffff60a01b1916600160a81b179055620186a0906200004e906103e8620004d7565b6200005a9190620004f1565b600755620186a0600154600a620000729190620004d7565b6200007e9190620004f1565b60085560006009819055600a8190556064600b55600c556104b0600d8190556109c4600e55600f5561271060108190556011805473bda15439168a333d6aca9a7afee1deccf2e8cff76001600160a01b0319918216811790925560128054821683179055601380549091169091179055600154620000fe9060c8620004d7565b6200010a9190620004f1565b60175561271060015460c8620001219190620004d7565b6200012d9190620004f1565b60185561271060015460c8620001449190620004d7565b620001509190620004f1565b6019553480156200016057600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ee919062000514565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000262919062000514565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d6919062000514565b600580546001600160a01b038581166001600160a01b03199283161790925560068054848416921691909117905560135481166000908152601660209081526040808320805460ff19908116600190811790925560125486168552828520805482168317905560115490951684528184208054861682179055338085528285208054909616821790955554601483528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200053f565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000401578160001904821115620003e557620003e5620003aa565b80851615620003f357918102915b93841c9390800290620003c5565b509250929050565b6000826200041a57506001620004b9565b816200042957506000620004b9565b81600181146200044257600281146200044d576200046d565b6001915050620004b9565b60ff841115620004615762000461620003aa565b50506001821b620004b9565b5060208310610133831016604e8410600b841016171562000492575081810a620004b9565b6200049e8383620003c0565b8060001904821115620004b557620004b5620003aa565b0290505b92915050565b6000620004d060ff84168362000409565b9392505050565b8082028115828204841417620004b957620004b9620003aa565b6000826200050f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052757600080fd5b81516001600160a01b0381168114620004d057600080fd5b61187d806200054f6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610360578063aa4bde2814610380578063cb7f97d714610396578063dd62ed3e146103b6578063f2fde38b146103fc57600080fd5b8063715018a6146102ab578063893d20e8146102c057806395d89b41146102f25780639cc3535114610320578063a8b089821461034057600080fd5b8063293230b8116100e7578063293230b8146101fd5780632f54bf6e14610214578063313ce567146102435780633c2565ff1461025f57806370a082311461027557600080fd5b806306fdde031461012f578063095ea7b3146101745780630f636db9146101a457806318160ddd146101c857806323b872dd146101dd57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600a815269466c6173685374616b6560b01b60208201525b60405161016b9190611517565b60405180910390f35b34801561018057600080fd5b5061019461018f36600461157d565b61041c565b604051901515815260200161016b565b3480156101b057600080fd5b506101ba60175481565b60405190815260200161016b565b3480156101d457600080fd5b506101ba610433565b3480156101e957600080fd5b506101946101f83660046115a9565b6104a4565b34801561020957600080fd5b5061021261050e565b005b34801561022057600080fd5b5061019461022f3660046115ea565b6000546001600160a01b0391821691161490565b34801561024f57600080fd5b506040516009815260200161016b565b34801561026b57600080fd5b506101ba60185481565b34801561028157600080fd5b506101ba6102903660046115ea565b6001600160a01b031660009081526014602052604090205490565b3480156102b757600080fd5b50610212610556565b3480156102cc57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161016b565b3480156102fe57600080fd5b5060408051808201909152600581526408c9882a6960db1b602082015261015e565b34801561032c57600080fd5b5061021261033b366004611607565b6105c5565b34801561034c57600080fd5b506006546102da906001600160a01b031681565b34801561036c57600080fd5b5061019461037b36600461157d565b610706565b34801561038c57600080fd5b506101ba60195481565b3480156103a257600080fd5b506102126103b1366004611633565b610713565b3480156103c257600080fd5b506101ba6103d136600461167f565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205490565b34801561040857600080fd5b506102126104173660046115ea565b610808565b6000610429338484610886565b5060015b92915050565b60146020527f4f26c3876aa9f4b92579780beea1161a61f87ebf1ec6ee865b299e447ecba99c5461dead60009081527f8b9e18c5e04efe171d1e4f682ad90d753958a5ffe56db5290b0236c8e0b6db0054600154919261049f92909161049991906109aa565b906109aa565b905090565b60006104b18484846109b6565b61050384336104fe85604051806060016040528060288152602001611820602891396001600160a01b038a1660009081526015602090815260408083203384529091529020549190610f07565b610886565b5060015b9392505050565b6000546001600160a01b031633146105415760405162461bcd60e51b8152600401610538906116b8565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105805760405162461bcd60e51b8152600401610538906116b8565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146105ef5760405162461bcd60e51b8152600401610538906116b8565b600061061261271061060c86600154610f3390919063ffffffff16565b90610f3f565b9050600061063161271061060c86600154610f3390919063ffffffff16565b9050600061065061271061060c86600154610f3390919063ffffffff16565b6017849055601883905560198190559050600061067c6103e861060c6005610676610433565b90610f33565b905080841015801561068e5750808310155b801561069a5750808210155b6106fd5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610538565b50505050505050565b60006104293384846109b6565b6000546001600160a01b0316331461073d5760405162461bcd60e51b8152600401610538906116b8565b6009879055600a869055600c859055600b849055600d839055600e829055600f81905560105461076e906001610f3f565b600d541115801561078e5750601054610788906001610f3f565b600e5411155b80156107a957506010546107a3906001610f3f565b600f5411155b6106fd5760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610538565b6000546001600160a01b031633146108325760405162461bcd60e51b8152600401610538906116b8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610538565b6001600160a01b0382166109495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610538565b6001600160a01b0383811660008181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061050782846116ee565b6001600160a01b038316610a1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610538565b6001600160a01b038216610a7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610538565b6001600160a01b038316600090815260146020526040902054811115610afe5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610538565b6001600160a01b03831660009081526016602052604090205460ff16158015610b4057506001600160a01b03821660009081526016602052604090205460ff16155b15610b8e57600654600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600d60248201526c6f70656e656454726164696e6760981b6044820152606401610538565b6001600160a01b03831660009081526016602052604090205460ff16158015610bd057506001600160a01b03821660009081526016602052604090205460ff16155b8015610bea57506006546001600160a01b03838116911614155b8015610c0157506001600160a01b03821661dead14155b15610c7a576019546001600160a01b038316600090815260146020526040902054610c2c9083610f4b565b1115610c7a5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610538565b6006546001600160a01b03848116911614610d1b5760185481111580610cb857506001600160a01b03831660009081526016602052604090205460ff165b80610cdb57506001600160a01b03821660009081526016602052604090205460ff165b610d1b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610538565b60175481111580610d4457506001600160a01b03831660009081526016602052604090205460ff165b80610d6757506001600160a01b03821660009081526016602052604090205460ff165b610da75760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610538565b6006546001600160a01b038381169116148015610ddd57506001600160a01b03831660009081526016602052604090205460ff16155b15610dfb57600160026000828254610df59190611701565b90915550505b610e06838383610f57565b15610e1c57610e16600754611011565b60006002555b6001600160a01b038316600090815260146020526040902054610e3f90826109aa565b6001600160a01b038416600090815260146020908152604080832093909355601690529081205460ff1615610e745781610e7f565b610e7f84848461118e565b6001600160a01b038416600090815260146020526040902054909150610ea59082610f4b565b6001600160a01b0380851660008181526014602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef99085815260200190565b60405180910390a350505050565b60008184841115610f2b5760405162461bcd60e51b81526004016105389190611517565b505050900390565b60006105078284611714565b6000610507828461172b565b60006105078284611701565b6008546007543060009081526014602052604081205460035491938510159211159060ff16158015610f925750600654600160a81b900460ff165b8015610fa75750600654600160a01b900460ff165b8015610fb05750815b8015610fd557506001600160a01b03861660009081526016602052604090205460ff16155b8015610fee57506006546001600160a01b038681169116145b8015610ffe575060045460025410155b80156110075750805b9695505050505050565b6003805460ff19166001908117909155600b54600a5460095460009361104b93600293610676939192611045928391610f4b565b90610f4b565b905060006110688261060c60095486610f3390919063ffffffff16565b9050600061107684836109aa565b905047611082826112be565b600061108e47836109aa565b905060006110b16110aa600954886109aa90919063ffffffff16565b8390610f3f565b905060006110ca60095483610f3390919063ffffffff16565b905080156110dc576110dc8682611418565b600a546000906110f190610676856002610f33565b90508015611135576012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611133573d6000803e3d6000fd5b505b478015611178576011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611176573d6000803e3d6000fd5b505b50506003805460ff191690555050505050505050565b6001600160a01b03821660009081526016602052604081205460ff16156111b85750601754610507565b60006111c485856114cc565b11156112b75760006111e76111d986866114cc565b601054610676908690610f3f565b306000908152601460205260409020549091506112049082610f4b565b30600081815260146020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112559085815260200190565b60405180910390a36000600c541180156112795750600c5461127786866114cc565b115b156112a5576112a53061dead6112a0600c5461067660105489610f3f90919063ffffffff16565b6109b6565b6112af83826109aa565b915050610507565b5092915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112f3576112f361174d565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190611763565b816001815181106113835761138361174d565b6001600160a01b0392831660209182029290920101526005546113a99130911684610886565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e2908590600090869030904290600401611780565b600060405180830381600087803b1580156113fc57600080fd5b505af1158015611410573d6000803e3d6000fd5b505050505050565b6005546114309030906001600160a01b031684610886565b60055460135460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114c591906117f1565b5050505050565b6006546000906001600160a01b03908116908316036114ee5750600e5461042d565b6006546001600160a01b039081169084160361150d5750600d5461042d565b50600f5492915050565b600060208083528351808285015260005b8181101561154457858101830151858201604001528201611528565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461157a57600080fd5b50565b6000806040838503121561159057600080fd5b823561159b81611565565b946020939093013593505050565b6000806000606084860312156115be57600080fd5b83356115c981611565565b925060208401356115d981611565565b929592945050506040919091013590565b6000602082840312156115fc57600080fd5b813561050781611565565b60008060006060848603121561161c57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561164e57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b6000806040838503121561169257600080fd5b823561169d81611565565b915060208301356116ad81611565565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561042d5761042d6116d8565b8082018082111561042d5761042d6116d8565b808202811582820484141761042d5761042d6116d8565b60008261174857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561177557600080fd5b815161050781611565565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117d05784516001600160a01b0316835293830193918301916001016117ab565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561180657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220036e1157dbf4e75253ed1411248698bf4ecef5b921e3eb16a3a03a4fb86027fc64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610360578063aa4bde2814610380578063cb7f97d714610396578063dd62ed3e146103b6578063f2fde38b146103fc57600080fd5b8063715018a6146102ab578063893d20e8146102c057806395d89b41146102f25780639cc3535114610320578063a8b089821461034057600080fd5b8063293230b8116100e7578063293230b8146101fd5780632f54bf6e14610214578063313ce567146102435780633c2565ff1461025f57806370a082311461027557600080fd5b806306fdde031461012f578063095ea7b3146101745780630f636db9146101a457806318160ddd146101c857806323b872dd146101dd57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600a815269466c6173685374616b6560b01b60208201525b60405161016b9190611517565b60405180910390f35b34801561018057600080fd5b5061019461018f36600461157d565b61041c565b604051901515815260200161016b565b3480156101b057600080fd5b506101ba60175481565b60405190815260200161016b565b3480156101d457600080fd5b506101ba610433565b3480156101e957600080fd5b506101946101f83660046115a9565b6104a4565b34801561020957600080fd5b5061021261050e565b005b34801561022057600080fd5b5061019461022f3660046115ea565b6000546001600160a01b0391821691161490565b34801561024f57600080fd5b506040516009815260200161016b565b34801561026b57600080fd5b506101ba60185481565b34801561028157600080fd5b506101ba6102903660046115ea565b6001600160a01b031660009081526014602052604090205490565b3480156102b757600080fd5b50610212610556565b3480156102cc57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161016b565b3480156102fe57600080fd5b5060408051808201909152600581526408c9882a6960db1b602082015261015e565b34801561032c57600080fd5b5061021261033b366004611607565b6105c5565b34801561034c57600080fd5b506006546102da906001600160a01b031681565b34801561036c57600080fd5b5061019461037b36600461157d565b610706565b34801561038c57600080fd5b506101ba60195481565b3480156103a257600080fd5b506102126103b1366004611633565b610713565b3480156103c257600080fd5b506101ba6103d136600461167f565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205490565b34801561040857600080fd5b506102126104173660046115ea565b610808565b6000610429338484610886565b5060015b92915050565b60146020527f4f26c3876aa9f4b92579780beea1161a61f87ebf1ec6ee865b299e447ecba99c5461dead60009081527f8b9e18c5e04efe171d1e4f682ad90d753958a5ffe56db5290b0236c8e0b6db0054600154919261049f92909161049991906109aa565b906109aa565b905090565b60006104b18484846109b6565b61050384336104fe85604051806060016040528060288152602001611820602891396001600160a01b038a1660009081526015602090815260408083203384529091529020549190610f07565b610886565b5060015b9392505050565b6000546001600160a01b031633146105415760405162461bcd60e51b8152600401610538906116b8565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105805760405162461bcd60e51b8152600401610538906116b8565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146105ef5760405162461bcd60e51b8152600401610538906116b8565b600061061261271061060c86600154610f3390919063ffffffff16565b90610f3f565b9050600061063161271061060c86600154610f3390919063ffffffff16565b9050600061065061271061060c86600154610f3390919063ffffffff16565b6017849055601883905560198190559050600061067c6103e861060c6005610676610433565b90610f33565b905080841015801561068e5750808310155b801561069a5750808210155b6106fd5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610538565b50505050505050565b60006104293384846109b6565b6000546001600160a01b0316331461073d5760405162461bcd60e51b8152600401610538906116b8565b6009879055600a869055600c859055600b849055600d839055600e829055600f81905560105461076e906001610f3f565b600d541115801561078e5750601054610788906001610f3f565b600e5411155b80156107a957506010546107a3906001610f3f565b600f5411155b6106fd5760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610538565b6000546001600160a01b031633146108325760405162461bcd60e51b8152600401610538906116b8565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610538565b6001600160a01b0382166109495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610538565b6001600160a01b0383811660008181526015602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061050782846116ee565b6001600160a01b038316610a1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610538565b6001600160a01b038216610a7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610538565b6001600160a01b038316600090815260146020526040902054811115610afe5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610538565b6001600160a01b03831660009081526016602052604090205460ff16158015610b4057506001600160a01b03821660009081526016602052604090205460ff16155b15610b8e57600654600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600d60248201526c6f70656e656454726164696e6760981b6044820152606401610538565b6001600160a01b03831660009081526016602052604090205460ff16158015610bd057506001600160a01b03821660009081526016602052604090205460ff16155b8015610bea57506006546001600160a01b03838116911614155b8015610c0157506001600160a01b03821661dead14155b15610c7a576019546001600160a01b038316600090815260146020526040902054610c2c9083610f4b565b1115610c7a5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610538565b6006546001600160a01b03848116911614610d1b5760185481111580610cb857506001600160a01b03831660009081526016602052604090205460ff165b80610cdb57506001600160a01b03821660009081526016602052604090205460ff165b610d1b5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610538565b60175481111580610d4457506001600160a01b03831660009081526016602052604090205460ff165b80610d6757506001600160a01b03821660009081526016602052604090205460ff165b610da75760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610538565b6006546001600160a01b038381169116148015610ddd57506001600160a01b03831660009081526016602052604090205460ff16155b15610dfb57600160026000828254610df59190611701565b90915550505b610e06838383610f57565b15610e1c57610e16600754611011565b60006002555b6001600160a01b038316600090815260146020526040902054610e3f90826109aa565b6001600160a01b038416600090815260146020908152604080832093909355601690529081205460ff1615610e745781610e7f565b610e7f84848461118e565b6001600160a01b038416600090815260146020526040902054909150610ea59082610f4b565b6001600160a01b0380851660008181526014602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef99085815260200190565b60405180910390a350505050565b60008184841115610f2b5760405162461bcd60e51b81526004016105389190611517565b505050900390565b60006105078284611714565b6000610507828461172b565b60006105078284611701565b6008546007543060009081526014602052604081205460035491938510159211159060ff16158015610f925750600654600160a81b900460ff165b8015610fa75750600654600160a01b900460ff165b8015610fb05750815b8015610fd557506001600160a01b03861660009081526016602052604090205460ff16155b8015610fee57506006546001600160a01b038681169116145b8015610ffe575060045460025410155b80156110075750805b9695505050505050565b6003805460ff19166001908117909155600b54600a5460095460009361104b93600293610676939192611045928391610f4b565b90610f4b565b905060006110688261060c60095486610f3390919063ffffffff16565b9050600061107684836109aa565b905047611082826112be565b600061108e47836109aa565b905060006110b16110aa600954886109aa90919063ffffffff16565b8390610f3f565b905060006110ca60095483610f3390919063ffffffff16565b905080156110dc576110dc8682611418565b600a546000906110f190610676856002610f33565b90508015611135576012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611133573d6000803e3d6000fd5b505b478015611178576011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611176573d6000803e3d6000fd5b505b50506003805460ff191690555050505050505050565b6001600160a01b03821660009081526016602052604081205460ff16156111b85750601754610507565b60006111c485856114cc565b11156112b75760006111e76111d986866114cc565b601054610676908690610f3f565b306000908152601460205260409020549091506112049082610f4b565b30600081815260146020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112559085815260200190565b60405180910390a36000600c541180156112795750600c5461127786866114cc565b115b156112a5576112a53061dead6112a0600c5461067660105489610f3f90919063ffffffff16565b6109b6565b6112af83826109aa565b915050610507565b5092915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112f3576112f361174d565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190611763565b816001815181106113835761138361174d565b6001600160a01b0392831660209182029290920101526005546113a99130911684610886565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e2908590600090869030904290600401611780565b600060405180830381600087803b1580156113fc57600080fd5b505af1158015611410573d6000803e3d6000fd5b505050505050565b6005546114309030906001600160a01b031684610886565b60055460135460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114c591906117f1565b5050505050565b6006546000906001600160a01b03908116908316036114ee5750600e5461042d565b6006546001600160a01b039081169084160361150d5750600d5461042d565b50600f5492915050565b600060208083528351808285015260005b8181101561154457858101830151858201604001528201611528565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461157a57600080fd5b50565b6000806040838503121561159057600080fd5b823561159b81611565565b946020939093013593505050565b6000806000606084860312156115be57600080fd5b83356115c981611565565b925060208401356115d981611565565b929592945050506040919091013590565b6000602082840312156115fc57600080fd5b813561050781611565565b60008060006060848603121561161c57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561164e57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b6000806040838503121561169257600080fd5b823561169d81611565565b915060208301356116ad81611565565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561042d5761042d6116d8565b8082018082111561042d5761042d6116d8565b808202811582820484141761042d5761042d6116d8565b60008261174857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561177557600080fd5b815161050781611565565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117d05784516001600160a01b0316835293830193918301916001016117ab565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561180657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220036e1157dbf4e75253ed1411248698bf4ecef5b921e3eb16a3a03a4fb86027fc64736f6c63430008130033

Deployed Bytecode Sourcemap

3832:9688:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6181:67;;;;;;;;;;-1:-1:-1;6241:5:0;;;;;;;;;;;;-1:-1:-1;;;6241:5:0;;;;6181:67;;;;;;;:::i;:::-;;;;;;;;6669:133;;;;;;;;;;-1:-1:-1;6669:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6669:133:0;1023:187:1;5377:60:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5377:60:0;1215:177:1;6808:132:0;;;;;;;;;;;;;:::i;13208:309::-;;;;;;;;;;-1:-1:-1;13208:309:0;;;;;:::i;:::-;;:::i;11928:66::-;;;;;;;;;;;;;:::i;:::-;;1799:87;;;;;;;;;;-1:-1:-1;1799:87:0;;;;;:::i;:::-;1854:4;1879:5;-1:-1:-1;;;;;1868:16:0;;;1879:5;;1868:16;;1799:87;6946:67;;;;;;;;;;-1:-1:-1;6946:67:0;;4068:1;2252:36:1;;2240:2;2225:18;6946:67:0;2110:184:1;5444:58:0;;;;;;;;;;;;;;;;6331:103;;;;;;;;;;-1:-1:-1;6331:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6414:18:0;6397:7;6414:18;;;:9;:18;;;;;;;6331:103;1892:106;;;;;;;;;;;;;:::i;6585:78::-;;;;;;;;;;-1:-1:-1;6637:7:0;6655:5;-1:-1:-1;;;;;6655:5:0;6585:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6585:78:0;2299:203:1;6254:71:0;;;;;;;;;;-1:-1:-1;6316:7:0;;;;;;;;;;;;-1:-1:-1;;;6316:7:0;;;;6254:71;;12000:552;;;;;;;;;;-1:-1:-1;12000:552:0;;;;;:::i;:::-;;:::i;4339:26::-;;;;;;;;;;-1:-1:-1;4339:26:0;;;;-1:-1:-1;;;;;4339:26:0;;;6440:139;;;;;;;;;;-1:-1:-1;6440:139:0;;;;;:::i;:::-;;:::i;5509:63::-;;;;;;;;;;;;;;;;10382:524;;;;;;;;;;-1:-1:-1;10382:524:0;;;;;:::i;:::-;;:::i;7023:127::-;;;;;;;;;;-1:-1:-1;7023:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7121:18:0;;;7104:7;7121:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7023:127;2004:111;;;;;;;;;;-1:-1:-1;2004:111:0;;;;;:::i;:::-;;:::i;6669:133::-;6744:4;6751:37;6760:10;6772:7;6781:6;6751:8;:37::i;:::-;-1:-1:-1;6796:4:0;6669:133;;;;;:::o;6808:132::-;6414:9;:18;;;;4109:42;6861:7;6414:18;;;;;6878:12;;6861:7;;6878:60;;6414:18;;6878:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;6871:67;;6808:132;:::o;13208:309::-;13306:4;13323:36;13333:6;13341:9;13352:6;13323:9;:36::i;:::-;13370:117;13379:6;13387:10;13399:87;13435:6;13399:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13399:19:0;;;;;;:11;:19;;;;;;;;13419:10;13399:31;;;;;;;;;:87;:35;:87::i;:::-;13370:8;:117::i;:::-;-1:-1:-1;13505:4:0;13208:309;;;;;;:::o;11928:66::-;1854:4;1879:5;-1:-1:-1;;;;;1879:5:0;1766:10;1868:16;1750:38;;;;-1:-1:-1;;;1750:38:0;;;;;;;:::i;:::-;;;;;;;;;11972:13:::1;:20:::0;;-1:-1:-1;;;;11972:20:0::1;-1:-1:-1::0;;;11972:20:0::1;::::0;;11928:66::o;1892:106::-;1854:4;1879:5;-1:-1:-1;;;;;1879:5:0;1766:10;1868:16;1750:38;;;;-1:-1:-1;;;1750:38:0;;;;;;;:::i;:::-;1955:1:::1;1939:18:::0;;-1:-1:-1;;;;;;1939:18:0::1;::::0;;1964:32:::1;::::0;2445:51:1;;;1964:32:0::1;::::0;2433:2:1;2418:18;1964:32:0::1;;;;;;;1892:106::o:0;12000:552::-;1854:4;1879:5;-1:-1:-1;;;;;1879:5:0;1766:10;1868:16;1750:38;;;;-1:-1:-1;;;1750:38:0;;;;;;;:::i;:::-;12106:13:::1;12122:33;12149:5;12122:22;12139:4;12122:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;12106:49;;12157:19;12179:34;12207:5;12179:23;12196:5;12179:12;;:16;;:23;;;;:::i;:34::-;12157:56;;12215:17;12235:36;12265:5;12235:25;12252:7;12235:12;;:16;;:25;;;;:::i;:36::-;12282:12;:20:::0;;;12304:10:::1;:24:::0;;;12330:15:::1;:27:::0;;;12215:56;-1:-1:-1;;12384:30:0::1;12409:4;12384:20;12402:1;12384:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;12368:46;;12442:5;12433;:14;;:38;;;;;12466:5;12451:11;:20;;12433:38;:60;;;;;12488:5;12475:9;:18;;12433:60;12425:119;;;::::0;-1:-1:-1;;;12425:119:0;;4614:2:1;12425: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;;12425:119:0::1;4412:410:1::0;12425:119:0::1;12095:457;;;;12000:552:::0;;;:::o;6440:139::-;6518:4;6525:40;6535:10;6547:9;6558:6;6525:9;:40::i;10382:524::-;1854:4;1879:5;-1:-1:-1;;;;;1879:5:0;1766:10;1868:16;1750:38;;;;-1:-1:-1;;;1750:38:0;;;;;;;:::i;:::-;10579:9:::1;:22:::0;;;10603:13:::1;:26:::0;;;10631:8:::1;:16:::0;;;10649:7:::1;:29:::0;;;10680:6:::1;:15:::0;;;10697:7:::1;:15:::0;;;10714:11:::1;:20:::0;;;10763:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10763:15:0::1;:18::i;:::-;10753:6;;:28;;:61;;;;-1:-1:-1::0;10796:11:0::1;::::0;:18:::1;::::0;10812:1:::1;10796:15;:18::i;:::-;10785:7;;:29;;10753:61;:98;;;;-1:-1:-1::0;10833:11:0::1;::::0;:18:::1;::::0;10849:1:::1;10833:15;:18::i;:::-;10818:11;;:33;;10753:98;10745:153;;;::::0;-1:-1:-1;;;10745:153:0;;5029:2:1;10745: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;;10745:153:0::1;4827:406:1::0;2004:111:0;1854:4;1879:5;-1:-1:-1;;;;;1879:5:0;1766:10;1868:16;1750:38;;;;-1:-1:-1;;;1750:38:0;;;;;;;:::i;:::-;2070:5:::1;:11:::0;;-1:-1:-1;;;;;;2070:11:0::1;-1:-1:-1::0;;;;;2070:11:0;::::1;::::0;;::::1;::::0;;;2088:25:::1;::::0;2445:51:1;;;2088:25:0::1;::::0;2433:2:1;2418:18;2088:25:0::1;;;;;;;2004:111:::0;:::o;7156:335::-;-1:-1:-1;;;;;7249:19:0;;7241:68;;;;-1:-1:-1;;;7241:68:0;;5656:2:1;7241: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;;7241:68:0;5454:400:1;7241:68:0;-1:-1:-1;;;;;7328:21:0;;7320:68;;;;-1:-1:-1;;;7320:68:0;;6061:2:1;7320: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;;7320:68:0;5859:398:1;7320:68:0;-1:-1:-1;;;;;7399:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7451:32;;1361:25:1;;;7451:32:0;;1334:18:1;7451:32:0;;;;;;;7156:335;;;:::o;452:98::-;510:7;537:5;541:1;537;:5;:::i;7497:1430::-;-1:-1:-1;;;;;7594:20:0;;7586:70;;;;-1:-1:-1;;;7586:70:0;;6729:2:1;7586: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;;7586:70:0;6527:401:1;7586:70:0;-1:-1:-1;;;;;7675:23:0;;7667:71;;;;-1:-1:-1;;;7667:71:0;;7135:2:1;7667: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;;7667:71:0;6933:399:1;7667:71:0;-1:-1:-1;;;;;6414:18:0;;6397:7;6414:18;;;:9;:18;;;;;;7757:6;:27;;7749:88;;;;-1:-1:-1;;;7749:88:0;;7539:2:1;7749: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;;7749:88:0;7337:413:1;7749:88:0;-1:-1:-1;;;;;7852:19:0;;;;;;:11;:19;;;;;;;;7851:20;:47;;;;-1:-1:-1;;;;;;7876:22:0;;;;;;:11;:22;;;;;;;;7875:23;7851:47;7848:93;;;7908:13;;-1:-1:-1;;;7908:13:0;;;;7900:39;;;;-1:-1:-1;;;7900:39:0;;7957:2:1;7900:39:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:43;8068:18;;7900:39:0;7755:337:1;7900:39:0;-1:-1:-1;;;;;7955:19:0;;;;;;:11;:19;;;;;;;;7954:20;:47;;;;-1:-1:-1;;;;;;7979:22:0;;;;;;:11;:22;;;;;;;;7978:23;7954:47;:84;;;;-1:-1:-1;8026:11:0;;-1:-1:-1;;;;;8005:33:0;;;8026:11;;8005:33;;7954:84;:114;;;;-1:-1:-1;;;;;;8042:26:0;;4109:42;8042:26;;7954:114;7951:227;;;8126:15;;-1:-1:-1;;;;;8089:20:0;;;;;;:9;:20;;;;;;:32;;8114:6;8089:24;:32::i;:::-;8088:53;;8080:96;;;;-1:-1:-1;;;8080:96:0;;8299:2:1;8080:96:0;;;8281:21:1;8338:2;8318:18;;;8311:30;8377:32;8357:18;;;8350:60;8427:18;;8080:96:0;8097:354:1;8080:96:0;8201:11;;-1:-1:-1;;;;;8191:21:0;;;8201:11;;8191:21;8188:127;;8232:10;;8222:6;:20;;:43;;;-1:-1:-1;;;;;;8246:19:0;;;;;;:11;:19;;;;;;;;8222:43;:69;;;-1:-1:-1;;;;;;8269:22:0;;;;;;:11;:22;;;;;;;;8222:69;8214:99;;;;-1:-1:-1;;;8214:99:0;;8658:2:1;8214:99:0;;;8640:21:1;8697:2;8677:18;;;8670:30;-1:-1:-1;;;8716:18:1;;;8709:47;8773:18;;8214:99:0;8456:341:1;8214:99:0;8343:12;;8333:6;:22;;:45;;;-1:-1:-1;;;;;;8359:19:0;;;;;;:11;:19;;;;;;;;8333:45;:71;;;-1:-1:-1;;;;;;8382:22:0;;;;;;:11;:22;;;;;;;;8333:71;8325:101;;;;-1:-1:-1;;;8325:101:0;;8658:2:1;8325:101:0;;;8640:21:1;8697:2;8677:18;;;8670:30;-1:-1:-1;;;8716:18:1;;;8709:47;8773:18;;8325:101:0;8456:341:1;8325:101:0;8454:11;;-1:-1:-1;;;;;8441:24:0;;;8454:11;;8441:24;:48;;;;-1:-1:-1;;;;;;8470:19:0;;;;;;:11;:19;;;;;;;;8469:20;8441:48;8438:79;;;8513:1;8491:10;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;8438:79:0;8530:40;8544:6;8552:9;8563:6;8530:13;:40::i;:::-;8527:95;;;8572:23;8584:10;;8572:11;:23::i;:::-;8618:1;8597:10;:23;8527:95;-1:-1:-1;;;;;8652:17:0;;;;;;:9;:17;;;;;;:29;;8674:6;8652:21;:29::i;:::-;-1:-1:-1;;;;;8632:17:0;;;;;;:9;:17;;;;;;;;:49;;;;8718:11;:19;;;;;;;;8717:20;:69;;8780:6;8717:69;;;8740:37;8751:6;8759:9;8770:6;8740:10;:37::i;:::-;-1:-1:-1;;;;;8820:20:0;;;;;;:9;:20;;;;;;8692:94;;-1:-1:-1;8820:40:0;;8692:94;8820:24;:40::i;:::-;-1:-1:-1;;;;;8797:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8876:43;;;;;;;;;;8904:14;1361:25:1;;1349:2;1334:18;;1215:177;8876:43:0;;;;;;;;7575:1352;7497:1430;;;:::o;876:240::-;996:7;1057:12;1049:6;;;;1041:29;;;;-1:-1:-1;;;1041:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1092:5:0;;;876:240::o;558:98::-;616:7;643:5;647:1;643;:5;:::i;664:98::-;722:7;749:5;753:1;749;:5;:::i;346:98::-;404:7;431:5;435:1;431;:5;:::i;8933:404::-;9073:10;;9144;;9134:4;9030;6414:18;;;:9;:18;;;;;;9173:8;;9030:4;;9063:20;;;;-1:-1:-1;9116:38:0;;9173:8;;9172:9;:24;;;;-1:-1:-1;9185:11:0;;-1:-1:-1;;;9185:11:0;;;;9172:24;:41;;;;-1:-1:-1;9200:13:0;;-1:-1:-1;;;9200:13:0;;;;9172:41;:53;;;;;9217:8;9172:53;:77;;;;-1:-1:-1;;;;;;9230:19:0;;;;;;:11;:19;;;;;;;;9229:20;9172:77;:105;;;;-1:-1:-1;9266:11:0;;-1:-1:-1;;;;;9253:24:0;;;9266:11;;9253:24;9172:105;:139;;;;;9295:16;;9281:10;;:30;;9172:139;:157;;;;;9315:14;9172:157;9165:164;8933:404;-1:-1:-1;;;;;;8933:404:0:o;9343:1033::-;4604:8;:15;;-1:-1:-1;;4604:15:0;4615:4;4604:15;;;;;;9472:7:::1;::::0;9453:13:::1;::::0;9432:9:::1;::::0;4604:8;;9431:57:::1;::::0;9486:1:::1;::::0;9432:48:::1;::::0;9472:7;;9432:35:::1;::::0;;;:13:::1;:16::i;:::-;:20:::0;::::1;:35::i;9431:57::-;9408:80;;9499:32;9534:39;9560:12;9534:21;9545:9;;9534:6;:10;;:21;;;;:::i;:39::-;9499:74:::0;-1:-1:-1;9584:14:0::1;9601:36;:6:::0;9499:74;9601:10:::1;:36::i;:::-;9584:53:::0;-1:-1:-1;9673:21:0::1;9705:23;9584:53:::0;9705:15:::1;:23::i;:::-;9739:20;9762:41;:21;9788:14:::0;9762:25:::1;:41::i;:::-;9739:64;;9814:19;9835:45;9852:27;9869:9;;9852:12;:16;;:27;;;;:::i;:::-;9835:12:::0;;:16:::1;:45::i;:::-;9814:66;;9891:29;9923:26;9939:9;;9923:11;:15;;:26;;;;:::i;:::-;9891:58:::0;-1:-1:-1;9963:34:0;;9960:103:::1;;9999:61;10012:24;10038:21;9999:12;:61::i;:::-;10119:13;::::0;10073:20:::1;::::0;10096:37:::1;::::0;:18:::1;:11:::0;10112:1:::1;10096:15;:18::i;:37::-;10073:60:::0;-1:-1:-1;10147:16:0;;10144:74:::1;;10173:19;::::0;10165:51:::1;::::0;-1:-1:-1;;;;;10173:19:0;;::::1;::::0;10165:51;::::1;;;::::0;10203:12;;10173:19:::1;10165:51:::0;10173:19;10165:51;10203:12;10173:19;10165:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10144:74;10254:21;10289:28:::0;;10286:83:::1;;10327:13;::::0;10319:48:::1;::::0;-1:-1:-1;;;;;10327:13:0;;::::1;::::0;10319:48;::::1;;;::::0;10351:15;;10327:13:::1;10319:48:::0;10327:13;10319:48;10351:15;10327:13;10319:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10286:83;-1:-1:-1::0;;4624:8:0;:16;;-1:-1:-1;;4624:16:0;;;-1:-1:-1;;;;;;;;9343:1033:0:o;12558:644::-;-1:-1:-1;;;;;12671:22:0;;12647:7;12671:22;;;:11;:22;;;;;;;;12667:50;;;-1:-1:-1;12703:12:0;;12696:19;;12667:50;12759:1;12730:26;12738:6;12746:9;12730:7;:26::i;:::-;:30;12727:453;;;12772:17;12792:55;12820:26;12828:6;12836:9;12820:7;:26::i;:::-;12803:11;;12792:23;;:6;;:10;:23::i;:55::-;12903:4;12885:24;;;;:9;:24;;;;;;12772:75;;-1:-1:-1;12885:39:0;;12772:75;12885:28;:39::i;:::-;12876:4;12858:24;;;;:9;:24;;;;;;;:66;;;;12940:42;;-1:-1:-1;;;;;12940:42:0;;;;;;;12972:9;1361:25:1;;1349:2;1334:18;;1215:177;12940:42:0;;;;;;;;13015:1;12996:8;;:21;:62;;;;;13050:8;;13021:26;13029:6;13037:9;13021:7;:26::i;:::-;:37;12996:62;12993:147;;;13060:78;13078:4;4109:42;13100:37;13128:8;;13100:23;13111:11;;13100:6;:10;;:23;;;;:::i;:37::-;13060:9;:78::i;:::-;13157:21;:6;13168:9;13157:10;:21::i;:::-;13150:28;;;;;12727:453;-1:-1:-1;13188:6:0;12558:644;-1:-1:-1;;12558:644:0:o;10912:433::-;11001:16;;;11015:1;11001:16;;;;;;;;10977:21;;11001:16;;;;;;;;;;-1:-1:-1;11001:16:0;10977:40;;11046:4;11028;11033:1;11028:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11028:23:0;;;:7;;;;;;;;;;:23;;;;11072:6;;:13;;;-1:-1:-1;;;11072:13:0;;;;:6;;;;;:11;;:13;;;;;11028:7;;11072:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11062:4;11067:1;11062:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11062:23:0;;;:7;;;;;;;;;:23;11128:6;;11096:53;;11113:4;;11128:6;11137:11;11096:8;:53::i;:::-;11160:6;;:177;;-1:-1:-1;;;11160:177:0;;-1:-1:-1;;;;;11160:6:0;;;;:57;;:177;;11232:11;;11160:6;;11274:4;;11301;;11321:15;;11160:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10966:379;10912:433;:::o;11351:338::-;11464:6;;11432:53;;11449:4;;-1:-1:-1;;;;;11464:6:0;11473:11;11432:8;:53::i;:::-;11496:6;;11637:13;;11496:185;;-1:-1:-1;;;11496:185:0;;11559:4;11496:185;;;11173:34:1;11223:18;;;11216:34;;;11496:6:0;11266:18:1;;;11259:34;;;11309:18;;;11302:34;-1:-1:-1;;;;;11637:13:0;;;11352:19:1;;;11345:44;11665:15:0;11405:19:1;;;11398:35;11496:6:0;;;:22;;11526:9;;11107:19:1;;11496:185:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11351:338;;:::o;11695:227::-;11806:11;;11770:7;;-1:-1:-1;;;;;11806:11:0;;;11793:24;;;;11790:45;;-1:-1:-1;11826:7:0;;11819:14;;11790:45;11858:11;;-1:-1:-1;;;;;11858:11:0;;;11848:21;;;;11845:41;;-1:-1:-1;11878:6:0;;11871:13;;11845:41;-1:-1:-1;11903:11:0;;11695:227;;;;:::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;8802:125::-;8867:9;;;8888:10;;;8885:36;;;8901:18;;:::i;8932:168::-;9005:9;;;9036;;9053:15;;;9047:22;;9033:37;9023:71;;9074:18;;:::i;9105:217::-;9145:1;9171;9161:132;;9215:10;9210:3;9206:20;9203:1;9196:31;9250:4;9247:1;9240:15;9278:4;9275:1;9268:15;9161:132;-1:-1:-1;9307:9:1;;9105:217::o;9459:127::-;9520:10;9515:3;9511:20;9508:1;9501:31;9551:4;9548:1;9541:15;9575:4;9572:1;9565:15;9591:251;9661:6;9714:2;9702:9;9693:7;9689:23;9685:32;9682:52;;;9730:1;9727;9720:12;9682:52;9762:9;9756:16;9781:31;9806:5;9781:31;:::i;9847:980::-;10109:4;10157:3;10146:9;10142:19;10188:6;10177:9;10170:25;10214:2;10252:6;10247:2;10236:9;10232:18;10225:34;10295:3;10290:2;10279:9;10275:18;10268:31;10319:6;10354;10348:13;10385:6;10377;10370:22;10423:3;10412:9;10408:19;10401:26;;10462:2;10454:6;10450:15;10436:29;;10483:1;10493:195;10507:6;10504:1;10501:13;10493:195;;;10572:13;;-1:-1:-1;;;;;10568:39:1;10556:52;;10663:15;;;;10628:12;;;;10604:1;10522:9;10493:195;;;-1:-1:-1;;;;;;;10744:32:1;;;;10739:2;10724:18;;10717:60;-1:-1:-1;;;10808:3:1;10793:19;10786:35;10705:3;9847:980;-1:-1:-1;;;9847:980:1:o;11444:306::-;11532:6;11540;11548;11601:2;11589:9;11580:7;11576:23;11572:32;11569:52;;;11617:1;11614;11607:12;11569:52;11646:9;11640:16;11630:26;;11696:2;11685:9;11681:18;11675:25;11665:35;;11740:2;11729:9;11725:18;11719:25;11709:35;;11444:306;;;;;:::o

Swarm Source

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