+
    8iE                    v  a 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
HtHtHtHt ^ RIt^ RIHt ^ RIHtHtHtHtHtHt ]'       d%   ^ RIHt ^ RIHt ^ R	IHt ^ R
IH t  ^ RI!H"t" ^ RI#H$t$ RRRR]//t%R]&R&   ]P                  PO                  R4      '       d?   ]PP                  ! 4       t)R])R])R]PT                  ! 4       R]PV                  ! 4       /]%R&   EM]P                  R8X  dS   R]PP                  ! 4       R]PP                  ! 4       R]PT                  ! 4       R]PX                  ! 4       ^ ,          /]%R&   EM<]P                  R8X  d   ]PZ                  ! 4       t.RRRRR]P^                  Pa                  R4      ;'       g    ]PT                  ! 4       RRPc                  ]2! ]3].R,          4      4      R].R?,          ;'       g    R 2,           /]%R&   M]Ph                  ! ]PP                  ! 4       ]PV                  ! 4       ]Pj                  ! 4       4      t6R]PP                  ! 4       RRPc                  ]6R ,           U u. uF  q '       g   K  V NK  	  up 4      R]PT                  ! 4       R]6^,          /]%R&   ]Pn                  ! 4       PO                  R!4      '       do   RPc                  ]Pn                  ! 4       RPc                  ]2! ]3]Pp                  4      4      R"RPc                  ]2! ]3]Pr                  4      4      ,          34      ]%R#&   MERPc                  ]Pn                  ! 4       RPc                  ]2! ]3]Pr                  4      4      34      ]%R#&   R$t:R%t;R&t<R't=R( R) lt>R* R+ lt?R, R- lt@R. R/ ltAR0 R1 ltBR2 R3 ltCR4 R5 ltDR6 R7 ltER8tFR9 R: ltGR;P                  R<4        ! R= R>4      tIR# u up i )@zPool options for AsyncMongoClient/MongoClient.

.. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs.
)annotationsN)Path)TYPE_CHECKINGAnyMutableMappingOptional)__version__)MAX_CONNECTINGMAX_IDLE_TIME_SECMAX_POOL_SIZEMIN_POOL_SIZEWAIT_QUEUE_TIMEOUThas_c)MongoCredential)CompressionSettings)
DriverInfo)_EventListeners)
SSLContext)	ServerApidrivernamePyMongoversiondict[str, Any]	_METADATAlinuxtypearchitectureosdarwinwin32WindowsPROCESSOR_ARCHITECTURE.:N   Nz-SP0 :N   NPyPyz(Python %s)platformz/.dockerenvKUBERNETES_SERVICE_HOSTdocker
kubernetesc                   V ^8  d   QhRR/# )r'   returnzdict[str, str] )formats   "R/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/pool_options.py__annotate__r2   p   s     
 
 
    c                     / p \        \        4      P                  4       '       d
   \        V R&   \        P
                  ! \        4      '       d
   \        V R&   V # )zReturns the runtime and orchestrator of a container.
If neither value is present, the metadata client.env.container field will be omitted.runtimeorchestrator)r   DOCKER_ENV_PATHexistsRUNTIME_NAME_DOCKERr   getenvENV_VAR_K8SORCHESTRATOR_NAME_K8S)	containers    r1   get_container_env_infor>   p   sF     IO##%%2	)	yy$9	.!r3   c                   V ^8  d   QhRR/# r'   r.   boolr/   )r0   s   "r1   r2   r2   }   s      D r3   c                     \         P                  ! R 4      '       d   R# \         P                  ! R4      p V '       d   V P                  R4      # R# )AWS_LAMBDA_RUNTIME_APITAWS_EXECUTION_ENVAWS_Lambda_F)r   r:   
startswith)envs    r1   
_is_lambdarH   }   s9    	yy)**
))'
(C
~~m,,r3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r2      s     7 7 7r3   c                 @    \        \        P                  ! R 4      4      # )FUNCTIONS_WORKER_RUNTIMErA   r   r:   r/   r3   r1   _is_azure_funcrM      s    		4566r3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r2      s     F Fd Fr3   c                 |    \        \        P                  ! R 4      ;'       g    \        P                  ! R4      4      # )	K_SERVICEFUNCTION_NAMErL   r/   r3   r1   _is_gcp_funcrR      s'    		+&DD"))O*DEEr3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r2      s     % %D %r3   c                 @    \        \        P                  ! R 4      4      # )VERCELrL   r/   r3   r1   
_is_vercelrV      s    		(#$$r3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r2      s     N N$ Nr3   c                     \        4       ;'       g/    \        4       ;'       g    \        4       ;'       g    \        4       # N)rH   rM   rR   rV   r/   r3   r1   _is_faasrZ      s)    <MM>+MM|~MMMr3   c                    V ^8  d   QhRRRR/# )r'   keystrr.   Optional[int]r/   )r0   s   "r1   r2   r2      s      S ] r3   c                ~    \         P                  ! V 4      pV'       g   R#  \        V4      #   \         d     R# i ; i)zMLike os.getenv but returns an int, or None if the value is missing/malformed.N)r   r:   int
ValueError)r\   vals   & r1   _getenv_intrc      s5    
))C.C3x s   
- <<c                   V ^8  d   QhRR/# r'   r.   r   r/   )r0   s   "r1   r2   r2      s     " "~ "r3   c                    / p \        4       pV'       d   WR &   \        4       \        4       \        4       \	        4       3P                  R4      ^8w  d   V # \        4       '       d=   RV R&   \        P                  ! R4      pV'       d   W R&   \        R4      pVe   W0R&   V # \        4       '       d   RV R&   V # \        4       '       dP   R	V R&   \        P                  ! R
4      pV'       d   W R&   \        R4      pVe   W0R&   \        R4      pVe   W@R&   V # \	        4       '       d(   RV R&   \        P                  ! R4      pV'       d   W R&   V # )r=   Tz
aws.lambdar   
AWS_REGIONregionAWS_LAMBDA_FUNCTION_MEMORY_SIZE	memory_mbz
azure.funczgcp.funcFUNCTION_REGIONFUNCTION_MEMORY_MBFUNCTION_TIMEOUT_SECtimeout_secvercelVERCEL_REGION)	r>   rH   rM   rR   rV   countr   r:   rc   )rG   r=   rh   rj   rn   s        r1   _metadata_envrr      s;   C&(I$Kn&
EKKDQUVV
||"F<("M AB	 (& J% 
		"F" J! 
 F,-"M 45	 (!"89"!, J 
F?+"MJr3   i   c                    V ^8  d   QhRRRR/# )r'   metadatazMutableMapping[str, Any]r.   Noner/   )r0   s   "r1   r2   r2      s     4E 4E!9 4Ed 4Er3   c                   \        \        P                  ! V 4      4      \        8:  d   R# V P	                  R/ 4      P	                  R4      pV'       d   RV/V R&   \        \        P                  ! V 4      4      \        8:  d   R# V P	                  R/ 4      P	                  R4      pV'       d   RV/V R&   \        \        P                  ! V 4      4      \        8:  d   R# V P                  RR4       \        \        P                  ! V 4      4      pV\        8:  d   R# V\        ,
          pV P	                  RR4      pV'       d   VRV)  pV'       d   WPR&   MV P                  RR4       \        \        P                  ! V 4      4      pV\        8:  d   R# V\        ,
          pV P	                  R/ 4      pV'       Ed   VP	                  R	4      RV)  p\        V4      \        \        R,          R	,          4      8  d   WpR,          R	&   M\        R,          R	,          V R,          R	&   \        \        P                  ! V 4      4      pV\        8:  d   R# V\        ,
          pVP	                  R4      RV)  p\        V4      \        \        R,          R,          4      8  d   WR,          R&   R# \        R,          R,          V R,          R&   R# R# )
zPerform metadata truncation.NrG   r   r   r   r)    r   r   )lenbsonencode_MAX_METADATA_SIZEgetpopr   )	rt   env_nameos_typeencoded_sizeoverflowplatr   driver_versiondriver_names	   &        r1   _truncate_metadatar      s:   
4;;x !%77||E2&**62H!8,
4;;x !%77ll4$((0G '*
4;;x !%77LLt{{8,-L))00H<<
B'DJhY#Z&t{{8,-L))00H\\(B'FvI.z	:~#i&9)&D"EE,:Xy),5h,?	,JHXy)4;;x01--"44jj(8)4{s9X#6v#>??)4Xv&)28)<V)DHXv&! r3   fooidnac                      ] tR tRtRtR1t]]]RR]	RRRRRR]
RRRRR3R R lltR R	 lt]R
 R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       t R0t!R# )2PoolOptionsi  aO  Read only connection pool options for an AsyncMongoClient/MongoClient.

Should not be instantiated directly by application developers. Access
a client's pool options via
:attr:`~pymongo.client_options.ClientOptions.pool_options` instead::

  pool_opts = client.options.pool_options
  pool_opts.max_pool_size
  pool_opts.min_pool_size

NFTc          $     `    V ^8  d   QhRRRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRRRR/# )r'   max_pool_sizer`   min_pool_sizemax_idle_time_secondsr^   connect_timeoutOptional[float]socket_timeoutwait_queue_timeoutssl_contextOptional[SSLContext]tls_allow_invalid_hostnamesrA   event_listenersOptional[_EventListeners]appnameOptional[str]r   Optional[DriverInfo]compression_settingsOptional[CompressionSettings]max_connectingpause_enabled
server_apiOptional[ServerApi]load_balancedOptional[bool]credentialsOptional[MongoCredential]is_syncr/   )r0   s   "r1   r2   PoolOptions.__annotate__*  s     D, D,D, D,  -	D,
 )D, (D, *D, *D, &*D, 3D, D, %D, <D, D, D,  (!D," &#D,$ /%D,&  'D,r3   c                	   Wn         W n        W0n        W@n        WPn        W`n        Wpn        Wn        Wn        Wn	        Wn
        Wn        Wn        Wn        Wn        VV n        VV n        \"        P$                  ! \&        4      V n        V
'       d   R V
/V P(                  R&   \+        4       '       d?   RP-                  V P(                  R,          R ,          R4      V P(                  R,          R &   V'       g?   RP-                  V P(                  R,          R ,          R4      V P(                  R,          R &   V'       d   V P/                  V4       \1        4       pV'       d   VV P(                  R&   \3        V P(                  4       R# )r   application{}|{}r   casyncrG   N)_PoolOptions__max_pool_size_PoolOptions__min_pool_size#_PoolOptions__max_idle_time_seconds_PoolOptions__connect_timeout_PoolOptions__socket_timeout _PoolOptions__wait_queue_timeout_PoolOptions__ssl_context)_PoolOptions__tls_allow_invalid_hostnames_PoolOptions__event_listeners_PoolOptions__appname_PoolOptions__driver"_PoolOptions__compression_settings_PoolOptions__max_connecting_PoolOptions__pause_enabled_PoolOptions__server_api_PoolOptions__load_balanced_PoolOptions__credentialscopydeepcopyr   _PoolOptions__metadatar   r0   _update_metadatarr   r   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rG   s   &&&&&&&&&&&&&&&&&&& r1   __init__PoolOptions.__init__*  s7   *  -,'<$!0 .$6!(-H*!0 &:# .,&,(--	2.4g->DOOM* 7707)&11DOOH%f- 07)&11DOOH%f- !!&)o%(DOOE"4??+r3   c                    V ^8  d   QhRRRR/# )r'   r   r   r.   ru   r/   )r0   s   "r1   r2   r   p  s     # #z #d #r3   c                   VP                   '       dW   VP                   P                  4       V P                  R,          R,          P                  4       P                  R4      9   d   R# \        P
                  ! V P                  4      pVP                   '       d5   RP                  VR,          R,          VP                   4      VR,          R&   VP                  '       d5   RP                  VR,          R,          VP                  4      VR,          R&   VP                  '       d'   RP                  VR,          VP                  4      VR&   W n        R# )zUpdates the client's metadatar   r   |Nr   r   r)   )	r   lowerr   splitr   r   r0   r   r)   )r   r   rt   s   && r1   r   PoolOptions._update_metadatap  s    ;;;6;;,,.$//(2KF2S2Y2Y2[2a2a3
 
 ==1;;;)0"6**HXv& >>>,3NN"9--HXy) ???#*>>(:2F#XHZ "r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     " "7 "r3   c                    V P                   # )z;A :class:`~pymongo.auth.MongoCredentials` instance or None.)r   r   s   &r1   _credentialsPoolOptions._credentials       !!!r3   c                   V ^8  d   QhRR/# re   r/   )r0   s   "r1   r2   r     s      ^ r3   c                   / pV P                   \        8w  d   V P                   VR&   V P                  \        8w  d   V P                  VR&   V P                  \
        8w  d'   V P                  f   Q hV P                  R,          VR&   V P                  \        8w  d'   V P                  f   Q hV P                  R,          VR&   V P                  \        8w  d   V P                  VR&   V# )zaThe non-default options this pool was created with.

Added for CMAP's :class:`PoolCreatedEvent`.
maxPoolSizeminPoolSizei  maxIdleTimeMSwaitQueueTimeoutMSmaxConnecting)
r   r   r   r   r   r
   r   r   r   r	   )r   optss   & r1   non_default_optionsPoolOptions.non_default_options  s     =0"&"6"6D=0"&"6"6D''+<<//;;;$($@$@4$GD!$$(::,,888)-)B)BT)ID%&  N2$($9$9D!r3   c                   V ^8  d   QhRR/# )r'   r.   floatr/   )r0   s   "r1   r2   r     s     $ $u $r3   c                    V P                   # )a	  The maximum allowable number of concurrent connections to each
connected server. Requests to a server will block if there are
`maxPoolSize` outstanding connections to the requested server.
Defaults to 100. Cannot be 0.

When a server's pool has reached `max_pool_size`, operations for that
server block waiting for a socket to be returned to the pool. If
``waitQueueTimeoutMS`` is set, a blocked operation will raise
:exc:`~pymongo.errors.ConnectionFailure` after a timeout.
By default ``waitQueueTimeoutMS`` is not set.
)r   r   s   &r1   r   PoolOptions.max_pool_size  s     ###r3   c                   V ^8  d   QhRR/# r'   r.   r`   r/   )r0   s   "r1   r2   r     s     $ $s $r3   c                    V P                   # )zzThe minimum required number of concurrent connections that the pool
will maintain to each connected server. Default is 0.
)r   r   s   &r1   r   PoolOptions.min_pool_size  s    
 ###r3   c                   V ^8  d   QhRR/# r   r/   )r0   s   "r1   r2   r     s     % % %r3   c                    V P                   # )zWThe maximum number of concurrent connection creation attempts per
pool. Defaults to 2.
)r   r   s   &r1   r   PoolOptions.max_connecting  s    
 $$$r3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r     s     $ $t $r3   c                	    V P                   # rY   )r   r   s   &r1   r   PoolOptions.pause_enabled  s    ###r3   c                   V ^8  d   QhRR/# r'   r.   r^   r/   )r0   s   "r1   r2   r     s     , ,} ,r3   c                    V P                   # )zThe maximum number of seconds that a connection can remain
idle in the pool before being removed and replaced. Defaults to
`None` (no limit).
)r   r   s   &r1   r   !PoolOptions.max_idle_time_seconds  s     +++r3   c                   V ^8  d   QhRR/# r'   r.   r   r/   )r0   s   "r1   r2   r     s     & & &r3   c                    V P                   # )z>How long a connection can take to be opened before timing out.)r   r   s   &r1   r   PoolOptions.connect_timeout       %%%r3   c                   V ^8  d   QhRR/# r   r/   )r0   s   "r1   r2   r     s     % % %r3   c                    V P                   # )zBHow long a send or receive on a socket can take before timing out.)r   r   s   &r1   r   PoolOptions.socket_timeout  s     $$$r3   c                   V ^8  d   QhRR/# r   r/   )r0   s   "r1   r2   r     s     ) )M )r3   c                    V P                   # )zXHow long a thread will wait for a socket from the pool if the pool
has no free sockets.
)r   r   s   &r1   r   PoolOptions.wait_queue_timeout  s    
 (((r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     " "2 "r3   c                    V P                   # )zAn SSLContext instance or None.)r   r   s   &r1   _ssl_contextPoolOptions._ssl_context  r   r3   c                   V ^8  d   QhRR/# r@   r/   )r0   s   "r1   r2   r     s     2 2T 2r3   c                    V P                   # )z If True skip ssl.match_hostname.)r   r   s   &r1   r   'PoolOptions.tls_allow_invalid_hostnames  s     111r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     & &"; &r3   c                    V P                   # )z2An instance of pymongo.monitoring._EventListeners.)r   r   s   &r1   _event_listenersPoolOptions._event_listeners  r   r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s       r3   c                    V P                   # )zAThe application name, for sending with hello in server handshake.)r   r   s   &r1   r   PoolOptions.appname  s     ~~r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s      , r3   c                    V P                   # )z=Driver name and version, for sending with hello in handshake.)r   r   s   &r1   r   PoolOptions.driver  s     }}r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     + +'D +r3   c                	    V P                   # rY   )r   r   s   &r1   _compression_settings!PoolOptions._compression_settings  s    ***r3   c                   V ^8  d   QhRR/# re   r/   )r0   s   "r1   r2   r     s     & &. &r3   c                6    V P                   P                  4       # )zCA dict of metadata about the application, driver, os, and platform.)r   r   r   s   &r1   rt   PoolOptions.metadata  s     ##%%r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     ! !/ !r3   c                    V P                   # )z'A pymongo.server_api.ServerApi or None.)r   r   s   &r1   r   PoolOptions.server_api  s        r3   c                   V ^8  d   QhRR/# )r'   r.   r   r/   )r0   s   "r1   r2   r     s     $ $~ $r3   c                    V P                   # )z6True if this Pool is configured in load balanced mode.)r   r   s   &r1   r   PoolOptions.load_balanced  s     ###r3   )	__appname__compression_settings__connect_timeout__credentials__driver__event_listeners__load_balanced__max_connecting__max_idle_time_seconds__max_pool_size
__metadata__min_pool_size__pause_enabled__server_api__socket_timeout__ssl_context__tls_allow_invalid_hostnames__wait_queue_timeout)r  r  r  r  r"  r%  r#  r$  r  r  r  r  r  r  r   r!  r  r  )"__name__
__module____qualname____firstlineno____doc__	__slots__r   r   r
   r   r	   r   r   propertyr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  rt   r   r   __static_attributes__r/   r3   r1   r   r     s   
I. +*/@+/*.,>,0,159!%'+>B,"*.(,15"&'D,L#0 " "  ( $ $ $ $ % % $ $ , , & & % % ) ) " " 2 2 & &     + + & & ! ! $ $r3   r   )J__conditional_annotations__r*  
__future__r   r   r   r)   syspathlibr   typingr   r   r   r   ry   pymongor   pymongo.commonr	   r
   r   r   r   r   pymongo.auth_sharedr   pymongo.compression_supportr   pymongo.driver_infor   pymongo.monitoringr   pymongo.pyopenssl_contextr   pymongo.server_apir   r   __annotations__rF   system_namemachinereleasemac_vergetwindowsversion_verenvironr|   joinmapr]   system_aliasr   _aliasedpython_implementationpypy_version_infoversion_infor7   r;   r9   r<   r>   rH   rM   rR   rV   rZ   rc   rr   r{   r   rz   r   )partr/  s   0@r1   <module>rM     s;   #  	  
  ? ?    3?.24, &	9k'RS	> S<<7##
 OOE((*8##%IdO 	\\X!!((* 	8##%a(IdO 	\\W  "D		

'?@VVHDTDTDV388CT"X./CRC7H2IIIdO $$X__%68H8H8JHL\L\L^_H!8B<@<44$$<@A((*8A;	IdO !!#..v66HH**,HHSc3345CHHSc.>.>%?@@	
Ij  HH		'	'	)388CS=M=M4N+OPIj  ' $ 
7F%N"J  4Ev V ~$ ~$c As   	N6N6