+
    8i
L                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
HtHtHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIHtHt ^ RIHtHtHt ^ R	IHt ^ R
I H!t!H"t"H#t# ]!]"3t$]	'       d   ^ RI%H&t& ^ RI'H(t(  ^ RI)H*t*H+t+H,t,H)t) R R lt-^xt/^
t0^	t1]Pd                  R8X  dP    ^ RI3t4R t5 ]4Pl                  ! ]4Pn                  R4      ;_uu_ 4       t8]5! ]8RR4      t9]5! ]8RR4      t:RRR4       R t<MR R lt=R R lt<R.R R llt> ! R  R!4      t?R" R# lt@R$ R% ltAR& R' ltBR( R) ltCR* R+ ltDR, R- ltER#   ]. d
    R R lt- Li ; i  ]. d    ^ RI4t4 Li ; i  + '       g   i     L|; i  ]; d    Rt9Rt: Li ; i)/z)Pool utilities and shared helper methods.)annotationsN)TYPE_CHECKINGAnyNoReturnOptionalUnion)_csot)_getaddrinfo)AutoReconnectConnectionFailureNetworkTimeout_CertificateError)_get_timeout_detailsformat_timeout_details)AsyncNetworkingInterfaceNetworkingInterfacePyMongoProtocol)PoolOptions)
PYSSLErrorSSLError_has_sni)_sslConn)_Address)F_GETFDF_SETFD
FD_CLOEXECfcntlc                    V ^8  d   QhRRRR/#    fdintreturnNone )formats   "Q/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/pool_shared.py__annotate__r'   4   s     / /C /D /    c                ^    \        V \        4      p\        V \        V\        ,          4       R# )z8Set the close-on-exec flag on the given file descriptor.N)r   r   r   r   )r    flagss   & r&   _set_non_inheritable_non_atomicr+   4   s    b'"b'5:-.r(   c                    V ^8  d   QhRRRR/# r   r$   )r%   s   "r&   r'   r'   =   s     E EC ED Er(   c                    R# )z6Dummy function for platforms that don't provide fcntl.Nr$   )r    s   &r&   r+   r+   =   s    r(   win32c                |     \         P                  ! W4      w  r4\        V4      #   \        \        3 d    Tu # i ; iN)winregQueryValueExr!   OSError
ValueError)keynamedefaultvalue_s   &&&  r&   _queryr:   K   s>    	**35HEu:$ 	 N	s   "% ;;z2SYSTEM\CurrentControlSet\Services\Tcpip\ParametersKeepAliveTimei m KeepAliveInterval  c                    \        \        \        R ,          4      p\        \        \        R ,          4      pV\        8  g   V\        8  d%   V P                  \        P                  ^W34       R# R# )r=   N)min_WINDOWS_TCP_IDLE_MS_MAX_TCP_KEEPIDLE_WINDOWS_TCP_INTERVAL_MS_MAX_TCP_KEEPINTVLioctlsocketSIO_KEEPALIVE_VALS)sockidle_msinterval_mss   &  r&   _set_keepalive_timesrJ   a   sX    *,=,DE24F4MN))[;S-SJJv001g2KL .Tr(   c               (    V ^8  d   QhRRRRRRRR/# )	r   rG   socket.socket
tcp_optionstr	max_valuer!   r"   r#   r$   )r%   s   "r&   r'   r'   i   s)      m   QU r(   c                   \        \        V4      '       d\   \        \        V4      p V P                  \        P                  V4      pWB8  d#   V P                  \        P                  W24       R # R # R #   \         d     R # i ; ir0   )hasattrrE   getattr
getsockoptIPPROTO_TCP
setsockoptr3   )rG   rM   rO   sockoptr7   s   &&&  r&   _set_tcp_optionrW   i   sp    6:&&fj1G //&*<*<gF&OOF$6$6K ' '  s   AA4 4BBc                    V ^8  d   QhRRRR/# )r   rG   rL   r"   r#   r$   )r%   s   "r&   r'   r'   v   s     ? ?= ?T ?r(   c                l    \        V R \        4       \        V R\        4       \        V R\        4       R# )TCP_KEEPIDLETCP_KEEPINTVLTCP_KEEPCNTN)rW   rA   rC   _MAX_TCP_KEEPCNTrG   s   &r&   rJ   rJ   v   s)    n.?@o/ABm-=>r(   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   addressr   error	Exception
msg_prefixzOptional[str]timeout_detailszOptional[dict[str, float]]r"   r   r$   )r%   s   "r&   r'   r'   |   s:     , ,,, , 0	,
 ,r(   c                F   V w  rEVe   RWEV3,          pMV RV 2pV'       d	   W&,           pRV9  d   V\        V4      ,          p\        V\        P                  4      '       g'   \        V\        4      '       d   R\        V4      9   d   \        V4      Vh\        V4      Vh)z9Convert a socket.error to ConnectionFailure and raise it.z	%s:%d: %sz: zconfigured timeouts	timed out)r   
isinstancerE   timeout	SSLErrorsrN   r   r
   )r`   ra   rc   rd   hostportmsgs   &&&&   r&   _raise_connection_failurerm   |   s     JDT//b C'%o665&..))eY''3u:%S!u,C e+r(   c                  D    ] tR t^tR R ltR R lt]R R l4       tRtR# )	_CancellationContextc                   V ^8  d   QhRR/# r   r"   r#   r$   )r%   s   "r&   r'   !_CancellationContext.__annotate__   s        $  r(   c                	    R V n         R# )FN
_cancelledselfs   &r&   __init___CancellationContext.__init__   s	    r(   c                   V ^8  d   QhRR/# rq   r$   )r%   s   "r&   r'   rr      s       r(   c                    RV n         R# )zCancel this context.TNrt   rv   s   &r&   cancel_CancellationContext.cancel   s	    r(   c                   V ^8  d   QhRR/# )r   r"   boolr$   )r%   s   "r&   r'   rr      s      4 r(   c                    V P                   # )zWas cancel called?rt   rv   s   &r&   	cancelled_CancellationContext.cancelled   s     r(   rt   N)	__name__
__module____qualname____firstlineno__rx   r|   propertyr   __static_attributes__r$   r(   r&   ro   ro      s        r(   ro   c               $    V ^8  d   QhRRRRRR/# r   r`   r   optionsr   r"   rL   r$   )r%   s   "r&   r'   r'      s&     L, L,H L,{ L,} L,r(   c           
       "   V w  r#VP                  R4      '       d   \        \        R4      '       g   \        R4      h\        P                  ! \        P                  4      p\        VP                  4       4        VP                  R4       \        P                  ! 4       P                  WB4      G Rj  xL
  V# \        P                  p\        P                  '       d   VR8w  d   \        P                  pRp\!        W#V\        P"                  R7      G Rj  xL
  EFc  pVw  rrp \        P                  ! W\%        \        R^ 4      ,          V
4      p\        VP                  4       4        VP'                  \        P(                  \        P*                  ^4       \,        P.                  ! 4       pVf   VP0                  pMV^ 8:  d   \        P2                  ! R	4      hVP'                  \        P4                  \        P6                  R
4       \9        V4       VP                  R4       \        P:                  ! \        P                  ! 4       P                  WL4      VR7      G Rj  xL
  VP=                  V4       Vu # 	  Ve   Vh\        R4      h EL  \         d    TP                  4        h i ; i EL  \         d    \        P                  ! YT
4      p ELi ; i L{  \        P>                   d9   pTP                  4        \        P2                  ! R	4      pYn          Rp?EK  Rp?i\         d   pTP                  4        Tp Rp?EK9  Rp?ii ; i5i)Given (host, port) and PoolOptions, connect and return a raw socket object.

Can raise socket.error.

This is a modified version of create_connection from CPython >= 2.7.
.sockAF_UNIX-UNIX-sockets are not supported on this systemFN	localhostfamilytypeSOCK_CLOEXECrf   Trh   getaddrinfo failed)!endswithrQ   rE   r   r   r+   filenosetblockingasyncioget_running_loopsock_connectr3   closeAF_INEThas_ipv6	AF_UNSPECr	   SOCK_STREAMrR   rU   rT   TCP_NODELAYr   	remainingconnect_timeoutrh   
SOL_SOCKETSO_KEEPALIVErJ   wait_for
settimeoutTimeoutError	__cause__r`   r   rj   rk   rG   r   errresafsocktypeprotodummysarh   es   &&             r&   _async_create_connectionr      s     JD }}Wvy))#$STT}}V^^,'6	U#**,99$EEEK ^^F4;.!!
C!$V&BTBTUUU),&eB	6==PQ0R%RTYZD 	(6	OOF..0B0BAFoo'G!11Ann[11OOF--v/B/BDI &U#""((*77A7   OOG$K; VL 	
 *++u F 	JJL	 V  	6 ==u5D	6$
 ## 	JJL..-CMM 	JJLC	s   A:M =8J 5J6J ;&M "8M J;M *-J>M 1C:K)+K',K)M J J88M >"K$ M #K$$M 'K))M>,L1*M 1M>M?MM MM c               $    V ^8  d   QhRRRRRR/# r   r`   r   r   r   r"   zUnion[socket.socket, _sslConn]r$   )r%   s   "r&   r'   r'      s$     5 55 +5#5r(   c           	       "   \        W4      G Rj  xL
 pVP                  pVf   VP                  VP                  4       V# V ^ ,          p \	        R4      '       dQ   \
        P                  ! 4       pVP                  R\        P                  ! VP                  W$R7      4      G Rj  xL
 pM;\
        P                  ! 4       pVP                  RVP                  V4      G Rj  xL
 p VP"                  '       dL   VP$                  '       g:   VP&                  '       g(    \(        P*                  ! XP-                  4       VR7       XP                  VP                  4       V#  ELR L L  \         d    TP                  4        h \        .\        O5 d4   pTP                  4        \        T4      p\!        YRTR7        Rp?LRp?ii ; i  \         d    XP                  4        h i ; i5i)Given (host, port) and PoolOptions, return a raw configured socket.

Can raise socket.error, ConnectionFailure, or _CertificateError.

Sets socket's SSL and timeout options.
NFserver_hostnameSSL handshake failed: rd   hostname)r   _ssl_contextr   socket_timeoutr   r   r   run_in_executor	functoolspartialwrap_socketr   r   r3   ri   r   rm   verify_modecheck_hostnametls_allow_invalid_hostnamessslmatch_hostnamegetpeercert)	r`   r   rG   ssl_contextrj   loopssl_sockexcdetailss	   &&       r&   _async_configured_socketr      s     *';;D&&K../1:Dc E??++-D!11!!+"9"94V H
 ++-D!11$8O8OQUVVH 	***333	x335E
 ../OY < W 

 	 i  c

 'w/!'0HZabbc ! 	NN	s   G.E#:G.AE* (E&)E* -G..5E* #E($E* (G.;G.G. &G G.&E* (E* *,GG)GG.GG.G++G.c               $    V ^8  d   QhRRRRRR/# )r   r`   r   r   r   r"   r   r$   )r%   s   "r&   r'   r'   ,  s$     3; 3;3; +3;3;r(   c                  a	"   \        W4      G Rj  xL
 pVP                  pVP                  o	Vf<   \        \        P
                  ! 4       P                  V	3R lVR7      G Rj  xL
 4      # V ^ ,          p \        P
                  ! 4       P                  V	3R lVVVR7      G Rj  xL
 w  rVTP                  '       dM   TP                  '       g;   TP                  '       g)    \        P                   ! XP#                  R4      TR	7       \        XX34      #  EL L Lv  \         d    h \        .\        O5 d$   p\        T4      p\        YRTR7        Rp?LRp?ii ; i  \         d    XP%                  4        h i ; i5i)
zGiven (host, port) and PoolOptions, return a configured AsyncNetworkingInterface.

Can raise socket.error, ConnectionFailure, or _CertificateError.

Sets protocol's SSL and timeout options.
Nc                    < \        S R 7      # r   r   r   s   r&   <lambda>0_configured_protocol_interface.<locals>.<lambda><  s
    8r(   r^   c                    < \        S R 7      # r   r   r   s   r&   r   r   E  s
    OG4r(   )rG   r   r   r   r   peercertr   )r   r   r   r   r   r   create_connectionr   r3   ri   r   rm   r   r   r   r   r   get_extra_infoabort)
r`   r   rG   r   rj   	transportprotocolr   r   rh   s
   &&       @r&   _configured_protocol_interfacer   ,  st     *';;D&&K$$G'**,>>8t ?  
 	
 1:Dc %,$<$<$>$P$P4 	 %Q %
 
	" 	***333	y77
CdS
 $Y$9::U <
   	 i  c 'w/!'0HZabbc ! 	OO	s   FDAF%D&F8/D  'D(D  .F FF%'E$ FFD   E!=E!>EFE!!F$FFc               $    V ^8  d   QhRRRRRR/# r   r$   )r%   s   "r&   r'   r'   b  s&     C, C, C,; C,= C,r(   c           
     @   V w  r#VP                  R4      '       ds   \        \        R4      '       g   \        R4      h\        P                  ! \        P                  4      p\        VP                  4       4        VP                  V4       V# \        P                  p\        P                  '       d   VR8w  d   \        P                  pRp\        P                  ! W#V\        P                  R7       EF!  pVw  rrp \        P                  ! W\        \        R^ 4      ,          V
4      p\        VP                  4       4        VP!                  \        P"                  \        P$                  ^4       \&        P(                  ! 4       pVf   VP*                  pMV^ 8:  d   \        P,                  ! R4      hVP/                  V4       VP!                  \        P0                  \        P2                  R	4       \5        V4       VP                  V4       Vu # 	  Ve   Vh\        R
4      h  \         d    TP                  4        h i ; i  \         d    \        P                  ! YT
4      p ELDi ; i  \         d   pTpTP                  4         Rp?EK  Rp?ii ; i)r   r   r   r   r   Nr   r   rf   Tr   )r   rQ   rE   r   r   r+   r   connectr3   r   r   r   r   getaddrinfor   rR   rU   rT   r   r   r   r   rh   r   r   r   rJ   r   s   &&             r&   _create_connectionr   b  s	    JD }}Wvy))#$STT}}V^^,'6	LLK ^^F4;.!!
C!!$V&BTBTUU),&eB	6==PQ0R%RTYZD 	(6	OOF..0B0BAFoo'G!11Ann[11OOG$OOF--v/B/BDI &LLK3 V< 	
 *++a  	JJL	&  	6 ==u5D	6&  	CJJLL	s7   ;H+ ?-ICI4+I"I10I14J?JJc               $    V ^8  d   QhRRRRRR/# r   r$   )r%   s   "r&   r'   r'     s"     . . .; .Ca .r(   c                   \        W4      pVP                  pVf   VP                  VP                  4       V# V ^ ,          p \	        R4      '       d   VP                  W$R7      pMVP                  V4      p VP                  '       dL   VP                  '       g:   VP                  '       g(    \        P                   ! XP#                  4       VR7       XP                  VP                  4       V#   \         d    TP                  4        h \        .\        O5 d4   pTP                  4        \        T4      p\        YRTR7        Rp?LRp?ii ; i  \         d    XP                  4        h i ; i)r   NTr   r   r   r   )r   r   r   r   r   r   r   r   r3   ri   r   rm   r   r   r   r   r   r   r`   r   rG   r   rj   r   r   r   s   &&      r&   _configured_socketr     sG    g/D&&K../1:Dc D>>"..t.JH"..t4H 	***333	x335E
 ../O1  

 	 i  c

 'w/!'0HZabbc ! 	NN	s0   #C3 'C3 0&E 3,E E!)EEE4c               $    V ^8  d   QhRRRRRR/# )r   r`   r   r   r   r"   r   r$   )r%   s   "r&   r'   r'     s"     .) .)( .)[ .)M` .)r(   c                   \        W4      pVP                  pVf'   VP                  VP                  4       \	        V4      # V ^ ,          p \        R4      '       d   VP                  W$R7      pMVP                  V4      p VP                  '       dL   VP                  '       g:   VP                  '       g(    \         P"                  ! XP%                  4       VR7       XP                  VP                  4       \	        V4      #   \         d    TP                  4        h \        .\        O5 d4   pTP                  4        \        T4      p\        YRTR7        Rp?LRp?ii ; i  \         d    XP                  4        h i ; i)zGiven (host, port) and PoolOptions, return a NetworkingInterface wrapping a configured socket.

Can raise socket.error, ConnectionFailure, or _CertificateError.

Sets socket's SSL and timeout options.
NTr   r   r   r   )r   r   r   r   r   r   r   r   r   r3   ri   r   rm   r   r   r   r   r   r   r   s   &&      r&   _configured_socket_interfacer     sS    g/D&&K../"4((1:Dc D>>"..t.JH"..t4H 	***333	x335E
 ../x((1  

 	 i  c

 'w/!'0HZabbc ! 	NN	s0   #D 0D 9&E) ,E&2E&3)E!!E&)F)NN)F__doc__
__future__r   r   r   rE   r   systypingr   r   r   r   r   pymongor   pymongo.asynchronous.helpersr	   pymongo.errorsr
   r   r   r   pymongo.helpers_sharedr   r   pymongo.network_layerr   r   r   pymongo.pool_optionsr   pymongo.ssl_supportr   r   r   ri   pymongo.pyopenssl_contextr   pymongo.typingsr   r   r   r   r   r+   ImportErrorrA   rC   r]   platform_winregr1   r:   OpenKeyHKEY_LOCAL_MACHINEr5   r@   rB   r3   rJ   rW   rm   ro   r   r   r   r   r   r   r$   r(   r&   <module>r      s   0 "    
 
   5  P ` ` , > >"	2(E99/    <<7 
(^^%%'\
 
#)##H '-c3F'M$	
M?,6 L,^5p3;lC,L.b.)A  EE	E  
 

  (  '#' 	(sT   >D: (E 0%E1 E*E1 :E
	E
EEE.	)E1 .E1 1E?>E?