+
    HjW,                     z  a  R t$0 t ^ RIt^ RIt^ RIt^ RI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 ]P                  ! 4       R8X  d
   ^RIHtHt M']P                  ! 4       R8X  d
   ^RIHtHt M^RIHtHt ]P*                  '       d   ^ RIHt ]],          ]P4                  ],          ,          ]P4                  ],          ,          t] ^ k ]],          ]P8                  . ]],          3,          ,          t] ^k R R ltR	 R
 lt ! R R]4      t ]PB                  R8  d   R R lt"MR R lt"R R lt#R# )    N)_original_SSLContext_original_super_SSLContext#_truststore_SSLContext_dunder_class"_truststore_SSLContext_super_classWindows)_configure_context_verify_peercerts_implDarwin)Bufferc                    V ^8  d   QhRR/#    returnN )formats   "/lib/python3.14/site-packages/truststore/_api.py__annotate__r   "   s           c                 L   \        \        R\        4        ^ RIHu Hp  \        V R\        4        ^ RIp\        VP                  RR4      pVe1   \        VP                  R\        \        P                  4      4       R# R#   \         d     L_i ; i  \         d     R# i ; i)ziInjects the :class:`truststore.SSLContext` into the ``ssl``
module by replacing :class:`ssl.SSLContext`.

SSLContextN_preloaded_ssl_context)setattrsslr   urllib3.util.ssl_utilssl_ImportErrorrequests.adaptersgetattradaptersPROTOCOL_TLS_CLIENT)urllib3_sslrequestspreloaded_contexts      r   inject_into_sslr%   "   s     Cz*//\:6 #H$5$57OQUV(!!(3223 )  "  s#   B AB BBB#"B#c                    V ^8  d   QhRR/# r   r   )r   s   "r   r   r   B   s      $ r   c                 ~    \        \        R\        4        ^ RIHu Hp  \        V n        R#   \         d     R# i ; i)z@Restores the :class:`ssl.SSLContext` class to its original stater   N)r   r   r   r   r   r   r   r   )r"   s    r   extract_from_sslr(   B   s4    C34//!5 s   - <<c                     a  ] tR t^Mt o Rt]V 3R lR l4       tRPV 3R lR lltRQV 3R lR lltRRV 3R	 lR
 llt	RSV 3R lR llt
RTV 3R lR llt]P                  P                  3V 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt]P0                  RUV 3R lR  ll4       t]P0                  RUV 3R! lR" ll4       t]P0                  RUV 3R# lR$ ll4       tRVV 3R% lR& llt]V 3R' lR( l4       t]P6                  V 3R) lR* l4       t]V 3R+ lR, l4       t]P6                  V 3R- lR. l4       t]V 3R/ lR0 l4       t]P6                  V 3R1 lR2 l4       t]V 3R3 lR4 l4       t]P6                  V 3R5 lR6 l4       t]V 3R7 lR8 l4       t]P6                  V 3R9 lR: l4       t]V 3R; lR< l4       t ] P6                  V 3R= lR> l4       t ]V 3R? lR@ l4       t!]!P6                  V 3RA lRB l4       t!]V 3RC lRD l4       t"]V 3RE lRF l4       t#]V 3RG lRH l4       t$]$P6                  V 3RI lRJ l4       t$]V 3RK lRL l4       t%]%P6                  V 3RM lRN l4       t%ROt&V t'R# )Wr   z=SSLContext API that uses system certificates on all platformsc                    < V ^8  d   QhRS[ /# r   r   )type)r   __classdict__s   "r   r   SSLContext.__annotate__Q   s     A A4 Ar   c                *    \         ;'       g    \        # N)r   r   selfs   &r   	__class__SSLContext.__class__P   s    
 3@@j@r   Nc                $   < V ^8  d   QhRS[ RR/# )r   protocolr   Nint)r   r-   s   "r   r   r.   W   s     8 8 8 8r   c                    \        V4      V n        \        P                  ! 4       V n         ! R  R\
        P                  4      pW P                  n        R# )c                   >   a a ] tR t^[t oV3R lV 3R lltRtVtV ;t# )0SSLContext.__init__.<locals>.TruststoreSSLObjectc                   < V ^8  d   QhRR/# r   r   )r   r-   s   "r   r   =SSLContext.__init__.<locals>.TruststoreSSLObject.__annotate__`   s      d r   c                P   < \         SV `  4       p\        W P                  R 7       V# )server_hostname)superdo_handshake_verify_peercertsr@   )r2   retr3   s   & r   rB   =SSLContext.__init__.<locals>.TruststoreSSLObject.do_handshake`   s#    g*,!$8L8LM
r   r   )__name__
__module____qualname____firstlineno__rB   __static_attributes____classdictcell____classcell__)r3   r-   s   @@r   TruststoreSSLObjectr;   [   s     
  r   rM   N)r   _ctx	threadingLock	_ctx_lockr   	SSLObjectsslobject_class)r2   r6   rM   s   && r   __init__SSLContext.__init__W   s8    (2	")	#-- 	 %8		!r   c                   < V ^8  d   QhRS[ P                   RS[RS[RS[RS[R,          RS[P                  R,          RS[P
                  /# )	r   sockserver_sidedo_handshake_on_connectsuppress_ragged_eofsr@   Nsessionr   )socketboolstrr   
SSLSession	SSLSocket)r   r-   s   "r   r   r.   g   sf      mm  "&	
 # t $& 
r   c                   \         P                  ! 4       ;_uu_ 4       pV P                  ;_uu_ 4        VP                  \	        V P
                  4      4       R R R 4       V P
                  P                  VVVVVVR7      pR R R 4        \        XVR7       V#   + '       g   i     LI; i  + '       g   i     L3; i  \         d    XP                  4        h i ; i)N)rX   r@   rY   rZ   r[   r?   )

contextlib	ExitStackrQ   enter_contextr   rN   wrap_socketrC   	Exceptionclose)	r2   rW   rX   rY   rZ   r@   r[   stackssl_socks	   &&&&&&&  r   re   SSLContext.wrap_socketg   s     !!##u##$6tyy$AB   yy,,' /(?%9 - H	 $	hH !   $#  	NN	s.   B,%B	)B,
B? B)$B,,B<	?Cc                   < V ^8  d   QhRS[ P                  RS[ P                  RS[RS[R,          RS[ P                  R,          RS[ P
                  /# )r   incomingoutgoingrX   r@   Nr[   r   )r   	MemoryBIOr]   r^   r_   rR   )r   r-   s   "r   r   r.      s`      -- -- 	
 t $& 
r   c           
         \        V P                  4      ;_uu_ 4        V P                  P                  VVVVVR 7      pRRR4       V#   + '       g   i     X# ; i))r@   rX   r[   N)r   rN   wrap_bio)r2   rl   rm   rX   r@   r[   ssl_objs   &&&&&& r   rp   SSLContext.wrap_bio   sW      		**ii(( /' ) G +  +* s   !A		A	c          	      f  < V ^8  d   QhRS[ S[,          S[P                  S[ ,          ,          S[P                  S[,          ,          R,          RS[ S[,          S[P                  S[ ,          ,          S[P                  S[,          ,          R,          RS[P
                  S[ RR3,          RR/# )r   cafileNcapathcadatar   r   )r^   bytesosPathLiketypingUnion)r   r-   s   "r   r   r.      s     
 
ebkk#..U1CCdJ
 ebkk#..U1CCdJ
 S(D01	

 

r   c                <    V P                   P                  WVR 7      # ))rt   ru   rv   )rN   load_verify_locations)r2   rt   ru   rv   s   &&&&r   r}    SSLContext.load_verify_locations   s%     yy.. / 
 	
r   c                L   < V ^8  d   QhRS[ RS[ R,          RS[R,          RR/# )r   certfilekeyfileNpasswordr   )_StrOrBytesPath_PasswordType)r   r-   s   "r   r   r.      s=     
 
!
 !4'
  $&	

 

r   c                <    V P                   P                  WVR 7      # ))r   r   r   )rN   load_cert_chain)r2   r   r   r   s   &&&&r   r   SSLContext.load_cert_chain   s%     yy(( ) 
 	
r   c                8   < V ^8  d   QhRS[ P                  RR/# )r   purposer   N)r   Purpose)r   r-   s   "r   r   r.      s!     5 5{{5	5r   c                8    V P                   P                  V4      # r0   )rN   load_default_certs)r2   r   s   &&r   r   SSLContext.load_default_certs   s     yy++G44r   c                H   < V ^8  d   QhRS[ P                  S[,          RR/# )r   alpn_protocolsr   Nrz   Iterabler^   )r   r-   s   "r   r   r.      s$     < <1E <$ <r   c                8    V P                   P                  V4      # r0   )rN   set_alpn_protocols)r2   r   s   &&r   r   SSLContext.set_alpn_protocols   s    yy++N;;r   c                H   < V ^8  d   QhRS[ P                  S[,          RR/# )r   npn_protocolsr   Nr   )r   r-   s   "r   r   r.      s$     : :vs/C : :r   c                8    V P                   P                  V4      # r0   )rN   set_npn_protocols)r2   r   s   &&r   r   SSLContext.set_npn_protocols   s    yy**=99r   c                $   < V ^8  d   QhRS[ RR/# )r   _SSLContext__cipherlistr   Nr^   )r   r-   s   "r   r   r.      s     3 3 3 3r   c                8    V P                   P                  V4      # r0   )rN   set_ciphers)r2   r   s   &&r   r   SSLContext.set_ciphers   s    yy$$\22r   c                4   < V ^8  d   QhRS[ P                  /# r+   )rz   Any)r   r-   s   "r   r   r.      s     ' 'VZZ 'r   c                6    V P                   P                  4       # r0   )rN   get_ciphersr1   s   &r   r   SSLContext.get_ciphers   s    yy$$&&r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r+   dictr^   r8   )r   r-   s   "r   r   r.      s     ) )tCH~ )r   c                6    V P                   P                  4       # r0   )rN   session_statsr1   s   &r   r   SSLContext.session_stats   s    yy&&((r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r+   r   )r   r-   s   "r   r   r.      s     $ $$sCx. $r   c                    \        4       hr0   NotImplementedErrorr1   s   &r   cert_store_statsSSLContext.cert_store_stats       !##r   c                   < V ^8  d   QhRR/# r   r   )r   r-   s   "r   r   r.      s     - -$ -r   c                :    V P                   P                  4        R # r0   )rN   set_default_verify_pathsr1   s   &r   r   #SSLContext.set_default_verify_paths   s    		**,r   c                l   < V ^8  d   QhRS[ P                  R,          RS[S[ P                  ,          /# )r   binary_formFr   )rz   Literallistr   )r   r-   s   "r   r   r.      s/      !>>%0	fjj	r   c                    R # r0   r   r2   r   s   &&r   get_ca_certsSSLContext.get_ca_certs   s     r   c                X   < V ^8  d   QhRS[ P                  R,          RS[S[,          /# )r   r   Tr   )rz   r   r   rw   )r   r-   s   "r   r   r.      s     WWt(<WtE{Wr   c                    R # r0   r   r   s   &&r   r   r      s    TWr   c                :   < V ^8  d   QhRS[ RS[P                  /# r   r   r   )r]   rz   r   )r   r-   s   "r   r   r.      s    FFFvzzFr   c                    R # r0   r   r   s   &&r   r   r      s    CFr   c                j   < V ^8  d   QhRS[ RS[S[P                  ,          S[S[,          ,          /# r   )r]   r   rz   r   rw   )r   r-   s   "r   r   r.      s.     $ $ $fjj9IDQVK9W $r   c                    \        4       hr0   r   r   s   &&r   r   r      r   r   c                    < V ^8  d   QhRS[ /# r+   r]   )r   r-   s   "r   r   r.      s     ( ( (r   c                .    V P                   P                  # r0   rN   check_hostnamer1   s   &r   r   SSLContext.check_hostname       yy'''r   c                $   < V ^8  d   QhRS[ RR/# r   valuer   Nr   )r   r-   s   "r   r   r.      s     ) )D )T )r   c                &    WP                   n        R # r0   r   r2   r   s   &&r   r   r      s    #(		 r   c                    < V ^8  d   QhRS[ /# r+   r   )r   r-   s   "r   r   r.      s     5 5T 5r   c                .    V P                   P                  # r0   rN   hostname_checks_common_namer1   s   &r   r   &SSLContext.hostname_checks_common_name   s    yy444r   c                $   < V ^8  d   QhRS[ RR/# r   r   )r   r-   s   "r   r   r.      s     6 6 6$ 6r   c                &    WP                   n        R # r0   r   r   s   &&r   r   r      s    05		-r   c                    < V ^8  d   QhRS[ /# r+   r   )r   r-   s   "r   r   r.      s     ) ) )r   c                .    V P                   P                  # r0   rN   keylog_filenamer1   s   &r   r   SSLContext.keylog_filename       yy(((r   c                $   < V ^8  d   QhRS[ RR/# r   r   )r   r-   s   "r   r   r.      s     * *S *T *r   c                &    WP                   n        R # r0   r   r   s   &&r   r   r      s    $)		!r   c                4   < V ^8  d   QhRS[ P                  /# r+   r   
TLSVersion)r   r-   s   "r   r   r.           ) ) )r   c                .    V P                   P                  # r0   )rN   maximum_versionr1   s   &r   r   SSLContext.maximum_version   r   r   c                8   < V ^8  d   QhRS[ P                  RR/# r   r   )r   r-   s   "r   r   r.           
 
S^^ 
 
r   c                Z    \         P                  P                  V P                  V4       R # r0   )r   r   __set__rN   r   s   &&r   r   r          "22::IIu	
r   c                4   < V ^8  d   QhRS[ P                  /# r+   r   )r   r-   s   "r   r   r.      r   r   c                .    V P                   P                  # r0   )rN   minimum_versionr1   s   &r   r   SSLContext.minimum_version   r   r   c                8   < V ^8  d   QhRS[ P                  RR/# r   r   )r   r-   s   "r   r   r.      r   r   c                Z    \         P                  P                  V P                  V4       R # r0   )r   r   r   rN   r   s   &&r   r   r      r   r   c                4   < V ^8  d   QhRS[ P                  /# r+   r   Options)r   r-   s   "r   r   r.     s     ! ! !r   c                .    V P                   P                  # r0   )rN   optionsr1   s   &r   r   SSLContext.options  s    yy   r   c                8   < V ^8  d   QhRS[ P                  RR/# r   r   )r   r-   s   "r   r   r.     s     
 
S[[ 
T 
r   c                Z    \         P                  P                  V P                  V4       R # r0   )r   r   r   rN   r   s   &&r   r   r     s    "**22IIu	
r   c                    < V ^8  d   QhRS[ /# r+   r   )r   r-   s   "r   r   r.     s     - -T -r   c                .    V P                   P                  # r0   rN   post_handshake_authr1   s   &r   r   SSLContext.post_handshake_auth  s    yy,,,r   c                $   < V ^8  d   QhRS[ RR/# r   r   )r   r-   s   "r   r   r.     s     . . .$ .r   c                &    WP                   n        R # r0   r   r   s   &&r   r   r     s    (-		%r   c                4   < V ^8  d   QhRS[ P                  /# r+   )r   
_SSLMethod)r   r-   s   "r   r   r.     s     " "#.. "r   c                .    V P                   P                  # r0   )rN   r6   r1   s   &r   r6   SSLContext.protocol  s    yy!!!r   c                    < V ^8  d   QhRS[ /# r+   r7   )r   r-   s   "r   r   r.     s     ( ( (r   c                .    V P                   P                  # r0   )rN   security_levelr1   s   &r   r  SSLContext.security_level  r   r   c                4   < V ^8  d   QhRS[ P                  /# r+   r   VerifyFlags)r   r-   s   "r   r   r.     s     & &coo &r   c                .    V P                   P                  # r0   )rN   verify_flagsr1   s   &r   r  SSLContext.verify_flags  s    yy%%%r   c                8   < V ^8  d   QhRS[ P                  RR/# r   r
  )r   r-   s   "r   r   r.   !  s     
 
#// 
d 
r   c                Z    \         P                  P                  V P                  V4       R # r0   )r   r  r   rN   r   s   &&r   r  r     s    "//77IIu	
r   c                4   < V ^8  d   QhRS[ P                  /# r+   r   
VerifyMode)r   r-   s   "r   r   r.   '  s     % %S^^ %r   c                .    V P                   P                  # r0   )rN   verify_moder1   s   &r   r  SSLContext.verify_mode&  s    yy$$$r   c                8   < V ^8  d   QhRS[ P                  RR/# r   r  )r   r-   s   "r   r   r.   +  s     
 
 
D 
r   c                Z    \         P                  P                  V P                  V4       R # r0   )r   r  r   rN   r   s   &&r   r  r  *  s    "..66IIu	
r   )rN   rQ   r0   )FTTNN)FNN)NNN)NN).)F)(rF   rG   rH   rI   __doc__propertyr3   rT   re   rp   r}   r   r   r   SERVER_AUTHr   r   r   r   r   r   r   r   rz   overloadr   r   setterr   r   r   r   r   r   r6   r  r  r  rJ   rK   )r-   s   @r   r   r   M   s    GA A8 8  B $
 

 
 &)[[%<%<5 5
< <: :3 3' ') )$ $- - __   __WW W__FF F$ $ ( ( ) ) 5 5 !''6 (6 ) ) * * ) ) 
 

 ) ) 
 

 ! ! ^^
 

 - - .  . " " ( ( & & 
 

 % % 
 
r   r   c                Z    V ^8  d   QhR\         P                  R\        \        ,          /# r   sslobjr   r   rR   r   rw   )r   s   "r   r   r   6  s"     
 
CMM 
d5k 
r   c                     V P                  4       ;'       g    RpV Uu. uF:  p\        V\        4      '       d   TMVP                  \        P
                  4      NK<  	  up# u upi Nr   )get_unverified_chain
isinstancerw   public_bytes_sslENCODING_DERr   unverified_chaincerts   &  r   _get_unverified_chain_bytesr,  6  sb    !668>>B )
( tU++D1B1B4CTCT1UU(
 	
 
s   A A"c                Z    V ^8  d   QhR\         P                  R\        \        ,          /# r  r!  )r   s   "r   r   r   ?  s&     S SCMM Sd5k Sr   c                     V P                  4       ;'       g    RpV Uu. uF!  q"P                  \        P                  4      NK#  	  up# u upi r#  )r$  r&  r'  r(  r)  s   &  r   r,  r,  ?  sB    !668>>BAQRAQ!!$"3"34AQRRRs   'A	c                    V ^8  d   QhR\         P                  \         P                  ,          R\        R,          RR/# )r   sock_or_sslobjr@   Nr   )r   r`   rR   r^   )r   s   "r   r   r   D  s5      MMCMM1DG$J	r   c                    T p \        VR4      '       g   VP                  pK    \        V4      p\	        V P
                  W1R7       R#   \         d     L1i ; i)zo
Verifies the peer certificates from an SSLSocket or SSLObject
against the certificates in the OS trust store.
r$  r?   N)hasattr_sslobjAttributeErrorr,  r	   context)r0  r@   r   
cert_bytess   &&  r   rC   rC   D  s]     +F&"899^^F :
 -V4J
	  s    A	 	AAc                    V ^8  d   Qh/ ^ \         9   d   \        P                  ;R&   ^\         9   d   \        P                  ;R&   # )r   r   r   )__conditional_annotations__rz   	TypeAlias)r   s   "r   r   r      s:      : X W!! W; < Q Pv P= r   )      )%r8  rb   rx   platformr\   r   sysrO   rz   r'  _ssl_constantsr   r   r   r   system_windowsr   r	   _macos_opensslTYPE_CHECKINGtyping_extensionsr   r^   rw   ry   r   Callabler   r%   r(   r   version_infor,  rC   r   )r8  s   @r   <module>rG     s      	   
 
     ??	!DD__("BBD	( %(%K"++c2B$BR[[QVEW$W W"%+C%K0P"P P@a
3 a
N w
S
r   