
    VGh                     .    d dl Z ddlmZ  G d de      Zy)    N   )InfoExtractorc            	           e Zd ZdZdZde de dZdZde de d	e d
e d	Zde de dde e dgZddddddddiddddddddddddddd ddd!ddd"ddgZ	d#d$dd$d%dddidgZ
d& Zy')(CloudflareStreamIEz$(?:(?:watch|iframe|customer-\w+)\.)?z<(?:cloudflarestream\.com|(?:videodelivery|bytehighway)\.net)z(?:embed\.|)z%/embed/[^/?#]+\.js\?(?:[^#]+&)?video=z%[\da-f]{32}|eyJ[\w-]+\.[\w-]+\.[\w-]+zhttps?://(?:z(?P<domain>z)/|z)(?P<id>z/<script[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//z(?:z)(?:(?!\1).)*)\1z(<iframe[^>]+\bsrc=["\'](?P<url>https?://z/[\da-f]{32})zchttps://embed.cloudflarestream.com/embed/we4g.fla9.latest.js?video=31c9291ab41fac05471db4e73aa11717 31c9291ab41fac05471db4e73aa11717mp4zVhttps://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/thumbnails/thumbnail.jpg)idexttitle	thumbnailskip_downloadm3u8)url	info_dictparamszuhttps://watch.cloudflarestream.com/embed/sdk-iframe-integration.fla9.latest.js?video=0e8e040aec776862e1d632a699edf59e 0e8e040aec776862e1d632a699edf59ezVhttps://cloudflarestream.com/0e8e040aec776862e1d632a699edf59e/thumbnails/thumbnail.jpg)r   r   zChttps://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1T)r   only_matchingzPhttps://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpdz`https://embed.videodelivery.net/embed/r4xu.fla9.latest.js?video=81d80727f3022488598f68d323c1ad5ez^https://customer-aw5py76sw8wyqzmh.cloudflarestream.com/2463f6d3e06fa29710a337f5f5389fd8/iframea;  https://watch.cloudflarestream.com/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJraWQiOiJmYTA0YjViMzQ2NDkwYTM5NWJiNzQ1NWFhZTA2YzYwZSIsInN1YiI6Ijg4ZDQxMDhhMzY0MjA3M2VhYmFhZjg3ZGExODJkMjYzIiwiZXhwIjoxNjAwNjA5MzE5fQ.xkRJwLGkt0nZ%5F0BlPiwU7iW4pqb4lKkznbKfAhGg0tGcxSS6ZBA3lcTUwu7W%2DyCFbnAl%2Dhqk3Fn%5FqeQS%5FQydP27qTHpB9iIFFsMtk1tqzGZV5v4yrYDnwLSKzEKvVd6QwJnfABtxH2JdpSNuWlMUiVXFxGWgjOw6QeTNDDklTQYXV%5FNLV7sErSn5CeOPeRRkdXb%2D8ip%5FVOcfk1nDsFoOo4fctFtGP0wYMyY5ae8nhhatydHwevuvJCcEvEfh%2D4qjq9mCZOodevmtSQ4YWmggf4BxtWnDWYrGW8Otp6oqezrR8oY4%2DbKdV6PaqBj49aJdcls6xK7PmM8%5Fvjy3xfm0Mgz2https://upride.cc/incident/shoulder-pass-at-light/ eaef9dea5159cf968be84241b5cedfe7zVhttps://cloudflarestream.com/eaef9dea5159cf968be84241b5cedfe7/thumbnails/thumbnail.jpgc                    | j                  |      j                  dd      \  }}|dk7  rd}d| d| d}d|v r=| j                  t        j                  |j                  d      d   d	z         |      d
   }|dz   }| j                  |dz   |dddd      \  }}| j                  |dz   |dd      \  }}	|j                  |       | j                  |	|       |||dz   ||dS )Nr
   domainzbytehighway.netzcloudflarestream.comzhttps:///.r   z===subzmanifest/video.r   r	   m3u8_nativehlsF)m3u8_idfatalmpddash)mpd_idr   )targetzthumbnails/thumbnail.jpg)r
   r   r   formats	subtitles)
_match_valid_urlgroup_parse_jsonbase64urlsafe_b64decodesplit#_extract_m3u8_formats_and_subtitles"_extract_mpd_formats_and_subtitlesextend_merge_subtitles)
selfr   video_idr   base_urlmanifest_base_urlr#   r$   fmtssubss
             j/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/cloudflarestream.py_real_extractz CloudflareStreamIE._real_extract@   s0   005;;D(K&&&+FfXQxj2(?''(@(@s#A&.)019;;@BH$'88!EE&%5 F 7 <<%xe = M
dtd95 !$>>"
 	
    N)__name__
__module____qualname___SUBDOMAIN_RE
_DOMAIN_RE	_EMBED_RE_ID_RE
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSr6    r7   r5   r   r      s:   ;MPJ}oQzl:_`I5F {:,c)T\]c\ddefJ:9+SP`a3M?:,o^L
 u47q	
 V
 G47q	
 U b r p M	?"FH D47q	
 V
 N
r7   r   )r(   commonr   r   rC   r7   r5   <module>rE      s     !R
 R
r7   