ETH Price: $3,459.48 (+0.14%)
Gas: 5 Gwei

Token

MekaFight (CWEX142)
 

Overview

Max Total Supply

399 CWEX142

Holders

172

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

0x27c3d8e6d0505b28ca55bbb12f3a382c257d941d
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:
MekaFight

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library Strings {
    bytes16 private constant alphabet = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
      
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = alphabet[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "#43");
        return string(buffer);
    }

}

interface IERC165 {

    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}


interface IERC1155 is IERC165 {

    event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);

    event TransferBatch(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256[] ids,
        uint256[] values
    );

 
    event ApprovalForAll(address indexed account, address indexed operator, bool approved);

 
    event URI(string value, uint256 indexed id);


    function balanceOf(address account, uint256 id) external view returns (uint256);


    function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)
        external
        view
        returns (uint256[] memory);

    function setApprovalForAll(address operator, bool approved) external;

    function isApprovedForAll(address account, address operator) external view returns (bool);

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes calldata data
    ) external;

    function safeBatchTransferFrom(
        address from,
        address to,
        uint256[] calldata ids,
        uint256[] calldata amounts,
        bytes calldata data
    ) external;
}

interface IERC1155Receiver is IERC165 {

    function onERC1155Received(
        address operator,
        address from,
        uint256 id,
        uint256 value,
        bytes calldata data
    ) external returns (bytes4);

    function onERC1155BatchReceived(
        address operator,
        address from,
        uint256[] calldata ids,
        uint256[] calldata values,
        bytes calldata data
    ) external returns (bytes4);
}

interface IERC1155MetadataURI is IERC1155 {

    function uri(uint256 id) external view returns (string memory);
}

abstract contract ERC165 is IERC165 {

    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {

        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


    constructor() {
        _transferOwnership(_msgSender());
    }


    function owner() public view virtual returns (address) {
        return _owner;
    }


    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }


    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI, Ownable {
    using Address for address;
     using Strings for uint256;
    // Mapping from token ID to account balances
    mapping(uint256 => mapping(address => uint256)) private _balances;

    // Mapping from account to operator approvals
    mapping(address => mapping(address => bool)) private _operatorApprovals;

    // Used as the URI for all token types by relying on ID substitution, e.g. https://token-cdn-domain/{id}.json
    string public _uri;

    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return
            interfaceId == type(IERC1155).interfaceId ||
            interfaceId == type(IERC1155MetadataURI).interfaceId ||
            super.supportsInterface(interfaceId);
    }


    function uri(uint256 tokenId) public view virtual override returns (string memory) {
        string memory baseURI = _uri;
        return bytes(baseURI).length > 0
            ? string(abi.encodePacked(baseURI, tokenId.toString()))
            : 'uri not set';
    }
  

    function balanceOf(address account, uint256 id) public view virtual override returns (uint256) {
        require(account != address(0), "ERC1155: balance query for the zero address");
        return _balances[id][account];
    }


    function balanceOfBatch(address[] memory accounts, uint256[] memory ids)
        public
        view
        virtual
        override
        returns (uint256[] memory)
    {
        require(accounts.length == ids.length, "ERC1155: accounts and ids length mismatch");

        uint256[] memory batchBalances = new uint256[](accounts.length);

        for (uint256 i = 0; i < accounts.length; ++i) {
            batchBalances[i] = balanceOf(accounts[i], ids[i]);
        }

        return batchBalances;
    }


    function setApprovalForAll(address operator, bool approved) public virtual override {
        _setApprovalForAll(_msgSender(), operator, approved);
    }

    function isApprovedForAll(address account, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[account][operator];
    }


    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) public virtual override {
        require(
            from == _msgSender() || isApprovedForAll(from, _msgSender()),
            "ERC1155: caller is not owner nor approved"
        );
        _safeTransferFrom(from, to, id, amount, data);
    }

    function safeBatchTransferFrom(
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) public virtual override {
        require(
            from == _msgSender() || isApprovedForAll(from, _msgSender()),
            "ERC1155: transfer caller is not owner nor approved"
        );
        _safeBatchTransferFrom(from, to, ids, amounts, data);
    }


    function _safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) internal virtual {
        require(to != address(0), "ERC1155: transfer to the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, to, _asSingletonArray(id), _asSingletonArray(amount), data);

        uint256 fromBalance = _balances[id][from];
        require(fromBalance >= amount, "ERC1155: insufficient balance for transfer");
        unchecked {
            _balances[id][from] = fromBalance - amount;
        }
        _balances[id][to] += amount;

        emit TransferSingle(operator, from, to, id, amount);

        _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data);
    }

    function _safeBatchTransferFrom(
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) internal virtual {
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");
        require(to != address(0), "ERC1155: transfer to the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, to, ids, amounts, data);

        for (uint256 i = 0; i < ids.length; ++i) {
            uint256 id = ids[i];
            uint256 amount = amounts[i];

            uint256 fromBalance = _balances[id][from];
            require(fromBalance >= amount, "ERC1155: insufficient balance for transfer");
            unchecked {
                _balances[id][from] = fromBalance - amount;
            }
            _balances[id][to] += amount;
        }

        emit TransferBatch(operator, from, to, ids, amounts);

        _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data);
    }

    function _setURI(string memory newuri) internal virtual {
        _uri = newuri;
    }

    function _mint(
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) internal virtual {
        require(to != address(0), "ERC1155: mint to the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, address(0), to, _asSingletonArray(id), _asSingletonArray(amount), data);

        _balances[id][to] += amount;
        emit TransferSingle(operator, address(0), to, id, amount);

        _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data);
    }

    function _mintBatch(
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) internal virtual {
        require(to != address(0), "ERC1155: mint to the zero address");
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, address(0), to, ids, amounts, data);

        for (uint256 i = 0; i < ids.length; i++) {
            _balances[ids[i]][to] += amounts[i];
        }

        emit TransferBatch(operator, address(0), to, ids, amounts);

        _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data);
    }

    function _burn(
        address from,
        uint256 id,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC1155: burn from the zero address");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, address(0), _asSingletonArray(id), _asSingletonArray(amount), "");

        uint256 fromBalance = _balances[id][from];
        require(fromBalance >= amount, "ERC1155: burn amount exceeds balance");
        unchecked {
            _balances[id][from] = fromBalance - amount;
        }

        emit TransferSingle(operator, from, address(0), id, amount);
    }


    function _burnBatch(
        address from,
        uint256[] memory ids,
        uint256[] memory amounts
    ) internal virtual {
        require(from != address(0), "ERC1155: burn from the zero address");
        require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch");

        address operator = _msgSender();

        _beforeTokenTransfer(operator, from, address(0), ids, amounts, "");

        for (uint256 i = 0; i < ids.length; i++) {
            uint256 id = ids[i];
            uint256 amount = amounts[i];

            uint256 fromBalance = _balances[id][from];
            require(fromBalance >= amount, "ERC1155: burn amount exceeds balance");
            unchecked {
                _balances[id][from] = fromBalance - amount;
            }
        }

        emit TransferBatch(operator, from, address(0), ids, amounts);
    }

    function _setApprovalForAll(
        address owner,
        address operator,
        bool approved
    ) internal virtual {
        require(owner != operator, "ERC1155: setting approval status for self");
        _operatorApprovals[owner][operator] = approved;
        emit ApprovalForAll(owner, operator, approved);
    }


    function _beforeTokenTransfer(
        address operator,
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) internal virtual {}

    function _doSafeTransferAcceptanceCheck(
        address operator,
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) private {
        if (to.isContract()) {
            try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) {
                if (response != IERC1155Receiver.onERC1155Received.selector) {
                    revert("ERC1155: ERC1155Receiver rejected tokens");
                }
            } catch Error(string memory reason) {
                revert(reason);
            } catch {
                revert("ERC1155: transfer to non ERC1155Receiver implementer");
            }
        }
    }

    function _doSafeBatchTransferAcceptanceCheck(
        address operator,
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) private {
        if (to.isContract()) {
            try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns (
                bytes4 response
            ) {
                if (response != IERC1155Receiver.onERC1155BatchReceived.selector) {
                    revert("ERC1155: ERC1155Receiver rejected tokens");
                }
            } catch Error(string memory reason) {
                revert(reason);
            } catch {
                revert("ERC1155: transfer to non ERC1155Receiver implementer");
            }
        }
    }

    function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) {
        uint256[] memory array = new uint256[](1);
        array[0] = element;

        return array;
    }


    address payable internal  dev = payable(0x89a87522563b9B63B0B394Dc965882915fD76e6f);
    address payable internal  iv = payable(0x746E07fE8ed6A7537641c7cf422ddaE2B611CeFe);
   
    function  _withdrawAll() internal virtual {
       uint256 balanceDev = address(this).balance*20/100;
       uint256 balanceIv = address(this).balance*12/100;
       uint256 balanceOwner = address(this).balance-balanceDev-balanceIv;
       payable(dev).transfer(balanceDev);
       payable(iv).transfer(balanceIv);
       payable(_msgSender()).transfer(balanceOwner);

    }

}

contract MekaFight is ERC1155 {
    string public name;
    string public symbol;
    uint public  MAX_TOKEN = 10000;
    uint public  MAX_WL_TOKEN = 1000;
    uint public  basePrice = 80*10**15; // ETH
    uint public  basePriceWl = 60*10**15; // ETH
	//string public _baseTokenURI;
	bool public saleEnable = false;
    bool public saleEnableWl = false;
    uint256 private _totalSupply;
    mapping(address => bool) private _whitelist;

    constructor (string memory name_, string memory symbol_, string memory uri_) {
        name = name_;
        symbol = symbol_;
        _uri = uri_;
    }
 
    function setsaleEnable(bool  _saleEnable) public onlyOwner {
         saleEnable = _saleEnable;
    }
    function setMaxToken(uint  _MAX_TOKEN) public onlyOwner {
         MAX_TOKEN = _MAX_TOKEN;
    }
    function setBasePrice(uint  _basePrice) public onlyOwner {
         basePrice = _basePrice;
    }
    function mint(address _to, uint _count) public payable {
        require(msg.sender == owner() || saleEnable, "Sale not enable");
        require(totalSupply() +_count <= MAX_TOKEN, "Exceeds limit");
        require(_count <= 50, "Exceeds 50");
        require(msg.value >= basePrice * _count || msg.sender == owner() , "Value below price");

        for(uint i = 0; i < _count; i++){
            _mint(_to, totalSupply(), 1, '');
            _totalSupply = _totalSupply + 1;
            }
    }

    function setsaleEnableWl(bool  _saleEnableWl) public onlyOwner {
         saleEnableWl = _saleEnableWl;
    }
    function setMaxTokenWL(uint  _MAX_WL_TOKEN) public onlyOwner {
         MAX_WL_TOKEN = _MAX_WL_TOKEN;
    }
    function setBasePriceWl(uint  _basePriceWl) public onlyOwner {
         basePriceWl = _basePriceWl;
    }
    function mintWhitelist(address _to, uint _count) public payable { 
        require(msg.sender == owner() || saleEnableWl, "Sale not enable");
        require(msg.sender == owner() || _whitelist[msg.sender] != true, "No whitelist");
        require(totalSupply() +_count <= MAX_WL_TOKEN, "Exceeds limit");
        require(_count <= 50, "Exceeds 50");
        require(msg.value >= basePriceWl * _count || msg.sender == owner() , "Value below price");

        for(uint i = 0; i < _count; i++){
            _mint(_to, totalSupply(), 1, '');
            _totalSupply = _totalSupply + 1;
            }
        _whitelist[msg.sender] = true;
    }

    function setBaseURI(string memory baseURI) public onlyOwner {
        _uri = baseURI;
    }
    function withdrawAll() public payable onlyOwner {
        _withdrawAll();
    }
    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"uri_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[],"name":"MAX_TOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_WL_TOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePriceWl","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"mintWhitelist","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleEnableWl","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_basePrice","type":"uint256"}],"name":"setBasePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_basePriceWl","type":"uint256"}],"name":"setBasePriceWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MAX_TOKEN","type":"uint256"}],"name":"setMaxToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_MAX_WL_TOKEN","type":"uint256"}],"name":"setMaxTokenWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_saleEnable","type":"bool"}],"name":"setsaleEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_saleEnableWl","type":"bool"}],"name":"setsaleEnableWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"payable","type":"function"}]

60806040527389a87522563b9b63b0b394dc965882915fd76e6f600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073746e07fe8ed6a7537641c7cf422ddae2b611cefe600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506127106008556103e860095567011c37937e080000600a5566d529ae9e860000600b556000600c60006101000a81548160ff0219169083151502179055506000600c60016101000a81548160ff0219169083151502179055503480156200011457600080fd5b5060405162004a6138038062004a6183398181016040528101906200013a9190620003a8565b6200015a6200014e620001ae60201b60201c565b620001b660201b60201c565b8260069080519060200190620001729291906200027a565b5081600790805190602001906200018b9291906200027a565b508060039080519060200190620001a49291906200027a565b50505050620005e5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200028890620004f6565b90600052602060002090601f016020900481019282620002ac5760008555620002f8565b82601f10620002c757805160ff1916838001178555620002f8565b82800160010185558215620002f8579182015b82811115620002f7578251825591602001919060010190620002da565b5b5090506200030791906200030b565b5090565b5b80821115620003265760008160009055506001016200030c565b5090565b6000620003416200033b846200048a565b62000461565b90508281526020810184848401111562000360576200035f620005c5565b5b6200036d848285620004c0565b509392505050565b600082601f8301126200038d576200038c620005c0565b5b81516200039f8482602086016200032a565b91505092915050565b600080600060608486031215620003c457620003c3620005cf565b5b600084015167ffffffffffffffff811115620003e557620003e4620005ca565b5b620003f38682870162000375565b935050602084015167ffffffffffffffff811115620004175762000416620005ca565b5b620004258682870162000375565b925050604084015167ffffffffffffffff811115620004495762000448620005ca565b5b620004578682870162000375565b9150509250925092565b60006200046d62000480565b90506200047b82826200052c565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a857620004a762000591565b5b620004b382620005d4565b9050602081019050919050565b60005b83811015620004e0578082015181840152602081019050620004c3565b83811115620004f0576000848401525b50505050565b600060028204905060018216806200050f57607f821691505b6020821081141562000526576200052562000562565b5b50919050565b6200053782620005d4565b810181811067ffffffffffffffff8211171562000559576200055862000591565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61446c80620005f56000396000f3fe6080604052600436106101cc5760003560e01c8063853828b6116100f7578063df3df83f11610095578063f242432a11610064578063f242432a14610638578063f2fde38b14610661578063fe4ca8471461068a578063ff7e8ea3146106b5576101cc565b8063df3df83f1461058b578063e03abf54146105a7578063e985e9c5146105d0578063eaae15761461060d576101cc565b8063a22cb465116100d1578063a22cb465146104e5578063b02636fd1461050e578063c7876ea414610537578063de4b326214610562576101cc565b8063853828b6146104855780638da5cb5b1461048f57806395d89b41146104ba576101cc565b806318160ddd1161016f57806340c10f191161013e57806340c10f19146103d85780634e1273f4146103f457806355f804b3146104315780636e1bd3231461045a576101cc565b806318160ddd146103325780632e6f0d331461035d5780632eb2c2d6146103865780633b3bfd5a146103af576101cc565b806309acc2cb116101ab57806309acc2cb146102765780630dccc9ad1461029f5780630e89341c146102ca57806310751fc214610307576101cc565b8062fdd58e146101d157806301ffc9a71461020e57806306fdde031461024b575b600080fd5b3480156101dd57600080fd5b506101f860048036038101906101f39190612fb8565b6106e0565b604051610205919061390f565b60405180910390f35b34801561021a57600080fd5b506102356004803603810190610230919061309d565b6107aa565b6040516102429190613692565b60405180910390f35b34801561025757600080fd5b5061026061088c565b60405161026d91906136ad565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190613140565b61091a565b005b3480156102ab57600080fd5b506102b46109a0565b6040516102c191906136ad565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec9190613140565b610a2e565b6040516102fe91906136ad565b60405180910390f35b34801561031357600080fd5b5061031c610b36565b604051610329919061390f565b60405180910390f35b34801561033e57600080fd5b50610347610b3c565b604051610354919061390f565b60405180910390f35b34801561036957600080fd5b50610384600480360381019061037f9190613140565b610b46565b005b34801561039257600080fd5b506103ad60048036038101906103a89190612e12565b610bcc565b005b3480156103bb57600080fd5b506103d660048036038101906103d19190613140565b610c6d565b005b6103f260048036038101906103ed9190612fb8565b610cf3565b005b34801561040057600080fd5b5061041b60048036038101906104169190612ff8565b610f02565b6040516104289190613639565b60405180910390f35b34801561043d57600080fd5b50610458600480360381019061045391906130f7565b61101b565b005b34801561046657600080fd5b5061046f6110b1565b60405161047c919061390f565b60405180910390f35b61048d6110b7565b005b34801561049b57600080fd5b506104a461113d565b6040516104b1919061355c565b60405180910390f35b3480156104c657600080fd5b506104cf611166565b6040516104dc91906136ad565b60405180910390f35b3480156104f157600080fd5b5061050c60048036038101906105079190612f78565b6111f4565b005b34801561051a57600080fd5b5061053560048036038101906105309190613070565b61120a565b005b34801561054357600080fd5b5061054c6112a3565b604051610559919061390f565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190613140565b6112a9565b005b6105a560048036038101906105a09190612fb8565b61132f565b005b3480156105b357600080fd5b506105ce60048036038101906105c99190613070565b611667565b005b3480156105dc57600080fd5b506105f760048036038101906105f29190612dd2565b611700565b6040516106049190613692565b60405180910390f35b34801561061957600080fd5b50610622611794565b60405161062f9190613692565b60405180910390f35b34801561064457600080fd5b5061065f600480360381019061065a9190612ee1565b6117a7565b005b34801561066d57600080fd5b5061068860048036038101906106839190612da5565b611848565b005b34801561069657600080fd5b5061069f611940565b6040516106ac9190613692565b60405180910390f35b3480156106c157600080fd5b506106ca611953565b6040516106d7919061390f565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107489061370f565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061087557507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610885575061088482611959565b5b9050919050565b6006805461089990613c79565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590613c79565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b505050505081565b6109226119c3565b73ffffffffffffffffffffffffffffffffffffffff1661094061113d565b73ffffffffffffffffffffffffffffffffffffffff1614610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d9061384f565b60405180910390fd5b8060088190555050565b600380546109ad90613c79565b80601f01602080910402602001604051908101604052809291908181526020018280546109d990613c79565b8015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b6060600060038054610a3f90613c79565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b90613c79565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090506000815111610b03576040518060400160405280600b81526020017f757269206e6f7420736574000000000000000000000000000000000000000000815250610b2e565b80610b0d846119cb565b604051602001610b1e929190613538565b6040516020818303038152906040525b915050919050565b600b5481565b6000600d54905090565b610b4e6119c3565b73ffffffffffffffffffffffffffffffffffffffff16610b6c61113d565b73ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb99061384f565b60405180910390fd5b8060098190555050565b610bd46119c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610c1a5750610c1985610c146119c3565b611700565b5b610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c50906137cf565b60405180910390fd5b610c668585858585611b2c565b5050505050565b610c756119c3565b73ffffffffffffffffffffffffffffffffffffffff16610c9361113d565b73ffffffffffffffffffffffffffffffffffffffff1614610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce09061384f565b60405180910390fd5b80600b8190555050565b610cfb61113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d405750600c60009054906101000a900460ff165b610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061374f565b60405180910390fd5b60085481610d8b610b3c565b610d959190613aae565b1115610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd9061380f565b60405180910390fd5b6032811115610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e119061382f565b60405180910390fd5b80600a54610e289190613b35565b34101580610e685750610e3961113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e9061386f565b60405180910390fd5b60005b81811015610efd57610ed583610ebe610b3c565b600160405180602001604052806000815250611e43565b6001600d54610ee49190613aae565b600d819055508080610ef590613cdc565b915050610eaa565b505050565b60608151835114610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f906138af565b60405180910390fd5b6000835167ffffffffffffffff811115610f6557610f64613e12565b5b604051908082528060200260200182016040528015610f935781602001602082028036833780820191505090505b50905060005b845181101561101057610fe0858281518110610fb857610fb7613de3565b5b6020026020010151858381518110610fd357610fd2613de3565b5b60200260200101516106e0565b828281518110610ff357610ff2613de3565b5b6020026020010181815250508061100990613cdc565b9050610f99565b508091505092915050565b6110236119c3565b73ffffffffffffffffffffffffffffffffffffffff1661104161113d565b73ffffffffffffffffffffffffffffffffffffffff1614611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e9061384f565b60405180910390fd5b80600390805190602001906110ad929190612a7d565b5050565b60085481565b6110bf6119c3565b73ffffffffffffffffffffffffffffffffffffffff166110dd61113d565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a9061384f565b60405180910390fd5b61113b611fda565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6007805461117390613c79565b80601f016020809104026020016040519081016040528092919081815260200182805461119f90613c79565b80156111ec5780601f106111c1576101008083540402835291602001916111ec565b820191906000526020600020905b8154815290600101906020018083116111cf57829003601f168201915b505050505081565b6112066111ff6119c3565b8383612154565b5050565b6112126119c3565b73ffffffffffffffffffffffffffffffffffffffff1661123061113d565b73ffffffffffffffffffffffffffffffffffffffff1614611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d9061384f565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b600a5481565b6112b16119c3565b73ffffffffffffffffffffffffffffffffffffffff166112cf61113d565b73ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c9061384f565b60405180910390fd5b80600a8190555050565b61133761113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061137c5750600c60019054906101000a900460ff165b6113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b29061374f565b60405180910390fd5b6113c361113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061144d575060011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b61148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114839061378f565b60405180910390fd5b60095481611498610b3c565b6114a29190613aae565b11156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da9061380f565b60405180910390fd5b6032811115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e9061382f565b60405180910390fd5b80600b546115359190613b35565b34101580611575575061154661113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab9061386f565b60405180910390fd5b60005b8181101561160a576115e2836115cb610b3c565b600160405180602001604052806000815250611e43565b6001600d546115f19190613aae565b600d81905550808061160290613cdc565b9150506115b7565b506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61166f6119c3565b73ffffffffffffffffffffffffffffffffffffffff1661168d61113d565b73ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da9061384f565b60405180910390fd5b80600c60016101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c60019054906101000a900460ff1681565b6117af6119c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806117f557506117f4856117ef6119c3565b611700565b5b611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b9061376f565b60405180910390fd5b61184185858585856122c1565b5050505050565b6118506119c3565b73ffffffffffffffffffffffffffffffffffffffff1661186e61113d565b73ffffffffffffffffffffffffffffffffffffffff16146118c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bb9061384f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b9061372f565b60405180910390fd5b61193d81612546565b50565b600c60009054906101000a900460ff1681565b60095481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60606000821415611a13576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611b27565b600082905060005b60008214611a45578080611a2e90613cdc565b915050600a82611a3e9190613b04565b9150611a1b565b60008167ffffffffffffffff811115611a6157611a60613e12565b5b6040519080825280601f01601f191660200182016040528015611a935781602001600182028036833780820191505090505b5090505b60008514611b2057600182611aac9190613b8f565b9150600a85611abb9190613d25565b6030611ac79190613aae565b60f81b818381518110611add57611adc613de3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611b199190613b04565b9450611a97565b8093505050505b919050565b8151835114611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b67906138cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd7906137af565b60405180910390fd5b6000611bea6119c3565b9050611bfa81878787878761260a565b60005b8451811015611dae576000858281518110611c1b57611c1a613de3565b5b602002602001015190506000858381518110611c3a57611c39613de3565b5b6020026020010151905060006001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd3906137ef565b60405180910390fd5b8181036001600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d939190613aae565b9250508190555050505080611da790613cdc565b9050611bfd565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611e2592919061365b565b60405180910390a4611e3b818787878787612612565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaa906138ef565b60405180910390fd5b6000611ebd6119c3565b9050611ede81600087611ecf886127f9565b611ed8886127f9565b8761260a565b826001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f3e9190613aae565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611fbc92919061392a565b60405180910390a4611fd381600087878787612873565b5050505050565b60006064601447611feb9190613b35565b611ff59190613b04565b905060006064600c476120089190613b35565b6120129190613b04565b905060008183476120239190613b8f565b61202d9190613b8f565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612097573d6000803e3d6000fd5b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612100573d6000803e3d6000fd5b506121096119c3565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561214e573d6000803e3d6000fd5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba9061388f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122b49190613692565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612331576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612328906137af565b60405180910390fd5b600061233b6119c3565b905061235b81878761234c886127f9565b612355886127f9565b8761260a565b60006001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156123f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ea906137ef565b60405180910390fd5b8381036001600087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124aa9190613aae565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161252792919061392a565b60405180910390a461253d828888888888612873565b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050505050565b6126318473ffffffffffffffffffffffffffffffffffffffff16612a5a565b156127f1578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401612677959493929190613577565b602060405180830381600087803b15801561269157600080fd5b505af19250505080156126c257506040513d601f19601f820116820180604052508101906126bf91906130ca565b60015b612768576126ce613e41565b806308c379a0141561272b57506126e3614344565b806126ee575061272d565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272291906136ad565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275f906136cf565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e6906136ef565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561281857612817613e12565b5b6040519080825280602002602001820160405280156128465781602001602082028036833780820191505090505b509050828160008151811061285e5761285d613de3565b5b60200260200101818152505080915050919050565b6128928473ffffffffffffffffffffffffffffffffffffffff16612a5a565b15612a52578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016128d89594939291906135df565b602060405180830381600087803b1580156128f257600080fd5b505af192505050801561292357506040513d601f19601f8201168201806040525081019061292091906130ca565b60015b6129c95761292f613e41565b806308c379a0141561298c5750612944614344565b8061294f575061298e565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298391906136ad565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c0906136cf565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a47906136ef565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b828054612a8990613c79565b90600052602060002090601f016020900481019282612aab5760008555612af2565b82601f10612ac457805160ff1916838001178555612af2565b82800160010185558215612af2579182015b82811115612af1578251825591602001919060010190612ad6565b5b509050612aff9190612b03565b5090565b5b80821115612b1c576000816000905550600101612b04565b5090565b6000612b33612b2e84613978565b613953565b90508083825260208201905082856020860282011115612b5657612b55613e68565b5b60005b85811015612b865781612b6c8882612c84565b845260208401935060208301925050600181019050612b59565b5050509392505050565b6000612ba3612b9e846139a4565b613953565b90508083825260208201905082856020860282011115612bc657612bc5613e68565b5b60005b85811015612bf65781612bdc8882612d90565b845260208401935060208301925050600181019050612bc9565b5050509392505050565b6000612c13612c0e846139d0565b613953565b905082815260208101848484011115612c2f57612c2e613e6d565b5b612c3a848285613c37565b509392505050565b6000612c55612c5084613a01565b613953565b905082815260208101848484011115612c7157612c70613e6d565b5b612c7c848285613c37565b509392505050565b600081359050612c93816143da565b92915050565b600082601f830112612cae57612cad613e63565b5b8135612cbe848260208601612b20565b91505092915050565b600082601f830112612cdc57612cdb613e63565b5b8135612cec848260208601612b90565b91505092915050565b600081359050612d04816143f1565b92915050565b600081359050612d1981614408565b92915050565b600081519050612d2e81614408565b92915050565b600082601f830112612d4957612d48613e63565b5b8135612d59848260208601612c00565b91505092915050565b600082601f830112612d7757612d76613e63565b5b8135612d87848260208601612c42565b91505092915050565b600081359050612d9f8161441f565b92915050565b600060208284031215612dbb57612dba613e77565b5b6000612dc984828501612c84565b91505092915050565b60008060408385031215612de957612de8613e77565b5b6000612df785828601612c84565b9250506020612e0885828601612c84565b9150509250929050565b600080600080600060a08688031215612e2e57612e2d613e77565b5b6000612e3c88828901612c84565b9550506020612e4d88828901612c84565b945050604086013567ffffffffffffffff811115612e6e57612e6d613e72565b5b612e7a88828901612cc7565b935050606086013567ffffffffffffffff811115612e9b57612e9a613e72565b5b612ea788828901612cc7565b925050608086013567ffffffffffffffff811115612ec857612ec7613e72565b5b612ed488828901612d34565b9150509295509295909350565b600080600080600060a08688031215612efd57612efc613e77565b5b6000612f0b88828901612c84565b9550506020612f1c88828901612c84565b9450506040612f2d88828901612d90565b9350506060612f3e88828901612d90565b925050608086013567ffffffffffffffff811115612f5f57612f5e613e72565b5b612f6b88828901612d34565b9150509295509295909350565b60008060408385031215612f8f57612f8e613e77565b5b6000612f9d85828601612c84565b9250506020612fae85828601612cf5565b9150509250929050565b60008060408385031215612fcf57612fce613e77565b5b6000612fdd85828601612c84565b9250506020612fee85828601612d90565b9150509250929050565b6000806040838503121561300f5761300e613e77565b5b600083013567ffffffffffffffff81111561302d5761302c613e72565b5b61303985828601612c99565b925050602083013567ffffffffffffffff81111561305a57613059613e72565b5b61306685828601612cc7565b9150509250929050565b60006020828403121561308657613085613e77565b5b600061309484828501612cf5565b91505092915050565b6000602082840312156130b3576130b2613e77565b5b60006130c184828501612d0a565b91505092915050565b6000602082840312156130e0576130df613e77565b5b60006130ee84828501612d1f565b91505092915050565b60006020828403121561310d5761310c613e77565b5b600082013567ffffffffffffffff81111561312b5761312a613e72565b5b61313784828501612d62565b91505092915050565b60006020828403121561315657613155613e77565b5b600061316484828501612d90565b91505092915050565b6000613179838361351a565b60208301905092915050565b61318e81613bc3565b82525050565b600061319f82613a42565b6131a98185613a70565b93506131b483613a32565b8060005b838110156131e55781516131cc888261316d565b97506131d783613a63565b9250506001810190506131b8565b5085935050505092915050565b6131fb81613bd5565b82525050565b600061320c82613a4d565b6132168185613a81565b9350613226818560208601613c46565b61322f81613e7c565b840191505092915050565b600061324582613a58565b61324f8185613a92565b935061325f818560208601613c46565b61326881613e7c565b840191505092915050565b600061327e82613a58565b6132888185613aa3565b9350613298818560208601613c46565b80840191505092915050565b60006132b1603483613a92565b91506132bc82613e9a565b604082019050919050565b60006132d4602883613a92565b91506132df82613ee9565b604082019050919050565b60006132f7602b83613a92565b915061330282613f38565b604082019050919050565b600061331a602683613a92565b915061332582613f87565b604082019050919050565b600061333d600f83613a92565b915061334882613fd6565b602082019050919050565b6000613360602983613a92565b915061336b82613fff565b604082019050919050565b6000613383600c83613a92565b915061338e8261404e565b602082019050919050565b60006133a6602583613a92565b91506133b182614077565b604082019050919050565b60006133c9603283613a92565b91506133d4826140c6565b604082019050919050565b60006133ec602a83613a92565b91506133f782614115565b604082019050919050565b600061340f600d83613a92565b915061341a82614164565b602082019050919050565b6000613432600a83613a92565b915061343d8261418d565b602082019050919050565b6000613455602083613a92565b9150613460826141b6565b602082019050919050565b6000613478601183613a92565b9150613483826141df565b602082019050919050565b600061349b602983613a92565b91506134a682614208565b604082019050919050565b60006134be602983613a92565b91506134c982614257565b604082019050919050565b60006134e1602883613a92565b91506134ec826142a6565b604082019050919050565b6000613504602183613a92565b915061350f826142f5565b604082019050919050565b61352381613c2d565b82525050565b61353281613c2d565b82525050565b60006135448285613273565b91506135508284613273565b91508190509392505050565b60006020820190506135716000830184613185565b92915050565b600060a08201905061358c6000830188613185565b6135996020830187613185565b81810360408301526135ab8186613194565b905081810360608301526135bf8185613194565b905081810360808301526135d38184613201565b90509695505050505050565b600060a0820190506135f46000830188613185565b6136016020830187613185565b61360e6040830186613529565b61361b6060830185613529565b818103608083015261362d8184613201565b90509695505050505050565b600060208201905081810360008301526136538184613194565b905092915050565b600060408201905081810360008301526136758185613194565b905081810360208301526136898184613194565b90509392505050565b60006020820190506136a760008301846131f2565b92915050565b600060208201905081810360008301526136c7818461323a565b905092915050565b600060208201905081810360008301526136e8816132a4565b9050919050565b60006020820190508181036000830152613708816132c7565b9050919050565b60006020820190508181036000830152613728816132ea565b9050919050565b600060208201905081810360008301526137488161330d565b9050919050565b6000602082019050818103600083015261376881613330565b9050919050565b6000602082019050818103600083015261378881613353565b9050919050565b600060208201905081810360008301526137a881613376565b9050919050565b600060208201905081810360008301526137c881613399565b9050919050565b600060208201905081810360008301526137e8816133bc565b9050919050565b60006020820190508181036000830152613808816133df565b9050919050565b6000602082019050818103600083015261382881613402565b9050919050565b6000602082019050818103600083015261384881613425565b9050919050565b6000602082019050818103600083015261386881613448565b9050919050565b600060208201905081810360008301526138888161346b565b9050919050565b600060208201905081810360008301526138a88161348e565b9050919050565b600060208201905081810360008301526138c8816134b1565b9050919050565b600060208201905081810360008301526138e8816134d4565b9050919050565b60006020820190508181036000830152613908816134f7565b9050919050565b60006020820190506139246000830184613529565b92915050565b600060408201905061393f6000830185613529565b61394c6020830184613529565b9392505050565b600061395d61396e565b90506139698282613cab565b919050565b6000604051905090565b600067ffffffffffffffff82111561399357613992613e12565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139bf576139be613e12565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139eb576139ea613e12565b5b6139f482613e7c565b9050602081019050919050565b600067ffffffffffffffff821115613a1c57613a1b613e12565b5b613a2582613e7c565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000613ab982613c2d565b9150613ac483613c2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613af957613af8613d56565b5b828201905092915050565b6000613b0f82613c2d565b9150613b1a83613c2d565b925082613b2a57613b29613d85565b5b828204905092915050565b6000613b4082613c2d565b9150613b4b83613c2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8457613b83613d56565b5b828202905092915050565b6000613b9a82613c2d565b9150613ba583613c2d565b925082821015613bb857613bb7613d56565b5b828203905092915050565b6000613bce82613c0d565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613c64578082015181840152602081019050613c49565b83811115613c73576000848401525b50505050565b60006002820490506001821680613c9157607f821691505b60208210811415613ca557613ca4613db4565b5b50919050565b613cb482613e7c565b810181811067ffffffffffffffff82111715613cd357613cd2613e12565b5b80604052505050565b6000613ce782613c2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d1a57613d19613d56565b5b600182019050919050565b6000613d3082613c2d565b9150613d3b83613c2d565b925082613d4b57613d4a613d85565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d1115613e605760046000803e613e5d600051613e8d565b90505b90565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f53616c65206e6f7420656e61626c650000000000000000000000000000000000600082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f4e6f2077686974656c6973740000000000000000000000000000000000000000600082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f45786365656473206c696d697400000000000000000000000000000000000000600082015250565b7f4578636565647320353000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f56616c75652062656c6f77207072696365000000000000000000000000000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600060443d1015614354576143d7565b61435c61396e565b60043d036004823e80513d602482011167ffffffffffffffff821117156143845750506143d7565b808201805167ffffffffffffffff8111156143a257505050506143d7565b80602083010160043d0385018111156143bf5750505050506143d7565b6143ce82602001850186613cab565b82955050505050505b90565b6143e381613bc3565b81146143ee57600080fd5b50565b6143fa81613bd5565b811461440557600080fd5b50565b61441181613be1565b811461441c57600080fd5b50565b61442881613c2d565b811461443357600080fd5b5056fea2646970667358221220010e32621b8d57d5db74b4393ebddfb07a192791b347ab05925a2aec015f044564736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000094d656b614669676874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074357455831343200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a68747470733a2f2f6170692e6d656b6166696768742e636f6d2f000000000000

Deployed Bytecode

0x6080604052600436106101cc5760003560e01c8063853828b6116100f7578063df3df83f11610095578063f242432a11610064578063f242432a14610638578063f2fde38b14610661578063fe4ca8471461068a578063ff7e8ea3146106b5576101cc565b8063df3df83f1461058b578063e03abf54146105a7578063e985e9c5146105d0578063eaae15761461060d576101cc565b8063a22cb465116100d1578063a22cb465146104e5578063b02636fd1461050e578063c7876ea414610537578063de4b326214610562576101cc565b8063853828b6146104855780638da5cb5b1461048f57806395d89b41146104ba576101cc565b806318160ddd1161016f57806340c10f191161013e57806340c10f19146103d85780634e1273f4146103f457806355f804b3146104315780636e1bd3231461045a576101cc565b806318160ddd146103325780632e6f0d331461035d5780632eb2c2d6146103865780633b3bfd5a146103af576101cc565b806309acc2cb116101ab57806309acc2cb146102765780630dccc9ad1461029f5780630e89341c146102ca57806310751fc214610307576101cc565b8062fdd58e146101d157806301ffc9a71461020e57806306fdde031461024b575b600080fd5b3480156101dd57600080fd5b506101f860048036038101906101f39190612fb8565b6106e0565b604051610205919061390f565b60405180910390f35b34801561021a57600080fd5b506102356004803603810190610230919061309d565b6107aa565b6040516102429190613692565b60405180910390f35b34801561025757600080fd5b5061026061088c565b60405161026d91906136ad565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190613140565b61091a565b005b3480156102ab57600080fd5b506102b46109a0565b6040516102c191906136ad565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec9190613140565b610a2e565b6040516102fe91906136ad565b60405180910390f35b34801561031357600080fd5b5061031c610b36565b604051610329919061390f565b60405180910390f35b34801561033e57600080fd5b50610347610b3c565b604051610354919061390f565b60405180910390f35b34801561036957600080fd5b50610384600480360381019061037f9190613140565b610b46565b005b34801561039257600080fd5b506103ad60048036038101906103a89190612e12565b610bcc565b005b3480156103bb57600080fd5b506103d660048036038101906103d19190613140565b610c6d565b005b6103f260048036038101906103ed9190612fb8565b610cf3565b005b34801561040057600080fd5b5061041b60048036038101906104169190612ff8565b610f02565b6040516104289190613639565b60405180910390f35b34801561043d57600080fd5b50610458600480360381019061045391906130f7565b61101b565b005b34801561046657600080fd5b5061046f6110b1565b60405161047c919061390f565b60405180910390f35b61048d6110b7565b005b34801561049b57600080fd5b506104a461113d565b6040516104b1919061355c565b60405180910390f35b3480156104c657600080fd5b506104cf611166565b6040516104dc91906136ad565b60405180910390f35b3480156104f157600080fd5b5061050c60048036038101906105079190612f78565b6111f4565b005b34801561051a57600080fd5b5061053560048036038101906105309190613070565b61120a565b005b34801561054357600080fd5b5061054c6112a3565b604051610559919061390f565b60405180910390f35b34801561056e57600080fd5b5061058960048036038101906105849190613140565b6112a9565b005b6105a560048036038101906105a09190612fb8565b61132f565b005b3480156105b357600080fd5b506105ce60048036038101906105c99190613070565b611667565b005b3480156105dc57600080fd5b506105f760048036038101906105f29190612dd2565b611700565b6040516106049190613692565b60405180910390f35b34801561061957600080fd5b50610622611794565b60405161062f9190613692565b60405180910390f35b34801561064457600080fd5b5061065f600480360381019061065a9190612ee1565b6117a7565b005b34801561066d57600080fd5b5061068860048036038101906106839190612da5565b611848565b005b34801561069657600080fd5b5061069f611940565b6040516106ac9190613692565b60405180910390f35b3480156106c157600080fd5b506106ca611953565b6040516106d7919061390f565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107489061370f565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061087557507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610885575061088482611959565b5b9050919050565b6006805461089990613c79565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590613c79565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b505050505081565b6109226119c3565b73ffffffffffffffffffffffffffffffffffffffff1661094061113d565b73ffffffffffffffffffffffffffffffffffffffff1614610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d9061384f565b60405180910390fd5b8060088190555050565b600380546109ad90613c79565b80601f01602080910402602001604051908101604052809291908181526020018280546109d990613c79565b8015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b505050505081565b6060600060038054610a3f90613c79565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b90613c79565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b505050505090506000815111610b03576040518060400160405280600b81526020017f757269206e6f7420736574000000000000000000000000000000000000000000815250610b2e565b80610b0d846119cb565b604051602001610b1e929190613538565b6040516020818303038152906040525b915050919050565b600b5481565b6000600d54905090565b610b4e6119c3565b73ffffffffffffffffffffffffffffffffffffffff16610b6c61113d565b73ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb99061384f565b60405180910390fd5b8060098190555050565b610bd46119c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610c1a5750610c1985610c146119c3565b611700565b5b610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c50906137cf565b60405180910390fd5b610c668585858585611b2c565b5050505050565b610c756119c3565b73ffffffffffffffffffffffffffffffffffffffff16610c9361113d565b73ffffffffffffffffffffffffffffffffffffffff1614610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce09061384f565b60405180910390fd5b80600b8190555050565b610cfb61113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d405750600c60009054906101000a900460ff165b610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d769061374f565b60405180910390fd5b60085481610d8b610b3c565b610d959190613aae565b1115610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd9061380f565b60405180910390fd5b6032811115610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e119061382f565b60405180910390fd5b80600a54610e289190613b35565b34101580610e685750610e3961113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e9061386f565b60405180910390fd5b60005b81811015610efd57610ed583610ebe610b3c565b600160405180602001604052806000815250611e43565b6001600d54610ee49190613aae565b600d819055508080610ef590613cdc565b915050610eaa565b505050565b60608151835114610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f906138af565b60405180910390fd5b6000835167ffffffffffffffff811115610f6557610f64613e12565b5b604051908082528060200260200182016040528015610f935781602001602082028036833780820191505090505b50905060005b845181101561101057610fe0858281518110610fb857610fb7613de3565b5b6020026020010151858381518110610fd357610fd2613de3565b5b60200260200101516106e0565b828281518110610ff357610ff2613de3565b5b6020026020010181815250508061100990613cdc565b9050610f99565b508091505092915050565b6110236119c3565b73ffffffffffffffffffffffffffffffffffffffff1661104161113d565b73ffffffffffffffffffffffffffffffffffffffff1614611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e9061384f565b60405180910390fd5b80600390805190602001906110ad929190612a7d565b5050565b60085481565b6110bf6119c3565b73ffffffffffffffffffffffffffffffffffffffff166110dd61113d565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a9061384f565b60405180910390fd5b61113b611fda565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6007805461117390613c79565b80601f016020809104026020016040519081016040528092919081815260200182805461119f90613c79565b80156111ec5780601f106111c1576101008083540402835291602001916111ec565b820191906000526020600020905b8154815290600101906020018083116111cf57829003601f168201915b505050505081565b6112066111ff6119c3565b8383612154565b5050565b6112126119c3565b73ffffffffffffffffffffffffffffffffffffffff1661123061113d565b73ffffffffffffffffffffffffffffffffffffffff1614611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d9061384f565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b600a5481565b6112b16119c3565b73ffffffffffffffffffffffffffffffffffffffff166112cf61113d565b73ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c9061384f565b60405180910390fd5b80600a8190555050565b61133761113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061137c5750600c60019054906101000a900460ff165b6113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b29061374f565b60405180910390fd5b6113c361113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061144d575060011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b61148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114839061378f565b60405180910390fd5b60095481611498610b3c565b6114a29190613aae565b11156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da9061380f565b60405180910390fd5b6032811115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e9061382f565b60405180910390fd5b80600b546115359190613b35565b34101580611575575061154661113d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab9061386f565b60405180910390fd5b60005b8181101561160a576115e2836115cb610b3c565b600160405180602001604052806000815250611e43565b6001600d546115f19190613aae565b600d81905550808061160290613cdc565b9150506115b7565b506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61166f6119c3565b73ffffffffffffffffffffffffffffffffffffffff1661168d61113d565b73ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da9061384f565b60405180910390fd5b80600c60016101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c60019054906101000a900460ff1681565b6117af6119c3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806117f557506117f4856117ef6119c3565b611700565b5b611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b9061376f565b60405180910390fd5b61184185858585856122c1565b5050505050565b6118506119c3565b73ffffffffffffffffffffffffffffffffffffffff1661186e61113d565b73ffffffffffffffffffffffffffffffffffffffff16146118c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bb9061384f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b9061372f565b60405180910390fd5b61193d81612546565b50565b600c60009054906101000a900460ff1681565b60095481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60606000821415611a13576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611b27565b600082905060005b60008214611a45578080611a2e90613cdc565b915050600a82611a3e9190613b04565b9150611a1b565b60008167ffffffffffffffff811115611a6157611a60613e12565b5b6040519080825280601f01601f191660200182016040528015611a935781602001600182028036833780820191505090505b5090505b60008514611b2057600182611aac9190613b8f565b9150600a85611abb9190613d25565b6030611ac79190613aae565b60f81b818381518110611add57611adc613de3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611b199190613b04565b9450611a97565b8093505050505b919050565b8151835114611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b67906138cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd7906137af565b60405180910390fd5b6000611bea6119c3565b9050611bfa81878787878761260a565b60005b8451811015611dae576000858281518110611c1b57611c1a613de3565b5b602002602001015190506000858381518110611c3a57611c39613de3565b5b6020026020010151905060006001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd3906137ef565b60405180910390fd5b8181036001600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d939190613aae565b9250508190555050505080611da790613cdc565b9050611bfd565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611e2592919061365b565b60405180910390a4611e3b818787878787612612565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaa906138ef565b60405180910390fd5b6000611ebd6119c3565b9050611ede81600087611ecf886127f9565b611ed8886127f9565b8761260a565b826001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f3e9190613aae565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611fbc92919061392a565b60405180910390a4611fd381600087878787612873565b5050505050565b60006064601447611feb9190613b35565b611ff59190613b04565b905060006064600c476120089190613b35565b6120129190613b04565b905060008183476120239190613b8f565b61202d9190613b8f565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612097573d6000803e3d6000fd5b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612100573d6000803e3d6000fd5b506121096119c3565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561214e573d6000803e3d6000fd5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba9061388f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122b49190613692565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612331576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612328906137af565b60405180910390fd5b600061233b6119c3565b905061235b81878761234c886127f9565b612355886127f9565b8761260a565b60006001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156123f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ea906137ef565b60405180910390fd5b8381036001600087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124aa9190613aae565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161252792919061392a565b60405180910390a461253d828888888888612873565b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050505050565b6126318473ffffffffffffffffffffffffffffffffffffffff16612a5a565b156127f1578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401612677959493929190613577565b602060405180830381600087803b15801561269157600080fd5b505af19250505080156126c257506040513d601f19601f820116820180604052508101906126bf91906130ca565b60015b612768576126ce613e41565b806308c379a0141561272b57506126e3614344565b806126ee575061272d565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272291906136ad565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275f906136cf565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e6906136ef565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561281857612817613e12565b5b6040519080825280602002602001820160405280156128465781602001602082028036833780820191505090505b509050828160008151811061285e5761285d613de3565b5b60200260200101818152505080915050919050565b6128928473ffffffffffffffffffffffffffffffffffffffff16612a5a565b15612a52578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016128d89594939291906135df565b602060405180830381600087803b1580156128f257600080fd5b505af192505050801561292357506040513d601f19601f8201168201806040525081019061292091906130ca565b60015b6129c95761292f613e41565b806308c379a0141561298c5750612944614344565b8061294f575061298e565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298391906136ad565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c0906136cf565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a47906136ef565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b828054612a8990613c79565b90600052602060002090601f016020900481019282612aab5760008555612af2565b82601f10612ac457805160ff1916838001178555612af2565b82800160010185558215612af2579182015b82811115612af1578251825591602001919060010190612ad6565b5b509050612aff9190612b03565b5090565b5b80821115612b1c576000816000905550600101612b04565b5090565b6000612b33612b2e84613978565b613953565b90508083825260208201905082856020860282011115612b5657612b55613e68565b5b60005b85811015612b865781612b6c8882612c84565b845260208401935060208301925050600181019050612b59565b5050509392505050565b6000612ba3612b9e846139a4565b613953565b90508083825260208201905082856020860282011115612bc657612bc5613e68565b5b60005b85811015612bf65781612bdc8882612d90565b845260208401935060208301925050600181019050612bc9565b5050509392505050565b6000612c13612c0e846139d0565b613953565b905082815260208101848484011115612c2f57612c2e613e6d565b5b612c3a848285613c37565b509392505050565b6000612c55612c5084613a01565b613953565b905082815260208101848484011115612c7157612c70613e6d565b5b612c7c848285613c37565b509392505050565b600081359050612c93816143da565b92915050565b600082601f830112612cae57612cad613e63565b5b8135612cbe848260208601612b20565b91505092915050565b600082601f830112612cdc57612cdb613e63565b5b8135612cec848260208601612b90565b91505092915050565b600081359050612d04816143f1565b92915050565b600081359050612d1981614408565b92915050565b600081519050612d2e81614408565b92915050565b600082601f830112612d4957612d48613e63565b5b8135612d59848260208601612c00565b91505092915050565b600082601f830112612d7757612d76613e63565b5b8135612d87848260208601612c42565b91505092915050565b600081359050612d9f8161441f565b92915050565b600060208284031215612dbb57612dba613e77565b5b6000612dc984828501612c84565b91505092915050565b60008060408385031215612de957612de8613e77565b5b6000612df785828601612c84565b9250506020612e0885828601612c84565b9150509250929050565b600080600080600060a08688031215612e2e57612e2d613e77565b5b6000612e3c88828901612c84565b9550506020612e4d88828901612c84565b945050604086013567ffffffffffffffff811115612e6e57612e6d613e72565b5b612e7a88828901612cc7565b935050606086013567ffffffffffffffff811115612e9b57612e9a613e72565b5b612ea788828901612cc7565b925050608086013567ffffffffffffffff811115612ec857612ec7613e72565b5b612ed488828901612d34565b9150509295509295909350565b600080600080600060a08688031215612efd57612efc613e77565b5b6000612f0b88828901612c84565b9550506020612f1c88828901612c84565b9450506040612f2d88828901612d90565b9350506060612f3e88828901612d90565b925050608086013567ffffffffffffffff811115612f5f57612f5e613e72565b5b612f6b88828901612d34565b9150509295509295909350565b60008060408385031215612f8f57612f8e613e77565b5b6000612f9d85828601612c84565b9250506020612fae85828601612cf5565b9150509250929050565b60008060408385031215612fcf57612fce613e77565b5b6000612fdd85828601612c84565b9250506020612fee85828601612d90565b9150509250929050565b6000806040838503121561300f5761300e613e77565b5b600083013567ffffffffffffffff81111561302d5761302c613e72565b5b61303985828601612c99565b925050602083013567ffffffffffffffff81111561305a57613059613e72565b5b61306685828601612cc7565b9150509250929050565b60006020828403121561308657613085613e77565b5b600061309484828501612cf5565b91505092915050565b6000602082840312156130b3576130b2613e77565b5b60006130c184828501612d0a565b91505092915050565b6000602082840312156130e0576130df613e77565b5b60006130ee84828501612d1f565b91505092915050565b60006020828403121561310d5761310c613e77565b5b600082013567ffffffffffffffff81111561312b5761312a613e72565b5b61313784828501612d62565b91505092915050565b60006020828403121561315657613155613e77565b5b600061316484828501612d90565b91505092915050565b6000613179838361351a565b60208301905092915050565b61318e81613bc3565b82525050565b600061319f82613a42565b6131a98185613a70565b93506131b483613a32565b8060005b838110156131e55781516131cc888261316d565b97506131d783613a63565b9250506001810190506131b8565b5085935050505092915050565b6131fb81613bd5565b82525050565b600061320c82613a4d565b6132168185613a81565b9350613226818560208601613c46565b61322f81613e7c565b840191505092915050565b600061324582613a58565b61324f8185613a92565b935061325f818560208601613c46565b61326881613e7c565b840191505092915050565b600061327e82613a58565b6132888185613aa3565b9350613298818560208601613c46565b80840191505092915050565b60006132b1603483613a92565b91506132bc82613e9a565b604082019050919050565b60006132d4602883613a92565b91506132df82613ee9565b604082019050919050565b60006132f7602b83613a92565b915061330282613f38565b604082019050919050565b600061331a602683613a92565b915061332582613f87565b604082019050919050565b600061333d600f83613a92565b915061334882613fd6565b602082019050919050565b6000613360602983613a92565b915061336b82613fff565b604082019050919050565b6000613383600c83613a92565b915061338e8261404e565b602082019050919050565b60006133a6602583613a92565b91506133b182614077565b604082019050919050565b60006133c9603283613a92565b91506133d4826140c6565b604082019050919050565b60006133ec602a83613a92565b91506133f782614115565b604082019050919050565b600061340f600d83613a92565b915061341a82614164565b602082019050919050565b6000613432600a83613a92565b915061343d8261418d565b602082019050919050565b6000613455602083613a92565b9150613460826141b6565b602082019050919050565b6000613478601183613a92565b9150613483826141df565b602082019050919050565b600061349b602983613a92565b91506134a682614208565b604082019050919050565b60006134be602983613a92565b91506134c982614257565b604082019050919050565b60006134e1602883613a92565b91506134ec826142a6565b604082019050919050565b6000613504602183613a92565b915061350f826142f5565b604082019050919050565b61352381613c2d565b82525050565b61353281613c2d565b82525050565b60006135448285613273565b91506135508284613273565b91508190509392505050565b60006020820190506135716000830184613185565b92915050565b600060a08201905061358c6000830188613185565b6135996020830187613185565b81810360408301526135ab8186613194565b905081810360608301526135bf8185613194565b905081810360808301526135d38184613201565b90509695505050505050565b600060a0820190506135f46000830188613185565b6136016020830187613185565b61360e6040830186613529565b61361b6060830185613529565b818103608083015261362d8184613201565b90509695505050505050565b600060208201905081810360008301526136538184613194565b905092915050565b600060408201905081810360008301526136758185613194565b905081810360208301526136898184613194565b90509392505050565b60006020820190506136a760008301846131f2565b92915050565b600060208201905081810360008301526136c7818461323a565b905092915050565b600060208201905081810360008301526136e8816132a4565b9050919050565b60006020820190508181036000830152613708816132c7565b9050919050565b60006020820190508181036000830152613728816132ea565b9050919050565b600060208201905081810360008301526137488161330d565b9050919050565b6000602082019050818103600083015261376881613330565b9050919050565b6000602082019050818103600083015261378881613353565b9050919050565b600060208201905081810360008301526137a881613376565b9050919050565b600060208201905081810360008301526137c881613399565b9050919050565b600060208201905081810360008301526137e8816133bc565b9050919050565b60006020820190508181036000830152613808816133df565b9050919050565b6000602082019050818103600083015261382881613402565b9050919050565b6000602082019050818103600083015261384881613425565b9050919050565b6000602082019050818103600083015261386881613448565b9050919050565b600060208201905081810360008301526138888161346b565b9050919050565b600060208201905081810360008301526138a88161348e565b9050919050565b600060208201905081810360008301526138c8816134b1565b9050919050565b600060208201905081810360008301526138e8816134d4565b9050919050565b60006020820190508181036000830152613908816134f7565b9050919050565b60006020820190506139246000830184613529565b92915050565b600060408201905061393f6000830185613529565b61394c6020830184613529565b9392505050565b600061395d61396e565b90506139698282613cab565b919050565b6000604051905090565b600067ffffffffffffffff82111561399357613992613e12565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139bf576139be613e12565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156139eb576139ea613e12565b5b6139f482613e7c565b9050602081019050919050565b600067ffffffffffffffff821115613a1c57613a1b613e12565b5b613a2582613e7c565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000613ab982613c2d565b9150613ac483613c2d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613af957613af8613d56565b5b828201905092915050565b6000613b0f82613c2d565b9150613b1a83613c2d565b925082613b2a57613b29613d85565b5b828204905092915050565b6000613b4082613c2d565b9150613b4b83613c2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8457613b83613d56565b5b828202905092915050565b6000613b9a82613c2d565b9150613ba583613c2d565b925082821015613bb857613bb7613d56565b5b828203905092915050565b6000613bce82613c0d565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613c64578082015181840152602081019050613c49565b83811115613c73576000848401525b50505050565b60006002820490506001821680613c9157607f821691505b60208210811415613ca557613ca4613db4565b5b50919050565b613cb482613e7c565b810181811067ffffffffffffffff82111715613cd357613cd2613e12565b5b80604052505050565b6000613ce782613c2d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d1a57613d19613d56565b5b600182019050919050565b6000613d3082613c2d565b9150613d3b83613c2d565b925082613d4b57613d4a613d85565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d1115613e605760046000803e613e5d600051613e8d565b90505b90565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f53616c65206e6f7420656e61626c650000000000000000000000000000000000600082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f4e6f2077686974656c6973740000000000000000000000000000000000000000600082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f45786365656473206c696d697400000000000000000000000000000000000000600082015250565b7f4578636565647320353000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f56616c75652062656c6f77207072696365000000000000000000000000000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600060443d1015614354576143d7565b61435c61396e565b60043d036004823e80513d602482011167ffffffffffffffff821117156143845750506143d7565b808201805167ffffffffffffffff8111156143a257505050506143d7565b80602083010160043d0385018111156143bf5750505050506143d7565b6143ce82602001850186613cab565b82955050505050505b90565b6143e381613bc3565b81146143ee57600080fd5b50565b6143fa81613bd5565b811461440557600080fd5b50565b61441181613be1565b811461441c57600080fd5b50565b61442881613c2d565b811461443357600080fd5b5056fea2646970667358221220010e32621b8d57d5db74b4393ebddfb07a192791b347ab05925a2aec015f044564736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000094d656b614669676874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074357455831343200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a68747470733a2f2f6170692e6d656b6166696768742e636f6d2f000000000000

-----Decoded View---------------
Arg [0] : name_ (string): MekaFight
Arg [1] : symbol_ (string): CWEX142
Arg [2] : uri_ (string): https://api.mekafight.com/

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 4d656b6146696768740000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [6] : 4357455831343200000000000000000000000000000000000000000000000000
Arg [7] : 000000000000000000000000000000000000000000000000000000000000001a
Arg [8] : 68747470733a2f2f6170692e6d656b6166696768742e636f6d2f000000000000


Deployed Bytecode Sourcemap

19400:2749:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9614:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9011:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19437:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20131:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8984:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9331:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19613:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22045:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20970:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11139:442;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21085:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20340:505;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9855:524;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21859:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19489:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21958:81;;;:::i;:::-;;7830:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19462:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10389:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20022:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19565:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20235:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21198:653;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20853:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10552:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19730:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10730:401;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8057:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19693:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19526:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9614:231;9700:7;9747:1;9728:21;;:7;:21;;;;9720:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9815:9;:13;9825:2;9815:13;;;;;;;;;;;:22;9829:7;9815:22;;;;;;;;;;;;;;;;9808:29;;9614:231;;;;:::o;9011:310::-;9113:4;9165:26;9150:41;;;:11;:41;;;;:110;;;;9223:37;9208:52;;;:11;:52;;;;9150:110;:163;;;;9277:36;9301:11;9277:23;:36::i;:::-;9150:163;9130:183;;9011:310;;;:::o;19437:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20131:98::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20211:10:::1;20199:9;:22;;;;20131:98:::0;:::o;8984:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9331:271::-;9399:13;9425:21;9449:4;9425:28;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9495:1;9477:7;9471:21;:25;:123;;;;;;;;;;;;;;;;;;;;;;9536:7;9545:18;:7;:16;:18::i;:::-;9519:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9471:123;9464:130;;;9331:271;;;:::o;19613:36::-;;;;:::o;22045:99::-;22097:7;22124:12;;22117:19;;22045:99;:::o;20970:109::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21058:13:::1;21043:12;:28;;;;20970:109:::0;:::o;11139:442::-;11380:12;:10;:12::i;:::-;11372:20;;:4;:20;;;:60;;;;11396:36;11413:4;11419:12;:10;:12::i;:::-;11396:16;:36::i;:::-;11372:60;11350:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;11521:52;11544:4;11550:2;11554:3;11559:7;11568:4;11521:22;:52::i;:::-;11139:442;;;;;:::o;21085:107::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21172:12:::1;21158:11;:26;;;;21085:107:::0;:::o;20340:505::-;20428:7;:5;:7::i;:::-;20414:21;;:10;:21;;;:35;;;;20439:10;;;;;;;;;;;20414:35;20406:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;20513:9;;20503:6;20488:13;:11;:13::i;:::-;:21;;;;:::i;:::-;:34;;20480:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20569:2;20559:6;:12;;20551:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;20630:6;20618:9;;:18;;;;:::i;:::-;20605:9;:31;;:56;;;;20654:7;:5;:7::i;:::-;20640:21;;:10;:21;;;20605:56;20597:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;20701:6;20697:141;20717:6;20713:1;:10;20697:141;;;20744:32;20750:3;20755:13;:11;:13::i;:::-;20770:1;20744:32;;;;;;;;;;;;:5;:32::i;:::-;20821:1;20806:12;;:16;;;;:::i;:::-;20791:12;:31;;;;20725:3;;;;;:::i;:::-;;;;20697:141;;;;20340:505;;:::o;9855:524::-;10011:16;10072:3;:10;10053:8;:15;:29;10045:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;10141:30;10188:8;:15;10174:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10141:63;;10222:9;10217:122;10241:8;:15;10237:1;:19;10217:122;;;10297:30;10307:8;10316:1;10307:11;;;;;;;;:::i;:::-;;;;;;;;10320:3;10324:1;10320:6;;;;;;;;:::i;:::-;;;;;;;;10297:9;:30::i;:::-;10278:13;10292:1;10278:16;;;;;;;;:::i;:::-;;;;;;;:49;;;;;10258:3;;;;:::i;:::-;;;10217:122;;;;10358:13;10351:20;;;9855:524;;;;:::o;21859:93::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21937:7:::1;21930:4;:14;;;;;;;;;;;;:::i;:::-;;21859:93:::0;:::o;19489:30::-;;;;:::o;21958:81::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22017:14:::1;:12;:14::i;:::-;21958:81::o:0;7830:87::-;7876:7;7903:6;;;;;;;;;;;7896:13;;7830:87;:::o;19462:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10389:155::-;10484:52;10503:12;:10;:12::i;:::-;10517:8;10527;10484:18;:52::i;:::-;10389:155;;:::o;20022:103::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20106:11:::1;20093:10;;:24;;;;;;;;;;;;;;;;;;20022:103:::0;:::o;19565:34::-;;;;:::o;20235:99::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20316:10:::1;20304:9;:22;;;;20235:99:::0;:::o;21198:653::-;21296:7;:5;:7::i;:::-;21282:21;;:10;:21;;;:37;;;;21307:12;;;;;;;;;;;21282:37;21274:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;21372:7;:5;:7::i;:::-;21358:21;;:10;:21;;;:55;;;;21409:4;21383:30;;:10;:22;21394:10;21383:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;21358:55;21350:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;21474:12;;21464:6;21449:13;:11;:13::i;:::-;:21;;;;:::i;:::-;:37;;21441:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;21533:2;21523:6;:12;;21515:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;21596:6;21582:11;;:20;;;;:::i;:::-;21569:9;:33;;:58;;;;21620:7;:5;:7::i;:::-;21606:21;;:10;:21;;;21569:58;21561:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;21667:6;21663:141;21683:6;21679:1;:10;21663:141;;;21710:32;21716:3;21721:13;:11;:13::i;:::-;21736:1;21710:32;;;;;;;;;;;;:5;:32::i;:::-;21787:1;21772:12;;:16;;;;:::i;:::-;21757:12;:31;;;;21691:3;;;;;:::i;:::-;;;;21663:141;;;;21839:4;21814:10;:22;21825:10;21814:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;21198:653;;:::o;20853:111::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20943:13:::1;20928:12;;:28;;;;;;;;;;;;;;;;;;20853:111:::0;:::o;10552:168::-;10651:4;10675:18;:27;10694:7;10675:27;;;;;;;;;;;;;;;:37;10703:8;10675:37;;;;;;;;;;;;;;;;;;;;;;;;;10668:44;;10552:168;;;;:::o;19730:32::-;;;;;;;;;;;;;:::o;10730:401::-;10946:12;:10;:12::i;:::-;10938:20;;:4;:20;;;:60;;;;10962:36;10979:4;10985:12;:10;:12::i;:::-;10962:16;:36::i;:::-;10938:60;10916:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;11078:45;11096:4;11102:2;11106;11110:6;11118:4;11078:17;:45::i;:::-;10730:401;;;;;:::o;8057:201::-;7978:12;:10;:12::i;:::-;7967:23;;:7;:5;:7::i;:::-;:23;;;7959:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8166:1:::1;8146:22;;:8;:22;;;;8138:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8222:28;8241:8;8222:18;:28::i;:::-;8057:201:::0;:::o;19693:30::-;;;;;;;;;;;;;:::o;19526:32::-;;;;:::o;3493:157::-;3578:4;3617:25;3602:40;;;:11;:40;;;;3595:47;;3493:157;;;:::o;7370:98::-;7423:7;7450:10;7443:17;;7370:98;:::o;146:540::-;202:13;249:1;240:5;:10;236:53;;;267:10;;;;;;;;;;;;;;;;;;;;;236:53;299:12;314:5;299:20;;330:14;355:78;370:1;362:4;:9;355:78;;388:8;;;;;:::i;:::-;;;;419:2;411:10;;;;;:::i;:::-;;;355:78;;;443:19;475:6;465:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;443:39;;493:154;509:1;500:5;:10;493:154;;537:1;527:11;;;;;:::i;:::-;;;604:2;596:5;:10;;;;:::i;:::-;583:2;:24;;;;:::i;:::-;570:39;;553:6;560;553:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;633:2;624:11;;;;;:::i;:::-;;;493:154;;;671:6;657:21;;;;;146:540;;;;:::o;12419:1074::-;12646:7;:14;12632:3;:10;:28;12624:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;12738:1;12724:16;;:2;:16;;;;12716:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;12795:16;12814:12;:10;:12::i;:::-;12795:31;;12839:60;12860:8;12870:4;12876:2;12880:3;12885:7;12894:4;12839:20;:60::i;:::-;12917:9;12912:421;12936:3;:10;12932:1;:14;12912:421;;;12968:10;12981:3;12985:1;12981:6;;;;;;;;:::i;:::-;;;;;;;;12968:19;;13002:14;13019:7;13027:1;13019:10;;;;;;;;:::i;:::-;;;;;;;;13002:27;;13046:19;13068:9;:13;13078:2;13068:13;;;;;;;;;;;:19;13082:4;13068:19;;;;;;;;;;;;;;;;13046:41;;13125:6;13110:11;:21;;13102:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;13258:6;13244:11;:20;13222:9;:13;13232:2;13222:13;;;;;;;;;;;:19;13236:4;13222:19;;;;;;;;;;;;;;;:42;;;;13315:6;13294:9;:13;13304:2;13294:13;;;;;;;;;;;:17;13308:2;13294:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;12953:380;;;12948:3;;;;:::i;:::-;;;12912:421;;;;13380:2;13350:47;;13374:4;13350:47;;13364:8;13350:47;;;13384:3;13389:7;13350:47;;;;;;;:::i;:::-;;;;;;;;13410:75;13446:8;13456:4;13462:2;13466:3;13471:7;13480:4;13410:35;:75::i;:::-;12613:880;12419:1074;;;;;:::o;13597:569::-;13764:1;13750:16;;:2;:16;;;;13742:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13817:16;13836:12;:10;:12::i;:::-;13817:31;;13861:102;13882:8;13900:1;13904:2;13908:21;13926:2;13908:17;:21::i;:::-;13931:25;13949:6;13931:17;:25::i;:::-;13958:4;13861:20;:102::i;:::-;13997:6;13976:9;:13;13986:2;13976:13;;;;;;;;;;;:17;13990:2;13976:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;14056:2;14019:52;;14052:1;14019:52;;14034:8;14019:52;;;14060:2;14064:6;14019:52;;;;;;;:::i;:::-;;;;;;;;14084:74;14115:8;14133:1;14137:2;14141;14145:6;14153:4;14084:30;:74::i;:::-;13731:435;13597:569;;;;:::o;19009:382::-;19061:18;19107:3;19104:2;19082:21;:24;;;;:::i;:::-;:28;;;;:::i;:::-;19061:49;;19120:17;19165:3;19162:2;19140:21;:24;;;;:::i;:::-;:28;;;;:::i;:::-;19120:48;;19178:20;19234:9;19223:10;19201:21;:32;;;;:::i;:::-;:42;;;;:::i;:::-;19178:65;;19261:3;;;;;;;;;;;19253:21;;:33;19275:10;19253:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19304:2;;;;;;;;;;;19296:20;;:31;19317:9;19296:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19345:12;:10;:12::i;:::-;19337:30;;:44;19368:12;19337:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19051:340;;;19009:382::o;16474:331::-;16629:8;16620:17;;:5;:17;;;;16612:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16732:8;16694:18;:25;16713:5;16694:25;;;;;;;;;;;;;;;:35;16720:8;16694:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;16778:8;16756:41;;16771:5;16756:41;;;16788:8;16756:41;;;;;;:::i;:::-;;;;;;;;16474:331;;;:::o;11591:820::-;11793:1;11779:16;;:2;:16;;;;11771:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11850:16;11869:12;:10;:12::i;:::-;11850:31;;11894:96;11915:8;11925:4;11931:2;11935:21;11953:2;11935:17;:21::i;:::-;11958:25;11976:6;11958:17;:25::i;:::-;11985:4;11894:20;:96::i;:::-;12003:19;12025:9;:13;12035:2;12025:13;;;;;;;;;;;:19;12039:4;12025:19;;;;;;;;;;;;;;;;12003:41;;12078:6;12063:11;:21;;12055:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12203:6;12189:11;:20;12167:9;:13;12177:2;12167:13;;;;;;;;;;;:19;12181:4;12167:19;;;;;;;;;;;;;;;:42;;;;12252:6;12231:9;:13;12241:2;12231:13;;;;;;;;;;;:17;12245:2;12231:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;12307:2;12276:46;;12301:4;12276:46;;12291:8;12276:46;;;12311:2;12315:6;12276:46;;;;;;;:::i;:::-;;;;;;;;12335:68;12366:8;12376:4;12382:2;12386;12390:6;12398:4;12335:30;:68::i;:::-;11760:651;;11591:820;;;;;:::o;8266:191::-;8340:16;8359:6;;;;;;;;;;;8340:25;;8385:8;8376:6;;:17;;;;;;;;;;;;;;;;;;8440:8;8409:40;;8430:8;8409:40;;;;;;;;;;;;8329:128;8266:191;:::o;16815:221::-;;;;;;;:::o;17796:813::-;18036:15;:2;:13;;;:15::i;:::-;18032:570;;;18089:2;18072:43;;;18116:8;18126:4;18132:3;18137:7;18146:4;18072:79;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;18068:523;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;18464:6;18457:14;;;;;;;;;;;:::i;:::-;;;;;;;;18068:523;;;18513:62;;;;;;;;;;:::i;:::-;;;;;;;;18068:523;18245:48;;;18233:60;;;:8;:60;;;;18229:159;;18318:50;;;;;;;;;;:::i;:::-;;;;;;;;18229:159;18152:251;18032:570;17796:813;;;;;;:::o;18617:198::-;18683:16;18712:22;18751:1;18737:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18712:41;;18775:7;18764:5;18770:1;18764:8;;;;;;;;:::i;:::-;;;;;;;:18;;;;;18802:5;18795:12;;;18617:198;;;:::o;17044:744::-;17259:15;:2;:13;;;:15::i;:::-;17255:526;;;17312:2;17295:38;;;17334:8;17344:4;17350:2;17354:6;17362:4;17295:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;17291:479;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;17643:6;17636:14;;;;;;;;;;;:::i;:::-;;;;;;;;17291:479;;;17692:62;;;;;;;;;;:::i;:::-;;;;;;;;17291:479;17429:43;;;17417:55;;;:8;:55;;;;17413:154;;17497:50;;;;;;;;;;:::i;:::-;;;;;;;;17413:154;17368:214;17255:526;17044:744;;;;;;:::o;3682:117::-;3742:4;3790:1;3768:7;:19;;;:23;3761:30;;3682:117;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:::-;865:5;890:81;906:64;963:6;906:64;:::i;:::-;890:81;:::i;:::-;881:90;;991:5;1020:6;1013:5;1006:21;1054:4;1047:5;1043:16;1036:23;;1080:6;1130:3;1122:4;1114:6;1110:17;1105:3;1101:27;1098:36;1095:143;;;1149:79;;:::i;:::-;1095:143;1262:1;1247:238;1272:6;1269:1;1266:13;1247:238;;;1340:3;1369:37;1402:3;1390:10;1369:37;:::i;:::-;1364:3;1357:50;1436:4;1431:3;1427:14;1420:21;;1470:4;1465:3;1461:14;1454:21;;1307:178;1294:1;1291;1287:9;1282:14;;1247:238;;;1251:14;871:620;;769:722;;;;;:::o;1497:410::-;1574:5;1599:65;1615:48;1656:6;1615:48;:::i;:::-;1599:65;:::i;:::-;1590:74;;1687:6;1680:5;1673:21;1725:4;1718:5;1714:16;1763:3;1754:6;1749:3;1745:16;1742:25;1739:112;;;1770:79;;:::i;:::-;1739:112;1860:41;1894:6;1889:3;1884;1860:41;:::i;:::-;1580:327;1497:410;;;;;:::o;1913:412::-;1991:5;2016:66;2032:49;2074:6;2032:49;:::i;:::-;2016:66;:::i;:::-;2007:75;;2105:6;2098:5;2091:21;2143:4;2136:5;2132:16;2181:3;2172:6;2167:3;2163:16;2160:25;2157:112;;;2188:79;;:::i;:::-;2157:112;2278:41;2312:6;2307:3;2302;2278:41;:::i;:::-;1997:328;1913:412;;;;;:::o;2331:139::-;2377:5;2415:6;2402:20;2393:29;;2431:33;2458:5;2431:33;:::i;:::-;2331:139;;;;:::o;2493:370::-;2564:5;2613:3;2606:4;2598:6;2594:17;2590:27;2580:122;;2621:79;;:::i;:::-;2580:122;2738:6;2725:20;2763:94;2853:3;2845:6;2838:4;2830:6;2826:17;2763:94;:::i;:::-;2754:103;;2570:293;2493:370;;;;:::o;2886:::-;2957:5;3006:3;2999:4;2991:6;2987:17;2983:27;2973:122;;3014:79;;:::i;:::-;2973:122;3131:6;3118:20;3156:94;3246:3;3238:6;3231:4;3223:6;3219:17;3156:94;:::i;:::-;3147:103;;2963:293;2886:370;;;;:::o;3262:133::-;3305:5;3343:6;3330:20;3321:29;;3359:30;3383:5;3359:30;:::i;:::-;3262:133;;;;:::o;3401:137::-;3446:5;3484:6;3471:20;3462:29;;3500:32;3526:5;3500:32;:::i;:::-;3401:137;;;;:::o;3544:141::-;3600:5;3631:6;3625:13;3616:22;;3647:32;3673:5;3647:32;:::i;:::-;3544:141;;;;:::o;3704:338::-;3759:5;3808:3;3801:4;3793:6;3789:17;3785:27;3775:122;;3816:79;;:::i;:::-;3775:122;3933:6;3920:20;3958:78;4032:3;4024:6;4017:4;4009:6;4005:17;3958:78;:::i;:::-;3949:87;;3765:277;3704:338;;;;:::o;4062:340::-;4118:5;4167:3;4160:4;4152:6;4148:17;4144:27;4134:122;;4175:79;;:::i;:::-;4134:122;4292:6;4279:20;4317:79;4392:3;4384:6;4377:4;4369:6;4365:17;4317:79;:::i;:::-;4308:88;;4124:278;4062:340;;;;:::o;4408:139::-;4454:5;4492:6;4479:20;4470:29;;4508:33;4535:5;4508:33;:::i;:::-;4408:139;;;;:::o;4553:329::-;4612:6;4661:2;4649:9;4640:7;4636:23;4632:32;4629:119;;;4667:79;;:::i;:::-;4629:119;4787:1;4812:53;4857:7;4848:6;4837:9;4833:22;4812:53;:::i;:::-;4802:63;;4758:117;4553:329;;;;:::o;4888:474::-;4956:6;4964;5013:2;5001:9;4992:7;4988:23;4984:32;4981:119;;;5019:79;;:::i;:::-;4981:119;5139:1;5164:53;5209:7;5200:6;5189:9;5185:22;5164:53;:::i;:::-;5154:63;;5110:117;5266:2;5292:53;5337:7;5328:6;5317:9;5313:22;5292:53;:::i;:::-;5282:63;;5237:118;4888:474;;;;;:::o;5368:1509::-;5522:6;5530;5538;5546;5554;5603:3;5591:9;5582:7;5578:23;5574:33;5571:120;;;5610:79;;:::i;:::-;5571:120;5730:1;5755:53;5800:7;5791:6;5780:9;5776:22;5755:53;:::i;:::-;5745:63;;5701:117;5857:2;5883:53;5928:7;5919:6;5908:9;5904:22;5883:53;:::i;:::-;5873:63;;5828:118;6013:2;6002:9;5998:18;5985:32;6044:18;6036:6;6033:30;6030:117;;;6066:79;;:::i;:::-;6030:117;6171:78;6241:7;6232:6;6221:9;6217:22;6171:78;:::i;:::-;6161:88;;5956:303;6326:2;6315:9;6311:18;6298:32;6357:18;6349:6;6346:30;6343:117;;;6379:79;;:::i;:::-;6343:117;6484:78;6554:7;6545:6;6534:9;6530:22;6484:78;:::i;:::-;6474:88;;6269:303;6639:3;6628:9;6624:19;6611:33;6671:18;6663:6;6660:30;6657:117;;;6693:79;;:::i;:::-;6657:117;6798:62;6852:7;6843:6;6832:9;6828:22;6798:62;:::i;:::-;6788:72;;6582:288;5368:1509;;;;;;;;:::o;6883:1089::-;6987:6;6995;7003;7011;7019;7068:3;7056:9;7047:7;7043:23;7039:33;7036:120;;;7075:79;;:::i;:::-;7036:120;7195:1;7220:53;7265:7;7256:6;7245:9;7241:22;7220:53;:::i;:::-;7210:63;;7166:117;7322:2;7348:53;7393:7;7384:6;7373:9;7369:22;7348:53;:::i;:::-;7338:63;;7293:118;7450:2;7476:53;7521:7;7512:6;7501:9;7497:22;7476:53;:::i;:::-;7466:63;;7421:118;7578:2;7604:53;7649:7;7640:6;7629:9;7625:22;7604:53;:::i;:::-;7594:63;;7549:118;7734:3;7723:9;7719:19;7706:33;7766:18;7758:6;7755:30;7752:117;;;7788:79;;:::i;:::-;7752:117;7893:62;7947:7;7938:6;7927:9;7923:22;7893:62;:::i;:::-;7883:72;;7677:288;6883:1089;;;;;;;;:::o;7978:468::-;8043:6;8051;8100:2;8088:9;8079:7;8075:23;8071:32;8068:119;;;8106:79;;:::i;:::-;8068:119;8226:1;8251:53;8296:7;8287:6;8276:9;8272:22;8251:53;:::i;:::-;8241:63;;8197:117;8353:2;8379:50;8421:7;8412:6;8401:9;8397:22;8379:50;:::i;:::-;8369:60;;8324:115;7978:468;;;;;:::o;8452:474::-;8520:6;8528;8577:2;8565:9;8556:7;8552:23;8548:32;8545:119;;;8583:79;;:::i;:::-;8545:119;8703:1;8728:53;8773:7;8764:6;8753:9;8749:22;8728:53;:::i;:::-;8718:63;;8674:117;8830:2;8856:53;8901:7;8892:6;8881:9;8877:22;8856:53;:::i;:::-;8846:63;;8801:118;8452:474;;;;;:::o;8932:894::-;9050:6;9058;9107:2;9095:9;9086:7;9082:23;9078:32;9075:119;;;9113:79;;:::i;:::-;9075:119;9261:1;9250:9;9246:17;9233:31;9291:18;9283:6;9280:30;9277:117;;;9313:79;;:::i;:::-;9277:117;9418:78;9488:7;9479:6;9468:9;9464:22;9418:78;:::i;:::-;9408:88;;9204:302;9573:2;9562:9;9558:18;9545:32;9604:18;9596:6;9593:30;9590:117;;;9626:79;;:::i;:::-;9590:117;9731:78;9801:7;9792:6;9781:9;9777:22;9731:78;:::i;:::-;9721:88;;9516:303;8932:894;;;;;:::o;9832:323::-;9888:6;9937:2;9925:9;9916:7;9912:23;9908:32;9905:119;;;9943:79;;:::i;:::-;9905:119;10063:1;10088:50;10130:7;10121:6;10110:9;10106:22;10088:50;:::i;:::-;10078:60;;10034:114;9832:323;;;;:::o;10161:327::-;10219:6;10268:2;10256:9;10247:7;10243:23;10239:32;10236:119;;;10274:79;;:::i;:::-;10236:119;10394:1;10419:52;10463:7;10454:6;10443:9;10439:22;10419:52;:::i;:::-;10409:62;;10365:116;10161:327;;;;:::o;10494:349::-;10563:6;10612:2;10600:9;10591:7;10587:23;10583:32;10580:119;;;10618:79;;:::i;:::-;10580:119;10738:1;10763:63;10818:7;10809:6;10798:9;10794:22;10763:63;:::i;:::-;10753:73;;10709:127;10494:349;;;;:::o;10849:509::-;10918:6;10967:2;10955:9;10946:7;10942:23;10938:32;10935:119;;;10973:79;;:::i;:::-;10935:119;11121:1;11110:9;11106:17;11093:31;11151:18;11143:6;11140:30;11137:117;;;11173:79;;:::i;:::-;11137:117;11278:63;11333:7;11324:6;11313:9;11309:22;11278:63;:::i;:::-;11268:73;;11064:287;10849:509;;;;:::o;11364:329::-;11423:6;11472:2;11460:9;11451:7;11447:23;11443:32;11440:119;;;11478:79;;:::i;:::-;11440:119;11598:1;11623:53;11668:7;11659:6;11648:9;11644:22;11623:53;:::i;:::-;11613:63;;11569:117;11364:329;;;;:::o;11699:179::-;11768:10;11789:46;11831:3;11823:6;11789:46;:::i;:::-;11867:4;11862:3;11858:14;11844:28;;11699:179;;;;:::o;11884:118::-;11971:24;11989:5;11971:24;:::i;:::-;11966:3;11959:37;11884:118;;:::o;12038:732::-;12157:3;12186:54;12234:5;12186:54;:::i;:::-;12256:86;12335:6;12330:3;12256:86;:::i;:::-;12249:93;;12366:56;12416:5;12366:56;:::i;:::-;12445:7;12476:1;12461:284;12486:6;12483:1;12480:13;12461:284;;;12562:6;12556:13;12589:63;12648:3;12633:13;12589:63;:::i;:::-;12582:70;;12675:60;12728:6;12675:60;:::i;:::-;12665:70;;12521:224;12508:1;12505;12501:9;12496:14;;12461:284;;;12465:14;12761:3;12754:10;;12162:608;;;12038:732;;;;:::o;12776:109::-;12857:21;12872:5;12857:21;:::i;:::-;12852:3;12845:34;12776:109;;:::o;12891:360::-;12977:3;13005:38;13037:5;13005:38;:::i;:::-;13059:70;13122:6;13117:3;13059:70;:::i;:::-;13052:77;;13138:52;13183:6;13178:3;13171:4;13164:5;13160:16;13138:52;:::i;:::-;13215:29;13237:6;13215:29;:::i;:::-;13210:3;13206:39;13199:46;;12981:270;12891:360;;;;:::o;13257:364::-;13345:3;13373:39;13406:5;13373:39;:::i;:::-;13428:71;13492:6;13487:3;13428:71;:::i;:::-;13421:78;;13508:52;13553:6;13548:3;13541:4;13534:5;13530:16;13508:52;:::i;:::-;13585:29;13607:6;13585:29;:::i;:::-;13580:3;13576:39;13569:46;;13349:272;13257:364;;;;:::o;13627:377::-;13733:3;13761:39;13794:5;13761:39;:::i;:::-;13816:89;13898:6;13893:3;13816:89;:::i;:::-;13809:96;;13914:52;13959:6;13954:3;13947:4;13940:5;13936:16;13914:52;:::i;:::-;13991:6;13986:3;13982:16;13975:23;;13737:267;13627:377;;;;:::o;14010:366::-;14152:3;14173:67;14237:2;14232:3;14173:67;:::i;:::-;14166:74;;14249:93;14338:3;14249:93;:::i;:::-;14367:2;14362:3;14358:12;14351:19;;14010:366;;;:::o;14382:::-;14524:3;14545:67;14609:2;14604:3;14545:67;:::i;:::-;14538:74;;14621:93;14710:3;14621:93;:::i;:::-;14739:2;14734:3;14730:12;14723:19;;14382:366;;;:::o;14754:::-;14896:3;14917:67;14981:2;14976:3;14917:67;:::i;:::-;14910:74;;14993:93;15082:3;14993:93;:::i;:::-;15111:2;15106:3;15102:12;15095:19;;14754:366;;;:::o;15126:::-;15268:3;15289:67;15353:2;15348:3;15289:67;:::i;:::-;15282:74;;15365:93;15454:3;15365:93;:::i;:::-;15483:2;15478:3;15474:12;15467:19;;15126:366;;;:::o;15498:::-;15640:3;15661:67;15725:2;15720:3;15661:67;:::i;:::-;15654:74;;15737:93;15826:3;15737:93;:::i;:::-;15855:2;15850:3;15846:12;15839:19;;15498:366;;;:::o;15870:::-;16012:3;16033:67;16097:2;16092:3;16033:67;:::i;:::-;16026:74;;16109:93;16198:3;16109:93;:::i;:::-;16227:2;16222:3;16218:12;16211:19;;15870:366;;;:::o;16242:::-;16384:3;16405:67;16469:2;16464:3;16405:67;:::i;:::-;16398:74;;16481:93;16570:3;16481:93;:::i;:::-;16599:2;16594:3;16590:12;16583:19;;16242:366;;;:::o;16614:::-;16756:3;16777:67;16841:2;16836:3;16777:67;:::i;:::-;16770:74;;16853:93;16942:3;16853:93;:::i;:::-;16971:2;16966:3;16962:12;16955:19;;16614:366;;;:::o;16986:::-;17128:3;17149:67;17213:2;17208:3;17149:67;:::i;:::-;17142:74;;17225:93;17314:3;17225:93;:::i;:::-;17343:2;17338:3;17334:12;17327:19;;16986:366;;;:::o;17358:::-;17500:3;17521:67;17585:2;17580:3;17521:67;:::i;:::-;17514:74;;17597:93;17686:3;17597:93;:::i;:::-;17715:2;17710:3;17706:12;17699:19;;17358:366;;;:::o;17730:::-;17872:3;17893:67;17957:2;17952:3;17893:67;:::i;:::-;17886:74;;17969:93;18058:3;17969:93;:::i;:::-;18087:2;18082:3;18078:12;18071:19;;17730:366;;;:::o;18102:::-;18244:3;18265:67;18329:2;18324:3;18265:67;:::i;:::-;18258:74;;18341:93;18430:3;18341:93;:::i;:::-;18459:2;18454:3;18450:12;18443:19;;18102:366;;;:::o;18474:::-;18616:3;18637:67;18701:2;18696:3;18637:67;:::i;:::-;18630:74;;18713:93;18802:3;18713:93;:::i;:::-;18831:2;18826:3;18822:12;18815:19;;18474:366;;;:::o;18846:::-;18988:3;19009:67;19073:2;19068:3;19009:67;:::i;:::-;19002:74;;19085:93;19174:3;19085:93;:::i;:::-;19203:2;19198:3;19194:12;19187:19;;18846:366;;;:::o;19218:::-;19360:3;19381:67;19445:2;19440:3;19381:67;:::i;:::-;19374:74;;19457:93;19546:3;19457:93;:::i;:::-;19575:2;19570:3;19566:12;19559:19;;19218:366;;;:::o;19590:::-;19732:3;19753:67;19817:2;19812:3;19753:67;:::i;:::-;19746:74;;19829:93;19918:3;19829:93;:::i;:::-;19947:2;19942:3;19938:12;19931:19;;19590:366;;;:::o;19962:::-;20104:3;20125:67;20189:2;20184:3;20125:67;:::i;:::-;20118:74;;20201:93;20290:3;20201:93;:::i;:::-;20319:2;20314:3;20310:12;20303:19;;19962:366;;;:::o;20334:::-;20476:3;20497:67;20561:2;20556:3;20497:67;:::i;:::-;20490:74;;20573:93;20662:3;20573:93;:::i;:::-;20691:2;20686:3;20682:12;20675:19;;20334:366;;;:::o;20706:108::-;20783:24;20801:5;20783:24;:::i;:::-;20778:3;20771:37;20706:108;;:::o;20820:118::-;20907:24;20925:5;20907:24;:::i;:::-;20902:3;20895:37;20820:118;;:::o;20944:435::-;21124:3;21146:95;21237:3;21228:6;21146:95;:::i;:::-;21139:102;;21258:95;21349:3;21340:6;21258:95;:::i;:::-;21251:102;;21370:3;21363:10;;20944:435;;;;;:::o;21385:222::-;21478:4;21516:2;21505:9;21501:18;21493:26;;21529:71;21597:1;21586:9;21582:17;21573:6;21529:71;:::i;:::-;21385:222;;;;:::o;21613:1053::-;21936:4;21974:3;21963:9;21959:19;21951:27;;21988:71;22056:1;22045:9;22041:17;22032:6;21988:71;:::i;:::-;22069:72;22137:2;22126:9;22122:18;22113:6;22069:72;:::i;:::-;22188:9;22182:4;22178:20;22173:2;22162:9;22158:18;22151:48;22216:108;22319:4;22310:6;22216:108;:::i;:::-;22208:116;;22371:9;22365:4;22361:20;22356:2;22345:9;22341:18;22334:48;22399:108;22502:4;22493:6;22399:108;:::i;:::-;22391:116;;22555:9;22549:4;22545:20;22539:3;22528:9;22524:19;22517:49;22583:76;22654:4;22645:6;22583:76;:::i;:::-;22575:84;;21613:1053;;;;;;;;:::o;22672:751::-;22895:4;22933:3;22922:9;22918:19;22910:27;;22947:71;23015:1;23004:9;23000:17;22991:6;22947:71;:::i;:::-;23028:72;23096:2;23085:9;23081:18;23072:6;23028:72;:::i;:::-;23110;23178:2;23167:9;23163:18;23154:6;23110:72;:::i;:::-;23192;23260:2;23249:9;23245:18;23236:6;23192:72;:::i;:::-;23312:9;23306:4;23302:20;23296:3;23285:9;23281:19;23274:49;23340:76;23411:4;23402:6;23340:76;:::i;:::-;23332:84;;22672:751;;;;;;;;:::o;23429:373::-;23572:4;23610:2;23599:9;23595:18;23587:26;;23659:9;23653:4;23649:20;23645:1;23634:9;23630:17;23623:47;23687:108;23790:4;23781:6;23687:108;:::i;:::-;23679:116;;23429:373;;;;:::o;23808:634::-;24029:4;24067:2;24056:9;24052:18;24044:26;;24116:9;24110:4;24106:20;24102:1;24091:9;24087:17;24080:47;24144:108;24247:4;24238:6;24144:108;:::i;:::-;24136:116;;24299:9;24293:4;24289:20;24284:2;24273:9;24269:18;24262:48;24327:108;24430:4;24421:6;24327:108;:::i;:::-;24319:116;;23808:634;;;;;:::o;24448:210::-;24535:4;24573:2;24562:9;24558:18;24550:26;;24586:65;24648:1;24637:9;24633:17;24624:6;24586:65;:::i;:::-;24448:210;;;;:::o;24664:313::-;24777:4;24815:2;24804:9;24800:18;24792:26;;24864:9;24858:4;24854:20;24850:1;24839:9;24835:17;24828:47;24892:78;24965:4;24956:6;24892:78;:::i;:::-;24884:86;;24664:313;;;;:::o;24983:419::-;25149:4;25187:2;25176:9;25172:18;25164:26;;25236:9;25230:4;25226:20;25222:1;25211:9;25207:17;25200:47;25264:131;25390:4;25264:131;:::i;:::-;25256:139;;24983:419;;;:::o;25408:::-;25574:4;25612:2;25601:9;25597:18;25589:26;;25661:9;25655:4;25651:20;25647:1;25636:9;25632:17;25625:47;25689:131;25815:4;25689:131;:::i;:::-;25681:139;;25408:419;;;:::o;25833:::-;25999:4;26037:2;26026:9;26022:18;26014:26;;26086:9;26080:4;26076:20;26072:1;26061:9;26057:17;26050:47;26114:131;26240:4;26114:131;:::i;:::-;26106:139;;25833:419;;;:::o;26258:::-;26424:4;26462:2;26451:9;26447:18;26439:26;;26511:9;26505:4;26501:20;26497:1;26486:9;26482:17;26475:47;26539:131;26665:4;26539:131;:::i;:::-;26531:139;;26258:419;;;:::o;26683:::-;26849:4;26887:2;26876:9;26872:18;26864:26;;26936:9;26930:4;26926:20;26922:1;26911:9;26907:17;26900:47;26964:131;27090:4;26964:131;:::i;:::-;26956:139;;26683:419;;;:::o;27108:::-;27274:4;27312:2;27301:9;27297:18;27289:26;;27361:9;27355:4;27351:20;27347:1;27336:9;27332:17;27325:47;27389:131;27515:4;27389:131;:::i;:::-;27381:139;;27108:419;;;:::o;27533:::-;27699:4;27737:2;27726:9;27722:18;27714:26;;27786:9;27780:4;27776:20;27772:1;27761:9;27757:17;27750:47;27814:131;27940:4;27814:131;:::i;:::-;27806:139;;27533:419;;;:::o;27958:::-;28124:4;28162:2;28151:9;28147:18;28139:26;;28211:9;28205:4;28201:20;28197:1;28186:9;28182:17;28175:47;28239:131;28365:4;28239:131;:::i;:::-;28231:139;;27958:419;;;:::o;28383:::-;28549:4;28587:2;28576:9;28572:18;28564:26;;28636:9;28630:4;28626:20;28622:1;28611:9;28607:17;28600:47;28664:131;28790:4;28664:131;:::i;:::-;28656:139;;28383:419;;;:::o;28808:::-;28974:4;29012:2;29001:9;28997:18;28989:26;;29061:9;29055:4;29051:20;29047:1;29036:9;29032:17;29025:47;29089:131;29215:4;29089:131;:::i;:::-;29081:139;;28808:419;;;:::o;29233:::-;29399:4;29437:2;29426:9;29422:18;29414:26;;29486:9;29480:4;29476:20;29472:1;29461:9;29457:17;29450:47;29514:131;29640:4;29514:131;:::i;:::-;29506:139;;29233:419;;;:::o;29658:::-;29824:4;29862:2;29851:9;29847:18;29839:26;;29911:9;29905:4;29901:20;29897:1;29886:9;29882:17;29875:47;29939:131;30065:4;29939:131;:::i;:::-;29931:139;;29658:419;;;:::o;30083:::-;30249:4;30287:2;30276:9;30272:18;30264:26;;30336:9;30330:4;30326:20;30322:1;30311:9;30307:17;30300:47;30364:131;30490:4;30364:131;:::i;:::-;30356:139;;30083:419;;;:::o;30508:::-;30674:4;30712:2;30701:9;30697:18;30689:26;;30761:9;30755:4;30751:20;30747:1;30736:9;30732:17;30725:47;30789:131;30915:4;30789:131;:::i;:::-;30781:139;;30508:419;;;:::o;30933:::-;31099:4;31137:2;31126:9;31122:18;31114:26;;31186:9;31180:4;31176:20;31172:1;31161:9;31157:17;31150:47;31214:131;31340:4;31214:131;:::i;:::-;31206:139;;30933:419;;;:::o;31358:::-;31524:4;31562:2;31551:9;31547:18;31539:26;;31611:9;31605:4;31601:20;31597:1;31586:9;31582:17;31575:47;31639:131;31765:4;31639:131;:::i;:::-;31631:139;;31358:419;;;:::o;31783:::-;31949:4;31987:2;31976:9;31972:18;31964:26;;32036:9;32030:4;32026:20;32022:1;32011:9;32007:17;32000:47;32064:131;32190:4;32064:131;:::i;:::-;32056:139;;31783:419;;;:::o;32208:::-;32374:4;32412:2;32401:9;32397:18;32389:26;;32461:9;32455:4;32451:20;32447:1;32436:9;32432:17;32425:47;32489:131;32615:4;32489:131;:::i;:::-;32481:139;;32208:419;;;:::o;32633:222::-;32726:4;32764:2;32753:9;32749:18;32741:26;;32777:71;32845:1;32834:9;32830:17;32821:6;32777:71;:::i;:::-;32633:222;;;;:::o;32861:332::-;32982:4;33020:2;33009:9;33005:18;32997:26;;33033:71;33101:1;33090:9;33086:17;33077:6;33033:71;:::i;:::-;33114:72;33182:2;33171:9;33167:18;33158:6;33114:72;:::i;:::-;32861:332;;;;;:::o;33199:129::-;33233:6;33260:20;;:::i;:::-;33250:30;;33289:33;33317:4;33309:6;33289:33;:::i;:::-;33199:129;;;:::o;33334:75::-;33367:6;33400:2;33394:9;33384:19;;33334:75;:::o;33415:311::-;33492:4;33582:18;33574:6;33571:30;33568:56;;;33604:18;;:::i;:::-;33568:56;33654:4;33646:6;33642:17;33634:25;;33714:4;33708;33704:15;33696:23;;33415:311;;;:::o;33732:::-;33809:4;33899:18;33891:6;33888:30;33885:56;;;33921:18;;:::i;:::-;33885:56;33971:4;33963:6;33959:17;33951:25;;34031:4;34025;34021:15;34013:23;;33732:311;;;:::o;34049:307::-;34110:4;34200:18;34192:6;34189:30;34186:56;;;34222:18;;:::i;:::-;34186:56;34260:29;34282:6;34260:29;:::i;:::-;34252:37;;34344:4;34338;34334:15;34326:23;;34049:307;;;:::o;34362:308::-;34424:4;34514:18;34506:6;34503:30;34500:56;;;34536:18;;:::i;:::-;34500:56;34574:29;34596:6;34574:29;:::i;:::-;34566:37;;34658:4;34652;34648:15;34640:23;;34362:308;;;:::o;34676:132::-;34743:4;34766:3;34758:11;;34796:4;34791:3;34787:14;34779:22;;34676:132;;;:::o;34814:114::-;34881:6;34915:5;34909:12;34899:22;;34814:114;;;:::o;34934:98::-;34985:6;35019:5;35013:12;35003:22;;34934:98;;;:::o;35038:99::-;35090:6;35124:5;35118:12;35108:22;;35038:99;;;:::o;35143:113::-;35213:4;35245;35240:3;35236:14;35228:22;;35143:113;;;:::o;35262:184::-;35361:11;35395:6;35390:3;35383:19;35435:4;35430:3;35426:14;35411:29;;35262:184;;;;:::o;35452:168::-;35535:11;35569:6;35564:3;35557:19;35609:4;35604:3;35600:14;35585:29;;35452:168;;;;:::o;35626:169::-;35710:11;35744:6;35739:3;35732:19;35784:4;35779:3;35775:14;35760:29;;35626:169;;;;:::o;35801:148::-;35903:11;35940:3;35925:18;;35801:148;;;;:::o;35955:305::-;35995:3;36014:20;36032:1;36014:20;:::i;:::-;36009:25;;36048:20;36066:1;36048:20;:::i;:::-;36043:25;;36202:1;36134:66;36130:74;36127:1;36124:81;36121:107;;;36208:18;;:::i;:::-;36121:107;36252:1;36249;36245:9;36238:16;;35955:305;;;;:::o;36266:185::-;36306:1;36323:20;36341:1;36323:20;:::i;:::-;36318:25;;36357:20;36375:1;36357:20;:::i;:::-;36352:25;;36396:1;36386:35;;36401:18;;:::i;:::-;36386:35;36443:1;36440;36436:9;36431:14;;36266:185;;;;:::o;36457:348::-;36497:7;36520:20;36538:1;36520:20;:::i;:::-;36515:25;;36554:20;36572:1;36554:20;:::i;:::-;36549:25;;36742:1;36674:66;36670:74;36667:1;36664:81;36659:1;36652:9;36645:17;36641:105;36638:131;;;36749:18;;:::i;:::-;36638:131;36797:1;36794;36790:9;36779:20;;36457:348;;;;:::o;36811:191::-;36851:4;36871:20;36889:1;36871:20;:::i;:::-;36866:25;;36905:20;36923:1;36905:20;:::i;:::-;36900:25;;36944:1;36941;36938:8;36935:34;;;36949:18;;:::i;:::-;36935:34;36994:1;36991;36987:9;36979:17;;36811:191;;;;:::o;37008:96::-;37045:7;37074:24;37092:5;37074:24;:::i;:::-;37063:35;;37008:96;;;:::o;37110:90::-;37144:7;37187:5;37180:13;37173:21;37162:32;;37110:90;;;:::o;37206:149::-;37242:7;37282:66;37275:5;37271:78;37260:89;;37206:149;;;:::o;37361:126::-;37398:7;37438:42;37431:5;37427:54;37416:65;;37361:126;;;:::o;37493:77::-;37530:7;37559:5;37548:16;;37493:77;;;:::o;37576:154::-;37660:6;37655:3;37650;37637:30;37722:1;37713:6;37708:3;37704:16;37697:27;37576:154;;;:::o;37736:307::-;37804:1;37814:113;37828:6;37825:1;37822:13;37814:113;;;37913:1;37908:3;37904:11;37898:18;37894:1;37889:3;37885:11;37878:39;37850:2;37847:1;37843:10;37838:15;;37814:113;;;37945:6;37942:1;37939:13;37936:101;;;38025:1;38016:6;38011:3;38007:16;38000:27;37936:101;37785:258;37736:307;;;:::o;38049:320::-;38093:6;38130:1;38124:4;38120:12;38110:22;;38177:1;38171:4;38167:12;38198:18;38188:81;;38254:4;38246:6;38242:17;38232:27;;38188:81;38316:2;38308:6;38305:14;38285:18;38282:38;38279:84;;;38335:18;;:::i;:::-;38279:84;38100:269;38049:320;;;:::o;38375:281::-;38458:27;38480:4;38458:27;:::i;:::-;38450:6;38446:40;38588:6;38576:10;38573:22;38552:18;38540:10;38537:34;38534:62;38531:88;;;38599:18;;:::i;:::-;38531:88;38639:10;38635:2;38628:22;38418:238;38375:281;;:::o;38662:233::-;38701:3;38724:24;38742:5;38724:24;:::i;:::-;38715:33;;38770:66;38763:5;38760:77;38757:103;;;38840:18;;:::i;:::-;38757:103;38887:1;38880:5;38876:13;38869:20;;38662:233;;;:::o;38901:176::-;38933:1;38950:20;38968:1;38950:20;:::i;:::-;38945:25;;38984:20;39002:1;38984:20;:::i;:::-;38979:25;;39023:1;39013:35;;39028:18;;:::i;:::-;39013:35;39069:1;39066;39062:9;39057:14;;38901:176;;;;:::o;39083:180::-;39131:77;39128:1;39121:88;39228:4;39225:1;39218:15;39252:4;39249:1;39242:15;39269:180;39317:77;39314:1;39307:88;39414:4;39411:1;39404:15;39438:4;39435:1;39428:15;39455:180;39503:77;39500:1;39493:88;39600:4;39597:1;39590:15;39624:4;39621:1;39614:15;39641:180;39689:77;39686:1;39679:88;39786:4;39783:1;39776:15;39810:4;39807:1;39800:15;39827:180;39875:77;39872:1;39865:88;39972:4;39969:1;39962:15;39996:4;39993:1;39986:15;40013:183;40048:3;40086:1;40068:16;40065:23;40062:128;;;40124:1;40121;40118;40103:23;40146:34;40177:1;40171:8;40146:34;:::i;:::-;40139:41;;40062:128;40013:183;:::o;40202:117::-;40311:1;40308;40301:12;40325:117;40434:1;40431;40424:12;40448:117;40557:1;40554;40547:12;40571:117;40680:1;40677;40670:12;40694:117;40803:1;40800;40793:12;40817:102;40858:6;40909:2;40905:7;40900:2;40893:5;40889:14;40885:28;40875:38;;40817:102;;;:::o;40925:106::-;40969:8;41018:5;41013:3;41009:15;40988:36;;40925:106;;;:::o;41037:239::-;41177:34;41173:1;41165:6;41161:14;41154:58;41246:22;41241:2;41233:6;41229:15;41222:47;41037:239;:::o;41282:227::-;41422:34;41418:1;41410:6;41406:14;41399:58;41491:10;41486:2;41478:6;41474:15;41467:35;41282:227;:::o;41515:230::-;41655:34;41651:1;41643:6;41639:14;41632:58;41724:13;41719:2;41711:6;41707:15;41700:38;41515:230;:::o;41751:225::-;41891:34;41887:1;41879:6;41875:14;41868:58;41960:8;41955:2;41947:6;41943:15;41936:33;41751:225;:::o;41982:165::-;42122:17;42118:1;42110:6;42106:14;42099:41;41982:165;:::o;42153:228::-;42293:34;42289:1;42281:6;42277:14;42270:58;42362:11;42357:2;42349:6;42345:15;42338:36;42153:228;:::o;42387:162::-;42527:14;42523:1;42515:6;42511:14;42504:38;42387:162;:::o;42555:224::-;42695:34;42691:1;42683:6;42679:14;42672:58;42764:7;42759:2;42751:6;42747:15;42740:32;42555:224;:::o;42785:237::-;42925:34;42921:1;42913:6;42909:14;42902:58;42994:20;42989:2;42981:6;42977:15;42970:45;42785:237;:::o;43028:229::-;43168:34;43164:1;43156:6;43152:14;43145:58;43237:12;43232:2;43224:6;43220:15;43213:37;43028:229;:::o;43263:163::-;43403:15;43399:1;43391:6;43387:14;43380:39;43263:163;:::o;43432:160::-;43572:12;43568:1;43560:6;43556:14;43549:36;43432:160;:::o;43598:182::-;43738:34;43734:1;43726:6;43722:14;43715:58;43598:182;:::o;43786:167::-;43926:19;43922:1;43914:6;43910:14;43903:43;43786:167;:::o;43959:228::-;44099:34;44095:1;44087:6;44083:14;44076:58;44168:11;44163:2;44155:6;44151:15;44144:36;43959:228;:::o;44193:::-;44333:34;44329:1;44321:6;44317:14;44310:58;44402:11;44397:2;44389:6;44385:15;44378:36;44193:228;:::o;44427:227::-;44567:34;44563:1;44555:6;44551:14;44544:58;44636:10;44631:2;44623:6;44619:15;44612:35;44427:227;:::o;44660:220::-;44800:34;44796:1;44788:6;44784:14;44777:58;44869:3;44864:2;44856:6;44852:15;44845:28;44660:220;:::o;44886:711::-;44925:3;44963:4;44945:16;44942:26;44939:39;;;44971:5;;44939:39;45000:20;;:::i;:::-;45075:1;45057:16;45053:24;45050:1;45044:4;45029:49;45108:4;45102:11;45207:16;45200:4;45192:6;45188:17;45185:39;45152:18;45144:6;45141:30;45125:113;45122:146;;;45253:5;;;;45122:146;45299:6;45293:4;45289:17;45335:3;45329:10;45362:18;45354:6;45351:30;45348:43;;;45384:5;;;;;;45348:43;45432:6;45425:4;45420:3;45416:14;45412:27;45491:1;45473:16;45469:24;45463:4;45459:35;45454:3;45451:44;45448:57;;;45498:5;;;;;;;45448:57;45515;45563:6;45557:4;45553:17;45545:6;45541:30;45535:4;45515:57;:::i;:::-;45588:3;45581:10;;44929:668;;;;;44886:711;;:::o;45603:122::-;45676:24;45694:5;45676:24;:::i;:::-;45669:5;45666:35;45656:63;;45715:1;45712;45705:12;45656:63;45603:122;:::o;45731:116::-;45801:21;45816:5;45801:21;:::i;:::-;45794:5;45791:32;45781:60;;45837:1;45834;45827:12;45781:60;45731:116;:::o;45853:120::-;45925:23;45942:5;45925:23;:::i;:::-;45918:5;45915:34;45905:62;;45963:1;45960;45953:12;45905:62;45853:120;:::o;45979:122::-;46052:24;46070:5;46052:24;:::i;:::-;46045:5;46042:35;46032:63;;46091:1;46088;46081:12;46032:63;45979:122;:::o

Swarm Source

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