+
    -•üiÓ  ã                   óÚ   € ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt  ! R R]	4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )é    )Údefault_backend)Úhashes)ÚecÚutils)ÚCryptographyPrivateKeyÚCryptographyPublicKey)Ú	Algorithm©ÚDNSKEYc                   ó„   a € ] tR t^
t o ]P
                  tV 3R lR ltV 3R lR lt]	V 3R lR l4       t
V 3R ltRtV tR	# )
ÚPublicECDSAc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   Ú	signatureÚdataÚreturnN©Úbytes)ÚformatÚ__classdict__s   "€ÚR/var/www/html/photoedit/myenv/lib/python3.14/site-packages/dns/dnssecalgs/ecdsa.pyÚ__annotate__ÚPublicECDSA.__annotate__   s"   ø€ ÷ ?ñ ?¡ð ?©Uð ?°tñ ?ó    c                ó2  € V^ V P                    pWP                   R p\        P                  ! \        P	                  VR4      \        P	                  VR4      4      pV P
                  P                  WR\        P                  ! V P                  4      4       R# )r   NÚbig)
Úoctetsr   Úencode_dss_signatureÚintÚ
from_bytesÚkeyÚverifyr   ÚECDSAÚchosen_hash)Úselfr   r   Úsig_rÚsig_sÚsigs   &&&   r   r"   ÚPublicECDSA.verify   sn   € Ø˜!˜dŸk™kÐ*ˆØŸ+™+˜-Ð(ˆÜ×(Ò(ÜN‰N˜5 %Ó(¬#¯.©.¸ÀÓ*Fó
ˆð 	‰‰˜¤2§8¢8¨D×,<Ñ,<Ó#=Ö>r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   r   )r   r   s   "€r   r   r      s   ø€ ÷ Uñ U¡%ñ Ur   c                óØ   € V P                   P                  4       pVP                  P                  V P                  R4      VP
                  P                  V P                  R4      ,           # )z,Encode a public key per RFC 6605, section 4.r   )r!   Úpublic_numbersÚxÚto_bytesr   Úy)r%   Úpns   & r   Úencode_key_bytesÚPublicECDSA.encode_key_bytes   sE   € àX‰X×$Ñ$Ó&ˆØt‰t}‰}˜TŸ[™[¨%Ó0°2·4±4·=±=ÀÇÁÈeÓ3TÕTÐTr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r!   r   r   r
   )r   r   s   "€r   r   r       s   ø€ ÷ 

ñ 

™fð 

¨ñ 

r   c           
     ó|  € V P                  V4       VP                  ^ V P                   pVP                  V P                  V P                  ^,           pV ! \        P                  ! V P
                  \        P                  VR4      \        P                  VR4      R7      P                  \        4       4      R7      # )r   r   )Úcurver-   r/   ©r!   )
Ú!_ensure_algorithm_key_combinationr!   r   r   ÚEllipticCurvePublicNumbersr5   r   r    Ú
public_keyr   )Úclsr!   Úecdsa_xÚecdsa_ys   &&  r   Úfrom_dnskeyÚPublicECDSA.from_dnskey   s   € à×-Ñ-¨cÔ2Ø—'‘'˜!˜cŸj™jÐ)ˆØ—'‘'˜#Ÿ*™* s§z¡z°A¥~Ð6ˆÙÜ×-Ò-Ø—i‘iÜ—.‘. ¨%Ó0Ü—.‘. ¨%Ó0ô÷ ‰jœÓ*Ó+ô
ð 	
r   c                ó’   <€ V ^8„  d   Qh/ S[ P                  ;R&   S[;R&   S[P                  ;R&   S[ P
                  ;R&   S[;R&   # )r   r!   Ú	algorithmr$   r5   r   )r   ÚEllipticCurvePublicKeyr	   r   ÚHashAlgorithmÚEllipticCurver   )r   r   s   "€r   r   r   
   sU   ø‡ ‚ Ù	×	"Ñ	"Ñ"ñ ñ Ññ ñ ×%Ñ%Ñ%ñ	 ñ
 ×ÑÑñ ñ Kò r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rA   Úkey_clsr"   r1   Úclassmethodr=   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   
   sA   ø‡ € à×'Ñ'€G÷?ð ?÷Uð Uð
 ÷

ó ð

÷- ƒ r   r   c                   óz   a € ] tR t^-t o ]P
                  t]tRV 3R lR llt	]
V 3R lR l4       tV 3R ltRtV tR# )	ÚPrivateECDSAc                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[ /# )r   r   r"   Údeterministicr   )r   Úbool)r   r   s   "€r   r   ÚPrivateECDSA.__annotate__2   s3   ø€ ÷ ñ áðñ ðñ ð	ñ
 
ñr   c                óÈ  € \         P                  ! V P                  P                  VR7      pV P                  P                  W4      p\        P                  ! V4      w  rg\        P                  W`P                  P                  RR7      \        P                  WpP                  P                  RR7      ,           pV'       d    V P                  4       P                  W4       V# )z1Sign using a private key per RFC 6605, section 4.)Údeterministic_signingr   )ÚlengthÚ	byteorder)r   r#   Ú
public_clsr$   r!   Úsignr   Údecode_dss_signaturer   r.   r   r9   r"   )	r%   r   r"   rR   r@   Úder_signatureÚdsa_rÚdsa_sr   s	   &&&&     r   rZ   ÚPrivateECDSA.sign2   s¯   € ô —H’HØO‰O×'Ñ'Ø"/ô
ˆ	ð Ÿ™Ÿ™ dÓ6ˆÜ×1Ò1°-Ó@‰ˆÜ—L‘LØŸ/™/×0Ñ0¸Eð !ó 
äL‰LØŸ/™/×0Ñ0¸Eð ó 
õ
ˆ	÷
 ØO‰OÓ×$Ñ$ YÔ5ØÐr   c                ó   <€ V ^8„  d   QhRR/# )r   r   rP   rD   )r   r   s   "€r   r   rT   I   s   ø€ ÷ 
ñ 
˜ñ 
r   c                óx   € V ! \         P                  ! V P                  P                  \	        4       R 7      R7      # ))r5   Úbackendr6   )r   Úgenerate_private_keyrY   r5   r   )r:   s   &r   ÚgenerateÚPrivateECDSA.generateH   s/   € áÜ×'Ò'Ø—n‘n×*Ñ*´OÓ4Eôô
ð 	
r   c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # )r   r!   )r   ÚEllipticCurvePrivateKey)r   r   s   "€r   r   rT   -   s   ø‡ ‚ Ù	×	#Ñ	#Ñ#ò r   rD   N)FT)rE   rF   rG   rH   r   rg   rI   r   rY   rZ   rJ   rd   rK   rL   rM   rN   s   @r   rP   rP   -   s:   ø‡ € à×(Ñ(€GØ€J÷ò ð, ÷
ó ð
÷9 ƒ r   rP   c                   óv   € ] tR t^Qt]P
                  t]P                  ! 4       t	]
P                  ! 4       t^ tRtR# )ÚPublicECDSAP256SHA256rD   N)rE   rF   rG   rH   r	   ÚECDSAP256SHA256r@   r   ÚSHA256r$   r   Ú	SECP256R1r5   r   rL   rD   r   r   ri   ri   Q   ó(   † Ø×)Ñ)€IØ—-’-“/€KØLŠL‹N€EØ„Fr   ri   c                   ó   € ] tR t^Xt]tRtR# )ÚPrivateECDSAP256SHA256rD   N)rE   rF   rG   rH   ri   rY   rL   rD   r   r   ro   ro   X   ó   † Ø&„Jr   ro   c                   óv   € ] tR t^\t]P
                  t]P                  ! 4       t	]
P                  ! 4       t^0tRtR# )ÚPublicECDSAP384SHA384rD   N)rE   rF   rG   rH   r	   ÚECDSAP384SHA384r@   r   ÚSHA384r$   r   Ú	SECP384R1r5   r   rL   rD   r   r   rr   rr   \   rm   r   rr   c                   ó   € ] tR t^ct]tRtR# )ÚPrivateECDSAP384SHA384rD   N)rE   rF   rG   rH   rr   rY   rL   rD   r   r   rw   rw   c   rp   r   rw   N)Úcryptography.hazmat.backendsr   Úcryptography.hazmat.primitivesr   Ú)cryptography.hazmat.primitives.asymmetricr   r   Údns.dnssecalgs.cryptographyr   r   Údns.dnssectypesr	   Údns.rdtypes.ANY.DNSKEYr   r   rP   ri   ro   rr   rw   rD   r   r   Ú<module>r~      sc   ðÝ 8Ý 1ß ?ç UÝ %Ý )ô 
Ð'ô  
ôF!
Ð)ô !
ôH˜Kô ô'˜\ô 'ô˜Kô ô'˜\ö 'r   