
    Ği                     >    d dl mZ ddlmZmZ  G d de          ZdS )   )InfoExtractor   )ExtractorErrortry_getc            	       `    e Zd ZdZdZdZddddddd	d
dd	iddddddddd	d
dd	iddgZd ZdS )
SaitosanIEFSaitosanz>https?://(?:www\.)?saitosan\.net/bview.html\?id=(?P<id>[0-9]+)z.http://www.saitosan.net/bview.html?id=1003184610031846mp4u   井下原 和弥zEhttp://111.171.196.85:8088/921f916f-7f55-4c97-b92e-5d9d0fef8f5f/thumbT)idexttitleuploader	thumbnailis_liveskip_downloadzBroadcasts are ephemeral)url	info_dictparamsskipz.http://www.saitosan.net/bview.html?id=1003179510031795u   橋本zEhttp://111.171.196.85:8088/1a3933e1-a01a-483b-8931-af15f37f8082/thumbc           
         |                      |          }d}|                     ||d                              d          }|d|z   z  }|                     ||d           d| d}t	          |           d	| }|                     |||d
           |                     ||d          }|                    d          so|                    d          pi }t          |rDd                    | j        |                    dd          |                    dd                    ndd|          |                     ||dd           |                     ||d          }|                    d          }	|                     ||ddd           ||                    d          |                     |	|dd          |		                    d d!          t          |d"           dd#S )$NzHhttp://hankachi.saitosan-api.net:8002/socket.io/?transport=polling&EIO=3zOpening socket)notesidz&sid=zPolling socketz"420["room_start_join",{"room_id":"z"}]:zPolling socket with payload)datar   okerrorz{} said: {} - {}code?msgUnknownzfThe socket reported that the broadcast could not be joined. Maybe it's offline or the URL is incorrectT)expectedvideo_idz26:421["room_finish_join",{}]z&Getting broadcast metadata from socketr   z1:1zClosing socketF)r   r   fatalnamer   )livezav.m3u8thumbc                     | d         d         S )Nbroadcast_userr&    )xs    ^C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/saitosan.py<lambda>z*SaitosanIE._real_extract.<locals>.<lambda>I   s    !4D2Ef2M     )r   r   formatsr   r   r   )	_match_id_download_socket_jsonget_download_webpagelenr   formatIE_NAME_extract_m3u8_formatsreplacer   )
selfr   b_idbaser   payloadresponseerrb_datam3u8_urls
             r-   _real_extractzSaitosanIE._real_extract*   s*   ~~c""Y((t:J(KKOOPUVV#tT0@AAABBBB\\--G--tT>[\\\--dD?O-PP||D!! 	.,,w''-2C lo "))$,8L8LcggV[]fNgNghhh~. . . .
 	tT0OVfggg++D$=e+ff::e$$tT<LTYZZZ ZZ''11(D%d1SS!)))W==(M(MNN
 
 	
r/   N)__name__
__module____qualname___WORKINGr7   
_VALID_URL_TESTSrB   r+   r/   r-   r   r      s        HGRJ?'*`
 
 T
 + " @ `
 
 T
 +	 	!FB!
 !
 !
 !
 !
r/   r   N)commonr   utilsr   r   r   r+   r/   r-   <module>rK      sm    ! ! ! ! ! ! + + + + + + + +F
 F
 F
 F
 F
 F
 F
 F
 F
 F
r/   