ETH Price: $1,794.25 (+10.38%)

Contract

0xCBE2093030F485adAaf5b61deb4D9cA8ADEAE509
Transaction Hash
Method
Block
From
To
Register414330242024-08-11 16:05:43254 days ago1723392343IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011520.04525
Register414329992024-08-11 16:05:17254 days ago1723392317IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011090.04525
Register414329332024-08-11 16:04:10254 days ago1723392250IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011520.04525
Register414328892024-08-11 16:03:26254 days ago1723392206IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011390.04525
Register414328162024-08-11 16:02:13254 days ago1723392133IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011390.04525
Register414327022024-08-11 16:00:18254 days ago1723392018IN
0xCBE20930...8ADEAE509
0.002 ETH0.00001160.04525
Register414326542024-08-11 15:59:28254 days ago1723391968IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011390.04525
Register414326022024-08-11 15:58:34254 days ago1723391914IN
0xCBE20930...8ADEAE509
0.001 ETH0.000012560.04525
Register414325732024-08-11 15:58:05254 days ago1723391885IN
0xCBE20930...8ADEAE509
0.003 ETH0.000022990.04525
Register414318282024-08-11 15:45:24254 days ago1723391124IN
0xCBE20930...8ADEAE509
0.003 ETH0.000012570.04525
Register414317242024-08-11 15:43:37254 days ago1723391017IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011470.04525
Register414315042024-08-11 15:39:54254 days ago1723390794IN
0xCBE20930...8ADEAE509
0.003 ETH0.000009960.04525
Register414310892024-08-11 15:32:54254 days ago1723390374IN
0xCBE20930...8ADEAE509
0.003 ETH0.000011060.04525
Register414308822024-08-11 15:29:23254 days ago1723390163IN
0xCBE20930...8ADEAE509
0.003 ETH0.000017120.04525
Register414306672024-08-11 15:25:43254 days ago1723389943IN
0xCBE20930...8ADEAE509
0.002 ETH0.00001170.04525
Register414306022024-08-11 15:24:37254 days ago1723389877IN
0xCBE20930...8ADEAE509
0.001 ETH0.000013590.04525
Register414303842024-08-11 15:20:54254 days ago1723389654IN
0xCBE20930...8ADEAE509
0.001 ETH0.000011240.04525
Register414302592024-08-11 15:18:48254 days ago1723389528IN
0xCBE20930...8ADEAE509
0.003 ETH0.000023470.04525
Renew404093222024-07-30 10:43:07266 days ago1722336187IN
0xCBE20930...8ADEAE509
0.001 ETH0.000005610.04525
Renew404092862024-07-30 10:42:31266 days ago1722336151IN
0xCBE20930...8ADEAE509
0.001 ETH0.000009270.04525
Register388971622024-07-12 10:40:05284 days ago1720780805IN
0xCBE20930...8ADEAE509
0.003 ETH0.00001820.0345
Register386269052024-07-09 5:40:08288 days ago1720503608IN
0xCBE20930...8ADEAE509
0.001 ETH0.00001510.03
Register376491982024-06-27 16:27:19299 days ago1719505639IN
0xCBE20930...8ADEAE509
0.001 ETH0.000019130.025
Register376174352024-06-27 7:27:07300 days ago1719473227IN
0xCBE20930...8ADEAE509
0.001 ETH0.00001390.025
Register376018162024-06-27 3:02:07300 days ago1719457327IN
0xCBE20930...8ADEAE509
0.001 ETH0.000015180.025
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
414330242024-08-11 16:05:43254 days ago1723392343
0xCBE20930...8ADEAE509
0.001 ETH
414330242024-08-11 16:05:43254 days ago1723392343
0xCBE20930...8ADEAE509
0.001 ETH
414329992024-08-11 16:05:17254 days ago1723392317
0xCBE20930...8ADEAE509
0.001 ETH
414329992024-08-11 16:05:17254 days ago1723392317
0xCBE20930...8ADEAE509
0.001 ETH
414329332024-08-11 16:04:10254 days ago1723392250
0xCBE20930...8ADEAE509
0.001 ETH
414329332024-08-11 16:04:10254 days ago1723392250
0xCBE20930...8ADEAE509
0.001 ETH
414328892024-08-11 16:03:26254 days ago1723392206
0xCBE20930...8ADEAE509
0.001 ETH
414328892024-08-11 16:03:26254 days ago1723392206
0xCBE20930...8ADEAE509
0.001 ETH
414328162024-08-11 16:02:13254 days ago1723392133
0xCBE20930...8ADEAE509
0.001 ETH
414328162024-08-11 16:02:13254 days ago1723392133
0xCBE20930...8ADEAE509
0.001 ETH
414327022024-08-11 16:00:18254 days ago1723392018
0xCBE20930...8ADEAE509
0.002 ETH
414327022024-08-11 16:00:18254 days ago1723392018
0xCBE20930...8ADEAE509
0.002 ETH
414326542024-08-11 15:59:28254 days ago1723391968
0xCBE20930...8ADEAE509
0.001 ETH
414326542024-08-11 15:59:28254 days ago1723391968
0xCBE20930...8ADEAE509
0.001 ETH
414326022024-08-11 15:58:34254 days ago1723391914
0xCBE20930...8ADEAE509
0.001 ETH
414326022024-08-11 15:58:34254 days ago1723391914
0xCBE20930...8ADEAE509
0.001 ETH
414325732024-08-11 15:58:05254 days ago1723391885
0xCBE20930...8ADEAE509
0.003 ETH
414325732024-08-11 15:58:05254 days ago1723391885
0xCBE20930...8ADEAE509
0.003 ETH
414318282024-08-11 15:45:24254 days ago1723391124
0xCBE20930...8ADEAE509
0.003 ETH
414318282024-08-11 15:45:24254 days ago1723391124
0xCBE20930...8ADEAE509
0.003 ETH
414317242024-08-11 15:43:37254 days ago1723391017
0xCBE20930...8ADEAE509
0.001 ETH
414317242024-08-11 15:43:37254 days ago1723391017
0xCBE20930...8ADEAE509
0.001 ETH
414315042024-08-11 15:39:54254 days ago1723390794
0xCBE20930...8ADEAE509
0.003 ETH
414315042024-08-11 15:39:54254 days ago1723390794
0xCBE20930...8ADEAE509
0.003 ETH
414310892024-08-11 15:32:54254 days ago1723390374
0xCBE20930...8ADEAE509
0.003 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZNSRegistrarController

Compiler Version
v0.8.17+commit.8df45f5f

ZkSolc Version
v1.3.5

Optimization Enabled:
Yes with Mode 3

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at era.zksync.network on 2024-01-04
*/

/**
 *Submitted for verification at Etherscan.io on 2020-01-29
*/

pragma solidity ^0.8.0;


interface PriceOracle {
    /**
     * @dev Returns the price to register or renew a name.
     * @param name The name being registered or renewed.
     * @param expires When the name presently expires (0 if this is a new registration).
     * @param duration How long the name is being registered or extended for, in seconds.
     * @return The price of this renewal or registration, in wei.
     */
    function price(string calldata name, uint expires, uint duration) external view returns(uint);
}

interface ENS {

    // Logged when the owner of a node assigns a new owner to a subnode.
    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);

    // Logged when the owner of a node transfers ownership to a new account.
    event Transfer(bytes32 indexed node, address owner);

    // Logged when the resolver for a node changes.
    event NewResolver(bytes32 indexed node, address resolver);

    // Logged when the TTL of a node changes
    event NewTTL(bytes32 indexed node, uint64 ttl);

    // Logged when an operator is added or removed.
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external;
    function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external;
    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external returns(bytes32);
    function setResolver(bytes32 node, address resolver) external;
    function setOwner(bytes32 node, address owner) external;
    function setTTL(bytes32 node, uint64 ttl) external;
    function setApprovalForAll(address operator, bool approved) external;
    function owner(bytes32 node) external view returns (address);
    function resolver(bytes32 node) external view returns (address);
    function ttl(bytes32 node) external view returns (uint64);
    function recordExists(bytes32 node) external view returns (bool);
    function isApprovedForAll(address owner, address operator) external view returns (bool);
}

interface IERC165 {
    /**
     * @notice Query if a contract implements an interface
     * @param interfaceId The interface identifier, as specified in ERC-165
     * @dev Interface identification is specified in ERC-165. This function
     * uses less than 30,000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

abstract contract IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function balanceOf(address owner) public virtual view returns (uint256 balance);
    function ownerOf(uint256 tokenId) public virtual view returns (address owner);

    function approve(address to, uint256 tokenId) public virtual;
    function getApproved(uint256 tokenId) public virtual view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) public virtual;
    function isApprovedForAll(address owner, address operator) public virtual view returns (bool);

    function transferFrom(address from, address to, uint256 tokenId) public virtual;
    function safeTransferFrom(address from, address to, uint256 tokenId) public virtual;

    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual;
}

contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @return the address of the owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * @notice Renouncing to ownership will leave the contract without an owner.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

abstract contract BaseRegistrar is IERC721, Ownable {
    uint constant public GRACE_PERIOD = 90 days;

    event ControllerAdded(address indexed controller);
    event ControllerRemoved(address indexed controller);
    event NameMigrated(uint256 indexed id, address indexed owner, uint expires);
    event NameRegistered(uint256 indexed id, address indexed owner, uint expires);
    event NameRenewed(uint256 indexed id, uint expires);

    // The ENS registry
    ENS public ens;

    // The namehash of the TLD this registrar owns (eg, .eth)
    bytes32 public baseNode;

    // A map of addresses that are authorised to register and renew names.
    mapping(address=>bool) public controllers;

    // Authorises a controller, who can register and renew domains.
    function addController(address controller) external virtual;

    // Revoke controller permission for an address.
    function removeController(address controller) external virtual;

    // Set the resolver for the TLD this registrar manages.
    function setResolver(address resolver) external virtual;

    // Returns the expiration timestamp of the specified label hash.
    function nameExpires(uint256 id) external virtual view returns(uint);

    // Returns true iff the specified name is available for registration.
    function available(uint256 id) public virtual view returns(bool);

    /**
     * @dev Register a name.
     */
    function register(string calldata name, uint256 id, address owner, uint duration) external virtual returns(uint);

    function renew(uint256 id, uint duration) external virtual returns(uint);

    /**
     * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.
     */
    function reclaim(uint256 id, address owner) external virtual;
}

library StringUtils {
    /**
     * @dev Returns the length of a given string
     *
     * @param s The string to measure the length of
     * @return The length of the input string
     */
    function strlen(string memory s) internal pure returns (uint) {
        bytes memory inputBytes = bytes(s);
        return inputBytes.length;
    }
}

interface Resolver {
    event AddrChanged(bytes32 indexed node, address a);
    event AddressChanged(bytes32 indexed node, uint coinType, bytes newAddress);
    event NameChanged(bytes32 indexed node, string name);
    event ABIChanged(bytes32 indexed node, uint256 indexed contentType);
    event PubkeyChanged(bytes32 indexed node, bytes32 x, bytes32 y);
    event TextChanged(bytes32 indexed node, string indexed indexedKey, string key);
    event ContenthashChanged(bytes32 indexed node, bytes hash);
    /* Deprecated events */
    event ContentChanged(bytes32 indexed node, bytes32 hash);

    function ABI(bytes32 node, uint256 contentTypes) external view returns (uint256, bytes memory);
    function addr(bytes32 node) external view returns (address);
    function addr(bytes32 node, uint coinType) external view returns(bytes memory);
    function contenthash(bytes32 node) external view returns (bytes memory);
    function dnsrr(bytes32 node) external view returns (bytes memory);
    function name(bytes32 node) external view returns (string memory);
    function pubkey(bytes32 node) external view returns (bytes32 x, bytes32 y);
    function text(bytes32 node, string calldata key) external view returns (string memory);
    function interfaceImplementer(bytes32 node, bytes4 interfaceID) external view returns (address);

    function setABI(bytes32 node, uint256 contentType, bytes calldata data) external;
    function setAddr(bytes32 node, address addr) external;
    function setAddr(bytes32 node, uint coinType, bytes calldata a) external;
    function setContenthash(bytes32 node, bytes calldata hash) external;
    function setDnsrr(bytes32 node, bytes calldata data) external;
    function setName(bytes32 node, string calldata _name) external;
    function setPubkey(bytes32 node, bytes32 x, bytes32 y) external;
    function setText(bytes32 node, string calldata key, string calldata value) external;
    function setInterface(bytes32 node, bytes4 interfaceID, address implementer) external;

    function supportsInterface(bytes4 interfaceID) external pure returns (bool);

    /* Deprecated functions */
    function content(bytes32 node) external view returns (bytes32);
    function multihash(bytes32 node) external view returns (bytes memory);
    function setContent(bytes32 node, bytes32 hash) external;
    function setMultihash(bytes32 node, bytes calldata hash) external;
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
}

pragma experimental ABIEncoderV2;

contract ZNSRegistrarController is Ownable {
    using StringUtils for *;

    uint constant public ONE_YEAR_DURATION = 365 days;
    uint constant public MIN_REGISTRATION_DURATION =  ONE_YEAR_DURATION;

    struct Epoch {
        uint256 openTime;
        uint minLength;
        uint maxLength;
    }

    struct WhiteList {
        uint minLength;
        uint freeCount;
        uint allowedCount;
    }
    
    Epoch[] epochs;

    uint256 public WL_PRIORITY_PERIOD = 1 hours;
    mapping(address=> WhiteList) WLMap;

    bytes4 constant private INTERFACE_META_ID = bytes4(keccak256("supportsInterface(bytes4)"));
    bytes4 constant private COMMITMENT_CONTROLLER_ID = bytes4(
        keccak256("rentPrice(string,uint256)") ^
        keccak256("available(string)") ^
        keccak256("makeCommitment(string,address,bytes32)") ^
        keccak256("commit(bytes32)") ^
        keccak256("register(string,address,uint256,bytes32)") ^
        keccak256("renew(string,uint256)")
    );

    bytes4 constant private COMMITMENT_WITH_CONFIG_CONTROLLER_ID = bytes4(
        keccak256("registerWithConfig(string,address,uint256,bytes32,address,address)") ^
        keccak256("makeCommitmentWithConfig(string,address,bytes32,address,address)")
    );

    BaseRegistrar base;

    uint public YearlyBasePrice;
    mapping(uint=>uint256) public YearlyPriceMap; 

    address payable teamAddress;

    event NameRegistered(string name, bytes32 indexed label, address indexed owner, uint cost, uint expires);
    event NameRenewed(string name, bytes32 indexed label, uint cost, uint expires);
    event NewPriceOracle(address indexed oracle);

    constructor(BaseRegistrar _base, uint _price, address payable _teamAddress) public {
        base = _base;
        YearlyBasePrice = _price;
        teamAddress = _teamAddress;
    }

    function addEpoch(uint256 openTime, uint minLength, uint maxLength) public onlyOwner {
        epochs.push(Epoch(openTime, minLength, maxLength));
    }

    function addToWL(uint minLength, uint freeCount, uint allowedCount, address[] memory users) public onlyOwner {
        for (uint i = 0; i < users.length; i ++) {
            WLMap[users[i]].minLength = minLength;
            WLMap[users[i]].freeCount += freeCount;
            WLMap[users[i]].allowedCount += allowedCount;
        }
    }

    function setTeamAddress(address payable _teamAddress) public onlyOwner {
        teamAddress = _teamAddress;
    }

    function setWLPriority(uint256 _time) public onlyOwner {
        WL_PRIORITY_PERIOD = _time;
    }

    function setPrice(uint nameLength, uint256 price) public onlyOwner {
        require(nameLength > 0);
        YearlyPriceMap[nameLength] = price;
    }

    function checkWL(address user) view public returns (uint, uint, uint) {
        WhiteList memory wl = WLMap[user];
        return (wl.minLength, wl.freeCount, wl.allowedCount);
    }

    function rentPrice(string memory name, uint yearCount) view public returns(uint256) {
        uint256 price = YearlyPriceMap[name.strlen()];
        if (price == 0) {
            price = YearlyBasePrice;
        }
        return price * yearCount;
    }

    function rentPriceForUser(string memory name, address user, uint yearCount) view public returns(uint256) {
        uint256 price = rentPrice(name, yearCount);
        if (WLMap[user].freeCount > 0) {
            price -= rentPrice(name, 1);
        }
        return price;
    }

    function canRegister(string memory name, address user) view public returns (bool, bool) {
        bool isAvailable = available(name);
        if (!isAvailable) {
            return (false, false);
        }
        bool canMint = false;
        Epoch memory current = currentEpoch();
        if (current.openTime != 0) {
            uint nameLength = name.strlen();
            if (nameLength <= current.maxLength) {
                if (WLMap[user].allowedCount > 0) {
                    canMint = block.timestamp >= current.openTime && (nameLength >= WLMap[user].minLength || nameLength >= current.minLength);
                } else {
                    canMint = (block.timestamp >= current.openTime + WL_PRIORITY_PERIOD) && (nameLength >= current.minLength);
                }
            }
        }
        return (isAvailable, canMint);
    }

    function currentEpoch() view public returns (Epoch memory) {
        Epoch memory current = Epoch(0,9999, 0);
        for (uint i = 0; i < epochs.length; i ++) {
            Epoch memory temp = epochs[i];
            if (block.timestamp >= temp.openTime) {
                current = temp;
            }
        }
        return current;
    }

    function openTimeInfo() view public returns (uint256, uint256) {
        Epoch memory current = currentEpoch();
        if (current.openTime == 0) {
            return (0, 0);
        }
        return (current.openTime, current.openTime + WL_PRIORITY_PERIOD);
    } 

    function valid(string memory name) public pure returns(bool) {
        return name.strlen() >= 1;
    }

    function available(string memory name) public view returns(bool) {
        bytes32 label = keccak256(bytes(name));
        return valid(name) && base.available(uint256(label));
    }

    function register(string calldata name, address owner, uint yearCount) external payable {
      registerWithConfig(name, owner, yearCount, address(0), address(0));
    }

    function registerWithConfig(string memory name, address owner, uint yearCount, address resolver, address addr) public payable {
        require(valid(name), "Name not valid");
        (bool isAvailable, bool canMint) = canRegister(name, msg.sender);
        require(isAvailable && canMint, "You can not register this name at this moment.");
        uint cost = _consume(name, yearCount);

        bytes32 label = keccak256(bytes(name));
        uint256 tokenId = uint256(label);

        uint duration = yearCount * ONE_YEAR_DURATION;

        uint expires;
        if(resolver != address(0)) {
            // Set this contract as the (temporary) owner, giving it
            // permission to set up the resolver.
            expires = base.register(name, tokenId, address(this), duration);

            // The nodehash of this label
            bytes32 nodehash = keccak256(abi.encodePacked(base.baseNode(), label));

            // Set the resolver
            base.ens().setResolver(nodehash, resolver);

            // Configure the resolver
            if (addr != address(0)) {
                Resolver(resolver).setAddr(nodehash, addr);
            }

            // Now transfer full ownership to the expeceted owner
            base.reclaim(tokenId, owner);
            base.transferFrom(address(this), owner, tokenId);
        } else {
            require(addr == address(0));
            expires = base.register(name, tokenId, owner, duration);
        }

        emit NameRegistered(name, label, owner, cost, expires);

        // Refund any extra payment
        if(msg.value > cost) {
            msg.sender.call{value: msg.value - cost}("");
        }
        teamAddress.call{value:cost}("");

        if (WLMap[msg.sender].allowedCount > 0) {
            WLMap[msg.sender].allowedCount --;
        }
        if (WLMap[msg.sender].freeCount > 0) {
            WLMap[msg.sender].freeCount --;
        }
    }

    function renew(string calldata name, uint yearCount) external payable {

        uint cost = rentPrice(name, yearCount);
        require(msg.value >= cost);
        uint duration = yearCount * ONE_YEAR_DURATION;
        
        bytes32 label = keccak256(bytes(name));
        uint expires = base.renew(uint256(label), duration);

        if(msg.value > cost) {
            msg.sender.call{value: msg.value - cost}("");
        }
        teamAddress.call{value:cost}("");

        emit NameRenewed(name, label, cost, expires);
    }

    function setYearlyBasePrice(uint price) public onlyOwner {
        YearlyBasePrice = price;
    }

    function setBase(BaseRegistrar _base) public onlyOwner {
        base = _base;
    }

    function withdraw() public onlyOwner {
        msg.sender.call{value: address(this).balance}("");
    }

    function withdrawToken(address _tokenContract) public onlyOwner {
        IERC20 tokenContract = IERC20(_tokenContract);
        uint256 balance = tokenContract.balanceOf(address(this));
        tokenContract.transfer(msg.sender, balance);
    }

    function supportsInterface(bytes4 interfaceID) external pure returns (bool) {
        return interfaceID == INTERFACE_META_ID ||
               interfaceID == COMMITMENT_CONTROLLER_ID ||
               interfaceID == COMMITMENT_WITH_CONFIG_CONTROLLER_ID;
    }

    function _consume(string memory name, uint yearCount) internal returns (uint256) {
        require(available(name));
        require(yearCount >= 1);
        uint cost = rentPriceForUser(name, msg.sender, yearCount);
        require(msg.value >= cost);

        return cost;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract BaseRegistrar","name":"_base","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"address payable","name":"_teamAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"bytes32","name":"label","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"cost","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expires","type":"uint256"}],"name":"NameRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":true,"internalType":"bytes32","name":"label","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"cost","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expires","type":"uint256"}],"name":"NameRenewed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oracle","type":"address"}],"name":"NewPriceOracle","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"},{"inputs":[],"name":"MIN_REGISTRATION_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ONE_YEAR_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WL_PRIORITY_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"YearlyBasePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"YearlyPriceMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"openTime","type":"uint256"},{"internalType":"uint256","name":"minLength","type":"uint256"},{"internalType":"uint256","name":"maxLength","type":"uint256"}],"name":"addEpoch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minLength","type":"uint256"},{"internalType":"uint256","name":"freeCount","type":"uint256"},{"internalType":"uint256","name":"allowedCount","type":"uint256"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"addToWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"available","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"user","type":"address"}],"name":"canRegister","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkWL","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEpoch","outputs":[{"components":[{"internalType":"uint256","name":"openTime","type":"uint256"},{"internalType":"uint256","name":"minLength","type":"uint256"},{"internalType":"uint256","name":"maxLength","type":"uint256"}],"internalType":"struct ZNSRegistrarController.Epoch","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTimeInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"yearCount","type":"uint256"}],"name":"register","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"yearCount","type":"uint256"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"address","name":"addr","type":"address"}],"name":"registerWithConfig","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"yearCount","type":"uint256"}],"name":"renew","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"yearCount","type":"uint256"}],"name":"rentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"yearCount","type":"uint256"}],"name":"rentPriceForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract BaseRegistrar","name":"_base","type":"address"}],"name":"setBase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nameLength","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_teamAddress","type":"address"}],"name":"setTeamAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"setWLPriority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setYearlyBasePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"valid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]

9c4d535b00000000000000000000000000000000000000000000000000000000000000000100038f8ecc1bfeb71705745f0362d21b45557c2effa9ab9585f60fe242ae7300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000cc788c0495894c01f01cd328cf637c7c441ee69e00000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000277a8560ca52833cb158e675b4b85ee3c73c2fb7

Deployed Bytecode

0x0004000000000002000c00000000000200000000030100190000006003300270000003490430019700030000004103550002000000010355000003490030019d000100000000001f00000001012001900000000006000411000000780000c13d0000008008000039000000400080043f0000000002000031000000040120008c000005ee0000413d0000000203000367000000000103043b000000e001100270000003500410009c000005190000613d000003510410009c000005b70000613d000003520410009c0000056f0000613d000003530410009c0000000007000410000000e60000613d000003540410009c000005dd0000613d000003550410009c0000028d0000613d000003560410009c000002a50000613d000003570410009c000005970000613d000003580410009c000000e50000613d000003590410009c000003ff0000613d0000035a0410009c0000041d0000613d0000035b0410009c000005440000613d0000035c0410009c000004940000613d0000035d0410009c000003dd0000613d0000035e0410009c000001120000613d0000035f0410009c000003230000613d000003600410009c000000e50000613d000003610410009c000004620000613d000003620410009c000002090000613d000003630410009c000001300000613d000003640410009c000004b50000613d000003650410009c000000040420008a0000000403300370000002240000613d000003660510009c000004f80000613d000003670510009c000003a60000613d000003680510009c0000047a0000613d000003690510009c000004400000613d0000036a0510009c000001510000613d0000036b0210009c000003700000613d0000036c0210009c000002fb0000613d0000036d0110009c000005ee0000c13d0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000038402100197000000000221004b000005ee0000c13d0000000102000039000003850310009c000000720000613d000003860310009c000000720000613d000003870110009c00000000020000190000000102006039000000010120018f000000800010043f0000008001000039000000200200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d00000000010000310000009f02100039000000200300008a000000000232016f0000007f0320008c000000880000213d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f000000400020043f0000001f0210018f00000002030003670000000504100272000000960000613d00000000050000190000000508500210000000000783034f000000000707043b000000800880003900000000007804350000000105500039000000000745004b0000008e0000413d000000000520004c000000a50000613d0000000504400210000000000343034f00000003022002100000008004400039000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f00000000002404350000034a02000041000000600310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000800100043d000c00000001001d0000034b0110009c000005ee0000213d000000a00100043d000a00000001001d000000c00100043d000b00000001001d0000034b0110009c000005ee0000213d000000000100041a0000034c01100197000000000161019f000000000010041b00000349010000410000000002000414000003490320009c0000000001024019000000c0011002100000034d011001c70000800d0200003900000003030000390000034e0400004100000000050000190d1e0d140000040f0000000101200190000005ee0000613d00000e10010000390000000202000039000000000012041b0000000401000039000000000201041a0000034c022001970000000c03000029000000000232019f000000000021041b00000005010000390000000a02000029000000000021041b0000000701000039000000000201041a0000034c022001970000000b03000029000000000232019f000000000021041b000000200100003900000100001004430000012000000443000001000100003900000040020000390000034f030000410d1e0a6a0000040f0d1e0af70000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b01100197000000000116004b000005ee0000c13d0000000001000414000b00000001001d0000038301000041000000000010043900000004007004430000800a010000390000002402000039000c00000006001d0d1e0a580000040f0000000c040000290000000003010019000000040140008c0000063b0000613d000000000130004c0000062e0000c13d0000000b01000029000000000204001900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f0000063b0000013d0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b01100197000000000116004b000005ee0000c13d00000004010000390000000201100367000000000101043b0000000502000039000000000012041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000200410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000036e0310009c000005ee0000213d00000004011000390d1e0acd0000040f0000000001010433000000000110004c0000000002000019000000010200c039000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000034a01000041000000600540008c000000000500001900000000050140190000034a04400197000000000740004c000000000100a0190000034a0440009c000000000105c019000000000110004c000005ee0000c13d000000000103043b0000036e0310009c000005ee0000213d0000000401100039000c00000006001d000a00000008001d0d1e0b110000040f00000002030003670000002404300370000000000404043b000b00000004001d0000034b0440009c000005ee0000213d0000004403300370000000000303043b000900000003001d00000000030000310d1e0a8f0000040f0000000002010433000000000220004c000003cf0000613d000800000001001d0000000c020000290d1e0ba00000040f000000000110004c000006e20000613d000000000120004c000006e20000613d00000008010000290d1e0c6a0000040f000000000110004c0000000c02000029000005ee0000613d0000000901000029000000000110004c000005ee0000613d000000080100002900000009030000290d1e0b730000040f0000000002000416000700000001001d000000000112004b000005ee0000413d0000000801000029000000000201043300000020011000390d1e0a410000040f00000009030000290000036f243000d1000500000004001d00000000323400d9000600000001001d0000036f0120009c000002860000c13d0000000401000039000000000101041a000400000001001d000000400300043d000900000003001d0000037001000041000000000013043500000004013000390000000002000414000300000002001d0000000a020000290000000000210435000000840230003900000008010000290d1e0cc90000040f000000090400002900000064024000390000000503000029000000000032043500000044024000390000000b03000029000000000032043500000024024000390000000603000029000000000032043500000004020000290000034b02200197000000040320008c000001b70000613d000000090300002900000000043100490000002006000039000000030100002900000000050300190d1e09d50000040f000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f00000009030000290000000003320019000000000223004b0000000002000019000000010200403900000000040300190000036e0330009c000000810000213d0000000102200190000000810000c13d000000400040043f000000200110008c000005ee0000413d00000009010000290000000001010433000a00000001001d0000006001000039000500000004001d0000000000140435000000600240003900000008010000290d1e0cc90000040f000000050400002900000040024000390000000a03000029000000000032043500000020024000390000000703000029000000000032043500000000014100490000034902000041000003490340009c000000000302001900000000030440190000004003300210000003490410009c00000000010280190000006001100210000000000131019f0000000003000414000003490430009c0000000002034019000000c002200210000000000112019f0000034d011001c70000800d0200003900000003030000390000037104000041000a00000003001d00000006050000290000000b060000290d1e0d140000040f0000000101200190000005ee0000613d00000000010004160000000702000029000000000121004b0000090f0000a13d000000000100041400000000020004160000000703000029000000000332004b0000000c03000029000002860000413d000000040330008c0000090e0000613d0000000703000029000000000332004b000008ff0000c13d0000000c0200002900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f0000090e0000013d0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b01100197000000000116004b00000000020000190000000102006039000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000034a01000041000000400540008c000000000500001900000000050140190000034a04400197000000000740004c000000000100a0190000034a0440009c000000000105c019000000000110004c000005ee0000c13d000000000103043b0000036e0310009c000005ee0000213d0000000401100039000c00000006001d0d1e0b110000040f00000024030000390000000203300367000000000303043b000b00000003001d0000000003000031000900000001001d000a00000002001d0d1e0a8f0000040f0000000b020000290d1e0b550000040f0000000002000416000800000001001d000000000112004b000005ee0000413d0000000b020000290000036f132000d1000000000120004c0000024a0000613d00000000212300d90000036f0110009c000002860000c13d000b00000003001d000000000300003100000009010000290000000a020000290d1e0a8f0000040f000000000201043300000020011000390d1e0a410000040f0000000402000039000000000202041a000000400300043d00000024043000390000000b0500002900000000005404350000037e0400004100000000004304350000000404300039000700000001001d000000000014043500000000010004140000034b02200197000000040420008c000002690000613d00000044040000390000002006000039000b00000003001d0000000b050000290d1e09d50000040f0000000b03000029000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600420018f0000000002340019000000000442004b000000000500001900000001050040390000036e0420009c0000000c04000029000000810000213d0000000105500190000000810000c13d000000400020043f000000200110008c000005ee0000413d0000000001030433000b00000001001d00000000010004160000000802000029000000000121004b0000076c0000a13d000000000100041400000000020004160000000803000029000000000332004b000007490000813d000003800100004100000000001004350000001101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d0000000501000039000000000201041a000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000800410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000002030003670000004401300370000000000101043b000500000001001d0000002401300370000000000101043b000600000001001d0000000401300370000000000101043b000700000001001d0000006401300370000000000101043b0000036e0410009c000005ee0000213d00000023041000390000034a05000041000000000724004b000000000800001900000000080580190000034a022001970000034a04400197000000000724004b0000000005008019000000000224013f0000034a0220009c00000000020800190000000002056019000000000220004c000005ee0000c13d0000000402100039000000000223034f000000000202043b0000036e0320009c000000810000213d00000005032002100000003f04300039000000200500008a000000000454016f000000400500043d0000000004450019000b00000005001d000000000554004b000000000500001900000001050040390000036e0740009c000000810000213d0000000105500190000000810000c13d000000400040043f0000000b040000290000000000240435000000240110003900000000021300190000000003000031000000000332004b000005ee0000213d0000000b030000290000002003300039000400000003001d000000000421004b000006f90000813d0000000204100367000000000404043b0000034b0540009c000005ee0000213d000000000043043500000020011000390000002003300039000002f10000013d0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000400310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b000000000200041a0000034b02200197000000000226004b000005ee0000c13d000000000210004c000005ee0000613d00000000001004350000000601000039000000200010043f000000400200003900000000010000190d1e0a410000040f00000024020000390000000202200367000000000202043b000000000021041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b000b00000001001d0000034b0110009c000005ee0000213d000000000100041a0000034b01100197000000000116004b000005ee0000c13d000c00000006001d000000400300043d000003810100004100000000001304350000000401300039000000000071043500000000010004140000000b02000029000000040420008c000005f80000613d00000024040000390000002006000039000a00000003001d0000000a050000290d1e0a0c0000040f0000000a03000029000000000110004c000005f80000c13d0000000302000367000000400100043d00000001040000310000001f0340018f00000005044002720000035f0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000003570000413d000000000530004c0000036e0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310d1e0a720000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b000c00000001001d0000034b0110009c000005ee0000213d000000000100041a000b00000001001d0000034b01100197000000000116004b000005ee0000c13d0000000c01000029000000000110004c000005ee0000613d00000349010000410000000002000414000003490320009c0000000001024019000000c0011002100000034d011001c70000800d0200003900000003030000390000034e0400004100000000050600190000000c060000290d1e0d140000040f0000000101200190000005ee0000613d0000000b010000290000034c011001970000000c02000029000000000121019f000000000010041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f000b00000007001d0000034a01000041000000a00540008c000000000500001900000000050140190000034a04400197000000000740004c000000000100a0190000034a0440009c000000000105c019000000000110004c000005ee0000c13d000000000103043b0000036e0310009c000005ee0000213d0000000401100039000c00000006001d000a00000008001d0d1e0acd0000040f000900000001001d00000002010003670000002402100370000000000202043b000800000002001d0000034b0220009c000005ee0000213d0000004402100370000000000202043b000700000002001d0000006402100370000000000202043b0000034b0220009c000005ee0000213d0000008401100370000000000101043b0000034b0110009c000005ee0000213d00000009010000290000000002010433000000000220004c000006400000c13d000000400100043d00000044021000390000037d03000041000000000032043500000024021000390000000e0300003900000000003204350000037c02000041000000000021043500000004021000390000002003000039000000000032043500000064020000390d1e0a720000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000400410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000036e0310009c000005ee0000213d00000004011000390d1e0acd0000040f00000024020000390000000202200367000000000202043b0d1e0b550000040f000000400300043d00000000001304350000002002000039000000000103001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b01100197000000000116004b000005ee0000c13d00000004010000390000000201100367000000000101043b0000000202000039000000000012041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000034b0210009c000005ee0000213d000000000200041a0000034b02200197000000000226004b000005ee0000c13d0000000702000039000000000302041a0000034c03300197000000000113019f000000000012041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000202100367000000000202043b0000034b0320009c000005ee0000213d000000000300041a0000034b03300197000000000336004b000005ee0000c13d000000000301041a0000034c03300197000000000223019f000000000021041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b02100197000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d0d1e0c3e0000040f000000400300043d0000002004300039000000000024043500000000001304350000004002000039000000000103001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d0d1e0c010000040f0000000002010433000000400300043d0000000000230435000000200210003900000000020204330000002004300039000000000024043500000040011000390000000001010433000000400230003900000000001204350000006002000039000000000103001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000600310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a0000034b01100197000000000116004b000005ee0000c13d000000400400043d000003730140009c000000810000213d0000006001400039000000400010043f00000004010000390000000201100367000000000101043b000000000014043500000024010000390000000201100367000000000101043b00000020064000390000000000160435000000400540003900000044010000390000000201100367000000000101043b00000000001504350000000102000039000000000102041a0000036e0310009c000000810000213d000a00000006001d000b00000005001d000c00000004001d0000000103100039000000000032041b0d1e0b2d0000040f000000000220004c000006f30000c13d0000000c020000290000000002020433000000000021041b0000000a0200002900000000020204330000000103100039000000000023041b00000002011000390000000b020000290000000002020433000000000021041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000200410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000036e0310009c000005ee0000213d00000004011000390d1e0acd0000040f0d1e0c6a0000040f000000000110004c0000000002000019000000010200c039000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000400410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000036e0310009c000005ee0000213d00000004011000390d1e0acd0000040f000c00000001001d0d1e0ae50000040f00000000020100190000000c010000290d1e0ba00000040f000000000220004c0000000002000019000000010200c039000000400300043d00000020043000390000000000240435000000000110004c0000000001000019000000010100c03900000000001304350000004002000039000000000103001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d000000000100041a000c00000001001d0000034b01100197000000000116004b000005ee0000c13d00000349010000410000000002000414000003490320009c0000000001024019000000c0011002100000034d011001c70000800d0200003900000003030000390000034e04000041000000000506001900000000060000190d1e0d140000040f0000000101200190000005ee0000613d0000000c010000290000034c01100197000000000010041b0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d0d1e0aee0000040f0000034b0110019700000000001004350000000301000039000000200010043f000000400200003900000000010000190d1e0a410000040f0d1e0b3d0000040f00000020021000390000000002020433000000000301043300000040011000390000000004010433000000400100043d00000040051000390000000000450435000000200410003900000000002404350000000000310435000000600200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000200310008c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b00000000001004350000000601000039000000200010043f000000400200003900000000010000190d1e0a410000040f000000000201041a000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d0000000002000031000000040120008a0000034a03000041000000600410008c000000000400001900000000040340190000034a01100197000000000510004c000000000300a0190000034a0110009c00000000010400190000000001036019000000000110004c000005ee0000c13d00000004010000390000000201100367000000000101043b0000036e0310009c000005ee0000213d00000004011000390d1e0acd0000040f000c00000001001d0d1e0ae50000040f00000044020000390000000202200367000000000302043b00000000020100190000000c010000290d1e0b730000040f000000400300043d00000000001304350000002002000039000000000103001900000000030000190d1e0a6a0000040f0000000001000416000000000110004c000005ee0000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c000005f10000613d000000000100001900000000020000190d1e0a720000040f0000000201000039000000000201041a000000400100043d0000000000210435000000200200003900000000030000190d1e0a6a0000040f0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f0000000004320019000000000224004b000000000200001900000001020040390000036e0540009c0000000c06000029000000810000213d0000000102200190000000810000c13d000a00000004001d000000400040043f000000200110008c000005ee0000413d00000000010304330000000a0500002900000024025000390000000000120435000003820100004100000000001504350000000401500039000000000061043500000000010004140000000b02000029000000040320008c0000061f0000613d0000004404000039000000200600003900000000030500190000000a050000290d1e09d50000040f0000000a05000029000000000110004c000003500000613d0000000101000031000000200210008c00000020020000390000000002014019000c00000002001d00000000010500190d1e0a7b0000040f0000000a010000290000000c0200002900000000021200190d1e0c530000040f0000000001000019000000000200001900000000030000190d1e0a6a0000040f00000349010000410000000b05000029000003490250009c0000000001054019000000c0011002100000034d011001c7000080090200003900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000c020000290d1e0ba00000040f000000000110004c000006e20000613d000000000120004c000006e20000613d00000009010000290d1e0c6a0000040f000000000110004c0000000c02000029000005ee0000613d0000000701000029000000000110004c000005ee0000613d000000090100002900000007030000290d1e0b730000040f0000000002000416000600000001001d000000000112004b000005ee0000413d0000000901000029000000000201043300000020011000390d1e0a410000040f00000007030000290000036f243000d1000500000004001d00000000323400d9000700000001001d0000036f0120009c000002860000c13d00000002010003670000006402100370000000000202043b0000034b02200198000007d30000c13d0000008401100370000000000101043b0000034b011001980000000a02000029000005ee0000c13d0000000401000039000000000101041a000400000001001d000000400400043d000b00000004001d0000037001000041000000000014043500000004014000390000000003000414000300000003001d0000000000210435000000840240003900000009010000290d1e0cc90000040f0000000b0400002900000064024000390000000503000029000000000032043500000044024000390000000803000029000000000032043500000024024000390000000703000029000000000032043500000004020000290000034b02200197000000040320008c0000068e0000613d0000000b0300002900000000043100490000002006000039000000030100002900000000050300190d1e09d50000040f000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f0000000b030000290000000003320019000000000223004b00000000020000190000000102004039000a00000003001d0000036e0330009c000000810000213d0000000102200190000000810000c13d0000000a02000029000000400020043f000000200110008c000005ee0000413d0000000b010000290000000001010433000500000001001d00000060010000390000000a02000029000a00000002001d0000000000120435000000600220003900000009010000290d1e0cc90000040f0000000a0400002900000040024000390000000503000029000000000032043500000020024000390000000603000029000000000032043500000000014100490000034902000041000003490340009c000000000302001900000000030440190000004003300210000003490410009c00000000010280190000006001100210000000000131019f0000000003000414000003490430009c0000000002034019000000c002200210000000000112019f0000034d011001c70000800d0200003900000003030000390000037104000041000b00000003001d000000070500002900000008060000290d1e0d140000040f0000000101200190000005ee0000613d00000000010004160000000602000029000000000121004b000009660000a13d000000000100041400000000020004160000000603000029000000000332004b0000000c03000029000002860000413d000000040330008c000009650000613d0000000603000029000000000332004b000009560000c13d0000000c0200002900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f000009650000013d000000400100043d00000064021000390000037a03000041000000000032043500000044021000390000037b03000041000000000032043500000024021000390000002e0300003900000000003204350000037c02000041000000000021043500000004021000390000002003000039000000000032043500000084020000390d1e0a720000040f00000380010000410000000000100435000000040000043f000000240200003900000000010000190d1e0a720000040f000000000100041a0000034b01100197000000000116004b000005ee0000c13d0000000301000039000a00000001001d0000004001000039000900000001001d00000000020000190000000b010000290000000001010433000000000112004b0000000a030000290000000904000029000007cf0000813d0000000501200210000c00000002001d00000004020000290000000001210019000800000001001d00000000010104330000034b011001970000000000100435000000200030043f000000000100001900000000020400190d1e0a410000040f00000008030000290000000702000029000000000021041b0000000b0100002900000000010104330000000c02000029000000000121004b000007550000a13d00000000010304330000034b0110019700000000001004350000000a01000029000000200010043f000000000100001900000009020000290d1e0a410000040f0000000101100039000000000301041a00000006020000290000000002230019000000000332004b000000000300001900000001030040390000000103300190000002860000c13d000000000021041b0000000b0100002900000000010104330000000c02000029000000000121004b0000000a0300002900000009020000290000000801000029000007550000a13d00000000010104330000034b011001970000000000100435000000200030043f00000000010000190d1e0a410000040f0000000201100039000000000301041a00000005020000290000000002230019000000000332004b000000000300001900000001030040390000000103300190000002860000c13d000000000021041b0000000c020000290000000102200039000007020000013d000000040340008c0000076b0000613d0000000803000029000000000332004b0000075c0000c13d0000000c0200002900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f0000076b0000013d000003800100004100000000001004350000003201000039000000040010043f000000240200003900000000010000190d1e0a720000040f000000080300002900000000033200490000034902000041000003490410009c0000000001028019000000c0011002100000034d011001c700008009020000390000000c0400002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f00000000010004140000000702000039000000000202041a0000034b04200197000000040240008c000007890000613d0000000802000029000000000220004c0000077c0000c13d000000000204001900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f000007890000013d0000034902000041000003490310009c0000000001028019000000c0011002100000034d011001c70000800902000039000000080300002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f0000006002000039000000400100043d000000000021043500000060021000390000000a0500002900000000005204350000001f0350018f00000080021000390000000904000029000000020440036700000005055002720000079f0000613d000000000600001900000005076002100000000008720019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000007970000413d000000000630004c000007ae0000613d0000000505500210000000000454034f00000000055200190000000303300210000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f00000000003504350000000a030000290000000002320019000000000002043500000040021000390000000b0400002900000000004204350000002002100039000000080400002900000000004204350000009f02300039000000200300008a000000000232016f0000034903000041000003490410009c00000000010380190000004001100210000003490420009c00000000020380190000006002200210000000000121019f0000000002000414000003490420009c0000000002038019000000c002200210000000000112019f0000034d011001c70000800d0200003900000002030000390000037f0400004100000007050000290d1e0d140000040f0000000101200190000005ee0000613d0000000001000019000000000200001900000000030000190d1e0a6a0000040f0000000401000039000100000001001d000000000101041a000300000001001d000000400300043d000400000003001d0000037001000041000000000013043500000004013000390000000002000414000200000002001d0000000a020000290000000000210435000000840230003900000009010000290d1e0cc90000040f00000004040000290000006402400039000000050300002900000000003204350000000b020000290000034b022001970000004403400039000000000023043500000024024000390000000703000029000000000032043500000003020000290000034b02200197000000040320008c000007fa0000613d000000040300002900000000043100490000002006000039000000020100002900000000050300190d1e09d50000040f000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f00000004030000290000000003320019000000000223004b00000000020000190000000102004039000a00000003001d0000036e0330009c000000810000213d0000000102200190000000810000c13d0000000a02000029000000400020043f000000200110008c000005ee0000413d00000004010000290000000001010433000500000001001d0000000101000029000000000201041a00000372010000410000000a03000029000000000013043500000000010004140000034b02200197000400000002001d000000040220008c000008230000613d0000000404000039000000200600003900000004020000290000000a0300002900000000050300190d1e0a0c0000040f000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600220018f0000000a0300002900000000023200190000036e0320009c000000810000213d000000400020043f000000200110008c000005ee0000413d0000000a0100002900000000030104330000004001200039000000070400002900000000004104350000002001200039000000000031043500000040030000390000000000320435000003730320009c000000810000213d0000006003200039000000400030043f00000000020204330d1e0a410000040f0000037402000041000000400300043d000a00000003001d0000000000230435000300000001001d00000000010004140000000402000029000000040220008c000008500000613d0000000404000039000000200600003900000004020000290000000a0300002900000000050300190d1e0a0c0000040f000000000110004c000003500000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600320018f0000000a020000290000000002230019000000000332004b000000000300001900000001030040390000036e0420009c000000810000213d0000000103300190000000810000c13d000000400020043f000000200110008c000005ee0000413d0000000a010000290000000001010433000a00000001001d0000034b0110009c000005ee0000213d000003750100004100000000001004390000000a010000290000000400100443000080020100003900000024020000390d1e0a580000040f000000000110004c000005ee0000613d000000400500043d00000376010000410000000000150435000000000100041400000064020000390000000202200367000000000202043b0000000403500039000000030400002900000000004304350000034b02200197000400000005001d000000240350003900000000002304350000000a02000029000000040220008c000008890000613d00000044040000390000000a020000290000000403000029000000000503001900000000060000190d1e09d50000040f000000000110004c000003500000613d00000004010000290000036e0110009c000000810000213d0000000401000029000000400010043f00000002010003670000008402100370000000000202043b0000034b02200198000009a40000c13d0000000101000029000000000101041a000003750200004100000000002004390000034b01100197000a00000001001d0000000400100443000080020100003900000024020000390d1e0a580000040f000000000110004c000005ee0000613d000000400300043d00000024013000390000000802000029000000000021043500000378010000410000000000130435000400000003001d00000004013000390000000702000029000000000021043500000000010004140000000a02000029000000040220008c000008b50000613d00000044040000390000000a020000290000000403000029000000000503001900000000060000190d1e09d50000040f000000000110004c000003500000613d00000004010000290000036e0110009c000000810000213d0000000401000029000000400010043f0000000101000029000000000101041a000003750200004100000000002004390000034b01100197000400000001001d0000000400100443000080020100003900000024020000390d1e0a580000040f000000000110004c000005ee0000613d000000400300043d00000044013000390000000702000029000000000021043500000024013000390000000802000029000000000021043500000379010000410000000000130435000a00000003001d00000004013000390000000b02000029000000000021043500000000010004140000000402000029000000040220008c000009cf0000613d000000640400003900000004020000290000000a03000029000000000503001900000000060000190d1e09d50000040f000000000110004c000009cf0000c13d0000000302000367000000400100043d00000001040000310000001f0340018f0000000504400272000008ee0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b000008e60000413d000000000530004c000008fd0000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310d1e0a720000040f000000070300002900000000033200490000034902000041000003490410009c0000000001028019000000c0011002100000034d011001c700008009020000390000000c0400002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f00000000010004140000000702000039000000000202041a0000034b04200197000000040240008c0000092c0000613d0000000702000029000000000220004c0000091f0000c13d000000000204001900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f0000092c0000013d0000034902000041000003490310009c0000000001028019000000c0011002100000034d011001c70000800902000039000000070300002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f0000000c0100002900000000001004350000000a01000029000000200010043f000000400200003900000000010000190d1e0a410000040f0000000201100039000000000101041a000000000110004c000009410000613d000000400200003900000000010000190d1e0a410000040f0000000201100039000000000201041a000000000320004c000002860000613d000000010220008a000000000021041b0000000c0100002900000000001004350000000a01000029000000200010043f000000400200003900000000010000190d1e0a410000040f0000000101100039000000000101041a000000000110004c000007cf0000613d000000400200003900000000010000190d1e0a410000040f0000000101100039000000000201041a000000000320004c000002860000613d000000010220008a000000000021041b000007cf0000013d000000060300002900000000033200490000034902000041000003490410009c0000000001028019000000c0011002100000034d011001c700008009020000390000000c0400002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f00000000010004140000000702000039000000000202041a0000034b04200197000000040240008c000009830000613d0000000602000029000000000220004c000009760000c13d000000000204001900000000030000190000000004000019000000000500001900000000060000190d1e09d50000040f000009830000013d0000034902000041000003490310009c0000000001028019000000c0011002100000034d011001c70000800902000039000000060300002900000000050000190d1e0d140000040f00000000020100190000006002200270000103490020019d00030000000103550d1e0cdc0000040f0000000c0100002900000000001004350000000b01000029000000200010043f000000400200003900000000010000190d1e0a410000040f0000000201100039000000000101041a000000000110004c000009980000613d000000400200003900000000010000190d1e0a410000040f0000000201100039000000000201041a000000000320004c000002860000613d000000010220008a000000000021041b0000000c0100002900000000001004350000000b01000029000000200010043f000000400200003900000000010000190d1e0a410000040f0000000101100039000000000101041a000000000110004c000007cf0000613d0000094c0000013d0000006401100370000000000101043b000003750200004100000000002004390000034b011001970000000400100443000080020100003900000024020000390d1e0a580000040f000000000110004c000005ee0000613d000000400600043d00000377010000410000000000160435000000000100041400000002020003670000006403200370000000000303043b0000008402200370000000000202043b0000000404600039000000030500002900000000005404350000034b02200197000a00000006001d000000240460003900000000002404350000034b02300197000000040320008c000009c90000613d00000044040000390000000a03000029000000000503001900000000060000190d1e09d50000040f000000000110004c000003500000613d0000000a010000290000036e0110009c000000810000213d0000000a01000029000000400010043f000008930000013d0000000a010000290000036e0110009c000000810000213d0000000a01000029000000400010043f000006a50000013d0002000000000002000200000006001d000100000005001d0000034905000041000003490630009c00000000030580190000004003300210000003490640009c00000000040580190000006004400210000000000334019f000003490410009c0000000001058019000000c001100210000000000113019f0d1e0d140000040f00000001090000290000000003010019000000600330027000000349033001970000000205000029000000000453004b00000000050340190000001f0450018f0000000505500272000009f80000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000009f00000413d000000010220018f000000000640004c00000a080000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000001020019000000000001042d0002000000000002000200000006001d000100000005001d0000034905000041000003490610009c0000000001058019000000c00110021000000060044002100000000001140019000003490430009c00000000030580190000004003300210000000000131019f0d1e0d190000040f00000001090000290000000003010019000000600330027000000349033001970000000205000029000000000453004b00000000050340190000001f0450018f000000050550027200000a2d0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a250000413d000000010220018f000000000640004c00000a3d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000001020019000000000001042d0000034903000041000003490410009c00000000010380190000004001100210000003490420009c00000000020380190000006002200210000000000112019f0000000002000414000003490420009c0000000002038019000000c002200210000000000112019f0000034d011001c700008010020000390d1e0d190000040f000000010220019000000a550000613d000000000101043b000000000001042d000000000100001900000000020000190d1e0a720000040f000000000301001900000349010000410000000004000414000003490540009c0000000001044019000000c00110021000000060022002100000000001120019000003880110004100000000020300190d1e0d190000040f000000010220019000000a670000613d000000000101043b000000000001042d000000000100001900000000020000190d1e0a720000040f0000034904000041000003490510009c000000000104801900000040011002100000006002200210000000000121019f000000000131001900000d1f0001042e0000034903000041000003490420009c0000000002038019000003490410009c000000000103801900000040011002100000006002200210000000000112019f00000d20000104300000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b000000000200001900000001020040390000036e0310009c00000a880000213d000000010220019000000a880000c13d000000400010043f000000000001042d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0000000004010019000003890120009c00000ac30000813d0000003f01200039000000200500008a000000000551016f000000400100043d0000000005510019000000000615004b000000000600001900000001060040390000036e0750009c00000ac30000213d000000010660019000000ac30000c13d000000400050043f00000000002104350000000005420019000000000335004b00000aca0000213d0000001f0520018f00000002044003670000002003100039000000050620027200000ab10000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000aa90000413d000000000750004c00000ac00000613d0000000506600210000000000464034f00000000066300190000000305500210000000000706043300000000075701cf000000000757022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000474019f000000000046043500000000022300190000000000020435000000000001042d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f000000000100001900000000020000190d1e0a720000040f00000000030200190000001f021000390000034a04000041000000000532004b000000000500001900000000050440190000034a063001970000034a02200197000000000762004b000000000400a019000000000262013f0000034a0220009c00000000020500190000000002046019000000000220004c00000ae20000613d0000000202100367000000000202043b00000020011000390d1e0a8f0000040f000000000001042d000000000100001900000000020000190d1e0a720000040f00000024010000390000000201100367000000000101043b0000038a0210009c00000aeb0000813d000000000001042d000000000100001900000000020000190d1e0a720000040f00000004010000390000000201100367000000000101043b0000038a0210009c00000af40000813d000000000001042d000000000100001900000000020000190d1e0a720000040f0000000001000416000000000110004c00000b080000c13d000000040100008a00000000011000310000034a02000041000000000310004c000000000300001900000000030240190000034a01100197000000000410004c000000000200a0190000034a0110009c00000000010300190000000001026019000000000110004c00000b0b0000613d000000000100001900000000020000190d1e0a720000040f000000400100043d0000036f020000410000000000210435000000200200003900000000030000190d1e0a6a0000040f0000001f031000390000034a04000041000000000523004b000000000500001900000000050440190000034a062001970000034a03300197000000000763004b000000000400a019000000000363013f0000034a0330009c00000000030500190000000003046019000000000330004c00000b2a0000613d0000000203100367000000000303043b0000036e0430009c00000b2a0000213d00000020011000390000000004310019000000000224004b00000b2a0000213d0000000002030019000000000001042d000000000100001900000000020000190d1e0a720000040f0000000102000039000000000302041a000000000313004b00000b360000a13d000000000020043500000003211000c90000038b011000410000000002000019000000000001042d000003800100004100000000001004350000003201000039000000040010043f000000240200003900000000010000190d1e0a720000040f0000000002010019000000400100043d0000038c0310009c00000b4e0000813d0000006003100039000000400030043f000000000302041a00000000003104350000000103200039000000000303041a000000200410003900000000003404350000000202200039000000000202041a00000040031000390000000000230435000000000001042d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0001000000000002000100000002001d000000000101043300000000001004350000000601000039000000200010043f000000400200003900000000010000190d1e0a410000040f000000000201041a000000000120004c00000b660000c13d0000000501000039000000000201041a000000000120004c000000000100001900000b6b0000613d000000010400002900000000314200a900000000322100d9000000000242004b00000b6c0000c13d000000000001042d000003800100004100000000001004350000001101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0002000000000002000200000002001d000100000001001d00000000020300190d1e0b550000040f00000002020000290000034b0220019700000000002004350000000302000039000000200020043f000200000001001d000000400200003900000000010000190d1e0a410000040f0000000101100039000000000101041a000000000110004c000000020100002900000b980000613d0000000101000029000000000101043300000000001004350000000601000039000000200010043f000000400200003900000000010000190d1e0a410000040f000000000101041a000000000210004c00000b930000c13d0000000501000039000000000101041a0000000203000029000000000213004b00000b990000413d00000000031300490000000001030019000000000001042d000003800100004100000000001004350000001101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0005000000000002000300000002001d000500000001001d0d1e0c6a0000040f000000000210004c000000000200001900000bf90000613d000400000001001d0d1e0c010000040f0000000002010433000000000220004c000000000200001900000bf70000613d0000000502000029000000000302043300000040021000390000000002020433000000000223004b000000000200001900000bf70000213d000200000003001d000500000001001d00000003010000290000034b01100197000300000001001d00000000001004350000000301000039000100000001001d000000200010043f000000400200003900000000010000190d1e0a410000040f0000000201100039000000000101041a000000000110004c00000bdc0000613d0000038d0100004100000000001004390000800b0100003900000004020000390d1e0a580000040f00000005020000290000000002020433000000000121004b000000000200001900000bf70000413d000000030100002900000000001004350000000101000029000000200010043f000000400200003900000000010000190d1e0a410000040f000000020400002900000005030000290000000102000039000000000101041a000000000114004b00000bf20000413d00000bf70000013d00000005010000290000000001010433000300000001001d0000038d0100004100000000001004390000800b0100003900000004020000390d1e0a580000040f0000000202000039000000000302041a00000003020000290000000002230019000000000332004b00000000030000190000000103004039000000010330019000000bfa0000c13d000000000121004b00000000020000190000000503000029000000020400002900000bf70000413d00000020013000390000000001010433000000000114004b00000000020000190000000102008039000000010220018f0000000401000029000000000001042d000003800100004100000000001004350000001101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0006000000000002000000400100043d0000038c0210009c00000c370000813d0000006002100039000000400020043f00000040021000390000000000020435000000200210003900000000000204350000000000010435000000400300043d000003730130009c00000c370000213d0000006001300039000000400010043f00000020013000390000270f0200003900000000002104350000004001300039000000000001043500000000000304350000000101000039000000000101041a000300000001001d0000800b01000039000200000001001d0000000401000039000100000001001d00000000020000190000000301000029000000000112004b00000c350000813d0000000001020019000600000003001d000500000002001d0d1e0b2d0000040f0d1e0b3d0000040f0000038d020000410000000000200439000400000001001d000000020100002900000001020000290d1e0a580000040f000000060300002900000004040000290000000002040433000000000121004b00000005020000290000000003048019000000010220003900000c1f0000013d0000000001030019000000000001042d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0d1e0c010000040f0000000001010433000000000210004c000000000200001900000c4b0000613d0000000202000039000000000302041a0000000002130019000000000332004b00000000030000190000000103004039000000010330019000000c4c0000c13d000000000001042d000003800100004100000000001004350000001101000039000000040010043f000000240200003900000000010000190d1e0a720000040f00000000021200490000034a030000410000001f0420008c000000000400001900000000040320190000034a02200197000000000520004c00000000030080190000034a0220009c00000000020400190000000002036019000000000220004c00000c670000613d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c670000c13d000000000001042d000000000100001900000000020000190d1e0a720000040f00010000000000020000000002010433000100000002001d00000020011000390d1e0a410000040f0000000102000029000000000220004c000000000200001900000c9d0000613d0000000402000039000000000202041a000000400300043d0000038e0400004100000000004304350000000404300039000000000014043500000000010004140000034b02200197000000040420008c00000c860000613d00000024040000390000002006000039000100000003001d00000001050000290d1e0a0c0000040f0000000103000029000000000110004c00000ca90000613d0000000101000031000000200210008c000000200200003900000000020140190000001f02200039000000600420018f0000000002340019000000000442004b000000000500001900000001050040390000036e0420009c00000ca20000213d000000010450019000000ca20000c13d000000400020043f0000001f0110008c00000c9f0000a13d0000000002030433000000000120004c0000000001000019000000010100c039000000000112004b00000c9f0000c13d0000000001020019000000000001042d000000000100001900000000020000190d1e0a720000040f000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f0000000302000367000000400100043d00000001040000310000001f0340018f000000050440027200000cb80000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00000cb00000413d000000000530004c00000cc70000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000001020000310d1e0a720000040f0000000003010433000000000032043500000020022000390000000004000019000000000534004b00000cd50000813d0000000005420019000000200440003900000000061400190000000006060433000000000065043500000ccd0000013d000000000132001900000000000104350000001f01300039000000200300008a000000000131016f0000000001120019000000000001042d000000010100003200000d0c0000613d000003890210009c00000d0d0000813d0000003f02100039000000200300008a000000000332016f000000400200043d0000000003320019000000000423004b000000000400001900000001040040390000036e0530009c00000d0d0000213d000000010440019000000d0d0000c13d000000400030043f00000000001204350000002001200039000000030200036700000001040000310000001f0340018f000000050440027200000cfd0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00000cf50000413d000000000530004c00000d0c0000613d0000000504400210000000000242034f00000000014100190000000303300210000000000401043300000000043401cf000000000434022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000242019f0000000000210435000000000001042d000003800100004100000000001004350000004101000039000000040010043f000000240200003900000000010000190d1e0a720000040f00000d17002104210000000102000039000000000001042d000000000200001900000d160000013d00000d1c002104230000000102000039000000000001042d000000000200001900000d1b0000013d00000d1e0000043200000d1f0001042e00000d200001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000faa88afd0000000000000000000000000000000000000000000000000000000017ea01230000000000000000000000000000000000000000000000000000000018c63f24000000000000000000000000000000000000000000000000000000003ccfd60b000000000000000000000000000000000000000000000000000000004c5e182b000000000000000000000000000000000000000000000000000000004e36949d0000000000000000000000000000000000000000000000000000000051fc24020000000000000000000000000000000000000000000000000000000061ef425e00000000000000000000000000000000000000000000000000000000631e136c0000000000000000000000000000000000000000000000000000000064a0588b000000000000000000000000000000000000000000000000000000006690864e00000000000000000000000000000000000000000000000000000000715018a600000000000000000000000000000000000000000000000000000000766718080000000000000000000000000000000000000000000000000000000083e7f6ff000000000000000000000000000000000000000000000000000000008580f3410000000000000000000000000000000000000000000000000000000089476069000000000000000000000000000000000000000000000000000000008a95b09f000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000008f32d59b000000000000000000000000000000000000000000000000000000009791c09700000000000000000000000000000000000000000000000000000000a98fb34500000000000000000000000000000000000000000000000000000000acf1a84100000000000000000000000000000000000000000000000000000000aeb8ce9b00000000000000000000000000000000000000000000000000000000b2d3ed3900000000000000000000000000000000000000000000000000000000bc51263700000000000000000000000000000000000000000000000000000000be17fe6200000000000000000000000000000000000000000000000000000000d393c87100000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f7d975770000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000001e133808d7714b400000000000000000000000000000000000000000000000000000000ca6abbe9d7f11422cb6ca7629fbf6fe9efb1c621f71ce8f02b9f2a230097404fddf7fcb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f3f15457f000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b831896f70a00000000000000000000000000000000000000000000000000000000d5fa2b000000000000000000000000000000000000000000000000000000000028ed4f6c0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000742074686973206d6f6d656e742e000000000000000000000000000000000000596f752063616e206e6f742072656769737465722074686973206e616d65206108c379a0000000000000000000000000000000000000000000000000000000004e616d65206e6f742076616c6964000000000000000000000000000000000000c475abff000000000000000000000000000000000000000000000000000000003da24c024582931cfaf8267d8ed24d13a82a8068d5bd337d30ec45cea4e506ae4e487b710000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000a9059cbb000000000000000000000000000000000000000000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a700000000000000000000000000000000000000000000000000000000018fac0600000000000000000000000000000000000000000000000000000000ca27ac4c00000000000000000000000000000000000000000000000000000000020000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6000000000000000000000000000000000000000000000000ffffffffffffffa0796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913296e494e800000000000000000000000000000000000000000000000000000000

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

0x000000000000000000000000cc788c0495894c01f01cd328cf637c7c441ee69e00000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000277a8560ca52833cb158e675b4b85ee3c73c2fb7

-----Decoded View---------------
Arg [0] : _base (address): 0xCc788c0495894C01F01cD328CF637c7C441Ee69E
Arg [1] : _price (uint256): 100000000000000
Arg [2] : _teamAddress (address): 0x277a8560ca52833CB158e675b4b85ee3C73c2fb7

-----Encoded View---------------


Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.