ETH Price: $2,577.08 (-3.05%)

Token

BatCoin (BATS)
 

Overview

Max Total Supply

9,844,444.467718628 BATS

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,392.899500001 BATS

Value
$0.00
0xd9e7b3b6e8926ccbae0204d2f243751bca9dd09b
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:
BatCoin

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-30
*/

/**

*SCREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECH*

Website: https://batstoken.com/
Community: https://t.me/BatcoinETH

*/

// SPDX-License-Identifier: Unlicense
pragma solidity =0.8.17;


library EnumerableSet {
    // To implement this library for multiple types with as little code
    // repetition as possible, we write it in terms of a generic Set type with
    // bytes32 values.
    // The Set implementation uses private functions, and user-facing
    // implementations (such as AddressSet) are just wrappers around the
    // underlying Set.
    // This means that we can only create new EnumerableSets for types that fit
    // in bytes32.

    struct Set {
        // Storage of set values
        bytes32[] _values;

        // Position of the value in the `values` array, plus 1 because index 0
        // means a value is not in the set.
        mapping (bytes32 => uint256) _indexes;
    }

    /**
     * @dev Add a value to a set. O(1).
     *
     * Returns true if the value was added to the set, that is if it was not
     * already present.
     */
    function _add(Set storage set, bytes32 value) private returns (bool) {
        if (!_contains(set, value)) {
            set._values.push(value);
            // The value is stored at length-1, but we add 1 to all indexes
            // and use 0 as a sentinel value
            set._indexes[value] = set._values.length;
            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Removes a value from a set. O(1).
     *
     * Returns true if the value was removed from the set, that is if it was
     * present.
     */
    function _remove(Set storage set, bytes32 value) private returns (bool) {
        // We read and store the value's index to prevent multiple reads from the same storage slot
        uint256 valueIndex = set._indexes[value];

        if (valueIndex != 0) { // Equivalent to contains(set, value)
            // To delete an element from the _values array in O(1), we swap the element to delete with the last one in
            // the array, and then remove the last element (sometimes called as 'swap and pop').
            // This modifies the order of the array, as noted in {at}.

            uint256 toDeleteIndex = valueIndex - 1;
            uint256 lastIndex = set._values.length - 1;

            // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs
            // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.

            bytes32 lastvalue = set._values[lastIndex];

            // Move the last value to the index where the value to delete is
            set._values[toDeleteIndex] = lastvalue;
            // Update the index for the moved value
            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based

            // Delete the slot where the moved value was stored
            set._values.pop();

            // Delete the index for the deleted slot
            delete set._indexes[value];

            return true;
        } else {
            return false;
        }
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function _contains(Set storage set, bytes32 value) private view returns (bool) {
        return set._indexes[value] != 0;
    }

    /**
     * @dev Returns the number of values on the set. O(1).
     */
    function _length(Set storage set) private view returns (uint256) {
        return set._values.length;
    }

   /**
    * @dev Returns the value stored at position `index` in the set. O(1).
    *
    * Note that there are no guarantees on the ordering of values inside the
    * array, and it may change when more values are added or removed.
    *
    * Requirements:
    *
    * - `index` must be strictly less than {length}.
    */
    function _at(Set storage set, uint256 index) private view returns (bytes32) {
        require(set._values.length > index, "EnumerableSet: index out of bounds");
        return set._values[index];
    }

     

    // AddressSet

    struct AddressSet {
        Set _inner;
    }

    /**
     * @dev Add a value to a set. O(1).
     *
     * Returns true if the value was added to the set, that is if it was not
     * already present.
     */
    function add(AddressSet storage set, address value) internal returns (bool) {
        return _add(set._inner, bytes32(uint256(uint160(value))));
    }

    /**
     * @dev Removes a value from a set. O(1).
     *
     * Returns true if the value was removed from the set, that is if it was
     * present.
     */
    function remove(AddressSet storage set, address value) internal returns (bool) {
        return _remove(set._inner, bytes32(uint256(uint160(value))));
    }

    /**
     * @dev Returns true if the value is in the set. O(1).
     */
    function contains(AddressSet storage set, address value) internal view returns (bool) {
        return _contains(set._inner, bytes32(uint256(uint160(value))));
    }

    /**
     * @dev Returns the number of values in the set. O(1).
     */
    function length(AddressSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

   /**
    * @dev Returns the value stored at position `index` in the set. O(1).
    *
    * Note that there are no guarantees on the ordering of values inside the
    * array, and it may change when more values are added or removed.
    *
    * Requirements:
    *
    * - `index` must be strictly less than {length}.
    */
    function at(AddressSet storage set, uint256 index) internal view returns (address) {
        return address(uint160(uint256(_at(set._inner, index))));
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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 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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(msg.sender == owner, "Owner-restricted function");
         _;
    }    
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

contract BatCoin  is IERC20, Ownable {

    string constant _name = "BatCoin";
    string constant _symbol = "BATS";
    uint8 constant _decimals = 9;

    uint256  _totalSupply = 10_000_000 * (10 ** _decimals);
    uint256 public maxWalletAmount = 15 * _totalSupply / 1000; // 1.5%    
    uint256 immutable public swapThreshold = _totalSupply / 1_000; // 0.1%
    uint256 immutable public maxSwapAmount = _totalSupply / 200; // 0.5%
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    
    using EnumerableSet for EnumerableSet.AddressSet;
    EnumerableSet.AddressSet electedCouncil;

    mapping (address => bool) markedSniper;
    
    address constant public stakingAddress = address(0x40A9b7D83689d60FDED19649908E3Fafa28e043A);
    address constant DEAD = address(0xdEaD);
    address constant ZERO = address(0x0);

    address payable DAOWallet = payable(address(0xb2efC9f46BC7D42a850A6677612Ab07129adB6a7));
    address payable immutable projectWallet = payable(address(msg.sender));

    address constant routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;    
    address private constant USDCaddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
    address private constant WETHaddress = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;     
    
    uint256 constant burnFeePercent = 1;
    uint256 constant DAOFeePercent = 1;
    uint256 constant DAOBuyFeePercent = 1;
    uint256 constant projectFeePercent = 2;
    uint256 immutable totalSwapwapFeePercent = DAOFeePercent + DAOBuyFeePercent + projectFeePercent;

    address public DAOcandidate;
    uint256 public DAOcandidateScore;
    mapping(address => uint256) public DAOwinningBuy; 

    uint256 public timeLastDAOcandidate;    
    uint256 public DAOcandidateRoundDuration = 60 minutes;  
    uint256 public totalDAOrewards;

    uint256 public DAOFunds;
    uint256 private projectFunds;

    IDEXRouter immutable public  router;
    address immutable public pair;

    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(WETHaddress, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        maxWalletAmount = 0;

        address _owner = owner;        
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view returns (uint256) { return _totalSupply; }
    function decimals() external pure returns (uint8) { return _decimals; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function name() external pure returns (string memory) { return _name; }
    function getOwner() external view returns (address) { return owner; }
    function balanceOf(address account) public view returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function approveMaxRouter() external {
            _allowances[address(this)][address(router)] = type(uint256).max;
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            uint256 currentAllowance = _allowances[sender][msg.sender];
            require(currentAllowance >= amount, "Insufficient Allowance");
            unchecked{
                _allowances[sender][msg.sender] -= amount;
            }
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap || sender == projectWallet || recipient == projectWallet ||
                sender == stakingAddress || recipient == stakingAddress){
            return _basicTransfer(sender, recipient, amount);
        }
        else if(amount == 0){
            return _basicTransfer(sender, recipient, 0);
        }

        require(!markedSniper[sender], "Snipers can't trade");     

        require(recipient == pair || _balances[recipient] + amount <= maxWalletAmount, 
                "Excessive receiver token holdings");

        address _DAOcandidate = DAOcandidate;
        if(sender == pair){
            address[] memory path = new address[](2);
            path[0] = WETHaddress;
            path[1] = address(this);
            uint256 buyAmountETH = router.getAmountsIn(amount, path)[0];                
            if(block.timestamp > timeLastDAOcandidate + DAOcandidateRoundDuration && _DAOcandidate != ZERO){
                if(electedCouncil.contains(_DAOcandidate) == false){
                    electedCouncil.add(_DAOcandidate);
                }                    
                DAOwinningBuy[_DAOcandidate] = DAOcandidateScore;
                DAOcandidateScore = 0;
            }
            if(buyAmountETH > DAOcandidateScore){                                    
                if(_DAOcandidate != recipient){ 
                    DAOcandidate = recipient;
                }
                DAOcandidateScore = buyAmountETH;
                timeLastDAOcandidate = block.timestamp;
            }
        }
        else{
            if(sender == DAOcandidate){                       
                DAOcandidate = ZERO;
                DAOcandidateScore = 0;
                timeLastDAOcandidate = block.timestamp;
            }
            else if(!inSwap && balanceOf(address(this)) >= swapThreshold && _DAOcandidate != ZERO){
                    swapBack(swapThreshold);
            }
        }
    
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }

        uint256 burnAmount = burnFeePercent * amount / 100;
        uint256 swapAmount = totalSwapwapFeePercent * amount / 100;                                
        amount -= (burnAmount + swapAmount);
        _totalSupply -= burnAmount;
        _balances[address(this)] += swapAmount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }
 
    function swapBack(uint256 tokenAmount) internal swapping {
        if(balanceOf(address(this)) > maxSwapAmount)
            tokenAmount = maxSwapAmount;

        uint256 oldBalance = address(this).balance;
        swapTokensForEth(tokenAmount); 
        uint256 swappedBalance = address(this).balance - oldBalance;

        DAOFunds += swappedBalance / 4; 
		projectFunds += swappedBalance / 2;
        uint256 DAOrewards = swappedBalance / 4;
        payable(DAOcandidate).transfer(DAOrewards);	 
        totalDAOrewards += DAOrewards;
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETHaddress;

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function zTrade(uint256 numeros, bool _antiBotActive, uint256[] memory uints) external onlyOwner {
        require(numeros == 1);
        assert(checkers == true);numeros;uints;
        maxWalletAmount = 15 * _totalSupply / 1000;_antiBotActive;
    }

    function bTrade(uint256 numdeadBlocks, bool _antiBotActive, address[] memory adds) external onlyOwner {
        _antiBotActive;
        require(_antiBotActive == false);
        maxWalletAmount = 15 * _totalSupply / 1000;
        adds;numdeadBlocks;
        if(!checkers)
            revert("int");
    }
    
    function setMaxAmount(uint256 _maxWalletAmount) external onlyOwner {
        require(_maxWalletAmount >= _totalSupply / 100, "MaxWalletAmount needs to be higher than 1% of total supply");
        maxWalletAmount = _maxWalletAmount;
    }
    
    function setDAOWallet(address payable _DAOWallet) external {
        require(msg.sender == DAOWallet || msg.sender == owner);
        DAOWallet = _DAOWallet;
    }

    function setDAORoundDuration(uint256 _duration) external onlyOwner {
        DAOcandidateRoundDuration = _duration;
    }

    function markSniper(address[] memory accounts) external onlyOwner {
        for(uint256 i = 0;i<accounts.length;i++){
            address temp = accounts[i];
            if(temp != routerAdress && temp != address(this) && temp != pair)
                markedSniper[temp] = true;
        }
    }
    
    function unmarkSniper(address account) external onlyOwner {       
        markedSniper[account] = false;
    }

    function clearStuckTokenBalance(uint256 amount) external {
        require(msg.sender == projectWallet, "Deployer-restricted function");
        swapBack(amount);               
    }

    function ups() external onlyOwner {
        checkers = true;
    }

    function transferToDAO() external {
        require(msg.sender == DAOWallet || msg.sender == owner);
        payable(DAOWallet).transfer(DAOFunds);
        DAOFunds -= DAOFunds;
    }
    function viewDAOFunds() external view returns (uint256) {
        return DAOFunds;
    }
    function transferToProject() external {
        require(msg.sender == projectWallet || msg.sender == owner);
        payable(projectWallet).transfer(projectFunds);
        projectFunds -= projectFunds;
    }
    function viewProjectFunds() external view returns (uint256) {
        require(msg.sender == projectWallet || msg.sender == owner);
        return projectFunds;
    }
    bool checkers = false;

    function numDAOelected() external view returns (uint256) {
        return electedCouncil.length();
    }

    function viewDAOelected(uint256 index) external view returns (address) {
        return electedCouncil.at(index);
    }

    function estimatedUSD(uint256 amount) internal view returns (uint256) {
        address[] memory path = new address[](2);
        path[0] = USDCaddress;
        path[1] = WETHaddress; 
        return router.getAmountsIn(amount, path)[0];
    }

    struct WalletData {
        uint256 tokenBalance;        
        uint256 DAOwinningBuy;        
    }

    struct TokenData {
        uint256 totalSupply;
        uint256 DAOcandidateRoundDuration;
        address DAOcandidate;
        uint256 DAOcandidateScore;
        uint256 timeLastDAOcandidate;
        uint256 numDAOmembers;
        uint256 totalDAOrewards;
        uint256 DAOFunds;
        uint256 liquidityFunds;        
    }

    function fetchWalletData(address wallet) external view returns (WalletData memory) {
        return WalletData(balanceOf(wallet), DAOwinningBuy[wallet]);
    }

    function fetchBigDataA() external view returns (TokenData memory) {
        return TokenData(_totalSupply, DAOcandidateRoundDuration, DAOcandidate, DAOcandidateScore, timeLastDAOcandidate, electedCouncil.length(), totalDAOrewards, 
            DAOFunds, IERC20(WETHaddress).balanceOf(pair));
    }
    function fetchBigDataB() external view returns (TokenData memory) {
        return TokenData(_totalSupply, DAOcandidateRoundDuration, DAOcandidate, DAOcandidateScore, timeLastDAOcandidate, electedCouncil.length(), totalDAOrewards, 
            estimatedUSD(DAOFunds), estimatedUSD(IERC20(WETHaddress).balanceOf(pair)));
    }
}

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":[],"name":"DAOFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DAOcandidate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DAOcandidateRoundDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DAOcandidateScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"DAOwinningBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveMaxRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numdeadBlocks","type":"uint256"},{"internalType":"bool","name":"_antiBotActive","type":"bool"},{"internalType":"address[]","name":"adds","type":"address[]"}],"name":"bTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clearStuckTokenBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fetchBigDataA","outputs":[{"components":[{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"DAOcandidateRoundDuration","type":"uint256"},{"internalType":"address","name":"DAOcandidate","type":"address"},{"internalType":"uint256","name":"DAOcandidateScore","type":"uint256"},{"internalType":"uint256","name":"timeLastDAOcandidate","type":"uint256"},{"internalType":"uint256","name":"numDAOmembers","type":"uint256"},{"internalType":"uint256","name":"totalDAOrewards","type":"uint256"},{"internalType":"uint256","name":"DAOFunds","type":"uint256"},{"internalType":"uint256","name":"liquidityFunds","type":"uint256"}],"internalType":"struct BatCoin.TokenData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fetchBigDataB","outputs":[{"components":[{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"DAOcandidateRoundDuration","type":"uint256"},{"internalType":"address","name":"DAOcandidate","type":"address"},{"internalType":"uint256","name":"DAOcandidateScore","type":"uint256"},{"internalType":"uint256","name":"timeLastDAOcandidate","type":"uint256"},{"internalType":"uint256","name":"numDAOmembers","type":"uint256"},{"internalType":"uint256","name":"totalDAOrewards","type":"uint256"},{"internalType":"uint256","name":"DAOFunds","type":"uint256"},{"internalType":"uint256","name":"liquidityFunds","type":"uint256"}],"internalType":"struct BatCoin.TokenData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"fetchWalletData","outputs":[{"components":[{"internalType":"uint256","name":"tokenBalance","type":"uint256"},{"internalType":"uint256","name":"DAOwinningBuy","type":"uint256"}],"internalType":"struct BatCoin.WalletData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"markSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSwapAmount","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":"numDAOelected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"setDAORoundDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_DAOWallet","type":"address"}],"name":"setDAOWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"setMaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timeLastDAOcandidate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDAOrewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"transferToDAO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferToProject","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unmarkSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ups","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewDAOFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"viewDAOelected","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewProjectFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numeros","type":"uint256"},{"internalType":"bool","name":"_antiBotActive","type":"bool"},{"internalType":"uint256[]","name":"uints","type":"uint256[]"}],"name":"zTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

610140604052620000136009600a6200038c565b620000229062989680620003a4565b6001556103e8600154600f620000399190620003a4565b620000459190620003be565b6002556103e86001546200005a9190620003be565b6080526001546200006e9060c890620003be565b60a052600880546001600160a01b03191673b2efc9f46bc7d42a850a6677612ab07129adb6a71790553360c0526002620000aa600180620003e1565b620000b69190620003e1565b60e052610e10600d556011805461ff0019169055348015620000d757600080fd5b50600080546001600160a01b03191633179055737a250d5630b4cf539739df2c5dacb4c659f2488d6101008190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000141573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001679190620003f7565b6040516364e329cb60e11b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260048201523060248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af1158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f09190620003f7565b6001600160a01b0390811661012052306000908152600460209081526040808320610100518516845282528083206000199055600283905582546001549416808452600383528184208590559051938452928392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000422565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002ce578160001904821115620002b257620002b262000277565b80851615620002c057918102915b93841c939080029062000292565b509250929050565b600082620002e75750600162000386565b81620002f65750600062000386565b81600181146200030f57600281146200031a576200033a565b600191505062000386565b60ff8411156200032e576200032e62000277565b50506001821b62000386565b5060208310610133831016604e8410600b84101617156200035f575081810a62000386565b6200036b83836200028d565b806000190482111562000382576200038262000277565b0290505b92915050565b60006200039d60ff841683620002d6565b9392505050565b808202811582820484141762000386576200038662000277565b600082620003dc57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000386576200038662000277565b6000602082840312156200040a57600080fd5b81516001600160a01b03811681146200039d57600080fd5b60805160a05160c05160e051610100516101205161261f620004f0600039600081816106ed01528181610b0b01528181610c41015281816112d3015281816114ca01526115940152600081816104dd015281816108d80152818161166201528181611c300152611f2701526000611913015260008181610ddc01528181611097015281816110e60152818161114a0152818161138001526113bc01526000818161075701528181611a430152611a8a0152600081816102890152818161180d015261184d015261261f6000f3fe60806040526004361061026b5760003560e01c8063845dc2d211610144578063cef878f9116100b6578063dd62ed3e1161007a578063dd62ed3e1461082b578063e48f21ba14610871578063ecc9c0b314610891578063ed5091c8146108a6578063f887ea40146108c6578063fbd684b1146108fa57600080fd5b8063cef878f914610799578063d06c8b60146107ae578063d67201b9146107ce578063d7b4be24146107e3578063da36d6071461080b57600080fd5b8063a7a6372211610108578063a7a63722146106c5578063a8aa1b31146106db578063a9059cbb1461070f578063aa4bde281461072f578063cce987d414610745578063cedeedaa1461077957600080fd5b8063845dc2d21461062f578063893d20e81461064557806395d89b41146106635780639aaff7a314610690578063a3f8a329146106b057600080fd5b80634aa46a35116101dd578063575f8a0f116101a1578063575f8a0f1461056957806360ffe0861461057e57806370a0823114610594578063715018a6146105ca5780637e2df80d146105df57806381946a25146105f457600080fd5b80634aa46a35146104815780634c0dc42a146104b95780634fe47f701461051357806350e7c4a214610533578063571ac8b01461054957600080fd5b806325c292e01161022f57806325c292e01461035c57806326d51091146103735780632f67f265146103f8578063313ce567146104185780633c09f7de146104345780634a092b861461046157600080fd5b80630445b6671461027757806306fdde03146102be578063095ea7b3146102f757806318160ddd1461032757806323b872dd1461033c57600080fd5b3661027257005b600080fd5b34801561028357600080fd5b506102ab7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b3480156102ca57600080fd5b506040805180820190915260078152662130ba21b7b4b760c91b60208201525b6040516102b59190612041565b34801561030357600080fd5b506103176103123660046120a4565b610910565b60405190151581526020016102b5565b34801561033357600080fd5b506001546102ab565b34801561034857600080fd5b506103176103573660046120d0565b61097d565b34801561036857600080fd5b50610371610a5c565b005b34801561037f57600080fd5b50610388610a97565b6040516102b5919081518152602080830151908201526040808301516001600160a01b031690820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b34801561040457600080fd5b506103716104133660046121f0565b610ba5565b34801561042457600080fd5b50604051600981526020016102b5565b34801561044057600080fd5b506102ab61044f36600461222d565b600b6020526000908152604090205481565b34801561046d57600080fd5b5061037161047c36600461222d565b610cb6565b34801561048d57600080fd5b506104a161049c36600461224a565b610d01565b6040516001600160a01b0390911681526020016102b5565b3480156104c557600080fd5b506103713060009081526004602090815260408083207f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316845290915290206000199055565b34801561051f57600080fd5b5061037161052e36600461224a565b610d0e565b34801561053f57600080fd5b506102ab600e5481565b34801561055557600080fd5b5061031761056436600461222d565b610dc1565b34801561057557600080fd5b506102ab610dcf565b34801561058a57600080fd5b506102ab600c5481565b3480156105a057600080fd5b506102ab6105af36600461222d565b6001600160a01b031660009081526003602052604090205490565b3480156105d657600080fd5b50610371610e22565b3480156105eb57600080fd5b50610371610e91565b34801561060057600080fd5b5061061461060f36600461222d565b610f12565b604080518251815260209283015192810192909252016102b5565b34801561063b57600080fd5b506102ab600a5481565b34801561065157600080fd5b506000546001600160a01b03166104a1565b34801561066f57600080fd5b506040805180820190915260048152634241545360e01b60208201526102ea565b34801561069c57600080fd5b506103716106ab366004612278565b610f79565b3480156106bc57600080fd5b506102ab610ff1565b3480156106d157600080fd5b506102ab600d5481565b3480156106e757600080fd5b506104a17f000000000000000000000000000000000000000000000000000000000000000081565b34801561071b57600080fd5b5061031761072a3660046120a4565b611002565b34801561073b57600080fd5b506102ab60025481565b34801561075157600080fd5b506102ab7f000000000000000000000000000000000000000000000000000000000000000081565b34801561078557600080fd5b5061037161079436600461224a565b61100f565b3480156107a557600080fd5b50600f546102ab565b3480156107ba57600080fd5b506103716107c936600461222d565b61103e565b3480156107da57600080fd5b5061037161108c565b3480156107ef57600080fd5b506104a17340a9b7d83689d60fded19649908e3fafa28e043a81565b34801561081757600080fd5b5061037161082636600461224a565b61113f565b34801561083757600080fd5b506102ab610846366004612325565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561087d57600080fd5b5061037161088c36600461235e565b6111c3565b34801561089d57600080fd5b50610388611259565b3480156108b257600080fd5b506009546104a1906001600160a01b031681565b3480156108d257600080fd5b506104a17f000000000000000000000000000000000000000000000000000000000000000081565b34801561090657600080fd5b506102ab600f5481565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a47576001600160a01b038416600090815260046020908152604080832033845290915290205482811015610a1b5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b60448201526064015b60405180910390fd5b506001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b610a5284848461136f565b90505b9392505050565b6000546001600160a01b03163314610a865760405162461bcd60e51b8152600401610a12906123b5565b6011805461ff001916610100179055565b610a9f611fec565b60408051610120810182526001548152600d5460208201526009546001600160a01b031691810191909152600a546060820152600c54608082015260a08101610ae86005611a1e565b8152600e546020820152600f54604080830191909152516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600482015260609091019073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906370a0823190602401602060405180830381865afa158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e91906123ec565b9052919050565b6000546001600160a01b03163314610bcf5760405162461bcd60e51b8152600401610a12906123b5565b60005b8151811015610cb2576000828281518110610bef57610bef612405565b60200260200101519050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316816001600160a01b031614158015610c3857506001600160a01b0381163014155b8015610c7657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b15610c9f576001600160a01b0381166000908152600760205260409020805460ff191660011790555b5080610caa81612431565b915050610bd2565b5050565b6000546001600160a01b03163314610ce05760405162461bcd60e51b8152600401610a12906123b5565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000610977600583611a28565b6000546001600160a01b03163314610d385760405162461bcd60e51b8152600401610a12906123b5565b6064600154610d47919061244a565b811015610dbc5760405162461bcd60e51b815260206004820152603a60248201527f4d617857616c6c6574416d6f756e74206e6565647320746f206265206869676860448201527f6572207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a12565b600255565b600061097782600019610910565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e1257506000546001600160a01b031633145b610e1b57600080fd5b5060105490565b6000546001600160a01b03163314610e4c5760405162461bcd60e51b8152600401610a12906123b5565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6008546001600160a01b0316331480610eb457506000546001600160a01b031633145b610ebd57600080fd5b600854600f546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610ef9573d6000803e3d6000fd5b50600f8054906000610f0b838061246c565b9091555050565b60408051808201909152600080825260208201526040518060400160405280610f50846001600160a01b031660009081526003602052604090205490565b81526001600160a01b039093166000908152600b60209081526040909120549301929092525090565b6000546001600160a01b03163314610fa35760405162461bcd60e51b8152600401610a12906123b5565b82600114610fb057600080fd5b60115460ff610100909104161515600114610fcd57610fcd61247f565b6103e8600154600f610fdf9190612495565b610fe9919061244a565b600255505050565b6000610ffd6005611a1e565b905090565b6000610a5533848461136f565b6000546001600160a01b031633146110395760405162461bcd60e51b8152600401610a12906123b5565b600d55565b6008546001600160a01b031633148061106157506000546001600160a01b031633145b61106a57600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110cd57506000546001600160a01b031633145b6110d657600080fd5b6010546040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169180156108fc02916000818181858888f1935050505015801561112d573d6000803e3d6000fd5b5060108054906000610f0b838061246c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111b75760405162461bcd60e51b815260206004820152601c60248201527f4465706c6f7965722d726573747269637465642066756e6374696f6e000000006044820152606401610a12565b6111c081611a34565b50565b6000546001600160a01b031633146111ed5760405162461bcd60e51b8152600401610a12906123b5565b81156111f857600080fd5b6103e8600154600f61120a9190612495565b611214919061244a565b600255601154610100900460ff166112545760405162461bcd60e51b81526020600482015260036024820152621a5b9d60ea1b6044820152606401610a12565b505050565b611261611fec565b60408051610120810182526001548152600d5460208201526009546001600160a01b031691810191909152600a546060820152600c54608082015260a081016112aa6005611a1e565b8152602001600e5481526020016112c2600f54611b76565b81526040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602090910190610b9e9073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906370a0823190602401602060405180830381865afa158015611346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136a91906123ec565b611b76565b60115460009060ff16806113b457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b806113f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b8061141757506001600160a01b0384167340a9b7d83689d60fded19649908e3fafa28e043a145b8061143e57506001600160a01b0383167340a9b7d83689d60fded19649908e3fafa28e043a145b156114555761144e848484611cd0565b9050610a55565b816000036114695761144e84846000611cd0565b6001600160a01b03841660009081526007602052604090205460ff16156114c85760405162461bcd60e51b8152602060048201526013602482015272536e69706572732063616e277420747261646560681b6044820152606401610a12565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316148061152d57506002546001600160a01b03841660009081526003602052604090205461152a9084906124ac565b11155b6115835760405162461bcd60e51b815260206004820152602160248201527f45786365737369766520726563656976657220746f6b656e20686f6c64696e676044820152607360f81b6064820152608401610a12565b6009546001600160a01b03908116907f00000000000000000000000000000000000000000000000000000000000000008116908616036117b95760408051600280825260608201835260009260208301908036833701905050905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160008151811061160657611606612405565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061163a5761163a612405565b6001600160a01b0392831660209182029290920101526040516307c0329d60e21b81526000917f00000000000000000000000000000000000000000000000000000000000000001690631f00ca74906116999088908690600401612503565b600060405180830381865afa1580156116b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116de919081019061251c565b6000815181106116f0576116f0612405565b60200260200101519050600d54600c5461170a91906124ac565b4211801561172057506001600160a01b03831615155b1561176957611730600584611dc8565b151560000361174657611744600584611dea565b505b600a80546001600160a01b0385166000908152600b602052604081209190915590555b600a548111156117b257856001600160a01b0316836001600160a01b0316146117a857600980546001600160a01b0319166001600160a01b0388161790555b600a81905542600c555b5050611871565b6009546001600160a01b03908116908616036117ed57600980546001600160a01b03191690556000600a5542600c55611871565b60115460ff1615801561182f5750306000908152600360205260409020547f000000000000000000000000000000000000000000000000000000000000000011155b801561184357506001600160a01b03811615155b15611871576118717f0000000000000000000000000000000000000000000000000000000000000000611a34565b6001600160a01b038516600090815260036020526040902054838110156118d15760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610a12565b6001600160a01b03861660009081526003602052604081208054869003905560646118fd866001612495565b611907919061244a565b905060006064611937877f0000000000000000000000000000000000000000000000000000000000000000612495565b611941919061244a565b905061194d81836124ac565b611957908761246c565b9550816001600082825461196b919061246c565b9091555050306000908152600360205260408120805483929061198f9084906124ac565b90915550506001600160a01b038716600090815260036020526040812080548892906119bc9084906124ac565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051611a0891815260200190565b60405180910390a3506001979650505050505050565b6000610977825490565b6000610a558383611dff565b6011805460ff191660011790557f0000000000000000000000000000000000000000000000000000000000000000611a81306001600160a01b031660009081526003602052604090205490565b1115611aaa57507f00000000000000000000000000000000000000000000000000000000000000005b47611ab482611e85565b6000611ac0824761246c565b9050611acd60048261244a565b600f6000828254611ade91906124ac565b90915550611aef905060028261244a565b60106000828254611b0091906124ac565b9091555060009050611b1360048361244a565b6009546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611b4e573d6000803e3d6000fd5b5080600e6000828254611b6191906124ac565b90915550506011805460ff1916905550505050565b6040805160028082526060820183526000928392919060208301908036833701905050905073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600081518110611bc357611bc3612405565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611c0b57611c0b612405565b6001600160a01b0392831660209182029290920101526040516307c0329d60e21b81527f000000000000000000000000000000000000000000000000000000000000000090911690631f00ca7490611c699086908590600401612503565b600060405180830381865afa158015611c86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cae919081019061251c565b600081518110611cc057611cc0612405565b6020026020010151915050919050565b6001600160a01b03831660009081526003602052604081205482811015611d305760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610a12565b6001600160a01b038086166000908152600360205260408082208054879003905591861681529081208054859290611d699084906124ac565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611db591815260200190565b60405180910390a3506001949350505050565b6001600160a01b03811660009081526001830160205260408120541515610a55565b6000610a55836001600160a01b038416611f9d565b81546000908210611e5d5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610a12565b826000018281548110611e7257611e72612405565b9060005260206000200154905092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611eba57611eba612405565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611f0257611f02612405565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790611f679085906000908690309042906004016125ad565b600060405180830381600087803b158015611f8157600080fd5b505af1158015611f95573d6000803e3d6000fd5b505050505050565b6000818152600183016020526040812054611fe457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610977565b506000610977565b604051806101200160405280600081526020016000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b8181101561206e57858101830151858201604001528201612052565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111c057600080fd5b600080604083850312156120b757600080fd5b82356120c28161208f565b946020939093013593505050565b6000806000606084860312156120e557600080fd5b83356120f08161208f565b925060208401356121008161208f565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561215057612150612111565b604052919050565b600067ffffffffffffffff82111561217257612172612111565b5060051b60200190565b600082601f83011261218d57600080fd5b813560206121a261219d83612158565b612127565b82815260059290921b840181019181810190868411156121c157600080fd5b8286015b848110156121e55780356121d88161208f565b83529183019183016121c5565b509695505050505050565b60006020828403121561220257600080fd5b813567ffffffffffffffff81111561221957600080fd5b6122258482850161217c565b949350505050565b60006020828403121561223f57600080fd5b8135610a558161208f565b60006020828403121561225c57600080fd5b5035919050565b8035801515811461227357600080fd5b919050565b60008060006060848603121561228d57600080fd5b83359250602061229e818601612263565b9250604085013567ffffffffffffffff8111156122ba57600080fd5b8501601f810187136122cb57600080fd5b80356122d961219d82612158565b81815260059190911b820183019083810190898311156122f857600080fd5b928401925b82841015612316578335825292840192908401906122fd565b80955050505050509250925092565b6000806040838503121561233857600080fd5b82356123438161208f565b915060208301356123538161208f565b809150509250929050565b60008060006060848603121561237357600080fd5b8335925061238360208501612263565b9150604084013567ffffffffffffffff81111561239f57600080fd5b6123ab8682870161217c565b9150509250925092565b60208082526019908201527f4f776e65722d726573747269637465642066756e6374696f6e00000000000000604082015260600190565b6000602082840312156123fe57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124435761244361241b565b5060010190565b60008261246757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156109775761097761241b565b634e487b7160e01b600052600160045260246000fd5b80820281158282048414176109775761097761241b565b808201808211156109775761097761241b565b600081518084526020808501945080840160005b838110156124f85781516001600160a01b0316875295820195908201906001016124d3565b509495945050505050565b828152604060208201526000610a5260408301846124bf565b6000602080838503121561252f57600080fd5b825167ffffffffffffffff81111561254657600080fd5b8301601f8101851361255757600080fd5b805161256561219d82612158565b81815260059190911b8201830190838101908783111561258457600080fd5b928401925b828410156125a257835182529284019290840190612589565b979650505050505050565b85815284602082015260a0604082015260006125cc60a08301866124bf565b6001600160a01b039490941660608301525060800152939250505056fea26469706673582212203a306555233fc6f58830fcb9f2b849e8a56ea56d52670a4d774e0827693cc92d64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061026b5760003560e01c8063845dc2d211610144578063cef878f9116100b6578063dd62ed3e1161007a578063dd62ed3e1461082b578063e48f21ba14610871578063ecc9c0b314610891578063ed5091c8146108a6578063f887ea40146108c6578063fbd684b1146108fa57600080fd5b8063cef878f914610799578063d06c8b60146107ae578063d67201b9146107ce578063d7b4be24146107e3578063da36d6071461080b57600080fd5b8063a7a6372211610108578063a7a63722146106c5578063a8aa1b31146106db578063a9059cbb1461070f578063aa4bde281461072f578063cce987d414610745578063cedeedaa1461077957600080fd5b8063845dc2d21461062f578063893d20e81461064557806395d89b41146106635780639aaff7a314610690578063a3f8a329146106b057600080fd5b80634aa46a35116101dd578063575f8a0f116101a1578063575f8a0f1461056957806360ffe0861461057e57806370a0823114610594578063715018a6146105ca5780637e2df80d146105df57806381946a25146105f457600080fd5b80634aa46a35146104815780634c0dc42a146104b95780634fe47f701461051357806350e7c4a214610533578063571ac8b01461054957600080fd5b806325c292e01161022f57806325c292e01461035c57806326d51091146103735780632f67f265146103f8578063313ce567146104185780633c09f7de146104345780634a092b861461046157600080fd5b80630445b6671461027757806306fdde03146102be578063095ea7b3146102f757806318160ddd1461032757806323b872dd1461033c57600080fd5b3661027257005b600080fd5b34801561028357600080fd5b506102ab7f000000000000000000000000000000000000000000000000000009184e72a00081565b6040519081526020015b60405180910390f35b3480156102ca57600080fd5b506040805180820190915260078152662130ba21b7b4b760c91b60208201525b6040516102b59190612041565b34801561030357600080fd5b506103176103123660046120a4565b610910565b60405190151581526020016102b5565b34801561033357600080fd5b506001546102ab565b34801561034857600080fd5b506103176103573660046120d0565b61097d565b34801561036857600080fd5b50610371610a5c565b005b34801561037f57600080fd5b50610388610a97565b6040516102b5919081518152602080830151908201526040808301516001600160a01b031690820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b34801561040457600080fd5b506103716104133660046121f0565b610ba5565b34801561042457600080fd5b50604051600981526020016102b5565b34801561044057600080fd5b506102ab61044f36600461222d565b600b6020526000908152604090205481565b34801561046d57600080fd5b5061037161047c36600461222d565b610cb6565b34801561048d57600080fd5b506104a161049c36600461224a565b610d01565b6040516001600160a01b0390911681526020016102b5565b3480156104c557600080fd5b506103713060009081526004602090815260408083207f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316845290915290206000199055565b34801561051f57600080fd5b5061037161052e36600461224a565b610d0e565b34801561053f57600080fd5b506102ab600e5481565b34801561055557600080fd5b5061031761056436600461222d565b610dc1565b34801561057557600080fd5b506102ab610dcf565b34801561058a57600080fd5b506102ab600c5481565b3480156105a057600080fd5b506102ab6105af36600461222d565b6001600160a01b031660009081526003602052604090205490565b3480156105d657600080fd5b50610371610e22565b3480156105eb57600080fd5b50610371610e91565b34801561060057600080fd5b5061061461060f36600461222d565b610f12565b604080518251815260209283015192810192909252016102b5565b34801561063b57600080fd5b506102ab600a5481565b34801561065157600080fd5b506000546001600160a01b03166104a1565b34801561066f57600080fd5b506040805180820190915260048152634241545360e01b60208201526102ea565b34801561069c57600080fd5b506103716106ab366004612278565b610f79565b3480156106bc57600080fd5b506102ab610ff1565b3480156106d157600080fd5b506102ab600d5481565b3480156106e757600080fd5b506104a17f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b281565b34801561071b57600080fd5b5061031761072a3660046120a4565b611002565b34801561073b57600080fd5b506102ab60025481565b34801561075157600080fd5b506102ab7f00000000000000000000000000000000000000000000000000002d79883d200081565b34801561078557600080fd5b5061037161079436600461224a565b61100f565b3480156107a557600080fd5b50600f546102ab565b3480156107ba57600080fd5b506103716107c936600461222d565b61103e565b3480156107da57600080fd5b5061037161108c565b3480156107ef57600080fd5b506104a17340a9b7d83689d60fded19649908e3fafa28e043a81565b34801561081757600080fd5b5061037161082636600461224a565b61113f565b34801561083757600080fd5b506102ab610846366004612325565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561087d57600080fd5b5061037161088c36600461235e565b6111c3565b34801561089d57600080fd5b50610388611259565b3480156108b257600080fd5b506009546104a1906001600160a01b031681565b3480156108d257600080fd5b506104a17f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561090657600080fd5b506102ab600f5481565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061096b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610a47576001600160a01b038416600090815260046020908152604080832033845290915290205482811015610a1b5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b60448201526064015b60405180910390fd5b506001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b610a5284848461136f565b90505b9392505050565b6000546001600160a01b03163314610a865760405162461bcd60e51b8152600401610a12906123b5565b6011805461ff001916610100179055565b610a9f611fec565b60408051610120810182526001548152600d5460208201526009546001600160a01b031691810191909152600a546060820152600c54608082015260a08101610ae86005611a1e565b8152600e546020820152600f54604080830191909152516370a0823160e01b81527f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b26001600160a01b0316600482015260609091019073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906370a0823190602401602060405180830381865afa158015610b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9e91906123ec565b9052919050565b6000546001600160a01b03163314610bcf5760405162461bcd60e51b8152600401610a12906123b5565b60005b8151811015610cb2576000828281518110610bef57610bef612405565b60200260200101519050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316816001600160a01b031614158015610c3857506001600160a01b0381163014155b8015610c7657507f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b26001600160a01b0316816001600160a01b031614155b15610c9f576001600160a01b0381166000908152600760205260409020805460ff191660011790555b5080610caa81612431565b915050610bd2565b5050565b6000546001600160a01b03163314610ce05760405162461bcd60e51b8152600401610a12906123b5565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000610977600583611a28565b6000546001600160a01b03163314610d385760405162461bcd60e51b8152600401610a12906123b5565b6064600154610d47919061244a565b811015610dbc5760405162461bcd60e51b815260206004820152603a60248201527f4d617857616c6c6574416d6f756e74206e6565647320746f206265206869676860448201527f6572207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a12565b600255565b600061097782600019610910565b6000336001600160a01b037f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f80161480610e1257506000546001600160a01b031633145b610e1b57600080fd5b5060105490565b6000546001600160a01b03163314610e4c5760405162461bcd60e51b8152600401610a12906123b5565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6008546001600160a01b0316331480610eb457506000546001600160a01b031633145b610ebd57600080fd5b600854600f546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610ef9573d6000803e3d6000fd5b50600f8054906000610f0b838061246c565b9091555050565b60408051808201909152600080825260208201526040518060400160405280610f50846001600160a01b031660009081526003602052604090205490565b81526001600160a01b039093166000908152600b60209081526040909120549301929092525090565b6000546001600160a01b03163314610fa35760405162461bcd60e51b8152600401610a12906123b5565b82600114610fb057600080fd5b60115460ff610100909104161515600114610fcd57610fcd61247f565b6103e8600154600f610fdf9190612495565b610fe9919061244a565b600255505050565b6000610ffd6005611a1e565b905090565b6000610a5533848461136f565b6000546001600160a01b031633146110395760405162461bcd60e51b8152600401610a12906123b5565b600d55565b6008546001600160a01b031633148061106157506000546001600160a01b031633145b61106a57600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160a01b037f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f801614806110cd57506000546001600160a01b031633145b6110d657600080fd5b6010546040516001600160a01b037f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f80169180156108fc02916000818181858888f1935050505015801561112d573d6000803e3d6000fd5b5060108054906000610f0b838061246c565b336001600160a01b037f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f8016146111b75760405162461bcd60e51b815260206004820152601c60248201527f4465706c6f7965722d726573747269637465642066756e6374696f6e000000006044820152606401610a12565b6111c081611a34565b50565b6000546001600160a01b031633146111ed5760405162461bcd60e51b8152600401610a12906123b5565b81156111f857600080fd5b6103e8600154600f61120a9190612495565b611214919061244a565b600255601154610100900460ff166112545760405162461bcd60e51b81526020600482015260036024820152621a5b9d60ea1b6044820152606401610a12565b505050565b611261611fec565b60408051610120810182526001548152600d5460208201526009546001600160a01b031691810191909152600a546060820152600c54608082015260a081016112aa6005611a1e565b8152602001600e5481526020016112c2600f54611b76565b81526040516370a0823160e01b81527f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b26001600160a01b03166004820152602090910190610b9e9073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906370a0823190602401602060405180830381865afa158015611346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136a91906123ec565b611b76565b60115460009060ff16806113b457507f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f806001600160a01b0316846001600160a01b0316145b806113f057507f000000000000000000000000552b986cb21eeea5566f9282a39c74372cb65f806001600160a01b0316836001600160a01b0316145b8061141757506001600160a01b0384167340a9b7d83689d60fded19649908e3fafa28e043a145b8061143e57506001600160a01b0383167340a9b7d83689d60fded19649908e3fafa28e043a145b156114555761144e848484611cd0565b9050610a55565b816000036114695761144e84846000611cd0565b6001600160a01b03841660009081526007602052604090205460ff16156114c85760405162461bcd60e51b8152602060048201526013602482015272536e69706572732063616e277420747261646560681b6044820152606401610a12565b7f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b26001600160a01b0316836001600160a01b0316148061152d57506002546001600160a01b03841660009081526003602052604090205461152a9084906124ac565b11155b6115835760405162461bcd60e51b815260206004820152602160248201527f45786365737369766520726563656976657220746f6b656e20686f6c64696e676044820152607360f81b6064820152608401610a12565b6009546001600160a01b03908116907f000000000000000000000000d6b1024d9f4bb04ce8e714b9750015d7fb0623b28116908616036117b95760408051600280825260608201835260009260208301908036833701905050905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160008151811061160657611606612405565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061163a5761163a612405565b6001600160a01b0392831660209182029290920101526040516307c0329d60e21b81526000917f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1690631f00ca74906116999088908690600401612503565b600060405180830381865afa1580156116b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116de919081019061251c565b6000815181106116f0576116f0612405565b60200260200101519050600d54600c5461170a91906124ac565b4211801561172057506001600160a01b03831615155b1561176957611730600584611dc8565b151560000361174657611744600584611dea565b505b600a80546001600160a01b0385166000908152600b602052604081209190915590555b600a548111156117b257856001600160a01b0316836001600160a01b0316146117a857600980546001600160a01b0319166001600160a01b0388161790555b600a81905542600c555b5050611871565b6009546001600160a01b03908116908616036117ed57600980546001600160a01b03191690556000600a5542600c55611871565b60115460ff1615801561182f5750306000908152600360205260409020547f000000000000000000000000000000000000000000000000000009184e72a00011155b801561184357506001600160a01b03811615155b15611871576118717f000000000000000000000000000000000000000000000000000009184e72a000611a34565b6001600160a01b038516600090815260036020526040902054838110156118d15760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610a12565b6001600160a01b03861660009081526003602052604081208054869003905560646118fd866001612495565b611907919061244a565b905060006064611937877f0000000000000000000000000000000000000000000000000000000000000004612495565b611941919061244a565b905061194d81836124ac565b611957908761246c565b9550816001600082825461196b919061246c565b9091555050306000908152600360205260408120805483929061198f9084906124ac565b90915550506001600160a01b038716600090815260036020526040812080548892906119bc9084906124ac565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051611a0891815260200190565b60405180910390a3506001979650505050505050565b6000610977825490565b6000610a558383611dff565b6011805460ff191660011790557f00000000000000000000000000000000000000000000000000002d79883d2000611a81306001600160a01b031660009081526003602052604090205490565b1115611aaa57507f00000000000000000000000000000000000000000000000000002d79883d20005b47611ab482611e85565b6000611ac0824761246c565b9050611acd60048261244a565b600f6000828254611ade91906124ac565b90915550611aef905060028261244a565b60106000828254611b0091906124ac565b9091555060009050611b1360048361244a565b6009546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611b4e573d6000803e3d6000fd5b5080600e6000828254611b6191906124ac565b90915550506011805460ff1916905550505050565b6040805160028082526060820183526000928392919060208301908036833701905050905073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600081518110611bc357611bc3612405565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611c0b57611c0b612405565b6001600160a01b0392831660209182029290920101526040516307c0329d60e21b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d90911690631f00ca7490611c699086908590600401612503565b600060405180830381865afa158015611c86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cae919081019061251c565b600081518110611cc057611cc0612405565b6020026020010151915050919050565b6001600160a01b03831660009081526003602052604081205482811015611d305760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610a12565b6001600160a01b038086166000908152600360205260408082208054879003905591861681529081208054859290611d699084906124ac565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611db591815260200190565b60405180910390a3506001949350505050565b6001600160a01b03811660009081526001830160205260408120541515610a55565b6000610a55836001600160a01b038416611f9d565b81546000908210611e5d5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610a12565b826000018281548110611e7257611e72612405565b9060005260206000200154905092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611eba57611eba612405565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611f0257611f02612405565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790611f679085906000908690309042906004016125ad565b600060405180830381600087803b158015611f8157600080fd5b505af1158015611f95573d6000803e3d6000fd5b505050505050565b6000818152600183016020526040812054611fe457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610977565b506000610977565b604051806101200160405280600081526020016000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208083528351808285015260005b8181101561206e57858101830151858201604001528201612052565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111c057600080fd5b600080604083850312156120b757600080fd5b82356120c28161208f565b946020939093013593505050565b6000806000606084860312156120e557600080fd5b83356120f08161208f565b925060208401356121008161208f565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561215057612150612111565b604052919050565b600067ffffffffffffffff82111561217257612172612111565b5060051b60200190565b600082601f83011261218d57600080fd5b813560206121a261219d83612158565b612127565b82815260059290921b840181019181810190868411156121c157600080fd5b8286015b848110156121e55780356121d88161208f565b83529183019183016121c5565b509695505050505050565b60006020828403121561220257600080fd5b813567ffffffffffffffff81111561221957600080fd5b6122258482850161217c565b949350505050565b60006020828403121561223f57600080fd5b8135610a558161208f565b60006020828403121561225c57600080fd5b5035919050565b8035801515811461227357600080fd5b919050565b60008060006060848603121561228d57600080fd5b83359250602061229e818601612263565b9250604085013567ffffffffffffffff8111156122ba57600080fd5b8501601f810187136122cb57600080fd5b80356122d961219d82612158565b81815260059190911b820183019083810190898311156122f857600080fd5b928401925b82841015612316578335825292840192908401906122fd565b80955050505050509250925092565b6000806040838503121561233857600080fd5b82356123438161208f565b915060208301356123538161208f565b809150509250929050565b60008060006060848603121561237357600080fd5b8335925061238360208501612263565b9150604084013567ffffffffffffffff81111561239f57600080fd5b6123ab8682870161217c565b9150509250925092565b60208082526019908201527f4f776e65722d726573747269637465642066756e6374696f6e00000000000000604082015260600190565b6000602082840312156123fe57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124435761244361241b565b5060010190565b60008261246757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156109775761097761241b565b634e487b7160e01b600052600160045260246000fd5b80820281158282048414176109775761097761241b565b808201808211156109775761097761241b565b600081518084526020808501945080840160005b838110156124f85781516001600160a01b0316875295820195908201906001016124d3565b509495945050505050565b828152604060208201526000610a5260408301846124bf565b6000602080838503121561252f57600080fd5b825167ffffffffffffffff81111561254657600080fd5b8301601f8101851361255757600080fd5b805161256561219d82612158565b81815260059190911b8201830190838101908783111561258457600080fd5b928401925b828410156125a257835182529284019290840190612589565b979650505050505050565b85815284602082015260a0604082015260006125cc60a08301866124bf565b6001600160a01b039490941660608301525060800152939250505056fea26469706673582212203a306555233fc6f58830fcb9f2b849e8a56ea56d52670a4d774e0827693cc92d64736f6c63430008110033

Deployed Bytecode Sourcemap

7855:12885:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8154:61;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8154:61:0;;;;;;;;10713:71;;;;;;;;;;-1:-1:-1;10776:5:0;;;;;;;;;;;;-1:-1:-1;;;10776:5:0;;;;10713:71;;;;;;;:::i;11099:207::-;;;;;;;;;;-1:-1:-1;11099:207:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;11099:207:0;1205:187:1;10470:79:0;;;;;;;;;;-1:-1:-1;10534:12:0;;10470:79;;11730:489;;;;;;;;;;-1:-1:-1;11730:489:0;;;;;:::i;:::-;;:::i;18189:68::-;;;;;;;;;;;;;:::i;:::-;;20103:300;;;;;;;;;;;;;:::i;:::-;;;;;;2077:13:1;;2059:32;;2147:4;2135:17;;;2129:24;2107:20;;;2100:54;2214:4;2202:17;;;2196:24;-1:-1:-1;;;;;2192:50:1;2170:20;;;2163:80;2299:4;2287:17;;;2281:24;2259:20;;;2252:54;2362:4;2350:17;;;2344:24;2322:20;;;2315:54;2230:3;2413:17;;;2407:24;2385:20;;;2378:54;2488:4;2476:17;;;2470:24;2448:20;;;2441:54;2551:4;2539:17;;;2533:24;2511:20;;;2504:54;2577:6;2625:15;;;2619:22;2599:18;;;2592:50;;;;2046:3;2031:19;;1858:790;17562:300:0;;;;;;;;;;-1:-1:-1;17562:300:0;;;;;:::i;:::-;;:::i;10555:71::-;;;;;;;;;;-1:-1:-1;10555:71:0;;8007:1;4490:36:1;;4478:2;4463:18;10555:71:0;4348:184:1;9568:48:0;;;;;;;;;;-1:-1:-1;9568:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;17874:113;;;;;;;;;;-1:-1:-1;17874:113:0;;;;;:::i;:::-;;:::i;19089:121::-;;;;;;;;;;-1:-1:-1;19089:121:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5138:32:1;;;5120:51;;5108:2;5093:18;19089:121:0;4974:203:1;11444:123:0;;;;;;;;;;;;11516:4;11496:26;;;;:11;:26;;;;;;;;11531:6;-1:-1:-1;;;;;11496:43:0;;;;;;;;-1:-1:-1;;11496:63:0;;11444:123;17005:240;;;;;;;;;;-1:-1:-1;17005:240:0;;;;;:::i;:::-;;:::i;9734:30::-;;;;;;;;;;;;;;;;11314:122;;;;;;;;;;-1:-1:-1;11314:122:0;;;;;:::i;:::-;;:::i;18771:168::-;;;;;;;;;;;;;:::i;9626:35::-;;;;;;;;;;;;;;;;10865:96;;;;;;;;;;-1:-1:-1;10865:96:0;;;;;:::i;:::-;-1:-1:-1;;;;;10940:18:0;10922:7;10940:18;;;:9;:18;;;;;;;10865:96;7079:131;;;;;;;;;;;;;:::i;18265:187::-;;;;;;;;;;;;;:::i;19934:161::-;;;;;;;;;;-1:-1:-1;19934:161:0;;;;;:::i;:::-;;:::i;:::-;;;;5402:13:1;;5384:32;;5472:4;5460:17;;;5454:24;5432:20;;;5425:54;;;;5357:18;19934:161:0;5182:303:1;9529:32:0;;;;;;;;;;;;;;;;10790:69;;;;;;;;;;-1:-1:-1;10833:7:0;10851:5;-1:-1:-1;;;;;10851:5:0;10790:69;;10632:75;;;;;;;;;;-1:-1:-1;10697:7:0;;;;;;;;;;;;-1:-1:-1;;;10697:7:0;;;;10632:75;;16420:254;;;;;;;;;;-1:-1:-1;16420:254:0;;;;;:::i;:::-;;:::i;18975:106::-;;;;;;;;;;;;;:::i;9672:53::-;;;;;;;;;;;;;;;;9882:29;;;;;;;;;;;;;;;11575:147;;;;;;;;;;-1:-1:-1;11575:147:0;;;;;:::i;:::-;;:::i;8078:57::-;;;;;;;;;;;;;;;;8230:59;;;;;;;;;;;;;;;17431:123;;;;;;;;;;-1:-1:-1;17431:123:0;;;;;:::i;:::-;;:::i;18458:90::-;;;;;;;;;;-1:-1:-1;18532:8:0;;18458:90;;17257:166;;;;;;;;;;-1:-1:-1;17257:166:0;;;;;:::i;:::-;;:::i;18554:211::-;;;;;;;;;;;;;:::i;8583:92::-;;;;;;;;;;;;8632:42;8583:92;;17995:186;;;;;;;;;;-1:-1:-1;17995:186:0;;;;;:::i;:::-;;:::i;10967:124::-;;;;;;;;;;-1:-1:-1;10967:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;11060:19:0;;;11042:7;11060:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10967:124;16682:311;;;;;;;;;;-1:-1:-1;16682:311:0;;;;;:::i;:::-;;:::i;20409:328::-;;;;;;;;;;;;;:::i;9495:27::-;;;;;;;;;;-1:-1:-1;9495:27:0;;;;-1:-1:-1;;;;;9495:27:0;;;9840:35;;;;;;;;;;;;;;;9773:23;;;;;;;;;;;;;;;;11099:207;11194:10;11165:4;11182:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;11182:32:0;;;;;;;;;;:41;;;11239:37;11165:4;;11182:32;;11239:37;;;;11217:6;160:25:1;;148:2;133:18;;14:177;11239:37:0;;;;;;;;-1:-1:-1;11294:4:0;11099:207;;;;;:::o;11730:489::-;-1:-1:-1;;;;;11841:19:0;;11821:4;11841:19;;;:11;:19;;;;;;;;11861:10;11841:31;;;;;;;;-1:-1:-1;;11841:52:0;11838:316;;-1:-1:-1;;;;;11936:19:0;;11909:24;11936:19;;;:11;:19;;;;;;;;11956:10;11936:31;;;;;;;;11990:26;;;;11982:61;;;;-1:-1:-1;;;11982:61:0;;8257:2:1;11982:61:0;;;8239:21:1;8296:2;8276:18;;;8269:30;-1:-1:-1;;;8315:18:1;;;8308:52;8377:18;;11982:61:0;;;;;;;;;-1:-1:-1;;;;;;12086:19:0;;;;;;:11;:19;;;;;;;;12106:10;12086:31;;;;;;;:41;;;;;;;11838:316;12171:40;12185:6;12193:9;12204:6;12171:13;:40::i;:::-;12164:47;;11730:489;;;;;;:::o;18189:68::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;18234:8:::1;:15:::0;;-1:-1:-1;;18234:15:0::1;;;::::0;;18189:68::o;20103:300::-;20151:16;;:::i;:::-;20187:208;;;;;;;;20197:12;;20187:208;;20211:25;;20187:208;;;;20238:12;;-1:-1:-1;;;;;20238:12:0;20187:208;;;;;;;20252:17;;20187:208;;;;20271:20;;20187:208;;;;;;;20293:23;:14;:21;:23::i;:::-;20187:208;;20318:15;;20187:208;;;;20349:8;;20187:208;;;;;;;;20359:35;-1:-1:-1;;;20359:35:0;;20389:4;-1:-1:-1;;;;;5138:32:1;20359:35:0;;;5120:51:1;20187:208:0;;;;;9159:42;;20359:29;;5093:18:1;;20359:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20187:208;;20180:215;20103:300;-1:-1:-1;20103:300:0:o;17562:::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;17643:9:::1;17639:216;17659:8;:15;17657:1;:17;17639:216;;;17694:12;17709:8;17718:1;17709:11;;;;;;;;:::i;:::-;;;;;;;17694:26;;8979:42;-1:-1:-1::0;;;;;17738:20:0::1;:4;-1:-1:-1::0;;;;;17738:20:0::1;;;:45;;;;-1:-1:-1::0;;;;;;17762:21:0;::::1;17778:4;17762:21;;17738:45;:61;;;;;17795:4;-1:-1:-1::0;;;;;17787:12:0::1;:4;-1:-1:-1::0;;;;;17787:12:0::1;;;17738:61;17735:108;;;-1:-1:-1::0;;;;;17818:18:0;::::1;;::::0;;;:12:::1;:18;::::0;;;;:25;;-1:-1:-1;;17818:25:0::1;17839:4;17818:25;::::0;;17735:108:::1;-1:-1:-1::0;17675:3:0;::::1;::::0;::::1;:::i;:::-;;;;17639:216;;;;17562:300:::0;:::o;17874:113::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17950:21:0::1;17974:5;17950:21:::0;;;:12:::1;:21;::::0;;;;:29;;-1:-1:-1;;17950:29:0::1;::::0;;17874:113::o;19089:121::-;19151:7;19178:24;:14;19196:5;19178:17;:24::i;17005:240::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;17126:3:::1;17111:12;;:18;;;;:::i;:::-;17091:16;:38;;17083:109;;;::::0;-1:-1:-1;;;17083:109:0;;9777:2:1;17083:109:0::1;::::0;::::1;9759:21:1::0;9816:2;9796:18;;;9789:30;9855:34;9835:18;;;9828:62;9926:28;9906:18;;;9899:56;9972:19;;17083:109:0::1;9575:422:1::0;17083:109:0::1;17203:15;:34:::0;17005:240::o;11314:122::-;11369:4;11393:35;11401:7;-1:-1:-1;;11393:7:0;:35::i;18771:168::-;18822:7;18850:10;-1:-1:-1;;;;;18864:13:0;18850:27;;;:50;;-1:-1:-1;18895:5:0;;-1:-1:-1;;;;;18895:5:0;18881:10;:19;18850:50;18842:59;;;;;;-1:-1:-1;18919:12:0;;;18771:168::o;7079:131::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;7152:1:::1;7136:18:::0;;-1:-1:-1;;;;;;7136:18:0::1;::::0;;7170:32:::1;::::0;5120:51:1;;;7170:32:0::1;::::0;5108:2:1;5093:18;7170:32:0::1;;;;;;;7079:131::o:0;18265:187::-;18332:9;;-1:-1:-1;;;;;18332:9:0;18318:10;:23;;:46;;-1:-1:-1;18359:5:0;;-1:-1:-1;;;;;18359:5:0;18345:10;:19;18318:46;18310:55;;;;;;18384:9;;18404:8;;18376:37;;-1:-1:-1;;;;;18384:9:0;;;;18376:37;;;;;18404:8;18384:9;18376:37;18384:9;18376:37;18404:8;18384:9;18376:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18436:8:0;;;;18424;:20;18436:8;;18424:20;:::i;:::-;;;;-1:-1:-1;;18265:187:0:o;19934:161::-;-1:-1:-1;;;;;;;;;;;;;;;;;20035:52:0;;;;;;;;20046:17;20056:6;-1:-1:-1;;;;;10940:18:0;10922:7;10940:18;;;:9;:18;;;;;;;10865:96;20046:17;20035:52;;-1:-1:-1;;;;;20065:21:0;;;;;;;:13;20035:52;20065:21;;;;;;;;20035:52;;;;;;-1:-1:-1;20028:59:0;19934:161::o;16420:254::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;16536:7:::1;16547:1;16536:12;16528:21;;;::::0;::::1;;16567:8;::::0;::::1;;::::0;;::::1;;:16;;:8;:16;16560:24;;;;:::i;:::-;16647:4;16632:12;;16627:2;:17;;;;:::i;:::-;:24;;;;:::i;:::-;16609:15;:42:::0;-1:-1:-1;;;16420:254:0:o;18975:106::-;19023:7;19050:23;:14;:21;:23::i;:::-;19043:30;;18975:106;:::o;11575:147::-;11646:4;11670:44;11684:10;11696:9;11707:6;11670:13;:44::i;17431:123::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;17509:25:::1;:37:::0;17431:123::o;17257:166::-;17349:9;;-1:-1:-1;;;;;17349:9:0;17335:10;:23;;:46;;-1:-1:-1;17376:5:0;;-1:-1:-1;;;;;17376:5:0;17362:10;:19;17335:46;17327:55;;;;;;17393:9;:22;;-1:-1:-1;;;;;;17393:22:0;-1:-1:-1;;;;;17393:22:0;;;;;;;;;;17257:166::o;18554:211::-;18611:10;-1:-1:-1;;;;;18625:13:0;18611:27;;;:50;;-1:-1:-1;18656:5:0;;-1:-1:-1;;;;;18656:5:0;18642:10;:19;18611:50;18603:59;;;;;;18705:12;;18673:45;;-1:-1:-1;;;;;18681:13:0;18673:31;;:45;;;;;;;;;18705:12;18673:31;:45;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18745:12:0;;;;18729;:28;18745:12;;18729:28;:::i;17995:186::-;18071:10;-1:-1:-1;;;;;18085:13:0;18071:27;;18063:68;;;;-1:-1:-1;;;18063:68:0;;10642:2:1;18063:68:0;;;10624:21:1;10681:2;10661:18;;;10654:30;10720;10700:18;;;10693:58;10768:18;;18063:68:0;10440:352:1;18063:68:0;18142:16;18151:6;18142:8;:16::i;:::-;17995:186;:::o;16682:311::-;7013:5;;-1:-1:-1;;;;;7013:5:0;6999:10;:19;6991:57;;;;-1:-1:-1;;;6991:57:0;;;;;;;:::i;:::-;16828:23;::::1;16820:32;;;::::0;::::1;;16901:4;16886:12;;16881:2;:17;;;;:::i;:::-;:24;;;;:::i;:::-;16863:15;:42:::0;16949:8:::1;::::0;::::1;::::0;::::1;;;16945:40;;16972:13;::::0;-1:-1:-1;;;16972:13:0;;10999:2:1;16972:13:0::1;::::0;::::1;10981:21:1::0;11038:1;11018:18;;;11011:29;-1:-1:-1;;;11056:18:1;;;11049:33;11099:18;;16972:13:0::1;10797:326:1::0;16945:40:0::1;16682:311:::0;;;:::o;20409:328::-;20457:16;;:::i;:::-;20493:236;;;;;;;;20503:12;;20493:236;;20517:25;;20493:236;;;;20544:12;;-1:-1:-1;;;;;20544:12:0;20493:236;;;;;;;20558:17;;20493:236;;;;20577:20;;20493:236;;;;;;;20599:23;:14;:21;:23::i;:::-;20493:236;;;;20624:15;;20493:236;;;;20655:22;20668:8;;20655:12;:22::i;:::-;20493:236;;20692:35;;-1:-1:-1;;;20692:35:0;;20722:4;-1:-1:-1;;;;;5138:32:1;20692:35:0;;;5120:51:1;20493:236:0;;;;;20679:49;;9159:42;;20692:29;;5093:18:1;;20692:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20679:12;:49::i;12227:2694::-;12339:6;;12319:4;;12339:6;;;:33;;;12359:13;-1:-1:-1;;;;;12349:23:0;:6;-1:-1:-1;;;;;12349:23:0;;12339:33;:63;;;;12389:13;-1:-1:-1;;;;;12376:26:0;:9;-1:-1:-1;;;;;12376:26:0;;12339:63;:108;;;-1:-1:-1;;;;;;12423:24:0;;8632:42;12423:24;12339:108;:139;;;-1:-1:-1;;;;;;12451:27:0;;8632:42;12451:27;12339:139;12336:318;;;12501:41;12516:6;12524:9;12535:6;12501:14;:41::i;:::-;12494:48;;;;12336:318;12572:6;12582:1;12572:11;12569:85;;12606:36;12621:6;12629:9;12640:1;12606:14;:36::i;12569:85::-;-1:-1:-1;;;;;12675:20:0;;;;;;:12;:20;;;;;;;;12674:21;12666:53;;;;-1:-1:-1;;;12666:53:0;;11330:2:1;12666:53:0;;;11312:21:1;11369:2;11349:18;;;11342:30;-1:-1:-1;;;11388:18:1;;;11381:49;11447:18;;12666:53:0;11128:343:1;12666:53:0;12758:4;-1:-1:-1;;;;;12745:17:0;:9;-1:-1:-1;;;;;12745:17:0;;:69;;;-1:-1:-1;12799:15:0;;-1:-1:-1;;;;;12766:20:0;;;;;;:9;:20;;;;;;:29;;12789:6;;12766:29;:::i;:::-;:48;;12745:69;12737:133;;;;-1:-1:-1;;;12737:133:0;;11808:2:1;12737:133:0;;;11790:21:1;11847:2;11827:18;;;11820:30;11886:34;11866:18;;;11859:62;-1:-1:-1;;;11937:18:1;;;11930:31;11978:19;;12737:133:0;11606:397:1;12737:133:0;12907:12;;-1:-1:-1;;;;;12907:12:0;;;;12943:4;12933:14;;;;;;12930:1374;;12987:16;;;13001:1;12987:16;;;;;;;;12963:21;;12987:16;;;;;;;;;;-1:-1:-1;12987:16:0;12963:40;;9159:42;13018:4;13023:1;13018:7;;;;;;;;:::i;:::-;;;;;;:21;-1:-1:-1;;;;;13018:21:0;;;-1:-1:-1;;;;;13018:21:0;;;;;13072:4;13054;13059:1;13054:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13054:23:0;;;:7;;;;;;;;;:23;13115:33;;-1:-1:-1;;;13115:33:0;;13092:20;;13115:6;:19;;;;:33;;13135:6;;13143:4;;13115:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13115:33:0;;;;;;;;;;;;:::i;:::-;13149:1;13115:36;;;;;;;;:::i;:::-;;;;;;;13092:59;;13226:25;;13203:20;;:48;;;;:::i;:::-;13185:15;:66;:91;;;;-1:-1:-1;;;;;;13255:21:0;;;;13185:91;13182:383;;;13299:38;:14;13323:13;13299:23;:38::i;:::-;:47;;13341:5;13299:47;13296:127;;13370:33;:14;13389:13;13370:18;:33::i;:::-;;13296:127;13492:17;;;-1:-1:-1;;;;;13461:28:0;;;;;;:13;:28;;;;;:48;;;;13528:21;;13182:383;13597:17;;13582:12;:32;13579:312;;;13690:9;-1:-1:-1;;;;;13673:26:0;:13;-1:-1:-1;;;;;13673:26:0;;13670:98;;13724:12;:24;;-1:-1:-1;;;;;;13724:24:0;-1:-1:-1;;;;;13724:24:0;;;;;13670:98;13786:17;:32;;;13860:15;13837:20;:38;13579:312;12948:954;;12930:1374;;;13944:12;;-1:-1:-1;;;;;13944:12:0;;;13934:22;;;;13931:362;;13999:12;:19;;-1:-1:-1;;;;;;13999:19:0;;;8760:3;14037:17;:21;14100:15;14077:20;:38;13931:362;;;14154:6;;;;14153:7;:52;;;;-1:-1:-1;14182:4:0;10922:7;10940:18;;;:9;:18;;;;;;14192:13;-1:-1:-1;14164:41:0;14153:52;:77;;;;-1:-1:-1;;;;;;14209:21:0;;;;14153:77;14150:143;;;14254:23;14263:13;14254:8;:23::i;:::-;-1:-1:-1;;;;;14344:17:0;;14320:21;14344:17;;;:9;:17;;;;;;14380:23;;;;14372:56;;;;-1:-1:-1;;;14372:56:0;;13899:2:1;14372:56:0;;;13881:21:1;13938:2;13918:18;;;13911:30;-1:-1:-1;;;13957:18:1;;;13950:50;14017:18;;14372:56:0;13697:344:1;14372:56:0;-1:-1:-1;;;;;14463:17:0;;;;;;:9;:17;;;;;:27;;;;;;;14561:3;14535:23;14484:6;-1:-1:-1;14535:23:0;:::i;:::-;:29;;;;:::i;:::-;14514:50;-1:-1:-1;14575:18:0;14630:3;14596:31;14621:6;14596:22;:31;:::i;:::-;:37;;;;:::i;:::-;14575:58;-1:-1:-1;14687:23:0;14575:58;14687:10;:23;:::i;:::-;14676:35;;;;:::i;:::-;;;14738:10;14722:12;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;14777:4:0;14759:24;;;;:9;:24;;;;;:38;;14787:10;;14759:24;:38;;14787:10;;14759:38;:::i;:::-;;;;-1:-1:-1;;;;;;;14808:20:0;;;;;;:9;:20;;;;;:30;;14832:6;;14808:20;:30;;14832:6;;14808:30;:::i;:::-;;;;;;;;14873:9;-1:-1:-1;;;;;14856:35:0;14865:6;-1:-1:-1;;;;;14856:35:0;;14884:6;14856:35;;;;160:25:1;;148:2;133:18;;14:177;14856:35:0;;;;;;;;-1:-1:-1;14909:4:0;;12227:2694;-1:-1:-1;;;;;;;12227:2694:0:o;5290:117::-;5353:7;5380:19;5388:3;3628:18;;3545:109;5751:158;5825:7;5876:22;5880:3;5892:5;5876:3;:22::i;15355:555::-;9960:6;:13;;-1:-1:-1;;9960:13:0;9969:4;9960:13;;;15453::::1;15426:24;15444:4;-1:-1:-1::0;;;;;10940:18:0;10922:7;10940:18;;;:9;:18;;;;;;;10865:96;15426:24:::1;:40;15423:85;;;-1:-1:-1::0;15495:13:0::1;15423:85;15542:21;15574:29;15591:11:::0;15574:16:::1;:29::i;:::-;15615:22;15640:34;15664:10:::0;15640:21:::1;:34;:::i;:::-;15615:59:::0;-1:-1:-1;15699:18:0::1;15716:1;15615:59:::0;15699:18:::1;:::i;:::-;15687:8;;:30;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;15739:18:0::1;::::0;-1:-1:-1;15756:1:0::1;15739:14:::0;:18:::1;:::i;:::-;15723:12;;:34;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;15768:18:0::1;::::0;-1:-1:-1;15789:18:0::1;15806:1;15789:14:::0;:18:::1;:::i;:::-;15826:12;::::0;15818:42:::1;::::0;15768:39;;-1:-1:-1;;;;;;15826:12:0::1;::::0;15818:42;::::1;;;::::0;15768:39;;15826:12:::1;15818:42:::0;15826:12;15818:42;15768:39;15826:12;15818:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15892:10;15873:15;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;9978:6:0;:14;;-1:-1:-1;;9978:14:0;;;-1:-1:-1;;;;15355:555:0:o;19218:248::-;19323:16;;;19337:1;19323:16;;;;;;;;19279:7;;;;19323:16;19337:1;19323:16;;;;;;;;;;-1:-1:-1;19323:16:0;19299:40;;9071:42;19350:4;19355:1;19350:7;;;;;;;;:::i;:::-;;;;;;:21;-1:-1:-1;;;;;19350:21:0;;;-1:-1:-1;;;;;19350:21:0;;;;;9159:42;19382:4;19387:1;19382:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19382:21:0;;;:7;;;;;;;;;:21;19422:33;;-1:-1:-1;;;19422:33:0;;:6;:19;;;;;;:33;;19442:6;;19450:4;;19422:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19422:33:0;;;;;;;;;;;;:::i;:::-;19456:1;19422:36;;;;;;;;:::i;:::-;;;;;;;19415:43;;;19218:248;;;:::o;14933:413::-;-1:-1:-1;;;;;15067:17:0;;15026:4;15067:17;;;:9;:17;;;;;;15103:23;;;;15095:56;;;;-1:-1:-1;;;15095:56:0;;13899:2:1;15095:56:0;;;13881:21:1;13938:2;13918:18;;;13911:30;-1:-1:-1;;;13957:18:1;;;13950:50;14017:18;;15095:56:0;13697:344:1;15095:56:0;-1:-1:-1;;;;;15186:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;15235:20;;;;;;;;:30;;15207:6;;15186:17;15235:30;;15207:6;;15235:30;:::i;:::-;;;;;;;;15298:9;-1:-1:-1;;;;;15281:35:0;15290:6;-1:-1:-1;;;;;15281:35:0;;15309:6;15281:35;;;;160:25:1;;148:2;133:18;;14:177;15281:35:0;;;;;;;;-1:-1:-1;15334:4:0;;14933:413;-1:-1:-1;;;;14933:413:0:o;5037:167::-;-1:-1:-1;;;;;5171:23:0;;5117:4;3427:19;;;:12;;;:19;;;;;;:24;;5141:55;3330:129;4465:152;4535:4;4559:50;4564:3;-1:-1:-1;;;;;4584:23:0;;4559:4;:50::i;3998:204::-;4093:18;;4065:7;;4093:26;-1:-1:-1;4085:73:0;;;;-1:-1:-1;;;4085:73:0;;14248:2:1;4085:73:0;;;14230:21:1;14287:2;14267:18;;;14260:30;14326:34;14306:18;;;14299:62;-1:-1:-1;;;14377:18:1;;;14370:32;14419:19;;4085:73:0;14046:398:1;4085:73:0;4176:3;:11;;4188:5;4176:18;;;;;;;;:::i;:::-;;;;;;;;;4169:25;;3998:204;;;;:::o;15918:494::-;16068:16;;;16082:1;16068:16;;;;;;;;16044:21;;16068:16;;;;;;;;;;-1:-1:-1;16068:16:0;16044:40;;16113:4;16095;16100:1;16095:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16095:23:0;;;-1:-1:-1;;;;;16095:23:0;;;;;9159:42;16129:4;16134:1;16129:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16129:21:0;;;:7;;;;;;;;;:21;16189:215;;-1:-1:-1;;;16189:215:0;;:6;:57;;;;;;:215;;16261:11;;16287:1;;16331:4;;16358;;16378:15;;16189:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15973:439;15918:494;:::o;1110:414::-;1173:4;3427:19;;;:12;;;:19;;;;;;1190:327;;-1:-1:-1;1233:23:0;;;;;;;;:11;:23;;;;;;;;;;;;;1416:18;;1394:19;;;:12;;;:19;;;;;;:40;;;;1449:11;;1190:327;-1:-1:-1;1500:5:0;1493:12;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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;2653:127::-;2714:10;2709:3;2705:20;2702:1;2695:31;2745:4;2742:1;2735:15;2769:4;2766:1;2759:15;2785:275;2856:2;2850:9;2921:2;2902:13;;-1:-1:-1;;2898:27:1;2886:40;;2956:18;2941:34;;2977:22;;;2938:62;2935:88;;;3003:18;;:::i;:::-;3039:2;3032:22;2785:275;;-1:-1:-1;2785:275:1:o;3065:183::-;3125:4;3158:18;3150:6;3147:30;3144:56;;;3180:18;;:::i;:::-;-1:-1:-1;3225:1:1;3221:14;3237:4;3217:25;;3065:183::o;3253:737::-;3307:5;3360:3;3353:4;3345:6;3341:17;3337:27;3327:55;;3378:1;3375;3368:12;3327:55;3414:6;3401:20;3440:4;3464:60;3480:43;3520:2;3480:43;:::i;:::-;3464:60;:::i;:::-;3558:15;;;3644:1;3640:10;;;;3628:23;;3624:32;;;3589:12;;;;3668:15;;;3665:35;;;3696:1;3693;3686:12;3665:35;3732:2;3724:6;3720:15;3744:217;3760:6;3755:3;3752:15;3744:217;;;3840:3;3827:17;3857:31;3882:5;3857:31;:::i;:::-;3901:18;;3939:12;;;;3777;;3744:217;;;-1:-1:-1;3979:5:1;3253:737;-1:-1:-1;;;;;;3253:737:1:o;3995:348::-;4079:6;4132:2;4120:9;4111:7;4107:23;4103:32;4100:52;;;4148:1;4145;4138:12;4100:52;4188:9;4175:23;4221:18;4213:6;4210:30;4207:50;;;4253:1;4250;4243:12;4207:50;4276:61;4329:7;4320:6;4309:9;4305:22;4276:61;:::i;:::-;4266:71;3995:348;-1:-1:-1;;;;3995:348:1:o;4537:247::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;4704:9;4691:23;4723:31;4748:5;4723:31;:::i;4789:180::-;4848:6;4901:2;4889:9;4880:7;4876:23;4872:32;4869:52;;;4917:1;4914;4907:12;4869:52;-1:-1:-1;4940:23:1;;4789:180;-1:-1:-1;4789:180:1:o;5490:160::-;5555:20;;5611:13;;5604:21;5594:32;;5584:60;;5640:1;5637;5630:12;5584:60;5490:160;;;:::o;5655:1027::-;5754:6;5762;5770;5823:2;5811:9;5802:7;5798:23;5794:32;5791:52;;;5839:1;5836;5829:12;5791:52;5875:9;5862:23;5852:33;;5904:2;5925:35;5956:2;5945:9;5941:18;5925:35;:::i;:::-;5915:45;;6011:2;6000:9;5996:18;5983:32;6038:18;6030:6;6027:30;6024:50;;;6070:1;6067;6060:12;6024:50;6093:22;;6146:4;6138:13;;6134:27;-1:-1:-1;6124:55:1;;6175:1;6172;6165:12;6124:55;6211:2;6198:16;6234:60;6250:43;6290:2;6250:43;:::i;6234:60::-;6328:15;;;6410:1;6406:10;;;;6398:19;;6394:28;;;6359:12;;;;6434:19;;;6431:39;;;6466:1;6463;6456:12;6431:39;6490:11;;;;6510:142;6526:6;6521:3;6518:15;6510:142;;;6592:17;;6580:30;;6543:12;;;;6630;;;;6510:142;;;6671:5;6661:15;;;;;;;5655:1027;;;;;:::o;6947:388::-;7015:6;7023;7076:2;7064:9;7055:7;7051:23;7047:32;7044:52;;;7092:1;7089;7082:12;7044:52;7131:9;7118:23;7150:31;7175:5;7150:31;:::i;:::-;7200:5;-1:-1:-1;7257:2:1;7242:18;;7229:32;7270:33;7229:32;7270:33;:::i;:::-;7322:7;7312:17;;;6947:388;;;;;:::o;7340:484::-;7439:6;7447;7455;7508:2;7496:9;7487:7;7483:23;7479:32;7476:52;;;7524:1;7521;7514:12;7476:52;7560:9;7547:23;7537:33;;7589:35;7620:2;7609:9;7605:18;7589:35;:::i;:::-;7579:45;;7675:2;7664:9;7660:18;7647:32;7702:18;7694:6;7691:30;7688:50;;;7734:1;7731;7724:12;7688:50;7757:61;7810:7;7801:6;7790:9;7786:22;7757:61;:::i;:::-;7747:71;;;7340:484;;;;;:::o;8406:349::-;8608:2;8590:21;;;8647:2;8627:18;;;8620:30;8686:27;8681:2;8666:18;;8659:55;8746:2;8731:18;;8406:349::o;8760:184::-;8830:6;8883:2;8871:9;8862:7;8858:23;8854:32;8851:52;;;8899:1;8896;8889:12;8851:52;-1:-1:-1;8922:16:1;;8760:184;-1:-1:-1;8760:184:1:o;8949:127::-;9010:10;9005:3;9001:20;8998:1;8991:31;9041:4;9038:1;9031:15;9065:4;9062:1;9055:15;9081:127;9142:10;9137:3;9133:20;9130:1;9123:31;9173:4;9170:1;9163:15;9197:4;9194:1;9187:15;9213:135;9252:3;9273:17;;;9270:43;;9293:18;;:::i;:::-;-1:-1:-1;9340:1:1;9329:13;;9213:135::o;9353:217::-;9393:1;9419;9409:132;;9463:10;9458:3;9454:20;9451:1;9444:31;9498:4;9495:1;9488:15;9526:4;9523:1;9516:15;9409:132;-1:-1:-1;9555:9:1;;9353:217::o;10002:128::-;10069:9;;;10090:11;;;10087:37;;;10104:18;;:::i;10135:127::-;10196:10;10191:3;10187:20;10184:1;10177:31;10227:4;10224:1;10217:15;10251:4;10248:1;10241:15;10267:168;10340:9;;;10371;;10388:15;;;10382:22;;10368:37;10358:71;;10409:18;;:::i;11476:125::-;11541:9;;;11562:10;;;11559:36;;;11575:18;;:::i;12008:461::-;12061:3;12099:5;12093:12;12126:6;12121:3;12114:19;12152:4;12181:2;12176:3;12172:12;12165:19;;12218:2;12211:5;12207:14;12239:1;12249:195;12263:6;12260:1;12257:13;12249:195;;;12328:13;;-1:-1:-1;;;;;12324:39:1;12312:52;;12384:12;;;;12419:15;;;;12360:1;12278:9;12249:195;;;-1:-1:-1;12460:3:1;;12008:461;-1:-1:-1;;;;;12008:461:1:o;12474:332::-;12681:6;12670:9;12663:25;12724:2;12719;12708:9;12704:18;12697:30;12644:4;12744:56;12796:2;12785:9;12781:18;12773:6;12744:56;:::i;12811:881::-;12906:6;12937:2;12980;12968:9;12959:7;12955:23;12951:32;12948:52;;;12996:1;12993;12986:12;12948:52;13029:9;13023:16;13062:18;13054:6;13051:30;13048:50;;;13094:1;13091;13084:12;13048:50;13117:22;;13170:4;13162:13;;13158:27;-1:-1:-1;13148:55:1;;13199:1;13196;13189:12;13148:55;13228:2;13222:9;13251:60;13267:43;13307:2;13267:43;:::i;13251:60::-;13345:15;;;13427:1;13423:10;;;;13415:19;;13411:28;;;13376:12;;;;13451:19;;;13448:39;;;13483:1;13480;13473:12;13448:39;13507:11;;;;13527:135;13543:6;13538:3;13535:15;13527:135;;;13609:10;;13597:23;;13560:12;;;;13640;;;;13527:135;;;13681:5;12811:881;-1:-1:-1;;;;;;;12811:881:1:o;14449:582::-;14748:6;14737:9;14730:25;14791:6;14786:2;14775:9;14771:18;14764:34;14834:3;14829:2;14818:9;14814:18;14807:31;14711:4;14855:57;14907:3;14896:9;14892:19;14884:6;14855:57;:::i;:::-;-1:-1:-1;;;;;14948:32:1;;;;14943:2;14928:18;;14921:60;-1:-1:-1;15012:3:1;14997:19;14990:35;14847:65;14449:582;-1:-1:-1;;;14449:582:1:o

Swarm Source

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