a
    hA                     @   s(   d dl Z ddlmZ G dd deZdS )    N   )InfoExtractorc                	   @   s  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%d&giidd'dd(d)dd)dddgZ
d*d+ Zd,S )-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=31c9291ab41fac05471db4e73aa11717Z 31c9291ab41fac05471db4e73aa11717mp4z)re:https?://cloudflarestream\.com/.+\.jpg)idexttitle	thumbnailskip_downloadm3u8)url	info_dictparamszuhttps://watch.cloudflarestream.com/embed/sdk-iframe-integration.fla9.latest.js?video=0e8e040aec776862e1d632a699edf59eZ 0e8e040aec776862e1d632a699edf59e)r   r   zChttps://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1T)r   Z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/Z eaef9dea5159cf968be84241b5cedfe7ZgenericZimpersonateZchrome)Zextractor_argsr   zIhttps://www.cloudflare.com/developer-platform/products/cloudflare-stream/Z e7bd2dd67e0f8860b4ae81e33a966049c           
      C   s   |  |dd\}}|dkr"d}d| d| d}d|v r`| t|dd d	 |d
 }|d }| j|d |ddddd\}}| j|d |ddd\}}	|| | j	|	|d |||d ||dS )Nr   domainzbytehighway.netzcloudflarestream.comzhttps:///.r   z===subzmanifest/video.r   r   Zm3u8_nativeZhlsF)Zm3u8_idfatalZmpdZdash)Zmpd_idr   )targetzthumbnails/thumbnail.jpg)r   r	   r
   formats	subtitles)
Z_match_valid_urlgroupZ_parse_jsonbase64urlsafe_b64decodesplitZ#_extract_m3u8_formats_and_subtitlesZ"_extract_mpd_formats_and_subtitlesextendZ_merge_subtitles)
selfr   Zvideo_idr   base_urlZmanifest_base_urlr   r   Zfmtssubs r    V/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/cloudflarestream.py_real_extractH   s8    



z CloudflareStreamIE._real_extractN)__name__
__module____qualname__Z_SUBDOMAIN_REZ
_DOMAIN_REZ	_EMBED_REZ_ID_REZ
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_WEBPAGE_TESTSr"   r    r    r    r!   r      st   
	"r   )r   commonr   r   r    r    r    r!   <module>   s   