1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Ë
ž¬`iÕFãó—ddlZddlZddlZddlmZddlmZddlmZddl    m
Z
ddl m Z ddlm Z ddlmZmZmZGd    „d
ej$«ZGd „d ej$«Zifd „Zedk(rd„Zej0d¬«yy)éN)Ú    unhexlify)ÚHPKE)ÚDeserializeError)ÚECC)Úlist_test_cases)ÚDH)ÚSHA256ÚSHA384ÚSHA512có—eZdZejd¬«Zejd¬«ZddddddœZd    „Zd
„Z    d „Z
d „Z d „Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)Ú
HPKE_TestsÚp256©ÚcurveéAéaé…é é8)rÚp384Úp521Ú
curve25519Úcurve448cóþ—tj|¬«}|}tj|j    «|¬«}|j t |j«|j|«|jdd¬«}tj|||j¬«}|j|d¬«}|j d|«|jd«}|j|«}    |j d|    «y)Nr©Ú receiver_keyÚaead_idóABCóDEF©Ú    auth_data©rrÚencsGHI) rÚgeneraterÚnewÚ
public_keyÚ assertEqualÚlenr#ÚcurvesÚsealÚunseal)
ÚselfrrÚkey1Ú    encryptorÚctÚ    decryptorÚptÚct2Úpt2s
          õuH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Protocol/test_HPKE.pyÚ
round_tripzHPKE_Tests.round_tripsր܏|‰| %Ô(ˆØˆä—H‘H¨$¯/©/Ó*;Ø%,ô.ˆ    à ×Ñœ˜YŸ]™]Ó+¨T¯[©[¸Ñ-?Ô@ð^‰^˜F¨fˆ^Ó 5ˆä—H‘H¨$Ø%,Ø!*§¡ô0ˆ    ð× Ñ ˜b¨FÐ Ó 3ˆØ ×ј Ô$ðn‰n˜VÓ$ˆØ×јsÓ#ˆØ ×ј Õ%ócó—|jj«D])}tjD]}|j    ||«ŒŒ+y©N)r)ÚkeysrÚAEADr5)r,rrs   r4Útest_round_tripzHPKE_Tests.test_round_trip5s?€Ø—[‘[×%Ñ%Ó'ò    0ˆEÜŸ9™9ò 0Ø—‘  wÕ/ñ 0ñ    0r6có˜—tjj}tj|jj «|d¬«y)N)óas cccccccccccccccccccccccccccccccc)rrÚpsk©rr:Ú
AES128_GCMr%r-r&©r,rs  r4Útest_pskzHPKE_Tests.test_psk:s2€Ü—)‘)×&Ñ&ˆÜ ‰˜dŸi™i×2Ñ2Ó4Ø Ø&ö    (r6có˜—tjj}tj|jj «|d¬«y)Nsbaba)rrÚinfor?rAs  r4Ú    test_infozHPKE_Tests.test_info@s2€Ü—)‘)×&Ñ&ˆÜ ‰˜dŸi™i×2Ñ2Ó4Ø Øö    r6cóH—tjd¬«}|jt«5}t    j
|j «tjj¬«ddd«|jdtj««y#1swYŒ/xYw)NÚp224rrzUnsupported curve) rr$Ú assertRaisesÚ
ValueErrorrr%r&r:r@ÚassertInÚstrÚ    exception©r,Úkey3Úcms   r4Útest_neg_unsupported_curvez%HPKE_Tests.test_neg_unsupported_curveFsq€Ü|‰| &Ô)ˆØ × Ñ œzÓ *ð    3¨bÜ H‰H $§/¡/Ó"3Ü!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ Ð)¬3¨r¯|©|Ó+<Õ=÷    3ð    3ús ¬>BÂB!có*—|jt«5}tj|j|j
tj j¬«ddd«|jdtj««y#1swYŒ/xYw)N©rÚ
sender_keyrzExactly 1 private key) rHrIrr%r-Úkey2r:r@rJrKrL©r,rOs  r4Útest_neg_too_many_private_keysz)HPKE_Tests.test_neg_too_many_private_keysMsg€Ø × Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)Ø $§    ¡    Ü!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ Ð-¬s°2·<±<Ó/@ÕA÷        3ð    3ús –AB        Bcó^—tjd¬«}|jt«5}t    j
|j j«|tjj¬«ddd«|jdtj««y#1swYŒ/xYw)NrrrRzbut recipient key) rr$rHrIrr%r-r&r:r@rJrKrLrMs   r4Útest_neg_curve_mismatchz"HPKE_Tests.test_neg_curve_mismatchTsz€Ü|‰| &Ô)ˆØ × Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)×"6Ñ"6Ó"8Ø $Ü!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ Ð)¬3¨r¯|©|Ó+<Õ=÷        3ð    3ús ¬A    B#Â#B,cóú—|jt«5}tj|jj «dtj j¬«ddd«|jt«5}tj|jj «dtj j¬«ddd«|jt«5}tj|jj «dtj j¬«ddd«|jdtj««y#1swYŒûxYw#1swYŒ¡xYw#1swYŒGxYw)N)r6s GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG)rr>r)óJJJr6)rZsYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYz at least 32) rHrIrr%r-r&r:r@rJrKrLrUs  r4Ú test_neg_pskzHPKE_Tests.test_neg_psk\s€Ø × Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)×"6Ñ"6Ó"8Ø)Ü!ŸY™Y×1Ñ1õ 3÷    3ð
× Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)×"6Ñ"6Ó"8Ø&Ü!ŸY™Y×1Ñ1õ 3÷    3ð
× Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)×"6Ñ"6Ó"8Ø,Ü!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ m¤S¨¯©Ó%6Õ7÷    3ð    3ú÷
    3ð    3ú÷
    3ð    3ús&–A    EÁ<A    E%Ã"A    E1ÅE"Å%E.Å1E:có`—d}|jt«5tj|jtj
j |¬«ddd«|jt«5}tj|jj«|jj«jd¬«tj
j ¬«ddd«|jdtj««|jt«5}tj|jtj
j ¬«ddd«|jdt|j««y#1swYŒ:xYw#1swYŒ¸xYw#1swYŒHxYw)    NsAÿ8888888888888888888888888888888888888888888888888888888888888888r"Úraw©Úformat)rr#rz'enc' cannot be an inputrz'enc' required) rHrrr%r-r:r@rIr&Ú
export_keyrJrKrL)r,Ú    wrong_encrOs   r4Útest_neg_wrong_enczHPKE_Tests.test_neg_wrong_encms2€Ø'ˆ    Ø × Ñ Ô/Ó 0ñ    $Ü H‰H $§)¡)Ü!ŸY™Y×1Ñ1Ø"õ $÷    $ð
× Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)×"6Ñ"6Ó"8ØŸ™×-Ñ-Ó/×:Ñ:À%Ð:ÓHÜ!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ Ð0´#°b·l±lÓ2CÔDà × Ñ œzÓ *ð    3¨bÜ H‰H $§)¡)Ü!ŸY™Y×1Ñ1õ 3÷    3ð      ‰ Ð&¬¨B¯L©LÓ(9Õ:÷    $ñ    $ú÷
    3ð    3ú÷     3ð    3ús$˜;F Á0A1FÄ#:F$Æ FÆF!Æ$F-có>—tj|jtjj|j
j «jd¬«¬«}|jt«5|jd«ddd«y#1swYyxYw)Nr]r^r"s<XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZ) rr%r-r:ÚCHACHA20_POLY1305rTr&r`rHrIr+)r,r0s  r4Útest_neg_unseal_wrong_ctz#HPKE_Tests.test_neg_unseal_wrong_ctsu€Ü—H‘H¨$¯)©)Ü%)§Y¡Y×%@Ñ%@Ø!%§¡×!5Ñ!5Ó!7×!BÑ!BÈ%Ð!BÓ!PôRˆ    ð× Ñ œzÓ *ñ    *Ø × Ñ ˜[Ô )÷    *÷    *ñ    *ús Á8BÂBcóŠ—tjj}tj|jj «|¬«}|j dd¬«}tj|j||j¬«}|jt«5|j|«ddd«y#1swYyxYw)Nrrrr r") rr:rdr%r-r&r*r#rHrIr+)r,rr.r/r0s     r4Útest_neg_unseal_no_auth_dataz'HPKE_Tests.test_neg_unseal_no_auth_data‡s–€Ü—)‘)×-Ñ-ˆä—H‘H¨$¯)©)×*>Ñ*>Ó*@Ø%,ô.ˆ    ð^‰^˜F¨fˆ^Ó 5ˆä—H‘H¨$¯)©)Ø%,Ø!*§¡ô0ˆ    ð× Ñ œzÓ *ñ    !Ø × Ñ ˜RÔ  ÷    !÷    !ñ    !ús ÂB9Â9Ccó—d}tjtj|««}d}tj|«}d}tj|«}d}tj|«}d}    tj|    «}
d} tj| «} d} tj| «}d}tj|«}tj
j }t    j||||¬    «}|j||
«}|j||«|j|| «}|j||«y)
NÚ@4612c550263fc8ad58375df3f557aac531d26850903e55a9f23f21d8534e8ac8Ú:4265617574792069732074727574682c20747275746820626561757479ÚZf938558b5d72f1a23810b4be2ab4f84331acc02fc97babc53a52ae8218a355a96d8770ac83d07bea87e13c512aÚ@37fda3567bdbd628e88668c3c8d7e97d1d1253b6d4ea6d44c150f741f1bf4431Ú436f756e742d30Ú436f756e742d31Ú(4f6465206f6e2061204772656369616e2055726eÚZaf2d7e9ac9ae7e270f46ba1f975be53c09f8d875bdc8535458c2494e8a6eab251c03d0c22a56b8ca42c2063b84)rrrDr#©
rÚimport_x25519_private_keyÚbytesÚfromhexrr:r@r%r+r')r,ÚkeyR_hexÚkeyRÚpt_hexr1Úct0_hexÚct0Úenc_hexr#Úaad0_hexÚaad0Úaad1_hexÚaad1Úinfo_hexrDÚct1_hexÚct1rr0Úpt_X0Úpt_X1s                     r4Útest_x25519_mode_0zHPKE_Tests.test_x25519_mode_0–s€ðVˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàMˆÜ ]‰]˜6Ó "ˆànˆÜm‰m˜GÓ$ˆàTˆÜm‰m˜GÓ$ˆà#ˆÜ}‰}˜XÓ&ˆà#ˆÜ}‰}˜XÓ&ˆà=ˆÜ}‰}˜XÓ&ˆànˆÜm‰m˜GÓ$ˆä—)‘)×&Ñ&ˆä—H‘H¨$Ø%,Ø"&Ø!$ô&ˆ    ð
× Ñ   dÓ+ˆØ ×ј Ô#à× Ñ   dÓ+ˆØ ×ј Õ#r6cóò—d}tjtj|««}d}tj|«}d}tj|«}d}tj|«}d}    tj|    «}
d} tj| «} d} tj| «}d}tj|«}d    }tj|«}d
}tj|«}tj
j }t    j|||||f| ¬ «}|j|
|«}|j||«|j||«}|j||«y) NÚ@c5eb01eb457fe6c6f57577c5413b931550a162c71a03ac8d196babbd4e5ce0fdÚ,456e6e796e20447572696e206172616e204d6f726961Ú@0247fd33b913760fa1fa51e1892d9f307fbe65eb171e8132c2af18555a738b82rjÚZe52c6fed7f758d0cf7145689f21bc1be6ec9ea097fef4e959440012f4feb73fb611b946199e681f4cfc34db8eaÚ@0ad0950d9fb9588e59690b74f1237ecdf1d775cd60be2eca57af5a4b0471c91brmrnroÚZ49f3b19b28a9ea9f43e8c71204c00d4a490ee7f61387b6719db765e948123b45b61633ef059ba22cd62437c8ba)rrrDr>r#rq)r,rurvÚ
psk_id_hexÚpsk_idÚpsk_hexr>rwr1rxryrzr#r{r|r}r~rrDr€rrr0r‚rƒs                         r4Útest_x25519_mode_1zHPKE_Tests.test_x25519_mode_1¾sC€ðVˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàCˆ
Ü—‘˜zÓ*ˆàTˆÜm‰m˜GÓ$ˆàMˆÜ ]‰]˜6Ó "ˆànˆÜm‰m˜GÓ$ˆàTˆÜm‰m˜GÓ$ˆà#ˆÜ}‰}˜XÓ&ˆà#ˆÜ}‰}˜XÓ&ˆà=ˆÜ}‰}˜XÓ&ˆànˆÜm‰m˜GÓ$ˆä—)‘)×&Ñ&ˆä—H‘H¨$Ø%,Ø"&Ø"(¨# Ø!$ô    &ˆ    ð × Ñ   dÓ+ˆØ ×ј Ô#à× Ñ   dÓ+ˆØ ×ј Õ#r6có—d}tjtj|««}d}tjtj|««}d}tj|«}d}tj|«}d}    tj|    «}
d} tj| «} d} tj| «}d}tj|«}d    }tj|«}tj
j }t    j||j«|||
¬
«}|j|| «}|j||«|j||«}|j||«y) NÚ@fdea67cf831f1ca98d8e27b1f6abeb5b7745e9d35348b80fa407ff6958f9137eÚ@dc4a146313cce60a278a5323d321f051c5707e9c45ba21a3479fecdf76fc69ddrjÚZ5fd92cc9d46dbf8943e72a07e42f363ed5f721212cd90bcfd072bfd9f44e06b80fd17824947496e21b680c141bÚ@23fb952571a14a25e3d678140cd0e5eb47a0961bb18afcf85896e5453c312e76rmrnroÚZd3736bb256c19bfa93d79e8f80b7971262cb7c887e35c26370cfed62254369a1b52e3d505b79dd699f002bc8ed)rrSrrDr#© rrrrsrtrr:r@r%r&r+r')r,rurvÚkeyS_hexÚkeySrwr1rxryrzr#r{r|r}r~rrDr€rrr0r‚rƒs                       r4Útest_x25519_mode_2zHPKE_Tests.test_x25519_mode_2ís>€ðVˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàUˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàMˆÜ ]‰]˜6Ó "ˆànˆÜm‰m˜GÓ$ˆàTˆÜm‰m˜GÓ$ˆà#ˆÜ}‰}˜XÓ&ˆà#ˆÜ}‰}˜XÓ&ˆà=ˆÜ}‰}˜XÓ&ˆànˆÜm‰m˜GÓ$ˆä—)‘)×&Ñ&ˆä—H‘H¨$Ø(,¯©Ó(9Ø%,Ø"&Ø!$ô    &ˆ    ð × Ñ   dÓ+ˆØ ×ј Ô#à× Ñ   dÓ+ˆØ ×ј Õ#r6cód—d}tjtj|««}d}tjtj|««}d}tj|«}d}tj|«}d}    tj|    «}
d} tj| «} d} tj| «}d}tj|«}d    }tj|«}d
}tj|«}d }tj|«}tj
j }t    j||j«|||f||¬ «}|j| |«}|j||
«|j||«}|j||
«y) NÚ@cb29a95649dc5656c2d054c1aa0d3df0493155e9d5da6d7e344ed8b6a64a9423Ú@fc1c87d2f3832adb178b431fce2ac77c7ca2fd680f3406c77b5ecdf818b119f4r‡rˆrjÚZa84c64df1e11d8fd11450039d4fe64ff0c8a99fca0bd72c2d4c3e0400bc14a40f27e45e141a24001697737533eÚ@820818d3c23993492cc5623ab437a48a0a7ca3e9639c140fe1e33811eb844b7crmrnroÚZ4d19303b848f424fc3c3beca249b2c6de0a34083b8e909b6aa4c3688505c05ffe0c8f57a0a4c5ab9da127435d9)rrSrr>rDr#r–)r,rurvr—r˜rŒrrŽr>rwr1rxryrzr#r{r|r}r~rrDr€rrr0r‚rƒs                           r4Útest_x25519_mode_3zHPKE_Tests.test_x25519_mode_3sk€ðVˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàUˆÜ×+Ñ+¬E¯M©M¸(Ó,CÓDˆàCˆ
Ü—‘˜zÓ*ˆàTˆÜm‰m˜GÓ$ˆàMˆÜ ]‰]˜6Ó "ˆànˆÜm‰m˜GÓ$ˆàTˆÜm‰m˜GÓ$ˆà#ˆÜ}‰}˜XÓ&ˆà#ˆÜ}‰}˜XÓ&ˆà=ˆÜ}‰}˜XÓ&ˆànˆÜm‰m˜GÓ$ˆä—)‘)×&Ñ&ˆä—H‘H¨$Ø(,¯©Ó(9Ø%,Ø"(¨# Ø"&Ø!$ô &ˆ    ð× Ñ   dÓ+ˆØ ×ј Ô#à× Ñ   dÓ+ˆØ ×ј Õ#r6N)Ú__name__Ú
__module__Ú __qualname__rr$r-rTr)r5r;rBrErPrVrXr[rbrergr„rr™r ©r6r4r r s‰„à ˆ3<‰<˜fÔ %€DØ ˆ3<‰<˜fÔ %€DðØØØØñ €Fò&ò.0ò
(ò ò >òBò>ò8ò";ò$*ò !ò&$òP-$ò^*$óX1$r6r có$—eZdZd„Zd„Zd„Zd„Zy)ÚHPKE_TestVectorscóh—g|_    ddl}tjj    |j
«}tjj |ddd«}t|d«5}tj|«|_ddd«y#1swYyxYw#ttf$rtd«YywxYw)NrÚProtocolÚ
wycheproofzHPKE-test-vectors.jsonÚrzN
Warning: skipping extended tests for HPKE (install pycryptodome-test-vectors)) ÚvectorsÚpycryptodome_test_vectorsÚosÚpathÚdirnameÚ__file__ÚjoinÚopenÚjsonÚloadÚFileNotFoundErrorÚ ImportErrorÚprint)r,r¬Úinit_dirÚfull_file_nameÚfs     r4ÚsetUpzHPKE_TestVectors.setUpOs’€ØˆŒ ð    eÛ ,Ü—w‘w—‘Ð'@×'IÑ'IÓJˆHÜŸW™WŸ\™\¨(°JÀ ÐNfÓgˆNܐn cÓ*ð ,¨aÜ#Ÿy™y¨›|” ÷ ,÷ ,ñ ,ûä!¤;Ð/ò    eÜ ÐcÖ dð    eús0‰ABÁ$BÁ?BÂB BÂBÂB1Â0B1có¨—t|«}|dk(r,tjdtj    |d¬«¬«S|dk(r,tjdtj    |d¬«¬«S|dk(r,tjd    tj    |d¬«¬«S|d
k(rt j |«S|d k(rt j|«Sy) NérÚbig)Ú    byteorder)rÚdérérré!)rrÚ    constructÚintÚ
from_bytesrrrÚimport_x448_private_key)r,Úkey_hexÚkem_idÚkey_bins    r4Úimport_private_keyz#HPKE_TestVectors.import_private_keyZs߀ܘGÓ$ˆØ VÒ Ü—=‘= v´·±ÀØJOð2@ó2QôRð Rà vÒ Ü—=‘= v´·±ÀØJOð2@ó2QôRð Rà vÒ Ü—=‘= v´·±ÀØJOð2@ó2QôRð Rà vÒ Ü×/Ñ/°Ó8Ð 8Ø vÒ Ü×-Ñ-¨gÓ6Ð 6ðr6c    óì—|js|jd«t|j«D]2\}}|d}|d}|d}|dk(rŒttt
tt
dœ}|j ||f«}|€ŒN|j|||¬«5|j|d    |«j«}d}    d
|vr|j|d
|«}    |j|d |«}
tjj||||    |
«\} } |j| j«|d «|j| t|d ««ddd«t!ddd¬«Œ5y#1swYŒxYw)z+Test HPKE encapsulation using test vectors.úNo test vectors availablerÉÚkdf_idréÿÿ©)r½é)rÁé)rÂé)rrÑ)rÃrÓN©ÚidxrÉrÚskRmÚskSmÚskEmr#Ú shared_secretú.ÚT©ÚendÚflush)r«ÚskipTestÚ    enumerater    r
r ÚgetÚsubTestrËr&rÚ HPKE_CipherÚ_encapr'Úhexrr·) r,rÕÚvectorrÉrÎrÚsupported_combiÚhashmodÚ receiver_pubÚ sender_privÚ    encap_keyrÙr#s              r4Útest_hpke_encapz HPKE_TestVectors.test_hpke_encapjs˜€ð|Š|Ø M‰MÐ5Ô 6ä$ T§\¡\Ó2ó+    +‰KˆCà˜HÑ%ˆFؘHÑ%ˆFؘYÑ'ˆGð˜&Ò Øô$Ü#Ü#Ü#Ü#ñ ˆOð&×)Ñ)¨6°6Ð*:Ó;ˆG؈Øà—‘ #¨f¸gÓFñ Eà#×6Ñ6°v¸f±~Ø7=ó ?ß?I¹z»|ðð# ؘVÑ#Ø"&×"9Ñ"9¸&À¹.Ø:@ó#BKð!×3Ñ3°F¸6±NÀFÓK    ä%)×%5Ñ%5×%<Ñ%<¸\Ø=CØ=DØ=HØ=Fó    &HÑ" ˜sð
× Ñ  §¡£¨F°5©MÔ:Ø× Ñ  Ü!*¨6°/Ñ+BÓ!CôE÷% Eô* #˜2 T× *ñW+    +÷, Eð Eús ÂB;E*Å*E3    c ó.—|js|jd«t|j«D]S\}}|d}|d}|d}|dk(rŒd}||f|vrŒ%|j|||¬«5|j    |d|«}d    }d
|vr%|j    |d
|«}    |    j «}t |d «}
d    } d |vrt |d «t |d «f} tj|tj|«|
|| t |d«¬«} |dD]Q} t | d«}t | d«}t | d«}| j||«}|j||d«ŒS    d    d    d    «tddd¬«ŒVy    #1swYŒxYw)z7Test HPKE encryption and decryption using test vectors.rÍrÉrÎrrÏrÐrÔrÖNr×r#rr>rD)rrr#rSr>rDÚ encryptionsr1r/ÚaadzDecryption failedrÚrÛTrÜ) r«rßràrârËr&rrr%r:r+r'r·)r,rÕrærÉrÎrrçÚ receiver_privÚ
sender_pubrêrër>Ú receiver_hpkeÚ
encryptionÚ    plaintextÚ
ciphertextrïÚ    decrypteds                  r4Útest_hpke_unsealz!HPKE_TestVectors.test_hpke_unsealsÚ€ð|Š|Ø M‰MÐ5Ô 6ä$ T§\¡\Ó2ó7    +‰KˆCà˜HÑ%ˆFؘHÑ%ˆFؘYÑ'ˆGð˜&Ò ØðˆOð˜Ð Ñ6Øà—‘ #¨f¸gÓFñ  Pà $× 7Ñ 7¸¸v¹Ø8>ó!@ ð"
ؘVÑ#Ø"&×"9Ñ"9¸&À¹.Ø:@ó#BKà!,×!7Ñ!7Ó!9Jä% f¨U¡mÓ4    àØ˜vÑ%Ü# F¨8Ñ$4Ó5´yÀÈÁÓ7OÐOCä $§¡°mÜ15·±¸7Ó1CØ-6Ø4>Ø-0Ü.7¸¸v¹Ó.Gô !I ð#)¨Ñ"7òPJä )¨*°TÑ*:Ó ;IÜ!*¨:°dÑ+;Ó!<JÜ# J¨uÑ$5Ó6Cð!.× 4Ñ 4°ZÀÓ EIØ×$Ñ$ Y°    Ð;NÕOñP÷1  PôD #˜2 T× *ño7    +÷*  Pð  Pús Á,DF Æ F    N)r¡r¢r£r»rËrìr÷r¤r6r4r¦r¦Ms„ò    eò7ò 1+óf=+r6r¦cót—g}|tt«z }|jd«r|tt«z }|S)NÚ
slow_tests)rr rár¦)ÚconfigÚtestss  r4Ú    get_testsrüÝs7€à €EØ    Œ_œZÓ (Ñ(€Eà ‡zz,ÔØ ”Ô!1Ó2Ñ2ˆà €Lr6Ú__main__có<—tjt««Sr8)ÚunittestÚ    TestSuiterür¤r6r4Úsuiterés€Ü×!Ñ!¤)£+Ó.Ð.r6r)Ú defaultTest)r­r³rÿÚbinasciirÚCrypto.ProtocolrÚCrypto.Protocol.HPKErÚCrypto.PublicKeyrÚCrypto.SelfTest.st_commonrrÚ Crypto.Hashr    r
r ÚTestCaser r¦rür¡rÚmainr¤r6r4ú<module>r s|ðÛ    Û ÛÝå Ý1å Ý5åß.Ñ.ôz$×"Ñ"ôz$ôz    M+x×(Ñ(ôM+ð`óð ˆzÒò/à€H‡MM˜gÖ&ðr6