Files
boc/aamos-ledger-rust/target/debug/deps/libnative_tls-6da3e83e81783ee5.rlib
T

496 lines
397 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 31186 `
I¶_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h61b42f40fa3bd90eE_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h360837c5955787ceE_ZN4core3ptr95drop_in_place$LT$alloc..vec..in_place_drop..InPlaceDrop$LT$native_tls..imp..Certificate$GT$$GT$17h578f82c150dcadbdE_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17he9e3161f0c2e06dbE_ZN4core3ptr90drop_in_place$LT$alloc..vec..in_place_drop..InPlaceDrop$LT$native_tls..Certificate$GT$$GT$17h0eb3611fa24a4046E_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1101d14216edc7ceE_ZN4core3ptr9const_ptr33_$LT$impl$u20$$BP$const$u20$T$GT$20offset_from_unsigned18precondition_check17hb728d37004b98abeE_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1dcdca60b82acac5E_ZN104_$LT$alloc..vec..into_iter..IntoIter$LT$T$GT$$u20$as$u20$alloc..vec..in_place_collect..AsVecIntoIter$GT$12as_into_iter17h804fe05e3afa1ab7E_ZN104_$LT$alloc..vec..into_iter..IntoIter$LT$T$GT$$u20$as$u20$alloc..vec..in_place_collect..AsVecIntoIter$GT$12as_into_iter17hbf629f4448d5e107E_ZN105_$LT$std..ffi..os_str..OsString$u20$as$u20$core..ops..index..Index$LT$core..ops..range..RangeFull$GT$$GT$5index17h8932cf8049a7d394E_ZN106_$LT$core..iter..adapters..flatten..Flatten$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h0fd800329f621891E_ZN116_$LT$core..iter..adapters..flatten..FlattenCompat$LT$I$C$U$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h69d7ee97b79c53c3E_ZN107_$LT$openssl..stack..IntoIter$LT$T$GT$$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back17h7b4b6786c58a7b9fE_ZN4core4iter5range116_$LT$impl$u20$core..iter..traits..double_ended..DoubleEndedIterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9next_back17h9b4f4e041ef9b513E_ZN107_$LT$openssl..stack..IntoIter$LT$T$GT$$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back28_$u7b$$u7b$closure$u7d$$u7d$17h310c033f400d2ca0E_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17ha5d65e7a0f006f83E_ZN98_$LT$core..iter..adapters..rev..Rev$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0540edad5c1cc863E_ZN98_$LT$core..iter..adapters..rev..Rev$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17he3fd82a8455625fcE_ZN4core3ptr183drop_in_place$LT$core..iter..adapters..rev..Rev$LT$core..iter..adapters..flatten..Flatten$LT$core..option..IntoIter$LT$openssl..stack..Stack$LT$openssl..x509..X509$GT$$GT$$GT$$GT$$GT$17h25be68cd388c0fc5E_ZN4core3cmp3Ord3max17h1067875602899a57E_
native_tls-6da3e83e81783ee5.native_tls.512f6971251afa15-cgu.0.rcgu.o/
native_tls-6da3e83e81783ee5.native_tls.512f6971251afa15-cgu.1.rcgu.o/
lib.rmeta/ 0 0 0 644 114384 `
ELF·@@GNUÀrust
½º#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁopensslÁ±pŒîÄåwfwÎìFoS-69d723abe12ec769Á openssl_sysÁxn||“÷5Òlï¸Å-f08dc1f478bc05e6Áù«< fÅþ¦®Ž
žaa…Ý-54993f73e3057ce2Á
foreign_typesÁ_C­>1Œª\_ö-Bd-42c7381ae45c70d0Áforeign_types_sharedÁ‰HßÂÝ@ûÜ,tf‰œ Þ-9322351da19a3ce8Á®gµVŽÞðƒý†ŒÝîP0©-0dfe015adeb7752aÁopenssl_macrosÁw´¨‡Â#½«\íže-c5b818703e9bc6b5ÁbitflagsÁRùn™E
ØðHŸ&aÕ0À-32008cbb085362adÁ
openssl_probeÁziÒ¯@푽[þBÑò-6b1da673c6a4f834ÁlogÁÒÿQ^ŸÒ,ºæ‘Ö$´-1dc20bd6fe73f0ddÁ supported_protocolsÁœ—
have_min_max_versionÁ¤ü ´û  load_android_root_certsÁ¼ËúandroidÁ¬° alpn_wire_formatÁ„óW»alpnÁ„ÃW» alpn-acceptÁ¼ÕWüÂW+ÀimpÁ            
     
                  PROBE_RESULTÁ ¸ ))cvtÁ ,sourceÁ .× 0÷ 2 from_pkcs12Á3 3 2
from_pkcs8Á 7from_derÁ7from_pemÁ7stack_from_pemÁ7to_derÁ MidHandshakeTlsStreamÁ<
<¤<ˆ @¤@× C¤Cget_refÁCget_mutÁ G¤G handshakeÁ HandshakeErrorÁJ¤JFailureÁL
LˆJ
WouldBlockÁO
Oˆ R¤R÷  U¤U÷ 
Xæ XconnectÁZ¤  \×  ^æ ^acceptÁ`¤  TlsStreamÁb
b¤bˆ 
f¤f× i¤i½iË m¤mbuffered_read_sizeÁmpeer_certificateÁmtls_server_end_pointÁq mshutdownÁ t¤treadÁ w¤wwriteÁwflushÁÍ{¥ErrorÁ}
}ˆÜ××÷ˆƒˆ²ÁÐåò
¤ˆ¤×¤½Ë¤ä ž¤žÜ
¡¤¡× ¤¤¤÷TlsConnectorBuilderÁ§identityÁ§ min_protocolÁ§ max_protocolÁ§root_certificatesÁ§accept_invalid_certsÁ§accept_invalid_hostnamesÁ§use_sniÁ§disable_built_in_rootsÁ °æ°min_protocol_versionÁ°max_protocol_versionÁ°add_root_certificateÁ°°danger_accept_invalid_certsÁ°ó°danger_accept_invalid_hostnamesÁ°buildÁ
ºæ ºbuilderÁºô½¤TlsAcceptorBuilderÁ¿æ¿ö¿ŠÃ¬ÃÈÃÚÇæ Çóǟʤ³Ì
̤̈ФÐ×Ó¤Ó½ÓËפ×פ׻×ÚݤÝôà¤àŠà _check_kindsÁääis_syncÁæ¥äis_sendÁè¥ °êªë
ëˆêSslÁî
îˆîê
EmptyChainÁò
êNotPkcs8Áô
ê AlpnTooLongÁö
 ø× IdentityÁúpkeyÁúcertÁúchainÁ þƒ  CertificateÁ
ˆ ƒƒ  TlsConnectorÁ connectorÁóÓ· Šƒ  TlsAcceptorÁŒ
Œˆ ƒü
ˆƒ¼
ˆƒô¤
ˆ© 
 ˆ£¤£×ProtocolÁ¦Sslv3Á§
¦Tlsv10Á©
¦Tlsv11Á«
¦Tlsv12Á­
¦Tlsv13Á¯
±×µƒç·
·ˆºƒ¼×¯¾
¾ˆÁƒ)
-
/
/
/
3
3
6
6
8
9
:
;
B
B
B
E
F
Y
Z
Z
]
]
]
_
`
h
h
h
k
l
o
p
q
s
v
v
y
y
z

ƒ
ƒ
ƒ





Š
Š
Œ

Ž





š
 
£
£
£
±
²
³
´
µ

·
¸
¹
½
½
Ä
Å
Æ
Ê
Ò
Ò
Ò
Õ
Ö
Ù
Ú
Û
Ü
ß
ß
â
â
ã
ù
ù
ù
ÿ




š
¥
¥
¥
²
²
²

»
½
½
½
Â
¿cêëìªíˆîïðˆñòó­ôõÄö÷Ù³z…†§>¥¾Ó'ÄcÓ'éÓ'Ù,Ù,Ú,
ErrorStackÁÛ,ˆÐ Åð Ê*–úØúúüûŒ ü˜ ý¤ ¸³Æª| ؼˆ  HÞIrÛrs¿c<<=ò?ˆ  æB6ò`è"¤éJLMNˆOP©Qˆ˜K5üø“Bä*Ñ:Ó:Ô: SetupFailureÁÕ:ˆÖ:×:Ø:ˆÙ:Ú:©Û:ˆ“}ý-eä*éñ*ò(Øçû ó ˆÓ · ÛŠú(¿c¹,ØŒŒ¯Žˆ  4¯ý¦õ™žÏ¿cbbc³eˆ  O¶|wÄêä*à Ð-Ÿ!Ð-¾}}~°ˆ 1‚Ÿ„dÄc›.¿c.é.Ó'Øüˆ &Ó¿-¨`'ؼ˜ˆ 0à+F:jºº¿còˆ Ã_ÌâuÛä*¿cžŸˆ ¡©¢ˆ`¡%ÍSŒJ{ä*¾›0Äc›0é›0ñ*¿c¦§¨÷ ©ª‰!«¬œ!­®¯!¯°Â!SMgëL%´áŠ Ž1ÛŽ1ØŽ1Ø··¸ç¹ˆ …hCñþõ׿c™2ؾ¾¿¯Àˆ ^çyƬSû¿cÌÌͳψ GÜDP~|±Öä*à “3Ÿ!“3øê@<\fb„}”£±¦¼·ÐÌ,ê.ê0êRJUJ†þúƒŠŒµ¦º·Á¾tÌw̳¦´¦¿c
è¾@ÄcéØ à ?Ÿ! Š  Û(>ú(.6 DI
êcZ_gks²6Ä6¡©
²6µºÄ6ÆËÓP>³Ì:Ì:°Í:codeÁÎ:ÜNöáóLJ€>¿ ƒSƒS„SX509VerifyResultÁ…SˆÄ `è³¢™Yƒ
Œ²6À  ¿c
  
™9ÏÕ
‰dç
í  ÏP>žªò( )²6.:™9RX
‡djpp~>ÿùœ£Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ È° O˜éBL' Ó'2  c cˆ¢cµ
 `£cbufÁ `àB¤GS
y ò(²6™9 û<¡ ã7Û ¶8²6Å™9ö™9« ¬=²6è²6ð²6ø±__self_0Á =[__self_1Á OÄ6YÄ6_Ä6e¡=™9Ï=™9KÑ9{=™9}Ô:˜G&Œ6Œ66PKeyÁ6ˆ½6½ ,£¹ÚòrÉwâ*%t
îË{kp
Ù›?PG¤&©P©PªPX509Á«PˆÄ õÈQ1pÏÝIN
Ù¨@_h€G´&ªBªBö­BÍ;÷<®B÷<9)
-ÜnL¨@çEçEèEGlobalÁ ¿±‡§í#|
Ù”A(Gé% úGî%Gí%Mÿ[µ)f µ)p? ›?¨@ ¨@ ”A< ”AG²¼ÿ?]ê@Ö‰Bp¨@­?² Hö/¨@ê@&.(H×/ HÜ/*ÿ)5 ÿ)?¨@x±CV`ê@<º6ÜGÜGMidHandshakeSslStreamÁÞGstreamÁ²ßGerrorÁ²:¯Ùæä*ìª6|ª6
Àc¿EÃ6)Í6Büé5d¢;\”6 ·*,ð5¬<÷5 ¿EÜ×"O¬F4ž7¿E„ž7<¥7
´ä*/L¥7´7Eüø6< ä*7ðF,‡7…Gq6âGx4è7¿E„è7<ï7
µä*0Lï7þ7Füº7D ä*4×7 ·*LÉ7 ¿Ex<ûH~4ž9¿E”ž9L¥9
ãGä*-\¥9(Ę9H ê9µ+Dô9$ö9
èµ+ñ* ô94ö9 Â9«»» SslStreamÁ½sslÁ²¾methodÁ²¿_pÁ²ÛGaNô^<ñä*dË9 bä*„È9 Ö¿Ð-ñ* ×9lð9 Ö¿Ð-ñ* ü9Ž:IüÌ8ÂÌ¿9¼æ9 Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ð-ñ*üæ8'·*$Ý8Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
°Kµ+Q¿Eló<,¿9°K×Ð-nµ+,ñ*¾°W1—J¸ýJX
 ù;
<ó;6 ·> ©¿EÄê>
<ä* üÏ>4 Jä*
 ?  ý<
¿E =<=Ÿ=
ä** ,Ÿ= «<Ã*ò(DÉ<$Ë<
èò(Ó' É<4Ë<ü±<! Jä* Ñ< ¼=l¥=
—G¬ |¥= é=
 té=Të=
¸ä* ;
 dë=ìÞ= ê
üÆ=6 Jä* ‰>
 ¡?) 9
ü±;ðTü‰<Iüà<ªü•=uü—>zñ*Œ×;µ+ ¹;ó<ü‰<$ò(´Ó'£¿E&¶8 ™= æFæFçFSslRefÁèFˆ² 9Ôlqž"r6…GNÓ'Aã7r¿E¿Eê·*Û6°®°\°ÊÁ¨¾4 1©Q»ëQ¾R2…Sñ¿EœD¨@$ª@ëQ ¨@4ª@ü@! Jä*·@WüÚ?]ñ*Œô?ò( â?Ó'n°4ëQ¸Iê@¨:¨:©: SslConnectorÁª:ˆ» ^îðÜ'/LQV
Ù£XgohI‡AðIšAÐI¾A  (IÄ@ IÉ@3
¹,> ¹,H£X £X*¾ Ç®ÇZµœÇZ£íXp
Ù†[ï†[Õ£XIÈ@<ÒT
&.ÜÜT£XüÜT4L…U
Ú-\…Uø¤ÜT5

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èèConnectConfigurationÁéÌJ»êsniÁ»ëverify_hostnameÁ»Ú+.g€8ò(þÞâ î üÜT5 l„]dºU üÜTkÔŸU
í B 0üŸU(¥U
[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆê)?ÈXM´­ò(Û
¡$¢M_
þìæUôåU
üÜT¨|ÕU
ï
/üÕU/ ƒV
̑V
¹Vü¹V#
÷!„]* "(T½V
ôFNœÈV—?ä>ä>å>
SslVerifyModeÁæ>ˆ² "\<é³<?BIü½VùV
4W
ÜùV<ýV
òä*Z4…WG ¼ýVà¦ùV 
ž$†NQ #'3
äùVl°Kd¢W bä*„ŸW Ö¿Ð-ñ* ´W
§”W[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_µ+q
¡$¢MŠe9°¸ÄµWü¸Sýêù +sä
ÞZ üÎTçIPWµüñVDv}ó ¢MüíS'¤Z,ÊS²64ÑSä*4ßS„]„]ê•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜_„]q¶\¢¶Z¿ó<-_5„]«Nð;$ ˜U/ „]K•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜Še°K†NÁ„] ä*òó<÷Šeÿ°KoÐ-a3: domainÁçDÌJ!Ž [
¹¾ ¾ õVŽ ˆ¹ü Ü—?…b
‡\0°\
ß^ä‡`Õ`ûÇaŒîa¡c¿ØcŽëeä* „]ä*X_¤a¯:¯:°: SslAcceptorÁ±:ˆ» ny±üK¤ƒSPU
Ùmfn(_…a Œ_Ša*˜-5 ˜-?m¸ mÂYcÖmÞ4þpm¬þp4…q
þä*/4Œqt…q°³þp ØcE ,>´þpl°Kd¡q bä*„žq Ö¿Ð-ñ*  ³q´“q[Še´ëe*Ì´q`üïoÅüöp>Y_eÁ
¢Mü•p'§n,€pä*4‡pùi-†Nf¸nƒó<«Še²°KÐ-JçDN¾ úpŽ ò¹S¿ˆoÚØc¯ëeµ<ìr°KìÜr|Ür
Àc°K/õr)ÿrhü›rd¢;\Ær Ð-,¢r¬<©r °K×"Os4Äs°K„Äs<Ës
Îä*/LËsÚsküžs<˜H·sÓs,­sèsn3Åtu4Žt°K„Žt<•t
Ïä*0L•t¤tlüàsD±I4ýs Ð-Lïs °Ku9Ûu{4Ÿu°KdŸu¦u
Ðä*/,¦u´Ÿu<¬u
GAL¬uÔœu Ö¿Ó'¼uoüÙtcÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÈwÓ'¤ýtÓs,ótÈwÄ–Uõès!öv wõ4”v°Kd”vvöv),vü”v„¡v
„G<”¡vü”v0´v
·T¨@ÿ)
L\¸vŽz „´vü‘v4 Ö¿Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÿ)Ó'ËvpüÂu‰Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÃzÓ'üäu"Ós,ÚuÃz%Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¨@š–UÆèsãpäövëÚyÍz«&4˜y°Kd˜yŸyöv),ŸyĘyL¥y
©G;\¥y'4¿y°Kd¿yÆyöv),ÆyÔ¿y\Ìy
‡G;lÌyü¿y0Úy
·T ¼P¼P½PX509RefÁ¾PˆÄ èÅØòÓÂæª¨@rä*¨@ð;ÌÌ„Þy¬Úy4z
°Kdz”zöv
) ,”züz„šzÚy 9”šz$Òz TÌz 
b$—{ Û¼ªBªBö­BÍ;÷<®B÷<9)
-ÜnLÑAD”{ Ö¿Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÓ'|{!$êz
Û¨@$óz 
$Á{ ÔÁ{
ë!¨@( "!'œÆ{
ÔPL
"¬Æ{üÁ{#4Ü{
«e"DÜ{üÁ{)å{
íA",å{D•|ü•|¤ž|
Ç.("´ž|'ü|% $õ| Û¼Dò| Ö¿ïÓ'Š $È|ÛÀÀSignatureAlgorithmsÁÁdigestÁÂŒõ͵„E¥õü™}!·.·.¸.NidÁ¹.ˆµ PD¤³¨i\Ô@†~¢†ä“~¼“~
…-«~""¼á}¬á}
­$"Gü~" $ô~ Û¼Dñ~ Ö¿ïÓ'ô Ç~Ûù,ù,ú,
MessageDigestÁû,ˆ c}“[Õ¶ÑÎ~  # Œƒ##""·$/
ÏP"T$)!"€µ« 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
—-—- DigestBytesÁ˜-Í;š-ŸsŒ@˜¤Éò(! "µ¹% Å% „«' lÔŠ'
+

ë!ÔŠ+)*""º& [_G  
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ïÓ'_&%"¼¼

º2*ä)"¬É
( Û¼)ÌÆ
Ö¿ïÓ'( ä ! !å* #ü»xª¾u q%üŠyÛüÁz¤”åzü²{³üô{ñ”Ã|üü†~‚tÂ~üžG¹À Ç&
,ÊŒôáxÓs,×x|$Žy2 U^ ès{ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ! UM èsj Upès¨@$Åzó<Tåz¨@`ï+¢†D¶{ ë!ë!ì!
Asn1ObjectRefÁí!ˆf µÒ÷Àl—ÌI8 —T—T˜TX509AlgorithmRefÁ™TˆÄ Èꑵë'¥öÏ×±CïÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÇ… ¢†œó<TÃ|Ç…ïa±ˆ”}¢†Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ±ˆ¾ó<DÂ~±ˆ*ïsÔŠ•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜_ÔŠÁ†Š$,±CD±ˆó<¾_ÆÔŠ'ï 
 ÔŠ/
˜#˜¢ ˜ü 
algo_nidÁžsignature_algorithmsÁ¤ø{algsÁÚmdÁ¾nidÁG—–š í„k
Ž ± &¹
'öv0
ñ}
övÎ ß~°  övó ÚyÕ Œƒš
³ƒ¡
܃[
…„9
¼„
…‡Æ­‡¥Œƒ³Ó‰º€Šg…ŒgÄŒuÁu¨@]¨@c¨@idâyDäy
´ âyTäyîyrÔ ¨@áyÌé  ßyà 
œ™yŒ¨€ 4¨€°K*2>D¯€
ðGä*BT¯€f¼¢€,é€ã7 ó€Dó€$õ€
¢* 4õ€4Ñ€ Ö¿ð;ßß°à ¬
ÑøÿËO Ÿ"ð; Ö€ Üÿ€
 sä* µ:µ:¶: ErrorCodeÁ·:ˆ ZÃ~¸£—ç~üó€' 
·ßýœýœ
}/5 Ö¿ð;’œùð; £   ã7ŒÀ
¤ À
 üÀ2
„\’œã7
ã7
X„ᦟ 
üÒ ü¼7 Ö¿ð;’œ  ƒ‚üë„‚5 Eã7 [g
y ã7  ¬ sµüå€?ü²AÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð;’œt‰€švÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ùGúGûGSentÁüGýGReceivedÁ–åâ7çÂ’ã7·¦vªó<,È€¡=D ¡=O:ûœ*ýœ3ûœ¬ã7钜ֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
’œã7!¡=äó<žó<¦t°°° ÓtýœÝšÙä›É>Ꞧ™Ÿã7ã7»ÄýœÒásTûœýýœýœ4ˆƒ°K„ˆƒ$ƒ
á °K3”ƒLƒžƒvüÆ‚XÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Èw’œŒì‚švL΂ ‡–Ù‚¦vß!Í; £³§ò4 „°KŒ „,§„
 !°K3­„T§„·„yüáƒVô§Œ„„švLꃅ–õƒ¦vÍ; OÇ©ž4í„°Ktí„,ô„
¤!°K3<ô„zü½„DÑ¡tÔ„švLÆ„¦vx7‡«~h`¶&µ)
Ùµ),4(`š& `Ÿ&*ð.5 ð.?µ)~ŒCV` ¬¢€aÚ3ÿ)
Ùÿ),4(a»3 aÀ3š*¨/5 ¨/?ÿ)~ôDV`Í­¢<Ê>·*ìº>|º>
Àc·*/Ó>)Ý>üù=d¢;\¤> à/,€>¬<‡>ðF×Lý®4ö?·*„ö?<ý?
Eä*.Lý?Œ@üÐ?<˜Hé?¯,ß?ðFo4²°w4‰A·*„‰A<A
Fä*/LAŸAšüÛ@D±I4ø@ à/Lê@½Ir6ʱy4âE·*”âELéE
Iä*,\éE'ÄÜEG ®Fñ*D¸F$ºF
èñ*›0 ¸F4ºF †F«Ð-dF Ìä*„ŒF Ö¿“3›0 ›Fl´F Ö¿“3›0 ÀFÒFüˆEỄF¼ªF Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
“3›0ü¢E/à/$™E¢M§·*Âó<,ƒFÐ-.“3ñ*ƒ0sD¾]°®àá²Ƴ°(b–G"ÀbŠJ©à/B J
²6, 8
 ™9rwÔ:ƒ ˆ
e(bÞG›.³»²6,8™9ãèÔ:ôùebG¥$+ ¢;8 0C¬<Kó<S .Ų6e™9Ô ̹߯X²6ˆ™9h ¯t¦±´‘=)‘=¦×‰º™9¼Ô:êå¹™9ZÔ:ù,ÂK\¼K#$®L Û¼ ¾#,îK›. ýK³»<øK Û¼³» þKÃL üøJËüÖK)Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ³»üŒK%±¹,‚Kó<ôÖK̹à³»Ï$°þ¢̹³»ú,ÞM\ØM#üêN' %²6üÜN6LàNÄ6ÜN3üàN2,ŠN›.Ì”NŒ”N
Åc›. ¦N©N+£O£ü—MŒüòM;¢;\ÂM±¹,žM¬<¥Mó<ôòM̹š²6ã,×0°ÄpÄ6þ¾Á °P<ªP" ¨Q©·*Ä¿Q ä*ü®Q* ä* ×Q ÝPÓ'DñP }¼ãP ä* ùPéQ¦üèOüÀP:üˆQP›0ŒŽPñ* ðOó<üÀPÓ' .·*à/õ°3°Í¾.~ (c•R(.6²6c™RLT ²6go
²69Š ²6T¥ ²6oº¿Ä6ËÐØcšR²ï¢;ú Ž1¬< ²6ó<&±4?Ä6I(e¢Re§R"Ž1-¨Å5>Hˆfú~¹,
Ù¹,,4(fÓ~ ·fØ~»*™25 ™2?¹,~¤ZV`öÆ¢(gÚ~ 
²6ˆgú~¹, ™9GLÔ:X]Mjgß~½¢;ŒÇǬ<²6¢™9 ¤Zž¤Z¥Ã±ÐÚ°É™9ÑÔ:ë4ÿ‰¹,ôÿ‰<†Š
Zä*14ŽŠ4–м†ŠøÅÿ‰ 
ž$¢MX$(4Füÿ‰ lÐ-d«Š
Ìä* „¨Š Ö¿“3›0
 ½ŠÆŠ[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_ñ*r
¡$“µ‰Ìˆ8¾Š½üºˆü÷‰G¼ÂÈ* “µüމ/ÇÇ,Õˆ²64äˆä*4úˆ•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜‰ÌÐ-ÿ¢MC¤Zaó<o‰ÌxÐ-Ü“3̪¨j­çD°¾ û‰ Ž Ç¹/ 4ŸÊËÛÊêÌ€iÚ ˜-
Ù˜--5(i»  ¾iÀ Â,Û27 Û2A˜-§nˆXb•Ð¥4驘-¬é©4ð©
`ä*14÷©tð©2Üã©S ¸ªñ*Dª$ĪƳ ª 4Ī ª«Ð-d™ª Ìä*„–ª Ö¿“3›0 ¥ªl¾ª Ö¿“3›0  ʪܪÊüÔ¨ˆ̪¼´ª
“µüú¨/èÐ,å¨ä*4쨢Mw§nó<,ªÐ-ö“3åñ*F05NçDQ¾0°~¬ÊÑêƳ<¹¬Ð-쩬|©¬
ÀcÐ-2¬,̬Òüè«d¢;\“¬ “3,﫬<ö«Ós× PÝÕ4Ù­Ð-„Ù­<à­
kä*1Là­ï­Õü³­<˜HÌ­¦Ö,­Ósw7›×~4ì®Ð-„ì®<ó®
lä*2L󮂯Öü¾®D±I4Û® “3LÍ®švz9»Ø4Û°Ð-ÜÛ°”â°
oä*1¤â°àÉÛ°

ž$ðwG#'3EäÛ°lÈwüذ  Ö¿Èw›.þ°Êö°[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_Ó'ùq
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Èw›.›Û×lðÙüœ°bý
SÜlÀ°¦Ö,¶°•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛÈwðwFÓsdó<›Û¦ÈwðŽŽ Å¹æÜÙ‡ÚxûÛ4вÐ-ÌŠ²„‘²
pä*1”‘²ÐËв

ž$±{G#'3EÔŠ²lÃzüв+¥²
·Tÿ)¨/
?\©²Æà „¥²Ì£²[›ÛÃ!
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¨/›.›ÛÌ{ü‡²/ Ö¿æá›.¼² Úü¿±}%, ˜áÜᱦÖ,×±æáš•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛÃzW±{Ós©ó<È›ÛÑÃz5Ž ð¹Xð©ßâÔß½ºà`’áË4¥´Ð-쥴¤¬´
qä*1´¬´ðÍ¥´

ž$ÊŒH$(4Fô¥´lïü¢´" Ö¿ï›.ʴδ[›Û¬!
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ï›.›Ûˆ ¡ÛüÚ³p®´ºšç¼€´¦Ö,ö³•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛïÅÊŒúÓsó<N›ÛW癩 w¹ÇçÂåRíå-”ç44–·Ð-Œ–·D·
sä*2T·Ï–·

ž$Ñ¡H$(4F4²· Ö¿ð;’œ¡.ð;¾·Ð§·[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_’œêr
¡$Ñ¡ôëˆ
¡Üüß¶_®´º”–·Ñ¡tý¶þØLï¶•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜ôëð;³Ñ¡èšvó<OôëXŽ o¹»¡.ð;äÅê<ðêÕì4¸Ð-„¸$ɸ
á Ð-3θLɸظßü€¸Xô§Œ¦¸þØLˆ¸Ú¨“¸švÍ; P²ï 4Ú¹Ð-ŒÚ¹,á¹
 !Ð-3ç¹Tá¹ñ¹âü›¹Vô§Œ¾¹þØL¤¹…–¯¹švÍ; Pôð 4§ºÐ-t§º,®º
¤!Ð-3<®º»ºãü÷¹DÑ¡tŽºþØL€ºšvz8¶ò4— êì%Ó'0ò(7>¯ êï(Ó'3ã7:¶8AH´ß/ %ÿ)0¨@7>üÚ4# <ä*='·*2¿E9@<³: Jä*M&ñ*1Ó'8?TÇ: Jä*P&ñ*1·*8?´a Œ%˜-0m7>¼¸q bä*c&Ð-1°K8?„È  }~#..Ó'5<œ¢& %ð.0µ)7>´Ã3 %¨/0ÿ)7>üå<# ä*)à/4·*;B<ÖG ä*ž(03.:ATÿI ä*¡(03à/:A¼â~ ·¸%™20¹,7>´Ã  ¾¿&Û21˜-8?¼…« Ìä*Í)“34Ð-;B {}~§¿ÌÍ䦷¸¾¿ÀAnyÁðì%ùD,ÿפ,ioÁ¦ 4¾[ü ¿ü>; An abstraction over platform-specific TLS implementations.Á?úüCMJ Many applications require TLS/SSL communication in one form or another asÁü‘MJ part of their implementation, but finding a library for this isn't alwaysÁüßKH trivial! The purpose of this crate is to provide a seamless integrationÁü«MJ experience on all platforms with a cross-platform API that deals with allÁüù# the underlying details for you.Áúô¡ # How is this implemented?ÁÀúüÄJG This crate uses SChannel on Windows (via the `schannel` crate), SecureÁüOL Transport on OSX (via the `security-framework` crate), and OpenSSL (via theÁüßLI `openssl` crate) on all other platforms. Future features may also enableÁü¬KH other TLS frameworks as well, but these initial libraries are likely toÁÜø remain as the defaults.Áúü˜OL Note that this crate also strives to be secure-by-default. For example whenÁüèGD using OpenSSL it will configure validation callbacks to ensure thatÁü°LI hostnames match certificates, use strong ciphers, etc. This implies thatÁüýPM this crate is *not* just a thin abstraction around the underlying libraries,ÁüÎJG but also an implementation that strives to strike reasonable defaults.ÁúÄ  # Supported featuresÁúüº >; This crate supports the following features out of the box:Áù úüý " * TLS/SSL clie
" * TLS/SSL server communicationÁüÃ
 * PKCS#12 encoded identitiesÁüä
%" * X.509/PKCS#8 encoded identitiesÁüŠ -* * Secure-by-default for client and serverÁü¸ 41 * Includes hostname verification for clientsÁüí B? * Supports asynchronous I/O for both the server and the clientÁ° ú¤´  # Cargo FeaturesÁÉ úüÍ ur * `vendored` - If enabled, the crate will compile and statically link to a vendored copy of OpenSSL. This featureÁüÃ
DA has no effect on Windows and macOS, where OpenSSL is not used.ÁüˆEB * `alpn` - enables `request_alpns()` for negotiating HTTP/2, etc.ÁüÎ52 * `alpn-accept` - enables ALPN for `TlsAcceptor`.Áútˆ # ExamplesÁúü›.+ To connect as a client to a remote server:ÁÊú ```rustÁüÚ! use native_tls::TlsConnector;Áüü use std::io::{Read, Write};Áäœ use std::net::TcpStream;Á¹úü½1. let connector = TlsConnector::new().unwrap();Áïúüó?< let stream = TcpStream::connect("google.com:443").unwrap();Áü³FC let mut stream = connector.connect("google.com", stream).unwrap();Áúúüþ96 stream.write_all(b"GET / HTTP/1.0\r\n\r\n").unwrap();Á̸ let mut res = vec![];ÁüÒ*' stream.read_to_end(&mut res).unwrap();Áüý2/ println!("{}", String::from_utf8_lossy(&res));Á ```Á¸úü¼:7 To accept connections as a server from remote clients:Á÷ú”û ```rust,no_runÁüŽ74 use native_tls::{Identity, TlsAcceptor, TlsStream};Á´Æ use std::fs::File;Á´Ý use std::io::Read;Áüô+( use std::net::{TcpListener, TcpStream};Á¼  use std::sync::Arc;Á¤¸ use std::thread;ÁÍúüÑ74 let mut file = File::open("identity.pfx").unwrap();Áô‰ let mut identity = vec![];Áü¨-* file.read_to_end(&mut identity).unwrap();ÁüÖHE let identity = Identity::from_pkcs12(&identity, "hunter2").unwrap();ÁŸúü£>; let listener = TcpListener::bind("0.0.0.0:8443").unwrap();Áüâ74 let acceptor = TlsAcceptor::new(identity).unwrap();Áüš&# let acceptor = Arc::new(acceptor);ÁÁúüÅ41 fn handle_client(stream: TlsStream<TcpStream>) {Á // ...Á,‰úü“'$ for stream in listener.incoming() {Á´» match stream {ÁÜÒ Ok(stream) => {Áüî0- let acceptor = acceptor.clone();ÁüŸ'$ thread::spawn(move || {ÁüÇB? let stream = acceptor.accept(stream).unwrap();ÁüŠ*' handle_client(stream);Áœµ });Á },ÁüØ2/ Err(e) => { /* connection failed */ },ÁL,•Åœ<ª• {}~§¿ÌÍ䦷¸¾¿ÀýŽýüì%ùDû×ú¤,Êýø¦ ÷¾[gjmaùUXHK9<,/<ˆŒ()<=JbcêúŒ€(TÙ, 
¿‡l3ù,  °…T·.  Pkcs12Á4nÐ2 
©>$ŠŒ6 PrivateÁ<â ÌJ$²² ÉD¬¸ÜG ›l\ϯ: ±Wdܨ: SslContextBuilderÁŒêè  SslMethodÁLýÖ> “alŒä> X509StoreBuilderÁ„¸ÂN Ä7„ÞƒS ¶?$ð©P  ProbeResultÁ\Š LazyLockÁD¦Ä9 ùD,º  ×Á¤, !ÊýƦ "ç Dئ $”â¿ %Ëœö§ &,•É $ä$ŒF
¼]ølzìïØÛÏ§ÃÆ¹©¬Žuxhkü¢&PDG7:Ôû#œ›´÷ùçé,ÐÜÞÍϾÀT³ü* Ä9Ä9¹¥Ç9onceÁ±9È9dataÁ±9¶¾‰xºZÈ✥ cert_fileÁcert_dirÁIÅ~€1—vŒç©C8ÿÿ8üŠÔ ¤öäðœ ÃÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŽ1²« Ãèè逤ꈲ ãm‡ËŒà$ýÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð;ò( ä
)minÁ©maxÁÄctxÁßÄ¢üÁ!Ä Ž1èDèDéD
SslVersionÁêDˆ² ´R¼¿ @
+» ÈÜ„Ó'-¿-ü¦9Ä ÄÓ'Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠ľ, °,
-ÜùÓ'/Åc/ü› 6ž ÅÆÇ ÅÓ' Æ c cˆ¢cµ
 `£cÍ; `àB¤GS
Ç¢;. ¢ .
/ש üò$Ó'1ë1ü˜%!$%ò(Ó'00
1errÁ %lÉ&µ)36üÝ&E\ä&ÈÉ È‡– ÉÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µ)Ó'2 õ&2
3Í;ð&passÁ$ü&¼(3<closure_kind>Á4<closure_signature>Á4<upvars>Á4434Ôð;Ó'ð;ý(3³5¨³5ų5535Ôè´ð;üý+DT„,ÊË Ê‡– ˇ–õ²2 ”,2
6Í;,keyÁ,„þ/ÿ)89:;ü•09Dœ0Ì Ì‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿ)Ó'7 ª07
8Í;¥0ü£19Dª1Í Í‡–„·7 ¸17
9Í;³1ü±2Dt¸2Π·–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­BÍ;÷<®B÷<9)
-ÜnLÿ)ÑAÓ'7 Ì27
:Í;Ç2üì3.4ó3Ï Ïÿ)Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ó'7 ú37
;$û3,#¬å4¤>>Íìä* û4·*æB6ò`è"=?¿E·*#Q ¿E·*<<
=ä*`bÄþ4 <<¿Eüš5H¤AAì» Ÿ5¿cä*T×5·*BÀcB!üé56ì5ÐÑÒ Ð·* Ñ c cˆ¢cµ
 `£cÍ; `àB¤GS
Ò¢;@ ð5@
Bä*$ñ5×ÿ"üÑ6 ¤DDì» Ö6·*EF 
Üø6<ÿ6Ó Ó·* Óä*C ‡7C²°$ˆ7üº7#<Á7Ô Ô·* Ôä*C É7Cʱ$Î7ü‚8C¤HHì» ‡8à ä*D°8Ÿ!ä*L»8·*I')üÌ8ALÓ8·*¢MGGá²€&Ô’:t:¤KKì» ª:ñ*˜K5üø“BLMOPMNÓ'ñ*PQ·*ñ*<>s&x&JJ
Mä*&&Ó'ñ*JJõÂ,»:JJÓ'Œ&&JJ
Pä*¨&«&·*ñ*JJÛÃÄÒ:JJ·*üð::¤SSì» õ:ñ*TëTü±;7$´;µ+ñ*RR
Tä*°å)ü¥?.¤VVì» ª?ñ*WëWüÚ?+$Ý?ò(ñ*UU
Wä*°a+ŒÝA¹,YZüõAHüAÕ Õ§§Ë¨æ©öªŠ«ž¬·­Ó®ó¯ÚÜôIx7Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¹,Ó'X ‰BX
Yó<€Bü¸S‡<¿SÖ× Ö¹, ×ä*¢MX¤[[ ÊSXì» ÇS‡ÁDªT–ÁLµTŸÊ$ËS¨j 3çD©3,.ü§] ¹,]Àc]üÎ]6Ñ]ØÙÚ Ø¹, Ù c cˆ¢cµ
 `£cÍ; `àB¤GS
Ú¢;\ Õ]\
]$Ö]×Ü]„³a˜-_`üÊaFÑaÛ Û¿¿ÀæÁöŠ)gð“‡óv4Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
˜-Ó'^ Þa^
_ó<Õaüïox4öoÜ Ü˜-ä*¢M^¤aa €p^ì» ýo‡ÁDÒp–ÁLÝpÊÑ$pçDO8%'q+LÃq¤ddì» ÍqÐ-O¶|wÄêce°KÐ-¼+I °KÐ-bb
cä*`bŒÐq bb°Küåq/¤ggì» êqŸ½TíqÐ-hÀchü›r6žrÝÞß ÝÐ- Þ c cˆ¢cµ
 `£cÍ; `àB¤GS
ߢ;f ¢rf
hä*$£r×b9¤ƒs¤jjì» ˆsÐ-kl 
Üžs<¥sà àÐ- àä*i ­si›×$®süàs#<çsá áÐ- áä*i ïsi»Ø$ôsü¨t*¤nnì» ­t‡ÁD°t–ÁL»tÐ-opqs!üÙt8”àtâ âÐ-ðwm ótmÜÙ$ôtüÂuD„Éuã ãÐ-±{m Úum©ß$Ûuü»xD¤Âxä äÐ-ÊŒm ×xmÂå$ØxÞyq³r¨³rųrrqÌüë,å åÐ-Ñ¡m ûmÅê$€€üˆ‚7¤uuì» ‡ÁD–ÁL›‚Ð-vá v#%üÆ‚7$É‚æç æÐ- 燖ô§t ΂t
vä*$Ó‚Í;áSü¢ƒ8¤xxì» §ƒ‡ÁDªƒ–ÁLµƒÐ-yz !¤!yz,.üáƒ4,äƒèé èÐ- 釖ô§w êƒw
yä*$ïƒÍ;¡Tü½„%,À„ê êÐ-Ñ¡w Æ„w
zä*$Ë„”åüª:7 A typedef of the result-type returned by many methods.Á4î¥||Íì¥ õÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
öÛ.XZA2ü• 2/ An error returned from the TLS implementation.Á.1‚Ÿ„d~Ó'.±22Ó'.}}
~}}Ó'Üç .¿ü‰!94Œ!ë ë›.Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ëÓ¯ “!
$”!Üô!›.ƒÅcƒü–"6™"ìíî ì›. í c cˆ¢cµ
 `£cÍ; `àB¤GS
î¢; "
ƒ$ž"פ"Ì€#.…Àcü #6£#ïðñ ï›. ð c cˆ¢cµ
 `£cÍ; `àB¤GS
ñ¢; §#
$¨#×®#üˆ$›.‡ëü®$!$±$Ó'.
–±¶$lÇ&ð.‰Šü‰,BüÛ&]Z Parses a DER-formatted PKCS #12 archive, using the specified password to decrypt the key.Á½'úüÅ'_\ The archive should contain a leaf certificate and its private key, as well any intermediateÁü©([X certificates that should be sent to clients to allow them to build a chain to a trustedÁü‰)_\ root. The chain certificates should be in order from the leaf certificate towards the root.Áí)úüõ)\Y PKCS #12 archives typically have the file extension `.p12` or `.pfx`, and can be createdÁüÖ*# with the OpenSSL `pkcs12` tool:Áþ*ú\†+ ```bashÁü–+b_ openssl pkcs12 -export -out identity.pfx -inkey key.pem -in cert.pem -certfile chain_certs.pemÁ<ý+ª•\,òó ò‡– óÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð.›.ˆ ¡,ˆ
derÁœ,passwordÁD¨,üô1=ü»-UR Parses a chain of PEM encoded X509 certificates, with the leaf certificate first.Áü•.RO `key` is a PEM encoded PKCS #8 formatted private key for the leaf certificate.Áì.úüô.[X The certificate chain should contain any intermediate cerficates that should be sent toÁüÔ/=: clients to allow them to build a chain to a trusted root.Á0úüž0^[ A certificate chain here means a series of PEM encoded certificates concatenated together.ÁTû1ôõ ô‡– õ‡–Žêˆ ‹2ˆ
ŠpemÁ†2±µ’2„î3¨/ŒŽü¶42ü…4,) Parses a DER-formatted X509 certificate.ÁD½4ö ö‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¨/›. Ë4
ŒýéÆ4üí62üÉ5,) Parses a PEM-formatted X509 certificate.ÁDô6÷ ÷‡–÷ð ‚7
áîý6ü¨9=ü€80- Parses some PEM-formatted X509 certificates.Át¯9ø ø‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­BÍ;÷<®B÷<9)
-ÜnL¨/ÑA. Ã9
ŽÍ;¾9ü¬;'üè:?< Returns the DER-encoded representation of this certificate.Á4³;ù ù¨/Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
›. º;
$»;‡>ü“<QN A TLS stream which has been interrupted midway through the handshake process.Á¬ð<¤ì» †=à/Ã_ÌâuÛ·*à/1?M·*à/
ä*egì‰=·*üª=H¤ì» ¯=Ÿ½Tç=à/–Àcüù=6ü=úûü úà/ û c cˆ¢cµ
 `£cÍ; `àB¤GS
ü¢; €>
ä*$>×QWüá> ¤˜˜ì» æ>à/™š
ÜÐ?üˆ?30 Returns a shared reference to the inner stream.Á.\À?<×?ý ýà/ ýä* ß?
ä*$à?üÛ@#ü’@41 Returns a mutable reference to the inner stream.Á.\Ë@<â@þ þà/ þä* ê@
šä*$ï@ü£AC¤œœì» ¨A‡ÁDÑA–ÁLÜAà/üˆEIüíA# Restarts the handshake process.Á•BúüBIF If the handshake completes successfully then the negotiated stream isÁüëBHE returned. If there is a problem, however, then an error is returned.Áü¸CGD Note that the error may not be fatal. For example if the underlyingÁü„DGD stream is an asynchronous one then `HandshakeError::WouldBlock` mayÁüÐD30 just mean to wait for more I/O to happen later.ÁLEà/“µ
ä*qZü¨JI¤ŸŸì» ­Jì%ä*àJŸ½TæJ›0 ¿ )+üøJ94ûJÿ ÿ›0Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ÿÓ¯ž ‚Kž
 ä*$ƒKüÇLI¤¢¢ì» ÌLˆƒÿLŸ½T…M›0£Åc£"$ü—M6šM ›0  c cˆ¢cµ
 `£cÍ; `àB¤GS
¢;¡ žM¡
£ä*$ŸM×\_ü§O:¤¥¥ì» ¬O›0¦ë¦üèO7$ëOñ*›0¤¤
¦ä*°Ç`ôªZüŽY" A builder for `TlsConnector`s.Á±YúüµYKH You can get one from [`TlsConnector::builder()`](TlsConnector::builder)ÁœµZêÆÚÜôIx7¨©ª«¬­®¯ÔÏZDÏZ§§Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙð.ôïZdïZ§§²«ô“[d“[§§²«ü·[#Œ·[§§·ôÔà[¤à[§§ô€\Ä€\§§l¤\<¤\§§ä·\´·\§§ÄŽ]êÆ±²³´µ·¸¹üù]Jü­]GD Sets the identity to be used for client certificate authentication.ÁD€^ƒ ƒêÆð.茰 ‰^°
±$Ž^æD”^üÝ`^ü†_0- Sets the minimum supported protocol version.Á»_úüÃ__\ A value of `None` enables support for the oldest protocols supported by the implementation.Á§`úü¯`)& Defaults to `Some(Protocol::Tlsv12)`.Á¤ä` êÆ²«µ° ù`°
²$þ`protocolÁD„aüÁc^üüa0- Sets the maximum supported protocol version.Á±búü¹b_\ A value of `None` enables support for the newest protocols supported by the implementation.Ácú¼¥c Defaults to `None`.Á¤Èc êÆ²«ø‘° Ýc°
³$âcëŽDècü‘gUüàdIF Adds a certificate to the set of roots that the connector will trust.Á®eúü¶e]Z The connector will use the system's trust root by default. This method can be used to addÁü˜fJG to that set when communicating with servers not trusted by the system.Áçfúìïf Defaults to an empty set.Á¤˜g êÆ¨/¥•° ­g°
´$²g˜$¸güÏiSü¬hSP Controls the use of built-in system certificates during certificate validation.Á„iúüŒi>; Defaults to `false` -- built-in system certs will be used.Á´Öi êÆµ—° íi°
µ$òidisableÁ<øiüšqVüóm/, Controls the use of certificate validation.Á§núįn Defaults to `false`.ÁÌnúlÔn
# WarningÁænúüînhe You should think very carefully before using this method. If invalid certificates are trusted, *any*ÁüÛokh certificate for *any* site will be trusted for use. This includes expired certificates. This introducesÁüËpJG significant vulnerabilities, and should only be used as a last resort.ÁÜ¡qˆ ˆêÆé›° ½q°
$Âq·¤Èqü£sDüÅr52 Controls the use of Server Name Indication (SNI).Áÿrú¼‡s Defaults to `true`.Á<ªs êÆ²° ²s°
·$·só<½sü§w^ü¢t.+ Controls the use of hostname verification.ÁÕtúÄÝtÊ—útúl‚u÷—”uúüœukh You should think very carefully before using this method. If invalid hostnames are trusted, *any* validÁüŒvol certificate for *any* site will be trusted for use. This introduces significant vulnerabilities, and shouldÁü€w" only be used as a last resort.Áü®wŠ ŠêÆ¡¡° Îw°
¸$ÓwÓÄÙwüˆy+üâx! Creates a new `TlsConnector`.Á,y êÆÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
™2›.° •y°
¹$–yŒ™2»¼½üÞ$ü§2/ Returns a new connector with default settings.Áå·¢ºº
»üü€'ü¸€/, Returns a new builder for a `TlsConnector`.Á.\ì€êƺº
¼üºˆ®ôÉ„ Initiates a TLS handshake.Áì„úüô„JG The provided domain will be used for both SNI and certificate hostnameÁ|Ã… validation.Á×…úüß…LI If the socket is nonblocking and a `WouldBlock` error is returned duringÁü°†HE the handshake, a `HandshakeError::WouldBlock` error will be returnedÁüý†GD which can be used to restart the handshake when the socket is readyÁTɇ again.Á؇úüà‡C@ The domain is ignored if both SNI and hostname verification areÁl¨ˆ
disabled.Á<ÁˆŒ Œ™2 ä*“µº¤¾¾ Õˆºì» Ɉ‡ÁDÓ‰–ÁLÞ‰
½ä*$Öˆ¨jefçDof57첋üŠ! A builder for `TlsAcceptor`s.ÁäŠúüèŠIF You can get one from [`TlsAcceptor::builder()`](TlsAcceptor::builder)Á”½‹„Ì)gð“‡óv4ÀÁ”֋DÖ‹¿¿ð.ôî‹dî‹¿¿²«ô’Œd’Œ¿¿²«¼ùŒ„ÌÄÅÆüîŽ]ü—0³ŒÌúüÔ_ùŒ¸ŽúüÀŽ)î¤õŽŽ Ž„Ì²«¹®Ã ŠÃ
Ä$ëŽD•üÑ‘]üŒ0ÁúüÉ_Ï­‘ú¼µ‘äؑ „̲«å¯Ã í‘Ã
Å$ò‘ëŽDø‘ü·–*ü’–  Creates a new `TlsAcceptor`.Á,¾– „ÌÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û2›.Ã Ä–Ã
Æ$Å–„î Û2ÈÉÊüˆ¢5ü…¡-* Creates a acceptor with default settings.Á·¡úü¿¡DA The identity acts as the server's private key/certificate chain.Á¢ð.ƒ±ÇÇ
ÈæD“¢üޤ8üú¢.+ Returns a new builder for a `TlsAcceptor`.Á­£úüµ£Dë±.\þ£<•¤ð.„ÌÇÇ
ÉæD¤üÔ¨ô°¦ǤÓ¦úüÛ¦Lø¥ü¬§HϦüù§G¢§TŨó§4Û¨ Û2ä*“µÇ¤ËË å¨Çì» â¨‡ÁD¿©–ÁLÊ©
Êä*$æ¨çD§i.0ù\üàª$! A stream managing a TLS session.ÁL«¤ÎÎì» š«“3GÜDP~|±ÖÍÏÐ-“3y]OÐ-“3ÌÌ
Íä*fhŒ«ÌÌÐ-ü²«/¤ÑÑì» ·«Ÿ½Tº«“3ÒÀcÒüè«6ë« “3  c cˆ¢cµ
 `£cÍ; `àB¤GS
¢;Ð ï«Ð
Òä*$ð«×¶j¤Ð¬¤ÔÔì» Õ¬“3ÕÖܳ­üë¬3Üú.\£­<º­ “3 ä*Ó ­Ó
Õä*$íü¾®#üõ­4ü.\®®<Å® “3 ä*Ó Í®Ó
Öä*$Ò®ü†¯*¤ØØì» ‹¯‡ÁDޝ–ÁL™¯“3ÙÚÛÜ&(üœ°1ü·¯IF Returns the number of bytes that can be read without resulting in anyÁ”…° network calls.Á”£° “3Ü× ¶°×
Ùä*$·°ü¿±=ü„±63 Returns the peer's leaf certificate, if available.Á„Ʊ˜ ˜“3˜á× ×±×
Úä*$رüÚ³=ü²SP Returns the tls-server-end-point channel binding data as defined in [RFC 5929].Áš³úü¢³30 [RFC 5929]: https://tools.ietf.org/html/rfc5929Á¤á³ “3šç× ö³×
Ûä*$÷³üß¶,ü»¶ Shuts down the TLS session.ÁDæ¶š š“3Ñ¡× ï¶×
Üä*$ô¶ü·7¤ÞÞì» Ç·‡ÁDÊ·–ÁLÕ·“3ßá ß%'ü€¸7$ƒ¸œ “3 œ‡–ô§Ý ˆ¸Ý
ßä*$¸Í;Ÿjüܸ8¤ááì» á¸‡ÁD世ÁL︓3âã !¤!âã02ü›¹4,ž¹ž “3 ž‡–ô§à ¤¹à
âä*$©¹Í;²jü÷¹%,ú¹Ÿ Ÿ“3Ñ¡à €ºà
ãä*$…ºŒ¿ºdºð;
äœÛºL庬õº<øºð;¥ççîÛ €» öÛ$ƒ»
æöÛ!¬’»<•»ð;¥ééîÛ »ÌìöÛ$ »
èöÛ "t,Ó'³z…†§>¥ëìîïòóôõö÷ìíò(Ó'ïðñã7¶8Ó'óõ÷ÄkÉkêê
ìàkãkò(Ó'êêŒËêêò(ákækêê
ïýklã7¶8Ó'êêõËêêã7„¿êê¶8TÖêêÓ'êêÓ'DæêêÓ'êêÓ'\ôêêÓ'êêÓ'uuÓ'ùÀcùuu ¡¢  Ó' ¡ c cˆ¢cµ