+
    @i                     <    ^ 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 ^RIHtHtHtHtHtHtHt ^RIHtHtHtHtHtHt ^RIHtH t H!t!H"t"H#t# ^RI$H%t%H&t&H't'H(t( ^RI)H*t*  ! R R	]PV                  4      t, ! R
 R]PV                  4      t- ! R R]PV                  4      t. ! R R]PV                  4      t/Rt0]! ]04      t1]2! ]1]34      '       g   Q h]Ph                  ! ]14      t5]5Pl                  t7Rt8]9! ]84      ^,          ^ 8X  g   Q h]	Pt                  ! 4       t:]:Pw                  ]84       ]:Py                  4       t=]2! ]=]34      '       g   Q h]5P}                  ]8]R7      t?]2! ]?]34      '       g   Q h]5P}                  ]8]R7      t@]2! ]@]34      '       g   Q h]5P}                  ]8]R7      tA]2! ]A^ ,          ]34      '       g   Q h. tBRR 3R]3R]C3RR 3RR 3RR 3RR 3RR  33 F  w  tDtER!]D9   d   R" tFM]EtFR#]?]R$ 3R%]@]R& 3R']A]R( 33 Fj  w  tGtHtItJR)]7P                  ]83R*]7P                  ]=33 F@  w  tMtNtO]BP                  ]P                  ! ]H]I]J]E]N]OR+P                  ]D]G]M4      R,7      4       KB  	  Kl  	  K  	  ]P                  P                  R-]B4      R. 4       tUR/tV]9! ]V4      ^8X  g   Q h. tWRR0 3R]3R]C3RR1 3RR2 3RR3 3RR4 3RR5 33 F)  w  tDtX]WP                  ]P                  ! ]X]DR,7      4       K+  	  ]P                  P                  R6]W4      R7 4       tYRt0]! ]04      t1]2! ]1]34      '       g   Q h]P                  P                  R6]WRRC 4      R8 4       tZR9t[]P                  P                  R6]W4      R: 4       t\]P                  P                  R6]W4      R; 4       t]]P                  P                  R6]W4      R< 4       t^]P                  P                  R6]W4      R= 4       t_R> t`R? taR@ tbRA tcRB tdR#   ] d	    ^ RIt ELi ; i  ] d    ]t ELi ; i)D    N)VerifyingKey
SigningKeyMalformedPointErrorBadSignatureError)unpemUnexpectedDERencode_sequence
encode_oidencode_bitstringencode_integerencode_octet_string)sigencode_stringsigencode_dersigencode_stringssigdecode_stringsigdecode_dersigdecode_strings)NIST256pCurveBRAINPOOLP160r1Ed25519Ed448)PointPointJacobiCurveFpINFINITY)generator_brainpoolp160r1c                      a  ] tR t^,t o Rt]R 4       tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tRtV tR# )TestVerifyingKeyFromStringzW
Verify that ecdsa.keys.VerifyingKey.from_string() can be used with
bytes-like objects
c                ^    R V n         \        P                  ! V P                   4      V n        R# )s0   LZ
zϗo8}X!h^pIYxao+GvN)	key_bytesr   from_stringvk)clss   &M/var/www/html/photoedit/myenv/lib/python3.14/site-packages/ecdsa/test_keys.py
setUpClass%TestVerifyingKeyFromString.setUpClass2   s&    / 	
 ))#--8    c                t   V P                  V P                  4       V P                  V P                  \        4       V P	                  V P                  P
                  P                  P                  4       R 4       V P	                  V P                  P
                  P                  P                  4       R4       R# )l   !Xp?|}rIWoWeD l   vq.y[Or~Vh]Ip<#'
N)	assertIsNotNoner#   assertIsInstancer   assertEqualpubkeypointxyselfs   &r%   
test_bytes%TestVerifyingKeyFromString.test_bytes;   s    TWW%dgg|4GGNN  ""$E	
 	GGNN  ""$F	
r(   c                    \         P                  ! \        V P                  4      4      pV P	                  V P
                  P                  4       VP                  4       4       R # N)r   r"   bufferr!   r,   r#   	to_stringr2   r#   s   & r%   test_bytes_memoryview0TestVerifyingKeyFromString.test_bytes_memoryviewG   s>    %%fT^^&<=**,blln=r(   c                    \         P                  ! \        V P                  4      4      pV P	                  V P
                  P                  4       VP                  4       4       R # r6   r   r"   	bytearrayr!   r,   r#   r8   r9   s   & r%   test_bytearray)TestVerifyingKeyFromString.test_bytearrayL   s>    %%i&?@**,blln=r(   c                    \         P                  ! \        \        V P                  4      4      4      pV P                  V P                  P                  4       VP                  4       4       R # r6   )r   r"   r7   r>   r!   r,   r#   r8   r9   s   & r%   test_bytesarray_memoryview5TestVerifyingKeyFromString.test_bytesarray_memoryviewQ   sC    %%fYt~~-F&GH**,blln=r(   c                    \         P                   ! R V P                  4      p\        P                  ! V4      pV P	                  V P
                  P                  4       VP                  4       4       R# BNarrayr!   r   r"   r,   r#   r8   r2   arrr#   s   &  r%   test_array_array_of_bytes4TestVerifyingKeyFromString.test_array_array_of_bytesV   I    kk#t~~.%%c***,blln=r(   c                    \         P                   ! R V P                  4      p\        P                  ! \	        V4      4      pV P                  V P                  P                  4       VP                  4       4       R# rE   rH   r!   r   r"   r7   r,   r#   r8   rI   s   &  r%   $test_array_array_of_bytes_memoryview?TestVerifyingKeyFromString.test_array_array_of_bytes_memoryview\   M    kk#t~~.%%fSk2**,blln=r(   c                    \         P                   ! R V P                  4      p\        P                  ! V4      pV P	                  V P
                  P                  4       VP                  4       4       R# INrG   rI   s   &  r%   test_array_array_of_ints3TestVerifyingKeyFromString.test_array_array_of_intsb   rM   r(   c                    \         P                   ! R V P                  4      p\        P                  ! \	        V4      4      pV P                  V P                  P                  4       VP                  4       4       R# rT   rO   rI   s   &  r%   #test_array_array_of_ints_memoryview>TestVerifyingKeyFromString.test_array_array_of_ints_memoryviewh   rR   r(   c                    \         P                  ! R V P                  ,           4      pV P                  V P                  P                  4       VP                  4       4       R#    Nr   r"   r!   r,   r#   r8   r9   s   & r%   test_bytes_uncompressed2TestVerifyingKeyFromString.test_bytes_uncompressedn   s>    %%g&>?**,blln=r(   c                    \         P                  ! \        R V P                  ,           4      4      pV P	                  V P
                  P                  4       VP                  4       4       R# r\   r=   r9   s   & r%   test_bytearray_uncompressed6TestVerifyingKeyFromString.test_bytearray_uncompresseds   sC    %%i$..0H&IJ**,blln=r(   c                    \         P                  ! R V P                  R,          ,           4      pV P                  V P                  P                  4       VP                  4       4       R#    :N   NNr^   r9   s   & r%   test_bytes_compressed0TestVerifyingKeyFromString.test_bytes_compressedx   sC    %%gs0C&CD**,blln=r(   c                    \         P                  ! \        R V P                  R,          ,           4      4      pV P	                  V P
                  P                  4       VP                  4       4       R# re   r=   r9   s   & r%   test_bytearray_compressed4TestVerifyingKeyFromString.test_bytearray_compressed}   sH    %%i$..:M0M&NO**,blln=r(   c                    V P                  \        4      ;_uu_ 4        \        P                  ! R \        4       RRR4       R#   + '       g   i     R# ; i)s   AAAN)assertRaisesr   r   r"   r   r1   s   &r%   .test_ed25519_VerifyingKey_from_string_importedITestVerifyingKeyFromString.test_ed25519_VerifyingKey_from_string_imported   s3    233$$VW5 4333s   AA	 N)__name__
__module____qualname____firstlineno____doc__classmethodr&   r3   r:   r?   rB   rK   rP   rV   rY   r_   rb   rh   rk   ro   __static_attributes____classdictcell____classdict__s   @r%   r   r   ,   sd     
 9 9

>
>
>
>>>>>
>
>
>
6 6r(   r   c                      a  ] tR t^t o Rt]R 4       tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R%t)V t*R&# )'TestVerifyingKeyFromDerzU
Verify that ecdsa.keys.VerifyingKey.from_der() can be used with
bytes-like objects.
c                v   R pRpW n         \        V4      V n        \        V P                  \        4      '       g   Q h\
        P                  ! V4      V n        \        P                  ! V4      V n	        Rp\
        P                  ! V4      V n
        \        P                  ! \        P                  4      V n        R# )-----BEGIN EC PRIVATE KEY-----
MF8CAQEEGF7IQgvW75JSqULpiQQ8op9WH6Uldw6xxaAKBggqhkjOPQMBAaE0AzIA
BLiBd9CE7xf15FY5QIAoNg+fWbSk1yZOYtoGUdzkejWkxbRc9RWTQjqLVXucIJnz
bA==
-----END EC PRIVATE KEY-----
z-----BEGIN PUBLIC KEY-----
MEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEuIF30ITvF/XkVjlAgCg2D59ZtKTX
Jk5i2gZR3OR6NaTFtFz1FZNCOotVe5wgmfNs
-----END PUBLIC KEY-----
z-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4H3iRbG4TSrsSRb/gusPQB/4YcN8
Poqzgjau4kfxBPyZimeRfuY/9g/wMmPuhGl4BUve51DsnKJFRr8psk0ieA==
-----END PUBLIC KEY-----
N)key_pemr   r!   
isinstancebytesr   from_pemr#   r   skvk2generatecurvesk2)r$   prv_key_strkey_strs   &  r%   r&   "TestVerifyingKeyFromDer.setUpClass   s    - 	) 	 g#--////&&w/$$[1) 	 ''0%%bhh/r(   c                    R p\         P                  ! V4      p\         P                  ! R\        R7      pV P	                  W#4       R# )  -----BEGIN PUBLIC KEY-----
MIIBSzCCAQMGByqGSM49AgEwgfcCAQEwLAYHKoZIzj0BAQIhAP////8AAAABAAAA
AAAAAAAAAAAA////////////////MFsEIP////8AAAABAAAAAAAAAAAAAAAA////
///////////8BCBaxjXYqjqT57PrvVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMVAMSd
NgiG5wSTamZ44ROdJreBn36QBEEEaxfR8uEsQkf4vOblY6RA8ncDfYEt6zOg9KE5
RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9QIhAP////8AAAAA
//////////+85vqtpxeehPO5ysL8YyVRAgEBA0IABIr1UkgYs5jmbFc7it1/YI2X
T//IlaEjMNZft1owjqpBYH2ErJHk4U5Pp4WvWq1xmHwIZlsH7Ig4KmefCfR6SmU=
-----END PUBLIC KEY-----sA   RHlW;`Oȕ#0_Z0A`}NOZq|f[8*g	zJer   N)r   r   r"   r   r,   )r2   pub_key_strpkpk_exps   &   r%   &test_load_key_with_explicit_parameters>TestVerifyingKeyFromDer.test_load_key_with_explicit_parameters   sH    ' 	 "";/))$
 
 	$r(   c                    R pV P                  \        4      ;_uu_ 4        \        P                  ! VR.R7       RRR4       R#   + '       g   i     R# ; i)r   named_curvevalid_curve_encodingsN)rn   r   r   r   )r2   r   s   & r%   2test_load_key_with_explicit_with_explicit_disabledJTestVerifyingKeyFromDer.test_load_key_with_explicit_with_explicit_disabled   sC    ' 	 }--!!M? .---   AA	c                   V P                  \        4      ;_uu_ 4       p\        P                  ! V P                  R .R7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)raw)valid_encodingsNzenabled (raw) encodings)rn   r   r   from_derr!   assertInstr	exceptionr2   es   & r%   "test_load_key_with_disabled_format:TestVerifyingKeyFromDer.test_load_key_with_disabled_format   sT    233q!!$..5'J 4 	/Q[[1AB 43s   $A11B	c                    \         P                  ! V P                  \        P                  4      pV P                  VP                  \        P                  4       R # r6   )r   r   r!   hashlibsha256assertIsdefault_hashfuncr9   s   & r%   test_custom_hashfunc,TestVerifyingKeyFromDer.test_custom_hashfunc   s4    ""4>>7>>Bb))7>>:r(   c                    \         P                  ! V P                  \        P                  4      pV P                  VP                  \        P                  4       R # r6   )r   r   r   r   r   r   r   r9   s   & r%   "test_from_pem_with_custom_hashfunc:TestVerifyingKeyFromDer.test_from_pem_with_custom_hashfunc   s4    ""4<<@b))7>>:r(   c                    \         P                  ! V P                  4      pV P                  V P                  P                  4       VP                  4       4       R # r6   )r   r   r!   r,   r#   r8   r9   s   & r%   r3   "TestVerifyingKeyFromDer.test_bytes   s9    ""4>>2**,blln=r(   c                    \         P                  ! \        V P                  4      4      pV P	                  V P
                  P                  4       VP                  4       4       R # r6   )r   r   r7   r!   r,   r#   r8   r9   s   & r%   r:   -TestVerifyingKeyFromDer.test_bytes_memoryview   s>    ""6$..#9:**,blln=r(   c                    \         P                  ! \        V P                  4      4      pV P	                  V P
                  P                  4       VP                  4       4       R # r6   )r   r   r>   r!   r,   r#   r8   r9   s   & r%   r?   &TestVerifyingKeyFromDer.test_bytearray   s>    ""9T^^#<=**,blln=r(   c                    \         P                  ! \        \        V P                  4      4      4      pV P                  V P                  P                  4       VP                  4       4       R # r6   )r   r   r7   r>   r!   r,   r#   r8   r9   s   & r%   rB   2TestVerifyingKeyFromDer.test_bytesarray_memoryview   sC    ""6)DNN*C#DE**,blln=r(   c                    \         P                   ! R V P                  4      p\        P                  ! V4      pV P	                  V P
                  P                  4       VP                  4       4       R# rE   )rH   r!   r   r   r,   r#   r8   rI   s   &  r%   rK   1TestVerifyingKeyFromDer.test_array_array_of_bytes   sI    kk#t~~.""3'**,blln=r(   c                    \         P                   ! R V P                  4      p\        P                  ! \	        V4      4      pV P                  V P                  P                  4       VP                  4       4       R# rE   )rH   r!   r   r   r7   r,   r#   r8   rI   s   &  r%   rP   <TestVerifyingKeyFromDer.test_array_array_of_bytes_memoryview   sM    kk#t~~.""6#;/**,blln=r(   c                r    V P                  V P                  V P                  P                  4       8H  4       R # r6   )
assertTruer#   r   get_verifying_keyr1   s   &r%   test_equality_on_verifying_keys7TestVerifyingKeyFromDer.test_equality_on_verifying_keys  s$    477#<#<#>>?r(   c                V    V P                  V P                  V P                  8H  4       R # r6   )assertFalser#   r   r1   s   &r%   !test_inequality_on_verifying_keys9TestVerifyingKeyFromDer.test_inequality_on_verifying_keys	  s    DHH,-r(   c                B    V P                  V P                  R 8H  4       R # r6   )r   r#   r1   s   &r%   1test_inequality_on_verifying_keys_not_implementedITestVerifyingKeyFromDer.test_inequality_on_verifying_keys_not_implemented  s    D)r(   c                f    V P                  V P                  V P                  P                  4       R # r6   )assertNotEqualr#   r   verifying_keyr1   s   &r%   *test_VerifyingKey_inequality_on_same_curveBTestVerifyingKeyFromDer.test_VerifyingKey_inequality_on_same_curve  s     DGGTXX%;%;<r(   c                R    V P                  V P                  V P                  4       R # r6   )r   r   r   r1   s   &r%   (test_SigningKey_inequality_on_same_curve@TestVerifyingKeyFromDer.test_SigningKey_inequality_on_same_curve  s    DGGTXX.r(   c                V    V P                  V P                  V P                  8H  4       R # r6   )r   r#   r   r1   s   &r%   test_inequality_on_wrong_types6TestVerifyingKeyFromDer.test_inequality_on_wrong_types  s    DGG+,r(   c                B   V P                   P                  P                  p\        VP	                  4       VP                  4       VP                  4       4      p\        P                  ! W P                   P                  4      pV P                  W0P                   8H  4       R # r6   )
r#   r-   r.   r   r   r/   r0   r   from_public_pointr   )r2   pjr.   r#   s   &   r%   test_from_public_point_old2TestVerifyingKeyFromDer.test_from_public_point_old  s_    WW^^!!bhhj"$$&"$$&1++E77==Agg&r(   c                    \         P                  ! \        P                  P	                  4       \        4      p\        VP                  4      pV P                  R V4       R# )zVerifyingKey.from_string(bytearray(b'K\x0c\xfbZH\x8e\x8c\x8c\x07\xee\xda\xfb\xe1\x97\xcd\x90\x18\x02\x15h]\xfe\xbe\xcbB\xba\xe6r\x10\xae\xf1P'), Ed25519, None)N)r   r"   r   	generatorto_bytesreprr   r,   )r2   r   strings   &  r%    test_ed25519_VerifyingKey_repr__8TestVerifyingKeyFromDer.test_ed25519_VerifyingKey_repr__   sK    ##G$5$5$>$>$@'Jb&&'1 	
r(   c                   \         P                  pV P                  \        4      ;_uu_ 4       p\        P
                  ! V\         4       R R R 4       V P                  R\        XP                  4      4       R #   + '       g   i     L7; i)Nzincompatible with Edwards)	r   r   rn   
ValueErrorr   r   r   r   r   )r2   r.   r   s   &  r%   test_edwards_from_public_point6TestVerifyingKeyFromDer.test_edwards_from_public_point,  sX    !!z**a**5': + 	13q{{3CD +*s   A99B		c                    \         P                  ! \        P                  P	                  4       \        4      pVP
                  p\        P                  ! VP                  4       \        4      pVP                  4        V P                  W#4       R # r6   )
r   r"   r   r   r   r   r   r8   
precomputer,   r2   r   r#   r   s   &   r%   &test_edwards_precompute_no_side_effect>TestVerifyingKeyFromDer.test_edwards_precompute_no_side_effect3  s]    ##G$5$5$>$>$@'J&&r||~w?
!r(   c           	        \        \        \        \        P                  !  4      \	        \        \        P                  P                  4       4      ^ 4      \	        R^ 4      4      pV P                  \        4      ;_uu_ 4       p\        P                  ! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r       Nztrailing junk after public key)r	   r
   r   oidr   r   r   r   rn   r   r   r   r   r   r   r2   der_strr   s   &  r%   $test_parse_malfomed_eddsa_der_pubkey<TestVerifyingKeyFromDer.test_parse_malfomed_eddsa_der_pubkey;  s    !J45U7#4#4#=#=#?@!DWa(
 }--!!'* . 	6AKK8HI .-s   CC	c                    V P                  \        4      ;_uu_ 4       p\        P                  ! R R \        4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; ir(   Nzunsupported for Edwards)rn   r   r   from_public_key_recoveryr   r   r   r   r   s   & r%   %test_edwards_from_public_key_recovery=TestVerifyingKeyFromDer.test_edwards_from_public_key_recoveryG  sO    z**a11#sGD + 	/Q[[1AB +*   A**A:	c                    V P                  \        4      ;_uu_ 4       p\        P                  ! R R \        4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; ir   )rn   r   r   $from_public_key_recovery_with_digestr   r   r   r   r   s   & r%   1test_edwards_from_public_key_recovery_with_digestITestVerifyingKeyFromDer.test_edwards_from_public_key_recovery_with_digestM  sR    z**a==S' +
 	/Q[[1AB +*r   c                   R p\         P                  ! V4      pV P                  VP                  \        4       V P                  VP                  \        4       Rp\         P                  ! V\        4      pV P                  W$4       R# )q-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAIwBQ0NZkIiiO41WJfm5BV42u3kQm7lYnvIXmCy8qy2U=
-----END PUBLIC KEY-----
    # Pd"(U~nAWD&V'/*eN)	r   r   r+   r   r   r   r   r"   r,   )r2   vk_pemr#   vk_strvk_2s   &    r%   test_load_ed25519_from_pem2TestVerifyingKeyFromDer.test_load_ed25519_from_pemU  sq    ) 	 ""6*bhh.bhh(P 	
 ''8"r(   c                    R p\         P                  ! V\        4      pRpV P                  W2P	                  4       4       R# )r   sq   -----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAIwBQ0NZkIiiO41WJfm5BV42u3kQm7lYnvIXmCy8qy2U=
-----END PUBLIC KEY-----
N)r   r"   r   r,   to_pemr2   r   r#   r   s   &   r%   test_export_ed255_to_pem0TestVerifyingKeyFromDer.test_export_ed255_to_pemj  sA    P 	
 %%fg6* 	 	-r(   c                    R p\         P                  ! V\        4      pRpV P                  W2P	                  4       4       R# )r   sQ   ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMAUNDWZCIojuNViX5uQVeNrt5EJu5WJ7yF5gsvKstl
N)r   r"   r   r,   to_ssh)r2   r   r#   vk_sshs   &   r%   test_export_ed255_to_ssh0TestVerifyingKeyFromDer.test_export_ed255_to_sshz  s:    P 	
 %%fg6f-r(   c                    \         P                  ! \        4      pVP                  p\        P
                  ! VP                  4       4      pV P                  W#4       R # r6   )r   r   r   r   r   r   r  r,   r   s   &   r%   test_ed25519_export_import2TestVerifyingKeyFromDer.test_ed25519_export_import  sA      )##BIIK0!r(   c                ~    R p\         P                  ! V4      pRpRpV P                  VP                  WC4      4       R# )r      data
s@   dGj3yEl PǏ`u/'ӖXF\P)խF<hMꍨyNr   r   r   verifyr2   r   r#   datasigs   &    r%   test_ed25519_sig_verify/TestVerifyingKeyFromDer.test_ed25519_sig_verify  sE    ) 	 ""6*P 	 			#,-r(   c                    R p\         P                  ! V4      pRpRpV P                  \        4      ;_uu_ 4        VP	                  WC4       RRR4       R#   + '       g   i     R# ; i)r   r  s@   Gj3yEl PǏ`u/'ӖXF\P)խF<hMꍨyN)r   r   rn   r   r  r  s   &    r%   !test_ed25519_sig_verify_malformed9TestVerifyingKeyFromDer.test_ed25519_sig_verify_malformed  s]    ) 	 ""6*P 	 011IIc  2111s   AA'	c                   R p\         P                  ! V4      pV P                  VP                  \        4       V P                  VP                  \        4       Rp\         P                  ! V\        4      pV P                  W$4       R# )-----BEGIN PUBLIC KEY-----
MEMwBQYDK2VxAzoAeQtetSu7CMEzE+XWB10Bg47LCA0giNikOxHzdp+tZ/eK/En0
dTdYD2ll94g58MhSnBiBQB9A1MMA
-----END PUBLIC KEY-----
9   y^+3] ؤ;vgIu7Xie9R@@ N)	r   r   r+   r   r   r   r   r"   r,   )r2   pem_strr#   r   r   s   &    r%   test_ed448_from_pem+TestVerifyingKeyFromDer.test_ed448_from_pem  sp    ) 	 ""7+bhh.bhh&4 	 &&vu5!r(   c                    R p\         P                  ! V\        4      pRpV P                  W2P	                  4       4       R# )r  s   -----BEGIN PUBLIC KEY-----
MEMwBQYDK2VxAzoAeQtetSu7CMEzE+XWB10Bg47LCA0giNikOxHzdp+tZ/eK/En0dTdYD2ll94g5
8MhSnBiBQB9A1MMA
-----END PUBLIC KEY-----
N)r   r"   r   r,   r  r  s   &   r%   test_ed448_to_pem)TestVerifyingKeyFromDer.test_ed448_to_pem  s@    4 	 %%fe4* 	 	-r(   c                    \         P                  ! \        4      pVP                  p\        P
                  ! VP                  4       4      pV P                  W#4       R # r6   )r   r   r   r   r   r   r  r,   r   s   &   r%   test_ed448_export_import0TestVerifyingKeyFromDer.test_ed448_export_import  sA      '##BIIK0!r(   c                ~    R p\         P                  ! V4      pRpRpV P                  VP                  WC4      4       R# )r  r  sr   h,p5"5Q3= To0WE>Q`jC_28k	 x{]~1?0/U!L-LbS0fK@Э
 Nr  )r2   r  r#   r  r  s   &    r%   test_ed448_sig_verify-TestVerifyingKeyFromDer.test_ed448_sig_verify  sD    ) 	 ""7+ 	 			#,-r(   rq   N)+rr   rs   rt   ru   rv   rw   r&   r   r   r   r   r   r3   r:   r?   rB   rK   rP   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r!  r$  r'  rx   ry   rz   s   @r%   r}   r}      s     
 0 0>%0"C;
;
>
>
>
>
>>@.*=/-'

E"
JCC#*. 
.".*!,"0.$". .r(   r}   c                      a  ] tR tRt o Rt]R 4       tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t Rt!V t"R# ) TestSigningKeyi  zS
Verify that ecdsa.keys.SigningKey.from_der() can be used with
bytes-like objects.
c                    R p\         P                  ! V4      V n        Rp\         P                  ! V4      V n        Rp\         P                  ! V4      V n        R# )r   z-----BEGIN PRIVATE KEY-----
MG8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEVTBTAgEBBBheyEIL1u+SUqlC6YkE
PKKfVh+lJXcOscWhNAMyAAS4gXfQhO8X9eRWOUCAKDYPn1m0pNcmTmLaBlHc5Ho1
pMW0XPUVk0I6i1V7nCCZ82w=
-----END PRIVATE KEY-----
z-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIKlL2EAm5NPPZuXwxRf4nXMk0A80y6UUbiQ17be/qFhRoAoGCCqGSM49
AwEHoUQDQgAE4H3iRbG4TSrsSRb/gusPQB/4YcN8Poqzgjau4kfxBPyZimeRfuY/
9g/wMmPuhGl4BUve51DsnKJFRr8psk0ieA==
-----END EC PRIVATE KEY-----
N)r   r   sk1	sk1_pkcs8r   )r$   r   s   & r%   r&   TestSigningKey.setUpClass  s\    - 	 %%k2* 	 #++K8- 	 %%k2r(   c                ^    V P                  V P                  P                  R R7      R4       R# )pkcs8formatsq   0o0*H=*H=U0S^BRB<V%wš42 wЄV9@(6Y&NbQz5Ŵ\B:U{ lN)r,   r,  to_derr1   s   &r%   test_to_der_pkcs8 TestSigningKey.test_to_der_pkcs8)  s'    HHOO7O+$	
r(   c                    R p\         P                  ! V4      p\         P                  ! R\        R7      pV P	                  W#4       R# ):  -----BEGIN PRIVATE KEY-----
MIIBeQIBADCCAQMGByqGSM49AgEwgfcCAQEwLAYHKoZIzj0BAQIhAP////8AAAAB
AAAAAAAAAAAAAAAA////////////////MFsEIP////8AAAABAAAAAAAAAAAAAAAA
///////////////8BCBaxjXYqjqT57PrvVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMV
AMSdNgiG5wSTamZ44ROdJreBn36QBEEEaxfR8uEsQkf4vOblY6RA8ncDfYEt6zOg
9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9QIhAP////8A
AAAA//////////+85vqtpxeehPO5ysL8YyVRAgEBBG0wawIBAQQgIXtREfUmR16r
ZbmvDGD2lAEFPZa2DLPyz0czSja58yChRANCAASK9VJIGLOY5mxXO4rdf2CNl0//
yJWhIzDWX7daMI6qQWB9hKyR5OFOT6eFr1qtcZh8CGZbB+yIOCpnnwn0ekpl
-----END PRIVATE KEY-----
s    !{Q&G^e`=G3J6 r   N)r   r   r"   r   r,   )r2   r   r   r   s   &   r%   'test_decoding_explicit_curve_parameters6TestSigningKey.test_decoding_explicit_curve_parameters4  sH    	* 	   -$$ 	
 	!r(   c                    R pV P                  \        4      ;_uu_ 4        \        P                  ! VR.R7       RRR4       R#   + '       g   i     R# ; i)r7  r   r   N)rn   r   r   r   )r2   r   s   & r%   >test_decoding_explicit_curve_parameters_with_explicit_disabledMTestSigningKey.test_decoding_explicit_curve_parameters_with_explicit_disabledM  sC    	* 	 }--M? .---r   c                   \         P                  ! V P                  P                  P                  V P                  P
                  4      pV P                  V P                  V4       V P                  V P                  V4       R # r6   )r   from_secret_exponentr,  privkeysecret_multiplierr   r,   r-  r2   r   s   & r%   test_equality_on_signing_keys,TestSigningKey.test_equality_on_signing_keys`  sY    ,,HH..
 	2&,r(   c                    V P                   P                  R 4      pV P                  V4       V P                   P                  pV P                  VP	                  VR 4      4       R# )r(   N)r,  signr   r   r  r2   r  r#   s   &  r%   test_verify_with_empty_message-TestSigningKey.test_verify_with_empty_messageg  sF    hhmmC XX##		#s+,r(   c                    V P                   P                  R 4      pV P                   P                  pVP                  4        V P	                  VP                  VR 4      4       R# )   messageN)r,  rE  r   r   r   r  rF  s   &  r%   test_verify_with_precompute*TestSigningKey.test_verify_with_precomputep  sC    hhmmJ'XX##
		#z23r(   c                    V P                   P                  pVP                  4        V P                  P                  pV P	                  W4       R # r6   )r,  r   r   r-  r,   )r2   vk1r   s   &  r%   *test_compare_verifying_key_with_precompute9TestSigningKey.test_compare_verifying_key_with_precomputey  s8    hh$$nn**"r(   c                    V P                   P                  R 4      pV P                   P                  pVP                  RR7       V P	                  VP                  VR 4      4       R# )s   other messageT)lazyN)r   rE  r   r   r   r  rF  s   &  r%    test_verify_with_lazy_precompute/TestSigningKey.test_verify_with_lazy_precompute  sJ    hhmm,-XX##
4 		#'789r(   c                R    V P                  V P                  V P                  4       R # r6   )r   r,  r   r1   s   &r%   test_inequality_on_signing_keys.TestSigningKey.test_inequality_on_signing_keys  s    DHHdhh/r(   c                >    V P                  V P                  R 4       R # r6   )r   r,  r1   s   &r%   /test_inequality_on_signing_keys_not_implemented>TestSigningKey.test_inequality_on_signing_keys_not_implemented  s    DHHd+r(   c                    R p\         P                  ! V4      p\         P                  ! R\        4      pV P	                  W#4       R# )w-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEIDS6x9FO1PG8T4xIPg8Zd0z8uL6sVGZFEZrX17gHC/XU
-----END PRIVATE KEY-----
    4NOH>wLTfE׸N)r   r   r"   r   r,   r2   r  r   sk_strs   &   r%   test_ed25519_from_pem$TestSigningKey.test_ed25519_from_pem  sG    * 	   )''P
 	$r(   c           	        \        \        ^4      \        \        \        P                  !  \        ^4      4      \        \        R4      4      4      pV P                  \        4      ;_uu_ 4       p\        P                  ! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)   NzNon NULL parameters    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr	   r   r
   r   r   r   rn   r   r   r   r   r   r   r   s   &  r%   'test_ed25519_from_der_bad_alg_id_params6TestSigningKey.test_ed25519_from_der_bad_alg_id_params  s    !1J4nQ6GH 3I >?
 }--( . 	+S-=> .-s   .B44C	c           	        \        \        ^4      \        \        \        P                  !  4      \        \        R4      R,           4      4      pV P                  \        4      ;_uu_ 4       p\        P                  ! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)rc     BNz+trailing junk after the encoded private keyrd  re  r   s   &  r%   )test_ed25519_from_der_junk_after_priv_key8TestSigningKey.test_ed25519_from_der_junk_after_priv_key  s    !1GKK(   3I > EF
 }--( . 	93q{{;K	
 .-s   +B11C	c                    \         P                  ! R \        4      pRpVP                  V\        R7      pV P                  VR4       R# )r]  rJ  	sigencodes@   ,v>%~>&
a@|`X@<7%i{}ݱ|
})"+E N)r   r"   r   rE  r   r,   )r2   r_  msgr  s   &   r%   test_ed25519_sign TestSigningKey.test_ed25519_sign  sK    ''P
 kk#k7D	
r(   c                   \         P                  ! R \        4      pV P                  \        4      ;_uu_ 4       pVP                  R4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; ir]  NMethod unsupported for Edwardss   aaaaaaaaaaaaaaaaaaaa)	r   r"   r   rn   r   sign_digest_deterministicr   r   r   r2   r_  r   s   &  r%   &test_ed25519_sign_digest_deterministic5TestSigningKey.test_ed25519_sign_digest_deterministic  sf    ''P

 z**a,,Y7 + 	6AKK8HI +*   A::B
	c                   \         P                  ! R \        4      pV P                  \        4      ;_uu_ 4       pVP                  R4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; irs  )	r   r"   r   rn   r   sign_digestr   r   r   rv  s   &  r%   test_ed25519_sign_digest'TestSigningKey.test_ed25519_sign_digest  sf    ''P

 z**ay) + 	6AKK8HI +*ry  c                   \         P                  ! R \        4      pV P                  \        4      ;_uu_ 4       pVP                  ^4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r]  Nrt  )	r   r"   r   rn   r   sign_numberr   r   r   rv  s   &  r%   test_ed25519_sign_number'TestSigningKey.test_ed25519_sign_number  sf    ''P

 z**ar" + 	6AKK8HI +*ry  c                   R p\         P                  ! V4      pV P                  \        4      ;_uu_ 4       pVP	                  RR7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r\  ssleayr1  NzOnly PKCS#8 format)r   r   rn   r   r3  r   r   r   )r2   r  r   r   s   &   r%   test_ed25519_to_der_ssleay)TestSigningKey.test_ed25519_to_der_ssleay  sg    * 	   )z**aIIXI& + 	*C,<= +*s   A88B	c                    \         P                  ! R \        4      pRpV P                  VP	                  RR7      V4       R# )r]  sw   -----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEIDS6x9FO1PG8T4xIPg8Zd0z8uL6sVGZFEZrX17gHC/XU
-----END PRIVATE KEY-----
r0  r1  N)r   r"   r   r,   r  r2   r   r  s   &  r%   test_ed25519_to_pem"TestSigningKey.test_ed25519_to_pem  sB    ##P
+ 	 	'2G<r(   c                    \         P                  ! R \        4      pRpV P                  VP	                  4       V4       R# )r]  s  -----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUx
OQAAACAjAFDQ1mQiKI7jVYl+bkFXja7eRCbuVie8heYLLyrLZQAAAIgAAAAAAAAAAAAAAAtzc2gt
ZWQyNTUxOQAAACAjAFDQ1mQiKI7jVYl+bkFXja7eRCbuVie8heYLLyrLZQAAAEA0usfRTtTxvE+M
SD4PGXdM/Li+rFRmRRGa19e4Bwv11CMAUNDWZCIojuNViX5uQVeNrt5EJu5WJ7yF5gsvKstlAAAA
AAECAwQF
-----END OPENSSH PRIVATE KEY-----
N)r   r"   r   r,   r  )r2   r   ssh_strs   &  r%   test_ed25519_to_ssh"TestSigningKey.test_ed25519_to_ssh  s=    ##P
3 	 	g.r(   c                    \         P                  ! \        4      p\         P                  ! VP	                  R R7      4      pV P                  W4       R# r0  r1  N)r   r   r   r   r  r,   r2   r   decodeds   &  r%   test_ed25519_to_and_from_pem+TestSigningKey.test_ed25519_to_and_from_pem   s;      )%%biiwi&?@%r(   c                |    \         P                  ! \        \        P                  R 7      pV P                  V4       R# ))entropyN)r   r   r   osurandomr*   rA  s   & r%   test_ed25519_custom_entropy*TestSigningKey.test_ed25519_custom_entropy'  s&      "**=R r(   c                    V P                  \        4      ;_uu_ 4       p\        P                  ! R \        R7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)iIr   Nz don't support setting the secret)rn   r   r   r>  r   r   r   r   r   s   & r%   !test_ed25519_from_secret_exponent0TestSigningKey.test_ed25519_from_secret_exponent,  sM    z**a++JgF + 	8#akk:JK +*r   c                    R p\         P                  ! V4      p\         P                  ! R\        4      pV P	                  W#4       R# )z-----BEGIN PRIVATE KEY-----
MEcCAQAwBQYDK2VxBDsEOTyFuXqFLXgJlV8uDqcOw9nG4IqzLiZ/i5NfBDoHPzmP
OP0JMYaLGlTzwovmvCDJ2zLaezu9NLz9aQ==
-----END PRIVATE KEY-----
9   <z-x	_..&_:?98	1T 2{;4iN)r   r   r"   r   r,   r^  s   &   r%   r  "TestSigningKey.test_ed448_from_pem2  sH    * 	   )''4 
 	$r(   c                    \         P                  ! R \        4      pRpV P                  VP	                  RR7      V4       R# )r  s   -----BEGIN PRIVATE KEY-----
MEcCAQAwBQYDK2VxBDsEOTyFuXqFLXgJlV8uDqcOw9nG4IqzLiZ/i5NfBDoHPzmPOP0JMYaLGlTz
wovmvCDJ2zLaezu9NLz9aQ==
-----END PRIVATE KEY-----
r0  r1  N)r   r"   r   r,   r  r  s   &  r%   r!   TestSigningKey.test_ed448_to_pemE  sC    ##4 
+ 	 	'2G<r(   c                    \         P                  ! \        4      p\         P                  ! VP	                  R R7      4      pV P                  W!4       R# r  )r   r   r   r   r  r,   r  s   &  r%   test_ed448_encode_decode'TestSigningKey.test_ed448_encode_decodeV  s;      '%%biiwi&?@%r(   rq   N)#rr   rs   rt   ru   rv   rw   r&   r4  r8  r;  rB  rG  rK  rO  rS  rV  rY  r`  rf  rj  rp  rw  r|  r  r  r  r  r  r  r  r  r!  r  rx   ry   rz   s   @r%   r*  r*    s     
 3 38	
"2&--4#:0,%"
?
 
$	J	J	J>=/&&!
L%&="& &r(   r*  c                   T   a  ] tR tRt o ]R 4       tR tR tR tR t	R t
R tR	tV tR
# )TestTrivialCurvei^  c           	         \        ^^T^:4      p\        V^^W^^RR7      p\        RWR4      V n        \        P
                  ! ^V P                  \        P                  R7      V n        R# )   T)r   toy_p8)hashfuncN)rc     r   )	r   r   r   	toy_curver   r>  r   sha1r   )r$   r   gens   &  r%   r&   TestTrivialCurve.setUpClass_  sY     R$%B3$?hI>00MM\\
r(   c                    V P                   P                  pV P                  WP                  4       ,          \        4       R # r6   )r  r   r,   orderr   )r2   r  s   & r%   test_generator_sanity&TestTrivialCurve.test_generator_sanityq  s*    nn&&yy{*H5r(   c                n    V P                  V P                  P                  P                  4       R 4       R# )s   N)r,   r   r   r8   r1   s   &r%   test_public_key_sanity'TestTrivialCurve.test_public_key_sanityv  s%    ..88:KHr(   c                    V P                   P                  R 4      pV P                  VR4       V P                  V P                   P                  P                  VR 4      4       R# )rJ  s   -.Nr   sign_deterministicr,   r   r   r  )r2   r  s   & r%   test_deterministic_sign(TestTrivialCurve.test_deterministic_signy  sI    gg((4e$--44S*EFr(   c                   \         P                  ! ^ 4      pV P                  P                  V4      pV P	                  \        V4      ^4       V P                  V P                  P                  P                  W!4      4       R# )    N)	r  r  r   r  r,   lenr   r   r  r2   ro  r  s   &  r%   &test_deterministic_sign_random_message7TestTrivialCurve.test_deterministic_sign_random_message  sX    jjngg((-S1%--44S>?r(   c                    R pV P                   P                  V4      pV P                  VR4       V P                  V P                   P                  P                  W!4      4       R# )s    Os   6Nr  r  s   &  r%   /test_deterministic_sign_that_rises_R_zero_error@TestTrivialCurve.test_deterministic_sign_that_rises_R_zero_error  sN     gg((-k*--44S>?r(   c                    R pV P                   P                  V4      pV P                  VR4       V P                  V P                   P                  P                  W!4      4       R# )s   ms   IlNr  r  s   &  r%   /test_deterministic_sign_that_rises_S_zero_error@TestTrivialCurve.test_deterministic_sign_that_rises_S_zero_error  sL    gg((-k*--44S>?r(   rq   N)rr   rs   rt   ru   rw   r&   r  r  r  r  r  r  rx   ry   rz   s   @r%   r  r  ^  s@     
 
"6
IG@@@ @r(   r  r   sd   some string for signingcontents don't really matterbut do include also some crazy values:  	
   rm  r   c                     V # r6   rq   r/   s   &r%   <lambda>r        r(   zbytes memoryviewr>   zbytearray memoryviewc                 *    \        \        V 4      4      # r6   r7   r>   r  s   &r%   r  r        vil';r(   zarray.array of bytesc                 0    \         P                   ! R V 4      # rF   rH   r  s   &r%   r  r        u{{3':r(   zarray.array of bytes memoryviewc                 B    \        \        P                  ! R V 4      4      # r  r7   rH   r  s   &r%   r  r        &S!9L2Mr(   zarray.array of intsc                 0    \         P                   ! R V 4      # rU   r  r  s   &r%   r  r        ekk#q&9r(   zarray.array of ints memoryviewc                 B    \        \        P                  ! R V 4      4      # r  r  r  s   &r%   r  r        C8K1Lr(   intsc                     V # r6   rq   r  s   &r%   r  r    s    r(   r   c                     \        V 4      # r6   convr  s   &r%   r  r    s    T!Wr(   derc                     \        V 4      # r6   r  r  s   &r%   r  r    s    $q'r(   stringsc                 Z    \         ;QJ d    . R  V  4       F  NK  	  5# ! R  V  4       4      # )c              3   8   "   T F  p\        V4      x  K  	  R # 5ir6   r  ).0is   & r%   	<genexpr><lambda>.<locals>.<genexpr>  s     /QDGGQs   )tupler  s   &r%   r  r    s     ee/Q/e/e/Q//r(   r  verify_digestz{2}-{0}-{1})idz1signature,decoder,mod_apply,fun,vrf_mthd,vrf_datac                 F    V! V 4      pV! Wc! V4      VR 7      '       g   Q hR# ))	sigdecodeNrq   )	signaturedecoder	mod_applyfunvrf_mthdvrf_datar  s   &&&&&& r%   test_VerifyingKey_verifyr    s'     I
CCX'::::r(   s   ^BRB<V%wc                     V # r6   rq   r  s   &r%   r  r    r  r(   c                 *    \        \        V 4      4      # r6   r  r  s   &r%   r  r    r  r(   c                 0    \         P                   ! R V 4      # r  r  r  s   &r%   r  r    r  r(   c                 B    \        \        P                  ! R V 4      4      # r  r  r  s   &r%   r  r    r  r(   c                 0    \         P                   ! R V 4      # r  r  r  s   &r%   r  r    r  r(   c                 B    \        \        P                  ! R V 4      4      # r  r  r  s   &r%   r  r    r  r(   convertc                     V ! \         4      p\        P                  ! V4      pVP                  4       \         8X  g   Q hR # r6   )prv_key_bytesr   r"   r8   r  keyr   s   &  r%   test_SigningKey_from_stringr     s0    
-
 C				$B<<>]***r(   c                     V ! \         4      p\        P                  ! V4      pVP                  4       \        8X  g   Q hR # r6   )r!   r   r   r8   r  r  s   &  r%   test_SigningKey_from_derr    s0    
)
C			S	!B<<>]***r(   s   
c                     \         P                  V ! \        4      V ! \        4      R 7      p\        P                  V\        4       R# )extra_entropyN)r   r  r  r  r#   r  r  r  s   & r%   "test_SigningKey_sign_deterministicr    s5    


W]%;   C IIc4r(   c                     \         P                  V ! \        4      V ! \        4      R 7      p\        P                  V\        4       R# r  )r   ru  	data_hashr  r#   r  r  r  s   & r%   )test_SigningKey_sign_digest_deterministicr
  (  s6    

&
&	'-*@ ' C IIc4r(   c                 x    \         P                  V ! \        4      4      p\        P	                  V\        4       R # r6   )r   rE  r  r#   r  r  s   & r%   test_SigningKey_signr  1  s"    
'''$-
 CIIc4r(   c                 x    \         P                  V ! \        4      4      p\        P	                  V\
        4       R # r6   )r   r{  r	  r#   r  r  r  s   & r%   test_SigningKey_sign_digestr  8  s#    
..+
,CIIc4r(   c                      \         P                  ! \        P                  ^,
          \        R7      p V P                  pV P                  R4      pVP                  VR4      '       g   Q hR# )rc  r   s   helloN)r   r>  r   r  r   rE  r  )r   r#   r  s      r%   #test_SigningKey_with_unlikely_valuer  ?  sM    		(	(!);8	LB			B
''(
C99S(####r(   c                  t   \         p \        V P                  4       V P                  4       V P	                  4       V P                  4       4      p \        R V P                  4       V R4      p\        P                  ! ^V4      p\        P                  ! ^\        4      pVP                  VP                  8X  g   Q hR# )r   N)
rc     $   r  r  r     rc  rc  rc  )r   r   r   r/   r0   r  r   r   r>  r   r?  )r   r   r   r   s       r%   +test_SigningKey_with_custom_curve_old_pointr  F  s    )I	I '	E 
	(	(U	3B

)
)"o
>C::$$$r(   c                      \         P                  ! ^\        4      p \         P                  ! ^\        4      pV P                  VP                  8X  d   Q hR# r  N)r   r>  r   r   r   r,  r   s     r%   2test_VerifyingKey_inequality_with_different_curvesr  ]  sC    

)
)!_
=C

)
)!X
6C!!S%6%66776r(   c                      \         P                  ! ^\        4      p \         P                  ! ^\        4      pV P                  VP                  8X  d   Q hR# r  )r   r>  r   r   r  s     r%   9test_VerifyingKey_inequality_with_different_secret_pointsr  d  sC    

)
)!_
=C

)
)!_
=C!!S%6%66776r(   c                  d    R p \         P                  ! V 4      pVP                  \        8X  g   Q hR# )z-----BEGIN PRIVATE KEY-----
    MFMCAQEwBQYDK2VwBCIEICc2F2ag1n1QP0jY+g9qWx5sDkx0s/HdNi3cSRHw+zsI
    oSMDIQA+HQ2xCif8a/LMWR2m5HaCm5I2pKe/cc8OiRANMHxjKQ==
    -----END PRIVATE KEY-----N)r   r   r   r   )pemr   s     r%   &test_SigningKey_from_pem_pkcs8v2_EdDSAr  k  s-    !C
 
		S	!B88wr(   )e	unittest2unittestImportErrorr7   	NameError
memoryviewr  rH   pytestr   keysr   r   r   r   r  r   r   r	   r
   r   r   r   utilr   r   r   r   r   r   curvesr   r   r   r   r   ellipticcurver   r   r   r   ecdsar   TestCaser   r}   r*  r  r   r!   r   r   r   r   r   r#   r  r  r  updatedigestr	  rE  sig_rawsig_dersig_strings	verifiersr>   modifierr  r  
sig_formatr  r  r  r  r  method_namer  r  appendparamr2  markparametrizer  r  
convertersr  r   r  r  r  r
  r  r  r  r  r  r  r  rq   r(   r%   <module>r:     s   
 
        E D @ @ ,X6!2!2 X6v|.h// |.~U&X&& U&p
4@x(( 4@r%  +	)U## ###*  4y1} ||~ D KKM	)U## ##
''$"2'
3'5!! !!
''$-'
0'5!! !!ggd&7g8+a.%(( ((	k );<:;&(MN9:%'LM	MHc 	)+<=	(9:/		
	61
Iw	 ryy$'b..	:0
+K8 $++Hj+N
	0
	6	R 7;;#  =R 
k );<:;&(MN9:%'LM	Hg fll7x89	 J/+ 0+%  +	)U## ## JsO4+ 5+ 4 J/ 0 J/ 0 J/ 0 J/ 0$%.88Q#  
  Fs"   O< P <P
P	PP