Ë
    $Æ%hl  ã                  ó�   — d dl mZ d dlZd dlZd dlZddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZmZ  G d„ de«      Z G d	„ d
e«      Zy)é    )ÚannotationsNé   )ÚConnectErrorÚConnectTimeoutÚExceptionMappingÚ	ReadErrorÚReadTimeoutÚ
WriteErrorÚWriteTimeoutÚmap_exceptionsé   )ÚSOCKET_OPTIONÚAsyncNetworkBackendÚAsyncNetworkStreamc                  ó\   — e Zd Zd	d„Zd
dd„Zd
dd„Zdd„Z	 	 d	 	 	 	 	 	 	 dd„Zdd„Zdd„Z	y)Ú
TrioStreamc                ó   — || _         y ©N)Ú_stream©ÚselfÚstreams     úU/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/httpcore/_backends/trio.pyÚ__init__zTrioStream.__init__   s	   € Øˆ�ó    Nc              ƒ  ó   K  — |€t        d«      n|}t        j                  t        t        j                  t
        t        j                  t
        i}t        |«      5  t        j                  |«      5  | j                  j                  |¬«      ƒ d {  –—† }|cd d d «       cd d d «       S 7 Œ# 1 sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w­w)NÚinf)Ú	max_bytes)ÚfloatÚtrioÚTooSlowErrorr	   ÚBrokenResourceErrorr   ÚClosedResourceErrorr   Ú
fail_afterr   Úreceive_some)r   r   ÚtimeoutÚtimeout_or_infÚexc_mapÚdatas         r   ÚreadzTrioStream.read   s±   è ø€ Ø)0¨œ˜uœ¸gˆä×Ñœ{Ü×$Ñ$¤iÜ×$Ñ$¤ið%
ˆô
 ˜GÓ$ñ 	Ü—‘ Ó0ñ Ø$(§L¡L×$=Ñ$=È	Ð$=Ó$R×R�Ø÷ð ÷	ñ 	àRø÷ð úð ÷	÷ 	ñ 	üsN   ‚ACÁCÁ1 B,ÂB*ÂB,Â	CÂ 
CÂ*B,Â,B5	Â1CÂ9	CÃCÃCc              ƒ  óŒ  K  — |sy |€t        d«      n|}t        j                  t        t        j                  t
        t        j                  t
        i}t        |«      5  t        j                  |«      5  | j                  j                  |¬«      ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­w)Nr   )r)   )r   r    r!   r   r"   r
   r#   r   r$   r   Úsend_all)r   Úbufferr&   r'   r(   s        r   ÚwritezTrioStream.write%   s¦   è ø€ ÙØà)0¨œ˜uœ¸gˆä×Ñœ|Ü×$Ñ$¤jÜ×$Ñ$¤jð%
ˆô
 ˜GÓ$ñ 	9Ü—‘ Ó0ñ 9Ø—l‘l×+Ñ+°Ð+Ó8×8Ð8÷9÷	9ð 	9à8ø÷9ð 9ú÷	9ð 	9üsH   ‚ACÁB8Á4 B,ÂB*ÂB,ÂB8Â!	CÂ*B,Â,B5	Â1B8Â8CÂ=Cc              ƒ  óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr   )r   Úaclose)r   s    r   r0   zTrioStream.aclose3   s   è ø€ Ø�l‰l×!Ñ!Ó#×#Ò#ús   ‚( &¡(c              ƒ  ó  K  — |€t        d«      n|}t        j                  t        t        j                  t
        i}t        j                  | j                  ||dd¬«      }t        |«      5  	 t        j                  |«      5  |j                  «       ƒ d {  –—†  d d d «       d d d «       t        |«      S 7 Œ# 1 sw Y   ŒxY w# t        $ r }| j                  «       ƒ d {  –—†7   |‚d }~ww xY w# 1 sw Y   t        |«      S xY w­w)Nr   TF)Ússl_contextÚserver_hostnameÚhttps_compatibleÚserver_side)r   r    r!   r   r"   r   Ú	SSLStreamr   r   r$   Údo_handshakeÚ	Exceptionr0   r   )r   r2   r3   r&   r'   r(   Ú
ssl_streamÚexcs           r   Ú	start_tlszTrioStream.start_tls6   së   è ø€ ð *1¨œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lð%
ˆô —^‘^Ø�L‰LØ#Ø+Ø!Øô
ˆ
ô ˜GÓ$ñ 	ðÜ—_‘_ ^Ó4ñ 4Ø$×1Ñ1Ó3×3Ð3÷4÷	ô ˜*Ó%Ð%ð	 4ø÷4ð 4ûäò Ø—k‘k“m×#Ñ#Ø�	ûðú÷		ô ˜*Ó%Ð%üsr   ‚A)DÁ+C0Á-CÂB8ÂB6ÂB8ÂCÂ#DÂ6B8Â8C	Â=CÃ	C-ÃC(Ã C#Ã!C(Ã(C-Ã-C0Ã0DÃ5Dc                óv  — |dk(  r:t        | j                  t        j                  «      r| j                  j                  S |dk(  r(| j                  «       j                  j                  «       S |dk(  r(| j                  «       j                  j                  «       S |dk(  ru| j                  }t        |t        j                  «      r'|j                  }t        |t        j                  «      rŒ't        |t        j                  «      sJ ‚|j                  S |dk(  r!| j                  d«      }|j                  «       S y )NÚ
ssl_objectÚclient_addrÚserver_addrÚsocketÚis_readable)Ú
isinstancer   r    r6   Ú_ssl_objectÚ_get_socket_streamr@   ÚgetsocknameÚgetpeernameÚtransport_streamÚSocketStreamÚget_extra_inforA   )r   Úinfor   r@   s       r   rI   zTrioStream.get_extra_infoQ   sý   € Ø�<Ò¤J¨t¯|©|¼T¿^¹^Ô$Lð —<‘<×+Ñ+Ð+Ø�=Ò Ø×*Ñ*Ó,×3Ñ3×?Ñ?ÓAÐAØ�=Ò Ø×*Ñ*Ó,×3Ñ3×?Ñ?ÓAÐAØ�8ÒØ—\‘\ˆFÜ˜V¤T§^¡^Ô4Ø×0Ñ0�ô ˜V¤T§^¡^Õ4ä˜f¤d×&7Ñ&7Ô8Ð8Ð8Ø—=‘=Ð Ø�=Ò Ø×(Ñ(¨Ó2ˆFØ×%Ñ%Ó'Ð'Ør   c                óØ   — | j                   }t        |t        j                  «      r'|j                  }t        |t        j                  «      rŒ't        |t        j
                  «      sJ ‚|S r   )r   rB   r    r6   rG   rH   r   s     r   rD   zTrioStream._get_socket_streame   sO   € Ø—‘ˆÜ˜¤§¡Ô0Ø×,Ñ,ˆFô ˜¤§¡Õ0ä˜&¤$×"3Ñ"3Ô4Ð4Ð4Øˆr   )r   ztrio.abc.StreamÚreturnÚNoner   )r   Úintr&   úfloat | NonerL   Úbytes)r-   rP   r&   rO   rL   rM   )rL   rM   ©NN)r2   zssl.SSLContextr3   ú
str | Noner&   rO   rL   r   )rJ   ÚstrrL   z
typing.Any)rL   ztrio.SocketStream)
Ú__name__Ú
__module__Ú__qualname__r   r*   r.   r0   r;   rI   rD   © r   r   r   r      sS   „ óô
ô9ó$ð '+Ø $ð	&à#ð&ð $ð&ð ð	&ð
 
ó&ó6ô(r   r   c                  óV   — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 dd„Zd	d„Zy)
ÚTrioBackendNc              ƒ  óÈ  K  — |€g }|€t        d«      n|}t        j                  t        t        j                  t
        t        t
        i}t        |«      5  t        j                  |«      5  t        j                  |||¬«      ƒ d {  –—† }|D ]  }	 |j                  |	Ž  Œ 	 d d d «       d d d «       t        «      S 7 Œ6# 1 sw Y   ŒxY w# 1 sw Y   t        «      S xY w­w)Nr   )ÚhostÚportÚlocal_address)r   r    r!   r   r"   r   ÚOSErrorr   r$   Úopen_tcp_streamÚ
setsockoptr   )
r   r[   r\   r&   r]   Úsocket_optionsr'   r(   r   Úoptions
             r   Úconnect_tcpzTrioBackend.connect_tcpn   sÛ   è ø€ ð Ð!ØˆNØ)0¨œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lÜ”\ð%
ˆô
 ˜GÓ$ñ 	/Ü—‘ Ó0ñ /Ü04×0DÑ0DØ D¸ô1÷ +�ð -ò /�FØ%�F×%Ñ% vÒ.ñ/÷	/÷	/ô ˜&Ó!Ð!ð+ø÷/ð /ú÷	/ô ˜&Ó!Ð!üsH   ‚AC"ÁCÁ+C ÂB>ÂC Â#CÂ+C"Â>C Ã C		ÃCÃCÃC"c              ƒ  óÂ  K  — |€g }|€t        d«      n|}t        j                  t        t        j                  t
        t        t
        i}t        |«      5  t        j                  |«      5  t        j                  |«      ƒ d {  –—† }|D ]  } |j                  |Ž  Œ 	 d d d «       d d d «       t        «      S 7 Œ6# 1 sw Y   ŒxY w# 1 sw Y   t        «      S xY w­w)Nr   )r   r    r!   r   r"   r   r^   r   r$   Úopen_unix_socketr`   r   )r   Úpathr&   ra   r'   r(   r   rb   s           r   Úconnect_unix_socketzTrioBackend.connect_unix_socket‰   sÑ   è ø€ ð Ð!ØˆNØ)0¨œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lÜ”\ð%
ˆô
 ˜GÓ$ñ 	/Ü—‘ Ó0ñ /Ü04×0EÑ0EÀdÓ0K×*K�Ø,ò /�FØ%�F×%Ñ% vÒ.ñ/÷/÷	/ô
 ˜&Ó!Ð!ð +Lø÷/ð /ú÷	/ô
 ˜&Ó!Ð!üsH   ‚ACÁC	Á+B=ÂB;ÂB=Â C	Â(CÂ;B=Â=C	ÃC	Ã	CÃCc              ƒ  óJ   K  — t        j                  |«      ƒ d {  –—†  y 7 Œ­wr   )r    Úsleep)r   Úsecondss     r   ri   zTrioBackend.sleepž   s   è ø€ Ü�j‰j˜Ó!×!Ò!ús   ‚#›!œ#)NNN)r[   rS   r\   rN   r&   rO   r]   rR   ra   ú%typing.Iterable[SOCKET_OPTION] | NonerL   r   rQ   )rf   rS   r&   rO   ra   rk   rL   r   )rj   r   rL   rM   )rT   rU   rV   rc   rg   ri   rW   r   r   rY   rY   m   s„   „ ð
 !%Ø$(Ø@Dð"àð"ð ð"ð ð	"ð
 "ð"ð >ð"ð 
ó"ð< !%Ø@Dð	"àð"ð ð"ð >ð	"ð
 
ó"ô*"r   rY   )Ú
__future__r   ÚsslÚtypingr    Ú_exceptionsr   r   r   r   r	   r
   r   r   Úbaser   r   r   r   rY   rW   r   r   ú<module>rq      sF   ðÝ "ã 
Û ã ÷	÷ 	ó 	÷ IÑ HôUÐ#ô Uôp2"Ð%õ 2"r   