function _startTokenId() internal view virtual override returns (uint256) {
return 1;
}
function _baseURI() internal view virtual override returns (string memory) {
return baseURI;
}
function tokenURI(uint256 _tokenId)
public
view
virtual
override
returns (string memory)
{
if (!_exists(_tokenId)) revert URIQueryForNonexistentToken();
string memory prefix = ".json";
string memory baseURI = _baseURI();
return
bytes(baseURI).length != 0
? string(abi.encodePacked(baseURI, _toString(_tokenId)))
: string(
abi.encodePacked(baseUrl, _toString(_tokenId), prefix)
);
}