Ë
    š„j‚$  ã                   óN   — d dl Z ddlmZ ddlmZmZmZmZmZm	Z	  G d„ de«      Z
y)é    Né   )ÚInfoExtractoré   )Úint_or_noneÚ
js_to_jsonÚparse_durationÚtraverse_objÚtry_getÚurljoinc                   ó>  — e Zd ZdZde› d�gZdZddddd	d
ddœddgddœddddœddœddedd
ddœddœdddd d
d!dd"d#œd$dœd%d&d'd(d
d!dd)d#œd$dœd*d+ed,dd
ddœd-d.id/œd0d1d2œd3d1d2œd4d1d2œg	Zd5d6d
d7d8d9d:d;d!d<œd=œgZd>„ Z	e
d?„ «       Zd@„ ZdHdBedCedDefdE„ZdIdBedCedDefdF„ZdG„ ZyA)JÚMainStreamingIEzchttps?://(?:webtools-?)?(?P<host>[A-Za-z0-9-]*\.msvdn\.net)/(?:embed|amp_embed|content)/(?P<id>\w+)z<iframe[^>]+?src=["\']?(?P<url>z)["\']?zMainStreaming PlayerzNhttps://webtools-e18da6642b684f8aa9ae449862783a56.msvdn.net/embed/53EN6GxbWaJCÚ53EN6GxbWaJCz!Diretta homepage 2021-12-31 12:00Ú Úwas_liveÚmp4z/re:https?://[\w-]+\.msvdn\.net/image/\w+/poster)ÚidÚtitleÚdescriptionÚlive_statusÚextÚ	thumbnailz-Ignoring alternative content ID: WDAF1KOWUpH3z)MainStreaming said: Live event is OFFLINEzlive stream offline)ÚurlÚ	info_dictÚexpected_warningsÚskipzNhttps://webtools-e18da6642b684f8aa9ae449862783a56.msvdn.net/embed/WDAF1KOWUpH3ÚWDAF1KOWUpH3zPlaylist homepage)r   r   r   )r   r   Úplaylist_mincountzNhttps://webtools-859c1818ed614cc5b0047439470927b0.msvdn.net/embed/tDoFkZD3T1LwÚtDoFkZD3T1LwÚis_live)r   r   r   r   r   zlive stream)r   r   r   z]https://webtools-f5842579ff984c1c98d63b8d789673eb.msvdn.net/embed/EUlZfGWkGpOd?autoPlay=falseÚEUlZfGWkGpOdzLa Settimana z03 Ottobre ore 02:00Únot_liveiè  )r   r   r   r   r   r   ÚdurationzInvalid URLzahttps://f5842579ff984c1c98d63b8d789673eb.msvdn.net/embed/MfuWmzL2lGkA?autoplay=false&T=1635860445ÚMfuWmzL2lGkAz
TG Mattinaz06 Ottobre ore 08:00g¸…ëQ¨ˆ@zIhttps://webtools-f5842579ff984c1c98d63b8d789673eb.msvdn.net/embed/HVvPMzyÚHVvPMzyzcanale all newsÚskip_downloadÚm3u8)r   r   Úparamsz-https://webtools.msvdn.net/embed/MfuWmzL2lGkAT)r   Úonly_matchingzIhttps://859c1818ed614cc5b0047439470927b0.msvdn.net/amp_embed/tDoFkZD3T1LwzHhttps://859c1818ed614cc5b0047439470927b0.msvdn.net/content/tDoFkZD3T1Lw#z[https://www.lacplay.it/video/in-evidenza_728/lac-storie-p-250-i-santi-pietro-e-paolo_77297/Úu7kiX5DUaHYrzI Santi Pietro e Paoloz$md5:ff6be24916ba6b9ae990bf5f3df4911eg     �š@zre:https?://.+z
06/07/2025)r   r   r   r   r"   r   Útagsr   )r   r   c           
   #   óÆ   K  — |D ]X  }|j                  d«      }dt        j                  «       |t        t	        |d«      «      |j                  d«      d|› d|› �dœ–— ŒZ y ­w)NÚ	contentIDr   )r"   ÚtotalSecondsr   úhttps://z/embed/)Ú_typeÚie_keyr   r"   r   r   )Úgetr   r0   r   r	   )ÚselfÚhostÚplaylist_contentÚentryÚ
content_ids        úU/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/mainstreaming.pyÚ_playlist_entriesz!MainStreamingIE._playlist_entriesu   sk   è ø€ Ø%ò 		ˆEØŸ™ ;Ó/ˆJàÜ)×0Ñ0Ó2Ø Ü'¬°UÐ<XÓ(YÓZØŸ™ 7Ó+Ø! $  w¨z¨lÐ;ñó ñ		ùs   ‚AA!c                 ó^   — | j                  d«      sd| j                  d«      sdndz   | z   } | S )NÚwebtoolsú.ú-r   )Ú
startswith)r3   s    r7   Ú_get_webtools_hostz"MainStreamingIE._get_webtools_host�   s/   € à�‰˜zÔ*Ø¨D¯O©O¸CÔ,@¡ÀbÑIÈDÑPˆDØˆó    c                 óJ   — | j                  «       › d| j                  |«      › �S )Nz//)Úhttp_schemer>   )r2   r3   s     r7   Ú_get_webtools_base_urlz&MainStreamingIE._get_webtools_base_url‡   s)   € Ø×"Ñ"Ó$Ð% R¨×(?Ñ(?ÀÓ(EÐ'FÐGÐGr?   Nr3   ÚpathÚitem_idc                 ó4   — | j                  |d|z   ||||«      S )Nz/api/v2/)Ú_call_webtools_api©r2   r3   rC   rD   ÚqueryÚnoteÚfatals          r7   Ú	_call_apizMainStreamingIE._call_apiŠ   s$   € à×&Ñ& t¨Z¸$Ñ->ÀÈÐPTÐV[Ó\Ð\r?   c                 ó`   — | j                  t        | j                  |«      |«      ||||¬«      S )N)rH   rI   rJ   )Ú_download_jsonr   rB   rG   s          r7   rF   z"MainStreamingIE._call_webtools_apiŽ   s;   € à×"Ñ"Ü�D×/Ñ/°Ó5°tÓ<¸gÈUÐY]Ðejð #ó lð 	lr?   c                 óö  — | j                  |«      j                  «       \  }}t        | j                  |d|› �|d¬«      d„ «      }|sV| j	                  ||«      }| j                  | j                  d|ddt        j                  ¬«      |t        d	¬
«      xs i }|d   }|j                  d«      xs |}|j                  d«      xs |}|j                  d«      }t        |ddt        ¬«      }d}	|j                  d«      r| j                  |«       |j                  d«      }
|
r| j                  d|
› �«       t        |j                  d«      «      }d }g }i }|dk(  r€t        |dt         ¬«      }d|› d|d   › d|› d|rdnd› �}d }	| j                  |d!|› �|d"¬«      xs i }|j                  d#«      d	u r›| j#                  d$|j                  d%«      › �d&¬'«       d(}	ns|d)k(  r3| j%                  | j'                  ||j                  d*«      «      |||«      S |d+k(  r"d|› d,|› d�}|j)                  |d-z  d.d/d0œ«       n| j#                  d1|› �«       |rZ| j+                  |d2z  |d	¬3«      \  }}| j-                  |d4z  |d	¬3«      \  }}| j/                  ||«      }|j1                  ||z   «       |||||	t3        |j                  d5«      «      |j                  d6«      |t5        | j7                  |«      d7|› d8�«      d9œ	S ):Nzcontent/z!Downloading content info API JSON)rI   c                 ó   — | d   S )NÚplayerContentInfo© )Úxs    r7   ú<lambda>z/MainStreamingIE._real_extract.<locals>.<lambda>—   s   € Ðlmð  oBñ  mC€ r?   zconfig\s*=\s*({.+?})\s*;zmainstreaming player configz{})ÚdefaultÚflagsF)Útransform_sourcerJ   ÚcontentInfor3   r,   r   ÚlongDescriptionÚshortDescription)Úexpected_typer!   Ú
drmEnabledÚalternativeContentIDz!Ignoring alternative content ID: ÚcontentTypeé   )ÚplayerSettingsÚ
dvrEnabledr.   z/live/ÚliveSourceIDú/z/%sz?DVRr   r   z
heartbeat/zChecking stream statusÚheartBeatUpzMainStreaming said: ÚresponseMessageT)Úexpectedr   é   ÚplaylistContentsé
   z/vod/zoriginal.mp4Úoriginalr   )r   Úformat_noteÚqualityzUnknown content type zplaylist.m3u8)Úvideo_idrJ   zmanifest.mpdr"   r*   zimage/z/poster)	r   r   r   Úformatsr   r"   r*   Ú	subtitlesr   )Ú_match_valid_urlÚgroupsr
   rK   Ú_download_webpageÚ_parse_jsonÚ_search_regexÚreÚDOTALLr   r1   r	   ÚstrÚ
report_drmÚreport_warningr   ÚboolÚraise_no_formatsÚplaylist_resultr8   ÚappendÚ#_extract_m3u8_formats_and_subtitlesÚ"_extract_mpd_formats_and_subtitlesÚ_merge_subtitlesÚextendr   r   rB   )r2   r   r3   rl   Úcontent_infoÚwebpageÚplayer_configr   r   r   Úalternative_content_idÚcontent_typeÚformat_base_urlrm   rn   Údvr_enabledÚ	heartbeatÚm3u8_formatsÚ	m3u8_subsÚmpd_formatsÚmpd_subss                        r7   Ú_real_extractzMainStreamingIE._real_extract“   s¢  € Ø×.Ñ.¨sÓ3×:Ñ:Ó<‰ˆˆhÜØ�N‰NØ˜  
Ð+¨XÐ<_ð ó añ cCóDˆñ Ø×,Ñ,¨S°(Ó;ˆGØ ×,Ñ,Ø×"Ñ"Ø/°Ð:WØ ¬¯	©	ð #ó 3ð ¬:¸Uð	 -ó Dò Jð HJð	 ð
 )¨Ñ7ˆLà×Ñ Ó'Ò/¨4ˆØ×#Ñ# KÓ0Ò<°HˆØ× Ñ  Ó)ˆÜ" <Ð1BÐDVÔfiÔjˆØ ˆØ×Ñ˜LÔ)Ø�O‰O˜HÔ%à!-×!1Ñ!1Ð2HÓ!IÐÙ!Ø×ÑÐ"CÐDZÐC[Ð \Ô]ä" <×#3Ñ#3°MÓ#BÓCˆØˆØˆØˆ	à˜2ÒÜ& |Ð5UÔeiÔjˆKØ (¨¨¨f°\À.Ñ5QÐ4RÐRSÐT\ÐS]Ð]`ÑkvÑagÐ|~Ð`ð  AˆOØ#ˆKØŸ™ t¨z¸(¸Ð-DÀhÐUm˜ÓnÒtÐrtˆIØ�}‰}˜]Ó+¨uÑ4Ø×%Ñ%Ð(<¸Y¿]¹]ÐK\Ó=]Ð<^Ð&_ÐjnÐ%ÔoØ(‘ð ˜RÒØ×'Ñ'Ø×&Ñ& t¨\×-=Ñ-=Ð>PÓ-QÓRÐT\Ð^cÐepórð rð ˜RÒØ (¨¨¨e°H°:¸SÐAˆOð �N‰N ?°^Ñ#CÐT^ÐklÑmÕnà×!Ñ!Ð$9¸,¸Ð"HÔIáØ&*×&NÑ&NØ /Ñ1¸HÈEð 'Oó 'SÑ#ˆL˜)à$(×$KÑ$KØ .Ñ0¸8È5ð %Ló %RÑ!ˆK˜ð ×-Ñ-¨i¸ÓBˆIØ�N‰N˜<¨+Ñ5Ô6ð ØØ&ØØ&Ü& |×'7Ñ'7¸
Ó'CÓDØ ×$Ñ$ VÓ,Ø"Ü  ×!<Ñ!<¸TÓ!BÀfÈXÈJÐV]ÐD^Ó_ñ

ð 
	
r?   )NzDownloading API JSONF)NzDownloading webtools API JSONF)Ú__name__Ú
__module__Ú__qualname__Ú
_VALID_URLÚ_EMBED_REGEXÚIE_DESCrv   Ú_TESTSÚ_WEBPAGE_TESTSr8   Ústaticmethodr>   rB   rK   rF   r�   rQ   r?   r7   r   r      sÓ  „ Øw€JØ6°z°lÀ'ÐJÐK€LØ$€Gð `à Ø8ØØ%ØØKñ
ð <Ø7ð
ð &ñð$ `à Ø(ñ
ð ñð `à ØØ$ØØKñ
ð ñð oà Ø$Ø1ØØ%ØKØñ
ð ñð sà Ø!Ø1ØØ%ØKØñ
ð ñð [àØØ,Ø$ØØKñ
ð # FÐ+ñð ?Øñð
 [Øñð ZØñð_R€Fðj mà ØØ-ØAØØ*Ø Ø%ñ	
ñð €Nò
ð ñó ðò
Hñ]˜cð ]¨ð ]°só ]ñl sð l°#ð lÀó ló
J
r?   r   )rt   Úcommonr   Úutilsr   r   r   r	   r
   r   r   rQ   r?   r7   ú<module>r™      s#   ðÛ 	å !÷÷ ôO
�mõ O
r?   