I made an ERC721 contract with on-chain metadata (see here). The tokenURI method returns the metadata in this format:
data:application/json;base64,eyJuYW1lIjogIkFuaW1hbCAjMSIsICJkZXNjcmlwdGlvbiI6ICJDb2xsZXRpb24gb2YgRVJDNzIxIHRva2VucyB3aXRoIGZ1bGx5IG9uLWNoYWluIG1ldGFkYXRhLiIsICJpbWFnZSI6ICJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJwWkQwaVlXNXBiV0ZzSWlCM2FXUjBhRDBpTVRBd0pTSWdhR1ZwWjJoMFBTSXhNREFsSWlCMlpYSnphVzl1UFNJeExqRWlJSFpwWlhkQ2IzZzlJakFnTUNBME1DQTBNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SStQR2x0WVdkbElIZzlJalFpSUhrOUlqUWlJSGRwWkhSb1BTSXpNaUlnYUdWcFoyaDBQU0l6TWlJZ2FXMWhaMlV0Y21WdVpHVnlhVzVuUFNKd2FYaGxiR0YwWldRaUlIQnlaWE5sY25abFFYTndaV04wVW1GMGFXODlJbmhOYVdSWlRXbGtJaUI0YkdsdWF6cG9jbVZtUFNKa1lYUmhPbWx0WVdkbEwzQnVaenRpWVhObE5qUXNhVlpDVDFKM01FdEhaMjlCUVVGQlRsTlZhRVZWWjBGQlFVTkJRVUZCUVdkQ1FVMUJRVUZEUWxaSFpraEJRVUZCUmxaQ1RWWkZWVUZCUVVONWFsaE5RVUZCUkdaMmNXVlZXRVpzTTFKcmQxUkZVa05tWXl0cE5FRkJRVUZCV0ZKVFZHeE5RVkZQWWxsYVowRkJRVkZzU2xKRlJsVkxUVGxXTUZWSFQyZDZRVTFDWkVOTFJ6TjVWRGR0VFZoYWJEZzBaMXBITlVGRmNqSnVWVE4yWmpSVU5VSk9jSEJNVVhWS2NEVTRka1ZUTlhSTVNuUXhaRzVzVGxveGFVRkJXbUpRT1hkRlNtZE5VR3hyUTBWQmEyNTFRM1JGUTBWM04wWnFTVXhrUVdOUllUUjVVMFZPTVhaQmNuZElWWE0zWTFKWmIycHhkVVJuVlhsWldrWkxORGh4VlVOSFVHTTNkVTF0YkdGMWVqaHplVFI2VTBzemRUTkhiRzQ1WnpaTGNsTm1Namw1TVVnclZGTmlZbUZrVFVjeU1tUTFWRFpDYzBOR2NHVnpTRmxKWkRSUmVtOVRMM0JGU1d4b1lrbFFlVk5YWm05TlVVRnVjVUZJYUROR2VqaG5SVVJxZEhGUFIzZG1PV1ZVU1doR00wTnVXVGhWZW1selltRXpSbEJuV2xOdmRreEZWME5sWld3NFVXdEhSMHRIY3pOTVRGY3djVU5xWTBKa0szQlVNMDlRTW1ScGNHMVpMMUJoUlVwQ1FUbEdMM0F4WmpCRkwxQm9PRGMxSzFSNFFpczBiWEJ0V1ROdWJVNXNaVEZQUVZCMVVEbExUbXRQYjFnNFRVRkJRVUZCVTFWV1QxSkxOVU5aU1VrOUlpOCtQR2x0WVdkbElIZzlJalFpSUhrOUlqUWlJSGRwWkhSb1BTSXpNaUlnYUdWcFoyaDBQU0l6TWlJZ2FXMWhaMlV0Y21WdVpHVnlhVzVuUFNKd2FYaGxiR0YwWldRaUlIQnlaWE5sY25abFFYTndaV04wVW1GMGFXODlJbmhOYVdSWlRXbGtJaUI0YkdsdWF6cG9jbVZtUFNKa1lYUmhPbWx0WVdkbEwzQnVaenRpWVhObE5qUXNhVlpDVDFKM01FdEhaMjlCUVVGQlRsTlZhRVZWWjBGQlFVTkJRVUZCUVdkQ1FVMUJRVUZEUWxaSFpraEJRVUZCUld4Q1RWWkZWVUZCUVVGQlFVRkJRWGhtUkM4dkx6bFNlblZ2ZDFrNVQwRXZlV1UyUVVGQlFVRllVbE5VYkUxQlVVOWlXVnBuUVVGQlF6RktVa1ZHVlV0Tk9XcHZRa2xSYUVGRlFuRkpRMGx6ZWtWRk5FSktaMUpPWTJsSGNWRkZRVmx3VVVKaFJrdFZRME5CWW1kdVJFdExRVlJCUVVSWWFuZG9lRWwzTWpKb1FVRkJRVUZDU2xKVk5VVnlhMHBuWjJjOVBTSXZQanhwYldGblpTQjRQU0kwSWlCNVBTSTBJaUIzYVdSMGFEMGlNeklpSUdobGFXZG9kRDBpTXpJaUlHbHRZV2RsTFhKbGJtUmxjbWx1WnowaWNHbDRaV3hoZEdWa0lpQndjbVZ6WlhKMlpVRnpjR1ZqZEZKaGRHbHZQU0o0VFdsa1dVMXBaQ0lnZUd4cGJtczZhSEpsWmowaVpHRjBZVHBwYldGblpTOXdibWM3WW1GelpUWTBMR2xXUWs5U2R6QkxSMmR2UVVGQlFVNVRWV2hGVldkQlFVRkRRVUZCUVVGblFXZE5RVUZCUVU5R1NrcHVRVUZCUVVSR1FrMVdSVlZCUVVGRVpYTkRMM0EwYVZkNVozbDNWMDFFTkVSQlFVRkJRVmhTVTFSc1RVRlJUMkpaV21kQlFVRkRNVXBTUlVaVlIwNU9hbTlCWkc5QlFrVmpSRUY0VFZsS05FTnJSMFZCV1dsblJFZFJTV2RvYVVsRVFYbFBXVWxSYWtWRWFVRkhRemhOWjBGUlFVeGpRVWRhYm5kMWRYaFJRVUZCUVVKS1VsVTFSWEpyU21kblp6MDlJaTgrUEdsdFlXZGxJSGc5SWpRaUlIazlJalFpSUhkcFpIUm9QU0l6TWlJZ2FHVnBaMmgwUFNJek1pSWdhVzFoWjJVdGNtVnVaR1Z5YVc1blBTSndhWGhsYkdGMFpXUWlJSEJ5WlhObGNuWmxRWE53WldOMFVtRjBhVzg5SW5oTmFXUlpUV2xrSWlCNGJHbHVhenBvY21WbVBTSmtZWFJoT21sdFlXZGxMM0J1Wnp0aVlYTmxOalFzYVZaQ1QxSjNNRXRIWjI5QlFVRkJUbE5WYUVWVlowRkJRVU5CUVVGQlFXZEJVVTFCUVVGQ1NuUlBhVE5CUVVGQlFteENUVlpGVlVGQlFVRkJRVUZEYkZvM2JsQkJRVUZCUVZoU1UxUnNUVUZSVDJKWldtZEJRVUZDVWtwU1JVWlZRMDVrYWtsQ1kwbFBRVUZLYW1kWmEweHJNRUZCUnpsblFWTnJUV3cwTjBkQlFVRkJRVVZzUmxSclUzVlJiVU5ESWk4K1BHbHRZV2RsSUhnOUlqUWlJSGs5SWpRaUlIZHBaSFJvUFNJek1pSWdhR1ZwWjJoMFBTSXpNaUlnYVcxaFoyVXRjbVZ1WkdWeWFXNW5QU0p3YVhobGJHRjBaV1FpSUhCeVpYTmxjblpsUVhOd1pXTjBVbUYwYVc4OUluaE5hV1JaVFdsa0lpQjRiR2x1YXpwb2NtVm1QU0prWVhSaE9tbHRZV2RsTDNCdVp6dGlZWE5sTmpRc2FWWkNUMUozTUV0SFoyOUJRVUZCVGxOVmFFVlZaMEZCUVVOQlFVRkJRV2RCWjAxQlFVRkJUMFpLU201QlFVRkJRMVpDVFZaRlZVRkJRVUZCUVVGRGVXcFlUVU50UVZVclFVRkJRVUZZVWxOVWJFMUJVVTlpV1ZwblFVRkJRazVLVWtWR1ZVZE9UbXBIU1ZKQlJVMWFTV015UVZsaFFVRkJXSGcwUVhWQlNIUTJja1ZCUVVGQlFWTlZWazlTU3pWRFdVbEpQU0l2UGp4cGJXRm5aU0I0UFNJMElpQjVQU0kwSWlCM2FXUjBhRDBpTXpJaUlHaGxhV2RvZEQwaU16SWlJR2x0WVdkbExYSmxibVJsY21sdVp6MGljR2w0Wld4aGRHVmtJaUJ3Y21WelpYSjJaVUZ6Y0dWamRGSmhkR2x2UFNKNFRXbGtXVTFwWkNJZ2VHeHBibXM2YUhKbFpqMGlaR0YwWVRwcGJXRm5aUzl3Ym1jN1ltRnpaVFkwTEdsV1FrOVNkekJMUjJkdlFVRkJRVTVUVldoRlZXZEJRVUZEUVVGQlFVRm5RV2ROUVVGQlFVOUdTa3B1UVVGQlFVUkdRazFXUlZWQlFVRkJRVUZCUkM4dkx5dE1TekpQU3pVeVZFNUJRVUZCUVZoU1UxUnNUVUZSVDJKWldtZEJRVUZDT1VwU1JVWlZSMDVPYWtkR1MwRk9WRkZWZDIxQ1luWlNURU5aUm5reFFrTnZXRWR6UWtGQmQwRkJhazVqUkM5cFRqWXJjMmRCUVVGQlFWTlZWazlTU3pWRFdVbEpQU0l2UGp4cGJXRm5aU0I0UFNJMElpQjVQU0kwSWlCM2FXUjBhRDBpTXpJaUlHaGxhV2RvZEQwaU16SWlJR2x0WVdkbExYSmxibVJsY21sdVp6MGljR2w0Wld4aGRHVmtJaUJ3Y21WelpYSjJaVUZ6Y0dWamRGSmhkR2x2UFNKNFRXbGtXVTFwWkNJZ2VHeHBibXM2YUhKbFpqMGlaR0YwWVRwcGJXRm5aUzl3Ym1jN1ltRnpaVFkwTEdsV1FrOVNkekJMUjJkdlFVRkJRVTVUVldoRlZXZEJRVUZEUVVGQlFVRm5RV2ROUVVGQlFVOUdTa3B1UVVGQlFVTldRazFXUlZWQlFVRkJRVUZCUVVGNFprTkpWWHBxV0VGQlFVRkJXRkpUVkd4TlFWRlBZbGxhWjBGQlFVTlNTbEpGUmxWSFRrNXFSMDFzUVVKRldrcG9aMkYzYUdwRFIzQnFRM2R5V0V4bllXMUNZVTVaUjBKTlVsRk5TRUZDWVZOblluWlpTMU55YjNkQlFVRkJRa3BTVlRWRmNtdEtaMmRuUFQwaUx6NDhMM04yWno0PSIsICJhdHRyaWJ1dGVzIjpbeyJ0cmFpdF90eXBlIjoiZnVyIiwidmFsdWUiOiJHcmF5In0seyJ0cmFpdF90eXBlIjoiaGVhZCIsInZhbHVlIjoiVmlzb3IifSx7InRyYWl0X3R5cGUiOiJlYXJzIiwidmFsdWUiOiJHb2xkIEhvb3AifSx7InRyYWl0X3R5cGUiOiJleWVzIiwidmFsdWUiOiJBbmdyeSJ9LHsidHJhaXRfdHlwZSI6Im5vc2UiLCJ2YWx1ZSI6IldpZGUifSx7InRyYWl0X3R5cGUiOiJtb3V0aCIsInZhbHVlIjoiTWlzc2luZyBUb290aCJ9LHsidHJhaXRfdHlwZSI6ImZlZXQiLCJ2YWx1ZSI6IlNub3dib2FyZCJ9LF19
But OpenSea refuses to display the metadata (check here).
Based on my research, there are other contracts that return metadata in the exact same format and it works for them (like this contract).
Any idea what could be the issue and why OS refuses to display them?