APE Price: $1.25 (-14.75%)
    /

    ApePunks (APEPUNKS)

    Overview

    TokenID

    9476

    Total Transfers

    -

    Market

    Onchain Market Cap

    $0.00

    Circulating Supply Market Cap

    -
    Loading...
    Loading
    Loading...
    Loading
    Loading...
    Loading

    Click here to update the token information / general information

    Contract Source Code Verified (Exact Match)

    Contract Name:
    ApePunks

    Compiler Version
    v0.8.27+commit.40a35a09

    Optimization Enabled:
    Yes with 10000 runs

    Other Settings:
    shanghai EvmVersion
    File 1 of 8 : ApePunks.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.20;
    import "erc721a/contracts/ERC721A.sol";
    import "@openzeppelin/contracts/access/Ownable.sol";
    import "@openzeppelin/contracts/utils/Strings.sol";
    contract ApePunks is ERC721A, Ownable {
    using Strings for uint256;
    uint256 public MAX_SUPPLY = 10000;
    uint256 public constant MAX_PER_WALLET = 100;
    uint256 public PRICE = 5 ether; // 5 APE
    string public baseURI;
    constructor(string memory _initialBaseURI) ERC721A("ApePunks", "APEPUNKS") Ownable(msg.sender) {
    baseURI = _initialBaseURI;
    }
    function mint(uint256 quantity) external payable {
    require(totalSupply() + quantity <= MAX_SUPPLY, "Exceeds max supply");
    require(balanceOf(msg.sender) + quantity <= MAX_PER_WALLET, "Exceeds max per wallet");
    require(msg.value >= PRICE * quantity, "Insufficient payment");
    _mint(msg.sender, quantity);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 8 : ERC721A.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // ERC721A Contracts v4.3.0
    // Creator: Chiru Labs
    pragma solidity ^0.8.4;
    import './IERC721A.sol';
    /**
    * @dev Interface of ERC721 token receiver.
    */
    interface ERC721A__IERC721Receiver {
    function onERC721Received(
    address operator,
    address from,
    uint256 tokenId,
    bytes calldata data
    ) external returns (bytes4);
    }
    /**
    * @title ERC721A
    *
    * @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)
    * Non-Fungible Token Standard, including the Metadata extension.
    * Optimized for lower gas during batch mints.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 8 : Ownable.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
    pragma solidity ^0.8.20;
    import {Context} from "../utils/Context.sol";
    /**
    * @dev Contract module which provides a basic access control mechanism, where
    * there is an account (an owner) that can be granted exclusive access to
    * specific functions.
    *
    * The initial owner is set to the address provided by the deployer. This can
    * later be changed with {transferOwnership}.
    *
    * This module is used through inheritance. It will make available the modifier
    * `onlyOwner`, which can be applied to your functions to restrict their use to
    * the owner.
    */
    abstract contract Ownable is Context {
    address private _owner;
    /**
    * @dev The caller account is not authorized to perform an operation.
    */
    error OwnableUnauthorizedAccount(address account);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 8 : Strings.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)
    pragma solidity ^0.8.20;
    import {Math} from "./math/Math.sol";
    import {SignedMath} from "./math/SignedMath.sol";
    /**
    * @dev String operations.
    */
    library Strings {
    bytes16 private constant HEX_DIGITS = "0123456789abcdef";
    uint8 private constant ADDRESS_LENGTH = 20;
    /**
    * @dev The `value` string doesn't fit in the specified `length`.
    */
    error StringsInsufficientHexLength(uint256 value, uint256 length);
    /**
    * @dev Converts a `uint256` to its ASCII `string` decimal representation.
    */
    function toString(uint256 value) internal pure returns (string memory) {
    unchecked {
    uint256 length = Math.log10(value) + 1;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 8 : IERC721A.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // ERC721A Contracts v4.3.0
    // Creator: Chiru Labs
    pragma solidity ^0.8.4;
    /**
    * @dev Interface of ERC721A.
    */
    interface IERC721A {
    /**
    * The caller must own the token or be an approved operator.
    */
    error ApprovalCallerNotOwnerNorApproved();
    /**
    * The token does not exist.
    */
    error ApprovalQueryForNonexistentToken();
    /**
    * Cannot query the balance for the zero address.
    */
    error BalanceQueryForZeroAddress();
    /**
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 8 : Context.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev Provides information about the current execution context, including the
    * sender of the transaction and its data. While these are generally available
    * via msg.sender and msg.data, they should not be accessed in such a direct
    * manner, since when dealing with meta-transactions the account sending and
    * paying for execution may not be the actual sender (as far as an application
    * is concerned).
    *
    * This contract is only required for intermediate, library-like contracts.
    */
    abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
    return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
    return msg.data;
    }
    function _contextSuffixLength() internal view virtual returns (uint256) {
    return 0;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 7 of 8 : Math.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev Standard math utilities missing in the Solidity language.
    */
    library Math {
    /**
    * @dev Muldiv operation overflow.
    */
    error MathOverflowedMulDiv();
    enum Rounding {
    Floor, // Toward negative infinity
    Ceil, // Toward positive infinity
    Trunc, // Toward zero
    Expand // Away from zero
    }
    /**
    * @dev Returns the addition of two unsigned integers, with an overflow flag.
    */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 8 of 8 : SignedMath.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)
    pragma solidity ^0.8.20;
    /**
    * @dev Standard signed math utilities missing in the Solidity language.
    */
    library SignedMath {
    /**
    * @dev Returns the largest of two signed numbers.
    */
    function max(int256 a, int256 b) internal pure returns (int256) {
    return a > b ? a : b;
    }
    /**
    * @dev Returns the smallest of two signed numbers.
    */
    function min(int256 a, int256 b) internal pure returns (int256) {
    return a < b ? a : b;
    }
    /**
    * @dev Returns the average of two signed numbers without overflow.
    * The result is rounded towards zero.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "remappings": [
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "forge-std/=node_modules/forge-std/",
    "erc721a/=node_modules/erc721a/"
    ],
    "optimizer": {
    "enabled": true,
    "runs": 10000
    },
    "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
    },
    "outputSelection": {
    "*": {
    "*": [
    "evm.bytecode",
    "evm.deployedBytecode",
    "devdoc",
    "userdoc",
    "metadata",
    "abi"
    ]
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    [{"inputs":[{"internalType":"string","name":"_initialBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"NotCompatibleWithSpotMints","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"SequentialMintExceedsLimit","type":"error"},{"inputs":[],"name":"SequentialUpToTooSmall","type":"error"},{"inputs":[],"name":"SpotMintTokenIdTooSmall","type":"error"},{"inputs":[],"name":"TokenAlreadyExists","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_PER_WALLET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSupply","type":"uint256"}],"name":"reduceMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"updatePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

    6080604052612710600a55674563918244f40000600b55348015610021575f5ffd5b506040516120f63803806120f683398101604081905261004091610154565b336040518060400160405280600881526020016741706550756e6b7360c01b8152506040518060400160405280600881526020016741504550554e4b5360c01b8152508160029081610092919061029d565b50600361009f828261029d565b50505f8055506001600160a01b0381166100d257604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100db816100ef565b50600c6100e8828261029d565b5050610357565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610164575f5ffd5b81516001600160401b03811115610179575f5ffd5b8201601f81018413610189575f5ffd5b80516001600160401b038111156101a2576101a2610140565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101d0576101d0610140565b6040528181528282016020018610156101e7575f5ffd5b5f5b82811015610205576020818501810151838301820152016101e9565b505f91810160200191909152949350505050565b600181811c9082168061022d57607f821691505b60208210810361024b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561029857805f5260205f20601f840160051c810160208510156102765750805b601f840160051c820191505b81811015610295575f8155600101610282565b50505b505050565b81516001600160401b038111156102b6576102b6610140565b6102ca816102c48454610219565b84610251565b6020601f8211600181146102fc575f83156102e55750848201515b5f19600385901b1c1916600184901b178455610295565b5f84815260208120601f198516915b8281101561032b578785015182556020948501946001909201910161030b565b508482101561034857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b611d92806103645f395ff3fe608060405260043610610199575f3560e01c806370a08231116100dc57806395d89b4111610087578063b88d4fde11610062578063b88d4fde1461041b578063c87b56dd1461042e578063e985e9c51461044d578063f2fde38b146104a1575f5ffd5b806395d89b41146103d5578063a0712d68146103e9578063a22cb465146103fc575f5ffd5b80638d6cc56d116100b75780638d6cc56d146103775780638d859f3e146103965780638da5cb5b146103ab575f5ffd5b806370a0823114610325578063715018a6146103445780637353280214610358575f5ffd5b806323b872dd1161014757806342842e0e1161012257806342842e0e146102c057806355f804b3146102d35780636352211e146102f25780636c0360eb14610311575f5ffd5b806323b872dd1461028457806332cb6b0c146102975780633ccfd60b146102ac575f5ffd5b8063095ea7b311610177578063095ea7b3146102365780630f2cdd6c1461024b57806318160ddd1461026d575f5ffd5b806301ffc9a71461019d57806306fdde03146101d1578063081812fc146101f2575b5f5ffd5b3480156101a8575f5ffd5b506101bc6101b73660046117a4565b6104c0565b60405190151581526020015b60405180910390f35b3480156101dc575f5ffd5b506101e56105a4565b6040516101c8919061182a565b3480156101fd575f5ffd5b5061021161020c36600461183c565b610634565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b610249610244366004611876565b610693565b005b348015610256575f5ffd5b5061025f606481565b6040519081526020016101c8565b348015610278575f5ffd5b506001545f540361025f565b61024961029236600461189e565b6106a3565b3480156102a2575f5ffd5b5061025f600a5481565b3480156102b7575f5ffd5b506102496108d8565b6102496102ce36600461189e565b6109d0565b3480156102de575f5ffd5b506102496102ed36600461199a565b6109ef565b3480156102fd575f5ffd5b5061021161030c36600461183c565b610a03565b34801561031c575f5ffd5b506101e5610a0d565b348015610330575f5ffd5b5061025f61033f3660046119df565b610a99565b34801561034f575f5ffd5b50610249610b10565b348015610363575f5ffd5b5061024961037236600461183c565b610b23565b348015610382575f5ffd5b5061024961039136600461183c565b610c5c565b3480156103a1575f5ffd5b5061025f600b5481565b3480156103b6575f5ffd5b5060095473ffffffffffffffffffffffffffffffffffffffff16610211565b3480156103e0575f5ffd5b506101e5610c69565b6102496103f736600461183c565b610c78565b348015610407575f5ffd5b506102496104163660046119f8565b610e3c565b610249610429366004611a31565b610ed2565b348015610439575f5ffd5b506101e561044836600461183c565b610f39565b348015610458575f5ffd5b506101bc610467366004611aa8565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260076020908152604080832093909416825291909152205460ff1690565b3480156104ac575f5ffd5b506102496104bb3660046119df565b610fd3565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061055257507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061059e57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600280546105b390611ad9565b80601f01602080910402602001604051908101604052809291908181526020018280546105df90611ad9565b801561062a5780601f106106015761010080835404028352916020019161062a565b820191905f5260205f20905b81548152906001019060200180831161060d57829003601f168201915b5050505050905090565b5f61063e82611036565b61066b5761066b7fcf4700e400000000000000000000000000000000000000000000000000000000611091565b505f9081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61069f82826001611099565b5050565b5f6106ad826111ae565b73ffffffffffffffffffffffffffffffffffffffff94851694909150811684146106fa576106fa7fa114810000000000000000000000000000000000000000000000000000000000611091565b5f82815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff88169091141761078c5773ffffffffffffffffffffffffffffffffffffffff86165f90815260076020908152604080832033845290915290205460ff1661078c5761078c7f59c896be00000000000000000000000000000000000000000000000000000000611091565b8015610796575f82555b73ffffffffffffffffffffffffffffffffffffffff8681165f9081526005602052604080822080545f19019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000175f858152600460205260408120919091557c02000000000000000000000000000000000000000000000000000000008416900361086157600184015f81815260046020526040812054900361085f575f54811461085f575f8181526004602052604090208490555b505b73ffffffffffffffffffffffffffffffffffffffff85168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4805f036108cf576108cf7fea553b3400000000000000000000000000000000000000000000000000000000611091565b50505050505050565b6108e06112ba565b475f61090160095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1662033450836040515b5f60405180830381858888f193505050503d805f811461095b576040519150601f19603f3d011682016040523d82523d5f602084013e610960565b606091505b505090508061069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c6564000000000000000000000000000000000060448201526064015b60405180910390fd5b6109ea83838360405180602001604052805f815250610ed2565b505050565b6109f76112ba565b600c61069f8282611b75565b5f61059e826111ae565b600c8054610a1a90611ad9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4690611ad9565b8015610a915780601f10610a6857610100808354040283529160200191610a91565b820191905f5260205f20905b815481529060010190602001808311610a7457829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff8216610ade57610ade7f8f4eb60400000000000000000000000000000000000000000000000000000000611091565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526005602052604090205467ffffffffffffffff1690565b610b186112ba565b610b215f61130d565b565b610b2b6112ba565b600a548110610bbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4e6577206d617820737570706c79206d757374206265206c657373207468616e60448201527f207468652063757272656e74206d617820737570706c7900000000000000000060648201526084016109c7565b80610bc96001545f540390565b1115610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4e6577206d617820737570706c79206d7573742062652067726561746572207460448201527f68616e2074686520746f74616c20737570706c7900000000000000000000000060648201526084016109c7565b600a55565b610c646112ba565b600b55565b6060600380546105b390611ad9565b600a5481610c886001545f540390565b610c929190611c7b565b1115610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f45786365656473206d617820737570706c79000000000000000000000000000060448201526064016109c7565b606481610d0633610a99565b610d109190611c7b565b1115610d78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45786365656473206d6178207065722077616c6c65740000000000000000000060448201526064016109c7565b80600b54610d869190611c8e565b341015610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e74207061796d656e7400000000000000000000000060448201526064016109c7565b610df93382611383565b5f610e1960095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166203345034604051610920565b335f81815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610edd8484846106a3565b73ffffffffffffffffffffffffffffffffffffffff83163b15610f3357610f068484848461147d565b610f3357610f337fd1a57ed600000000000000000000000000000000000000000000000000000000611091565b50505050565b6060610f4482611036565b610f7a576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610f836115ea565b905080515f03610fa15760405180602001604052805f815250610fcc565b80610fab846115f9565b604051602001610fbc929190611ca5565b6040516020818303038152906040525b9392505050565b610fdb6112ba565b73ffffffffffffffffffffffffffffffffffffffff811661102a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024016109c7565b6110338161130d565b50565b5f5f5482101561108c575f5b505f82815260046020526040812054908190036110695761106283611cfb565b9250611042565b7c0100000000000000000000000000000000000000000000000000000000161590505b919050565b805f5260045ffd5b5f6110a383610a03565b90508180156110c857503373ffffffffffffffffffffffffffffffffffffffff821614155b1561112d5773ffffffffffffffffffffffffffffffffffffffff81165f90815260076020908152604080832033845290915290205460ff1661112d5761112d7fcfb3b94200000000000000000000000000000000000000000000000000000000611091565b5f8381526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b5f81815260046020526040902054805f03611266575f5482106111f4576111f47fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b5b505f19015f8181526004602052604090205480156111f5577c010000000000000000000000000000000000000000000000000000000081165f0361123857919050565b6112617fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b6111f5565b7c010000000000000000000000000000000000000000000000000000000081165f0361129157919050565b61108c7fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b60095473ffffffffffffffffffffffffffffffffffffffff163314610b21576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016109c7565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8054908290036113b7576113b77fb562e8dd00000000000000000000000000000000000000000000000000000000611091565b5f81815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87164260a01b6001881460e11b1781179091558084526005909252822080546801000000000000000186020190559081900361143b5761143b7f2e07630000000000000000000000000000000000000000000000000000000000611091565b818301825b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa481816001019150810361144057505f5550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906114d7903390899088908890600401611d10565b6020604051808303815f875af192505050801561152f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261152c91810190611d6a565b60015b61159b573d80801561155c576040519150601f19603f3d011682016040523d82523d5f602084013e611561565b606091505b5080515f03611593576115937fd1a57ed600000000000000000000000000000000000000000000000000000000611091565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6060600c80546105b390611ad9565b60605f61160583611696565b60010190505f8167ffffffffffffffff811115611624576116246118d8565b6040519080825280601f01601f19166020018201604052801561164e576020820181803683370190505b5090508181016020015b5f19017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461165857509392505050565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106116de577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061170a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061172857662386f26fc10000830492506010015b6305f5e1008310611740576305f5e100830492506008015b612710831061175457612710830492506004015b60648310611766576064830492506002015b600a831061059e5760010192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611033575f5ffd5b5f602082840312156117b4575f5ffd5b8135610fcc81611777565b5f5b838110156117d95781810151838201526020016117c1565b50505f910152565b5f81518084526117f88160208601602086016117bf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610fcc60208301846117e1565b5f6020828403121561184c575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461108c575f5ffd5b5f5f60408385031215611887575f5ffd5b61189083611853565b946020939093013593505050565b5f5f5f606084860312156118b0575f5ffd5b6118b984611853565b92506118c760208501611853565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff84111561191f5761191f6118d8565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff8211171561196c5761196c6118d8565b604052838152905080828401851015611983575f5ffd5b838360208301375f60208583010152509392505050565b5f602082840312156119aa575f5ffd5b813567ffffffffffffffff8111156119c0575f5ffd5b8201601f810184136119d0575f5ffd5b6115e284823560208401611905565b5f602082840312156119ef575f5ffd5b610fcc82611853565b5f5f60408385031215611a09575f5ffd5b611a1283611853565b915060208301358015158114611a26575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611a44575f5ffd5b611a4d85611853565b9350611a5b60208601611853565b925060408501359150606085013567ffffffffffffffff811115611a7d575f5ffd5b8501601f81018713611a8d575f5ffd5b611a9c87823560208401611905565b91505092959194509250565b5f5f60408385031215611ab9575f5ffd5b611ac283611853565b9150611ad060208401611853565b90509250929050565b600181811c90821680611aed57607f821691505b602082108103611b24577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f8211156109ea57805f5260205f20601f840160051c81016020851015611b4f5750805b601f840160051c820191505b81811015611b6e575f8155600101611b5b565b5050505050565b815167ffffffffffffffff811115611b8f57611b8f6118d8565b611ba381611b9d8454611ad9565b84611b2a565b6020601f821160018114611bd5575f8315611bbe5750848201515b5f19600385901b1c1916600184901b178455611b6e565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015611c225787850151825560209485019460019092019101611c02565b5084821015611c3f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561059e5761059e611c4e565b808202811582820484141761059e5761059e611c4e565b5f8351611cb68184602088016117bf565b835190830190611cca8183602088016117bf565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b5f81611d0957611d09611c4e565b505f190190565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f611d6060808301846117e1565b9695505050505050565b5f60208284031215611d7a575f5ffd5b8151610fcc8161177756fea164736f6c634300081b000a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005268747470733a2f2f626166796265696367696f7173776865796c70616b6e616c6d66656a7a72763275793433716c666c73736c6a6b6b36367569656f6a6868747435612e697066732e7733732e6c696e6b2f0000000000000000000000000000

    Deployed Bytecode

    0x608060405260043610610199575f3560e01c806370a08231116100dc57806395d89b4111610087578063b88d4fde11610062578063b88d4fde1461041b578063c87b56dd1461042e578063e985e9c51461044d578063f2fde38b146104a1575f5ffd5b806395d89b41146103d5578063a0712d68146103e9578063a22cb465146103fc575f5ffd5b80638d6cc56d116100b75780638d6cc56d146103775780638d859f3e146103965780638da5cb5b146103ab575f5ffd5b806370a0823114610325578063715018a6146103445780637353280214610358575f5ffd5b806323b872dd1161014757806342842e0e1161012257806342842e0e146102c057806355f804b3146102d35780636352211e146102f25780636c0360eb14610311575f5ffd5b806323b872dd1461028457806332cb6b0c146102975780633ccfd60b146102ac575f5ffd5b8063095ea7b311610177578063095ea7b3146102365780630f2cdd6c1461024b57806318160ddd1461026d575f5ffd5b806301ffc9a71461019d57806306fdde03146101d1578063081812fc146101f2575b5f5ffd5b3480156101a8575f5ffd5b506101bc6101b73660046117a4565b6104c0565b60405190151581526020015b60405180910390f35b3480156101dc575f5ffd5b506101e56105a4565b6040516101c8919061182a565b3480156101fd575f5ffd5b5061021161020c36600461183c565b610634565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b610249610244366004611876565b610693565b005b348015610256575f5ffd5b5061025f606481565b6040519081526020016101c8565b348015610278575f5ffd5b506001545f540361025f565b61024961029236600461189e565b6106a3565b3480156102a2575f5ffd5b5061025f600a5481565b3480156102b7575f5ffd5b506102496108d8565b6102496102ce36600461189e565b6109d0565b3480156102de575f5ffd5b506102496102ed36600461199a565b6109ef565b3480156102fd575f5ffd5b5061021161030c36600461183c565b610a03565b34801561031c575f5ffd5b506101e5610a0d565b348015610330575f5ffd5b5061025f61033f3660046119df565b610a99565b34801561034f575f5ffd5b50610249610b10565b348015610363575f5ffd5b5061024961037236600461183c565b610b23565b348015610382575f5ffd5b5061024961039136600461183c565b610c5c565b3480156103a1575f5ffd5b5061025f600b5481565b3480156103b6575f5ffd5b5060095473ffffffffffffffffffffffffffffffffffffffff16610211565b3480156103e0575f5ffd5b506101e5610c69565b6102496103f736600461183c565b610c78565b348015610407575f5ffd5b506102496104163660046119f8565b610e3c565b610249610429366004611a31565b610ed2565b348015610439575f5ffd5b506101e561044836600461183c565b610f39565b348015610458575f5ffd5b506101bc610467366004611aa8565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260076020908152604080832093909416825291909152205460ff1690565b3480156104ac575f5ffd5b506102496104bb3660046119df565b610fd3565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061055257507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061059e57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600280546105b390611ad9565b80601f01602080910402602001604051908101604052809291908181526020018280546105df90611ad9565b801561062a5780601f106106015761010080835404028352916020019161062a565b820191905f5260205f20905b81548152906001019060200180831161060d57829003601f168201915b5050505050905090565b5f61063e82611036565b61066b5761066b7fcf4700e400000000000000000000000000000000000000000000000000000000611091565b505f9081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61069f82826001611099565b5050565b5f6106ad826111ae565b73ffffffffffffffffffffffffffffffffffffffff94851694909150811684146106fa576106fa7fa114810000000000000000000000000000000000000000000000000000000000611091565b5f82815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff88169091141761078c5773ffffffffffffffffffffffffffffffffffffffff86165f90815260076020908152604080832033845290915290205460ff1661078c5761078c7f59c896be00000000000000000000000000000000000000000000000000000000611091565b8015610796575f82555b73ffffffffffffffffffffffffffffffffffffffff8681165f9081526005602052604080822080545f19019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000175f858152600460205260408120919091557c02000000000000000000000000000000000000000000000000000000008416900361086157600184015f81815260046020526040812054900361085f575f54811461085f575f8181526004602052604090208490555b505b73ffffffffffffffffffffffffffffffffffffffff85168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4805f036108cf576108cf7fea553b3400000000000000000000000000000000000000000000000000000000611091565b50505050505050565b6108e06112ba565b475f61090160095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1662033450836040515b5f60405180830381858888f193505050503d805f811461095b576040519150601f19603f3d011682016040523d82523d5f602084013e610960565b606091505b505090508061069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c6564000000000000000000000000000000000060448201526064015b60405180910390fd5b6109ea83838360405180602001604052805f815250610ed2565b505050565b6109f76112ba565b600c61069f8282611b75565b5f61059e826111ae565b600c8054610a1a90611ad9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4690611ad9565b8015610a915780601f10610a6857610100808354040283529160200191610a91565b820191905f5260205f20905b815481529060010190602001808311610a7457829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff8216610ade57610ade7f8f4eb60400000000000000000000000000000000000000000000000000000000611091565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526005602052604090205467ffffffffffffffff1690565b610b186112ba565b610b215f61130d565b565b610b2b6112ba565b600a548110610bbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4e6577206d617820737570706c79206d757374206265206c657373207468616e60448201527f207468652063757272656e74206d617820737570706c7900000000000000000060648201526084016109c7565b80610bc96001545f540390565b1115610c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4e6577206d617820737570706c79206d7573742062652067726561746572207460448201527f68616e2074686520746f74616c20737570706c7900000000000000000000000060648201526084016109c7565b600a55565b610c646112ba565b600b55565b6060600380546105b390611ad9565b600a5481610c886001545f540390565b610c929190611c7b565b1115610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f45786365656473206d617820737570706c79000000000000000000000000000060448201526064016109c7565b606481610d0633610a99565b610d109190611c7b565b1115610d78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45786365656473206d6178207065722077616c6c65740000000000000000000060448201526064016109c7565b80600b54610d869190611c8e565b341015610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e74207061796d656e7400000000000000000000000060448201526064016109c7565b610df93382611383565b5f610e1960095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166203345034604051610920565b335f81815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610edd8484846106a3565b73ffffffffffffffffffffffffffffffffffffffff83163b15610f3357610f068484848461147d565b610f3357610f337fd1a57ed600000000000000000000000000000000000000000000000000000000611091565b50505050565b6060610f4482611036565b610f7a576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610f836115ea565b905080515f03610fa15760405180602001604052805f815250610fcc565b80610fab846115f9565b604051602001610fbc929190611ca5565b6040516020818303038152906040525b9392505050565b610fdb6112ba565b73ffffffffffffffffffffffffffffffffffffffff811661102a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024016109c7565b6110338161130d565b50565b5f5f5482101561108c575f5b505f82815260046020526040812054908190036110695761106283611cfb565b9250611042565b7c0100000000000000000000000000000000000000000000000000000000161590505b919050565b805f5260045ffd5b5f6110a383610a03565b90508180156110c857503373ffffffffffffffffffffffffffffffffffffffff821614155b1561112d5773ffffffffffffffffffffffffffffffffffffffff81165f90815260076020908152604080832033845290915290205460ff1661112d5761112d7fcfb3b94200000000000000000000000000000000000000000000000000000000611091565b5f8381526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b5f81815260046020526040902054805f03611266575f5482106111f4576111f47fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b5b505f19015f8181526004602052604090205480156111f5577c010000000000000000000000000000000000000000000000000000000081165f0361123857919050565b6112617fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b6111f5565b7c010000000000000000000000000000000000000000000000000000000081165f0361129157919050565b61108c7fdf2d9b4200000000000000000000000000000000000000000000000000000000611091565b60095473ffffffffffffffffffffffffffffffffffffffff163314610b21576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016109c7565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8054908290036113b7576113b77fb562e8dd00000000000000000000000000000000000000000000000000000000611091565b5f81815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87164260a01b6001881460e11b1781179091558084526005909252822080546801000000000000000186020190559081900361143b5761143b7f2e07630000000000000000000000000000000000000000000000000000000000611091565b818301825b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa481816001019150810361144057505f5550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906114d7903390899088908890600401611d10565b6020604051808303815f875af192505050801561152f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261152c91810190611d6a565b60015b61159b573d80801561155c576040519150601f19603f3d011682016040523d82523d5f602084013e611561565b606091505b5080515f03611593576115937fd1a57ed600000000000000000000000000000000000000000000000000000000611091565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6060600c80546105b390611ad9565b60605f61160583611696565b60010190505f8167ffffffffffffffff811115611624576116246118d8565b6040519080825280601f01601f19166020018201604052801561164e576020820181803683370190505b5090508181016020015b5f19017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461165857509392505050565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106116de577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061170a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061172857662386f26fc10000830492506010015b6305f5e1008310611740576305f5e100830492506008015b612710831061175457612710830492506004015b60648310611766576064830492506002015b600a831061059e5760010192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611033575f5ffd5b5f602082840312156117b4575f5ffd5b8135610fcc81611777565b5f5b838110156117d95781810151838201526020016117c1565b50505f910152565b5f81518084526117f88160208601602086016117bf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610fcc60208301846117e1565b5f6020828403121561184c575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461108c575f5ffd5b5f5f60408385031215611887575f5ffd5b61189083611853565b946020939093013593505050565b5f5f5f606084860312156118b0575f5ffd5b6118b984611853565b92506118c760208501611853565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f67ffffffffffffffff84111561191f5761191f6118d8565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff8211171561196c5761196c6118d8565b604052838152905080828401851015611983575f5ffd5b838360208301375f60208583010152509392505050565b5f602082840312156119aa575f5ffd5b813567ffffffffffffffff8111156119c0575f5ffd5b8201601f810184136119d0575f5ffd5b6115e284823560208401611905565b5f602082840312156119ef575f5ffd5b610fcc82611853565b5f5f60408385031215611a09575f5ffd5b611a1283611853565b915060208301358015158114611a26575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611a44575f5ffd5b611a4d85611853565b9350611a5b60208601611853565b925060408501359150606085013567ffffffffffffffff811115611a7d575f5ffd5b8501601f81018713611a8d575f5ffd5b611a9c87823560208401611905565b91505092959194509250565b5f5f60408385031215611ab9575f5ffd5b611ac283611853565b9150611ad060208401611853565b90509250929050565b600181811c90821680611aed57607f821691505b602082108103611b24577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f8211156109ea57805f5260205f20601f840160051c81016020851015611b4f5750805b601f840160051c820191505b81811015611b6e575f8155600101611b5b565b5050505050565b815167ffffffffffffffff811115611b8f57611b8f6118d8565b611ba381611b9d8454611ad9565b84611b2a565b6020601f821160018114611bd5575f8315611bbe5750848201515b5f19600385901b1c1916600184901b178455611b6e565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015611c225787850151825560209485019460019092019101611c02565b5084821015611c3f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561059e5761059e611c4e565b808202811582820484141761059e5761059e611c4e565b5f8351611cb68184602088016117bf565b835190830190611cca8183602088016117bf565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b5f81611d0957611d09611c4e565b505f190190565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f611d6060808301846117e1565b9695505050505050565b5f60208284031215611d7a575f5ffd5b8151610fcc8161177756fea164736f6c634300081b000a

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

    0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005268747470733a2f2f626166796265696367696f7173776865796c70616b6e616c6d66656a7a72763275793433716c666c73736c6a6b6b36367569656f6a6868747435612e697066732e7733732e6c696e6b2f0000000000000000000000000000

    -----Decoded View---------------
    Arg [0] : _initialBaseURI (string): https://bafybeicgioqswheylpaknalmfejzrv2uy43qlflssljkk66uieojhhtt5a.ipfs.w3s.link/

    -----Encoded View---------------
    5 Constructor Arguments found :
    Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
    Arg [1] : 0000000000000000000000000000000000000000000000000000000000000052
    Arg [2] : 68747470733a2f2f626166796265696367696f7173776865796c70616b6e616c
    Arg [3] : 6d66656a7a72763275793433716c666c73736c6a6b6b36367569656f6a686874
    Arg [4] : 7435612e697066732e7733732e6c696e6b2f0000000000000000000000000000


    [ Download: CSV Export  ]

    A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.