Files
boc/aamos-ledger-rust/target/debug/deps/libtower_http-8e42904030a43812.rmeta
T

3510 lines
835 KiB
Plaintext
Raw Normal View History

rust
J
#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ÁtracingÁÍím#žu‡K2c¦mu°-8c77d689db09a7a1Á tracing_coreÁ ×Üç2cà‡&AfR˜-e3485af10456d858Á once_cellÁ6ÿ]Ô¯q4c]kÂÓ‹-a47cd60ec4e2e104Átracing_attributesÁÿS:FN¢×D2pª`;¨-40899a47d4b3db36Ápin_project_liteÁ·x¼+Ä`·á¨›t—¸Íœ-2dc344ecc91b59efÁlogÁ’@ž®LäÏë´©†l¶æÞ-d2ed4e8c2a586cf8Á http_bodyÁÙè!" )I
lŽà‚ÝFŬ-5ba25dbd9e9a894eÁhttpÁz"fL†ØÞÄ_°¢_ qÛ-e48ab040bc3ddb47ÁbytesÁ`²['3_²µÆ=üå¥-d4f44708ed5da7b6ÁitoaÁrLpèòÐ
ݽ‚AéGT'-7ba5a7b63f68a66bÁ tower_layerÁX*ø6êWHNᕈf§-ee72e88a461fccddÁ
tower_serviceÁ:`¡{¶aÛ¬í"aô-3b2010b03e380b78ÁbitflagsÁÊCd©Áòt!ž
è±éŠ-795688bf52842371Á test_helpersÁd±6$¦6authÁ$á6»ð „Æ6
set_headerÁT7»
set-headerÁ´î6propagate_headerÁ„É7»propagate-headerÁä¢7 compressionÁ\ü8»compression-brÁÔë7»compression-deflateÁü‹8»compression-gzipÁä°8»compression-zstdÁäÒ8üå7Œ
add_extensionÁl´9»
add-extensionÁÌ9sensitive_headersÁŒò9»sensitive-headersÁìÊ9
decompressionÁl®;»decompression-brÁä•:»decompression-deflateÁü·:!»decompression-gzipÁôÞ:»decompression-zstdÁô‚;ü:”content_encodingÁ„µ> »ƒÔÍ;»üí;»½ä’<»Ùä´<»üäÖ<»˜üø<!»ºôŸ=»ØôÃ=»fsÁtç=üÇ;çcompression_utilsÁŒõ@»ƒÔ×>»ü÷>»½äœ?»Ùä¾?»üäà?»˜ü‚@!»ºô©@»ØôÍ@üÑ>CompressionLevelÁ„ÍC»ƒÔ˜A»ü¸A»½äÝA»ÙäÿA»üä¡B»˜üÃB!»ºôêB»ØôŽCü’Amap_response_bodyÁŒŽD»map-response-bodyÁìæCmap_request_bodyÁ„ÏD»map-request-bodyÁä¨DtestsÁ,©follow_redirectÁ|¸E»follow-redirectÁÜ’ElimitÁ,ìE»ÑŒÐEmetricsÁ<˜F»ìœúEÔƒ¤ƒ
request_idÁTñF»
request-idÁ´ÐF catch_panicÁ\¦G» catch-panicÁ¼„G
set_statusÁTÛG»
set-statusÁ´ºGtimeoutÁ<ŒH»±œîGnormalize_pathÁtÁH»normalize-pathÁÔœH
on_early_dropÁlüH»
on-early-dropÁÌØHƒ,âY$×Yàƒ,™usable_for_retriesÁ”Øe$Íe¼redirectÁDÿ»ÿ¤à¼RedirectÁDλÿ¤¼úø»ú¼ServeDirÁD¶»ú¼ ServeFileÁLÀ»ú "builderÁ<ÎI»utilÁ„·I service_extÁ\ôI»£„ÝIServiceBuilderExtÁŒÂJ»£„ˆJ
ServiceExtÁTâJ»£ "validate_requestÁ„K»validate-requestÁäöJbodyÁ$ M»ò¼¿K»üäÜK»˜üþK!»ºô¥L»ØôÉL»útíL»ÑŒMü¹KÜÀmacrosÁdefine_inner_service_accessorsÁ opaque_bodyÁ
opaque_futureÁtraceÁ 
  
 HttpMakeClassifierÁGrpcMakeClassifierÁevent_dynamic_lvlÁÍ,,,,,,,,,, ,
, , ,
,,,,,,,,BBB OnBodyChunkTÁBOnEosTÁB
OnFailureTÁBDataÁBErrorÁB
poll_frameÁB
is_end_streamÁB size_hintÁfutureÁMMMMMMMMMM M
M M M
MMMMMMMMMMMMgFutÁgResBodyÁggg OnResponseTÁgçgúgg°gŠ q q layerÁtttttttttt t
t t t
tttžæ tˆžˆMakeSpanÁˆ OnRequestÁˆ
OnResponseÁˆ OnBodyChunkÁˆOnEosÁˆ OnFailureÁˆ
on_requestÁ NewOnRequestÁˆ on_responseÁ
NewOnResponseÁˆ
on_body_chunkÁNewOnBodyChunkÁˆon_eosÁNewOnEosÁˆ
on_failureÁ˜ NewOnFailureÁˆmake_span_withÁš NewMakeSpanÁtœ new_for_httpÁtž new_for_grpcÁt ¤ ž ©# ¹# Ê# Ü# ï# ü# ServiceÁ ¼" make_spanÁ««««««©#±±ý&«´´ý&«···ý&«»æ »levelÁ»include_headersÁ«¿>«ÁÁý&Ãý&Û$ÅÅÅÜ#ÈÈÛ$ÅËËËÛ$ÅÏÏÛ$ÅÒæ ÅÔÔÛ$†%×××××××××× ×
×ï#ã†%×å†%×çç†%×ê>×ìæ ìþ'ì latency_unitÁ×ð†%ñ ¤%óóóóóóóóóó óü#þ FailureClassÁþ¤%óÀ+¤%óÀ+¤%óˆ>óŠæ Šþ'ŠÙ*óŽÀ+ޤ%$¹#$$œœœ$ >¢æ ¢þ'¥¥$³$¨¨¨¨¨¨¨¨¨Ê#±±³$¨´´³$¨···³$¨»>¨½æ ½þ'½Ù*½‹(¨Â³$Ä ¨statusÁÆÆÆ serviceÁÊÊÊÊÊÊÊÊÊÊ Ê
Ê Ê Ê
ÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊ Ê!Êí¤ížíæ í¼"Êò¤òžò©#ò¹#òÊ#òÜ#òï#òü#ò$ûŸ$ò³$ýÆ$òÛ$ÿð$ò†%”%ò¤%ƒ¶%òÊ%à%ʤ÷%ÊŠ¤Š&ʤReqBodyÁã!ž
OnRequestTÁÿ!çú MakeSpanTÁResponseÁ£ FutureÁ
poll_readyÁÑDEFAULT_MESSAGE_LEVELÁDEFAULT_ERROR_LEVELÁLatencyÁŸøŸdurationÁ¢×corsÁ¤¤¤¤¤¤¤¤¤¤ ¤
¤ ¤ ¤
¤¤¤¤¤¤¤¤¤¤¤allow_credentialsÁ½½½½½½½½½½ÇÿÇ predicateÁÉÇis_trueÁÇ to_headerÁÌTRUEÁ½Î÷½Ðפ
allow_headersÁÒÒÒÒÒÒÒÒÒÒ Ò
ÒÞºÞlistÁàšÞmirror_requestÁÞ is_wildcardÁÞŒ7Òå×Òç÷ÒéŸé é÷ì Òî÷Òð>¤
allow_methodsÁòòòòòòòòòò ò
ò òÿºÿexactÁÿœ8š ÿ°8ÿÆ8ÿŒ7òˆ×òŠ÷òŒ÷òŽŸŽ Ž÷ ò÷ò>¤ allow_originÁ 
  
ªºª‘:ªœ8­šªä6¯ªasync_predicateÁ±±Ù!± ª°8µ ªÆ8ª to_futureÁ¸ ¸ ¸ ¸ ¸ ¾okÁ¾futÁÀ°Š Å×Ç÷É÷ËŸË Ë÷Î Ð÷Ò>¤allow_private_networkÁÔÔÔÔÔÔÔÔÔÝÿÝä6ßÝŒ7áREQUEST_PRIVATE_NETWORKÁáALLOW_PRIVATE_NETWORKÁá7Ôå÷Ôçפexpose_headersÁéééééééééé é
éõºõœ8÷šõÆ8õŒ7éû×éý÷éÿŸÿ ÿ÷ é÷é>¤max_ageÁˆˆˆˆˆˆˆˆˆˆ ˆ:dynamicÁŒ7ˆ˜×ˆš÷ˆœ>¤varyÁžžžžžž¤œ8¥š¤Œ7ž¨>žªŸª ª÷­ ž¯÷¤¤¤¤¤¤¤¤¤ ¤WILDCARDÁ¤»æ »
permissiveÁ»very_permissiveÁ»6¿¥»Ã7Á¥»âAÃ¥»³9Å¥»ª;Ç¥»–@É¥»Î>Ë¥»õBÍ¥¤º¤separated_by_commasÁК¤Ò>¤Ô¤Ôç&Ô¼"¤Ø¤Øæ عDØËDؼ"Ø‘6Þ¥Þ ØÃ7á¥á ØâAä¥ä س9ç¥ç ت;ê¥ê Ø–@í¥í ØÎ>ð¥ð Ø map_layerÁó¤õ¤õ„3õã!õæ3õ£ õþ3õŒ4õѤþþþþ°þŠ ¤ensure_usable_cors_rulesÁ¤preflight_request_headersÁclassifyÁgrpc_errors_as_failuresÁ 
 ž into_bitmaskÁ ÷¢÷¤ try_from_u32Á¦>¨æ ¨ with_successÁ¨make_classifierÁ¬À+¬ ClassifyEosÁ¬classify_responseÁ¯¬classify_errorÁ±³À+³ classify_eosÁ³¯L¸×classify_grpc_metadataÁºor_elseÁº map_failure_classÁ½½½½½½½½½ÆÆÆæ ½ÊÊÊ×½ÎÎÎNewClassÁÎÀ+ÎûKÎŽLÔίLÖ½ØØØÍNØÀ+ØÚLدLÞstatus_in_range_is_errorÁààààààààààêæ ê new_for_client_and_server_errorsÁêinto_make_classifierÁàîÀ+îûKîŽLñî¯Lóàõ× 
  
MakeClassifierÁ
ClassifierÁÀ+ûK×Kæ ŠŠÀ+ŠûKŠòQŠ×KClassifyResponseÁÀ+ûKŽL¯L½M˜˜ÍNûKÀ+ÚL¯Lž½M  ÍNNeverClassifyEosÁ£¥£
_output_tyÁ£_neverÁ§¥§À+§ÚL§¯L«­¥­×°æ °×K³À+³ûK³ŽL³¯L¸º×servicesÁBoxErrorÁ, ResponseBodyÁ¾¾¾Ü#¾ï#¾ü#¾innerÁ¾ÚL¾†%¾Û$¾¤%¾¹¾spanÁ,ËÌÌÌÜ#Ìï#Ìü#Ë__assert_not_repr_packedÁÒÒÒÜ#Òï#Òü#Ë
ProjectionÁØ'__pinÁØØØÜ#Øï#Øü#ØÀVØÚL؆%ØÛ$ؤ%عØõVË
ProjectionRefÁæŽXæææÜ#æï#æü#æÀVæÚLæ†%æÛ$æ¤%æ¹æõVÌprojectÁôŽXÌ project_refÁöŽXË__OriginÁøŽXøøøÜ#øï#øü#ø__dummy_lifetimeÁøÀVøÚLø†%øÛ$ø¤%ø¹øõVËŽXÜ#ï#ü#ËMustNotImplDropÁË¥ËÜ#ï#ü#MResponseFutureÁÊ#Ü#ï#ü#ÀVõV
classifierÁ³$Û$†%¤%¹M¦§§§Ê#§Ü#§ï#§ü#¦´W®®®Ê#®Ü#®ï#®ü#¦üWµŽXµµµÊ#µÜ#µï#µü#µÀVµõVµ–]µ³$µÛ$µ†%µ¤%µ¹¦üXÅŽXÅÅÅÊ#ÅÜ#Åï#Åü#ÅÀVÅõVÅ–]ų$ÅÛ$ņ%Ť%ʧùYÕŽX§Z׎X¦«ZÙŽXÙÙÙÊ#ÙÜ#Ùï#Ùü#ÙëZÙÀVÙõVÙ–]Ù³$ÙÛ$Ù†%Ù¤%Ù¹¦êŽXêêêÊ#êÜ#êï#êü#¦ð[¦ó¥¦õõõÊ#õÜ#õï#õü#t
TraceLayerÁüžü©#ü¹#üÊ#üÜ#üï#üü#ü×Küý&ü$ü³$üÛ$ü†%ü¤%tž©#¹#Ê#Ü#ï#ü#×tž©#¹#Ê#Ü#ï#ü#tœ žœ ©#œ ¹#œ Ê#œ Ü#œ ï#œ ü#œ ƒ«DefaultMakeSpanÁ¥ þ'¥ («¨ ׫ª ƒÃÃ
__CALLSITEÁ­ METAÁ® NAMEÁ¯ ® f± ® ›f³ ® ›fµ ÃÃÃÃÃÃÃÃà ÃýeÀ fÁ ›f Á fÄ Á ›fÆ Ã
à à Ã
ÃÃÃÃÃÃýeÑ fÒ ›fÓ Ò fÕ Ò ›f× Ò ›fÙ ÃÃÃÃÃÃÃÃÃÃýeä få ›fæ å fè å ›fê ÃÃÃÃÃ Ã!Ã"Ã#Ã$Ãýeõ fö ›f÷ ö fù ö ›fû ö fý Ã%Ã&Ã'Ã(Ã)Ã*Ã+Ã,Ã-Ãýeˆ
f
fŠ

fŒ

fŽ
Ã.Ã/Ã0Ã1Ã2Ã3Ã4Ã5Ã6Ãýe
fš
f
š
f
š
fŸ
š
f¡
Ã7Ã8Ã9Ã:Ã;Ã<Ã=Ã>Ã?Ãýe¬
f­
f®
­
f°
­
f²
Ã@ÃAÃBÃCÃDÃEÃFÃGÃHÃýe½
f¾
f¿
¾
fÁ
¾
fÃ
¾
fÅ
ÃIÃJÃKÃLÃMÃNÃOÃPÃQÃýe Ð
fÑ
fÒ
Ñ
fÔ
Ñ
fÖ
ÃRÃSÃTÃUÃVÃWÃXÃYÅDefaultOnBodyChunkÁà
_privÁÅâ
×Åä
>Åæ
ƒ× DefaultOnEosÁè
þ'è
Ù*×ë
ƒ×í
×ññýeñ ð
fò
fó
ò
fõ
ñ
ñññññññññ ñ
ñýeñ  f ›f  ›f ƒ ñ ñ ñ
ññññññññýeñ  f ›f  ›f  ñññññññññññýeñ ¦ f¨ ›f© ¨ ›f« § ññ ñ!ñ"ñ#ñ$ñ%ñ&ñ'ñ(ñýeñ ¸ fº ›f» º ›f½ ¹ ñ)ñ*ñ+ñ,ñ-ñ.ñ/ñ0ñ1óDefaultOnFailureÁÉ þ'É Ù*óÌ ƒóÎ ×ýe Ñ fÓ ›fÔ Ó ›fÖ Ò  
ýe ã få ›fæ å ›fè ä   
ýe õ f÷ ›fø ÷ ›fú ö ýe  f ›fŠ  ›fŒ ˆ  !"#$%&'(ýe  f ›fœ  ›fž š )*+,-./01DefaultOnRequestÁª þ'¬ ƒ® ×§§ýe§ ± f² §§§§§§§§§ §
§ýe§ ¿ fÀ § § §
§§§§§§§§ýe§ Í fÎ §§§§§§§§§§§ýe§ Û fÜ §§ §!§"§#§$§%§&§'§(§ýe§ é fê §)§*§+§,§-§.§/§0§1¨DefaultOnResponseÁö þ'ö Ù*ö ‹(¨ú ƒ¨ü ×ÄÄýeÄ ÿ f
f

f

f

ÄÄÄÄÄÄÄÄÄ Ä
ÄýeÄ 
f
f

f˜

fš

Ä Ä Ä
ÄÄÄÄÄÄÄÄýeÄ §
f©
fª
©
f¬
©
f®
¨
ÄÄÄÄÄÄÄÄÄÄÄýeÄ »
f½
f¾
½
fÀ
½
fÂ
¼
ÄÄ Ä!Ä"Ä#Ä$Ä%Ä&Ä'Ä(ÄýeÄ Ï
fÑ
fÒ
Ñ
fÔ
Ñ
fÖ
Ð
Ä)Ä*Ä+Ä,Ä-Ä.Ä/Ä0Ä1ÊTraceÁâ
¤â
žâ
©#â
¹#â
Ê#â
Ü#â
ï#â
ü#â
ÀVâ
×Kâ
ý&â
$â
³$â
Û$â
†%â
¤%Êó
¤ó
žó
©#ó
¹#ó
Ê#ó
Ü#ó
ï#ó
ü#ó
×Êý
¤ý
žý
©#ý
¹#ý
Ê#ý
Ü#ý
ï#ý
ü#ý
ƒÊ¤ž©#¹#Ê#Ü#ï#ü#òget_refÁòget_mutÁò
into_innerÁ½AllowCredentialsÁ
ˆ½ƒ½˜>½AllowCredentialsInnerÁšYesÁ
š PredicateÁ
ˆŸ'aÁ½¡ƒ½£>šNoÁ¥
Ò AllowHeadersÁ§
§ˆÒªƒÒ¬>ÒAllowHeadersInnerÁ®h¯
¯ˆ®
MirrorRequestÁ²
Ò´ƒò AllowMethodsÁ
ˆò¹ƒò»>òAllowMethodsInnerÁ½h¾
¾ˆ½ú…Á
ò Ã AllowOriginÁÅ
ň ȃ
Ê>AllowOriginFutureÁÌ«ÍresÁÌþ3Ïä AllowOriginFutureProjÁÑŽXÑ«Óý‡Ñþ3Õä רùYÙŽX׫ZÛŽXÛëZÛ«Ûþ3×àŽX×ð[×ã¥× OriginInnerÁæhç
çˆæListÁê
êˆæÄí
íˆïá„æAsyncPredicateÁñ
ñˆóá„ õƒÔAllowPrivateNetworkÁ÷
÷ˆÔúƒÔü>ÔAllowPrivateNetworkInnerÁþ³„ÿ
þÄ
ˆƒá„ÔƒÔ>þ„…
é
ExposeHeadersÁ
ˆéŽƒé>éExposeHeadersInnerÁh
ˆéƒˆMaxAgeÁ˜
˜ˆˆƒˆ>ˆ MaxAgeInnerÁŸExactÁ 
 ˆŸ£
£ˆ¥á„ˆ§ƒžVaryÁ©
©ˆž¬ƒž®×¤ CorsLayerÁ°6°Ã7°³9°ª;°Î>°–@°âA°õB¤¹×¤»ƒ¤AnyÁ½
¤¿×¤ ¤
ƒ¤ ¤CorsÁŤÅÀVż"¤ ɤÉפ
̤̃بƒØ·ƒØƃ¤À\ÒÒÀV¤ÕÖÕ´WØÕüWÚŽXÚÚÀVÕüXÞŽXÞÞÀVÖùYâŽXÖZäŽXÕ«ZæŽXææëZæÀVÕëŽXëÕð[Õï¥Õñ¤KindÁóóCorsCallÁõallow_origin_futureÁõallow_origin_completeÁõä õheadersÁó
PreflightCallÁúò’ú²“¤KindProjÁýŽXýýâ’ò’ä ²“ýÁ“ò’²“¤ˆùYŽXˆ«ZŽXëZâ’Á“ˆŽXˆð[ˆ¥ˆGrpcCodeÁ«œ
 CancelledÁž
UnknownÁ 
InvalidArgumentÁ¢
DeadlineExceededÁ¤
NotFoundÁ¦

AlreadyExistsÁ¨
PermissionDeniedÁª
ResourceExhaustedÁ¬
FailedPreconditionÁ®
AbortedÁ°

OutOfRangeÁ²

UnimplementedÁ´
InternalÁ
 UnavailableÁ¸
DataLossÁº
UnauthenticatedÁ¼
 
¿ƒ  Â×GrpcCodeBitmaskÁÅ
ň
È×˃ÄInternalBitFlagsÁÎ
ΈÄÄÒƒÄÄÄÖÄØÖÄÚï
ÄÜÄÞ§ßùÄ Ä
âFLAGSÁã__bitflags_flag_namesÁäâBitsÁâ´âfrom_bits_retainÁâ all_namedÁé ALL_NAMEDÁáOKÁá CANCELLEDÁáUNKNOWNÁáINVALID_ARGUMENTÁáDEADLINE_EXCEEDEDÁá NOT_FOUNDÁáALREADY_EXISTSÁáPERMISSION_DENIEDÁáRESOURCE_EXHAUSTEDÁáFAILED_PRECONDITIONÁáABORTEDÁá OUT_OF_RANGEÁá
UNIMPLEMENTEDÁáINTERNALÁá UNAVAILABLEÁá DATA_LOSSÁáUNAUTHENTICATEDÁ䌜䖜䧜䶜äΜäçœäøœäŽä§äÁäÜäëäÿ䔞䤞䷞äÈžÄ  PrimitiveÁª˜Ä >Ä
×Ä×Äþ˜ ÄšÉÄœ÷Äžbits_mutÁÄ emptyÁ £ ´  from_bitsÁ from_bits_truncateÁ Ò›  from_nameÁ§œ›¨ is_emptyÁ is_allÁ 
intersectsÁ containsÁ insertÁ removeÁ toggleÁ setÁ  intersectionÁ C 
differenceÁ symmetric_differenceÁ 
complementÁ¨Œœ¨–œ¨§œ¨¶œ¨Μ¨çœ¨øœ¨Ž¨§¨Á¨Ü¨ë¨ÿ¨”ž¨¤ž¨·ž¨ÈžÄÈ×ÄÊ×ÄÌ×ÄÎ×ÄабÄÓ²ÄհյĨÄÚ°Ú¯ÄݰÄß°ßÚÄâÛÄ ä°ä
Ä!çextendÁè¥Ä"êùë¥ëÄ#îùî
iter_namesÁÄ$ññIntoIterÁñêÄ%õŠ¡õ£õ´õ§¡õ¸¡õÒ›õÛ¡õú¡õŠ¢õ˜¢õª¢õº¢õÈ¢õÖ¢õä¢õï¢õCõŠ£õœ£õ¸£Ä&Š×Ä'Œ×Ä(Ž×Ä)×Ä*°±Ä+²Ä,°µÄ-šÄ.œ°œ¯Ä/Ÿ°Ä0¡°¡ÚÄ1¤ÛÄ2¦°¦
Ä3©¹¦ª¥Ä4¬ù­¥­Ä5°ù°ö¦Ä6³³•§³êGrpcErrorsAsFailuresÁ·
success_codesÁ¹×»ƒGrpcEosErrorsAsFailuresÁ½³«¿×ÁƒGrpcFailureClassÁÃCodeÁÄ
Ĉã Ç
LjÊ×ParsedGrpcStatusÁÌSuccessÁÍ
Ì
NonSuccessÁÏ
ψÌGrpcStatusHeaderMissingÁÒ
ÌHeaderNotStringÁÔ
Ì HeaderNotIntÁÖ
Ø×ÛÝÖ½MapFailureClassÁßßßÀVß±½ää䃽èèàStatusInRangeAsFailuresÁërangeÁàí×àïƒàStatusInRangeFailureClassÁñ
StatusCodeÁò
òˆñ£ õ
õˆàø×SharedClassifierÁúú–]ýý׃ClassifiedResponseÁƒÀ+ƒûKƒÈ
ˆƒ RequiresEosÁ
ˆ ŒÀ+ŒûKŒ×ServerErrorsAsFailuresÁÍn
ƒ × >ServerErrorsFailureClassÁ˜—°
ˆ˜£ œ
œˆ
Ÿ× LatencyUnitÁ¡SecondsÁ¢
¡MillisÁ¤
¡MicrosÁ¦
¡NanosÁ¨
¬ƒ®×J
J
J
K
L
q
q
q
ª
³
³


·
º
º
Ã
Ã
Ê
Ê
Ê
Ë
Ë
Î
Î
Î
Ñ
Ñ
Ñ
Ö
Ö
Ö
ä
ä
æ
æ
ç
ç
é
é
ñ
ñ
ñ
ñ
ñ
ñ
ñ


ƒ
ƒ










˜
˜
˜



œ
œ
Ÿ
Ÿ
Ÿ
§
§
§
§
§
§
§
§
³
³


·
·
º
º
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Æ



œ
£
£
£
É
É
Ë
Ì
Ì
Ì
Ñ
Ñ
Ñ
ã
ä
ä
æ
æ
æ






¯
¯
±
·
¸
¸
¸
Ä
Ä
Ä
Æ
Æ
Æ
ß
ß
á
á
á
è
è
è
ù
ú
ú
ü
ü
ü








§
×
ü
ü
ü
ý
ƒ
ƒ
ƒ

¯
±
µ

¹
¹
¹
º
Í
Í
Í
Ô
Ö
Ý
Þ
ñ
ó
ö
ö
ö







ž
ª
«
¯
¯
¯

¸
»
»
»
Ò
®



¤
©
©
©
«
ã
ã
ã
ç
ì
î
î
î
Í
Ï
Ï
Ï
­
¯
¯
¯
û
ý
ý
ý
ü
ü
ü




¢
«
µ
º
Ä
É
ö
û



œ
¨
­
¯
¯
¯
º
º
º
¼
À
À
À
Ã
Ë
Ë
Ë
Î
Ï
Ð
Ø
À
Ã
Ã
Ã
É
É
É
Ì
Ó
×
×
Ù
Û
Û
Ý
Ý
ß
ß
ç






˜

Ÿ
£
§
ª
«
¬
­
®
¯
°
±
É
É
É
Ë
Ë
Ë
Í
Í
Í
Ï
Ï
Ï
Ô
Ù
Þ
ã
è
ï
ð
ø
ü
ý
þ
ÿ



ƒ















 
¥
ª
±
²
º
º
º
¼
À
À
À
Â
Ë
Ë
Ë
Ù
Ù
Ù
Ü
Ü
Þ
ç
î
î
î
ð
ù
ù
ù
ÿ
ÿ
ÿ








 
 
 
­
¯
¯
¯
Žò±Èãþ±âî“í¾¾„VÄÀVÅÚLƆ%ÇÛ$Ȥ%ɹÊõV·ŒØF’¾þÜ#ï#ü#ޥ޾¾„VÄÀVÅÚLƆ%ÇÛ$Ȥ%ɹÊõV·ŒØF’¾þÜ#ï#ü#)¾¾„VÄÀVÅÚLƆ%ÇÛ$Ȥ%ɹÊõV·ŒØF’¾þÖÇÜÇçú“íÀ\žÀVŸõV –]¡³$¢Û$£†%¤¤%¥¹dŠþ)–´C»ÆÊ#Ü#ï#ü#òÚÆòÀ\žÀVŸõV –]¡³$¢Û$£†%¤¤%¥¹dŠþ)–´CÜÇÊ#ÁÆÇÆÍÆ‚ØÀ\žÀVŸõV –]¡³$¢Û$£†%¤¤%¥¹dŠþ)–´CÙ!ÿ!çú¿cüüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖž©#¹#ʕʛʡʊ üÌØüÌÚüüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖž©#¹#Ê#Ü#ï#ü#¤±©©SpanÁªÀV«ûŒû3½p—è®ÖDZ³ËµÆ¿c¥ ¥ ·e¦ þ'«§ («Rx,/¶üبг¨Ð±¨ÐÖÇÈ…ÊÖÇÈÖÇ¿cà
à
³ná
ÍnÅ{ZÉBq8•z³«ÑØ«ÑÈ«ÑÖÇãã³ËØè
è
€oé
þ'×ê
Ù*×ÓØ/õâ¿cšÒ³šÒãšÒþÀ+þ³ËÀ+ØÉ É ¼sÊ þ'óË Ù*ó²§oâWοcÓ³ÓþÓÿÒÖÇ…ÊÖÇØª ª üw« þ'C7`O»rì¿c Ô³ Ô ÔÖDZÖDZ…ÊÖÇØö ö ²{÷ þ'¨ø Ù*¨ù ‹(¨û펕e‹‰P¿c—Õ³—Õ±—ÕÖÇ¿câ
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃÏ™ÏŸÏ¥Ï«Ï±Ï·Ï½ÏØ‰ÖŠ ‰Öâ
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃÏž Õ3£3ÿ!çúôôRequestÁöheadÁ¦÷ͦŒ4ñŠ|å„3ÄcŸŸÛ4 ø¡ò4µ¦¹XÛY^‘Ø؃ˆ½ })v˜k~`гúÙéúÙ¿cúÙØšœ³„¥¦„…žÄŸˆ½‰Ò÷ ¾J\³×ÚØ§§¨“…©ˆÒ ^wm=­³¾Û¿c¾Ûé¾Û½½¾ ܬñä ÅŸé¾Ûëë
HeaderNameÁìÀVÃŽ4LÓN碟é¾ÛªBªBö­BbufÁ÷<®B÷<9)
-ÜnLÅÜçEçEèEGlobalÁ ¿±‡§í#Ø®¯°h±ˆÒ²³ú…½±êÅ«¯£‹³ÞØ·¡†¸ˆò a:[MÔ4³ÕÞ¿cÕÞéÕÞ’ÜéÕÞ¥¥¦MethodÁ§ˆÔ É©jm…½¸ééÕ޸ߟéÕÞªBªBö­B Ü÷<®B÷<9)
-ÜnL¸ßÎÝØ½¾¿hÀˆòÁÂú…–„¬Y+í½³ÚàØÅÅÆ£‡Çˆ <½‘ò†³³®á“íÌÍ«Îý‡¤Ïþ3Ðä ¤äôÈ5¡gâÚÆâôá‚Øôá¿c®áé®á’Üé®áºº HeaderValueÁ»ÀV¾¼ is_sensitiveÁ¾ÚÞ ªMé®á‚ãŸé®áªBªBö­B Ü÷<®B÷<9)
-ÜnL‚ãÎÝØæçèhéˆêëð‰ìˆíîÄïˆñò¨ŠóˆNpuk=xÝ5³½äØ÷÷øáŠùˆÔ ²wý[ÐÒÕ¬³×åé×å¿c×åØþÿ³„Š„…ăˆÔjkºáÔ|Z³´æØŒ–Œˆé ÅF¶¡kȳ›ç¿c›çé›ç’Üé›çÄÜé›çÝØhˆéÀ ;</zù=³˜èؘ˜Œšˆˆ ½CÌÀä³Ûè¿cÛèéÛè­Ö­ÖDurationÁ®ÖsecsÁâ}¯ÖnanosÁâ}Zµ–²ªØŸ ¡Ó¢ˆˆ£¤¥ˆˆê»HÅvƯ³…êØ©©ª˜Ž«ˆž vÌÊ(qœ '¿cæê³æêéæêÄÜéæêÝ¿c°°Ëޱ‘6¤²Ã7¤³³9¤´ª;¤µÎ>¤–@¤·âA¤¸õB¤ÁÚø±‚ØvWØÔë¿c’ÜÛ’ÜØ’ÜŠ ’ܳÔëÚÔëÃÏ¿cÅÅêÇÀV¤È¼"¤Tqé¦ÊÃÏØ¯í¯í験íÒÒÀ\ÔÀV¤:v¢½€ª)l…ÊîÚÆîÒÒÀ\ÔÀV¤:v¢½€ª)l³Ë“íóõâ’öò’¤÷¤øä ¤ù²“¤úÁ“ûò’¤ü²“¤)y•ž¾G…ÊÚÆóõâ’öò’¤÷¤øä ¤ù²“¤úÁ“ûò’¤ü²“¤)y•ž¾G³Ë‚ØÓîÛœ«žŸù• ¡¢££–¤¥¿–¦§Ü–¨©ñ–ª«‹—¬­¨—®¯Æ— °±å—
²³ù— ´µ˜ ·ª˜
¸¹¿˜º»ט¼½ì˜UM'åžÎ‡GØ´ñŠ ´ñ¿c´ñé´ñé´ñô ô õ ¨÷ ˆÐ  mjçítoé¿cÅÅÆ³™Çˆ d!ürÛàôØàôŠ àôÛÎÎÏû™Ðˆ ÝÅÎWGõãHØ»õŠ »õÐì»õµß»õ»õ»õíß»õ»õº»õše»õ {àô £àô³»õ¿c»õÄc»õïy»õà»õé»õÈc»õÆc»õÊc»õÌc»õ–ú»õ»õ•˜»õ»õ¶û»õ»õ̘»õ»õöø»õ»õÞ—»õ»õï»õ»õœö»õ»õ•!»õÐL»õ»õÃL»õ»õÇL»õÈcàôÆcàôÊcàôÌcàô–úàôàô•˜àôàô¶ûàôàô̘àôàôöøàôàôÞ—àôàôïàôàôœöàôàô•!àôÐLàôàôÃLàôàôÇLàô¿c··—«¸³««_RiˆÄ\Øõú³õúõú¿c½½â«¾³«Ñè?oͦ=ÁØÍûÍû¿cÃÄż¬ÆˆÇÈ£ ɈdDÑTÔ:²ÁÄcšü¿cÌÍέÏУ­ÑˆÒÓ­ÔÕæ­Öׂ®ä#3×l¥aÐìõüµßõüõüõüØßßÇ®âÀV½ã±½!kü‰)…ÊŠ ™þ¿c™þ™þ™þ¿cëë°¯ìϯà’{“ÀÞí0Ø‘ÿ‘ÿ¿cñòó—°ôˆõö£ ÷ˆèÒ'¸”rÄcÞÿ¿cúúذü–]Ѿ÷:Ôþع€¹€¿cƒÈˆˆŠé±ˆÚÙm4¢ÿÒûK££ŽT¥®T¦ÀT»¯oç šsÚÆ¿cãØ¦²Ín·oa^ ¢Æ¿c³‚³³‚³‚¿c˜š—°ˆœ£ žˆÊ-ÍdËa¸ÂÄcŠƒŠ ¡¢£ܳ¤¥ð³¦§ƒ´¨©–´Uæj°&|fÛåƒØåƒ¿c僾êàÌëÒó¾B¾óõgÂÌþÒü¨ ¥ â
à
í
è
Î É ® ª ü ö ó
â
Ð姈ÅÅç÷û˜˜®©¹°¿½ÉÅÂÈÅι·¿½ÊÃØÌÊßíëøñýúŒƒ­£Ÿ˜®¡üâ
ĽÁÍÅÔÎèߪ¡œ üª ¥ æ
à
ë
è
Ì É ¬ ª ú ö ý
â
¡šª§´®¹Ã½ÈÅõæú÷þŽ˜§Ÿ¬©»°Â½ÌÅ¿ËÅÒλ·Á½äßïëú¬¡ üÔ°´©·Á¥ ¿¥ ä
à
êè
ˆÉ  ª »ö ˜£š¬§ð®»½ÊÅÒæü÷þ˜œŸ¨©Ò°Î¦·ËÏ
Ôà
å
çðè

ŽÉ 
œ¥ª ´
·Âö â
õÅ¢ŸÎ¸Ãõñº˜Îç§é§î§ŠŒŽÇÅÉÅËÅÐÅå÷ýÿš˜ª©¯© ¢œÎãåÌÁ½¾ÊÅÑΫ¡ïñÒóÕÎÚÌÖÎÛÌØÎÝÌÚÎÜÎÞÎâÅÅΚÎÈΊÅÊÎŒÅÌÎŽÅÎÎÅÐÎÅÓÎÅÕÎÅØÎšÅÚΜÅÝΟÅßΡÅâΤÅäΦÅçΩÅêάÅñγŬ·Îßîë³³½Øß§£Šú“í Ž#)
ò‚Ø
¿c#Š õØ$8Úü±³È¯ãþ±Äcé#âšÛ
î#
Ðì
µßíߺše { £ïyàÈcÆcÊcÌc–ú•˜¶û̘öøÞ—ïœö•!ÐLÃLÇLù’›ô,
 'ùóóU
ùóó'
­j> Çô ùÓòö¯ ¦¦§ FieldNameÁ©ˆ |ŵ’½ÛV6ùßò¿“¿“
ˆù‘¸ó,
¿“&ùóU
ùó'
²[0 äó îóù‚óm°  ¿“©¿“±7{ _ }Áù•›ô,
¿“&ù“óóU
ù“óó'
­i>Çô ù“Óòö± ¦¦§Ó“©ˆ |ŵ’½ÛV6ù“ßò¿“ø¿“ù”¸ó,
¿“&ù“óU
ù“ó'•–Y.äóîóù“‚óm²  ¿“§¿“¯7{ _ }Áù˜›ô,
¿“&ù–óóU
ù–óó'
­i> Çô ù–Óòö³ ¦¦§Ó“©ˆ |ŵ’½ÛV6ù–ßò¿“ø¿“ù—¸ó,
¿“&ù–óU
ù–ó'•–Y.äóîóù–‚óm´  ¿“§¿“¯7{ _ }Áù››ô,
¿“&ù™óóU
ù™óó'Ï›Y.Çô ù™Óòöµ ¤œù™ßò¿“«¿“³Aùš¸ó,
¿“&ù™óU
ù™ó'•–Y.äóîóù™‚óm ¿“§¿“¯7{ _ }Áù¼›ô,
¿“&ùºóóU
ùºóó'ð“Y. ºÇô ùºÓòö Ŕùºßò¿“«¿“³Aù»¸ó,
¿“&ùºóU
ùºó'•–Y. ºäó ºîóùº‚ómà  ¿“§¿“¯7{ _ }Áù¿›ô,
¿“&ù½óóU
ù½óó'å—Y. ½Çô ù½ÓòöÄ º˜ù½ßò¿“«¿“³Aù¾¸ó,
¿“&ù½óU
ù½ó'•–Y. ½äó ½îóù½‚ómÅ  ¿“§¿“¯7{ _ }Áù›ô,
¿“&ùÀóóU
ùÀóó'Ï›Y. ÀÇô ùÀÓòöÆ ¤œùÀßò¿“«¿“³AùÁ¸ó,
¿“&ùÀóU
ùÀó'•–Y. Àäó ÀîóùÀ‚ómÇ  ¿“§¿“¯7{ _ }Áùã›ô,
¿“&ùáóóU
ùáóó'ð“Y. áÇô ùáÓòöÓ Å”ùáßò¿“«¿“³Aùâ¸ó,
¿“&ùáóU
ùáó'•–Y. áäó áîóùá‚ómÔ  ¿“§¿“¯7{ _ }Áùæ›ô,
¿“&ùäóóU
ùäóó'å—Y. äÇô ùäÓòöÕ º˜ùäßò¿“«¿“³Aùå¸ó,
¿“&ùäóU
ùäó'•–Y. ääó äîóùä‚ómÖ  ¿“§¿“¯7{ _ }Áùé›ô,
¿“&ùçóóU
ùçóó'Ï›Y. çÇô ùçÓòö× ¤œùçßò¿“«¿“³Aùè¸ó,
¿“&ùçóU
ùçó'•–Y. çäó çîóùç‚ómØ  ¿“§¿“¯7{ _ }Áùì›ô,
¿“&ùêóóU
ùêóó'Ï›Y. êÇô ùêÓòöÙ ¤œùêßò¿“«¿“³Aùë¸ó,
¿“&ùêóU
ùêó'•–Y. êäó êîóùê‚ómÚ  ¿“§¿“¯7{ _ }Áù›ô,
¿“&ù‹óóU
ù‹óó'ð“Y.Çô ù‹Óòöæ Å”ù‹ßò¿“«¿“³AùŒ¸ó,
¿“&ù‹óU
ù‹ó'•–Y.äóîóù‹‚ómç  ¿“§¿“¯7{ _ }Áù›ô,
¿“&ùŽóóU
ùŽóó'å—Y. ŽÇô ùŽÓòöè º˜ùŽßò¿“«¿“³Aù¸ó,
¿“&ùŽóU
ùŽó'•–Y. Žäó ŽîóùŽ‚ómé  ¿“§¿“¯7{ _ }Áù“›ô,
¿“&ù‘óóU
ù‘óó'Ï›Y.Çô ù‘Óòöê ¤œù‘ßò¿“«¿“³Aù’¸ó,
¿“&ù‘óU
ù‘ó'•–Y.äóîóù‘‚ómë  ¿“§¿“¯7{ _ }Áù´›ô,
¿“&ù²óóU
ù²óó'ð“Y. ²Çô ù²Óòö÷ Å”ù²ßò¿“«¿“³Aù³¸ó,
¿“&ù²óU
ù²ó'•–Y. ²äó ²îóù²‚ómø  ¿“§¿“¯7{ _ }Áù·›ô,
¿“&ùµóóU
ùµóó'å—Y. µÇô ùµÓòöù º˜ùµßò¿“«¿“³Aù¶¸ó,
¿“&ùµóU
ùµó'•–Y. µäó µîóùµ‚ómú  ¿“§¿“¯7{ _ }Áùº›ô,
¿“&ù¸óóU
ù¸óó'Ï›Y. ¸Çô ù¸Óòöû ¤œù¸ßò¿“«¿“³Aù¹¸ó,
¿“&ù¸óU
ù¸ó'•–Y. ¸äó ¸îóù¸‚ómü  ¿“§¿“¯7{ _ }Áù½›ô,
¿“&ù»óóU
ù»óó'Ï›Y. »Çô ù»Óòöý ¤œù»ßò¿“«¿“³Aù¼¸ó,
¿“&ù»óU
ù»ó'•–Y. »äó »îóù»‚ómþ  ¿“§¿“¯7{ _ }ÁùÞ›ô,
¿“&ùÜóóU
ùÜóó'ð“Y. ÜÇô ùÜÓòöŠ
Å”ùÜßò¿“«¿“³Aùݸó,
¿“&ùÜóU
ùÜó'•–Y. Üäó ÜîóùÜ‚óm
 ¿“§¿“¯7{ _ }Áùá›ô,
¿“&ùßóóU
ùßóó'å—Y. ßÇô ùßÓòöŒ
º˜ùßßò¿“«¿“³Aùà¸ó,
¿“&ùßóU
ùßó'•–Y. ßäó ßîóùß‚óm
 ¿“§¿“¯7{ _ }Áùä›ô,
¿“&ùâóóU
ùâóó'Ï›Y. âÇô ùâÓòöŽ
¤œùâßò¿“«¿“³Aùã¸ó,
¿“&ùâóU
ùâó'•–Y. âäó âîóùâ‚óm
 ¿“§¿“¯7{ _ }Áù…›ô,
¿“&ùƒóóU
ùƒóó'ð“Y. ƒÇô ùƒÓòö
Å”ùƒßò¿“«¿“³Aù„¸ó,
¿“&ùƒóU
ùƒó'•–Y. ƒäó ƒîóùƒ‚ómœ
 ¿“§¿“¯7{ _ }Áùˆ›ô,
¿“&ù†óóU
ù†óó'å—Y.Çô ù†Óòö
º˜ù†ßò¿“«¿“³Aù‡¸ó,
¿“&ù†óU
ù†ó'•–Y.äóîóù†‚ómž
 ¿“§¿“¯7{ _ }Áù‹›ô,
¿“&ù‰óóU
ù‰óó'Ï›Y.Çô ù‰ÓòöŸ
¤œù‰ßò¿“«¿“³AùЏó,
¿“&ù‰óU
ù‰ó'•–Y.äóîóù‰‚óm 
 ¿“§¿“¯7{ _ }ÁùŽ›ô,
¿“&ùŒóóU
ùŒóó'Ï›Y. ŒÇô ùŒÓòö¡
¤œùŒßò¿“«¿“³Aù¸ó,
¿“&ùŒóU
ùŒó'•–Y. Œäó ŒîóùŒ‚óm¢
 ¿“§¿“¯7{ _ }Áù¯›ô,
¿“&ù­óóU
ù­óó'ð“Y. ­Çô ù­Óòö®
Å”ù­ßò¿“«¿“³Aù®¸ó,
¿“&ù­óU
ù­ó'•–Y. ­äó ­îóù­‚óm¯
 ¿“§¿“¯7{ _ }Áù²›ô,
¿“&ù°óóU
ù°óó'å—Y. °Çô ù°Óòö°
º˜ù°ßò¿“«¿“³Aù±¸ó,
¿“&ù°óU
ù°ó'•–Y. °äó °îóù°‚óm±
 ¿“§¿“¯7{ _ }Áùµ›ô,
¿“&ù³óóU
ù³óó'Ï›Y. ³Çô ù³Óòö²
¤œù³ßò¿“«¿“³Aù´¸ó,
¿“&ù³óU
ù³ó'•–Y. ³äó ³îóù³‚óm³
 ¿“§¿“¯7{ _ }ÁùÖ›ô,
¿“&ùÔóóU
ùÔóó'ð“Y. ÔÇô ùÔÓòö¿
Å”ùÔßò¿“«¿“³AùÕ¸ó,
¿“&ùÔóU
ùÔó'•–Y. Ôäó ÔîóùÔ‚ómÀ
 ¿“§¿“¯7{ _ }ÁùÙ›ô,
¿“&ù×óóU
ù×óó'å—Y. ×Çô ù×ÓòöÁ
º˜ù×ßò¿“«¿“³Aùظó,
¿“&ù×óU
ù×ó'•–Y. ×äó ×îóùׂómÂ
 ¿“§¿“¯7{ _ }ÁùÜ›ô,
¿“&ùÚóóU
ùÚóó'Ï›Y. ÚÇô ùÚÓòöÃ
¤œùÚßò¿“«¿“³AùÛ¸ó,
¿“&ùÚóU
ùÚó'•–Y. Úäó ÚîóùÚ‚ómÄ
 ¿“§¿“¯7{ _ }Áùß›ô,
¿“&ùÝóóU
ùÝóó'Ï›Y. ÝÇô ùÝÓòöÅ
¤œùÝßò¿“«¿“³AùÞ¸ó,
¿“&ùÝóU
ùÝó'•–Y. Ýäó ÝîóùÝ‚ómÆ
 ¿“§¿“¯7{ _ }Áù€›ô,
¿“&ùþóóU
ùþóó'ð“Y. þÇô ùþÓòöÒ
Å”ùþßò¿“«¿“³Aùÿ¸ó,
¿“&ùþóU
ùþó'•–Y. þäó þîóùþ‚ómÓ
 ¿“§¿“¯7{ _ }Áùƒ›ô,
¿“&ùóóU
ùóó'å—Y. Çô ùÓòöÔ
º˜ùßò¿“«¿“³Aù‚¸ó,
¿“&ùóU
ùó'•–Y. äó îóù‚ómÕ
 ¿“§¿“¯7{ _ }Áù†›ô,
¿“&ù„óóU
ù„óó'Ï›Y.Çô ù„ÓòöÖ
¤œù„ßò¿“«¿“³Aù…¸ó,
¿“&ù„óU
ù„ó'•–Y.äóîóù„‚óm×
 ¿“§¿“¯7{ _ }Áù®›ô,
¿“&ù¬óóU
ù¬óó'
­i> ¬Çô ù¬Óòöó
¦¦§Ó“©ˆ |ŵ’½ÛV6ù¬ßò¿“ø¿“ù­¸ó,
¿“&ù¬óU
ù¬ó'•–Y. ¬äó ¬îóù¬‚ómô
 ¿“§¿“¯7{ _ }Áù±›ô,
¿“&ù¯óóU
ù¯óó'ð“Y. ¯Çô ù¯Óòöõ
Å”ù¯ßò¿“«¿“³Aù°¸ó,
¿“&ù¯óU
ù¯ó'•–Y. ¯äó ¯îóù¯‚ómö
 ¿“§¿“¯7{ _ }ÁùÜ›ô,
¿“&ùÚóóU
ùÚóó'¹†Y. ÚÇô ùÚÓòö އùÚßò¿“«¿“³AùÛ¸ó,
¿“&ùÚóU
ùÚó'•–Y. Úäó ÚîóùÚ‚óm  ¿“§¿“¯7{ _ }Áùß›ô,
¿“&ùÝóóU
ùÝóó'ð“Y. ÝÇô ùÝÓòö Å”ùÝßò¿“«¿“³AùÞ¸ó,
¿“&ùÝóU
ùÝó'•–Y. Ýäó ÝîóùÝ‚ómˆ  ¿“§¿“¯7{ _ }ÁùŠ›ô,
¿“&ùˆóóU
ùˆóó'¹†Y. ˆÇô ùˆÓòö އùˆßò¿“«¿“³Aù‰¸ó,
¿“&ùˆóU
ùˆó'•–Y. ˆäó ˆîóùˆ‚óm˜  ¿“§¿“¯7{ _ }Áù›ô,
¿“&ù‹óóU
ù‹óó'ð“Y.Çô ù‹Óòö Å”ù‹ßò¿“«¿“³AùŒ¸ó,
¿“&ù‹óU
ù‹ó'•–Y.äóîóù‹‚ómš  ¿“§¿“¯7{ _ }Áù¸›ô,
¿“&ù¶óóU
ù¶óó'¹†Y.Çô ù¶Óòö© އù¶ßò¿“«¿“³Aù·¸ó,
¿“&ù¶óU
ù¶ó'•–Y.äóîóù¶‚ómª  ¿“§¿“¯7{ _ }Áù»›ô,
¿“&ù¹óóU
ù¹óó'ð“Y. ¹Çô ù¹Óòö« Å”ù¹ßò¿“«¿“³Aùº¸ó,
¿“&ù¹óU
ù¹ó'•–Y. ¹äó ¹îóù¹‚óm¬  ¿“§¿“¯7{ _ }Áùæ›ô,
¿“&ùäóóU
ùäóó'¹†Y. äÇô ùäÓòö» އùäßò¿“«¿“³Aùå¸ó,
¿“&ùäóU
ùäó'•–Y. ääó äîóùä‚óm¼  ¿“§¿“¯7{ _ }Áùé›ô,
¿“&ùçóóU
ùçóó'ð“Y. çÇô ùçÓòö½ Å”ùçßò¿“«¿“³Aùè¸ó,
¿“&ùçóU
ùçó'•–Y. çäó çîóùç‚óm¾  ¿“§¿“¯7{ _ }Áù—›ô,
¿“&ù•óóU
ù•óó'
­i>Çô ù•ÓòöÔ ¦¦§Ó“©ˆ |ŵ’½ÛV6ù•ßò¿“ø¿“ù–¸ó,
¿“&ù•óU
ù•ó'•–Y.äóîóù•‚ómÕ  ¿“§¿“¯7{ _ }Áùš›ô,
¿“&ù˜óóU
ù˜óó'Ï›Y. ˜Çô ù˜ÓòöÖ ¤œù˜ßò¿“«¿“³Aù™¸ó,
¿“&ù˜óU
ù˜ó'•–Y. ˜äó ˜îóù˜‚óm×  ¿“§¿“¯7{ _ }ÁùÅ›ô,
¿“&ùÃóóU
ùÃóó'Ÿ§Y. ÃÇô ùÃÓòöæ ô§ùÃßò¿“«¿“³Aùĸó,
¿“&ùÃóU
ùÃó'•–Y. Ãäó ÃîóùÂómç  ¿“§¿“¯7{ _ }ÁùÈ›ô,
¿“&ùÆóóU
ùÆóó'Ï›Y. ÆÇô ùÆÓòöè ¤œùÆßò¿“«¿“³AùǸó,
¿“&ùÆóU
ùÆó'•–Y. Æäó ÆîóùÆ‚ómé  ¿“§¿“¯7{ _ }Áùó›ô,
¿“&ùñóóU
ùñóó'Ÿ§Y. ñÇô ùñÓòöø ô§ùñßò¿“«¿“³Aùò¸ó,
¿“&ùñóU
ùñó'•–Y. ñäó ñîóùñ‚ómù  ¿“§¿“¯7{ _ }Áùö›ô,
¿“&ùôóóU
ùôóó'Ï›Y. ôÇô ùôÓòöú ¤œùôßò¿“«¿“³Aùõ¸ó,
¿“&ùôóU
ùôó'•–Y. ôäó ôîóùô‚ómû  ¿“§¿“¯7{ _ }Áù¡›ô,
¿“&ùŸóóU
ùŸóó'Ÿ§Y. ŸÇô ùŸÓòöŠ ô§ùŸßò¿“«¿“³Aù ¸ó,
¿“&ùŸóU
ùŸó'•–Y. Ÿäó ŸîóùŸ‚óm  ¿“§¿“¯7{ _ }Áù¤›ô,
¿“&ù¢óóU
ù¢óó'Ï›Y. ¢Çô ù¢ÓòöŒ ¤œù¢ßò¿“«¿“³Aù£¸ó,
¿“&ù¢óU
ù¢ó'•–Y. ¢äó ¢îóù¢‚óm  ¿“§¿“¯7{ _ }ÁùÏ›ô,
¿“&ùÍóóU
ùÍóó'Ÿ§Y. ÍÇô ùÍÓòöœ ô§ùÍßò¿“«¿“³Aùθó,
¿“&ùÍóU
ùÍó'•–Y. Íäó ÍîóùÍ‚óm  ¿“§¿“¯7{ _ }ÁùÒ›ô,
¿“&ùÐóóU
ùÐóó'Ï›Y. ÐÇô ùÐÓòöž ¤œùÐßò¿“«¿“³AùѸó,
¿“&ùÐóU
ùÐó'•–Y. Ðäó ÐîóùЂómŸ  ¿“§¿“¯7{ _ }Áù® ›ô,
¿“&ù¬ óóU
ù¬ óó'Ï›Y. ¬ Çô ù¬ Óòö
¤œù¬ ßò¿“«¿“³Aù­ ¸ó,
¿“&ù¬ óU
ù¬ ó'•–Y. ¬ äó ¬ îóù¬ ‚ómƒ
 ¿“§¿“¯7{ _ }Áù± ›ô,
¿“&ù¯ óóU
ù¯ óó'ð“Y. ¯ Çô ù¯ Óòö
Å”ù¯ ßò¿“«¿“³Aù° ¸ó,
¿“&ù¯ óU
ù¯ ó'•–Y. ¯ äó ¯ îóù¯ ‚óm
 ¿“§¿“¯7{ _ }Áù´ ›ô,
¿“&ù² óóU
ù² óó'
­i> ² Çô ù² Óòö
¦¦§Ó“©ˆ |ŵ’½ÛV6ù² ßò¿“ø¿“ù³ ¸ó,
¿“&ù² óU
ù² ó'•–Y. ² äó ² îóù² ‚óm
 ¿“§¿“¯7{ _ }Áùâ ›ô,
¿“&ùà óóU
ùà óó'Ï›Y. à Çô ùà Óòö
¤œùà ßò¿“«¿“³Aùá ¸ó,
¿“&ùà óU
ùà ó'•–Y. à äó à îóùà ‚óm
 ¿“§¿“¯7{ _ }Áùå ›ô,
¿“&ùã óóU
ùã óó'ð“Y. ã Çô ùã Óòö˜
Å”ùã ßò¿“«¿“³Aùä ¸ó,
¿“&ùã óU
ùã ó'•–Y. ã äó ã îóùã ‚óm
 ¿“§¿“¯7{ _ }Áùè ›ô,
¿“&ùæ óóU
ùæ óó'½ÎY. æ Çô ùæ Óòöš
’Ïùæ ßò¿“«¿“³Aùç ¸ó,
¿“&ùæ óU
ùæ ó'•–Y. æ äó æ îóùæ ‚óm
 ¿“§¿“¯7{ _ }Áù–
›ô,
¿“&ù”
óóU
ù”
óó'Ï›Y.
Çô ù”
Óòöª
¤œù”
ßò¿“«¿“³Aù•
¸ó,
¿“&ù”
óU
ù”
ó'•–Y.
äó
îóù”
‚óm«
 ¿“§¿“¯7{ _ }Áù™
›ô,
¿“&ù—
óóU
ù—
óó'ð“Y.
Çô ù—
Óòö¬
Å”ù—
ßò¿“«¿“³Aù˜
¸ó,
¿“&ù—
óU
ù—
ó'•–Y.
äó
îóù—
‚óm­
 ¿“§¿“¯7{ _ }Áùœ
›ô,
¿“&ùš
óóU
ùš
óó'½ÎY. š
Çô ùš
Óòö®
’Ïùš
ßò¿“«¿“³Aù›
¸ó,
¿“&ùš
óU
ùš
ó'•–Y. š
äó š
îóùš
‚óm¯
 ¿“§¿“¯7{ _ }ÁùÊ
›ô,
¿“&ùÈ
óóU
ùÈ
óó'Ï›Y. È
Çô ùÈ
Óòö¾
¤œùÈ
ßò¿“«¿“³AùÉ
¸ó,
¿“&ùÈ
óU
ùÈ
ó'•–Y. È
äó È
îóùÈ
‚óm¿
 ¿“§¿“¯7{ _ }ÁùÍ
›ô,
¿“&ùË
óóU
ùË
óó'ð“Y. Ë
Çô ùË
ÓòöÀ
Å”ùË
ßò¿“«¿“³AùÌ
¸ó,
¿“&ùË
óU
ùË
ó'•–Y. Ë
äó Ë
îóùË
‚ómÁ
 ¿“§¿“¯7{ _ }ÁùÐ
›ô,
¿“&ùÎ
óóU
ùÎ
óó'½ÎY. Î
Çô ùÎ
ÓòöÂ
’ÏùÎ
ßò¿“«¿“³AùÏ
¸ó,
¿“&ùÎ
óU
ùÎ
ó'•–Y. Î
äó Î
îóùÎ
‚ómÃ
 ¿“§¿“¯7{ _ }Áùþ
›ô,
¿“&ùü
óóU
ùü
óó'Ï›Y. ü
Çô ùü
ÓòöÒ
¤œùü
ßò¿“«¿“³Aùý
¸ó,
¿“&ùü
óU
ùü
ó'•–Y. ü
äó ü
îóùü
‚ómÓ
 ¿“§¿“¯7{ _ }Áù ›ô,
¿“&ùÿ
óóU
ùÿ
óó'ð“Y. ÿ
Çô ùÿ
ÓòöÔ
Å”ùÿ
ßò¿“«¿“³Aù€ ¸ó,
¿“&ùÿ
óU
ùÿ
ó'•–Y. ÿ
äó ÿ
îóùÿ
‚ómÕ
 ¿“§¿“¯7{ _ }Áù„ ›ô,
¿“&ù‚ óóU
ù‚ óó'½ÎY. Çô ù‚ ÓòöÖ
’Ïù‚ ßò¿“«¿“³Aùƒ ¸ó,
¿“&ù‚ óU
ù‚ ó'•–Y. äó îóù‚ ‚óm×
 ¿“§¿“¯7{ _ }ÁdÀ|
ªƒLevelÁˆï ’=·Ù)³…'ü›|2¸ø,¸|&vª¸ø Level::DEBUGÁdñ|
§¸øüÎ|0ž¸ø,é|&C§¸ø Level::ERRORÁü¨


Ĩ

Ñ
 ¿“ 1üŽ
;Í‚ã
&ü¿!2  ½“ؓؔØÎ•؈ä o
³΢½Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÅ܂ㄾ„¾PinÁ†¾ ˜X$]È=„kt•žBoxÁ¡ˆˆ¢ˆl }.xς؃ØÌìÎÝÅÜ‚ã=KLÌ! *4CM\Ì! ÀüÐ!  
ˆØÀü1 %Ì! ÀüCJÀübg
öX Àü| 
„ØÀü®Š ¼À Ì ã œØðûùâ
ÈûÔ! Àü  $á! 
ÅÜ4ç! ‚ãtà! 
üÌ!# LÖ! 
‰ƒµü
@ 7
 ÌÖ! ñ! œØðû&çÀü  ð! ,
C‚ã
YÅÜi š ¨ ¨ ®½Éôûãñ
Àü. y î! HPY_hs ¾E œ¦°‚ãÇ‚ã
ÞÅÜ  õ
ÿ‚ãÅÜ-3<FP‚ãgÅÜ~‚ãÅܬÀüÁÈÏÖßé
®®ûü'. ®û! ÌÌkÎwakerÁ¸Ï local_wakerÁ¸ÐextÁ¸Ñ_markerÁ¸Ò_marker2Á¸f'EwÚ]¾å]ÀüëÀü ÀüÔà
œØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃY„¾„¾Ìû†¾ ˜X$]È=„kt•êÿêÿêÿ¦ÉÉÉÁɧ®Éàèµü]Åܾ‚ãéððûõýþ Ç=ô ÀüÐ $õ ÅÜoriginÁ4À ‚ãûOÀü dq   œØ¦ ± 
½À ëòœØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤Ã
®û(
É1
9
ÀüESYû¿! º¾œœØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃðûÏ
„¾„¾Ìû†¾ ˜X$]È=„kt•¬û
É ÀüA Àü_ Š‹S Ö‹\ êÿe Én v T ɵüûÅÜ\‚ã9ðû  ¬û þ¡ Ç=ÀüÐ ˜ÅÜÕŒ‚ãûà Àü õ 
 †ÿ2
äÿ9
˜€@
Àü& ¯‚¦Àü4 ‚ã;ÅÜBÇ=Ð ÕŒÀüQ
ûüµ¹
Àü{
û&ßãÁ
ü–A

¼–
àü®(
&¿“
2üÞ
zâÅÜ
&üÑ?

¼Ñã”üé& $¿“
0ü›vãÅÜT¸&üµ 

ĵÂú ¿“ /ü›;ä‚ã&ìÔ
 ÄÔÂúí ¿“ .ü¶<º‚ã&ñ¼ óŒ

±¼ óŒ 
ûœ˜;ù¼ ÛŒ7 ëàô ìŒ .ƒ
Š}ǘœÑ°uìƒàônë
òåǘœŠ Þíìàô×ÿT
\PǘœÃ JîYàôEnÄ
ÌÀǘœü ôºïÉàôµÞ4
<0ǘœµ! d*ð9àô%N¤
¬ ǘœî!@Ôšñ©àô¾
ǘœ§"D
òàô.
Œǘœà"´zóàôužô
üðǘœ™#$êôùàôåd
l`ǘœÒ#ZõiàôU~Ô
ÜÐǘœ‹$ÊöÙàôÅîD
L@ǘœÄ$t:÷Iàô5^´
¼°ǘœý$ äªø¹àô¥Î$
, ǘœ¶%@Tù)àô>
œǘœï%ÄŠúàô®
 ǘœ¨&4úû àôõù¼ ‹’û ã  á áFlagÁ ãÐ  f ä» fz§ºÔ./àôw 
ǧ ¼ …š  ¼ “š ù¼   㼨ù¼ ( ħñħùƧù¼ Œ’ú ǧ1“
šê ǧ1•
šê ǧ1—
šê ǧ1™
šê ǧ1
šê ǧ1
šê ǧ
šê ǧ
šê ǧ
šê ǧ
šê ǧ
šê ǧ
šê ǧ
šê ǧ1­
šê ǧ
šê ǧ
šê ǧ
šê ħÿG#©¼ ‡• ü¿“ ¥• ëàô$ý¿“ìàô<þ¿“6íàôTÿ¿“Nîàôl¿“fïàô¿“~ðàôœ¿“ñàô´ƒ¿“®òàôÌ¿“Æóàôä¿“Þôàôü¿“öõàô¿“öàô.ˆ¿“)÷àôH¿“CøàôbŠ¿“]ùàô|¿“wúàôŒ¿“ûàô¼ãħù¼ õ”G ‰¼ õ” 
vàôòü¿“ÿñëàôþIOH’¯/ý¿“<.ìàô;Œ’¯lþ¿“ykíàôxÃÉÂ’¯©ÿ¿“¨îàôµ’¯é¿“öèïàôõ@GA’¯)¿“6(ðàô5’¯i¿“vhñàôuÀÇÁ’¯©ƒ¿“¨òàôµ ’¯é¿“öèóàôõ
 @GA ’¯)¿“6(ôàô5 

’¯i¿“vhõàôu  ÀÇÁ ’¯©¿“¨öàôµ
  ’¯éˆ¿“öè÷àôõ
@GA
’¯)¿“6(øàô5’¯iŠ¿“vhùàôuÀÇÁ’¯©¿“¨úàôµ’¯éŒ¿“öèûàôõ@  ǧ 
  
bqãÁħŽƧǧǧŠǧǧǧ{ǧvǧqǧlǧgǧbǧ]ǧXǧSǧNǧIǧDǧ?8 "1ü¿“,ëàôKý¿“Fìàôeþ¿“`íàôÿ¿“zîàô¿“ïàô³¿“®ðàôÍ¿“Èñàô烿“âòàô¿“üóàô¿“ôàô5¿“0õàôO¿“Jöàôiˆ¿“d÷àôƒ¿“~øàôŠ¿“˜ùàô·¿“²úàôÑŒ¿“Ìûàô
¿“"OK"Á ¿“ "CANCELLED"Á¿“ "UNKNOWN"Á¿“"INVALID_ARGUMENT"Á¿“"DEADLINE_EXCEEDED"Á ¿“ "NOT_FOUND"Á¿“"ALREADY_EXISTS"Á¿“"PERMISSION_DENIED"Á¿“"RESOURCE_EXHAUSTED"Á¿“"FAILED_PRECONDITION"Á¿“ "ABORTED"Á ¿“"OUT_OF_RANGE"Á
¿“"UNIMPLEMENTED"Á¿“
"INTERNAL"Á ¿“
"UNAVAILABLE"Á ¿“ "DATA_LOSS"Á¿“"UNAUTHENTICATED"Á‰ ˆ Ù¼ ˜  Ÿ Í  ¼ Õ 
šê  ¤Ÿ ù¼ ¬Ÿ) 
 |àô¼¨ ¼ ÖŸ  ù¼ ¬Ÿ, $ ù¼ «Ÿ-  ¼ ØŸ ù¼ ûŸ  þŸ 
þŸ    %
, ƒ  
yàô <
 ƒ  \
 ¼ Œ   À     ™¼ Ì  
Ì    Ì   +
2 Ñ  
xàô< Ñ  ` ¼ ×  
Œ Ù  
ø
 Ù   ¼ Þ  ù¼ ´ + 
 
"
( ¼ ß  ù¼ Ž t  ¥5 ¼ ‚¡  Ì ¼ ¡ 
  ¤¡  ¼ ©¡ , +
Rù¼ þžË  ¼ È¡   µ
Ÿê 
šê *%,5 |àô¼¨!(*<   #
+£Ã2
÷N óîõêåìáè
ßÂÄ Ö1ÒR
ZÏÅa
ÉÄ¿
Û⻿V決y­´© ¤Ë  Ë
ó ¢«œ£ ·
Ÿê 
šê !Â"½#Ä#Í |àô¼¨¹$À$µ%#Â&$%Ô &%$±"#$«$¦'Ÿ(š)¡)"»
Ø£Ã)Ê(æ( )**+},-y.." 
¨wÂÄ.©-nÉ,-j.ê
ògÅ,ù+a\,W
*+s+z*S-N'Wî~)I'RE(L'A/<c /c
/:!C4#;" ¹
Ÿê !
šê 0Z1U2\2e |àô¼¨Q3X3M42Z534l 543I123C3>67728981S
[0£Ã8b7'~7 #89%9:;<==18
@ÂÄ=A<a;<=
ŠÿÅ;:ùô;ï
9: :9ë<æ6ï 8á6ê© Ý7ä6Ù>Ôû >û
#>Ò0ÛÌ2Ó1 »
Ÿê 0
šê ?ò
@í
Aô
Aý
 |àô¼¨é
Bð
Bå
CAò
DBC  DCB!á
@ABÛ
BÖ
EÏ
FÊ
GÑ
G@ë

ó
È
£ÃGú
F"¿
 F&# »
G
H½
H²
I­
J´
K©
L°
L@Ð

Ø
§
ÂÄLÙ
K$ž
ù
JKš
L 
" 
ÅJ) I%
Œ
J

HI£
Iª
Hƒ
K~
E
 '® Gy
E
A 'u
F|
Eq
Ml

 M
(
»
Mj
?s
d
Ak
@ ½
Ÿê ?1¿
šê NŠ
O
PŒ
P
 |àô¼¨
Qˆ
Q}
RPŠ
SQRœ
 SRQ)y
OPQs
Qn
Tg
Ub
Vi
VOƒ


`
£ÃV
U*W
®
U.+ S
VN
WU
WJ
XE
YL
ZA
[H
[Oh

p
?
ÂÄ[q
Z,6

YZ2
[²

º
/
ÅYÁ
X-)
$
Y

WX;
XB
W
Z
T
/FV
T
Ù/
U
T
\
+
 \+
0
S
\
N
ü P
O ¿
Ÿê N
šê ]"^_$_- |àô¼¨` `a_"b`a4 ba`1^_` ` cÿ dú e e^
# ø£Ãe*d2ïF d63 ë eæ fí fâ gÝ hä iÙ jà j^
 ×ÂÄj i4Î) hiÊ jJ
R ÇÅhYg5Á¼ h· 
fgÓ gÚ f³ i® c·N 7Þ e© c²q 7¥ d¬ c¡ kœÃ kÃ8
ë kš]£_^ Á
Ÿê ]
šê lºmµn¼nÅ |àô¼¨±o¸o­pnºqopÌ qpo9©mno£ož
r
s
t
tm³
»
£ÃtÂs:Þ
s>; ƒ
t~
u
uz
vu
w|
xq
yx
ym˜
 
oÂÄy¡x<fÁ
wxb
yâ
ê
_Åwñv=YT
wO

uvk
vr
uK
xF
rOæ
?v
tA
rJ 
?=
sD
r9
z4[
z[@
ƒ
z2l;,n3m Ã
Ÿê l
šê {R|M}T}] |àô¼¨I~P~E}R~e ~AC|}~=~8 2 . ƒ6 ƒ|Q
Y .£ÃƒaB'~ FC $ ƒ  (   "  ˆ  ˆ|A
I ÂĈKDl  ˆ
˜ 
Å E   
 &  ü  G- ƒù Â Gö þ ô ð H
@ ð{ùê}ñ| Å
Ÿê {
šê Š
ŒŒ |àô¼¨  ŽŒŽ- ŽI
Œ
  ü   
( ý£Ã0JöM NK ó ï ÷ í é ñ ç ï 
 èÂÄLá< ß `
h ÝÅpMÙÔ Ð 
î ö Ð Ì Öm Oý É Ó OÆ Î Ä ˜Àç ˜èP
 ˜ÀŠÊ»ŒÃ Ç
Ÿê Š
šê åšáéó |àô¼¨ßœçœÝìžœ žœQ᚜ޜÚ
ŸÔ
 Ð
¡Ø
¡šô
ü
ѣá RÊ!
 VS Ç
¡Ã
¢Ë
¢Á
£½
¤Å
¥»
¦Ã
¦šå
í
¼ÂĦï¥Tµ
¤¥³
¦4
<
±Å¤D£U­¨
¤¤

¢£Â
£Ê
¢¤
¥ 
ٻA
WÑ
¡
٤f
Wš
 ¢
Ÿ˜
§»
§¼X
ä
§žš É
Ÿê 
šê ¨¹©µª½ªÇ |àô¼¨³«»«±¬ªÀ­«¬Õ ­¬«Yµ©ª«²«®®¨¯¤°¬°©È
Ð¥£Ã°Ø¯Zžõ¯^[ °±Ÿ±²³´µµ©¹
ÁÂĵô\ä³´µ
ų²]|³x
±²²ž±x´t®~_¥°q®{:_n¯v®lh `
¸h¨rcªk© Ë
Ÿê ¨
šê · ¸¹¹ |àô¼¨º º»¹¼º»©  ¼»ºa¸¹ºº½| ¾x ¿¿¸œ 
¤ y £Ã¿¬ ¾br É ¾fc o ¿k Às Ài Áe Âm Ãc Äk ĸ 
d ÂÄÄ— Ãd] ¸ ÂÃ[ ÄÜ 
ä Y ÅÂì ÁeU P ÂL 
ÀÁj Ár ÀL ÃH ½R é!gy!¿E ½O "gB ¾J ½@ Å< c  Åd h
Œ Å< ·F 7 ¹? ¸ Í
Ÿê ·
šê Æa#Ç]#Èe#Èo# |àô¼¨[#Éc#ÉY#ÊÈh#ËÉÊ}# ËÊÉi]#ÇÈÉZ#ÉV#ÌP#ÍL#ÎT#ÎÇp#
x#M#£Ã΀#ÍjF##Ínk C#Î?#ÏG#Ï=#Ð9#ÑA#Ò7#Ó?#ÓÇa#
i#8#ÂÄÓk#Òl1#Œ#ÑÒ/#Ó°#
¸#-#ÅÑÀ#Ðm)#$#Ñ #
ÏÐ>#ÐF#Ï #Ò#Ì&#½$oM$Î#Ì##â$o#Í#Ì#Ô#7# Ô8#p
`#Ô#Æ# #È#Ç Ï
Ÿê Æ
šê Õ5&Ö1&×9&×C& |àô¼¨/&Ø7&Ø-&Ù×<&ÚØÙQ& ÚÙØq1&Öר.&Ø*&Û$&Ü &Ý(&ÝÖD&
L&!&£ÃÝT&Ür&q&Üvs &Ý&Þ&Þ&ß
&à&á &â&âÖ5&
=& &ÂÄâ?&át&`&àá&â„&
Œ&&Åà”&ßuý%ø%àô%
Þß&ß&Þô%áð%Ûú%'w!'Ýí%Û÷%¶'wê%Üò%Ûè%ãä% & ã &x
4&ãä%Õî%ß%×ç%Ö Ñ
Ÿê Õ
šê ä )å)æ
)æ) |àô¼¨)ç )ç)èæ)éçè%) éèçy)åæç)çþ(êø(ëô(ìü(ìå)
 )õ(£Ãì()ëzî(E)ë~{ ë(ìç(íï(íå(îá(ïé(ðß(ñç(ñå )
)à(ÂÄñ|Ù(4)ïð×(ñX)
`)Õ(Åïh)î}Ñ(Ì(ïÈ(
íîæ(îî(íÈ(ðÄ(êÎ(e*õ)ìÁ(êË(Š*¾(ëÆ(ê¼(ò¸(ß( òà(
 )ò¹(äÃ(´(æ¼(å Ó
Ÿê ä
šê óÞ+ôÚ+õâ+õì+ |àô¼¨Ø+öà+öÖ+÷õå+øö÷ú+ ø÷öÛ+ôõöØ+öÔ+ùÎ+úÊ+ûÒ+ûôî+
ö+Ë+£Ãûþ+úÅ+,úƒ Ä+ûÀ+üÈ+ü¾+ýº+þÂ+ÿ¸+À+ôâ+
ê+¹+ÂÄì+ÿ³+,þÿ±+2,
:,¯+ÅþB,ý¬+§+þ£+
üýÁ+ýÉ+ü£+ÿŸ+ù©+@-Ñ,û+ù§+f-›+ú£+ù™+•+¼+ ½+ˆæ+–+ó +‘+õ™+ô Õ
Ÿê ó ±¢  ¼ Ë¢  ù¼ Øœõ êù¼ È ù¼ Ƀ ù¼  Ÿ©  &,28>DJPV\bhù¼ ’¢: îö/Õ/½, ǧ±/¼¨®/‘//‰/8/1/â ./Ì.½. àô½.¶¡Æ.â ½.-B-â 30¼¨0000 0º/³/â °/N/?/¶¡</¶¡E/â </Ô¡.¿-â °0¼¨­000ˆ07000â -0Ë/¼/¶¡¹/¶¡Â/â ¹/Ô¡•.<.â -1¼¨*1
1þ01´0­0â ª0H090¶¡60¶¡?0â 60Ô¡/¹.â ª1¼¨§1Š1{1111*1â '1Å0¶0¶¡³0¶¡¼0â ³0Ô¡/6/â '2¼¨$22ø1ÿ1®1§1â ¤1B131¶¡01¶¡91â 01Ô¡ 0³/â ¤2¼¨¡2„2u2|2+2$2â !2¿1°1¶¡­1¶¡¶1â ­1Ô¡‰000â !3¼¨33ò2ù2¨2¡2â ž2<2-2¶¡*2¶¡32â *2Ô¡1­0â ž3¼¨3~3o3v3%33â 3¹2ª2¶¡§2¶¡°2â §2Ô¡ƒ1*1â 4¼¨4û3ì3ó3¢33â ˜363'3¶¡$3¶¡-3â $3Ô¡2§1â ˜4¼¨•4x4i4p444â 4³3¤3¶¡¡3¶¡ª3â ¡3Ô¡}2$2â 5¼¨5õ4æ4í4œ4•4â 404!4¶¡4¶¡'4â 4Ô¡ú2¡2â ’5¼¨5r5c5j555â 5­4ž4¶¡›4¶¡¤4â ›4Ô¡w33â 6¼¨ 6ï5à5ç5–55â Œ5*55¶¡5¶¡!5â 5Ô¡ô3›3â Œ6¼¨‰6l6]6d66 6â  6§5˜5¶¡•5¶¡ž5â •5Ô¡q44â  7¼¨7é6Ú6á66‰6â †6$66¶¡6¶¡6â 6Ô¡î4•4â †7¼¨ƒ7f7W7^7
77â 7¡6’6¶¡6¶¡˜6â 6Ô¡k5 truncatedÁg8´J8flagÁ"8Ô°/8Ô°<8"Ô°I81Ô°V8@Ô°c8OÔ°p8 ^Ô°}8
mÔ°Š8 |Ô°—8 Ô°¥8
šÔ°³8©Ô°Á8¸Ô°Ï8ÇÔ°Ý8ÖÔ°ë8åÔ°ù8ô0
]9 Ÿ 9 |àô¼¨9 |àô¼¨+9 |àô¼¨;9 |àô¼¨K9 |àô¼¨[9 |àô¼¨k9 |àô¼¨{9 |àô¼¨‹9 |àô¼¨›9 |àô¼¨«9 |àô¼¨»9 |àô¼¨Ë9 |àô¼¨Û9 |àô¼¨ë9 |àô¼¨û9 |àô¼¨ : |àô¼¨ùÙ
×$! ÎÙÙ
Ü$  ŸÚ
ó’ ¡ùÚ
»’8 »õ
Ó’  N ŸE
¿% ÙÙ
Ï% 
 Ÿ
„&  Ù
Œ& 

šê 
Û' ùÙ
â'4  ùÙ
â', ùÙ
â')   |àô¼¨ Ù
Œ(    F
R 
c  
v 
ž
( ÂÄ¢
( Å Ù
•( ùÙ
â'; 


—( Å
—( Ù
œ(  Ù
(   
Ì(    
Ø( 
 
áÙ
À( 
 
Ù
Û( 
 
þ(  Ù
ƒ) * *PùÙ
µ'î  Ù
¢)  Ü
Ÿê 
šê )%,!#, |àô¼¨ \i{ ±
¹ÂĺÚ
Å

  ýú
öýóï =î÷é Þ
Ÿê 
šê 
   |àô¼¨þ!!A" N#!"` #"! t !
žÂÄŸ
þ¿û÷
ÿóÅï ï ëç!î õå$ì$â%é%ß
$%Û%â$Ø&Ôú &û "&ÓÜÎ à
Ÿê 
šê 'ó(ï)ö*ë+æ,í,ö |àô¼¨ã-ê-&.,3/-.E /.-
Y+,-{
ƒæÂÄ+*ã¤)*à+Ü
äØÅ)Ô(Ô Ð)Ì-Ó,Ú*Ê0Ñ0Ç1Î1(Ä
01À1Ç0½2¹ß 2à2¸'Á³( â
Ÿê '
šê 3Ø4Ô5Û6Ð7Ë8Ò8Û |àô¼¨È9Ï9 :8;9:* ;:9>789`
hËÂÄ7i6È56Å7Á
ɽÅ5¹4¹ µ5±9¸8¿6¯<<¬=³=4©
<=¥=¬<¢>žÄ >Åì>3¦˜4 ä
Ÿê 3
šê ?½ @¹ AÀ Bµ C° D· DÀ  |àô¼¨­ E´ Eð FDý GEF
 GFE#
CDEE

M
° ÂÄCN
B­ n
ABª C¦ 
® ¢ ÅAž
@ž š A E D¤ BH H I˜ I@Ž 
HIŠ I HJƒ ©  Jª Ñ J ? } @ æ
Ÿê ?
šê K¢ Lž M¥ Nš O Pœ P¥  |àô¼¨ Q QÕ RPâ SQRô  SRQ OPQ* 
2  ÂÄO3 N S MN O 
  ÅMƒ Lƒ  M{ Q P Ny T Tv U} ULs 
TUo Uv Tl Vh Ž V  Vg Kp b L è
Ÿê K
šê W
Xƒ
YŠ
Z
[z
\
\Š
 |àô¼¨w
]~
]º
^\Ç
_]^Ù
 _^]í
[\]
z
ÂÄ[Zw
8YZt
[p

x
l
ÅYhXh
d
Y`
]g
\n
Z^
`e
`[
ab
aXX

`aT
a[
`Q
bM
s
bt
 
bL
WU
G
X ê
Ÿê W
šê cldheofdg_hfho |àô¼¨\iciŸjh¬kij¾ kji!Òghiô
ü_ÂÄgýf"\efYgU
]QÅeMd#M IeEiLhSfC lJ l@ mG md= 
lm9 m@ l6 n2X nY$ n1c:,d ì
Ÿê c
šê oQpMqTrIsDtKtT |àô¼¨AuHuvtwuv£ wvu%·stuÙ
áDÂÄsâr&Aqr>s:
B6Åq2p'2 .q*u1t8r( x/ x% y, yp" 
xy y% x z= z>(e zop î
Ÿê o
šê {6|2}9~.)1; |àô¼¨(0m|ƒ ƒ)¨Ì
Ô7ÂÄÕ~*4õ}~1-
5)Å}%|+% !}%-~
%

$
|


!

;
=,d
{| ð
Ÿê {
šê 7ˆ4<Š2.Œ6Œ@ |àô¼¨-5rŽŒŽ Ž-­ŒÒ
Ú=ÂÄÜŠ.<ýŠ;8
@4Å1ˆ/2 .+3Œ;Š,4+3ˆ+
)1(%K M0t&0"ˆ ò
Ÿê 
šê JGOEA˜I˜S |àô¼¨@Hš˜š© š1À˜å
íPÂÄï2ONK
SGÅD3E A>F˜N?œGœ>F>
œ<Dœ;ž8^ ž`4ž9C5 ô
Ÿê 
šê Ÿ] Z¡b¢X£T¤\¤f |àô¼¨S¥[¥˜¦¤§§¥¦¼ §¦¥5Ó£¤¥ø
cÂÄ£¢6b#¡¢a£^
fZÅ¡W 7X T¡Q¥Y¤a¢R¨Z¨Q©Y© Q
¨©O©W¨NªKq ªs8šªLŸVH  ö
Ÿê Ÿ
šê «p¬m­u®k¯g°o°y |àô¼¨f±n±«²°º³±²Ï ³²±9毰± 
vÂį®:u6­®t¯q
ymÅ­j¬;k g­d±l°t®e´m´dµlµ¬d
´µbµj´a^ <­_«i[¬ ø
Ÿê «
šê ·ƒ¸¹ˆº~»z¼¼Œ |àô¼¨y½½¾¾¼Í¿½¾â ¿¾½=ù»¼½
&ÂÄ»(º>ˆI¹º»
ŒÅ¹}¸?~ z¹w½¼ºxÀÀwÁÁ¸w
ÀÁuÁ}ÀtÂq Â@ÀÂr·|n¸ ú
Ÿê ·
šê ÃÄÅÆÇÈÈŸ |àô¼¨ŒÉÉÑÊÈàËÉÊõ ËÊÉA ÇÈÉ1 
9 œÂÄÇ; ÆB\ ÅÆšÇ
ŸÅÅ ÄC ÅŠÉÈšÆÌÌŠÍÍÄŠ
Ì͈ÍÌΪ άD
ÓÎÃÄ ü
Ÿê Ã
* Ï Ï
‹*  ÎÏ Ù
™* Ï Ù
«*  Ú
†” ¢ùÚ
Ò“4 ùÙ
»%ñ ùÙ
€&¬ ùÙ
× 
%+17=CIOU[agùÙ
ì)@ лõ
è“ #ó"Ö Í"¶¡Ë"¶¡Ô"â Ë"¼¨È"¬"ä"ë"Ñ!Ã!Ô¡!:!1#¶¡/#¶¡8#â /#¼¨,##H#O#5"'"Ô¡õ!ž!•#¶¡“#¶¡œ#â “#¼¨#t#¬#³#™""Ô¡Y""ù#¶¡÷#¶¡$â ÷#¼¨ô#Ø#$$ý"ï"Ô¡½"f"]$¶¡[$¶¡d$â [$¼¨X$<$t${$a#S#Ô¡!#Ê"Á$¶¡¿$¶¡È$â ¿$¼¨¼$ $Ø$ß$Å#·#Ô¡…#.#%%¶¡#%¶¡,%â #%¼¨ %%<%C%)$$Ô¡é#’#‰%¶¡‡%¶¡%â ‡%¼¨„%h% %§%$$Ô¡M$ö#í%¶¡ë%¶¡ô%â ë%¼¨è%Ì%& &ñ$ã$Ô¡±$Z$Q&¶¡O&¶¡X&â O&¼¨L&0&h&o&U%G%Ô¡%¾$µ&¶¡³&¶¡¼&â ³&¼¨°&”&Ì&Ó&¹%«%Ô¡y%"%'¶¡'¶¡ 'â '¼¨'ø&0'7'&&Ô¡Ý%†%}'¶¡{'¶¡„'â {'¼¨x'\'”''&s&Ô¡A&ê%á'¶¡ß'¶¡è'â ß'¼¨Ü'À'ø'ÿ'å&×&Ô¡¥&N&E(¶¡C(¶¡L(â C(¼¨@($(\(c(I';'Ô¡ '²&©(¶¡§(¶¡°(â §(¼¨¤(ˆ(À(Ç(­'Ÿ'Ô¡m''
)¶¡ )¶¡)â  )¼¨)ì($)+)((Ô¡Ñ'ͳ°Ò)´·)Ô°Ž)Ô°›)Ô°¨)Ô°µ)(Ô°Â)4Ô°Ï)@Ô°Ü) LÔ°é)
XÔ°ö) dÔ°* pÔ°*
|Ô°*ˆÔ°+*Ô°9* Ô°G*¬Ô°U*¸Ô°c*ÄlÄ* ŸX* |àô¼¨h* |àô¼¨x* |àô¼¨ˆ* |àô¼¨˜* |àô¼¨¨* |àô¼¨¸* |àô¼¨È* |àô¼¨Ø* |àô¼¨è* |àô¼¨ø* |àô¼¨+ |àô¼¨+ |àô¼¨(+ |àô¼¨8+ |àô¼¨H+ |àô¼¨X+ |àô¼¨
ã* Ú
ó• £ùÚ
¹•: [7 »õ
Ë• 7
º+ ñÙ
Æ+ 
ß+  !
(ÁÙ
Æ+ 
¥5H Ù
ã+ ùÙ
Æ+   Ù
æ+ ‰Ù
€, 
€,  
,  7H Ù
,  
Ú, 
ß,    ! Î Ù
ã,  ùÙ
¬,9  Û¼»õ Ù
ä, ùÙ
ý+á ùÙ
›--  Û¼»õ8 Ù
Ý-  Ù
ï- Ú
˜ ¤ùÚ
ž—r ùÙ
¶+º 
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ»õùÚ
×- 
µ— @»õ>;ÖÓÅ»õˆ´Q³°Û¡Ù
¹. 
¹.  
À. 
À. 

À. 
¢-<l  Ù
Ì.  ÑÙ
´. Î Ù
Í.  Ù
ß. Ú
Ö™ ¥ùÚ
û˜[ »õ
©™ 
›™ þúë»õè´-W
§/  
¢/ Î Ù
«/ Ú
„› ¦ùÚ
­šW »õ
Ùš 
Ëš }´A
¿“"OK"Á ¿“ "CANCELLED"Á¿“ "UNKNOWN"Á¿“"INVALID_ARGUMENT"Á¿“"DEADLINE_EXCEEDED"Á ¿“ "NOT_FOUND"Á¿“"ALREADY_EXISTS"Á¿“"PERMISSION_DENIED"Á¿“"RESOURCE_EXHAUSTED"Á¿“"FAILED_PRECONDITION"Á¿“ "ABORTED"Á ¿“"OUT_OF_RANGE"Á
¿“"UNIMPLEMENTED"Á¿“
"INTERNAL"Á ¿“
"UNAVAILABLE"Á ¿“ "DATA_LOSS"Á¿“"UNAUTHENTICATED"Á
—:  ùÙ
—:% ÙÙ
¡:  Ÿ Ù
»: Ú
’Ÿ ªùÚ
ΞD 
ïž ¤ùÚ
Ì•ž  Az Ÿ±Ù
¦< 
¦< 
¦< 

¦< Æ•+ :
¶<  o
 Ù
»<  
À<  ùÙ
¦<   Ù
Å<   Ù
×< Ú
º  «ùÚ
úŸ@ 
™  ¤ùÚ
Ì•È
 »õä°8a
Ù
œ= 
œ=  
¥=  @  Ù
«=  ùÙ
œ=/ ÙÙ
°=  Ÿ Ù
Ê= Ú
ü¡ ¬ùÚ
¦¡V 
ס ¤ùÚ
Ì•ø  »õ
Æ¡ ãßË4¹
1j£ Ÿ
Ù
Ÿ> 
Ÿ>  
¨>  @  Ù
®>  
³>  ÙÙ
Ÿ>  Ù
¹>  Ú
º£ ­ùÚ
è¢R 
—£ ¤ùÚ
Ì•¸
 »õ
†£ ñíÙ¦;¹
8q
Ù
D 
D  
ŠD  ?  Ù
D  ±Ù
üC Î Ù
D Ú
Ƭ ²ùÚ
í«Y »õ
Ÿ¬ »õùÚ
Ì•À »õ
ެ ×ÓÀ4¹
1l
Ù
çD 
çD  
ðD  ?
 Ù
öD  ±Ù
âD Î Ù
÷D Ú
•® ³ùÚ
Ê­K »õ
õ­ »õùÚ
Ì• »õ
ä­ ×ÓÀ4¹
1l
‰Ù
ÒE 
ÒE  
ÛE 
ÜE  % Ù
âE a  ¹Ù
ÍE Î Ù
ãE Ú
¼± ´ùÚ
ç°U »õ
—± »õùÚ
Ì•¸ »õ
†± ôðÝÙ;¹
8s
Ù
ÈF 
ÈF  
ÑF  ?  Ù
×F  ±Ù
ÃF Î Ù
ØF Ú
³³ µùÚ
ʲi »õ
„³ »õùÚ
Ì•¥ »õ
ó² ×ÓÀ4¹
1l
ÀG 
ÁG  % Ù
ÆG ùÙ
§G!

ÁÙ
§G _+ Ù
ÇG Ú
µ ùÚ
È´G »õ
ê´ »õùÚ
Ì• ¼¸JùÓöM. ˜N ˜N  #
*N 
£7N  Ó¢N j
qùÓöM! ǘ| Ó£N ùÓºN. ÜN ÜN  #
*áN •°5áN  ÓæN h
oùÓºN! ǘzŽ ÓçN ùÓúL
ùÓúL' 
àôùÓ·M)  |àô¼¨æQ ÓúN  Ó‰O ïùÓ¨Lá   IterÁ
ÀV  doneÁ ¢}¶Ù+.‡àôùÓÄL# ¤ºL àô!¤àôœ˜¤B©ÿ |àô¼¨ùÓ«S. ÍS ÍS  #
*ÒS •°5ÒS  Ó×S h
oùÓ«S! ǘzŽ ÓØS ùÓïS. ‘T ‘T  #
*–T •°5–T  ÓT h
oùÓïS! ǘzŽ ÓœT ùÓªR†
ùÓªR, 
$àôùÓìR)  |àô¼¨}æQ Ó¯T  Ó¾T ðùÓÍQñ    IterNamesÁ flagsÁ  idxÁ  sourceÁ   remainingÁ Aî2_ömê*àôùÓïQ( ¤åQ àôKG¤EàôÈĤÂBÕ+ |àô¼¨ÑÕÊ  
ÁÕÊ  
¡-ùÕÅ  Å Õä  Öó’ öùÖ»’8 àôÓ’ »õ(ÁÕ­
 
±Õ­
 Æ•+ñÕ¨
 Å ÕÅ
 Ö†” ÷ùÖÒ“4 àôè“ »õŠ(   »õ 
   •°?   Õ  Öó• øùÖ¹•: qN¶¡Ë• ¤š<ùÕï " Œ   "
)áÕï  
¤5I Õ  XùÕé ( |ùÕç
- Û¼àô
Ú   Û»õ
 
  ! Å Õš
 ùÕã 9  Û¼àô Õ
   Õ¼ Ö˜ ùùÖž—r ùÕ¬ p Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙàôùÖ×- µ— ­“âÞùÕ¬ 3 »õYàôA»õ?´I´ƒÑùÕ+ ¬  "
)ùÕ% 4H Õ° ùÕ1 Å Õ± ÖÖ™ úùÖû˜[ àô©™ ›™ »õÀ»´IùÕ) ¯  "
)ùÕ# 
¦6J Õ³ ùÕ/ Å Õ´ Ö„› ûùÖ­šW àôÙš Ëš »õ½´I  »õ‰Õ
 ˜ 
ªA˜  Õ¡ Ö’Ÿ ýùÖΞD ïž ¶¡ùÖÌ•ž  ¤¢Bí  »õí
 ô 
«Aô  Õû Öº  þùÖúŸ@ ™  ¶¡ùÖÌ•È
 ¤¢BÒ  »õä  »õÑÕÒ
 Ù 
¬\D™ÕÙ  Õë  Öü¡ ÿùÖ¦¡V ס ¶¡ùÖÌ•ø  àôÆ¡ ¤Ö»õÁ/¹
,eÀ  »õÐ  »õÁÕÀ
 Ç 
­\D‰ÕÇ  Õ×  Öº£ ùÖè¢R —£ ¶¡ùÖÌ•¸
 àô†£ ¤Ö»õÁ/¹
,eáÕì ì  »õ  »õA
Hó 
²U?©Õó  Õ  ùÕç" Å Õˆ ÖƬ ùÖí«Y àôŸ¬ àôùÖÌ•À àôެ »õ»õÿ»õì8¹
5p©ÕÞ Þ  »õë  »õA
Hå 
³U?å  Õò  ÙÕÙ Å Õó Ö•® ùÖÊ­K àôõ­ àôùÖÌ• àôä­ »õ»õþ»õë8¹
5pÑÕÎ Î  »õà  »õA
HÕ 
´U?™ÕÕ  Õç  ùÕÉ  Å Õè Ö¼± ùÖç°U àô—± àôùÖÌ•¸ àô†± »õ»õÿ»õì8¹
5pùÕÍ$ Í  »õé  »õB
I¡ÕÔ 
µU?éÕÔ  Õð  ùÕÈ* Å Õñ Ö³³ ˆùÖʲi àô„³ àôùÖÌ•¥ àôó² »õ»õÿ»õì8¹
5p™ÕÅ Å  »õ&
-Ì 
:Ì  Õ× ÉÕÀ Å ÕØ Öµ ùÖÈ´G àôê´ àôùÖÌ• »õÌ»õÉ!LùØöM. ˜N ˜N  #
*N Å5N  Ø¢N h
oùØöM! ǘzŽ Ø£N ùغN. ÜN ÜN  #
*áN Å5áN  ØæN h
oùغN! ǘzŽ ØçN ùØúL
ùØúL' «²ùØ·M)  |àô¼¨xáL ØúN  ؉O ±ùبLá –³ùØÄL# ¶¡ºL àôÞÚ¶¡Øàô[W¶¡UBmà |àô¼¨ùØ«S. ÍS ÍS  #
*ÒS Å5ÒS  Ø×S h
oùØ«S! ǘzŽ ØØS ùØïS. ‘T ‘T  #
*T Å5T  ØT h
oùØïS! ǘzŽ ØœT ùتR†
ùتR, ¥·ùØìR)  |àô¼¨xáL دT  ؾT ²ùØÍQñ ¸ùØïQ( ¶¡åQ àôÞÚ¶¡Øàô[W¶¡UBmà |àô¼¨Üó %úÙ1×Ú9@ šž%×Ú1†J†JK‰Jµ 7ŠJphantomÁ7J¤7·0ØQdè" ‚ã ûûPartsÁümethodÁýuriÁþÄÿ²“
extensionsÁÍn¦¹b£’ÿFsª˜"Ôã ÌìÎÝ19¼„
§¨%¾Û1Þ9@,—
®°%Þ1Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ‚ã~¼ ·%ÕÞ1Úà9@ ½¿%Úà1“æ9@´á ÅÆ%®á1½ä9@,¼2 æè%½ä1‚ã9@$Ô2 æë%½ä1óã9@Lð2 æî%½ä1ýâ9@tæ3 æò%½ä1†J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdè"‚ãàã˜"ËëÀü ÌìÎݯôÓ ÷ø%×å1´æ9@ þ%´æ1ýâ9@ĉ Œ%›ç1˜è9@ %˜è1“æ9@Œ¶
˜%Ûè1…ê9@
Ÿ¡%…ê1“æ9@þ
Ÿ¤%…ê1†J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdè"Ôã˜"Ôã¯é ÌìÎݪ± ©ª%æê1óã9@ù° [ ÅÆ)àô5»õ=Dù´ Å" ÎÏ)»õ5<C$N ÃÅ%šü1¤ô9@,ÿN ÃÈ%šü1úHúHßûHÁ‘4Ý­f‰úM÷cjTªX ÌÐ%õü1¤ô9@ ñó%Þÿ1œ—°ˆÖ oôKÐüfRho ñö%Þÿ1ô9@,”L ƒÿÒÖ -9Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿÒ\‡M ƒÿÒÖ Š-9ÖAHTÀa ˜š%Šƒ1Öõ9@,´b ˜%Šƒ1ô9@¤¼½¡Àü¥Pü:7 `async fn(HttpRequest) -> Result<HttpResponse, Error>`Á;út? # OverviewÁNúüR`] tower-http is a library that provides HTTP-specific middleware and utilities built on top ofÁ [tower].ÁÀúüÄ^[ All middleware uses the [http] and [http-body] crates as the HTTP abstractions. That meansÁü£YV they're compatible with any library or framework that also uses those crates, such asÁüý! [hyper], [tonic], and [warp].ÁŸú¤£ # Example serverÁ¸úü¼^[ This example shows how to apply middleware from `tower-http` to a [`Service`] and then runÁü›0- that service using [hyper] and [hyper-util].ÁÌú”Ð ```rust,no_runÁ¬ã use tower_http::{Áüù&# compression::CompressionLayer,ÁÔ  trace::TraceLayer,Á };ÁüÂ63 use tower::{ServiceBuilder, service_fn, BoxError};Áüù" use http::{Request, Response};Áüœ)& use std::net::{SocketAddr, Ipv6Addr};Á¬Æ use bytes::Bytes;ÁìÜ use http_body_util::Full;Áüú1. use hyper_util::rt::{TokioIo, TokioExecutor};Áü¬1. use hyper_util::service::TowerToHyperService;ÁÞúüâfc # async fn handler(_: Request<hyper::body::Incoming>) -> Result<Response<Full<Bytes>>, BoxError> {ÁüÉ<9 # Ok(Response::new(Full::new(Bytes::from("hello"))))Á<†  # }ÁŽ ú”’  #[tokio::main
B? let listener = tokio::net::TcpListener::bind(addr).await?;矯
1. println!("Listening on http://{}", addr);ÁŠ ú loop {Áü 74 let (socket, _) = listener.accept().await?;ÁÕ úüÙ %" tokio::spawn(async move {Áüÿ 2/ let socket = TokioIo::new(socket);Á² úü¶ -* // Build our middleware stackÁüä 30 let service = ServiceBuilder::new()Áü˜
63 .layer(TraceLayer::new_for_http())ÁüÏ
30 .layer(CompressionLayer::new())Áüƒ)& .service_fn(handler);Á­úü±$! // Wrap it for hyperÁüÖFC let hyper_service = TowerToHyperService::new(service);Áúü¡da if let Err(err) = hyper_util::server::conn::auto::Builder::new(TokioExecutor::new())Áü†<9 .serve_connection(socket, hyper_service)ÁÔà .awaitÁŒÞüðEB eprintln!("failed to serve connection: {err:#}");ÁŒ¶ });Á ```ÁðúüôSP Keep in mind that while this example uses [hyper], tower-http supports any HTTPÁüÈMJ client/server implementation that uses the [http] and [http-body] crates.Áú¤š # Example clientÁ¯úü³>; tower-http middleware can also be applied to HTTP clients:Áòú”ö€ÿ¬‰›ÿüŸ*' decompression::DecompressionLayer,ÁüÊ*' set_header::SetRequestHeaderLayer,ÁÔõéÿü*' classify::StatusInRangeAsFailures,ÁŒ€üÂ52 use tower::{ServiceBuilder, Service, ServiceExt};Áüø@= use hyper_util::{rt::TokioExecutor, client::legacy::Client};Áì¹Ø¬×ºüí96 use http::{Request, HeaderValue, header::USER_AGENT};Á§ú”«Ò„¬¾ async fn main() {ÁüÔDA let client = Client::builder(TokioExecutor::new()).build_http();Áü™.+ let mut client = ServiceBuilder::new()ÁüÈ@= // Add tracing and consider server errors and clientÁü‰" // errors as failures.Áü¬# .layer(TraceLayer::new(ÁüÐNK StatusInRangeAsFailures::new(400..=599).into_make_classifier()Á ))Áü®96 // Set a `User-Agent` header on all requests.Áüè52 .layer(SetRequestHeaderLayer::overriding(ÁÜž USER_AGENT,Áüº;8 HeaderValue::from_static("tower-http demo")Áð˜ü…)& // Decompress response bodiesÁü¯-* .layer(DecompressionLayer::new())ÁüÝ74 // Wrap a `Client` in our middleware stack.Áü•;8 // This is possible because `Client` implementsÁüÑ  // `tower::Service`.Áìò .service(client);ÁúÌ” // Make a requestÁü®(% let request = Request::builder()Áü×&# .uri("http://example.com")Áüþ+( .body(Full::<Bytes>::default())Á´ª .unwrap();ÁÁúìÅ let response = clientÁ¤ã .ready()Á”ø .awaitÁ¬‹  .unwrap()ÁÔ¡  .call(request)Á”¼ òŸ´Ï „Ÿ©ô úœø  # Feature FlagsÁŒ!úü!UR All middleware are disabled by default and can be enabled using [cargo features].Áæ!úüê!TQ For example, to enable the [`Trace`] middleware, add the "trace" feature flag inÁ´¿" your `Cargo.toml`:ÁÖ"ú\Ú" ```tomlÁüæ":7 tower-http = { version = "0.1", features = ["trace"] }Á<¡#©©#úü­#.+ You can use `"full"` to enable everything:ÁÜ#ú\à#ª£üì#96 tower-http = { version = "0.1", features = ["full"] }Á<¦$©®$ú”²$ # Getting HelpÁÅ$úüÉ$a^ If you're new to tower its [guides] might help. In the tower-http repo
8¦ © ¯88ÀV& , ¸8Ͷ8 å, æ ç î, è8º$ ï
ð ñ, ó8Ð  ø, ù ú , û8º$ 
ƒ   õ8  8,˜8 Ÿ8æ ¢ ¥ ´8ÀV& «, ­8Ͷ(8 ¾ ë8 Õ Ý8ÀV,×8$€  ,   , 8º,ˆ $ Ž 
 8û L ' 8BodyÁ$ 8
¢ , ¦ 8Ð  « , ¬  ­  ´ , ® 8º$ µ 
 ·  ¹  M8!8˜  Ñ  Ó , Ô 8Ͷ8Ü 8û 'è 8Á î 'ï 8˜ % õ 8!
8£ ,ˆ
 Ž

,
8Ͷ4
8
8û
'¥
8Á
 «
'¬
8£
% ³
+ Â
 Ã
 Ê
8Ý
8 Ø
8¯
 å
 Ô 8
& û
8Àý
' 8ÿ
 ' 8Ìû  Š  8Œ 8$  $ 8cxÁ§ & ©  « 8¬ 8À° '³ 8taskÁ '¹ 8k   :8à  Å $ Æ (Ö 8ÀÙ 'Ü 8íÅ 'â 8·  è 8¬  ï 8Í  ö 8û ' 8FrameÁ,  8$ˆ 'Œ 8˜  $ 8$• ' 8£ ,    ¢  ¤  æ  8  º 8ùY    à  Ä 8ÀV  Ê 8¯  Õ  Ø 8¶ÅÖ + õ  ö  ý 8Ý 8 
8À

 ¡
 œ
8$
(£
8º
 «
 õ
8û
'Æ
8Á
'Ì
8À
 Û
 ç
 Ü
8
 á
8ÀV
+   Œ8Ý4†8 š8Ô L ¦ ¬ §8(®8û 'º8SizeHintÁ Å 8û L×'à8Á'æ8Ô  ñ ý ò8 ÷8ÀV% œÔ¹ Ô Ë Ú Ÿ, Û Ü ç+ Ý Þ æ, ß8¸ à& á8û
è8ê8!, ó8Ð & ø8¼ þ, ÿ  , 8º,& 8¼,ˆ$ Ž   , 8Ͷ4•& 8´œ% ž*¡ ¤ ÉK8 „®'¾8‘» Ë Í Ý, Û Ü â+ Ý Þ á, ß8¸ à
ã8ñ8, ü8Ð  ,  ƒ Š, 8º,…$  Œ   Ó+ ¡ ¢ ¦8ÿ
£8ÀV,¸& ½, ¿8Ͷ8 ì, í î õ, ï8º$ ö ÷ ø, ú8Ð  ÿ,   ˆ, 8º$  Š    8 ž ¤88 ¦8æ © ¬ »8ÀV,­& ², ´8Ͷ(½8 Å 8 Ü ˆ8ÀV8 ¯, ° ± ¸, ²8º$ ¹ º »8À½'À8×Â'Å8p8
Í, Ñ8Ð  Ö, × Ø ß, Ù8º$ à á â ä £
8 ò8×õ ø Ÿ ù8$ þ8± &  ƒ88Àˆ'8×'8ˆL :8œ ž(¡8À¤'§8ש'¬8Í µ 
8± Ç È8 debug_tupleÁ Ô æ8Ô Þ ß å, à8Ð  ç8Â í  î8ë ú û 7...Á ƒ8finishÁ4„ Š 8 ², ³ ´ », µ8º$ ¼ ½ ¾8ÀÀ'Ã8ä 'Ë8þ38
Ô, Ø8Ð  Ý, Þ ß æ, à8º$ ç è é8$, 8Ͷ4†& Œ8ÀŽ'8ä 4“'8þ34$ ¡ « Ã!8!8° Å Ç, È8Ͷ8Ð8ÀÓ'Ö8ä 'Þ8þ3 æ'ç8°% ï+ ý þ 8Ý4ÿ8 8Š $– š Ú8$& Ÿ8À¡'¤8ÿ
¦'©8Ìû« ® ¯8°8 ¸$ ¹8¶Å»& ½ ¿8À8ÀÄ'Ç8íÅ'Í8k Ö:8× Ù(Ü8Àß'â8íÅ'è8· î8'ó8° û ý ¹ 8$ 8ùY<”  œ 8ÀV £8Š  ¨ «8¶Å©lüDü?< Middleware that adds high level [tracing] to a [`Service`].Á@úlD
# ExampleÁRúüV74 Adding tracing to your service can be as simple as:ÁŽú\ ```rustÁüž"Ü€üÁ52 use tower::{ServiceBuilder, ServiceExt, Service};Áü÷&# use tower_http::trace::TraceLayer;Áüž! use std::convert::Infallible;ÁìÀج޺ôúüøa^ async fn handle(request: Request<Full<Bytes>>) -> Result<Response<Full<Bytes>>, Infallible> {ÁüÚ*' Ok(Response::new(Full::default()))Á,…ú¤ # #[tokio::main]Áü¤A> # async fn main() -> Result<(), Box<dyn std::error::Error>> {Á¤æ // Setup tracingÁüû$! tracing_subscriber::fmt::init();Á úü¤+( let mut service = ServiceBuilder::new()ÁüÐ*' .layer(TraceLayer::new_for_http())Áäû .service_fn(handle);Á˜úüœ2/ let request = Request::new(Full::from("foo"));ÁÏúÔÓ let response = serviceÁ„î
.ready()Á|ÿ .await?Á´ .call(request)Á„¦
.await?;Á # Ok(())Á¶„©ÔúüØda If you run this application with `RUST_LOG=tower_http=trace cargo run` you should see logs like:Á½ú ```textÁüÍxu Mar 05 20:50:28.523 DEBUG request{method=GET path="/foo"}: tower_http::trace::on_request: started processing requestÁüÆ  Mar 05 20:50:28.524 DEBUG request{method=GET path="/foo"}: tower_http::trace::on_response: finished processing request latency=1 ms status=200Á
©á
úœå
 # CustomizationÁù
úüý
`] [`Trace`] comes with good defaults but also supports customizing many aspects of the output.ÁÞ úüâ 63 The default behaviour supports some customization:Á ú\ Æâü© 96 use http::{Request, Response, HeaderMap, StatusCode};Áìã Ø¬
ºô—
 use tower::ServiceBuilder;Á¼¶
 use tracing::Level;Á¬Î
›ÿ¤ä
 LatencyUnit,Áüù
RO trace::{TraceLayer, DefaultMakeSpan, DefaultOnRequest, DefaultOnResponse},ÁŒ€äÓ use std::time::Duration;Áüð'$ # use tower::{ServiceExt, Service};Áü˜# # use std::convert::Infallible;Á¼úüÀc` # async fn handle(request: Request<Full<Bytes>>) -> Result<Response<Full<Bytes>>, Infallible> {Áü¤.+ # Ok(Response::new(Full::from("foo")))Á¶„¤ÛàåüðAþåü²&# # tracing_subscriber::fmt::init();Áüß'$ let service = ServiceBuilder::new()Á|‡ .layer(Áü—&# TraceLayer::new_for_http()Áü¾  .make_span_with(Áüß@= DefaultMakeSpan::new().include_headers(true)ÁŒ ä² .on_request(ÁüÏ>; DefaultOnRequest::new().level(Level::INFO)ÁŒŽÄ÷ì  .on_response(Áü¾,) DefaultOnResponse::new()Áüë+( .level(Level::INFO)Áü—:7 .latency_unit(LatencyUnit::Micros)ÁŒÒÄ÷üäLI // and so on for `on_eos`, `on_body_chunk`, and `on_failure`Á仈èüØ  # let mut service = service;Áäù # let response = serviceÁ”– # .ready()ÁŒ© # .await?Áü»0- # .call(Request::new(Full::from("foo")))Á”ì # .await?;Ádÿê¶„<”©œúü :7 However for maximum control you can provide callbacks:ÁÛúÆâüë9‡ðì¥Ø¬ÃºôÙãðüøLI use tower_http::{classify::ServerErrorsFailureClass, trace::TraceLayer};ÁäŽò´â use tracing::Span;Áüù'ãòü¡#”óÅúüÉcÍóü­.ºô¶„¤äàåüùAþåü»&šõÉõüè'Øõ|ˆöü &¡öüÇB? .make_span_with(|request: &Request<Full<Bytes>>| {ÁüŠ85 tracing::debug_span!("http-request")Á”à })ÁüÖLI .on_request(|request: &Request<Full<Bytes>>, _span: &Span| {Áü£ \Y tracing::debug!("started {} {}", request.method(), request.uri().path())Á”€!ü“!b_ .on_response(|response: &Response<Full<Bytes>>, latency: Duration, _span: &Span| {Áüö!JG tracing::debug!("response generated in {:?}", latency)Á”Á"üÔ"QN .on_body_chunk(|chunk: &Bytes, latency: Duration, _span: &Span| {Áü¦#DA tracing::debug!("sending {} bytes", chunk.len())Á”ë#üþ#a^ .on_eos(|trailers: Option<&HeaderMap>, stream_duration: Duration, _span: &Span| {Áüà$PM tracing::debug!("stream closed after {:?}", stream_duration)Á”±%üÄ%`] .on_failure(|error: ServerErrorsFailureClass, latency: Duration, _span: &Span| {Áü¥&;8 tracing::debug!("something went wrong")Á”á&Lô&ûäþ&ˆèü›' °ûä¼'Ùû”Ù'þûŒì'™üüþ'0´ü”¯(íüdÂ(ê<Ï(¶„<×(©ß(úÔã( ## Disabling somethingÁþ(úü‚)GD Setting the behaviour to `()` will be disable that particular step:ÁÊ)ú\Î)ÆâÌÚ) use http::StatusCode;Áôô)ãðü“*LÎþäà*½ò´ý*°ÿü”+'ãòü¼+ # use http_body_util::Full;Á¼Ü+ # use bytes::Bytes;Áüô+$! # use http::{Response, Request};Áü™,#”ó½,úüÁ,cÍó
L¤]®]úü²]C@ fn classify_error<E>(self, error: &E) -> Self::FailureClassÁlö]
whereÁü„^+( E: std::fmt::Display + 'static,ÁL°^üº^%" "something went wrong..."ÁLà^,ê^ð^úüô^'Øõüœ_96 // Create a trace layer that uses our classifier.ÁüÖ_/, .layer(TraceLayer::new(MyMakeClassify))Áä†`ˆè£`úü§`IF // Since `MyClassifier` is `Clone` we can also use `SharedClassifier`Áüñ`=: // to avoid having to define a separate `MakeClassifier`.Áü¯a'Øõü×aDA .layer(TraceLayer::new(SharedClassifier::new(MyClassifier)))Áäœbˆèd¹bê<Æb¶„<Îb©ÖbúüÚbOL [`TraceLayer`] comes with convenience methods for using common classifiers:Áªcúü®c[X - [`TraceLayer::new_for_http`] classifies based on the status code. It doesn't considerÁÔŠd streaming responses.Áü¥d_\ - [`TraceLayer::new_for_grpc`] classifies based on the gRPC protocol and supports streamingÁ„…e
responses.Áeúüše/, [tracing]: https://crates.io/crates/tracingÁüÊe'$ [`Service`]: tower_service::ServiceÁüòe30 [`Service::call`]: tower_service::Service::callÁü¦f74 [`MakeClassifier`]: crate::classify::MakeClassifierÁüÞf;8 [`ClassifyResponse`]: crate::classify::ClassifyResponseÁüšgXU [record]: https://docs.rs/tracing/latest/tracing/span/struct.Span.html#method.recordÁüógLI [`TraceLayer::make_span_with`]: crate::trace::TraceLayer::make_span_withÁÜÀh [`Span`]: tracing::SpanÁüÜhGD [`ServerErrorsAsFailures`]: crate::classify::ServerErrorsAsFailuresÁü¤i52 [`Body::poll_frame`]: http_body::Body::poll_frameÁ» ŒèDÌâD,„E)*,Mt«Å×ó¨ÊžŸ×åi¤, »èDði­Ö
Æ÷,‰j „Vd«j¾
À\tÅjñbTàjü·e|üj¥ ©#Dk±³n”¬kà
Ü#\ÀkÈ€odÛkè
ï#,ékã¼s„‚lÉ ü#L”lþüw„±lª ¹#LÃl²{Œálö  Ê#Tôl±!¼€,Žmâ
"—«¤´m·%û¦²´Êm&ذ„âmú'ɳ\ùm¡(ßi¢¥têi˜t€jŠ$™j”¥j´½jxŒÙjnü™j`ehZ]ü™jUXJMü™j¿EH:=ü™jæ58*-ü™j•%(ü™jÅ

t…m,œm¬œmûýçé×ÙÇÉܰnüŠn%" MakeClassifier for HTTP requests.Á”¹núúذü–]Ѿ÷:³‚ÜŸoüùn%" MakeClassifier for gRPC requests.Á”¨oúúذü–]Ѿ÷:õúôæoŒóo …p Š{ p ×p, p Žp ¤p8ê4p& •p, —p8ê4˜p& žp8$Ÿp$ £p- ¥p, §p ¨p ¾p8parentÁ4©p& ¯p, ±p8âÑ4²p& ¸p8$¹p$ ½p- ¿p, Áp8lvlÁÂp& Åp8$Æp$ Êp, Ìp Íp Ôp, Îp8¯Ïp& Ñp8¯Òp
Õp*Ùp Üp ‡{8,æp, ìp8´Òíp ñp {#8Ä<ÿp'†q8Æ÷,ˆq'q8ERRORÁ,q*•q ˜q ór8Ä<ªq'±q8eventÁ,³q ¸q ¹q är, Ïq Ðq áq8ê4Ñq& ×q, Ùq8ê4Úq$ àq- âq, øq ùq Šr8âÑ4úq& €r, r8âÑ4ƒr$ ‰r- r8Ä<¡r'¨r8Æ÷,ªr'¯r8ýÓ,±r$ ¶r, Ìr Ír Ñr, Îr8¯Ïr
Òr% år8Ä<s'ˆs8Æ÷,Šs's8WARNÁ$s*s ™s ót8Ä<«s'²s8³Ô,´s ¹s ºs ät, Ðs Ñs âs8ê4Òs& Øs, Ús8ê4Ûs$ ás- ãs, ùs ús t8âÑ4ûs& t, ƒt8âÑ4„t$ Št- Œt8Ä<¢t'©t8Æ÷,«t'°t8öÖ$²t$ ¶t, Ìt Ít Ñt, Ît8¯Ït
Òt% åt8Ä<u'ˆu8Æ÷,Šu'u8INFOÁ$u*u ™u óv8Ä<«u'²u8³Ô,´u ¹u ºu äv, Ðu Ñu âu8ê4Òu& Øu, Úu8ê4Ûu$ áu- ãu, ùu úu v8âÑ4ûu& v, ƒv8âÑ4„v$ Šv- Œv8Ä<¢v'©v8Æ÷,«v'°v8êÙ$²v$ ¶v, Ìv Ív Ñv, Îv8¯Ïv
Òv% åv8Ä<w'ˆw8Æ÷,Šw'w8DEBUGÁ,w*—w šw õx8Ä<¬w'³w8³Ô,µw ºw »w æx, Ñw Òw ãw8ê4Ów& Ùw, Ûw8ê4Üw$ âw- äw, úw ûw Œx8âÑ4üw& x, „x8âÑ4…x$ x- x8Ä<£x'ªx8Æ÷,¬x'±x8ÞÜ,³x$ ¸x, Îx Ïx Óx, Ðx8¯Ñx
Ôx% çx8Ä<ƒy'Šy8Æ÷,Œy'y8TRACEÁ,“y*™y œy ÷z8Ä<®y'µy8³Ô,·y ¼y ½y èz, Óy Ôy åy8ê4Õy& Ûy, Ýy8ê4Þy$ äy- æy, üy ýy Žz8âÑ4þy& „z, †z8âÑ4‡z$ z- z8Ä<¥z'¬z8Æ÷,®z'³z8Óß,µz$ ºz, Ðz Ñz Õz, Òz8¯Óz
Öz% éz% ˆ{D{${¾Ë³n” à
,.€od è
,/¼s„.É ,0Ü#\@È,1ï#,Mã,2ü#LTþ,3ûK\u,4Á$),6 Ç,˜X,7‘»,8×Ò¤,,:Ìûà„¾,;readyÁ,ð¥‚,=k<÷Ì,>·$€œØ,?InstantÁ<óT,@ÚΩ,A,adRUCF47%(äd
L†þðòì¤åÇØÚDÛÌüÇ&º¼ª¬šœl‹‡l¡yüÀ¢CDçEúFGDFGEC ÍìÖÇ ÅÍìÜÇ ÈÍìñÈÍì÷ÈÍìýÈ)ÖÇÄcÖÇ+ÀèÜÇã÷ÈÈñÈÖÇ*¤¡þýÈÜÇœÔÇúÇHIJKL*+,-.LJKóõïñëíçéãåBB…éT ,‡ BBÀèüž “°±²„¾„¾Ìû†¾ ˜X$]È=„kt• °úÇ ±ÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾å²œØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
XX ÇZ%~—ÌœÔ7¢úÇ*úÇ+B ¿ B
JÖÇÜÇñÈ÷ÈýȶÅÓ ül³ ³úÇB žB
KÖÇÜÇñÈ÷ÈýÈüÝ*´ ´úÇiiºËjlowerÁkupperÁøÎ0é‡þ2B êB
LÖÇÜÇñÈ÷ÈýÈT—{4›{¦³n”à
MO€od%è
MP¼s„3É MQ²{ŒEö MR Ü#\XÈMSï#,eãMTü#LpþMUÊ#T{±MV!„Vd‡¾MW
ª±”®ƒMYîR„ÂMZæ3D߈M[Á)M\‘»\”M]þ34¸‚ØM_ÌûÉ„¾M`ªä¥‚Mbk<àÌMc·œØMdëäóTMeÚÎ$“©Mf,­°ž¡ƒqtbeSVDG58(+ì‚ù¥ðDÄáü¥1ÓÕÃųµlô¦lŠ˜üüîÙ!hã!ijkÿ!lçmúnonjmilhokÑ̃ØÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆˆæ3ŠƒØÍ“q8‚ õ™ã!ü¯ %Íìí÷<†Íìó÷ Íì×Ì ÍìÝÌ\•ÍìãÌÍìéÌÍìïÌ‚ØÑÌü¨ -ÍìÑÌ)í÷Äcí÷+Œþ ®ù<
Äcó÷Œ¢
ó÷
×Ì„Æ
±ÝÌí÷œé
þïÌ×ÌÔŽ ÈãÌí÷*Ô¼ ãéÌ ×ËpqƒØ„ØqÍÏcfad_b]`[^Y\WZ  ggÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆˆæ3ŠƒØÍ“q8‚ õ™¾¾„VÄÀVÅÚLƆ%ÇÛ$Ȥ%ɹÊõV·ŒØF’¾þí÷×ÌãÌéÌïÌó÷üù I µ·„¾„¾Ìû†¾ ˜X$]È=„kt• µ×Ë ÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾å·œØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤Ã×˃Øg
g
qÑÌí÷ó÷×ÌÝÌãÌéÌïÌ$
¶Å
q<closure_kind>Ár<closure_signature>Ár <upvars>Ár
r
qr ÑÌí÷ó÷×ÌÝÌãÌéÌïÌí÷ôüÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙéÌãÌïÌ óTóTôTëäõTˆA t( ¼Í¥ŠÐÏqª€ s€ s ߀ s
s
qs ÑÌí÷ó÷×ÌÝÌãÌéÌïÌ¢‚ çý³‚ ãÌï̃ ÐÏL£{,§{ü·e|¥ tv³n”"à
tw€od6è
tx¼s„DÉ tyüw„Vª tz²{Œlö t{ É*t|°”“)t}¼€â
t~"—«¤Ì·tûÜQtât¦²´òtذ„ŠútƒLayerÁ,°Út,(+

ûýêìÙÛÈÊ»½¬®|µŸxzgi”£V¬ÂžÍìëÍ Çüüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëͨРԗիњÒÓü¦ KüÞC@ Create a new [`TraceLayer`] using the given [`MakeClassifier`].Á­ ëÍë‡ ëÍ
ëÍ×K|± üî ž©#й#Ê#ŒÜ#ï#Žü#ŠŒŽÛ‡ ó ÍìñÍ Íì÷ÍL€
ÍìÊT
Íì•Ê\—
Íì›Ê
Íì¡Ê
ü̘š|~xztvprlnhjü¾®üŽ41 Customize what to do when a request is received.ÁÇúüÏ:7 `NewOnRequest` is expected to implement [`OnRequest`].ÁŽúü–# [`OnRequest`]: super::OnRequestÁTÅüÌŸ$üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍñÍõŽ Ê•Ê›Ê¡ÊˆŸ$ˆÍìõŽ 
ëÍñÍ÷ÍʕʛʡÊõŽ new_on_requestÁtõFHüú²ü¿;8 Customize what to do when a response has been produced.Áÿúü‡<9 `NewOnResponse` is expected to implement [`OnResponse`].ÁÈúüÐ%" [`OnResponse`]: super::OnResponseÁ\üÌÆ$üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍñÍ÷͕ʛʡʈÆ$ˆÍìl
ëÍñÍ÷ÍʕʛʡÊnew_on_responseÁ|³GIü¼¸üÿ96 Customize what to do when a body chunk has been sent.Á½úüÅ>; `NewOnBodyChunk` is expected to implement [`OnBodyChunk`].Áˆúü'$ [`OnBodyChunk`]: super::OnBodyChunkÁlÃüÌð$üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍñÍ÷Íʛʡʈð$ˆÍì
ëÍñÍ÷ÍʕʛʡÊnew_on_body_chunkÁŒøIKüñžüÇ>; Customize what to do when a streaming response has closed.ÁŠúü’2/ `NewOnEos` is expected to implement [`OnEos`].ÁÉúÜÑ [`OnEos`]: super::OnEosÁ4øüÌ”%üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍñÍ÷Íʕʡʈ”%ˆÍìDÿ
ëÍñÍ÷ÍʕʛʡÊ$’ 
new_on_eosÁT  BDü¨%®üâ#JG Customize what to do when a response has been classified as a failure.Á±$úü¹$:7 `NewOnFailure` is expected to implement [`OnFailure`].Áø$úü€%# [`OnFailure`]: super::OnFailureÁT¯%ü̶%üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍñÍ÷ÍʕʛʠŸ ˆ¶%ˆÍì Ÿ dº%
˜ëÍñÍ÷ÍʕʛʡʠŸ $Ñ%new_on_failureÁtß%FHü’+¯ü©)QN Customize how to make [`Span`]s that all request handling will be wrapped in.Áÿ)úü‡*85 `NewMakeSpan` is expected to implement [`MakeSpan`].ÁÄ*úüÌ*! [`MakeSpan`]: super::MakeSpanÁÜò*µÈt™+üÌà%üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþOÖëÍÇ£ ÷Íʕʛʡʈà%ˆÍìÇ£ \¨+
šëÍñÍ÷ÍʕʛʡÊÇ£ $¾+
new_make_spanÁlÌ+EGü’/#üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþO֮ШРԗիњÒÓìÕ0ü¼/[X Create a new [`TraceLayer`] using [`ServerErrorsAsFailures`] which supports classifyingÁüœ041 regular HTTP responses based on the status code.ÁdÜ0ä¥ œœ
ü¥4#üüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþO֠ѨРԗիњÒÓŸìó5üÏ4YV Create a new [`TraceLayer`] using [`GrpcErrorsAsFailures`] which supports classifyingÁü­5A> gRPC responses and streams based on the `grpc-status` header.Ádú5Û¨ žž
ŸüÁ9¿¤¡ž¢©#£¹#¤Ê#¥Ü#¦ï#§ü#¨¢¥¡¨¤§£¦ÍìÃÏ Æ9Íì™Ï É9ÍìŸÏDÌ9Íì¥ÏLÖ9Íì«ÏTá9Íì±Ï\í9Íì·Ï,ú9Íì½ÏL:Ø™Ï,ø:ØŸÏ,;Ø¥Ï,£;Ø«Ï,º;Ø·Ï,Ì;رÏ,ä;ؽÏ,ú;ªÎ©ªÜݪÿüþøúôöðòìîèêd‡<<Œ<  ‰Öüè<*,ë<¸ ¸ªÎÃϪÎÃÏÜ  ñ< 
ªÃϙϟϥϫϱϷϽÏ$ò<ÀV,ø<l®{L²{±¥ ó×<
ô«¬Æ÷,!«®ÚÎ$(©«¯¥4¬; «°lS<CE24ä4%¬úüS`] Trait used to generate [`Span`]s from requests. [`Trace`] wraps all request handling in thisÁL´ span.Á¾úܵÈÜÞ [`Trace`]: super::TraceÁD„±²²±ÎìüúxÍìµÆ ±Þ³ *Þ³ ³³*,üº6ü– Make a span from a request.ÁL½¹º ¹æ³  ºôôó×öƒØ¦÷ͦŒ4ñŠ|嵯Ðϱ DZ
³æ³ µÆrequestÁ<ÒäôµµÕç ùÐϳü—6»¼ »ÐÏ ¼ôôó×öƒØ¦÷ͦŒ4ñŠ|åÖÇÐÏ´ ¤´
ÖÇ_requestÁD¯üîE¸¹¹¸½³Ë ½žµ ˜"ÐÏñ³ ö½“"³Ë͸ Ô˜Íì³Ë ó³Ëº³ºJLüº5¾¿ ¾³Ë ¿žµ ÐÏ· Ç·
º³ËµÆŒµ <Ò¤ï¨Ð¼½¾¤²üŠ# Create a new `DefaultMakeSpan`.Á¹¨Ð»»
¼üî ,ü»2/ Set the [`Level`] used for the [tracing span].Áòúüú! Defaults to [`Level::DEBUG`].Á  úü¨ A> [tracing span]: https://docs.rs/tracing/latest/tracing/#spansÁ,õ ¨Ð¸ø¨Ð»»
½$ÿ þ',…
üß ?üÑ
,) Include request headers on the [`Span`].Á úüŠ (% By default headers are not included.Á· úÜ¿ µÈ ¨Ð¨Ð»»
¾ ‹(|€ üç ¨ÐÀ´À¤Ž
<
¨Ð¿¿
ÀüÂ
'ÂÂÕç Ç
¨ÐóÃüð
5
ÀÁ À¨Ð Áš· ÐÏÁ ý
Á
ÃÖÇ$‚Œµ <ˆ´ç þ ê Œ ˜, 8þ'& 8$”*š  à8¯8 8‹( Ç ¤8Ä'ä8õV ê ë %, 8þ',†$ 7Œµ $ ®8þâ Ï Ñ8Œµ  Ù8þâ à á$ â8ãü  8Œµ  Š8ã Ž $ 8Ä ²- ´8Œµ  ¼8Ä Ä Å$ Æ8²“ è- ê8Œµ  ò8²“ ú û$ ü8 « Ò8Ä'È8õV Î Ï À, é8þ'$ ï7Œµ L‰$ 8þâ ³ µ8Œµ  ½8þâ Ä Å$ Æ8ãà ä æ8Œµ  î8ãï ò ó$ ô8Ä - ˜8Œµ <™  8Ä ¨ ©$ ªŒ½{lÁ{Èà
»èD­ÖÅÆÚÎ$&©ÅÇœ*lÄ£ü-LI Trait used to tell [`Trace`] what to do when a body chunk has been sent.Ázúü~\Y See the [module docs](../trace/index.html#on_body_chunk) for details on exactly when theÁüÛ'$ `on_body_chunk` callback is called.Áƒú܇—² ÈÉÉÈÞ³ ü£ñ³ ¹ÈÞ³ "Þ³ ÊÊ*,ü GŒÂ Do the thing.ÁØúüà_\ `latency` is the duration since the response was sent or since the last body chunk as sent.ÁÄúüÌ\Y `span` is the `tracing` [`Span`], corresponding to this request, produced by the closureÁü­]Z passed to [`TraceLayer::make_span_with`]. It can be used to [record field values][record]Áü1. that weren't known when the span was created.ÁÅúüÍDA [`Span`]: https://docs.rs/tracing/latest/tracing/span/index.htmlÁü–XþÆóúüûMJ If you're using [hyper] as your server `B` will most likely be [`Bytes`].ÁÍúìÕ [hyper]: https://hyper.rsÁü÷C@ [`Bytes`]: https://docs.rs/bytes/latest/bytes/struct.Bytes.htmlÁü¿LàÇl“ ÂÃÄ Âæ³  õƯé ÄÐÏÈ ¡ È
Êæ³ µÆchunkÁ,¬ latencyÁ<· õV$Ê üÛ HÌÍÌÍÅÆ…Ê ÅÖÇ¯é ÆÐϘ"Ôˆ
Íì…Ê ã ÅÆ“"…ÊÙÓ /Õç à …ÊÎÊÎDFüª
Fl­
ÇÈÉ Ç…Ê ÈÖǯé ÉÐÏË »
Ë
ÎÖÇ…Ê
÷Ñ ,Æ
„Ò <Ñ
õV$ä
ìŸ ÐÐÕç ¤ ÑÊÑüÑ 9 ÊËÌ Ê ËÖǯé ÌÐÏÏ â Ï
ÑÖÇ  í  ô  ¼ã
«ÑÓ¤¬ü&# Create a new `DefaultOnBodyChunk`.Á³«ÑÒÒ
Óüç-ÕÕÕç ì«ÑÖÊÖü©9ÍÎÏ Í«Ñ ÎÖǯé ÏÐÏÔ ºÔ
ÖÖÇ$¿ Å Ì ÙTÐ{4Ô{ãè
Û4< Ÿ×Ù¥4¬ ×Ú÷¬„\Ì×Üɳ\n¡×Ý HeaderMapÁLŽæ
×Þ»è­Ö×߯÷×áÚΩ×â,´¤¦,1ü93ˆ¼€a<¶PR>@|¬üÏA> Trait used to tell [`Trace`] what to do when a stream closes.Áúü•^[ See the [module docs](../trace/index.html#on_eos) for details on exactly when the `on_eos`Á¼ô callback is called.ÁŒúÜ—² ããÞ³ ü¬ÓãÞ³ Þ³  äääü§VŒÂ„Ë ØúüàB? `stream_duration` is the duration since the response was sent.Á§úü¯\ Ì ü]†Í üò1íÍ ¨úü°D´Î üùXþÆüÖLàÇÐÑæ³ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ðæ
æ
ŠÚ è
maskÁé
indicesÁê
entriesÁë
extra_valuesÁì
dangerÁPa $piw‚ã¯é ÑÐÏã Èã
äæ³ trailersÁD·stream_durationÁ|ÕõV$ðŒ æäæü§ =ÒÓÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ò¯á ¯é ÓÐÏå Á å
æ ·  Î  Û üë MèèÔÕ³ËÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ô¯á ¯é ÕÐϘ"üŒ
+ÔÕ–"³Ë©å ‰¹ ð ³Ëéäéü¿
U
Ö׳ËÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ö¯á ¯é ×ÐÏç à
ç
é³Ë
êá DÏ
úá |í
õV$ˆ ì
šÒë´ë¤´

šÒêê
ëŒÆšÒíî串üÞ" Create a new [`DefaultOnEos`].ÁŒšÒìì
íüß,ü¿0- Set the [`Level`] used for [tracing events].Áôúüü!“» ¢úüªDA [tracing events]: https://docs.rs/tracing/latest/tracing/#eventsÁüógd [`Level::DEBUG`]: https://docs.rs/tracing/latest/tracing/struct.Level.html#associatedconstant.DEBUGÁ,æšÒ¸øšÒìì
îþ',öü¶@üÂ:7 Set the [`LatencyUnit`] latencies will be reported in.Áúü‰(% Defaults to [`LatencyUnit::Millis`].Ád½šÒ僚Òìì
ïÙ*dÔܹšÒñäñüÛVÝÞšÒÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ý¯á ¯é ÞÐÏð üð
ñêá Dëúá |‰_spanÁ,¤ñª€ ò€ ò߀ òòñò ¯á Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙtÜ{Tà{þÉ Û4< ŸóõÁ4œ žóöɳ\6¡ó÷×M¤,óù»èDX­ÖóúÆ÷,qóüÚÎ$x©óý,„”/sGdftRV<gEG46üå!ü€A> Trait used to tell [`Trace`] what to do when a request fails.ÁÂúüÆYV See the [module docs](../trace/index.html#on_failure) for details on exactly when theÁü $! `on_failure` callback is called.ÁÅúÜÉ—² þÀ+ÿþÿÞ³ üåéÍìÓþÞ³ +Þ³ 1€*,üí_Œ„Ë £úü«=: `latency` is the duration since the request was received.Áíúüõ\ Ì üÖ]†Í ü¸1íÍ îúüöD´Î ü¿XþÆüœLàÇßà ßæ³ Ó¯é àÐÏþ ûþ
æ³ Ó$€failure_classificationÁ´†„Ò <¬õV$¿üÐ1À+ÍìÿÒƒƒü– @T™ áâ áÿÒ¯é âÐÏ ¤ 
ƒÿÒ ¯  À  Í üÝ fÀ+ã³ËÓ¯é ãÐϘ"üž
$Öõ då ã“"³Ë”û "‰¹ â ³Ë?AüÊ
^
äå ä³ËÓ¯é åÐÏ Ø

³ËÓ
Ý÷ ´ã
„Ò <‰ õV$œ ü²
!Ó´¤Ú

Óˆˆ
¬êÓŒ¤¯ü†$! Create a new `DefaultOnFailure`.ÁÓŠŠ
ü,üé0Šé žúü¦! Defaults to [`Level::ERROR`].ÁÌúüÔDêé ,¤Ó¸øÓŠŠ
Œþ',´üô@ü€:öë ¿úüÇ(Æì dûÓåƒÓŠŠ
Ù*d’ü÷eÀ+©ù düÄcÿÒÓ#%üã[ëì ëÓÿÒ¯é ìÐÏŽ ñŽ
ÿÒÝ÷ ´ü„Ò <¢ µtì{Tð{ª ¥4¬  ó×<,ôÆ÷,BÚÎ$V©äTl&Ct93lM#´Èü]GD Trait used to tell [`Trace`] what to do when a request is received.Á¥úü©YV See the [module docs](../trace/index.html#on_request) for details on exactly when theÁüƒ$! `on_request` callback is called.Á¨úܬ—² Þ³ üÈññ³ ÜÞ³ "Þ³ (˜˜˜*,üû<Œå„Ë ûúüƒ\ Ì üä]†Í üÆ1íÍ üúü„D´Î üÍXþÆüªLàÇíîï íæ³  îžµ ïÐÏ 
˜æ³ µÆŒµ <”õV$ªÜ»ššÕç À˜üë2ðñò ð ñš· òÐÏ ù
ÖÇ  ü¤Ežžóô…Ê óš· ôÐϘ"ÌÏƒÔ ¬óô“"…ÊïŠ
&Õç ©…ÊŸ˜ŸDFüð;õö÷ õ…Ê öš· ÷ÐÏœ þœ
ŸÖÇ…ÊŒµ <‰ õV$Ÿ üþ
! Ô¡´¡¤¦   Ô  
¡¬‰  Ô£¤¤Î ü¥ $! Create a new `DefaultOnRequest`.ÁÕ  Ô¢¢
£ü…,üˆ
0Šé ½
úüÅ
IF Please note that while this will set the level for the tracing eventsÁü“FC themselves, it might cause them to lack expected information, likeÁüÞ63 request method or path. You can address this usingÁü™ [`DefaultMakeSpan::level`].Á½úüÅ!“» ëúüóDêé ü¼DA [`DefaultMakeSpan::level`]: crate::trace::DefaultMakeSpan::levelÁ,Œ Ô¸ø Ô¢¢
¤$þ',œüæ)¦¦Õç ë Ô§˜§ü–2T™ýþÿ ý Ô þš· ÿÐÏ¥ ¤¥
§ÖÇ ¯ ¿|ü{\€|±Æö Û4< Ÿ¨ª¥4¬ ¨«ɳ\8¡¨¬æ3DOˆ¨­»èDh­Ö¨®Æ÷,¨¯ÚÎ$“©¨°,ƒ…”1ttIeœ]UtvDlŠ5¼ŽüšNK Trait used to tell [`Trace`] what to do when a response has been produced.ÁéúüíZW See the [module docs](../trace/index.html#on_response) for details on exactly when theÁüÈ%" `on_response` callback is called.ÁîúÜò—² ±²±²Þ³ üŽÍñ³ £±Þ³ "Þ³ ³³*,üŒMŒ¬„Ë ÂúüÊ=Âõ Œúü”\ Ì üõ]†Í ü×1íÍ úü•D´Î üÞXþÆü»LàÇ\æ³ ˆˆæ3ŠƒØÍ“q8‚ õ™µÆ¯é Ðϱ «±
³æ³ µÆ$responseÁD¡„Ò <¹õV$ÌäݵµÕç â³üŽ <\ ƒ ˆˆæ3ŠƒØÍ“q8‚ õ™ÖÇ¯é ƒÐÏ´ ¦ ´
ÖÇ$  £  ´  Á üÑ R¸¹¸¹…Ê ºœ
¯é ÐϘ"üý %ƒÔ Ù –"…Ê…ž
'Õç Ö …ʺ³ºDFüª
L\­
…Ê ºœ
¯é ÐÏ· É
·
ºÖÇ…Ê
¦š
D¿
„Ò <×
õV$ê
ü
"—Õ¼´¼¤¸

—Õ»»
¼´î—Õ¾¿ÀÁ¤µü‹%" Create a new `DefaultOnResponse`.Á¼—Õ½½
¾üì,üï0Šé ¤úü¬Iù
üúFÌŽ
üÅ6œ
ü€Ü
¤úü¬!“» ÒúüÚDêé ü£D¹
—Õ¸ø—Õ½½
¿þ',ƒüÃ@üÏ:öë Žúü–(Æì dÊ—Õ僗ս½
ÀÙ*dáüÚ?üÈ.+ Include response headers on the [`Event`].Áûúüƒ(¤½ °úì¸ [`Event`]: tracing::EventÁ|á—Õ—Õ½½
Á‹(|ûüâ+ÃÃÕç ç—ÕijÄü”I\—Ž—Õ ºœ
¯é ŽÐÏ ³Â
ÄÖǦš
„Ò <Á ԢĪ€ Å€ Å߀ ÅÅÄÅÖÇùùú
DebugValueÁüˆ 1±B,îýð   ºœ
üŸ.¨ ºœ
ƒñ ÇÇ ±Õç ©
ÆÖÇý‡¬üØ:„‚<§#ƪ€ É€ É߀ ÉÉÆÉÖÇ ‚ã\|<|â
·e|¥ Ê̳n”"à
ÊÍ€od6è
Êμs„DÉ ÊÏüw„Vª Êв{Œlö ÊÑ É*ÊÒ°”“)ÊÓ©#D§±ÊÔÜ#\±ÈÊÕï#,¾ãÊÖü#LÉþÊ×¹#LÔÊØÊ#Tß±ÊÙ!„Vdë¾ÊÚ
À\tùÊÛñbT‰üÊÜ—«¤³·ÊÞûÜQtÉÊߦ²´ÙÊàذ„ñúÊáó×<‘ôÊãæ3DšˆÊäÁ)Êå×ɤ,Êçk<ÙÌÊé·œØÊêëäóTÊëç&<Êì,Ž}lo[^JM9<(+
ûþéì×ÚÅȳ¡¤}nq[^KN;>/2 #¾
ľýÿëílíÜ´ƒÍ´ž
¤îžïïî׬ £
è¬ ¦
â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϨРԗիњÒÓðñ­¯²´üþ
Uü»
>; Create a new [`Trace`] using the given [`MakeClassifier`].Á Ãϙϒ²
íí™Ï 
ðÃÏ™ÏÀV,‰ ×K|“ üéVüåQN Returns a new [`Layer`] that wraps services with a [`TraceLayer`] middleware.Á»úüÃ! [`Layer`]: tower_layer::LayerÁ,ð™Ïüüñb×Ký&$³$ˆ Û$†%Š ¤%ŒH†ÌþO֙ϨРԗիњÒÓííÑ´

ñÃÏ™Ï×K|öüøš¤óžô©#õ¹#öÊ#÷Ü#øï#ùü#úô÷óúöùõø׬ ýè¬ ù¬ DƒŠ­ L›­ T˜¬­ \¤½­ ,±έ L¸‰Öûýÿƒ[]`begjloqtvy{~üñ¬üÁ4”Œ úúü‚:ÞŒ ÁúüÉ#®‰ÖŸ$â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϟϨ»
«Ï±Ï·Ï½ÏòŸ$üüòÍ쨻

û ÃϙϟϥϫϱϷϽϨ»
ã=?üŰüŠ; ÊúüÒ<æ úü›%¸‘ \Ì‰ÖÆ$â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϟϥϬ¾
±Ï·Ï½ÏòÆ$þþòÍ쬾

ý ÃϙϟϥϫϱϷϽϬ¾
ï“ |þ=?üŸüâ9¢”  úü¨>ñ” ëúüó'Å• l¦‰Öð$â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϟϥϫϰÁ
·Ï½Ïòð$òÍì°Á
t´
ÿ ÃϙϟϥϫϱϷϽϰÁ
þ— ŒÛ=?üì$œüÂ#>³˜ …$úü$2‡™ Ä$úÜÌ$Ι 4ó$‰Ö”%â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϟϥϫϱϳÄ
½Ïò”%òÍì³Ä
Dú$
 ÃϙϟϥϫϱϷϽϳÄ
$%û› T%=?ü»*¬üõ(J©œ Ä)úüÌ): ‹*úü“*#Ù TÂ*‰Ö¶%â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϙϟϥϫϱϷϷÇ
ò¶%òÍì·Ç
dÍ*
ƒ ÃϙϟϥϫϱϷϽϷÇ
$ä*Ž  tò*=?ü½0­üÔ.QÀ  ª/úü²/8§¡ ï/úü÷/!õ¡ Ü0µÈtÄ0‰Öà%â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃÏ™ÏÈÊ
¥Ï«Ï±Ï·Ï½Ïòà%òÍìÈÊ
\Ó0
 ÃϙϟϥϫϱϷϽÏÈÊ
$é0µ¤ l÷0=?üÕ4Ù¤ˆˆ׬ Ú4â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϮШРԗիњÒÓ¢¤üÉ7%üµ6VS Create a new [`Trace`] using [`ServerErrorsAsFailures`] which supports classifyingÁü74æ¦ dÐ7ÃÏ…Í

ÃÏÀV,Ý7ü´;Ù¤׬ ¹;â
â
¼€ë
ÀVì
×Kí
ý&î
$ï
³$ð
Û$ñ
†%ò
¤%Ñ5ž„%ípÃϠѨРԗիњÒÓŒ¢¤ü³>%ü”=TQ Create a new [`Trace`] using [`GrpcErrorsAsFailures`] which supports classifyingÁüí=AÛ© dº>ÃÏÐ
ŠŠ
ŒÃÏÀV,Ç>üœB•
¤Ž„3ã!ž£3ÿ!çúÕ3 
Ž ÃÏéØ ˆˆæ3ŠƒØÍ“q8‚ õ™ã!äñDÍì®Ù<µBÍìÜÔ
<ÆBÍì¿Ø ×BÍìËØTâBÍìÑØ\öBÍìãØT‹CÍìרdŸCÍìÝØ4µCÍìÅØLÅCÃÏéØü×D7׬ ªB)®Ù$E)ÜÔ
$°EÄcÜÔ
+dÊEÀÖ
<ÙEÄcÃÏéØ
dðEáÖ
<ÿE¿ØtFØ¿Ø,²F±ÅخٌÈFËØ®Ù”ëF±ÑØÜÔ
œGØÑØ,¦GÈרÜÔ
*Ô¿GØר,ÜGãÝØ,ïGØÝØ,÷GþãØ¿ØƒÔŽHØãØ,«HÀטšœ 
  
œz}-0+.),'*%(#&!$" l¸HD½H
ˆˆæ3ŠƒØÍ“q8‚ õ™¾¾„VÄÀVÅÚLƆ%ÇÛ$Ȥ%ɹÊõV·ŒØF’¾þÜÔ
¿ØרÝØãØT§I,¬I
áÖ
\ÂI4ÇI
À\žÀVŸõV –]¡³$¢Û$£†%¤¤%¥¹dŠþ)–´CÃÏéØ –×
ÑØרÝØãØü¶JOT¹J À× ÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾åœØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
À×éØ

 ÄJ

ÃÏ®ÙÜÔ
¿ØËØÑØãØרÝØÅØ$ÉJ¶ÅÏJüµK9$¸K À×éØÀ×éØ 
 ½K
œ
ÃÏ®ÙÜÔ
¿ØËØÑØãØרÝØÅØ$ÂKreqÁÈKü›|"¬¡|¸øüÎ| œÔ|¸øt€}<‡}»Ùµ¦¹XÛY^‘ ¡Œ•}$•}ŸŸåƒ”¬}D¬}ŸŸ¯éìÃ}»Ù£Åc£üç}8ê} »Ù  c cˆ¢cµ
 `£c Ü `àB¤GS
Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ È£  éBL¢ î}¢
£$ï}± õ}d»Fü2/ Middleware which adds headers for [CORS][mdn].Á3úl7ÙáEú<I©üQ2/ use http::{Request, Response, Method, header};Áì„Ø¬¢ºü¸5éâüî+( use tower_http::cors::{Any, CorsLayer};Áüš!Øã¼úüÀa©äü¢*”åÓú¤×àåüìAþåü® let cors = CorsLayer::new()ÁüÎ=: // allow `GET` and `POST` when accessing the resourceÁüŒ30 .allow_methods([Method::GET, Method::POST])ÁüÀ)& // allow requests from any originÁÜê .allow_origin(Any);ÁúüŠ+ ç¤¶ .layer(cors)Áäˈèèúüì$! let request = Request::builder()Áü‘63 .header(header::ORIGIN, "https://example.com")ÁôÈ .body(Full::default())Á”ç .unwrap();ÁúúÔþé„™¤é½é´ºÕé„Ñôéâú assert_eq!(ÁüöMJ response.headers().get(header::ACCESS_CONTROL_ALLOW_ORIGIN).unwrap(),Á "*",Á );Áê¶„©õ úüù A> [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORSÁ»5„¨FÄ¢F$ÃF½ÒòÔ鈞ºÏн¾°ÅÒÕóýˆ܇Œõ
̤¥BufMutÁ4” ¤§BytesMutÁDœ ¿¤¨headerÁ$À ¤«ÏÛ ë¤¬ŠÚ L× æ
¤­Œâ º¤®ÆÞ ¥¤¯ó× ô¤°æ3D€ ˆ¤±‘» ¤²þ34Ç ‚ؤ´íÓ ë¤µÌûá „¾¤ªä ¥‚¤¸k<ø ̤¹·$
œØ¤ºÞ… ,œ
Ú¤»ç&<¶
¤¼؃„–²“…§³¡†´£‡ÅµáŠœ˜÷–Œ·Œ˜¸˜Ž©¹üç
I 58! ”«  óöãæÓÖÃÆ´·ì‘ ¨´ t¿ žŽ ü´ :ps`cPS
C´§
5¬À
΀
¤š×
¤,½¿K†J½Àðï
$5½ÃÏÛT;ë½ÄŒâ\Gº½Å RequestPartsÁdkû½Æ‡Ly$ l4,]_LNtY3¬¨úÙÈÉË̤ŒüÄ&# Allow credentials for all requestsÁïúü÷:7 See [`CorsLayer::allow_credentials`] for more details.Áúü¾IF [`CorsLayer::allow_credentials`]: super::CorsLayer::allow_credentialsÁúÙÇÇ
Èü‡ wü×C@ Allow credentials for some requests, based on a given predicateÁŸúü§>; The first argument to the predicate is the request origin.Áêúüò:÷
±úü¹Ií÷
³ËúÙÇÊÊlj¹ ˜ ˜"³Ë ‚ã ˜æãü¾ '˜³Ë¡ü
˜"Ìì³Ë ³Ë³Ë
ɳ˱ ˜šüÌ
$
¤ úÙÇ â
Ç
Ë
ü´  ¤šœ šúÙÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ‚ã œæãðûÇ Õ Ç
Ì ÕŒ partsÁ,Š ¼Ž
$”
½‚ãü€$úÙÏëÏÄ«úÙÎÎ
ÏÁ ³ü×$úÙÑÀcÑü‚8žŸ úÙ ž c cˆ¢cµ
 `£c Ü `àB¤GS
ŸÜä
Ð Ð
ѱ Œ×

¤§¨®×
¤,ÒÓðï
$(
ÒÖÏÛT.
ëÒ׌â\:
ºÒØñõ
d^
ûÒÙêEœ|
ÐÒÛ
½ÒܾÒÜœDD–
ºÒÝD
½$

°4
¡£tL
,t
subd;=α
¾Ûßàâãä¤
üÉ1
. Allow any headers by sending a wildcard (`*`)Áÿ
úü‡6
3 See [`CorsLayer::allow_headers`] for more details.ÁÂ
úüÊA
> [`CorsLayer::allow_headers`]: super::CorsLayer::allow_headersÁ
¾ÛÞÞ
ßüŸX
üé
 Set multiple allowed headersÁŽ
úü–6
‘„ Ñ
úüÙA
Ý„ 
š¾ÛÞšááÞÍì· «
ÇL· ü×
· ÈLÅÜŒä
à· ²“
:<üð 
ü
Y
V Allow any headers, by mirroring the preflight [`Access-Control-Request-Headers`][mdn]Á
 header.Áï
úü÷
6
‘„ ²
úüº A
Ý„ 
úüˆ c
` [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-HeadersÁt÷
¾ÛÞÞ
âü€(

¤   ¾ÛÞ š
Þ
ã$
ü„Y
L
¤¡¢ ¡¾Û ¢æãðûÞ œ
Þ
ä$
Íþ

üÃ
¾ÛæÀcæüê8
í
£¤¥ £¾Û ¤ c cˆ¢cµ
 `£c Ü `àB¤GS
¥Üä
å ñ
å
æ
± ø
ü†
¾Ûèë輬

’ܾÛçç
è ´
üã;
ŸêêŸ
¾Ûìëì î
ü¥%

ÄܾÛéé
ìŸarrÁ­
üî+
¾Ûïëïü %

ݾÛîî
ïÁ¨
üÉ"
Þñ´ñ¤ò

Þðð
ñŒê

¤·½× ¤,òóðï
$( òöÏÛT. ëò÷Œâ\: ºòøñõ
d^ ûòùÆÞ4p ¥òúêEœˆ Ðòü ½òý¾òýœDD¢ ºòþD Ó$  Æ4 ·¹¦¨tL ˜‡,€ y{gi@BŒ½ ÕÞ¤› üÕ0 - Allow any method by sending a wildcard (`*`)ÁŠ úü’6 3 See [`CorsLayer::allow_methods`] for more details.ÁÍ úüÕA > [`CorsLayer::allow_methods`]: super::CorsLayer::allow_methodsÁ¢ ÕÞÿÿ
ü©$ üô  Set a single allowed methodÁ˜ úü 6 ó“ Û úüãA ¿”  ¸ßÕÞÿÿ
þâ ü† T üÐ  Set multiple allowed methodsÁõ úüý 6 ó“ ¸
úüÀ
A ¿” $ · ÕÞÿšƒƒÿ÷‡ ˆˆ ܾ · ÈL¸ß
· methodsÁ<• 79â ª€ € ߀ · ¸ß‚ãü– üª
W T Allow any method, by mirroring the preflight [`Access-Control-Request-Method`][mdn]Á\† ¼ˆ  úüž6 ó“ Ù úüáA ¿” § úü¯b _ [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-MethodÁt ÕÞÿÿ
ü¦(  ¤¦ ¦ÕÞÿ À ÿ
 üªY  ¤§¨ §ÕÞ ¨æãðûÿ  ÿ
 Íþ
 üè ÕÞÀcü8  ©ª« ©ÕÞ ª c cˆ¢cµ
 `£c Ü `àB¤GS
«Üä
ˆ  ˆ
$— ±  ü« ÕÞë¼Ñ  ’ÜÕÞŠŠ
 Ù üˆ" ÕÞëü±  ¸ßÕÞŒŒ
þâ üø7 Ÿ¼  ÕÞë ƒ ü¶!  ûßÕÞŽŽ
Ÿ¤ ¾ üû' ÕÞëü©!  àÕÞ
Á± üÎ" Úà´¤÷  Úà
„ý
d¤ÌÅÆÑ׿ðï
$ šÏÛT ëŒâ\+ ºœñõ
dO û‘»\v ž× ¤, þ34£ ‚Ø¡Ìû´ „¾¢Kà †J£k<Ó Ì¥· œØ¦ó ½¨¾¨œDDø º©$ -4 "t= ìd õ çét› ÚD¯ ÉL½ ºü‡I ­¯ ŒŽeg„‡ ®á«¬­¯±µ·¸¤á üž0 - Allow any origin by sending a wildcard (`*`)ÁÓ úüÛ5 2 See [`CorsLayer::allow_origin`] for more details.Á úü? < [`CorsLayer::allow_origin`]: super::CorsLayer::allow_originÁè ®áªª
«üà) ü®  Set a single allowed originÁÒ úüÚ5 ¬§  úüœ? ÷§  ‚ã®áªª
¬ÕŒ üû Y üÀ  Set multiple allowed originsÁå úüí 5 ¬§ §
ú
# PanicsÁÀ
úüÈ
. + If the iterator contains a wildcard (`*`).Áû
úüƒ ? ÷§ $‚ · ®áªš®®ª÷‡ ˆˆ ü³ · ÈL‚ã”À
­· originsÁ<Š 8:üéw üª, ) Set the allowed origins from a predicateÁÛ úüã5 ¬§  úü¥? ÷§  ³Ë®áª°°ª‰¹ ú ¬­"³Ë ¬‚ã ­æãü ' ¬­³Ë©¯ ˜" ãü
 ôü
 „ý

¯³Ë± ý üêÁ ü¤3 0 Set the allowed origins from an async predicateÁÜ úüä5 ¬§ ž úü¦? ÷§  ³Ë®áª²Ù!³²³ª ‰¹  ÍìÙ! ®–"³Ë‚ã ®æãü¬) ®³Ë”² ˜"ù± Ò ãü
 ôü
 „ý
 Ø³Ë ‚Øù± ¬„ ù± ƒØl‹ Ììù±  ù± 
±³Ëù± ±  ØÚÒÔ ±ª€ ´€ ´߀ ´´±´³Ëù± ËëÀü³Ëüâ ü²5 2 Allow any origin, by mirroring the request originÁì úÌô  This is equivalent toÁü’= : [`AllowOrigin::predicate(|_, _| true)`][Self::predicate].ÁÔ úüÜ5 ¬§  úüž? ÷§  ®áªª
µ µª€ € ߀ µÖã æãüè( \ö ¤¯ ¯®áª  ª
· üà ¤°±² °®áÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ±‚ã ²æãô᪠ ª
¸$‚ ÕŒ4 Íþ
 é ¸ª€ ¹€ ¹߀ ¹¹¸¹ ïª
  óã ¸ª€ º€ º߀ ºº¸ºíª
µüÅÜD™ ¸ª€ »€ »߀ »»¸»Ạ  †J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdèð" ð‚ã ðæãð˜"ž½  ÌìÎÝ  æãÍ ¸ª€ ¼€ ¼߀ ¼¼¸¼Ø» å» T¿! ¸<coroutine_kind>Á½ <resume_ty>Á½
<yield_ty>Á½ <return_ty>Á½߀ ½½¸®û´´% ôá¿ÀüÑ%5 Ô% ðûôá¾¾
¿ý‡×% ü­&p °& ³Ëôá¾ÁÁ¾‰¹ ´& ‚سËü·&2 ³ËƒØðûü¾&* ãü
$ì& „ý
<ó&
À³Ëä 4…' LNüð'! ôáÃă؄ØÄ\˜( 4( ÂÂðûüÎ(I $Ñ( ³´µ„¾„¾Ìû†¾ ˜X$]È=„kt• ³ôá ´ÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾åµœØžØŸØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃôáƒØÂ à( Â
Ä$Ö( ¶Åì( üß* ®áÆÀcÆü…+8 ˆ+ ·¸ ®á · c cˆ¢cµ
 `£c Ü `àB¤GS
¸Üä
Å Œ+ Å
Æ$+ ± “+ ô½. ®áÈëȼâ. $å. ’Ü®áÇÇ
È ê. ü™/& ®áÊëÊüÆ/! $É/ ‚ã®áÉÉ
ʹÎ/ üŒ0; ŸÌ̼ t‘0 ®áÎëÎ —0 üÎ0& $Ñ0 Þã®áËË
Ο¤ Ö0 ü˜1+ ®áÑëÑüÊ1& $Í1 óã®áÐÐ
ÑÁÒ1 äŽ6 ½äÓ´Ó¤±6 <´6 ½äÒÒ
Ó̬“¤÷øþ×
¤,ÔÖK†JÔ×ÏÛT5ëÔÚŒâ\AºÔÛñõ
deûÔÜfhLZ$ MO<>tS.ÄŽ×åÞß᤯ü­TQ Allow requests via a more private network than the one used to access the originÁúüŽ>; See [`CorsLayer::allow_private_network`] for more details.ÁÑúüÙQN [`CorsLayer::allow_private_network`]: super::CorsLayer::allow_private_networkÁ×åÝÝ
ÞüÊ wüýTQ Allow requests via private network for some requests, based on a given predicateÁÖúüÞ>Ñù
¡úü©>ûË ìúüôQÏÌ ³Ë×åÝàà݉¹ Û ¹º"³Ë ¹‚ã ºæãü
'¹º³ËâÐ ˜"
ãü
ôü
„ý

߳˱ Þ ü„ L’ ¤»¼½ »×åÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¼‚ã ½æãðûÝ ¥ Ý
á ÕŒ Íþ
üÞ
)¼ä
ÔÅÜü›'¬¡ÔÅܼ›Ô‚ãüâ'×åæëæÄ$“×ååå
æÁ ˜üÂ'×åèÀcèüð8ó¾¿À ¾×å ¿ c cˆ¢cµ
 `£c Ü `àB¤GS
ÀÜä
ç ÷ç
è± þ”ª¤Œ× ¤,éêðï
$( éíÏÛT. ëéîŒâ\: ºéïñõ
d^ ûéðêEœ| Ðéò ½éó¾éóœDD– ºéôD ½$  °4 ¡£tL ,t subd;=”¸ ›çö÷ùú¤¢ üÑ8 5 Expose any / all headers by sending a wildcard (`*`)ÁŽ úü–7 4 See [`CorsLayer::expose_headers`] for more details.ÁÒ úüÚC @ [`CorsLayer::expose_headers`]: super::CorsLayer::expose_headersÁ© ›çõõ
öüºX üü% " Set multiple exposed header namesÁ¦ úü®7 —Ø ê úüòC äØ  · ›çõšøøõ÷‡ Æ ˆˆ üò ™ˆ Œÿ
÷· ²“ ')üÑ
(
¤Á Á›çõ ë
õ
ù
üÖ Z ¤Âà ›ç Ãæãðûõ î õ
ú _partsÁ4õ üó
! ›çüÀcüü›8 ž ÄÅÆ Ä›ç Å c cˆ¢cµ
 `£c Ü `àB¤GS
ÆÜä
û ¢ û
ü ± © üß ›çþëþ¼† $‰ ’Ü›çýý
þ Ž ü½< Ÿ¼  ›çë È ü€%  ÄÜ›çÿÿ
Ÿ¤ ˆ üÉ, ›çëüü% $ÿ Ý›ç
Á ü“# ˜è´¤½  ˜è
¤˜Ÿ×
¤,ˆŠK
†Jˆ»èD
­ÖˆŒðï
$E
ˆÏÛTK
눌â\W
ºˆñõ
d{
ûˆ
L
„t
t$0
”0
f4<
WYFHti
8\×
Ûèüä'
ôé
 Set a static max-age valueÁŒ
úü”K
H See [`CorsLayer::max_age`][super::CorsLayer::max_age] for more details.Á,ë
¯éÛè
âA<ñ
üïy
üÚ8
5 Set the max-age based on the preflight request partsÁ
úüŸK
žä 
³ËÛ艹 þ
ÇÈ"³Ë Ç‚ã Èæãü¤+
ÇÈ³Ëæç ˜"¯é
ãü

ôü

„ý

³Ë± 
ˆü¥

¤ÉÊË ÉÛèÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ê‚ã Ëæãðû Æ


Ռ
Íþ

Ô¨
ÛèÀcüÉ 8
Ì
ÌÍÎ ÌÛè Í c cˆ¢cµ
 `£c Ü `àB¤GS
ÎÜä
˜ Ð
˜

± ×
ôÆ
Ûèëüë
"
¯éÛèšš
âA<ó
äá
…ê´¤„
<‡
…ꜜ
¤©ªðï
$ž ÏÛTëž¡Œâ\%ºž¢¡IÌ? ž£dQ4
BD13ü8 %Lˆæê¥§üÓXü˜@= Set the list of header names to return as vary header valuesÁÝúüå-* See [`CorsLayer::vary`] for more details.ÁúüŸ/, [`CorsLayer::vary`]: super::CorsLayer::varyÁ$Ú· æê¤š¦¦¤÷‡ ߈ˆ ü‹™ˆ Œ˜
¥· ²“')üùCL‡¤Ï Ïæêðû¤ ¤
§$’¬è æê©´©¤„
<‡
æê¨¨
©üÔ
3Ÿ««¼
æê­ë­ ß
üŽ %$‘ ÄÜæêªª
­Ÿ¤  ü× #æê°ë°ü %$„ Ýæê¯¯
°Á üƒ#_@ܨS@ÜÅG@Ìæ;@ü*0@ì±$@|Ð@Tá @ܶ¤‚ãÔë¼½¾¿ÁÃÅÇÉËͤ ì‰ Create a new `CorsLayer`.Á«úü³HE No headers are sent by default. Use the builder methods to customizeÁŒ€ the behavior.ÁúüžC@ You need to set at least an allowed origin for browsers to makeÁüæ52 successful cross-origin requests to your service.Á§Ôë»»
¼Ü€üÐ A permissive configuration:Áôúüü" - All request headers allowed.ÁÔ£ - All methods allowed.ÁÔ - All origins allowed.ÁÔá - All headers exposed.ÁT‡Ôë»»
½ü“" ü½$! A very permissive configuration:Áæúôî - **Credentials allowed.**Áü‘IF - The method received in `Access-Control-Request-Method` is sent backÁÜß as an allowed method.ÁüÿLI - The origin of the preflight request is sent back as an allowed origin.ÁüÐ LI - The header names received in `Access-Control-Request-Headers` are sentÁô¡! back as allowed headers.ÁüÄ!JG - No headers are currently exposed, but this may change in the future.Á|š"Ôë»»
¾üì&pü©$=: Set the [`Access-Control-Allow-Credentials`][mdn] header.Áë$ú<ó$©üÿ$$! use tower_http::cors::CorsLayer;Á¨%úü°%96 let layer = CorsLayer::new().allow_credentials(true);Á<î%©ú%úü‚&eb [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-CredentialsÁŒó&ÔëÚÆÔ뻥ÀÀ»ÍìÚÆ …'æÚÆúÙ´Å'
¿ÚÆ$Œ'6Œ’'02üî.^ü¶(FC Set the value of the [`Access-Control-Allow-Headers`][mdn] header.Á)ú<‰)©ü•)$Çþ ü¾).+ use http::header::{AUTHORIZATION, ACCEPT};Áñ)úüù)HE let layer = CorsLayer::new().allow_headers([AUTHORIZATION, ACCEPT]);Á<Æ*©Ò*úüÚ*# All headers can be allowed withÁ+ú<Š+©ü–++Ùæ
Æ+úüÎ+41 let layer = CorsLayer::new().allow_headers(Any);Á<‡,©“,úü›,FC Note that multiple calls to this method will override any previousÁTæ, calls.Áõ,úüý,TQ Also note that `Access-Control-Allow-Headers` is required for requests that haveÁüÖ-%" `Access-Control-Request-Headers`.Á€.úüˆ.a^ [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-HeadersÁlõ.ÔëÚÆÔ뻥»†‚ ƒ/æÚƾ۔¹/
ÁÚÆ$Š/²“</13üî<Rü˜0@= Set the value of the [`Access-Control-Max-Age`][mdn] header.ÁÝ0ú<å0©äñ0½òü’1$Çþ »1úüÃ1GD let layer = CorsLayer::new().max_age(Duration::from_secs(60) * 10);Á<2©2úü£2IF By default the header will not be set which disables caching and willÁüñ2.+ require a preflight call for all requests.Á¤3úü¬3B? Note that each browser has a maximum internal value that takesÁüó3KH precedence when the Access-Control-Max-Age is greater. For more detailsÁtÃ4 see [mdn].ÁÖ4úüÞ4IF If you need more flexibility, you can use supply a function which canÁü¬5IF dynamically decide the max-age based on the origin and other parts ofÁÜú5 each preflight request:Áš6ú<¢6©ü®663 # struct MyServerConfig { cors_max_age: Duration }Áäé6½òŠ7úü’7<9 use http::{request::Parts as RequestParts, HeaderValue};ÁüÓ7.+ use tower_http::cors::{CorsLayer, MaxAge};Á†8úüŽ896 let layer = CorsLayer::new().max_age(MaxAge::dynamic(ÁüÌ8C@ |_origin: &HeaderValue, parts: &RequestParts| -> Duration {Áü”9EB // Let's say you want to be able to reload your config atÁüÞ9FC // runtime and have another middleware that always insertsÁü©:=: // the current config into the request extensionsÁüë:KH let config = parts.extensions.get::<MyServerConfig>().unwrap();Áü»; config.cors_max_ageÁTß;¿°<î; ));Á<ú;©†<úüŽ<[X [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-AgeÁ<õ<ÔëÚÆÔ뻥ÄÄ»†‚ ý<æÚÆÛèd³=
ÃÚÆ$„=âA<Š=02üžC^ü†>FC Set the value of the [`Access-Control-Allow-Methods`][mdn] header.ÁÑ>ú<Ù>©üå>$Çþ ¬Ž? use http::Method;Á¨?úü°?LI let layer = CorsLayer::new().allow_methods([Method::GET, Method::POST]);Á<@©@úü•@# All methods can be allowed withÁ½@ú<Å@©üÑ@+Ùæ
Aúü‰A41 let layer = CorsLayer::new().allow_methods(Any);Á<ÂA©ÎAúüÖAF¼… T¡B‹† °Búü¸Ba^ [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-MethodsÁl¥CÔëÚÆÔë»¥ÆÆ»†‚ ³CæÚÆÕÞ”éC
ÅÚÆ$ºC¥˜ <ÀC13ü‡^[üÈDEB Set the value of the [`Access-Control-Allow-Origin`][mdn] header.ÁEú<šE©Ô¦E use http::HeaderValue;ÁüÅE$Çþ îEúüöE.+ let layer = CorsLayer::new().allow_origin(Áü©F=: "http://example.com".parse::<HeaderValue>().unwrap(),Á4ëFØí
<öF©GúüŠG(% Multiple origins can be allowed withÁ·Gú<¿G©üËG$Çþ ôGúœüG let origins = [Áü”H.+ "http://example.com".parse().unwrap(),ÁüÇH2/ "http://api.example.com".parse().unwrap(),Á4þH ];Á‰Iúü‘I74 let layer = CorsLayer::new().allow_origin(origins);Á<ÍI©ÙIúüáI# All origins can be allowed withÁ‰Jú<J©üJ+Ùæ
ÍJúüÕJ30 let layer = CorsLayer::new().allow_origin(Any);Á<K©™Kúô¡K You can also use a closureÁÄKú<ÌK©üØK30 use tower_http::cors::{CorsLayer, AllowOrigin};ÁüL<Å ÑLúüÙLEB let layer = CorsLayer::new().allow_origin(AllowOrigin::predicate(Áü£M?< |origin: &HeaderValue, _request_parts: &RequestParts| {ÁüçM:7 origin.as_bytes().ends_with(b".rust-lang.org")ÁT¦N¿°<µNÏ• <ÁN©ÍNúüÕN&# You can also use an async closure:Á€Oú<ˆO©´”O # #[derive(Clone)]Á¤¯O # struct Client;ÁüÈO%" # fn get_api_client() -> Client {Á„òO
# ClientÁ<‡P¶„œ“P # impl Client {Áü«PEB # async fn fetch_allowed_origins(&self) -> Vec<HeaderValue> {ÁüõPB? # vec![HeaderValue::from_static("http://example.com")]Á\¼Q # }ÁüÌQ]Z # async fn fetch_allowed_origins_for_path(&self, _path: String) -> Vec<HeaderValue> {Áü®RB¡ª \õRìª <…S¶„ü‘S3ö¤ üÉS<Å ŠTúü’T" let client = get_api_client();Á¹TúüÁTKH let layer = CorsLayer::new().allow_origin(AllowOrigin::async_predicate(Áü‘UIF |origin: HeaderValue, _request_parts: &RequestParts| async move {ÁüßU52 // fetch list of origins that are allowedÁü™V?< let origins = client.fetch_allowed_origins().await;ÁüÝV%" origins.contains(&origin)ÁT‡W¿°<–WÏ• ¢WúüªW"¸¬ ÑWúüÙWA> // if using &RequestParts, make sure all the values are ownedÁüŸX%" // before passing into the futureÁüÉXKð¬ ü™Y52 |origin: HeaderValue, parts: &RequestParts| {ÁüÓY30 let path = parts.uri.path().to_owned();ÁZúÄ“Z async move {Áü°ZGD // fetch list of origins that are allowed for this pathÁüüZPM let origins = client.fetch_allowed_origins_for_path(path).await;ÁüÑ[)& origins.contains(&origin)Álÿ[λT\¿°< \Ï• <¬\©¸\úüÀ\F¼… T‹]‹† š]úü¢]`] [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-OriginÁdŽ^ÔëÚÆÔ뻥ÈÈ»†‚ ›^æÚÆ®áŒÐ^
ÇÚÆ$¢^ÕŒ4¨^13üÑd`ü¬_GD Set the value of the [`Access-Control-Expose-Headers`][mdn] header.Áø_ú<€`©üŒ`$Çþ üµ`'$ use http::header::CONTENT_ENCODING;Áá`úüé`DA let layer = CorsLayer::new().expose_headers([CONTENT_ENCODING]);Á<²a©¾aúüÆa#…„ îaú<öa©ü‚b+Ùæ
²búüºb52 let layer = CorsLayer::new().expose_headers(Any);Á<ôb©€cúüˆcF¼… TÓc‹† âcúüêcb_ [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-HeadersÁtØdÔëÚÆÔ뻥ÊÊ»†‚ çdæÚÆ›çœe
ÉÚÆ$îd²“<ôd13ü¬h{üþeOL Set the value of the [`Access-Control-Allow-Private-Network`][wicg] header.ÁÒfú<Úf©üæf$Çþ gúü—g=: let layer = CorsLayer::new().allow_private_network(true);Á<Ùg©ågúüíg:7 [wicg]: https://wicg.github.io/private-network-access/Á¬³hÔëÚÆÔ뻥ÌÌ»†‚ ÉhæÚÆ×åÌi
ËÚÆ$ÐhÎ>¬Öh02üÜmMü‰j1. Set the value(s) of the [`Vary`][mdn] header.Á¿júüÇjIF In contrast to the other headers, this one has a non-empty default ofÁü•k$! [`preflight_request_headers()`].Á¾kúüÆkKH You only need to set this if you want to remove some of these defaults,Áü–lJG or if you use a closure for one of the other headers and want to add aÁäål vary header accordingly.Á†múüŽmIF [mdn]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/VaryÁ$ãmÔëÚÆÔ뻥Î놂 èmæÚÆæêTžn
ÍÚÆ$ïm²“<õm13œ¸qü‘pIF Represents a wildcard value (`*`) used with some CORS headers such asÁüÛp! [`CorsLayer::allow_methods`].Á(Use Any as a unit struct literal insteadÁüŒq*üýp:¿qŠÆ )’Ü
ÏüÙqhœÜq¤· “æšÑÑ÷‡ ðqùM· ä¤r· úM‚ã”­r
з ù$÷q8:ÔßuÔëÓ´Ó¤€v<ƒvÔëÒÒ
Óô´v¤ÕÕ׬ ¹vÔëÖ×ÜÝ×dÙv<ÞvÔÔ¯íüöv*,ùvÐ ÐÔëÃÏÔëÃÏÜÔ ÿvÔ
×ÃÏ$€wÀV,†w|¶z¤ÙÙ׬ »z¯íÚÛÜÏÐÑÝÞáäçêíðó57ä¢{ÄÌz Create a new `Cors`.Áézúüñz,) See [`CorsLayer::new`] for more details.Á©{ÃÏ¯íØØ
ÚÃÏÀV,­{ü}#ü| A permissive configuration.ÁÁ|úüÉ|30 See [`CorsLayer::permissive`] for more details.ÁTˆ}ÃÏ¯íØØ
ÛÃÏÀV,“}üø~(üŠ~$! A very permissive configuration.Á³~úü»~85 See [`CorsLayer::very_permissive`] for more details.Á|ÿ~ÃÏ¯íØØ
ÜÃÏÀV,ܱü³€KH Returns a new [`Layer`] that wraps services with a [`Cors`] middleware.Áƒúü‹!ô´
ÔëØØ
ÝÃÏüîƒlüó=çý µ‚úü½‚:÷
ü‚úü„ƒeÝÿ Œõƒ¯í¥¯íØ¥ßߨÍìÎÒ ‡„æÎÒ úٴÄ
ÞÃÏÎÒ $Š„‘6Œ8:<ø„Þª€ à€ à߀ ààÞàÃÏÎÒ ÔëÔëÎÒ ü³‡Zü·…Fß ‚†úüІ6‘„ ņúü͆ać lº‡¯íÎÒ ¯íØ¥ââØ÷Ò È‡æÎÒ ¾Û”ú‡
áÃÏÎÒ $ˇ²“<ч9;<«ˆáª€ 〠ã߀ ããáãÃÏÎÒ §Ô ¶Ô üÆŠNü܈@º‰ ¡‰úü©‰0- See [`CorsLayer::max_age`] for more details.ÁÞ‰úüæ‰[ù• <ÍŠ¯íÎÒ ¯íØ¥ååØ÷Ò ÕŠæÎÒ Ûèd‡‹
äÃÏÎÒ $ØŠâA<ÞŠ8:<²‹äª€ æ€ æ߀ ææäæÃÏÎÒ §Ô ¶Ô üÙZüÝ‹Fè— ¨Œúü°Œ6ó“ ëŒúüóŒaÖ› ¯íÎÒ ¯íØ¥èèØ÷Ò îæÎÒ ÕÞ” Ž
çÃÏÎÒ ¥˜ 9;<ю窀 é€ é߀ ééçéÃÏÎÒ §Ô ¶Ô üûWü‚EÌ ÌúüÔ5¬§ Žúü–`…µ d‚‘¯íÎÒ ¯íØ¥ëëØ÷Ò æÎÒ ®áŒÀ‘
êÃÏÎÒ $’‘ÕŒ4˜‘9;<ð‘ꪀ ì€ ì߀ ììêìÃÏÎÒ §Ô ¶Ô üž”\üŸ’Gú¶ ë’úüó’7—Ø ¯“úü·“bÖº t¥”¯íÎÒ ¯íØ¥îîØ÷Ò ´”æÎÒ ›çœæ”
íÃÏÎÒ $·”²“<½”9;<˜•íª€ ï€ ï߀ ïïíïÃÏÎÒ §Ô ¶Ô ü°—wüÊ•Oͼ ž–úü¦–>ûË é–úüñ–:¹¾ ¬·—¯íÎÒ ¯íØ¥ññØ÷Ò Í—æÎÒ ×å̘
ðÃÏÎÒ $ЗÎ>¬Ö—8:<Ř𪀠ò€ ò߀ òòðòÃÏÎÒ §Ô ¶Ô üŒ™\L¤¯í…ʯíØôôØƒÔ ™™–"…ÊªÔ ôÉ™…ÊªÔ ˜"ÔëLÞ™
óÃÏ…Ê$ ™± ¦™PRü©š¤ö„3÷ã!øøö÷“Ô
äæÔ
<±š÷Ô
<ºšÿÕ
üöš7׬ ®š³ÜÔ
<¼›¯íùúûüý 
  
ýü@BikmolË›DЛõõÃÏéØ Tì›,ñ›õõáÖ
\‡œ4ŒœõõÒÒÀ\ÔÀV¤:v¢½€ª)l¬Ý
üµœOT¸œÑÒÓ Ñ¯í ÒÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾åӜ؞؟ØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¯íéØ
õ Üõ
üÃÏ®ÙÜÔ
$Èœ¶ÅΜüã9Ô Ô¯í騝íéØ õ ëõ
ýÃÏ®ÙÜÔ
á
öü߯pÿÿ³ËƒØÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªš
ó÷üž°ñ³ ç¯ø ꯆÁ ü—°'‰¹ 䯳µÆ<ǰÓ؄؃.0WY[]\Ö°4Û°þþåì ü±I$„±ÕÖׄ¾„¾Ìû†¾ ˜X$]È=„kt• ÕÓî ÖÌÌkÎÚˆ¸Ï툸І‰¸Ñ—‰¸Ò¬‰¸f'EwÚ]¾åל؞؟ØÈ Øˆ¡Ø¢Ø´‰‰Nµý¤ÃÓîƒØþ “±þ
ƒ³ËµÆó÷$‰±¶ÅŸ±üƼ.Äɼ¤Ø ØÔë é¼
¼",â¼üõÅFü¾Ähe Returns an iterator over the three request headers that may be involved in a CORS preflight request.Á§Åúü«ÅIF This is the default set of header names returned in the `vary` headerÁÌüÅ
ø›Æ ”¤”¤•§—¤ÀVù'46SH¡£m¢ÅÜÍì–ô fùM–ô Ü Æ–ô úMÅÜŒ©Æ†õ •õ #¦õ „ŒIüA> Tools for classifying responses as either success or failure.ÁD”I½à£úƒ˜ŠÚ LNæ
ó×<YôŠæ3Dbˆ—°TlŒ
InfallibleÁTŒˆêŽ×˜¤, PhantomDataÁ\¥Äö Ü•ù⫼ӽú—«¤ì·û¤¬„‚ÃüÇ®ßý°¯¼âëÿö¯Ìûñ$GBE36%(}œƒòôœÚü´&¼ÃºÌ½·ÃÄÅÆª± ƒûK\ îR„-ذ„?úŸ D` »ŠÚ Luæ
æ3D€ˆš×¤,œ
NonZeroI32ÁTŸÌ—,Åǵ·¥§–”V‡$nvxfhY[|šBl  ´ñŸü´ 3 ´ñàôžž
Ÿ ÜÛü×;8 Converts an `i32` gRPC status code into a [`GrpcCode`].Áúü—C@ Unrecognized codes (outside 0-16) map to [`GrpcCode::Unknown`].Á´ñ¡ë¡Üý$€´ñ  
¡»,…üž"´ñ£ë£üÇ"¤ô´ñ¢¢
£»¤Æ&àô¥üá&*dä&éÀ¤¤
¥codeÁ$ñ&üƒ2%õú§´§¤¯2<²2õú¦¦
§Ìã2õú©ª«¤²3üƒ3*' Create a new [`GrpcErrorsAsFailures`].Á¹3õú¨¨
©üÿ85ü430 Change which gRPC codes are considered success.ÁÕ4úüÝ41. Defaults to only considering `Ok` as success.Á“5úü›5-* `Ok` will always be considered a success.ÁÍ5úlÕ5Ùáç5úüï5ZW Servers might not want to consider `Invalid Argument` or `Not Found` as failures sinceÁüÎ6# thats likely the clients fault:Áö6ú\þ6ÆâüŽ7?< use tower_http::classify::{GrpcErrorsAsFailures, GrpcCode};ÁÒ7úüÚ70- let classifier = GrpcErrorsAsFailures::new()Áü80- .with_success(GrpcCode::InvalidArgument)ÁüÄ8*' .with_success(GrpcCode::NotFound);Á<ó8©d†9õú´ñõú¨¨
ª$—9Ëþ $9ü¾;2ü‚:]Z Returns a [`MakeClassifier`](super::MakeClassifier) that produces `GrpcErrorsAsFailures`.Áä:úüì:MJ This is a convenience function that simply calls `SharedClassifier::new`.Á|Å; Ñ¨¨
«ü§<.õú­®¯±±¯ŒÜ<dá<¬¬šü„†=\‹=¬¬Íûü·=„Œº=Ùõú Ùºœ
ƒÈˆˆŠé±ˆÚÙm4¢õúõú¬°° ë=¬Õç Ì=
¯ÖÇ$Ø=ý‡æ=ü¶Cht¹CÚõú ÚŠ‹
¬²² ØC¬Í좌
ÈCÄc¢Œ
d‡D¢Œ
<D
±¢Œ
$ËCerrorÁ,ÑC<>üûE,Íû´µœžµŒ®Fd³F³³šüüÙFUdÜFÛÍûÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Û¯á Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Íûœ³ €G³
µ$éFêá DïFüŸKht¢KÜÍû Ü¢Œ
¹
³·· ÁK³ÐŒ
±KáŒ
dðKñŒ
<ÿK
¢Œ
$´KŒ
,ºK-/ü‘O&šü¹Åc¹ü¾O4ÁOÝÞß Ýšü Þ c cˆ¢cµ
 `£c Ü `àB¤GS
ᚄ
¸ ÅO¸
¹$ÆO± ÌOü›Qx´©Qà à¯á àôõü ÎQ
º²“<ÅQ³«lÞQ¤šR<§R ¯R ûS ¹R ÒR , ºR8$»R& ¿R8$ÀR$ ÄR, ÆR8¹
,ÇR& ÌR8¼,ÍR*ÔR ×R ôS
8åR8èR8Û$ìR ðR öR8»,ñR øR, úR8$ûR €S ¤S8»,S8$¦S «S êS84½S8÷¬„ÄS'ÔS, ÖS8¹
,×S% ÜS% õS4˜Vºª€ ¼€ ¼߀ ¼¼º¼ àô¶¡¬ÜŒàߪ± ƒ½¿ûK\ ½ÀîR„-½ÁŠÚ LKæ
½Ãæ3DVˆ½Ä×j¤,½Å,y{ikY[$DKM;=De.ü… ÇÈÇÈÍìÔþ ŠƒÔ ™þÉü¬,ºÔþ…Ê™þÆÆ
ÉÔþ…ÊÆID¾± ËüˆHËÌË̾˜
ƒÔ ¿cÔþ™þÍÀcÍ+-02ü×8Úáâã á™þ â c cˆ¢cµ
 `£c Ü `àB¤GS
ãÜä
Ê ÞÊ
ÍÔþ…ʱ åüÍŠÏÐÍNÑÑÐÏ…ÊÔþ˜"ÍNDÎƒÔ ÕÍìÛœ
Ôþ„š–"…ÊËœ
ü³#¾˜
Ò™þÒÓÔÖÖÔ,.wysuŒÞÎÎÛœ
„€\…ÎÎßßÇ®âÀV½ã±½!kü‰)Ôþ…Êü¼Œ¿ä™þ 䈈æ3ŠƒØÍ“q8‚ õ™ƒÈˆˆŠé±ˆÚÙm4¢™þ™þÎÕÕ ðÎÍìãŸ
Ñ
ÔÔþ…ÊÛœ
ãŸ
ý‡ë)+üÖ m å™þ å² 
Î×× ø ÎÍìâ¡
è Äcâ¡
Τ
â¡


ÖÔþ…ÊÛœ
â¡
 Œ
DFü†ÙÚÍNÛÚÛÙ…ÊÔþœ˜"Ûœ
ƒÔ Žíœ
D‘Ôþ–"…ʳ£
üâ#¾˜
™þÜÝÞœžÝÞ%'gilnŒd’ØØÛœ
ü°Uæ™þÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ æ¯á Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
™þœØ ר
ÝÔþ…ÊÛœ
êá DÆüÍmç™þ çâ¡
¶¦
Øßß ïØ¢
ß¡¢
Œž±¢

ÞÔþ…ÊÛœ
â¡
Œ
9;äóÄ÷ëñª± ƒàâîR„ àãŽT„2£àäذ„Dúàå—°Taàæ×w¤,àè¾t½£àé,pr_a„[QqBDœ|5äÆ
‘ÿëìíü¯
.üé
,) Creates a new `StatusInRangeAsFailures`.Áš ú èª ³ úü» TQ Panics if the start or end of `range` aren't valid status codes as determined byÁì”  [`StatusCode::from_u16`].Á úü¾ li [`StatusCode::from_u16`]: https://docs.rs/http/latest/http/status/struct.StatusCode.html#method.from_u16Á
½£½£¾¿£¹À£þÁ£ exhaustedÁ1¥œMu7·P‘ÿêê
ëϯ
üÙ1ü“ZW Creates a new `StatusInRangeAsFailures` that classifies client and server responses asÁ
failures.ÁúüŒHE This is a convenience for `StatusInRangeAsFailures::new(400..=599)`.Áüà ‘ÿêê
ìü¹;üµEB Convert this `StatusInRangeAsFailures` into a [`MakeClassifier`].Áÿúü‡-* [`MakeClassifier`]: super::MakeClassifierÁ¤À‘ÿúúذü–]Ѿ÷:‘ÿêê
íü¤1‘ÿïðñóóñŒÜîîÞÿ\”îŽT¥®T¦ÀT»¯oç šs‘ÿüÍŠŒÐè‘ÿ 躜
ƒÈˆˆŠé±ˆÚÙm4¢«³
‘ÿîòò îÕç â
ñÖÇý‡üüæmé‘ÿ 颌
«³
îôô ˆîÐŒ
øáŒ
Œ·ñŒ

ó¢Œ
Œ
,-/üä/ÞÿöÅcöüš8êëì êÞÿ ë c cˆ¢cµ
 `£c Ü `àB¤GS
ìÜä
õ ¡õ
ö± ¨üš#  ÿ òõåèüŸ"ÝüšÅÓÖÆÉÄäü›<9 Trait for producing response classifiers from a request.ÁØúüÜ^[ This is useful when a classifier depends on data from the request. For example, this couldÁü»# include the URI or HTTP method.Áßúüã]Z This trait is generic over the [`Error` type] of the `Service`s used with the classifier.ÁüÁ?< This is necessary for [`ClassifyResponse::classify_error`].Áúü…^[ [`Error` type]: https://docs.rs/tower/latest/tower/trait.Service.html#associatedtype.ErrorÁÞ³ üäÙÞ³ Þ³ ƒƒÍìæ³ ü­}³½
ü¾k³½
æ³ ƒüØ!³½
æ³ üƒ «½
PĽ
EÕ½
0ð½
Íìà½
”ž ¤¾
Íìû½
üú Aû½
üŒ .û½
œà½
ü˜ !¼¾
.ξ
#ß¾
ü­|üƒ%" The response classifier produced.ÁT²Œž ü° (% The type of failure classifications.ÁÝ úüå FC This might include additional information about the error, such asÁü°
HE whether it was a client or server error, or whether or not it shouldÁäý
 be considered retryable.Ád£ üú @ü¶ ?< The type used to classify the response end of stream (EOS).Á\ÿ üø CüÁ 2/ Returns a response classifier for this requestÁ|û íî íæ³ îžµ ³½
 Ž
ñ³

æ³ µÆ$
á

!#Üžˆˆ¾˜
£¹€ 
üƒPüÀ>; Create a new `SharedClassifier` from the given classifier.ÁŠÔþ¹€þœ
„ºØÔþ
Ôþ–]TŽüÿU¾˜
þœ
„»éÅ
¹€ŒŽƒ8:ŒÛŠŠÍœ
„„\‰ŠŠåž
ŠŠÔþüÅCïð ï¹€ ðžµ ¹€Š ÛŠñ³ Ø
ÔþµÆ_reqÁ$â$&Ô½%ü´`] Trait for classifying responses as either success or failure. Designed to support both unaryÁü• SP requests (single request for a single response) as well as streaming responses.Áé úüí NK Response classifiers are used in cases where middleware needs to determineÁü¼!NK whether a response completed successfully or failed. For example, they mayÁü‹"KH be used by logging or metrics middleware to record failures differentlyÁœ×" from successes.Áë"úüï"IF Furthermore, when a response fails, a response classifier may provideÁü¹#OL additional information about the failure. This can, for example, be used toÁü‰$OL build [retry policies] by indicating whether or not a particular failure isÁtÙ$ retryable.Áè$úüì$PM [retry policies]: https://docs.rs/tower/latest/tower/retry/trait.Policy.htmlÁ„Ç%Þ³ ü½%½Þ³ Þ³ ˜˜Íìæ³ ”ø'ÅÐ
Íìæ³ üÔ(AìÐ
üæ(.ìÐ
œÍÐ
üò(!äÐ
.ýÐ
#ŽÑ
˜Œø'üÞ%A> The type returned when a response is classified as a failure.Á¤&úü¬&B? Depending on the classifier, this may simply indicate that theÁüó&C@ request failed, or it may contain additional information aboutÁü»'85 the failure, such as whether or not it is retryable.Ádý'üÔ(@ü(?ýÀ
\Ù(ü¡1…ü›)41 Attempt to classify the beginning of a response.ÁÔ)úüÜ)FC In some cases, the response can be classified immediately, withoutÁü§*52 waiting for a body to complete. This may include:Áá*úüé*1. - When the response has an error status code.ÁüŸ+@= - When a successful response does not have a streaming body.Áüä+?< - When the classifier does not care about streaming bodies.Á¨,úü°,HE When the response can be classified immediately, `classify_response`Áüý,GD returns a [`ClassifiedResponse::Ready`] which indicates whether theÁüÉ-! response succeeded or failed.Áï-úü÷-FC In other cases, however, the classifier may need to wait until theÁüÂ.GD response body stream completes before it can classify the response.ÁüŽ/DA For example, gRPC indicates RPC failures using the `grpc-status`Áü×/85 trailer. In this case, `classify_response` returns aÁü”0DA [`ClassifiedResponse::RequiresEos`] containing a type which willÁüÝ0?< be used to classify the response when the body stream ends.ÁŒ¤1ñæ³ ñªš
ƒÈˆˆŠé±ˆÚÙm4¢ÍÐ
ìÐ
 Õ1ñ³ ¶1
æ³ µÆ$Â1ý‡Ð1!#üƒ4h´¬2 Classify an error.ÁÇ2úüÏ2_\ Errors are always errors (doh) but sometimes it might be useful to have multiple classes ofÁü³3KH errors. A retry policy might allow retrying some errors and not others.Át†4òæ³ òÍÐ
 ¥4Íì‹á
•4Äc‹á
dÔ4‹á
<ã4
æ³ ‹á
$˜4Œ
,ž4<>ü«Aüñ4:7 Transform the failure classification using a function.Á°5úl¸5ÙáÊ5ú<Ò5©üÞ5 use tower_http::classify::{Áü‚696 ServerErrorsAsFailures, ServerErrorsFailureClass,ÁüÀ6,) ClassifyResponse, ClassifiedResponseÁ4ñ6Œ€üü6%" use http::{Response, StatusCode};Áô¦7 use http_body_util::Empty;Á¬É7ºã7úüë7TQ fn transform_failure_class(class: ServerErrorsFailureClass) -> NewFailureClass {Á¬Ä8 match class {ÁüÞ8,) // Convert status codes into u16Áü9=: ServerErrorsFailureClass::StatusCode(status) => {ÁüÑ985 NewFailureClass::Status(status.as_u16())ÁlŽ:λü :# // Don't change errors.ÁüÈ:74 ServerErrorsFailureClass::Error(error) => {Áü„;-* NewFailureClass::Error(error)Ál¶;λLÈ;,Ö;à;úÔè; enum NewFailureClass {Á¤‡< Status(u16),Á´ < Error(String),Á,»<Å<úüÍ<_\ // Create a classifier who's failure class will be transformed by `transform_failure_class`Áü±=^[ let classifier = ServerErrorsAsFailures::new().map_failure_class(transform_failure_class);Á”>úüœ>&# let response = Response::builder()ÁüÇ>2/ .status(StatusCode::INTERNAL_SERVER_ERROR)Áüþ>$! .body(Empty::<Bytes>::new())Á”§?àë
¾?úüÆ?A> let classification = classifier.classify_response(&response);ÁŒ@ú¬”@ assert!(matches!(Á¼®@ classification,ÁüÊ@DA ClassifiedResponse::Ready(Err(NewFailureClass::Status(500)))Á<“AÏ• <ŸA©Œ®Aæ³ …ÊßßÇ®âÀV½ã±½!kü‰)æ³ …ÊÍNššƒÔ ÀAíœ
DÃAÍìæ³ ,B–"…ÊÍÐ
üŸB&…ÊŽñ
˜"Ûœ
D½B
˜æ³ …ÊÛœ
$ÍA± ÓAkmpr¬ÉCüüBLI Trait for classifying end of streams (EOS) as either success or failure.Á\ÓCÞ³ üÉC™Þ³ Þ³  œž œž Íìæ³ œ”’D™ó
ž Œ’DüåC(à¾
d—DüåDVüªD63 Perform the classification from response trailers.ÁdèDóæ³ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ó¯á Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¡ó
 ŒE
æ³ $õDêá DûDü˜Gh´ÁEÿÝ
ÜEúüäE_«Þ
üÈFK”ß
tGôæ³ ô‹á
¡ó
ŸŸ ºG¹á
ªGÊá
déGÚá
<øG
žæ³ ‹á
$­GŒ
,³G13ü“I›ü†H:Ÿá
ÅHúüÍHA> See [`ClassifyResponse::map_failure_class`] for more details.ÁŒ–Iæ³ …Êðï
¡ÍN¢¢¡ƒÔ ¨Iíœ
D«Iòð
,õI"…Ê¡ó
ü‡J&…Êßù
˜"Ûœ
D¥J
 æ³ …ÊÛœ
$µI± »IbdgiôOü¤Mc` A [`ClassifyEos`] type that can be used in [`ClassifyResponse`] implementations that never haveÁüˆN$! to classify streaming responses.Á­Núü±N]Z `NeverClassifyEos` exists only as type. `NeverClassifyEos` values cannot be constructed.Á„šO¥¤¤†‚ «O㻯oç šs¥¦ "ü´O"T´O££Äö Fu\»ŸÚÆ”ÜO4ÜO££ˆê)?ÈXM´­üóO+¥¨¨†‚ øO㩪«œžª«%'Œ¥PdªP§§ÚÆüÁPVdÄPõãÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ õ¯á Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
㜧 éP§
ªÚÆ$ÑP _trailersÁL×Pü’Rit•Röã ö‹á
Ï€§¬¬ µR§¹á
¤RÊá
däRÚá
<óR
«ÚÆ‹á
$§R_errorÁ4­R68üøS*¥®®†‚ ýSã¯Àc¯ü©T8¬T÷øù ÷ã ø c cˆ¢cµ
 `£c Ü `àB¤GS
ùÜä
­ °T­
¯ÚÆ$±T± ·TÜ W³‚±²¤óWüÂW,) Create a new [`ServerErrorsAsFailures`].ÁúW³‚°°
±üÔY2ü­XHE Returns a [`MakeClassifier`] that produces `ServerErrorsAsFailures`.ÁúXúü‚YM¡‡
|ÛY®Ð°°
²ü½Z0³‚´µ¸¸ŒôZdùZ³³Šƒ„¦[\«[³³££ŽT¥®T¦ÀT»¯oç šsŠƒüê[„Œí[ú³‚ úºœ
ƒÈˆˆŠé±ˆÚÙm4¢³‚³‚³·· ž\³Õç ÿ[
ÖÇ$‹\ý‡™\üÐ^htÓ^û³‚ û¢Œ
ûˆ³¹¹ ò^³ÐŒ
â^áŒ
d¡_ñŒ
<°_
¸¢Œ
$å^Œ
,ë^-/üÆb.Šƒ»Åc»üûb8þbüýþ üŠƒ ý c cˆ¢cµ
 `£c Ü `àB¤GS
þÜä
º ‚cº
»$ƒc± ‰c„žIüKH [`Service`]s that return responses without wrapping other [`Service`]s.ÁLúüPc` These kinds of services are also referred to as "leaf services" since they sit at the leaves ofÁÌ´ a [tree] of services.ÁÎúüÒF­ü™?< [tree]: https://en.wikipedia.org/wiki/Tree_(data_structure)ÁD¦IŒèOüÀO'$ Alias for a type-erased error type.ÁDñOž‚ü¡ˆˆ¢ˆl }.xϾ ÌìÎÝù•º´üÄ Iº Response body for [`Trace`].Áé/úÜñ<—² adœ¿ÀÜ#Áï#Âü#ÃÀÂÃÁ¿Õç ©æç ¬ÍìâÇü¯ ÍìèǤÑÍìîÇäççÆ·ŒØF’¾þÄÅÆÇÈÉÊfhkmg\¯«Ñg,ÑšÒhLçÓá“»¾¾ÖǾ¾Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÜÇ|4ò¾¾Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙèǃƒ ßl§¾¾âÇøTÖ¾¾Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙîÇV¾¾ƒƒ p¾¾ÐÏYös üs,ù¸{2eÍÎÜ#Ïï#Ðü#ÑÍÎÐÑÏÕç¸æç·†’D˜’9©’.çÆôöáäèë}z}wzùÚ•SÁÝ•,ÿ ÿçÆÓÔÜ#Õï#Öü#×ÔÖ×ÕÓ ’–ÕçÌæçˆ’X˜’M©’B
ÒÖÇÜÇâÇèÇîÇthisÁ!Œ–¯²¬¯©¬ù¨ÝÕ1¨ÕmQÝtŽXÙÚÛÜ#Üï#Ýü#ÞÜÝÛÙÞÚñ³ ùÍì»ÆÍìÁÆÍìÇÆÍìÍÆÆÅŽX1¤ÞµÆŽXùÿȻƎXÇÆŽX ÁÆŽX-ÍÆŽX:ØØüWßÀVàÚLá†%âÛ$ã¤%ä¹åõV
&Û’qŽXµÆ»ÆÁÆÇÆÍÆ
&Û’qßàáâãäå1ÓÝILPSåèâåßâ;ÚØØ„¾„¾Ìû†¾ ˜X$]È=„kt• ŽXµÆØØ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ»ÆòØØ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÇÆƒƒ \!ØØ ŽXÁÆ|(ØØ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÍÆá.ØØ ŽXƒƒ 4ØØ ŽXÐÏù¨ÝÕ1¨Õui®xŽXçèéÜ#êï#ëü#ìëìêèéçñ³  ö› †œ¡–œ¦œ¶œ1¤ÞÈœùÿÈÛœ èœõœææüXíÀVîÚLï†%ðÛ$ñ¤%ò¹óõV/ÝS/1
šŽXµÆ»ÆÁÆÇÆÍÆ/ÝS/1
šíîïðñòó1ÓÝ


!
³ ° ³ ­ ° ¨ ææ„¾„¾Ìû†¾ ˜X$]È=„kt• ŽXµÆqá ææ ŽXûŸ£ ææ ŽXà ±` ææ ŽXÁÆÑg ææ ŽXê¡ñ( ææ ŽXƒƒ . ææ ŽXÐÏù'•‡1'ù…9Ü}õ„¾„¾Ìû†¾ ˜X$]È=„kt• õçÆØØüWßÀVàÚLá†%âÛ$ã¤%ä¹åõV
&Û’qõÖÇÜÇâÇèÇîÇÌ1'°‡Ì
ôÖÇÜÇâÇèÇîÇ!'Ň/1ù/•‡1/ù…Y÷„¾„¾Ìû†¾ ˜X$]È=„kt• ÷çÆææüXíÀVîÚLï†%ðÛ$ñ¤%ò¹óõV/ÝS/1
š÷ÖÇÜÇâÇèÇîÇÌ1/°‡Ì
öÖÇÜÇâÇèÇîÇ!/Ň/1ù7å½0kA7ñ½ŽXùúûÜ#üï#ýü#þûùþúüýñ³ Ÿö›ž†œ+–œ ¦œøø«ZÿëZ,ÀV,ÚL,†%,ƒÛ$,¤%,¹,õV,RÑž+OBµŽXµÆ»ÆÁÆÇÆÍÆRÑž+OBµÿƒ17ú½ù7ܾ<7ܾ,øøÄö Fu\»Ÿ ŽXù݈td,øøµÆc,øø001 AlwaysUnpinÁ3ˆ ‰4ä\’ÎMûŸnU,øø001б3ˆ ‰4ä\’ÎMà ´8,øø001б3ˆ ‰4ä\’ÎMÁÆúe,øø001б3ˆ ‰4ä\’ÎMê¡@M,øø001б3ˆ ‰4ä\’ÎMƒƒ z,øø001б3ˆ ‰4ä\’ÎMÐÏù7ÿákŽXˆŠÜ#ï#Œü#ˆŒŠñ³ Vö›U†œâ–œ×¦œÌ“í))*PinnedFieldsOfHelperStructÁ,ˆ Úˆ3Clœ·¯(Á7ŒÁÆÅ17È¿ãæêí|y|©?ûély?ê,ŽŽÞ³ Á?ûéŽÞ³ Þ³ !ù?Ïê6l¥†‚ ?ÔêŒ"ÚÆ¹?×êÚÆ ù?‘ëFlÜ#ï#ü#Õç/æç.†’»˜’°©’¥çÆRUY\îñëîèëùH•º´ü­"IHº Response future for [`Trace`].ÁÔ1úÜÜ>—² ˜t‡˜Ê#šÜ#ï#œü#œ˜š‰¹ æç Íì½Ëôœ†œü¼ –œ¤Þ¦œäô¹ÊdŠþ)–´C?žŸ ¡¢£¤¥^`ce_Tœ—Õi\¼«Ñr,ÞšÒ|LôÓáH“»³ËÐÏ7Tòã“P\œÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zٽˮlÐÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÁÆ 4‡Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÇÆkꡃƒ YIös IüsMùI¸{2œ¨©Ê#ªÜ#«ï#¬ü#­©«¬ª¨­‰¹ çæçæí¼{†œp–œe¦œZ¹ÊÕ×!»¾¸»µ¸²µùIÚ•SÁIÝ•M ¹Ê¯°Ê#±Ü#²ï#³ü#´²°´³¯± I’–‰¹ !æç í¼µ†œª–œŸ¦œ
®³ËÜǽËÁÆÇÆÍÆÿ˜!IŒ–pswz ùK¨ÝÕ1K¨Õ¤QIÝtŽX·¸Ê#¹Ü#ºï#»ü#¼º»¹·¼¸ƒÔ vö›uÏ‹ 
à‹ ÿñ‹ ô‚Œ é‹ÉŽX1K¤Þ…ÊŽXùJÿÈÛœ ÊŽX•ÊŽX&›ÊŽX3¡ÊŽX@µµüW½ÀV¾õV¿–]À³$ÁÛ$†%ä%ŵ^-$&ŽX…Ê»ÆÊ•ʛʡʵ^-$&½¾¿ÀÁÂÃÄ1KÓÝÀÃÇÊdgad^a[^aVµµ„¾„¾Ìû†¾ ˜X$]È=„kt• ŽX…ʳµµé¢ÌµµõŸåµµ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÊJµµ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zٕʯœµµ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zٛʢµµ ŽXÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¡ÊyíµµÉ¢ùU¨ÝÕ1U¨Õ­iI®xŽXÆÇÈÊ#ÉÜ#Êï#Ëü#ÌÌÊÈÆËÇÉƒÔ ÷ ö›ö Ï‹ à‹ ñ‹ u ‚Œ j ýÇ1U¤ÞÈùTÿÈÛœ ¨ÈµÈÂÈÏÈ$ÅÅüXÍÀVÎõVÏ–]г$ÑÛ$Ò†%Ó¤%Ô¹ÔuïŠÙ‹˜ŽX…Ê»ÆÊ•ʛʡÊÔuïŠÙ‹˜ÍÎÏÐÑÒÓÔ1UÓÝ   ! »
¾
¸
»
µ
¸
²
µ
E­
ÅÅ„¾„¾Ìû†¾ ˜X$]È=„kt• ŽX…Êæ
ÅÅ㨰æ
ÅÅçÉæ
ÅÅ ŽXšÌé¨
ÅÅ ŽXÿÌ i
ÅÅ ŽXäÍ)*
ÅÅ ŽXÉÎI0
ÅÅèù^•‡1^ù…9IÜ}Ö„¾„¾Ìû†¾ ˜X$]È=„kt• ֹʵµüW½ÀV¾õV¿–]À³$ÁÛ$†%ä%ŵ^-$&Ö³ËÜǽËÁÆÇÆÍƧ1^°‡§
Õ³ËÜǽËÁÆÇÆÍÆ!^Ň35ùg•‡1gù…YIØ„¾„¾Ìû†¾ ˜X$]È=„kt• عÊÅÅüXÍÀVÎõVÏ–]г$ÑÛ$Ò†%Ó¤%Ô¹ÔuïŠÙ‹˜Ø³ËÜǽËÁÆÇÆÍƧ1g°‡§
׳ËÜǽËÁÆÇÆÍÆ!gŇ35ùpå½0¢Apñ½ŽXÚÛÜÊ#ÝÜ#Þï#ßü#àÝÞÜÚàßÛƒÔ òö›ñÏ‹ à‹ {ñ‹ p‚Œ eÙÙ«Z áëZMâÀVMãõVMä–]Må³$MæÛ$Mç†%Mè¤%Mé¹M¿B´kÐ׎X…Ê»ÆÊ•ʛʡʿB´kÐ×áâãäåæçèé1pú½êíñôŽŽˆˆùpܾ<pܾMÙÙâ±ùI݈t§MÙمʦMÙÙ¯µ6¥MÙÙŲN¤MÙÙ001б3ˆ ‰4ä\’ÎMšÌŒMÙÙ001б3ˆ ‰4ä\’ÎMÿÌÚsMÙÙ001б3ˆ ‰4ä\’ÎMäÍ [MÙÙ001б3ˆ ‰4ä\’ÎMÉÎgˆMÙÙè´ùpÿᢎXëìíÊ#îÜ#ïï#ðü#ññíëïðîìƒÔ eö›dÏ‹ ùà‹ îñ‹ れ Ø“í))*…¶,ˆ Úˆ3ClœøÜ(ÁpŒÁ‹É1pÈ¿àãçê~{~©yûé£yyêMòòÞ³ ÁyûéòÞ³ Þ³ !ùyÏê6£¥ôô†‚ yÔꤹ¹y×êÚÆùy‘ëF£ö÷Ê#øÜ#ùï#úü#ûøöúûù÷‰¹ EæçDí¼Ù†œÎ–œÃ¦œ¸¹Êorvy


üÑçü¸>; [`Layer`] that adds high level [tracing] to a [`Service`].Á÷úüû96 See the [module docs](crate::trace) for more details.Áµúü¹!ô´
üÛ/ÑÄü‹'ŠÅžý©#þ¹#ÿÊ#Ü# ï# ü#ƒ  ÿýƒ þÛ‡ ì­‹ Ôó¾‹ ä“Ï‹ ôµà‹ üÙ ñ‹ ¤ÿ‚Œ ä™üÌŒH†ÌþOÖ„ … † ‡ ˆ ‰ Š []`Dó¨ÐjL“ ÔtTµ—Õ~\٫ч,ÿšÒ‘L™Óì¿üüëÍôâüüñÍü† T‘üü÷Íü¬"üüÊüÔ%üü•ÊÄÿüü›Êü üü¡Ê({¼ÎžŒ ©# ¹#Ž Ê# Ü# ï# ü#  Ž Œ    Û‡ ­‹ ³¾‹ ¨Ï‹ à‹ ñ‹ ‚Œ |¿cëÍ¿cñÍ@{ó¿c÷ÍH{“¿cÊP{µ¿c•ÊX{Ù¿c›Ê({ÿ¿c¡ÊH{™üÌÀcÉÌnqknhkehbe_b ƒ üÌ  c cˆ¢cµ
 `£c Ü `àB¤GS
ƒÜä
 
ëÍñÍ÷ÍʕʛʡÊf±mÏž©#¹#Ê#˜ Ü#ï#š ü#˜ š Û‡ ­‹ #¾‹ Ï‹ 
à‹ ñ‹ ÷‚Œ ìŠ ëÍŠ ñÍ@|óŠ ÷ÍH|“Š ÊP|µŠ •ÊX|ÙŠ ›Ê(|ÿŠ ¡ÊH|™üÌ.1ÓÖÐÓÍÐÊÍÇÊÄÇ(}ÉО ©#ž ¹#Ÿ Ê#  Ü#¡ ï#¢ ü#£ Ÿ  ¡ ¢   ž £ Û‡ ­‹ µ¾‹ ªÏ‹ Ÿà‹ ñ‹ ‚Œ ~ØëÍØñÍ@}óØ÷ÍH}“ØÊP}µØ•ÊX}ÙØ›Ê(}ÿØ¡ÊH}™ṳ̈ Ù¤ ËÎpsmpjmgjdgad  üÌüÌœ œ
¤ ëÍñÍ÷ÍʕʛʡÊÔ¢ü‘<9 The default way [`Span`]s will be created for [`Trace`].ÁÎúÜÒµÈÜî—² ¨ÐRx,/¶ü¦ § dë¥ ¥ ¸ø¬Õ«¥ ¥ (~“ѨЩ Àc© #% ¨Ð  c cˆ¢cµ
 `£c Ü `àB¤GS
Üä
¨ ~“¨
© DZÍ(šÒ¨Ð« Ù« #%ˆ ˆ¨Ð¨Ðª šª
« pù‚!©ù‚¸4Q‚¿«±±DefaultCallsiteÁ²interestÁ³ registrationÁ´ûµó ü{xúý1ÓCÿÿÿÿÿÿÿÿùƒåå&ìå«úúMetadataÁüÐ ïýêïþþ'ïÿ¹ ïÌïšïËïƒïñâ¨ï¾1›xji 0!@"H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÓò!Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6° ÄŠù“Óò!“Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6² ®Œù–Óò!–Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6´ ˜Žù™Óò!™Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV64ç ÷ þ ‡¡ç ÷ þ ‡¡ù®! ®©ù®¸4¿«õþCÿ%ÿÿÿÿÿÿÿù¯åå&ì嫾€xji 0&@'H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùºÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6à Бù½ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Å l“ùÀÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ç ç ÷ þ ‡¡ç ÷ þ ‡¡ùÔ! Ô©ùÔ¸4¿«õþCÿ(ÿÿÿÿÿÿÿùÕåå&ì嫾€xki 0)@*H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùáÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ô ¤–ùäÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ö ùçÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ø Ü™ùêÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ú x›ç ÷ þ ‡¡ç ÷ þ ‡¡ùÿ! ÿ©ùÿ¸4Qÿ¿«õþCÿ+ÿÿÿÿÿÿÿù€åå&!€ì嫾€xki 0,@-H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù‹Óò!‹Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6ç ùŽÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6é °žù‘Óò!‘Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6ë i–ç )–÷ 9–þ )–‡¡ç ÷ þ ‡¡ù¥! ¥©ù¥¸4¿«õþCÿ.ÿÿÿÿÿÿÿù¦åå&ì嫾€xli 0/@0H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù²ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6ø è¡ùµÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6ú „£ù¸ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6ü  ¥ù»ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6þ 
ùßÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6
ô©ùâÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6
«ç ÷ þ ‡¡ç ÷ þ ‡¡ùö! ö©ùö¸4¿«õþCÿ4ÿÿÿÿÿÿÿù÷åå&ì嫾€xmi 05@6H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùƒÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6œ
ù†Óò!†Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6ž
È®ù‰Óò!‰Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6 
ùŒÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6¢
²i‘ç )‘÷ 9‘þ )‘‡¡ç ÷ þ ‡¡ù¡! ¡©ù¡¸4¿«õþCÿ7ÿÿÿÿÿÿÿù¢åå&ì嫾€xmi 08@9H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù­ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6¯
œ³ù°ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6±
ù³ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6³
Ô¶ç ÷ þ ‡¡ç ÷ þ ‡¡ùÇ! Ç©ùǸ4¿«õþCÿ:ÿÿÿÿÿÿÿùÈåå&ì嫾€xni 0;@<H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÔÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6À
ù×ÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Â
 ºùÚÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ä
¨»ùÝÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Æ
ç ÷ þ ‡¡ç ÷ þ ‡¡ùò! ò©ùò¸4¿«õþCÿ=ÿÿÿÿÿÿÿùóåå&ì嫾€xni 0>@?H#P `$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùþÓòÙò«¦¦§Ó“©ˆ |ŵ’½ÛV6Ó
à¾ùÓò!Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6Õ
ù„Óò!„Ùò«¦¦§Ó“©ˆ |ŵ’½ÛV6×
Âi‰ç )‰÷ 9‰þ )‰‡¡i‘ç )‘÷ 9‘þ )‘‡¡ì±
ü‘ A> The default [`OnBodyChunk`] implementation used by [`Trace`].ÁÓ úÄ×  Simply does nothing.Áð úÜô —²
”¼
«Ñ{ZÉBq8•zá

Åà
à
(
ã«Ñã
Àcã
$&Š «Ñ Š c cˆ¢cµ
 `£c Ü `àB¤GS
Üä
â

â
ã
ɱÏ8— 
ä«Ñå
´å
$&«Ñä
ä
å
(˜©
å«Ñç
Ùç
$&Œ Œ«Ñ«Ñæ
˜©
æ
ç
r¼Â üÎ ;8 The default [`OnEos`] implementation used by [`Trace`].ÁŠ úÜŽ —²  šÒÓØ/õâé
ê
 ×è
è
¸øÌò  ×è
è
åƒ(™³ æšÒì
Ùì
$& šÒšÒë
³ ë
ì
r(šº çšÒî
Àcî
$&Ž ŽšÒ  c cˆ¢cµ
 `£c Ü `àB¤GS
Üä
í
šº í
î
ɱÏù„Ú! ©Úù´Ú4Q»Ú×õþCÿ@ÿÿÿÿÿÿÿùéß$ñª€ ñ
€ ñ
߀ ñ
ñ
ññ
ؤ¤ValueSetÁ¦¼§ËÞœRNØŒhqØùžåå&ìå×¾€xipfA B0C@DH#PB`Eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù¬ÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6ô
Äù¯ÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6ö
žÅÉ÷´Ñ÷ç ÷ þ ‡¡Y¿É÷¿Ñ÷ç ÷ þ ‡¡ùË„Ú! Ë©ÚùË´Ú4»Ú×õþCÿFÿÿÿÿÿÿÿùËéß$ñª€ ƒ € ƒ ߀ ƒ ƒ ñƒ Ù¤¤ºÄ¦¼§ËÞœRNØŒhqÙùÌåå&ìå×¾€xipfA B0G@HH#PB`EÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÚÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6 ùÝÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6ˆ ÖÈÉ÷âÑ÷ç ÷ þ ‡¡É÷íÑ÷ç ÷ þ ‡¡ùù„Ú! ù©Úùù´Ú4»Ú×õþCÿIÿÿÿÿÿÿÿùùéß$ñª€ € ߀  ñ Ú¤¤ºÄ¦¼§ËÞœRNØŒhqÚùúåå&ìå×¾€xipfA B0J@KH#PB`EÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùˆÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6˜ ù‹Óò!‹Ùòצ¦§Ó“©ˆ |ŵ’½ÛV6š ÌYÉ÷Ñ÷i•ç )•÷ 9•þ )•‡¡Y›É÷Ñ÷ç ÷ þ ‡¡ù§„Ú! §©Úù§´Ú4»Ú×õþCÿLÿÿÿÿÿÿÿù§éß$ñª€ § € § ߀ § § ñ§ Û¤¤ºÄ¦¼§ËÞœRNØŒhqÛù¨åå&ìå×¾€xipfA B0M@NH#PB`Eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù¶ÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6ª ªÍù¹ÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6¬ É÷¾Ñ÷ç ÷ þ ‡¡É÷ÉÑ÷ç ÷ þ ‡¡ùÕ„Ú! Õ©ÚùÕ´Ú4»Ú×õþCÿOÿÿÿÿÿÿÿùÕéß$ñª€ ¹ € ¹ ߀ ¹ ¹ ñ¹ ܤ¤ºÄ¦¼§ËÞœRNØŒhqÜùÖåå&ìå×¾€xipfA B0P@QH#PB`EÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùäÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6¼ âÐùçÓòÙòצ¦§Ó“©ˆ |ŵ’½ÛV6¾ É÷ìÑ÷ç ÷ þ ‡¡É÷÷Ñ÷ç ÷ þ ‡¡Üà üè ?< The default [`OnFailure`] implementation used by [`Trace`].Á¨ úܬ —² „ë Ó²§oâWÎÊ Ë d‚
,
óÉ É ¸øÌ”
d”
óÉ É åƒ(‚Ñ ÎÓÍ ÙÍ $& ÓÓÌ Ñ Ì
Í r(ƒØ ÏÓÏ ÀcÏ $& Ó  c cˆ¢cµ
 `£c Ü `àB¤GS
Üä
Î ƒØ Î
Ï É±Ïù†„Ú!©Úù†´Ú4Q†»ÚóõþCÿRÿÿÿÿÿÿÿù†éß$ª€ Ò € Ò ߀ Ò Ò Ò ÿÒæ¤¤ºÄ¦¼§ËÞœRNØŒhqæù‡åå&!‡ìåó¾€x]sjS T0U@VH#PT`Wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù•Óò!•Ùò󦦧ӓ©ˆ |ŵ’½ÛV6Õ ù˜ÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6× ÖYÉ÷Ñ÷ç ÷ þ ‡¡É÷¨Ñ÷ç ÷ þ ‡¡ù´„Ú! ´©Úù´´Ú4»ÚóõþCÿXÿÿÿÿÿÿÿù´éß$ª€ ä € ä ߀ ä ä ä ÿÒ礤ºÄ¦¼§ËÞœRNØŒhqçùµåå&ìåó¾€x]sjS T0Y@ZH#PT`WÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÃÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6ç  ×ùÆÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6é É÷ËÑ÷ç ÷ þ ‡¡É÷ÖÑ÷ç ÷ þ ‡¡ùâ„Ú! â©Úùâ´Ú4»ÚóõþCÿ[ÿÿÿÿÿÿÿùâéß$ª€ ö € ö ߀ ö ö ö ÿÒ褤ºÄ¦¼§ËÞœRNØŒhqèùãåå&ìåó¾€x]sjS T0\@]H#PT`WÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùñÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6ù ØÚùôÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6û É÷ùÑ÷ç ÷ þ ‡¡Y„É÷Ñ÷i‰ç )‰÷ 9‰þ )‰‡¡ù„Ú! ©Úù´Ú4Q»ÚóõþCÿ^ÿÿÿÿÿÿÿùéß$ª€ ˆ € ˆ ߀ ˆ ˆ ˆ ÿÒ餤ºÄ¦¼§ËÞœRNØŒhqéù‘åå&!‘ìåó¾€x]sjS T0_@`H#PT`WÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùŸÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6 Þù¢ÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6 ¬ßÉ÷§Ñ÷ç ÷ þ ‡¡É÷²Ñ÷ç ÷ þ ‡¡ù¾„Ú! ¾©Úù¾´Ú4»ÚóõþCÿaÿÿÿÿÿÿÿù¾éß$ª€ š € š ߀ š š š ÿÒꤤºÄ¦¼§ËÞœRNØŒhqêù¿åå&!¿ìåó¾€x]sjS T0b@cH#PT`WÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÍÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6 ùÐÓòÙò󦦧ӓ©ˆ |ŵ’½ÛV6Ÿ äâÉ÷ÕÑ÷ç ÷ þ ‡¡É÷àÑ÷ç ÷ 9
üÓ ?< The default [`OnRequest`] implementation used by [`Trace`].Á
úÜ—
—² „Ö
 ÔC7`O»rì«

ª ª ¸ø¼
 Ô­ Ù­ $&  Ô Ô¬ ë¼
¬
­ r(ìÃ
· Ô¯ Àc¯ $&˜  Ô  c cˆ¢cµ
 `£c Ü `àB¤GS
˜Üä
® ìÃ
®
¯ ɱÏùï„Ú! ï©Úùï´Ú4»ÚõþCÿdÿÿÿÿÿÿÿùïéß$§ª€ ² € ² ߀ ² ² §² ÖÇø¤¤ºÄ¦¼§ËÞœRNØŒhqøùðåå&ìå¾€xPsje f0g@hH#Pf`iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxYþÉ÷þÑ÷ç ÷ þ ‡¡Y‡É÷Ñ÷ç ÷ þ ‡¡ù‘„Ú!©Úù‘´Ú4Q‘»ÚõþCÿjÿÿÿÿÿÿÿù‘éß$§ª€ À € À ߀ À À §À ÖÇù¤¤ºÄ¦¼§ËÞœRNØŒhqùù’åå&!’ìå¾€xPsje f0k@lH#Pf`iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxY É÷ Ñ÷ç ÷ þ ‡¡É÷©Ñ÷ç ÷ þ ‡¡ù³„Ú! ³©Úù³´Ú4»ÚõþCÿmÿÿÿÿÿÿÿù³éß$§ª€ Î € Î ߀ Î Î §Î ÖÇú¤¤ºÄ¦¼§ËÞœRNØŒhqúù´åå&ìå¾€xPsje f0n@oH#Pf`iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxYÂÉ÷ÂÑ÷ç ÷ þ ‡¡É÷ËÑ÷ç ÷ þ ‡¡ùÕ„Ú! Õ©ÚùÕ´Ú4»ÚõþCÿpÿÿÿÿÿÿÿùÕéß$§ª€ Ü € Ü ߀ Ü Ü §Ü ÖÇû¤¤ºÄ¦¼§ËÞœRNØŒhqûùÖåå&ìå¾€xPsje f0q@rH#Pf`iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxYäÉ÷äÑ÷ç ÷ þ ‡¡É÷íÑ÷ç ÷ þ ‡¡ù÷„Ú! ÷©Úù÷´Ú4»ÚõþCÿsÿÿÿÿÿÿÿù÷éß$§ª€ ê € ê ߀ ê ê §ê ÖÇü¤¤ºÄ¦¼§ËÞœRNØŒhqüùøåå&ìå¾€xPsje f0t@uH#Pf`iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxY† É÷† Ñ÷i‹ ç )‹ ÷ 9‹ þ )‹ ‡¡Y É÷ Ñ÷i” ç )” ÷ 9” þ )” ‡¡ä¡ ü¨ @= The default [`OnResponse`] implementation used by [`Trace`].Áé úÜí —² Œ¬ —Õû펕e‹‰P÷ ø ù  ¨ö ö ¸øÌÖ  ¨ö ö 僬õ  ¨ö ö (˜ ’ â —Õû Ùû $& —Õ—Õú ˜ ’ ú
û r(™ ™ ã —Õý Àcý $&šœ š—Õ  c cˆ¢cµ
 `£c Ü `àB¤GS
œÜä
ü ™ ™ ü
ý ɱÏùœ „Ú! œ ©Úùœ ´Ú4Qœ »Ú¨õþCÿvÿÿÿÿÿÿÿùœ éß$Ī€
€
߀

Ä
ÖLj¤¤ºÄ¦¼§ËÞœRNØŒhqˆù åå&! ì娾€xrukw x0y@zH#Px`{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù¬ Óò!¬ Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6ƒ
€äù¯ Óò!¯ Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6
æù² Óò!² Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6
èY· É÷· Ñ÷i¼ ç )¼ ÷ 9¼ þ )¼ ‡¡Yà É÷à Ñ÷iÈ ç )È ÷ 9È þ )È ‡¡ùÐ „Ú! Ð ©ÚùÐ ´Ú4QÐ »Ú¨õþCÿ|ÿÿÿÿÿÿÿùÐ éß$Ī€
€
߀

Ä
ÖǤ¤ºÄ¦¼§ËÞœRNØŒhqùÑ åå&!Ñ ì娾€xrukw x0}@~H#Px`{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùà Óò!à Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6
¢éùã Óò!ã Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6
ùæ Óò!æ Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6
ÚìYë É÷ë Ñ÷ið ç )ð ÷ 9ð þ )𠇡Y÷ É÷÷ Ñ÷iü ç )ü ÷ 9ü þ )ü ‡¡ù„
„Ú!
©Úù„
´Ú4Q„
»Ú¨õþCÿÿÿÿÿÿÿÿù„
éß$Ī€ ¨
€ ¨
߀ ¨
¨
Ĩ
ÖÇŠ¤¤ºÄ¦¼§ËÞœRNØŒhqŠù…
åå&!…
ì娾€xrukw x0€@H#Px`{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxù”
Óò!”
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6«
ù—
Óò!—
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6­
ðùš
Óò
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6¯
®ñ
É÷Ÿ
Ñ÷
ç 
÷ 
þ 
‡¡
É÷«
Ñ÷
ç 
÷ 
þ 
‡¡ù¸
„Ú! ¸
©Úù¸
´Ú4Q¸
»Ú¨õþCÿÿÿÿÿÿÿÿù¸
éß$Ī€ ¼
€ ¼
߀ ¼
¼
ļ
ÖǤ¤ºÄ¦¼§ËÞœRNØŒhqù¹
åå&
ì娾€xrukw x@„H#Px`{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùÈ
Óò
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6¿
ùË
Óò
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6Á
æôùÎ
Óò
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6Ã
‚ö
É÷Ó
Ñ÷
ç 
÷ 
þ 
‡¡
É÷ß
Ñ÷
ç 
÷ 
þ 
‡¡ùì
„Ú! ì
©Úùì
´Ú4
»Ú¨õþCÿÿÿÿÿÿÿÿùì
éß$Ī€ Ð
€ Ð
߀ Ð
Ð
ÄÐ
ÖÇŒ¤¤ºÄ¦¼§ËÞœRNØŒhqŒùí
åå&
ì娾€xrukw x0†@‡H#Px`{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxùü
Óò
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6Ó
øùÿ
Óò!ÿ
Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6Õ
ºùù‚ Óò!‚ Ùò¨¦¦§Ó“©ˆ |ŵ’½ÛV6×
Y‡ É÷ Ñ÷ ç  ÷  þ  ‡¡Y“ É÷ Ñ÷ ç  ÷  þ  ‡¡ü’éüœ?‡áÜúüà74 See the [module docs](crate::trace) for an example.Á˜úüœ/ÑÄüÌ'ŠÅ,¤ã
žä
©#å
¹#æ
Ê#ç
Ü#è
ï#é
ü#ê
é
å
è
ä
ç
ã
ê
æ
׬ ¨è¬ ¯ù¬ Ô¶Š­ äÖ›­ ôø¬­ üœ ½­ ¤Âέ ä܉ÖÑ5ž„%ípÿë
ì
í
î
ï
ð
ñ
ò
fhkmpD¶¨ÐzLÖ Ô„Tø—ÕŽ\œ«Ñ—,šҡLÜÓœ‚,â
â
ÃÏì›â
â
™Ïô¾â
â
ŸÏüâ â
â
¥Ïüˆ "\“ â
â
«Ïü° %â
â
±ÏÄÛ â
â
·Ïüù T„
â
â
½Ï ýè ¤ô
žõ
©#ö
¹#÷
Ê#ø
Ü#ù
ï#ú
ü#û
ô
û
÷
ú
ö
ù
õ
ø
׬ Yè¬ Xù¬ 劭 Ú›­ Ϭ­ Ľ­ ¹έ ®¿cÃÏŸ ¨¿c™ÏŸ ¯¿cŸÏ ¿c¥Ï Ö¿c«Ï ø¿c±Ï œ¿c·Ï ¿c½Ï ܉Öü
Àcü
,/36ÈËÅÈÂſ¼¿¹¼ÜßžŸ ‰Ö ž c cˆ¢cµ
 `£c Ü `àB¤GS
ŸÜä
ó
Ÿ ýó
ü
ÃϙϟϥϫϱϷϽϫ±² é ¤þ
žÿ
©#¹#Ê#Ü#ƒï#ü#ƒÿ
þ
׬ è¬ 
ù¬ šŠ­ ›­ ¬­ y½­ nέ cØÃÏ  ¨ß­   ¯ï­ @  ÿ­ H  Ö® P  ø¯® X  œŸ® (  ¿® H  ܉ÖÙ©¬°³EHBE?B<?9<69¤§   ‰Ö‰Öý
  ý
ÃÏ™ÏŸÏ¥Ï«Ï±Ï·Ï½Ï ¡ ê ¤ˆž©#й#Ê#ŒÜ#ï#Žü#ŽŠŒˆ׬ -è¬ ,ù¬ ¹Š­ ®›­ £¬­ ˜½­ έ Š ÃÏ¡ ¨Š ™Ï¡ ¯Š ŸÏ Š ¥Ï ÖŠ «Ï øŠ ±Ï œŠ ·Ï Š ½Ï ܉ÖõøüÿŽŽˆˆØ¢ ø¢ Z/·° ¡ ¡‰Ö ¡ÃÏò¢ ¡ò
ÃÏ™ÏŸÏ¥Ï«Ï±Ï·Ï½Ï ¢ ¢ø¢ #ø¢ Û7ö± ¢¢ ¢‰Ö ¢ÃÏò¢ ªò
ÃÏ™ÏŸÏ¥Ï«Ï±Ï·Ï½Ï ¢ ¯ࢠ¯ø¢ ð6ܳ ‰ÖÃÏòò
ÃÏ™ÏŸÏ¥Ï«Ï±Ï·Ï½Ï ¢ Áü}\Y Holds configuration for how to set the [`Access-Control-Allow-Credentials`][mdn] header.ÁÚúüÞ:÷
úüeÝÿ üƒIí÷
.\ç„þúÙ})v˜k~`Ð×ÚúÙ8½×ÚúÙ
¬½×Ú Öï úÙÙ$&£ £úÙúÙ« Ö
r8¬ Ýð úÙ´$&úÙ˜˜
Ôé¬î½×Ú‰Ò÷ ¾J\œž¥¦œ¦žŸ†J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdè "  ‚ã  æã ˜"¬ç ÌìÎÝ×ÚŠ½šš×Ú½šš×ÚȰȰ½šš
žȰȰ½Øæ×ÚššÑèü½V½ššØæÉ Øñ ×Ú¢Ù¢$&¤ ¤×Ú×Ú¡® Ø¡
¢r8¯ ßò ×Ú¤´¤$&×Ú££
¤¢ó ½šš×Ú½šš×Ú²ü¢X
U Holds configuration for how to set the [`Access-Control-Allow-Headers`][mdn] header.Áû
úüÿ6
‘„ 
úüºa
ć üœA
Ý„ .\ø
d
¾Û^wm=­¨©Þ¾Û²8ÒÞ¾Û§§
¨Œœ
Ò§§Þ ç
ô ¾Û«Ù«$&¥ ¥¾Û¾Ûª° ç
ª
«r8± î
õ ¾Û­´­$&¾Û¬¬
­´ú
!Œÿ
ÒÞ½±êÅ«¯£‹¯°²³°±“æÞ³!Ò®®
°Ò“æÞ®®³ðœ
Ò®®“æ
!Ò®®ÞÒ®®Þ ò
ö ÞµÙµ$&¦ ¦ÞÞ´³ ò
´
µrñ²ü®X U Holds configuration for how to set the [`Access-Control-Allow-Methods`][mdn] header.Á úü‹6 ó“  úüÆa Ö› ü¨A ¿” .\„ "d ÕÞa:[MÔ4·¸ÚàÕÞñ²8òÚàÕÞ
·Œ¨ òÚà ó ÷ ÕÞºÙº$&§ §ÕÞÕÞ¹´ ó ¹
ºr8µ ú ø ÕÞ¼´¼$&ÕÞ»»
¼´ÿ $Œ„ òÚà–„¬Y+í½¾¿Á¿À“æÚàÂ$ò½½
¿ò“æÚཽ¶÷œ¢ ò½½“æ $ò½½Úàò½½Úà ÷ ù ÚàÄÙÄ$&¨ ¨ÚàÚà÷ ÷ Ã
Är³ü„W T Holds configuration for how to set the [`Access-Control-Allow-Origin`][mdn] header.ÁÜ úüà5 ¬§  úüš` …µ üû? ÷§ .\Õ %\ì ®á<½‘ò†³ÆÇ½ä®á³8½ä®áÅÅ
Æ ÅŽä Ä ú ®áÉÙÉ$&© ©®á®áȸ Ä È
Ér8¹ Ë û ®áË´Ë$&®áÊÊ
ËùÄ Û¿µ Œ¹# ¤ôáäôÈ5¡gÍÏÎÐùÄ ýÀw Õ# ¤ÌÌôá‰Ä ¹Áå# ¤ÌÌðûD 4Ÿ$ ¤ÌÌôá=4Æ$ ¤ÌÌ„¾„¾Ìû†¾ ˜X$]È=„kt•ž‚ü¡ˆˆ¢ˆl }.xς؃ØðûÌìÎÝùÆ ¨ÝÕ ¨Õ ¬Ž# ¤ŽXÒÒôáŽX1Æ ¤ÞÑÓ«Ôý‡¤Õþ3Öä ¤S\4à»þ1ŽXS\4à»þ1ÓÕÔÖ ÓÝùÅ ºÐú ݤÑÑõ€ùÅ þÐÞ¤ÑÑ ŽXðûL ä¤ÑÑõ€Dã¤ÑÑ„¾„¾Ìû†¾ ˜X$]È=„kt• ŽX‰ÿ ¡ É –¡ùÉ ¬¡2 ôáÙùÊ ’œ öš ã¤Ú„¾„¾Ìû†¾ ˜X$]È=„kt• ÚôáÑÓ«Ôý‡¤Õþ3Öä ¤S\4à»þ1ÚØ ­œØ
Ù œùÍ å½0Œ ñ½¤ŽXÜÜÛÛ«ZÝëZÞ«ßþ33?-Çß _ŽX3?-Çß _ÝÞß ú½ùÍ Ü¾<Í Ü¾ÛÛâ±ùÉ É±õÛÛ001б3ˆ ‰4ä\’ÎMðûO¡ÛÛ‰ÿùÍ Ã¿áŒ ŽXáá“í))*…¶,ˆ Úˆ3Clœ•†(ÁÍ ŒÁôá È¿©Ð ûé êââÞ³ ÁÐ ûéâÞ³ Þ³ "ùÐ Ïê6 ¥ä䆂 Ð Ôꤹ¹Ð ×êÚÆùÐ ‘ëF ôá„¥2 )\ª2 ½äNpuk=xÝ5çèêëíîñòèé‚ã½äëìóã½äîï†J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdèð"ž½ ð˜"ž½  ÌìÎݽäòó†J†JK‰Jµ 7ŠJ›â7‹J¤7·0ØQdèô"‚ã ôæãô˜"„¾„¾Ìû†¾ ˜X$]È=„kt•ž‚ü¡ˆˆ¢ˆl }.xς؃ØÌìÎÝ ÌìÎݽäÛ³)Û³ææ
èÛ³Û³‚ã½äææðŽ\Â2 ææ‚ã)ææ
ëóã½äæææ„Ù2 ææóã)ææ
½äææÜüƒ3V ææ±‹3 Å´)Å´ææ
òÅ´Å´»Œ½äææÙ‘üþ3„ ææ»Œ—4
 `£c Ü `àB¤GS
´Üä
®Þ Ü®