
    V|h                     2    S SK Jr  SSKJr   " S S\5      rg)   )InfoExtractor   )traverse_objc                   N    \ rS rSrSrSSSSSS.S	.S
SSSSS.S	.SSS./rS rSrg)
RoyaLiveIE   z2https?://(?:en\.)?roya\.tv/live-stream/(?P<id>\d+)z https://en.roya.tv/live-stream/11z(re:Roya TV \d{4}-\d{2}-\d{2} \d{2}:\d{2}mp4is_live)idtitleextlive_status)url	info_dictzhttps://roya.tv/live-stream/2121z*re:Roya News \d{4}-\d{2}-\d{2} \d{2}:\d{2}z!https://roya.tv/live-stream/10000T)r   only_matchingc           
         ^ U R                  U5      mU R                  ST 3T5      S   S   n[        U R                  STSS9SSSU4S	 jS
[        1[        45      nTU R                  UTSSSS9USS.$ )Nz.https://ticket.roya-tv.com/api/v5/fastchannel/datasecured_urlz<https://backend.roya.tv/api/v01/channels/schedule-paginationF)fatal    channelc                 &   > [        US   5      T:H  $ )Nr   )str)_vmedia_ids     O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/roya.py<lambda>*RoyaLiveIE._real_extract.<locals>.<lambda>$   s    AdG0H    r   r
   hlsT)m3u8_idlive)r   formatsr   r   )	_match_id_download_jsonr   r   any_extract_m3u8_formats)selfr   
stream_urlr   r   s       @r   _real_extractRoyaLiveIE._real_extract   s    >>#&((<XJGSSY[[hj
  ^`hpuvQ	#H'TWSXZ]^`
 11*hW\cg1h	
 	
r"    N)__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr-   __static_attributes__r/   r"   r   r   r      sT    FJ1@$	
 0B$	
 3!F*
r"   r   N)commonr   utils.traversalr   r   r/   r"   r   <module>r9      s    ! *&
 &
r"   