Would you share how you managed to get the license url for 1080p ?
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 61 to 83 of 83
-
For getting 1080p you have to play with RAI CDN nothing so difficult only you have to know the right way, a L3 is enought, and with a right script all is automatic
premium gifLast edited by Fathom; 7th Jul 2024 at 11:43.
-
This script will return command based on video url :
HTML Code:import requests import xml.etree.ElementTree as ET import json from pywidevine.cdm import Cdm from pywidevine.device import Device from pywidevine.pssh import PSSH from urllib.parse import urlparse, parse_qsl from bs4 import BeautifulSoup def getkeys(url_mpd, lic_url): response = requests.get(url_mpd) pssh = PSSH(BeautifulSoup(response.text, 'xml').findAll('cenc:pssh')[0].text) headers = {'nv-authorizations': dict(parse_qsl(urlparse(lic_url).query))['Authorization']} device = Device.load(DEVICEPATH) cdm = Cdm.from_device(device) session_id = cdm.open() challenge = cdm.get_license_challenge(session_id, pssh) licence = requests.post(lic_url, headers = headers, data=challenge) if licence.status_code != 200: print(licence.text) else: keys = [] cdm.parse_license(session_id, licence.content) for key in cdm.get_keys(session_id): if key.type=='CONTENT': keys.append(f"{key.kid.hex}:{key.key.hex()}") cdm.close(session_id) return keys headers = { 'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Brave";v="126"', 'Referer': 'https://www.raiplay.it/', 'sec-ch-ua-mobile': '?0', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36', 'x-ua-token': 'null', 'sec-ch-ua-platform': '"macOS"', } DEVICEPATH = 'device.wvd' videourl = input('Enter the video url: ') data = requests.get(videourl.replace('.html', '.json'), headers=headers).json() authtoken = '' headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36','x-ua-token': authtoken} params = (('cont', dict(parse_qsl(urlparse(data['video']['content_url']).query))['cont']),('output', '55')) data = requests.get('https://mediapolisvod.rai.it/relinker/relinkerServlet.htm', headers=headers, params=params).json() content_url = data['video'][-1] name = data['description'] license_url = data['licence_server_map']['drmLicenseUrlValues'][-1]['licenceUrl'] keys = getkeys(content_url, license_url) print(f"""N_m3u8DL-RE "{content_url}" --save-name "{name}" --select-video best --select-audio all --select-subtitle all -mt -M format=mkv --log-level OFF --key """ + ' --key '.join(keys))
HTML Code:Enter the video url: https://www.raiplay.it/video/2024/07/Calcio-Euro-2024---Quarti-Spagna-Germania---05-07-2024-9748f930-864b-48d1-953b-33db37ef2931.html N_m3u8DL-RE "https://b70cb04c54ab478189e9d8ee45637b13.msvdn.net/ostr1/podcastcdn/drm_root/DRMNagra_Euro_2024_multiaudio/23696486_,1800,2400/manifest_mvnumber.mpd?hdnea=st=1720373395~exp=1720373545~acl=/*~hmac=41c8976c3a4138e19d5f781c639ea674f7754e11324bc35c01351f12eed4c995" --save-name "Calcio, Euro 2024 - Quarti: Spagna - Germania del 05/07/2024" --select-video best --select-audio all --select-subtitle all -mt -M format=mkv --log-level OFF --key 13b558b9e5cb3b969a4e25599d23623f:592141775a6b56f1caf0af030f3fd538
-
-
Got it thanks to @Goku73 message. 30 characters were missing in my script to retrieve the right mpd and nv-auth !
-
I still don't understand what's the CDN meaning, but I work it out from the code @iamghost posted, yes it should written by @sk8r or somebody long time ago. but the method still works. thanks to all who gives tips in this thread.
-
CDN Is content delivery network that Is start with "mediapolis...". This provide on the fly token for wv licence.
-
glad to know that, i only found it works for some virtual network card type vpn, likes ovpn or windscribe, etc. not all ita vpn works, maybe i have some configure issues with proxy with windows console cmd.
[Attachment 80554 - Click to enlarge] -
good morning, how can I get around this error that comes up when I enter the license key?
ERROR
Invalid base64-encoded string: number of data characters (173) cannot be 1 more than a multiple of 4
I solved it, the pssh string contained unacceptable charactersLast edited by supergirl73; 13th Jul 2024 at 00:49.
-
Which license key are you talking about ? Could you send a screenshot of the logs ?
-
why do I get this error at the end of the download?
[Attachment 80670 - Click to enlarge] -
-
-
Now... hi my friends.. it's about two or three hours i will stay to try to download this:
Code:https://www.raiplay.it/video/2022/07/l-estate-adesso-jova-beach-play-da-jova-con-sammy-ep1-814c3bca-aeda-4ea6-a714-4805a35a8e0a.html
-Open Debug Console
-Refresh the page
-Filter url for obtain "mpd" and download that.... there's an example:
Code:<?xml version="1.0" encoding="UTF-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cenc="urn:mpeg:cenc:2013" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" publishTime="2024-07-31T15:34:30.064Z" mediaPresentationDuration="PT14M25.72S" minBufferTime="PT1.5S"> <ProgramInformation> <Title>drm_root/DRMNagra_RaiPlay_nogeo_multiaudio/17368256_,1200,1800,2400</Title> </ProgramInformation> <Period id="0" start="PT0.0S"> <AdaptationSet id="0" group="1" mimeType="video/mp4" lang="ita" maxWidth="1280" maxHeight="720" par="16:9" frameRate="25" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="e671ba5c-b736-3201-96d6-e7760a4e6a3e"/> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine"> <cenc:pssh>AAAAgHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGAIARIQ5nG6XLc2MgGW1ud2Ck5qPhoFTmFncmEiQ2RybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlfbm9nZW9fbXVsdGlhdWRpby8xNzM2ODI1Nl8sMTIwMCwxODAwLDI0MDA=</cenc:pssh> </ContentProtection> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="Playready"> <cenc:pssh>AAAEynBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABKqqBAAAAQABAKAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AUgBBAEkANgBOAEIANQBGAC4AYQBuAHkAYwBhAHMAdAAuAG4AYQBnAHIAYQAuAGMAbwBtAC8AUgBBAEkANgBOAEIANQBGAC8AcAByAGwAcwAvAGMAbwBuAHQAZQBuAHQAbABpAGMAZQBuAHMAZQBzAGUAcgB2AGkAYwBlAC8AdgAxAC8AbABpAGMAZQBuAHMAZQBzADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBSAEEASQA2AE4AQgA1AEYALgBhAG4AeQBjAGEAcwB0AC4AbgBhAGcAcgBhAC4AYwBvAG0ALwBSAEEASQA2AE4AQgA1AEYALwBwAHIAbABzAC8AYwBvAG4AdABlAG4AdABsAGkAYwBlAG4AcwBlAHMAZQByAHYAaQBjAGUALwB2ADEALwBsAGkAYwBlAG4AcwBlAHMAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEsASQBEAD4AWABMAHAAeAA1AGoAYQAzAEEAVABLAFcAMQB1AGQAMgBDAGsANQBxAFAAZwA9AD0APAAvAEsASQBEAD4APABDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTACAAeABtAGwAbgBzAD0AIgAiAD4APABDAG8AbgB0AGUAbgB0AFIAZQBmAD4AZAByAG0AXwByAG8AbwB0AC8ARABSAE0ATgBhAGcAcgBhAF8AUgBhAGkAUABsAGEAeQBfAG4AbwBnAGUAbwBfAG0AdQBsAHQAaQBhAHUAZABpAG8ALwAxADcAMwA2ADgAMgA1ADYAXwAsADEAMgAwADAALAAxADgAMAAwACwAMgA0ADAAMAA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgBSAC8AbABPAEgARwA3AE0AOQBQAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh> </ContentProtection> <SegmentTemplate presentationTimeOffset="0" timescale="90000" duration="900000" startNumber="1" media="segment_ctvideo_rid$RepresentationID$_cn$Number$_mpd.m4s" initialization="segment_ctvideo_rid$RepresentationID$_cinit_mpd.m4s"/> <Representation id="p0va0br1199690" codecs="avc1.4d401f" width="768" height="432" sar="1:1" bandwidth="1199690" /> <Representation id="p0va0br1799552" codecs="avc1.4d401f" width="1024" height="576" sar="1:1" bandwidth="1799552" /> <Representation id="p0va0br2399413" codecs="avc1.4d4028" width="1280" height="720" sar="1:1" bandwidth="2399413" /> </AdaptationSet> <AdaptationSet id="1" group="2" mimeType="audio/mp4" lang="Italiano" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="e671ba5c-b736-3201-96d6-e7760a4e6a3e"/> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine"> <cenc:pssh>AAAAgHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGAIARIQ5nG6XLc2MgGW1ud2Ck5qPhoFTmFncmEiQ2RybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlfbm9nZW9fbXVsdGlhdWRpby8xNzM2ODI1Nl8sMTIwMCwxODAwLDI0MDA=</cenc:pssh> </ContentProtection> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="Playready"> <cenc:pssh>AAAEynBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABKqqBAAAAQABAKAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AUgBBAEkANgBOAEIANQBGAC4AYQBuAHkAYwBhAHMAdAAuAG4AYQBnAHIAYQAuAGMAbwBtAC8AUgBBAEkANgBOAEIANQBGAC8AcAByAGwAcwAvAGMAbwBuAHQAZQBuAHQAbABpAGMAZQBuAHMAZQBzAGUAcgB2AGkAYwBlAC8AdgAxAC8AbABpAGMAZQBuAHMAZQBzADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBSAEEASQA2AE4AQgA1AEYALgBhAG4AeQBjAGEAcwB0AC4AbgBhAGcAcgBhAC4AYwBvAG0ALwBSAEEASQA2AE4AQgA1AEYALwBwAHIAbABzAC8AYwBvAG4AdABlAG4AdABsAGkAYwBlAG4AcwBlAHMAZQByAHYAaQBjAGUALwB2ADEALwBsAGkAYwBlAG4AcwBlAHMAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEsASQBEAD4AWABMAHAAeAA1AGoAYQAzAEEAVABLAFcAMQB1AGQAMgBDAGsANQBxAFAAZwA9AD0APAAvAEsASQBEAD4APABDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTACAAeABtAGwAbgBzAD0AIgAiAD4APABDAG8AbgB0AGUAbgB0AFIAZQBmAD4AZAByAG0AXwByAG8AbwB0AC8ARABSAE0ATgBhAGcAcgBhAF8AUgBhAGkAUABsAGEAeQBfAG4AbwBnAGUAbwBfAG0AdQBsAHQAaQBhAHUAZABpAG8ALwAxADcAMwA2ADgAMgA1ADYAXwAsADEAMgAwADAALAAxADgAMAAwACwAMgA0ADAAMAA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgBSAC8AbABPAEgARwA3AE0AOQBQAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh> </ContentProtection> <SegmentTemplate presentationTimeOffset="0" timescale="44100" duration="441000" startNumber="1" media="segment_ctaudio_rid$RepresentationID$_cn$Number$_mpd.m4s" initialization="segment_ctaudio_rid$RepresentationID$_cinit_mpd.m4s"/> <Representation id="p0aa0br192400" codecs="mp4a.40.2" audioSamplingRate="44100" bandwidth="192400"> </Representation> </AdaptationSet> </Period> </MPD>
I have the license link:
Code:https://rai6nb5f.anycast.nagra.com/RAI6NB5F/wvls/contentlicenseservice/v1/licenses
Code:headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0', 'Accept': '*/*', 'Accept-Language': 'it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3', # 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Referer': 'https://www.raiplay.it/', 'nv-authorizations': 'eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSldUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoiLCJleHAiOjE3MjI0NDA0OTYsImNvbnRlbnRSaWdodHMiOlt7ImNvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlfbm9nZW9fbXVsdGlhdWRpby8xNzM2ODI1Nl8sMTIwMCwxODAwLDI0MDAiLCJzdG9yYWJsZSI6ZmFsc2V9XX0.3o120WJJdBinxDMLI3vOay3WjOfn34bZoN3tYDjBh-A', # 'Content-Length': '2', 'Origin': 'https://www.raiplay.it', 'Connection': 'keep-alive', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'cross-site', 'Priority': 'u=4', } response = requests.post('https://rai6nb5f.anycast.nagra.com/RAI6NB5F/wvls/contentlicenseservice/v1/licenses', headers=headers)
on CDRM it's say "Data must not be empty." and i don't have idea how i need to put...
on other it's obtain a different error i have tryed:
Code:{ 'nv-authorizations' 'eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSldUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoiLCJleHAiOjE3MjI0NDA0OTYsImNvbnRlbnRSaWdodHMiOlt7ImNvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlfbm9nZW9fbXVsdGlhdWRpby8xNzM2ODI1Nl8sMTIwMCwxODAwLDI0MDAiLCJzdG9yYWJsZSI6ZmFsc2V9XX0.3o120WJJdBinxDMLI3vOay3WjOfn34bZoN3tYDjBh-A' }
-
Have tried (and/or studied) @aqzs's script from #68? It works great for the url you posted; if you are missing a local wvd file: look at the recent threads, there are many available to choose from...
Anyway, the script put out this:
Code:N_m3u8DL-RE "https://b70cb04c54ab478189e9d8ee45637b13.msvdn.net/ostr1/podcastcdn/drm_root/DRMNagra_RaiPlay_nogeo_multiaudio/17368256_,1200,1800,2400/manifest_mvnumber.mpd?hdnea=st=1722447592~exp=1722447742~acl=/*~hmac=753b6b63aa91308577d884c1d3f3af664d519851627f4f90963c1e4db8db2341" --save-name "watchfolder_DRMRAIPLAYNOGEO_estate_adessp_s01_ep01_lignano__B_R__5000.mp4" --select-video best --select-audio all --select-subtitle all -mt -M format=mkv --log-level OFF --key e671ba5cb736320196d6e7760a4e6a3e:ef1a23abd8972d8abef03d60d710427c
-
1080p
Code:input raiplay url: https://www.raiplay.it/video/2022/07/l-estate-adesso-jova-beach-play-da-jova-con-sammy-ep1-814c3bca-aeda-4ea6-a714-4805a35a8e0a.html <Response [200]> --tit: L'estate adesso Jova Beach Play - Da Jova con Sammy - EP1_07-07-2022 --mpd: https://b70cb04c54ab478189e9d8ee45637b13.msvdn.net/ostr1/podcastcdn/drm_root/DRMNagra_RaiPlay_nogeo_multiaudio/17368256_,1200,1800,2400,3600,5000/manifest_mvnumber.mpd?hdnea=st=1722482047~exp=1722482197~acl=/*~hmac=d484b8aaa5b520d4340b07230c3e1de904e75e1b086f7fc7db5daf875dc09ab8 --key c3a52ca9d6e83c66a714606a48c158df:20e5dd183043f779f8c8d7ef76bb451d
-
You must use:
Code:https://old.cdrm-project.com/
PSSH
License and
Nv-Authorizations: eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSl dUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoi LCJleHAiOjE3MTc1OTU3NzUsImNvbnRlbnRSaWdodHMiOlt7Im NvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlf bXVsdGlhdWRpby8xNjg4NzUxMF8sMTIwMCwxODAwLDI0MDAsMz YwMCw1MDAwIiwic3RvcmFibGUiOmZhbHNlfV19.Xsq1fpx-JXG_SwxYMIbxu3YbTXRBOBQ--G_8AeYDLIU
in Headers:
This 'token' eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSl dUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoi LCJleHAiOjE3MTc1OTU3NzUsImNvbnRlbnRSaWdodHMiOlt7Im NvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1JhaVBsYXlf bXVsdGlhdWRpby8xNjg4NzUxMF8sMTIwMCwxODAwLDI0MDAsMz YwMCw1MDAwIiwic3RvcmFibGUiOmZhbHNlfV19.Xsq1fpx-JXG_SwxYMIbxu3YbTXRBOBQ--G_8AeYDLIU
lasts approximately 10 seconds, I advise you to be quick or press the F5 function key which will generate another
with the method you use you can only recover 720p
if you want I'll pass you the MPDs and keys for all 11 1080p episodes
Similar Threads
-
How to obtain key for playready?
By anime-hunter in forum Video Streaming DownloadingReplies: 32Last Post: 29th Mar 2025, 16:57 -
Playready
By hencha in forum Video Streaming DownloadingReplies: 11Last Post: 30th Jan 2023, 06:01 -
Can PlayReady be keys be acquired like Widevine?
By besweeet in forum Video Streaming DownloadingReplies: 9Last Post: 11th Jan 2023, 16:16 -
Playready DRM
By farafero21 in forum Video Streaming DownloadingReplies: 7Last Post: 17th Dec 2021, 15:45 -
RaiPlay Download
By ajones219 in forum Video Streaming DownloadingReplies: 17Last Post: 25th Nov 2021, 02:59