Ë
    ìO´jW,  ã                   óª  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZddl	m
Z
mZmZmZ  ej                  «       dk(  r	ddlmZmZ n% ej                  «       dk(  r	ddlmZmZ nddlmZmZ ej(                  rd dlmZ eez  ej2                  e   z  ej2                  e   z  Zej6                  ed<   eez  ej:                  g eez  f   z  Zej6                  ed	<   dd„Zdd„Z  G d„ de«      Z!ejD                  dk\  rdejF                  d
e$e   fd„Z%ndejF                  d
e$e   fd„Z%dejL                  ejF                  z  dedz  d
dfd„Z'y)é    Né   )Ú_original_SSLContextÚ_original_super_SSLContextÚ#_truststore_SSLContext_dunder_classÚ"_truststore_SSLContext_super_classÚWindows)Ú_configure_contextÚ_verify_peercerts_implÚDarwin)ÚBufferÚ_StrOrBytesPathÚ_PasswordTypeÚreturnc                  ó:  — t        t        dt        «       	 ddlmc m}  t        | dt        «       	 ddl}t        |j                  dd«      }|�/t        |j                  dt        t        j                  «      «       yy# t        $ r Y ŒYw xY w# t        $ r Y yw xY w)zqInjects the :class:`truststore.SSLContext` into the ``ssl``
    module by replacing :class:`ssl.SSLContext`.
    Ú
SSLContextr   NÚ_preloaded_ssl_context)ÚsetattrÚsslr   Úurllib3.util.ssl_ÚutilÚssl_ÚImportErrorÚrequests.adaptersÚgetattrÚadaptersÚPROTOCOL_TLS_CLIENT)Úurllib3_sslÚrequestsÚpreloaded_contexts      úf/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/truststore/_api.pyÚinject_into_sslr!   "   sš   € ô ŒC�œzÔ*ðß/Ð/ä�˜\¬:Ô6ðÛ ä# H×$5Ñ$5Ð7OÐQUÓVÐØÐ(ÜØ×!Ñ!Ø(Üœ3×2Ñ2Ó3õð )øô ò Ùðûô" ò Ùðús#   —A? ²AB Á?	BÂ
BÂ	BÂBc                  óv   — t        t        dt        «       	 ddlmc m}  t        | _        y# t        $ r Y yw xY w)z@Restores the :class:`ssl.SSLContext` class to its original stater   r   N)r   r   r   r   r   r   r   r   )r   s    r    Úextract_from_sslr#   B   s4   € äŒC�Ô3Ô4ðß/Ð/ä!5ˆÕøÜò Ùðús   —, ¬	8·8c                   óÜ  — e Zd ZdZedefd„«       ZdBdeddfd„Z	 	 	 	 	 dCd	e	j                  d
e
de
de
dedz  dej                  dz  dej                  fd„Z	 	 	 dDdej                   dej                   d
e
dedz  dej                  dz  dej"                  fd„Z	 	 	 dEdeez  ej*                  e   z  ej*                  e   z  dz  deez  ej*                  e   z  ej*                  e   z  dz  dej.                  eddf   ddfd„Z	 	 dFdededz  dedz  ddfd„Zej8                  j:                  fdej8                  ddfd„Zdej>                  e   ddfd„Z d ej>                  e   ddfd!„Z!d"eddfd#„Z"dejF                  fd$„Z$de%eef   fd%„Z&de%eef   fd&„Z'dGd'„Z(ejR                  	 dHd(ejT                  d   de+ejF                     fd)„«       Z,ejR                  dHd(ejT                  d   de+e   fd*„«       Z,ejR                  dHd(e
dejF                  fd+„«       Z,dId(e
de+ejF                     e+e   z  fd,„Z,ede
fd-„«       Z-e-j\                  d.e
ddfd/„«       Z-ede
fd0„«       Z/e/j\                  d.e
ddfd1„«       Z/edefd2„«       Z0e0j\                  d.eddfd3„«       Z0edejb                  fd4„«       Z2e2j\                  d.ejb                  ddfd5„«       Z2edejb                  fd6„«       Z3e3j\                  d.ejb                  ddfd7„«       Z3edejh                  fd8„«       Z5e5j\                  d.ejh                  ddfd9„«       Z5ede
fd:„«       Z6e6j\                  d.e
ddfd;„«       Z6edejn                  fd<„«       Z8edefd=„«       Z9edejt                  fd>„«       Z;e;j\                  d.ejt                  ddfd?„«       Z;edejx                  fd@„«       Z=e=j\                  d.ejx                  ddfdA„«       Z=y)Jr   z=SSLContext API that uses system certificates on all platformsr   c                 ó   — t         xs t        S ©N)r   r   ©Úselfs    r    Ú	__class__zSSLContext.__class__P   s   € ô
 3Ò@´jÐ@ó    NÚprotocolc                 óª   — t        |«      | _        t        j                  «       | _         G d„ dt
        j                  «      }|| j                  _        y )Nc                   ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ú0SSLContext.__init__.<locals>.TruststoreSSLObjectc                 óR   •— t         ‰| �  «       }t        | | j                  ¬«       |S )N©Úserver_hostname)ÚsuperÚdo_handshakeÚ_verify_peercertsr1   )r(   Úretr)   s     €r    r3   z=SSLContext.__init__.<locals>.TruststoreSSLObject.do_handshake`   s%   ø€ Ü‘gÑ*Ó,�Ü! $¸×8LÑ8LÕMØ�
r*   ©r   N)Ú__name__Ú
__module__Ú__qualname__r3   Ú__classcell__)r)   s   @r    ÚTruststoreSSLObjectr.   [   s   ø„ ÷
ñ r*   r;   )r   Ú_ctxÚ	threadingÚLockÚ	_ctx_lockr   Ú	SSLObjectÚsslobject_class)r(   r+   r;   s      r    Ú__init__zSSLContext.__init__W   s:   € Ü(¨Ó2ˆŒ	Ü"Ÿ™Ó)ˆŒô	¤#§-¡-ô 	ð %8ˆ�	‰	Õ!r*   FTÚsockÚserver_sideÚdo_handshake_on_connectÚsuppress_ragged_eofsr1   Úsessionc           	      ó|  — t        j                  «       5 }| j                  5  |j                  t	        | j
                  «      «       d d d «       | j
                  j                  ||||||¬«      }d d d «       	 t        |¬«       |S # 1 sw Y   ŒBxY w# 1 sw Y   Œ%xY w# t        $ r j                  «        ‚ w xY w)N)rD   r1   rE   rF   rG   r0   )
Ú
contextlibÚ	ExitStackr?   Úenter_contextr	   r<   Úwrap_socketr4   Ú	ExceptionÚclose)	r(   rC   rD   rE   rF   r1   rG   ÚstackÚssl_socks	            r    rL   zSSLContext.wrap_socketg   s¿   € ô ×!Ñ!Ó#ð 	 uØ—‘ñ CØ×#Ñ#Ô$6°t·y±yÓ$AÔB÷Cð —y‘y×,Ñ,ØØ'Ø /Ø(?Ø%9Øð -ó ˆH÷		ð	Ü˜h¸ÕHð ˆ÷!Cð Cú÷	ð 	ûô ò 	Ø�N‰NÔØð	ús.   •B¢%BÁ)BÁ9B  ÂB	ÂBÂBÂ B;ÚincomingÚoutgoingc                 óœ   — t        | j                  «      5  | j                  j                  |||||¬«      }d d d «       |S # 1 sw Y   S xY w)N)r1   rD   rG   )r	   r<   Úwrap_bio)r(   rQ   rR   rD   r1   rG   Ússl_objs          r    rT   zSSLContext.wrap_bioˆ   sV   € ô   §	¡	Ó*ñ 	Ø—i‘i×(Ñ(ØØØ /Ø'Øð )ó ˆG÷	ð ˆ÷	ð ˆús   –!AÁAÚcafileÚcapathÚcadatar   c                 ó>   — | j                   j                  |||¬«      S )N)rV   rW   rX   )r<   Úload_verify_locations)r(   rV   rW   rX   s       r    rZ   z SSLContext.load_verify_locationsš   s'   € ð �y‰y×.Ñ.Ø &°ð /ó 
ð 	
r*   ÚcertfileÚkeyfileÚpasswordc                 ó>   — | j                   j                  |||¬«      S )N)r[   r\   r]   )r<   Úload_cert_chain)r(   r[   r\   r]   s       r    r_   zSSLContext.load_cert_chain¤   s'   € ð �y‰y×(Ñ(Ø w¸ð )ó 
ð 	
r*   Úpurposec                 ó8   — | j                   j                  |«      S r&   )r<   Úload_default_certs)r(   r`   s     r    rb   zSSLContext.load_default_certs®   s   € ð �y‰y×+Ñ+¨GÓ4Ð4r*   Úalpn_protocolsc                 ó8   — | j                   j                  |«      S r&   )r<   Úset_alpn_protocols)r(   rc   s     r    re   zSSLContext.set_alpn_protocols³   s   € Ø�y‰y×+Ñ+¨NÓ;Ð;r*   Únpn_protocolsc                 ó8   — | j                   j                  |«      S r&   )r<   Úset_npn_protocols)r(   rf   s     r    rh   zSSLContext.set_npn_protocols¶   s   € Ø�y‰y×*Ñ*¨=Ó9Ð9r*   Ú_SSLContext__cipherlistc                 ó8   — | j                   j                  |«      S r&   )r<   Úset_ciphers)r(   ri   s     r    rk   zSSLContext.set_ciphers¹   s   € Ø�y‰y×$Ñ$ \Ó2Ð2r*   c                 ó6   — | j                   j                  «       S r&   )r<   Úget_ciphersr'   s    r    rm   zSSLContext.get_ciphers¼   s   € Ø�y‰y×$Ñ$Ó&Ð&r*   c                 ó6   — | j                   j                  «       S r&   )r<   Úsession_statsr'   s    r    ro   zSSLContext.session_stats¿   s   € Ø�y‰y×&Ñ&Ó(Ð(r*   c                 ó   — t        «       ‚r&   ©ÚNotImplementedErrorr'   s    r    Úcert_store_statszSSLContext.cert_store_statsÂ   ó   € Ü!Ó#Ð#r*   c                 ó8   — | j                   j                  «        y r&   )r<   Úset_default_verify_pathsr'   s    r    rv   z#SSLContext.set_default_verify_pathsÅ   s   € Ø�	‰	×*Ñ*Õ,r*   Úbinary_formc                  ó   — y r&   © ©r(   rw   s     r    Úget_ca_certszSSLContext.get_ca_certsÈ   s   € ð r*   c                  ó   — y r&   ry   rz   s     r    r{   zSSLContext.get_ca_certsÍ   s   € ØTWr*   c                  ó   — y r&   ry   rz   s     r    r{   zSSLContext.get_ca_certsÐ   s   € ØCFr*   c                 ó   — t        «       ‚r&   rq   rz   s     r    r{   zSSLContext.get_ca_certsÓ   rt   r*   c                 ó.   — | j                   j                  S r&   ©r<   Úcheck_hostnamer'   s    r    r�   zSSLContext.check_hostnameÖ   ó   € à�y‰y×'Ñ'Ð'r*   Úvaluec                 ó&   — || j                   _        y r&   r€   ©r(   rƒ   s     r    r�   zSSLContext.check_hostnameÚ   s   € à#(ˆ�	‰	Õ r*   c                 ó.   — | j                   j                  S r&   ©r<   Úhostname_checks_common_namer'   s    r    rˆ   z&SSLContext.hostname_checks_common_nameÞ   s   € à�y‰y×4Ñ4Ð4r*   c                 ó&   — || j                   _        y r&   r‡   r…   s     r    rˆ   z&SSLContext.hostname_checks_common_nameâ   s   € à05ˆ�	‰	Õ-r*   c                 ó.   — | j                   j                  S r&   ©r<   Úkeylog_filenamer'   s    r    rŒ   zSSLContext.keylog_filenameæ   ó   € à�y‰y×(Ñ(Ð(r*   c                 ó&   — || j                   _        y r&   r‹   r…   s     r    rŒ   zSSLContext.keylog_filenameê   s   € à$)ˆ�	‰	Õ!r*   c                 ó.   — | j                   j                  S r&   )r<   Úmaximum_versionr'   s    r    r�   zSSLContext.maximum_versionî   r�   r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r�   Ú__set__r<   r…   s     r    r�   zSSLContext.maximum_versionò   ó   € ä"×2Ñ2×:Ñ:Ø�I‰I�uõ	
r*   c                 ó.   — | j                   j                  S r&   )r<   Úminimum_versionr'   s    r    r•   zSSLContext.minimum_versionø   r�   r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r•   r’   r<   r…   s     r    r•   zSSLContext.minimum_versionü   r“   r*   c                 ó.   — | j                   j                  S r&   )r<   Úoptionsr'   s    r    r˜   zSSLContext.options  s   € à�y‰y× Ñ Ð r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r˜   r’   r<   r…   s     r    r˜   zSSLContext.options  s   € ä"×*Ñ*×2Ñ2Ø�I‰I�uõ	
r*   c                 ó.   — | j                   j                  S r&   ©r<   Úpost_handshake_authr'   s    r    rœ   zSSLContext.post_handshake_auth  s   € à�y‰y×,Ñ,Ð,r*   c                 ó&   — || j                   _        y r&   r›   r…   s     r    rœ   zSSLContext.post_handshake_auth  s   € à(-ˆ�	‰	Õ%r*   c                 ó.   — | j                   j                  S r&   )r<   r+   r'   s    r    r+   zSSLContext.protocol  s   € à�y‰y×!Ñ!Ð!r*   c                 ó.   — | j                   j                  S r&   )r<   Úsecurity_levelr'   s    r    r    zSSLContext.security_level  r‚   r*   c                 ó.   — | j                   j                  S r&   )r<   Úverify_flagsr'   s    r    r¢   zSSLContext.verify_flags  s   € à�y‰y×%Ñ%Ð%r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r¢   r’   r<   r…   s     r    r¢   zSSLContext.verify_flags   s   € ä"×/Ñ/×7Ñ7Ø�I‰I�uõ	
r*   c                 ó.   — | j                   j                  S r&   )r<   Úverify_moder'   s    r    r¥   zSSLContext.verify_mode&  s   € à�y‰y×$Ñ$Ð$r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r¥   r’   r<   r…   s     r    r¥   zSSLContext.verify_mode*  s   € ä"×.Ñ.×6Ñ6Ø�I‰I�uõ	
r*   r&   )FTTNN)FNN)NNN)NNr6   ).)F)>r7   r8   r9   Ú__doc__ÚpropertyÚtyper)   ÚintrB   ÚsocketÚboolÚstrr   Ú
SSLSessionÚ	SSLSocketrL   Ú	MemoryBIOr@   rT   ÚbytesÚosÚPathLikeÚtypingÚUnionrZ   r   r   r_   ÚPurposeÚSERVER_AUTHrb   ÚIterablere   rh   rk   ÚAnyrm   Údictro   rs   rv   ÚoverloadÚLiteralÚlistr{   r�   Úsetterrˆ   rŒ   Ú
TLSVersionr�   r•   ÚOptionsr˜   rœ   Ú
_SSLMethodr+   r    ÚVerifyFlagsr¢   Ú
VerifyModer¥   ry   r*   r    r   r   M   sï  „ ÙGàðA˜4ò Aó ðAñ8 ð 8°ó 8ð& "Ø(,Ø%)Ø&*Ø)-ñà�m‰mðð ðð "&ð	ð
 #ðð ˜t™ðð —‘ $Ñ&ðð 
�‰óðJ "Ø&*Ø)-ñà—-‘-ðð —-‘-ðð ð	ð
 ˜t™ðð —‘ $Ñ&ðð 
�‰óð( NRØMQØ48ñ	
à�e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð �e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð —‘˜S (¨DÐ0Ñ1ð	
ð
 
ó
ð +/Ø)-ñ	
à!ð
ð ! 4Ñ'ð
ð   $Ñ&ð	
ð
 
ó
ð &)§[¡[×%<Ñ%<ñ5Ø—{‘{ð5à	ó5ð
<°·±ÀÑ1Eð <È$ó <ð:¨v¯©¸sÑ/Cð :Èó :ð3¨ð 3°ó 3ð'˜VŸZ™Zó 'ð)˜t C¨ H™~ó )ð$ $ s¨C x¡.ó $ó-ð ‡_�_à36ñØ!Ÿ>™>¨%Ñ0ðà	ˆf�j‰jÑ	òó ðð ‡_�_ÙW¨¯©°tÑ(<ÐWÀtÈEÁ{ÒWó ØWà‡_�_ÙF¨ÐF°v·z±zÒFó ØFñ$¨ð $¸¸f¿j¹jÑ9IÈDÐQVÉKÑ9Wó $ð ð( ò (ó ð(ð ×Ñð) Dð )¨Tò )ó ð)ð ð5¨Tò 5ó ð5ð !×'Ñ'ð6°ð 6¸$ò 6ó (ð6ð ð) ò )ó ð)ð ×Ñð* Sð *¨Tò *ó ð*ð ð) §¡ò )ó ð)ð ×Ñð
 S§^¡^ð 
¸ò 
ó ð
ð
 ð) §¡ò )ó ð)ð ×Ñð
 S§^¡^ð 
¸ò 
ó ð
ð
 ð!˜Ÿ™ò !ó ð!ð ‡^�^ð
˜SŸ[™[ð 
¨Tò 
ó ð
ð
 ð- Tò -ó ð-ð ×Ñð.¨ð .°$ò .ó  ð.ð ð"˜#Ÿ.™.ò "ó ð"ð ð( ò (ó ð(ð ð&˜cŸo™oò &ó ð&ð ×Ñð
 #§/¡/ð 
°dò 
ó ð
ð
 ð%˜SŸ^™^ò %ó ð%ð ×Ñð
 §¡ð 
°Dò 
ó ñ
r*   r   )é   é   Ússlobjc                 ó²   — | j                  «       xs d}|D �cg c]3  }t        |t        «      r|n|j                  t        j
                  «      ‘Œ5 c}S c c}w ©Nry   )Úget_unverified_chainÚ
isinstancer±   Úpublic_bytesÚ_sslÚENCODING_DER©rÆ   Úunverified_chainÚcerts      r    Ú_get_unverified_chain_bytesrÑ   6  sW   € Ø!×6Ñ6Ó8Ò>¸BÐð )ö
àô ˜t¤UÔ+‰D°×1BÑ1BÄ4×CTÑCTÓ1UÑUò
ð 	
ùò 
s   ™8Ac                 óŽ   — | j                  «       xs d}|D �cg c]!  }|j                  t        j                  «      ‘Œ# c}S c c}w rÈ   )rÉ   rË   rÌ   rÍ   rÎ   s      r    rÑ   rÑ   ?  s;   € Ø!×6Ñ6Ó8Ò>¸BÐØAQÖR¸�×!Ñ!¤$×"3Ñ"3Õ4ÒRÐRùÒRs   ™&AÚsock_or_sslobjr1   c                 ó¸   — | }	 t        |d«      s|j                  }t        |d«      sŒt        |«      }t	        | j
                  ||¬«       y# t        $ r Y Œ/w xY w)z{
    Verifies the peer certificates from an SSLSocket or SSLObject
    against the certificates in the OS trust store.
    rÉ   r0   N)ÚhasattrÚ_sslobjÚAttributeErrorrÑ   r
   Úcontext)rÓ   r1   rÆ   Ú
cert_bytess       r    r4   r4   D  sd   € ð +€FðÜ˜&Ð"8Ô9Ø—^‘^ˆFô ˜&Ð"8Õ9ô
 -¨VÓ4€JÜØ×Ñ 
¸Oöøô	 ò Ùðús   „$A Á	AÁAr6   )(rI   r²   Úplatformr«   r   Úsysr=   r´   rÌ   Ú_ssl_constantsr   r   r   r   ÚsystemÚ_windowsr	   r
   Ú_macosÚ_opensslÚTYPE_CHECKINGÚtyping_extensionsr   r­   r±   r³   r   Ú	TypeAliasÚ__annotations__ÚCallabler   r!   r#   r   Úversion_infor@   r½   rÑ   r¯   r4   ry   r*   r    ú<module>rç      sX  ðÜ Û 	Û Û Û 
Û 
Û Û ã ÷ó ð €8‡?�?Ó˜	Ò!ßDÐDØ€X‡_�_Ó˜(Ò"ßBÐBçDà	×ÒÝ(ð %(¨%¡K°"·+±+¸cÑ2BÑ$BÀRÇ[Á[ÐQVÑEWÑ$W€�×!Ñ!Ó WØ"%¨¡+°·±ÀÀCÈ%ÁKÀÑ0PÑ"P€ˆv×ÑÓ Póó@ôa
Ð3ô a
ðN ×Ñ�wÒð
¨C¯M©Mð 
¸dÀ5¹kô 
ðS¨C¯M©Mð S¸dÀ5¹kó Sð
Ø—M‘M C§M¡MÑ1ðØDGÈ$ÁJðà	ôr*   