
    +g                    `   S SK Jr  S SKJr  S SKJrJrJr  S SKrS SK	r	S SK
r
S SKr
S SKJrJrJr  SSKJrJrJr  SS	KJrJr  \(       a   S S
KJrJr  S SKJr  S SKJr  SSKJr  SSK J!r!  SS jr"\RF                  " SS9 " S S\
RH                  RJ                  5      5       r&    SS jr'SS jr(g)    )annotations)partial)TYPE_CHECKINGNoReturncastN)AF_INETIPPROTO_TCPSOCK_STREAM   )open_ssl_over_tcp_listenersopen_ssl_over_tcp_streamserve_ssl_over_tcp   )
SERVER_CTX
client_ctx)AddressFamily
SocketKind)
SSLContext)Stream)SocketListener)SSLListenerc                6  #    U  IS h  vN     U R                  S5      I S h  vN nU(       d  OU R                  U5      I S h  vN   M<  S S S 5      IS h  vN   g  NS N: N! [        R                   a     N-f = f N%! , IS h  vN  (       d  f       g = f7f)Ni'  )receive_somesend_alltrioBrokenResourceError)streamdatas     n/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_highlevel_ssl_helpers.pyecho_handlerr        sx     v	#0077ood+++	  vv 8 ,'' 		 vvvs   BABA?A#AA#A?A#A!A#BA=BA#!A##A:7A?9A::A?=B?BBBBF)slotsc                  f    \ rS rSr% S\S'       S             S	S jjr      S
S jrSrg)FakeHostnameResolver.   z?tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]sockaddrc                F   #    [         [        [        SU R                  4/$ 7f)N )r   r
   r	   r%   )selfhostportfamilytypeprotoflagss          r   getaddrinfo FakeHostnameResolver.getaddrinfo2   s     " +{BFGGs   !c                   #    [         e7f)N)NotImplementedError)r(   r%   r.   s      r   getnameinfo FakeHostnameResolver.getnameinfoE   s     
 "!s   	 N)r   r   r   r   )r)   zbytes | Noner*   zbytes | str | int | Noner+   intr,   r6   r-   r6   r.   r6   returnzqlist[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r%   z+tuple[str, int] | tuple[str, int, int, int]r.   r6   r7   r   )__name__
__module____qualname____firstlineno____annotations__r/   r3   __static_attributes__r5       r   r#   r#   .   s    MM HH 'H 	H
 H H H
H&"=" " 
	"r>   r#   c                  #    [         R                  " 5        IS h  vN nUR                  [        [        [
        S[        SS95      I S h  vN n[        U[        5      (       d   e[        SU5      nUu  nU IS h  vN   UR                  nUR                  R                  5       n[        U5      n[         R                  R                  U5        [        SS5      I S h  vN nU IS h  vN   [         R"                  " [         R$                  5         UR'                  5       I S h  vN   S S S 5        S S S 5      IS h  vN   [        SSU S9I S h  vN nU IS h  vN   [         R"                  " [         R$                  5         UR'                  5       I S h  vN   S S S 5        S S S 5      IS h  vN   [        SSU S9I S h  vN nU IS h  vN   [        U[         R(                  5      (       d   eUR*                  S:X  d   eUR-                  S	5      I S h  vN   UR/                  S
5      I S h  vN S	:X  d   eS S S 5      IS h  vN   UR0                  (       a   e[        SSU SS
S9I S h  vN nU IS h  vN   UR0                  (       d   eS S S 5      IS h  vN   UR2                  R5                  5         S S S 5      IS h  vN   S S S 5      IS h  vN   g  GN GN GNl GN GN GN! , (       d  f       GN= f GN! , IS h  vN  (       d  f       GN= f GN GN GN! , (       d  f       GN= f GN! , IS h  vN  (       d  f       GN= f GN GN GNF GN0 GN! , IS h  vN  (       d  f       GN3= f GN GN N! , IS h  vN  (       d  f       GN = f N! , IS h  vN  (       d  f       N= f N! , IS h  vN  (       d  f       g = f7f)Nr   	127.0.0.1r)   z!list[SSLListener[SocketListener]]ztrio-test-1.example.orgP   zxyzzy.example.org)ssl_context   xr   T)rC   https_compatiblehappy_eyeballs_delay)r   open_nurserystartr   r   r    r   
isinstancelistr   transport_listenersocketgetsocknamer#   set_custom_hostname_resolverr   pytestraisesr   do_handshake	SSLStreamserver_hostnamer   r   _https_compatiblecancel_scopecancel)	r   nurseryvaluereslistenertp_listenerr%   hostname_resolverr   s	            r   1test_open_ssl_over_tcp_stream_and_everything_elser]   O   s       ""g mm" 
 
 %&&&&6>8*2*E*EK"))557H 4X >KK445FG 44MrRRFv]]4#;#;< --/// = v 4#& F
 v]]4#;#;< --/// = v
 4)& F
 v!&$..9999--1JJJJood+++#0033t;;;	 v ////3)&!%%& F v//// v   '')i 8! #""
  S/ =< vvv
 / =< vvv

  ,3	 vvv vvva 888! #"""sn  O$K$O$,O
K'1O
>K*?O
A N."K-#
N.-K0
.N.1%LK6	*K3+K6	/L7N.LN.L&
N. L)
!N.$%M	L/	L,L/	"M*N.5M6N.M	
N.M"
N.AM.M%
 M.8M(
9
M.N.M+'N.6N	7
N.N
N.NN.$N%N.O
N,O
O$OO$'O
*O
-N.0N.3K6	6
L LN.L#LL#	N.)N.,L/	/
L>9MN.M
MM	N."N.%M.(M.+N..N4M75N	N.N.N.N)NN)$N.,O
.O	4N75O	O
O$
O!OO!O$c                   #    [        S[        SS9I S h  vN u  n U  IS h  vN   [        U [        R                  5      (       d   eU R
                  n[        U[        R                  5      (       d   eUR                  R                  5       S   S:X  d   eU R                  (       a   eS S S 5      IS h  vN   [        S[        SSS9I S h  vN u  n U  IS h  vN   U R                  (       d   eS S S 5      IS h  vN   g  N N NQ! , IS h  vN  (       d  f       Nf= f NU NJ N)! , IS h  vN  (       d  f       g = f7f)Nr   r@   rA   T)r)   rE   )
r   r   rI   r   r   rK   r   rL   rM   rT   )rZ   tls     r    test_open_ssl_over_tcp_listenersr`      s     3AzTTKXx(D$4$45555(("d112222yy$$&q)[888---- x 4		 KX x)))) xx Uxxx xxxs   EDEDEBD
+E6D7ED$ED&ED*3E>D(?EEE
D!DD!E&E(E*E0D31E=E)r   r   r7   None)r   r   r7   ra   )r7   ra   ))
__future__r   	functoolsr   typingr   r   r   attrsrO   r   trio.testingtrio.socketr   r	   r
   _highlevel_ssl_helpersr   r   r   test_sslr   r   rL   r   r   sslr   trio.abcr   _highlevel_socketr   _sslr   r    defineabcHostnameResolverr#   r]   r`   r5   r>   r   <module>rq      s    "  0 0     9 9  -02"	 E"48844 " "@G*G*	G*T*r>   