! / 0 0 0 0 1192 ` WPWPWPWPWPWPWPWPWPWPWPWPWPWPWPWPWP_RNvCs4WEQE74F78J_3log10set_logger_RNvCs4WEQE74F78J_3log15set_logger_racy_RNvCs4WEQE74F78J_3log16set_boxed_logger_RNvCs4WEQE74F78J_3log6logger_RNvXs0_Cs4WEQE74F78J_3logNtB5_5LevelNtNtNtCsgxBkk5gSRhY_4core3str6traits7FromStr8from_str_RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log3log_RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log5flush_RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log7enabled_RNvXs1_Cs4WEQE74F78J_3logNtB5_5LevelNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt_RNvCs4WEQE74F78J_3log15LOG_LEVEL_NAMES_RNvXs5_Cs4WEQE74F78J_3logNtB5_11LevelFilterNtNtNtCsgxBkk5gSRhY_4core3str6traits7FromStr8from_str_RNvXs6_Cs4WEQE74F78J_3logNtB5_11LevelFilterNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt_RNvXsc_Cs4WEQE74F78J_3logNtB5_14MaybeStaticStrNtNtCsgxBkk5gSRhY_4core3cmp10PartialOrd11partial_cmp_RNvXso_Cs4WEQE74F78J_3logNtB5_14SetLoggerErrorNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt_RNvXsq_Cs4WEQE74F78J_3logNtB5_15ParseLevelErrorNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt_RNvCs4WEQE74F78J_3log20MAX_LOG_LEVEL_FILTERDW.ref.rust_eh_personality// 56 ` log-3e104b0ce6b0ff02.log.399c43c9a2fe6453-cgu.0.rcgu.o/ lib.rmeta/ 0 0 0 644 216824 ` ELF>xM@@GNUÀrust ÓJ#rustc 1.98.1 (48a229cea 2026-09-01)Á‰m6GÞ­n6ÇèÆ2-64f5f36fb0927694ÁûÊÆÍRLñ.åSÛAúwjL-df1bddb45adbe94bÁ«ª1Úë• ¢›ºXÝÓrŽ*-1ad4f876c768bda9Á±ò‰<å%Z‰>¸64‡ËV`-2d2ab9fb0fe1def5Á»ÄóG Øg{ë(3íi«F×-06449a08aaab5e30Árustc_std_workspace_coreÁ€û{ù`ä"Ei¥€ÞÏ%G-cb0d4d77988d81b5Áó"Æ)ΉÉðÛÕpEÍ—E-3ec41d3a5a80a4a4Á miniz_oxideÁÐ8°ø‚ðbž Lƨ°J-e44eaef1807e5fc0Áadler2Á9lí©yA6P/D$UBŸ-dca52f01a59c33e7Á hashbrownÁ™¸ÈXó®÷ …ùý{e-143c77bb957d9940Árustc_std_workspace_allocÁð…¨À �¶÷Üúò·_z%í-145a318e0772276cÁ std_detectÁK(ƒ0ì*ãÛ8²D?-f99feda5ce9e492aÁrustc_demangleÁµ%jŽeårVŠÕÓ•-cfd0ab54bb33760eÁcfg_ifÁÍ}λ—©ŒÕž§C•×o-360da4ba13154744Á addr2lineÁ‹c²ŽúY\ÈGÞö÷ö--09755979c57b7e64ÁgimliÁ¢±QÄÍ`ª§DÞåù¬y-9a1fede77fbbf2f0ÁobjectÁö‚F λâËvú.zËí-7ff85ea729a864ffÁmemchrÁž˜]²1<õ¶=U�ý�Où-0e3477fb2664a277Á  ÿŽ—jl‹®¾To–K™G-549498e8b2e4d924Á‰ó}Ó‰|¿}Œ¾} __log_keyÁL‚yÓkvÁtäx __log_valueÁ\‘~Óõtó} __log_value_svalÁ„°‰Ókv_svalÁœ�‰ __log_value_serdeÁŒÅŒÓkv_serdeÁ¤¡Œ __log_value_errorÁŒø�Ókv_stdÁ”Ö�serdeÁ,¯Ó serde_coreÁ´õÖÓõt½a$䀽í ̸€Ü·€²D¨�½í Ìô€Üó€ AtomicUsizeÁ\á�½í ̽�ܼ� KeyValuesÁL�ðÓõtØï« kv_supportÁTçÓõtÒtestsÁ,Ë¥Í$À¥‰«macrosÁ __logÁ  log_enabledÁ  __log_enabledÁ  __log_loggerÁ à � ¢ Ñ ‚    LOGGERÁSTATEÁ UNINITIALIZEDÁ INITIALIZINGÁ INITIALIZEDÁMAX_LOG_LEVEL_FILTERÁLOG_LEVEL_NAMESÁ SET_LOGGER_ERRORÁLEVEL_PARSE_ERRORÁ#•%¤ '€'›*ñ,�,maxÁ,to_level_filterÁ,as_strÁ,�1 1 ,increment_severityÁ,decrement_severityÁ6•8¤ :€:›=ñ ?�?×?to_levelÁ?÷?�D D ?“?¬ I'aÁIgetÁ  M• O–Q¤ SÆT„VÁVbuilderÁVÇVmetadataÁVlevelÁV´Vé ] Vmodule_path_staticÁVå` V file_staticÁV¿dÁd˜ dÇd«dºd´dé dØdådüd¿dbuildÁq>sÁs–sºs´xÁx˜ xºx´xæ~>LogÁ€enabledÁ€logÁ€flushÁ NopLoggerÁ„ †Ø†ç†òŠ�ŠØŠçŠò���Ø�ç�ò”�”Ø”ç”ò set_max_levelÁset_max_level_racyÁ max_levelÁset_boxed_loggerÁœ  set_loggerÁž set_logger_innerÁ ‚set_logger_racyÁ£ñ¦ñloggerÁ©NOPÁ __private_apiÁ«««««««««« « « « «KeyÁ¹Á«ValueÁ»Á«sealedÁ½KVsÁ¾Á¾into_kvsÁ«ÁÁÁ–«ÄÁÄ–«ÇØÇçÇò«log_implÁˈ«çÍÁ͇͈«ØÑˆ«locÁSTATIC_MAX_LEVELÁ ç errorÁ º infoÁ ¨ traceÁLevelÁÛErrorÁÜ Ü ÛWarnÁß ÛInfoÁá Ûqã ÛTraceÁå èŽ !"ì•#îÝ$ð¤ %ò–&ôñ'öÆ÷ÿ LevelFilterÁùOffÁú ù›ü ù²þ ùÀ ùq‚ ùà„ ()‡Ž*+,‹•-�Ý.�¤ /‘–0“ñ1•Æ–ÿMaybeStaticStrÁ˜Á˜StaticÁš šó˜BorrowedÁ� �ó2 Á3¢Á4¤Á¤Ž5§Á§ñRecordÁªÁª«ªÇªé ªåª¿6±Á±Ž7´Á´ñ RecordBuilderÁ·Á·recordÁ8ºÁºñMetadataÁ½Á½º½´9ÁÁÁŽ:ÄÁÄÝ;ÇÁ<ÉÁÉ•=ÌÁÌ–>ÏÁϤ ?ÒÁÒÆÔÿ@ÖÁÖñMetadataBuilderÁÙÁÙ«AÜÁÜÝBßÁCáÁá•DäÁä–EçÁç¤ FêÁêÆìÿGîÁîñSetLoggerErrorÁñ ñóHôñParseLevelErrorÁö öóIùñJKü•LþÝ« GlobalLoggerÁ€ «‚ñé8í8í8ï8ñ8ñ8ó8ó8õ8õ8õ8÷8÷8$8$8&8&8)8+8+8+8/8084858ˆ8Œ8Œ8Ž8�8�8’8’8”8”8”8–8–878789898<8>8>8>8B8C8G8H8¦8©8©8©8K8L8M8N8N8O8P8P8Q8R8R8S8T8T8³8¶8¶8¶8Y8Z8[8\8]8_8`8b8c8¼8¼8¼8g8h8i8j8k8l8m8n8o8p8q8Ã8Æ8Ë8Ë8Î8Î8Ñ8Ñ8Ô8Ô8Ø8Ø8Ø8v8w8Þ8ã8ã8æ8æ8é8é8ì8ì8ð8ð8ð8{8|8}8~8�8�8�8‚8‚8‚8ƒ8‡8‡8‡8ˆ8ˆ8ˆ8‰8Š8Œ8Œ8Œ8�8�8�8Ž8‘8‘8‘8’8’8’8“8–8–8–8—8—8—8˜8õ8õ8õ8¤8¤8¤8ú8ú8ú8ý8ý8ÿ8§8§8§8ƒ8ƒ8ƒ8È8È8È8É8É8É8Ê8Ë8Ë8Ë8Ë8Ë8Ë8Ë8Í8Í8Í8Í8Ñ8€¾ˆÛÜÝ›Þßà²áâÃãäqåæà5åEÊꊦn…©/ù ©/�Ç©/÷±©/©/Ì©/¯²©/©/í©/Ÿg©/ûh©/÷±©/ùúûìüý›þÿ²€�ƒq„…à—ÝwŽd~¯²©/€1½}©/¤g©/ˆ€1…€1ù €1�Ç€1÷±€1€1Ì€1¯²€1€1í€1Ÿg€1ûh€1÷±€1©/¯²€1©/½}€1¤g€1ù ˜š›Áœó�žÜŸóçx¤|‚áÿåÁˆ½3…½3Ÿg½3̘š›Áœó�žÜŸóçx¤|‚áÿå8÷±´4´4í´4¯²´4´4ûh´4…ªª¸¬«­Ç®é ¯å°¿öëêìáææ+ÁŸg¼5Ÿg··�¹ºŠà£œ®u@Áö··�¹ºŠà£œ®u@8…½½Û¿ºÀ´€Ã» ª& ÚÁÌŸ7�ÇŸ7÷±Ÿ7Ÿ7íŸ7¯²Ÿ7Ÿ7ûhŸ7ŸgŸ7ÌÙÙ¢!Û«bŸÿÿÄ‹´Á�dz8÷±³8³8í³8¯²³8³8ûh³8Ÿg³8öÙÙ¢!Û«bŸÿÿÄ‹´8€„„…þ 0£Ü"ÝÇ€ 8�€ŸŸ BoxÁ£ó‹¤ô‹ljô²ßk#�ÅFÅFÆFGlobalÁ Ä› +ÉÑ€„K„KK‡Kí ä7ˆKphantomÁä7‰K«ä7ƒ¢3à6ú�ì:ò:ŸgññòÔ"óó 'kLjãå¤gþ;�þ;Ÿgöö÷‚#øó N“Šˆ ¶Š·�ÇÊ<÷±Ê<Ê<ÌÊ<¤gÊ<�Ê<¾ Á  ÁÂ=Á¾ÁŸg€€�Î# Ð’ÒQÅC‚—€ë=çÛ†ù¢˜èÛ‡ù¤˜±ªÁ½êÛ‰ù ˜ëÛŠùǽßÙûöìÛ#Û‹ù6ùM˜É½áÙüöîÛ�ùL˜Ä½ÜÙþöðÛ%Û�ù8ùQ˜Ï½çÙòÛ‘ùO˜Ì½äÙôÛ“ù§˜´ªº·Ö½îÙôñùö‚€öÛ•ùS˜Ò½êÙ'Û:ù*Û=ù£ñ¦öq·~Ù†„Š �Ÿ”„KÇ€¥ñ¨öÁ Ä ˆñ…ù #�Ç÷±#Ì5¯²)í.Ÿg "ûhF½}"¤g ö€ �!¾0ÁíB1ÁíB2ÁíB6ÁíB1Á(¨�­�é&©/1 ©/;DNHµ� &½� ¾�íZ_epýCwýC~íB…íBŒ•î ¢ __self_discrÁ» __arg1_discrÁÒÚÂ�ïÀ�Û=ýC) PÄ�Ð� ùw“„3_Ò� U Å™�²‚²ƒ²LessÁ„²…²†²‡²ˆ²‰²GreaterÁв%ÑÓ¡yûÍ�Î�ñìçóûôûùwÕƒƒ_¸³Å™Ç™È™­É™Ê™àË™óG*¤�R{9 ¿GnýCvýC~¿G†íB„íBŒ î ®¹¿ÆÒÙ¿ºÁÓ�ó%*¸³8¿GBýCJýCRíBZíBblî zÒDˆéD”� (Õ� 07 Ù�Y"×L!v?×L>“\×L[°y×LxÏ• Êgäéñ©Ú�õÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ=ĤĤŤ› Ñâó:½ÖàM•ýC� €g€gŠ‚gê ûcƒgbufÁûcØ«q¢1È¡ä×LìíBôþœ ëM! Ü� ‘yûЉ ‹iÿ)yûЉ)y‡Ñ‰ay�щß�à�÷zùy¼Ðc‰ÿ¦íPšÛ=£ýCª íP´íB»ÄƒÑÒDÞæçPØ ,Ò— tÒ— ß—4ä— |ä— ò—üÒ—!ù—$üž—[$×ýC,¤— €1,«—©/­íB´€1�íB–5î 5d ü‹™(,Œ™ „‹™ š™4¢™ Œ¡™ ±™ü†™. Å™¿G ³™º™&ü¸˜‚w¸³¼œ™�I¬æ˜ýC,ǘÖS,Θ¿Gê©/çíBî€1ÉíBÐ9î <|<’ž$äŸ5řǙș­É™Ê™àË™óG*¤�R{9 ©/f”¿Ÿ£–W П”šŸÏ–W «ŸŒöžû–W †ŸŒÒž'–W âž”­žS–W ¾žùŸ-üß�š–Wlú�íB í�« 1dÝ Ò©/ï .ü½ 2©/,Í  üø¡',�¢ t�¢ �¢<•Á}å´n€ ÍXăářǙș­É™Ê™àË™óG*¤�R{9 €1 šÃÄØÂ‚\ ï¼®Â>‚\ ļ„Âj‚\ šÂÄÙÁ–‚\ ðÁ´°Á‚\ ÅÁÄ´nà€1 §¢®¢/üÁ¡müÜÀç@ýý³ˆnøW€1D ¢…¿´n€1\â¡ýC,Ø¡‚\Q©/OíBW+„×[/|ð£ à  ×LíB,€¤ t€¤ �¤üð£ íB% ? íBI ”¤•¤0üÁ£T×LdÙ£ýC,Ï£ `õ©/ÊíBÑ«'J}åèé ÌŠÌŠMapÁÏŠ�Њœ“D^)c˜þOþ¶ý¶ý¼¸ý‚¹ý’}£²ËJüü íB3íB©/UÿÛ=Ѝ1ü¢§hýÁä�¤ãQ‚c©/½cüß§%ýž\è¤D‚c½c�ºå¤ÂbÔ³§Xœç§ù¬) ×[À¥F –W£¡n –WŸ�– –W›™¾ –W—•æ –W“"à©/ ‚¨ƒ¨3üã§ º-MøW©/Dû§©/æ§ ½cFíB ä§–W‘Ÿs×[= ,‘­t‘­ì©­\º­ û íB  Å­=í»n§H–W¥£p–W¡Ÿ˜–W�›À–W™—è–W• Ö­Ý­ô лnà©/ „¼n4üЬ�üƒ­ZÞ-’ýϺ¶nùW©/„Ç­eË»n©/$ô¬ýC,ê¬íBñ–WÜíBÛ$currentÁ<‡­™©/µ ,á²tá²üù²+ÌŠ³ùn”±%^; þíB!n¯±^UíBnµ±^Dk  £³k °–W   Ø–W   –W   (–W  ÿ P–Wý   ´³»³ñhà©/e5ü ²›üÓ²hùnѰr^–¨Œ’³W -ÍyùW©/„¥³t©/$IJýC,º²íB$–WíB $§k<ײ¡’m-©/%(À¶Ŷˆ&€11ÖS8AKHͶ &Õ¶ Ö¶ŒZ_epÖSwÖS~íB…íBŒ•î ¢ÒD¯éDºÂÚ¶ŽضÛ=ÖS) Pܶè¶ Ýê¶ P Å™¿Gå¶æ¶�‡‚’–�–x¸³©�I½ÖSÄÖSË¿GÒíBÏíBÖéî ö  ã ë¶’_elN¸³¿G‰ÖS‘ÖS™íB¡íB©³î ÁÒDÏéDÛä (í¶ 29&×Lñ¶[H×L"yf×L@—„×L^µ¢×L|ÓÀ×LšóÝëM  Êò¶”4¬N@ÖSH´OP×LXíB`jœxƒëM� ô¶ �›çP‚}x÷¶ø¶–]bsÿ¦íPwÛ=€ÖS‡íQŽíB•žƒ«ÒD¸ÀçPB Dк z�ywu|trpmsÞº7üœºB‚$Ÿ$»ºÖS,¢ºýC,©º©/0íB8€1íB6î 9r üê»(,ë» „ê» ù»4�¼ Œ€¼ �¼ˆüå». Å™¿G ’¼™¼9ü�»|ý¸³¼û»�I¬Å»ÖS,¬»ýC,³»¿Gé€1æíBí©/ÈíBÏ9î <{ =$®Ã»ÿÿÿÿÿÿÿÿ‚\!Câ‚\üú ‚\øö2‚\ôòZ‚\ðî‚‚\ìꪂ\èÃÃ@º‚\œ÷ÀíB êÀ« ç”´Ä$€1ÌÄAüŽÄ>€1\žÄ,—Æ t—Æ ¤Æü…Æ!ª -/¬ÆBüÓÅY–WlíÅÖS,ãÅ€1ˆíB�=�†~|ôÇ ; `,„È t„È ‘ÈüôLJíB% ¦íBI ˜È™ÈCüÅÇT×LdÝÇÖS,ÓÇ `ä€1ÊíBÑ«'JgMÌŠÌŠÎaÏŠ�Њœ“D^)c˜þOþ‚cFÂcÈc€1UÿÛ=�ÌDüµËh'ãQ‚c€1æ‰üòË%"¤D‚c扦‰ÔÆËM œúËÌÊG×[ÞÅd‚\~|Œ‚\zx´‚\vtÜ‚\rp ‚\nl, ‚\jhà€1 •Ì–ÌFüöË e@waøW€1DŽÌ\€1ùË æ‰GíB ÷Ë‚\¼fŸt×[„ ,ðÑtðÑìˆÒ\™Ò B!íBþ ¤ÒIïŽ!‚\¨ ¦¶!‚\¤ ¢Þ!‚\  ž"‚\œ š."‚\˜ –V"‚\”  µÒ¼Òoà€1lGü¯Ñ�üâÑZ¬@´iùW€1„¦Òd€1$ÓÑÖS,ÉÑíB ‚\öíBõ$§k<æÑŠ€1 ,’Ùt’ÙüªÙ+Ì»Ù[‘#’mP¡#íBLŒk ÔÙ¶ \û#‚\ #$‚\ K$‚\   s$‚\  ›$‚\ Ã$‚\  åÙìÙÜà€1Ù HüÑØ›ü„Ùht–¨ŒÃÙ+@áèùW€1„ÖÙã€1$õØÖS,ëØíB8‚\#íB!$§k<ˆÙœ’mœ€1”(!ÿÙ!„Ú¦&+1˜š›Áœó�žÜŸóçx¤|‚áÿåˆ é˜“œ¦("†Ú$8"ÏÚ Ü×L!' - 9 Ÿg€Ñ% çg–Ñ% ×L£}°`"³Ú Á×L!'-9ÕšÑ%ïšÑ% ×L"s0"ŠÚ  & ,4"‹Ú©‡�” ¬N¡»™ª´O²º ×LÕš £�%£�¸ÕšÁ·�Êÿœ __self_0Ánýœ9·�ÕšïšN·�Õš£ïš_,µÛ\¯Û& ŽÜÜ×L ”Ü àÛÁ×L æÛ¦ÜKüŒÛšôÉÛüõÛ ×L<�Û»™,“ÛÌÉÛ©‹©½d ,«Ý ),ºÝ97Ñ%6Ü×L42Á×L0 yååž_ ¥˜Ž      �¢¤h  Uªh •Áh  ]Èh      /    Ü×L  Á×L Òh  m®h  •ãÁi%ãÁiõãÁi   €Âiu½h  A=9 Ф4ýŠ/'h Ñ% � E˜/h E¢/h %¬/h ;º  -ñh Ñ%ý¾Âh  ÿh  …h  ÉÐÅÝýŠ/,hÑ% µ/h Ðh    r NüùÜLUKî[ZuKß{zý¶žU_¿̦Ýý‹UžÙ| ýŒ�¨¯€U¼ž¯€UО]¿Ÿ¢Ÿ¢ý·#žýô’h ÷m ý æh  ý²ÁUi ÝwE³h  ÝwEÃh ýø+Îh “nýŒEh ýÀ.€h$—Ý»™,ÿÜ»™,†Ý×LT¦Ý×L\´ÝŽ–�¢}·ž�¢…ÊžíB˜ ‡ íB† Ф  ФÓ  Ÿ¢ñ©¿˜î šUñ.h§íB ³wêþà¤,±Þ),ÁÞNLÑ%KÜ×LIGÁ×LEy„·Þ   �¢0  �¢õÈ h       %Íbh  �Ôbh  UÔbh   ¥êbh  ]êbh   ýÔb*h   ýbh    ÅŠdh     “Ü×L‘�Á×L�]¹dh ý‡d?h  Ådh ��Ф­ªФý˜hh Ñ%à¤%¦hh-¬hh ³hh 9ý˜h(h ¿hh-Ïhh UÏhh  Øhheèhh ýÌh3h &  #Ñ% ših  H O V ]  d  ¦­´»ÍÞPüïÝ^ K˜  4 K‰: 9 ý‹\ž×|-¡¯€UÁžµ¯€UÖžý— Uhüm­Ìžý”a‡h ÅnI ýÉbÒh  ýýcžh  ýÐdËh  ýùd¢h ýÿgœh Ä ÝwEàdh ý˜@œ €5édh õÝwE‹eh 1€5”eh ç#Ö³=Žih ¿GœŽÞ»™,öÝ»™,ýÝ×LT¬Þ×L\»Þm u �¢}¼ž�¢…О; : íB9 $ íB# ë ФmÛdh Фu…eh MƒhhD ó ñ©) ñ©2 Äî ÆLê¾êŸêUŠdhê]—dhêU¥dhêऺ,ßà5 3 )­Ù݉Ñ% “i„-Ù݉%é݉}ß݉Ÿ z Ü×Lx v Á×Lt ÷àTüœà[{ Ké€  ý¢ÝW‰Ïi·\åàÛ=Ïà»™,ºà ·,Áà×LTÚ௠Û= 4ƒ3ž¼·K °#Ðì`'ö³H!½½Û¿ºÀ´€Ã» ª& Ú©/x'ˆ´ ¥º×L('£³ ½'§³ À#ìì)zÿó ‰¥‰¥ ArgumentsÁ‹¥templateÁûcŒ¥Çûcg‡@#éó ø#Ší'  %®ìn řǙș­É™Ê™àË™óG*¤�R{9 é˜U¨ìn � ø#·í   ‡ À¼>  Ñ%%ñìn Å™é˜MÑìn ã À¼àé˜}Ììn Å™é˜ Úìn †ín¿ ˆ#Ýí  K řǙș­É™Ê™àË™óG*¤�R{9 G    Å™é˜ þ  Ý À¼àé˜ú  Å™é˜ ö  ò è (#¥ì ª#©ì #ªìÊÑ% ˆ¿âÇ)µÚدˆ¿àÉ Å™Å³ӭÃ;H!é@—“¥¯©±ý†ì€nÑXé˜iÕÁình¦=Óìn}… HÑXé˜$B  ¦ ¦> ·  ¿ ‚ÑX˜{ùµ¨ØM¯ã°}ªª¸¬«­Ç®é ¯å°¿öëêìáææ+* ¨Ä6¥º•Í»ðÀ¼‹À¼ ˆ¿Q©/·×Lh=Áìné˜Ø é˜è $÷°» †×LÀ°$Ðì ¥º"ÕšÀ$ìì Í»"Õšø$Ší' À¼#Õšø$·í     À¼#  Õšˆ$Ýí     ˆ¿(  4  Õš($¬ìÑ% ág Ñ% ×L'Ñ% ×LIOÑ%×L*0Ñ% ×L Ñ%×Lë ðÑ%×LÉ Î� $°ì      "(.4:@$±ì¶ï¬NúˆÅ´O Õš( ¥º4Õš  ͻ՚ì À¼øÕšÍ‡ËÖÕš«  ˆ¿º°ËÆœ”ŸÝÊÕšÂòÊÕš™‡ËÕšp‡ËÕšF®ËÕšÔÈܤžóÑ% f¸óXüîòJ··�¹ºŠà£œ®u@Œ‚óE½Ì‚TšôÍ»ªôYüæóDòÊœüóˆÅ,òó 1tšõ¥º®õZüèôFÝÊl‚õˆÅ,øô 1Tš¶¥º©/°ö[üîõBüóµ7v<£ö©/,…öˆÅ,ûõ E\™·¥º×L»÷\üõöFüï¶;wD­÷×L<�÷ˆÅ,ƒ÷ E„®ø À¼ü®ø!Ñ% þWé˜×L^é˜×LUÿÛ=VÑ%ÅÑ\Ãø„¿ø ÎøÕø]ü÷÷^řǙș­É™Ê™àË™óG*¤�R{9 ×L|”øˆÅ,ŠøÀ¼û}¸Ñû,Éøif(ÎøœwÜ×LtrÁ×Lo^PgK¡lk×LÆøÅÑ†é˜ Äør©®„÷ùÀ¼´ñù$ÓúÑ%©ÒKÀ¼àé˜S ²ú À¼àé˜Á×L<¹ú Å™×L ¿ú èúü®ùº_ü–ú*©Ò¤ÒùˆÅ,ÈùÌ›úü–ú×L¿(©ÕqLÜû À¼ÔÜûÑ% þWé˜×LaÏÑÛ=LÑ%ÉØ\êû„æû õûüû`ü¬ûP©Ò|ÂûˆÅ,¸ûÀ¼­9¼Ø­,ðû �(õûÓ®Ü×L«©Á×L¦a žK¡£¢×LíûÉØBé˜ ëû©©jLŸýÀ¼|™ý$ôýÑ%©ÒKÀ¼àé˜S Óý À¼àé˜Á×L<Úý Å™×L àý ‰þüÝü¬bü·ý*©Ò¤úüˆÅ,ðü̼ýü·ý×L¿(©ÕqLòþˆ¿�ÿcüÆþ;ˆ¿\ÜþˆÅ,Òþ 1�%÷� ¨Ä(4Õš(%Ì�Ñ% ÙgÑ% ×L'Ñ%×L{€A%Ð� %Ñ�¼q¬N| î̇´OŽÕšÝ ˆÅèˆÅ𲜿ɑáÕš†àÝ(üÁ”½€&à” Ñ%×LÕ�” U�” •Ë  %Ë  ýË  Ф é  L ®®«°¿ ”3¯f*²Û� š” ý³” …”  e”  =”  }Œ) Ä   Ñ%×L�¢­Œ)   ) M  Ñ% Í”  |   Ñ%íB Ñ”  °  ®®«°¿ ”3¯f*²Û�§¤§¤ArgumentÁ©¤‚¡f‹0mÖ”49d Ò”  ýÛ“‡  ‰¥ á”  ÜŒ•‹ ½Ñ%©/Ñ%×L$Æ•  Å™é˜� ªÑ%ˆ¿ ý– ü�”ì · ˆ—�—f üñ“žý«’Ç –g ý™ W±€E’” ýá(F¦€-Ä” „ ¯€U‘)üå´NuœŒ•ü—¾¿z´—µü³ÃI}< •÷Ã<ïÃH!é�îÌŒ�”¨ÄÒͻХº½À¼‹×LêåâÏФÎÛäOíBLíBJíBH î�¢PIêBœÆÏ¼®˜¨ÄÍ»$ϘÙ˜güÙ—€ îÌ´�˜ˆëLå—Í»$ð—ÇMüך¨Ä¥º$€›Š›hü€šŠˆë´¶šˆëL�š¥ºD›š«Jü¬œ"¨Ä¥º©/$Øœâœiü⛀ˆë´‹œˆëL/,ú›ºIü‰ž$¨Ä¥º×L$·žÁžjü»�†ˆë´è�ˆëLÉ�×L4Ô�´Iü‹ " Ñ% þW×Lé˜ ž$‹ Ñ%ÃïÄ” ì� üñŸ<¨ÄÀ¼ ¬ $· Á kü˜Ÿ©ˆë´ÐŸˆëL«Ÿ©Ò$¶ŸÀ¼Éª !R¶ïóü­¢  Ñ% þW×Lé˜ ›$­¢Ñ%Áñ´¶¢ܲ¢ü“¢:¨ÄÀ¼ Ì¢$×¢á¢lü®¡³ˆë´ò¡ˆëLÈ¡©Ò$Ó¡À¼Éª !R´ñóü�¤" Ñ%¶ï$�¤Ñ%Ãïʤ씤üü£5¨ÄÀ¼ °¤$»¤Ťmüª£›ˆë´Û£ˆëL¶£©Ò$Á£À¼¸å!R¶ïâü–¦  Ñ%´ñ$–¦Ñ%Áñ´Ÿ¦Ü›¦üƒ¦3¨ÄÀ¼ µ¦$À¦ʦnü¥¥¥ˆë´â¥ˆëL¸¥©Ò$Ã¥À¼¸å!R´ñâ¼á§¨Äˆ¿$‚¨Œ¨oü“§yˆë´À§ˆëLŸ§ˆ¿$ª§¿I\‚« ¨Äœ‚«Ñ% †¨Ä8<Ž« ”«›«püÖªE¨ÄTíª÷à,㪈Ŋ9´øŠ(Ü Ø ß æ Ñ%×L× Ô Ñ  Î  Ë  ФÇ    å☠• ‘  Ž  ‹  ˆ  J,  Ñ%×L�¢†   „  Ï   Ñ%ƒ  ü    Ñ%íB�  .   Ûä    ‰¥  $  ˜  ½Ñ%©/Ñ%×L   Å™é˜�  ªÑ%ˆ¿     · ø«r üÈ«0 f\ç« –g ±€  ¦€ Š+¯€  u  zü ú }÷ í!Ãö H! é�" îÌ$Ø«¨ÄÆÍ»Ä¥º± À¼ ×LÞåâÃФÂÛäCíB@íB>íB<Œêâ�¢D7ê6œÆÃ"&#H!©/è"ï"×Lá" ½Þ"å"'¨³Ã#H!é¦#¥º:#ÝÊC#©/Â#×Ls#]#h#œÆ“#(¬³Æ(ª³ Û=ÝÊ#,6`)ö³¥!¥!©/¥!¥!©/¥!Ú!Ú!Xx)ˆ´ -óž_×L5úž_×L11 þ0 �¢1  �¢ù0  ÷0 õ0  ó0  ú0  1   "1  ¹Ñ%Ï)–´)·³ ã0  á0  ß0 Ü0 Ù0 ФÕ0 Ò0 1 1   1 Ф1 Ô0Ý0Ñ%ठÐ0Î0 Ì01…1  Ì0 Ñ%Ê0 Æ0  Ä0  ‹2 ’2ÓÚãÏ0Ñ%Ì0Ê0 Ñ0  ;1 ËH)®³¥!í«¥!¥!ª0¿k¤0Ù|@3 0¯€›0±0¯€™0ó0¿Ÿ¢Ÿ¢—0“0÷m”3�0  ‹0 Ýw‡0 ž0 Ýw†0 „0 “n€0 }0  ôÝÊüÝÊ¢íB¥!íB¥!×L-¼ž_×L-Þ_�¢z0�¢w0íB 4 û3 íBú3 Ф3 ФG3 ñ©ˆ3 ñ©‘3 13 �î ž©t0§íBê|4êk4à¤}3 å"å"©/å"å"©/ # # #`*ö³*�´x*ˆ´ -¾­_×L5Å­_×L½µ­_  “5 �¢£5  �¢s0  z0 �0 ˆ0 �0 u0  s0  q0 ‡0  p0  n0  „0 m0   j0  q0  i0 p0  ‚0 *¼³00 .0 +0 ¹5¶5ФÖ5 Ó5Ф)020Ñ%à¤'0%0 #0Z0"000$0000 0 90(0  #Ñ%0  [2 b2 i2 p2 w2  GNU \�¤¹Î*¹³ôå"óå"å"ç#¸³å"ýÿ¬W_Ï/0×|æÍ5¯€,0Þ5¯€)0&0üm#0 0 Åne3 0  0  0  0  0 Ì5 Ýw0 0 €0 õ5Ýw0 /0€ÿ/ ç#Ö³ý/ ¿G@ÝÊIÝÊREíBå"íBå"×L-†­_×L-�­_�¢ÿ/�¢ü/44 34 íB24 4 íB4 ä3 Фù/ Ф÷/ õ/73 æ2 ñ©9ñ©%9î –,ê¿4ê 4ê0êÿ/êý/ê4व3P+¾³ Ñ% $)16 Å™¿G+dz+ȳÑm�IxÝÊ€Ýʈ¿G�˜î ¥¯�—¹¿'¿'©/Ö'Ñ% ‹iÿö'(((x,ˆ´E�ð‰×L1Ñ% “iå˜ú0ö0ò0P,γÔ ,ʳ¿'÷å˜`,ö³¿'D(ÿ¦å˜¿'ýÊïV‰Üi嘿Õ0Ïiå˜]Šð‰Û=uÝÊ} 嘈Û=wíB¿'×L-Ýï‰Û=ó1´ƒÁËߘÖ'¸™%2 `-ö³ ©/!Õšx-ˆ´ ×L'3Õš(-гÑ% ÛgÑ%×L'Ñ%×L¬±Ñ%×LŒ‘S-Ô³ -Õ³Ø�¬NšÝÊ¢´O©Õš)ýC1Õš·�£�ÞœëõýCÕšy·�ÕšQäœüí¾X  ½Ñ%©/Ñ%×Lüž‹ Ù Ï¿³µu«œz˜ÙÙ¢!Û«bŸÿÿÄ‹´œù´¥ºÅÃ(©/ª¶v³(©/,жÝÊ,€¶ à(¥(×Lª·w•(×L<‡·ÝÊ,ý¶ Â(.ä»Þ.â» Û= þŸ )3°/µ¼ ¥º"¥º6Ñ% ù±¥º¥ºSX`/ʼ /ï»ãH/æ»Á¢Á¢ÝʰÝʸ7î DN«£â°0µ¼ ¥º"¥º6Ñ%�—HMU0ʼ 0ô»æ0ñ»¿GÁ¢Á¢ÝʦÝÊ®8î EO�—ØP1ö»íó¥º ¥º!Ñ%�—4:Cïõr Å™¿G1ÿ»1€¼é©æ»�IÄÁ¢ÌÁ¢Ô¿GÛÝÊÆÝÊÏöî �—ü°2µ¼ ¥ºÑ% üh¥ºå˜: 2‚¼K2ʼ2†¼ì0Û=;Á¢CöšKÝÊ’\ƒisˆ©¼°3µ¼ ¥º(4Õš(3ˆ¼Ñ%†àÑ%×L#Ñ% ×Lw|=3Œ¼ 3�¼ðm¬NxÁ¢€´O‡ÕšÖ ÝÊáÝÊ髜¸Â€¬Õš†àÖÛâ ½Ñ%©/Ñ%×LÙ ÙÕÖ¿zi"þŸœ§¾¥º]‰"ÌõÀ¥º©/$˜Á¢Á{ü«Àw þŸÄÒÀ¯®L¸À©/ÃÀargÁNìÉÂ¥º×L$ðÂúÂ|üùÁ�¯®Ħ¯®L‡Â×L4’´I;H!¥º©/Í:Ô:¥º×LË: ½È:Ï:üÃ}$$ ;Ã$H!éŸ;¥ºdÊÃÁ¢,Àé/À;×Lq;ƒ$œÆ�;� ”  ½Ñ%©/Ñ%×L‹  Ù‡ ÛÄü«Ä0$%z\ÊÄþŸ$»Ä¥º$ 5,»ÏÑ%ÆÏ‡ü‰Ï=$¬Ï ë9,”ÏÝÊ ›Ï<èψäÌÏÛ=åÏî³,ÓψŠÚÏ:ÿω”íÏÛ=üÏî³,öÏ /DóÐÔóÐÑ% ��:,D„ÑŒüГьüºÐY$äÐ  �:,ÅÐÝÊDÌж«!Tóµ¤DÂѤÂÑÑ% ‚�:,4ÏÑ\ËÑÝÑ�ü™ÑDÛ=·ÑÀ¶, ÑˆÅ4§ÑÛ=u¶&º(W´·§DüÑ„üÑÑ% ƒ�:,<…Ò“ÒŽüâÑ1Û=ñÑÀ¶,ëÑÛ=b¶?ø¸‡l¢ÓD§Ó =ê– ÀÀUniqueÁ¿ µÃ_markerÁµ´]8"»Oÿì:®®«°¿ ”3¯f*²Û�ì:Ž  ì:žºÀü¢ÓÑ% �ì:ìD¸ÓŒ°Ó ÆÓÇÓ‘üéÒ^ýÉ–. ¦ì:ò:6$“Ó «:,ôÒÝÊDûÒ ì:m­»-Ó– ðº 6«8�Ü»ÛlöÓDûÓ ·¥ºðºÏ ­»ßEKÌöÓÑ% ‚ì:v4ˆÔ\„Ô �Ô–Ô’üÍÓIA¦ì:ò:¼Û=ëÓ˼,ÔÓˆÅ4ÛÓÛ=’ã¼ö­»?ðºH8º:}�¾ÖlµÔDºÔ ô¥ºðº  ­»EK¬µÔÑ% ƒì:v<ÃÔ ÊÔÑÔ“ü›Ô6v¦ì:ò:´Û=ªÔ˼,¤ÔÛ=ã¼ã­»iðºr-eÚÀ¶léÕ5¸œ EƒÞ%Ÿ‰b®®«°¿ ”3¯f*²Û�Ý8Ý8ArcInnerÁß8strongÁä7à8Âä7á8dataÁä71%wãÿÃxdì:Mè'Œ  黕©ºì:àüéÕÑ%Ü»DÿÕŒ÷Õ �ÖŽÖ–ü°Õ^ý–œ .á;ì:ò:DîÕý‰º8‡:ì:ò:mýüÚ—Ä9ì:ò:=¯ºý¯‡’bÐéœýÖ|ûbÏéÂE¤‰bý´'CŒíéÂe­‰b$ÚÕ ¥;,»ÕÝÊDÂÕã¼ÕÃÕŸ‰b»Â 5«7 Ü»bl½Ö_\Y»ÂÐ ÕÆÌì:©̽ÖÑ%�¾q4ÏÖ\ËÖ ÖÖÝÖ—ü”ÖIÈá;ì:ò:DÂÖć:ì:ò:-ÀÄ9ì:ò:»¸ÐéÂO³Ï鯬íé¨Û=²ÖƒÆ,›ÖˆÅ4¢ÖÛ=úã¼^Õë»Â²9º;ë�¾?lüÖ»Âw ÕÃ-sì:P¬üÖÑ%ÚÀq<Š× ‘טטüâÖ6gá;ì:ò:D�×c‡:ì:ò:Ì_Ä9ì:ò:ZWÐéÂîRÏéÂNKíéÂGÛ=ñÖƒÆ,ëÖÛ=çã¼KÕÃ?»ÂF.ÓÚÀ¤èÙÑ% ÿ`ÿ`V�a¬â`½68ŸœRtíBtƒÚiѸAÖ¸%�¯Ï“2“2 UnsafeCellÁ•2�ñ.ç–\*=°"�ø`ø`ù`Align8Áû`óë` x:B’‚£+}íBM‡Œ íB¥ùĸ'Ñ% ÔaíBÕà¸Ñ%“�”�•�Ï–�—�И�™�Gš�›�Fœ���Ü­Úݱä}LÂ)帮 긨ڙü¹Ùoùª·Ò  üýÙ(ùöå `³ ²ýè¬ßÏ 2ÒÎ)¼æ ýØ>ŒçÒÎíB1Âæ Û=áÙ€1,ÎÙ±ÍríB,ƒÚÛ=t�Ï5 šÎå�¯Ïº@ϻϫ¤³âÑ%±ÍtÎ☔�šÎ�ϽÑ%»ÏäÑ%ÝÏ¡Kžóâšü†àí›  üÈâ(•³ B� 2ÒΊ†çÒÎíB‚Û=ºà€1,§à±Í)íB,ÎâÛ=ò�ϳ¬Ò|º:­»Ï#üæê,¤æêÑ%±Í¼ûêië® šÎ íBùß®!Ñ% ÙaíBLÑ%ÝÏ)ú®9 ÿ®�ü×ê< €1 ’ë—ë›ü†ç‘ùÉ­ÇŸ Ò6³ Að®5 2ÒÎ/+çÒÎíB'€1\œçíBK±ÍJ°Ö.¬Ò ’ÈÖ=‚Ž Û='3Õš(=à�Ñ%ïšÑ%×L#n0=ä� =å�õ`¬Nk þ;u´O|ÕšÊ  Û=×­Úߢœ¯¹«ÚÕš ïšÍ>§’ Û='3Õš(>õ‘Ñ%ïšÑ%×L#n0>ù‘ >ú‘ú`¬Nk Ê<u´O|՚ʫÚÒ­ÚÚ�œª´«ÚÕšïšÈ%àá_Ñ%?…’ýH?ü‘ý°á>_¥?§’$°Ü,°Ü4=î JT@‰’ÿ@‡’ Û=°Ü&0TÌ Å™  ×L×LÜÃüŠRřǙș­É™Ê™àË™óG*¤�R{9 ‰ßüŸ"‰ß$– t$ÎÑ%¸ßØÆüŒL¸ßü¡"Û=$˜ Ñ%Û=4(AšÑ%ëMÑ% ×L!)AŸƒB¬NM ë=W´O^gœt~ëM‡4¾ ×L\Æ ×LÓ  ÿ™ÿ™LocationÁ�šfilenameÁ‰Z‚š¿‰ZƒšcolÁ‰Z„š _filenameÁ‰ZA…úÜ •LÔ -�ÆnlÐ ùFŽ"`  Ñ%!L×L2A/A,A)A&AФ"AkA åâó@ð@ì@é@æ@ã@ŽP Ñ%!L×L�¢á@ß@*AÑ%Þ@WA Ñ%íBÜ@‰A Ûät@q@ ‰¥l@s@NùEñ@`Ñ% ´[ p "U•¶B ½B Ñ%×L®B «B ¨B $¥B $¢B $ФžB $çB  åâoB lB  hB !eB "bB #_B %ŽP% Ñ%×L�¢]B #%[B %¦B "#Ñ%ZB #ÓB ! "Ñ%íBXB "C  !ÛäðA !íA  ‰¥ èA  ïA ûC «A * Å™é˜bA 3Ñ%©/A 4Ñ%×L”A &*¡A Ñ%ˆ¿@ø>3l>4%ñÚn'4¬Ú' ˜UìÚn& Å™é˜' õÚn'T‡ E‰Cˆ)³(¸)®®«°¿ ”3¯f*²Û�[( )Œêå�‰b ( ¸‰b({)Ó"+Ï$+ ˜ Ì"* Å™é˜+È"+T§ MŠQˆ% „¢ Å™ ± ³ 4ô„ÿ|€õY(,{Y), ½34úX(-X/0¯K20&àé˜X/- Å™é˜0 X/0ºX(._X41¯K71*àé˜VX4. Å™é˜1SX41; is very small - just an integer load, comparison and jump.Áù�üýPM A log request consists of a _target_, a _level_, and a _body_. A target is aÁüÎPM string which defaults to the module path of the location of the log request,ÁüŸ OL though that default may be overridden. Logger implementations typically useÁüï C@ the target to filter requests based on some user configuration.Á³ �\·  # UsageÁà �üÇ RO The basic use of the log crate is through the five logging macros: [`error!`],Áüš 30 [`warn!`], [`info!`], [`debug!`] and [`trace!`]ÁüÎ ?< where `error!` represents the highest-priority log messagesÁüŽ IF and `trace!` the lowest. The log messages are filtered by configuringÁüØ <9 the log level to exclude messages with a lower priority.Áü• IF Each of these macros accept format strings similarly to [`println!`].Áß �ã �üç " [`error!`]: ./macro.error.htmlÁüŠ  [`warn!`]: ./macro.warn.htmlÁü«  [`info!`]: ./macro.info.htmlÁüÌ" [`debug!`]: ./macro.debug.htmlÁüï" [`trace!`]: ./macro.trace.htmlÁü’IF [`println!`]: https://doc.rust-lang.org/stable/std/macro.println.htmlÁÜ�üà]Z Avoid writing expressions with side-effects in log statements. They may not be evaluated.Á¾�œÂ ## In librariesÁÖ�üÚGD Libraries should link only to the `log` crate, and use the providedÁü¢NK macros to log whatever information will be useful to downstream consumers.Áñ�„õ ### ExamplesÁ†�<Š ```Áü’.+ # #[derive(Debug)] pub struct Yak(String);ÁüÁ1. # impl Yak { fn shave(&mut self, _: u32) {} }Áüó52 # fn find_a_razor() -> Result { Ok(1) }ÁÔ© use log::{info, warn};ÁÄ�üÈ)& pub fn shave_the_yak(yak: &mut Yak) {ÁüòJG info!(target: "yak_events", "Commencing yak shaving for {yak:?}");Á½�tÁ loop {ÁüÐ" match find_a_razor() {Áôó Ok(razor) => {Áü’41 info!("Razor located: {razor}");ÁüÇ%" yak.shave(razor);ÁÔí break;ÁŒˆ }Áìš Err(err) => {Áü¸GD warn!("Unable to locate a razor: {err}, retrying");ÁŒ€ѯl’ }ÁL  }Á,ª }Á”° # fn main() {}Á<ÃÓªË�¬Ï ## In executablesÁå�üéUR Executables should choose a logging implementation and initialize it early in theÁü¿LI runtime of the program. Logging implementations will typically include aÁüŒ:7 function to do this. Any log messages generated beforeÁüÇ63 the implementation is initialized will be ignored.Áþ�ü‚A> The executable itself may use the `log` crate to log as well.ÁÄ�|È ### WarningÁØ�üÜ41 The logging system may only be initialized once.Á‘�Ì• ## Structured loggingÁ¯�ü³FC If you enable the `kv` feature you can associate structured valuesÁüúMJ with your log records. If we take the example from before, we can includeÁüÈDA some additional context besides what's in the formatted message:Á��<‘Ӫܙ # use serde::Serialize;Áüµ96 # #[derive(Debug, Serialize)] pub struct Yak(String);Áüï1œ«ü¡@= # fn find_a_razor() -> Result { Ok(1) }Áüâ" # #[cfg(feature = "kv_serde")]ÁŒ… # fn main() {ÁÔ—•¬²�ü¶)ŬüàIF info!(target: "yak_events", yak:serde; "Commencing yak shaving");Áª �t® ×­ü½ "ï­ôà š®üÿ 2/ info!(razor; "Razor located");Áü²!%€¯ÔØ!®¯Œó!ѯÜ…" Err(e) => {Áü¡"GD warn!(e:err; "Unable to locate a razor, retrying");ÁŒé"ѯlû"ï°L‰#…±,“#—±<™# # }Áü¡#'$ # #[cfg(not(feature = "kv_serde"))]Á”É#¥±<Ü#Óªä#�üè#96 See the [`kv`] module documentation for more details.Á¢$�ü¦$'$ # Available logging implementationsÁÎ$�üÒ$:7 In order to produce log output executables have to useÁü�%74 a logger implementation compatible with the facade.ÁüÅ%<9 There are many available implementations to choose from,Áü‚&+( here are some of the most popular ones:Á®&�ì²& * Simple minimal loggers:Á´Ð& * [env_logger]ÁŒç& * [colog]ÁÌù& * [simple_logger]Á¬“' * [simplelog]Áì©' * [pretty_env_logger]Á¬Ç' * [stderrlog]ÁÄÝ' * [flexi_logger]Á¼ö' * [call_logger]Á´Ž( * [std-logger]Áì¥( * [structured-logger]Á¬Ã( * [clang_log]ÁŒÙ( * [ftail]Áüë(&# * Complex configurable frameworks:Á”’) * [log4rs]Á¤¥) * [logforth]Á„º) * [fern]Á¬Ë) * [spdlog-rs]Áüá)$! * Adaptors for other facilities:Á”†* * [syslog]Á¼™* * [slog-stdlog]Áü±*" * [systemd-journal-logger]Á¼Ô* * [android_log]ÁÔì* * [win_dbg_logger]Á¬‡+ * [db_logger]ÁÄ�+ * [log-to-defmt]ÁÔ¶+ * [logcontrol-log]ÁüÑ+ * For WebAssembly binaries:Á¼ñ+ * [console_log]Áä‰, * For dynamic libraries:Áü¦,b_ * You may need to construct an FFI-safe wrapper over `log` to initialize in your librariesÁ„‰- * Utilities:Áœš- * [log_err]Á´®- * [log-reload]ÁäÅ- * [alterable_logger]Áâ-�Üæ- # Implementing a LoggerÁ‚.�ü†.PM Loggers implement the [`Log`] trait. Here's a very basic example that simplyÁü×.KH logs all messages at the [`Error`][level_link], [`Warn`][level_link] orÁü£/*' [`Info`][level_link] levels to stdout:ÁÎ/�<Ò/ÓªüÚ/'$ use log::{Record, Level, Metadata};Á‚0�Ć0 struct SimpleLogger;ÁŸ0�ü£0$! impl log::Log for SimpleLogger {ÁüÈ085 fn enabled(&self, metadata: &Metadata) -> bool {Áü�1+( metadata.level() <= Level::InfoÁL­1…±·1�ü»1(% fn log(&self, record: &Record) {Áüä10- if self.enabled(record.metadata()) {Áü•2C@ println!("{} - {}", record.level(), record.args());ÁlÙ2ï°Lç2…±ñ2�Ôõ2 fn flush(&self) {}Á,�3—±–3�”š3¥±<­3Óªµ3�ü¹3MJ Loggers are installed by calling the [`set_logger`] function. The maximumÁü‡4OL log level also needs to be adjusted via the [`set_max_level`] function. TheÁü×4MJ logging facade uses this as an optimization to improve performance of logÁü¥5IF messages at levels that are disabled. It's important to set it, as itÁüï5OL defaults to [`Off`][filter_link], so no log messages will ever be captured!Áü¿6NK In the case of our example logger, we'll want to set the maximum log levelÁüŽ7JG to [`Info`][filter_link], since we ignore any [`Debug`][level_link] orÁüÙ7MJ [`Trace`][level_link] level log messages. A logging implementation shouldÁü§8>; provide a function that wraps a call to [`set_logger`] andÁüæ8=: [`set_max_level`], handling initialization of the logger:Á¤9�<¨9Óªü°9! # use log::{Level, Metadata};ÁÔÒ9 # struct SimpleLogger;Áüí9&# # impl log::Log for SimpleLogger {Áü”:96 # fn enabled(&self, _: &Metadata) -> bool { false }ÁüÎ:)& # fn log(&self, _: &log::Record) {}ÁÔø: # fn flush(&self) {}Á<“;‰¾”›;¥±ü®;+( use log::{SetLoggerError, LevelFilter};ÁÚ;�üÞ;/, static LOGGER: SimpleLogger = SimpleLogger;ÁŽ<�ü’<1. pub fn init() -> Result<(), SetLoggerError> {ÁüÄ<  log::set_logger(&LOGGER)Áüå<<9 .map(|()| log::set_max_level(LevelFilter::Info))Á,¢=—±<¨=Óª°=�ü´=PM Implementations that adjust their configurations at runtime should take careÁü…>,) to adjust the maximum log level as well.Á²>�´¶> # Use with `alloc`ÁÍ>�üÑ>OL `set_logger` requires you to provide a `&'static Log`, which can be hard toÁü¡?DA obtain if your logger depends on some runtime configuration. TheÁüæ?OL `set_boxed_logger` function is available with the `alloc` Cargo feature. ItÁü¶@PM is identical to `set_logger` except that it takes a `Box` rather than aÁœ‡A `&'static Log`:Á›A�<ŸAÓªü§AC@ # use log::{Level, LevelFilter, Log, SetLoggerError, Metadata};ÁÔëAÿÙü†B&£Úü­B9ÓÚüçB)–ÛÔ‘CÈÛ<¬C‰¾”´C¥±üÇC # #[cfg(feature = "alloc")]ÁÌçC # extern crate alloc;Áü�DÞää¡D # use alloc::boxed::Box;Áü¾DÞäüÞD1ŒÝü�E52 log::set_boxed_logger(Box::new(SimpleLogger))ÁüÆE<ñÝ,ƒF—±<‰FÓª‘F�Ô•F # Compile time filtersÁ°F�ü´Fb_ Log levels can be statically disabled at compile time by enabling one of these Cargo features:Á—G�¬›G * `max_level_off`Á¼±G * `max_level_error`Á´ÉG * `max_level_warn`Á´àG * `max_level_info`Á¼÷G * `max_level_debug`Á¼�H * `max_level_trace`Á§H�ü«HZW Log invocations at disabled levels will be skipped and will not even be present in theÁü†I^[ resulting binary. These features control the value of the `STATIC_MAX_LEVEL` constant. TheÁüåIa^ logging macros check this value before logging a message. By default, no levels are disabled.ÁÇJ�üËJ^[ It is possible to override this level for release builds only with the following features:ÁªK�ì®K * `release_max_level_off`ÁüÌK * `release_max_level_error`ÁôìK * `release_max_level_warn`Áô‹L * `release_max_level_info`ÁüªL * `release_max_level_debug`ÁüÊL * `release_max_level_trace`ÁêL�üîLc` Libraries should avoid using the max level features because they're global and can't be changedÁ¬ÒM once they're set.ÁèM�üìM`] For example, a crate can disable trace level logs in debug builds and trace, debug, and infoÁüÍNB? level logs in release builds with the following configuration:Á�O�\”O ```tomlÁ” O [dependencies]Áü³OWT log = { version = "0.4", features = ["max_level_debug", "release_max_level_warn"] }Á<‹PӪ̓P # Crate Feature FlagsÁ­P�ü±PXU The following crate feature flags are available in addition to the filters. They areÁüŠQ$! configured in your `Cargo.toml`.Á¯Q�ü³QGD * `alloc` enables using `alloc::boxed::Box` and `set_boxed_logger`.ÁüûQ\Y * `std` enables `alloc` and allows use of the `std` crate instead of the default `core`.ÁüØR)& It also enables using `std::error`.Áü‚Sa^ * `serde` enables support for serialization and deserialization of `Level` and `LevelFilter`.ÁäS�\èSäñ”ôSøñü‡T:7 log = { version = "0.4", features = ["std", "serde"] }Á<ÂTÓªÊT�ÜÎT # Version compatibilityÁêT�üîT\Y The 0.3 and 0.4 versions of the `log` crate are almost entirely compatible. Log messagesÁüËUc` made using `log` 0.3 will forward transparently to a logger implementation using `log` 0.4. LogÁü¯Vb_ messages made using `log` 0.4 will forward to a logger implementation using `log` 0.3, but theÁü’Wa^ module path and file name information associated with the message will unfortunately be lost.ÁôW�ÜøW [`Log`]: trait.Log.htmlÁü”X! [level_link]: enum.Level.htmlÁü¶X(% [filter_link]: enum.LevelFilter.htmlÁüßX&# [`set_logger`]: fn.set_logger.htmlÁü†Y,) [`set_max_level`]: fn.set_max_level.htmlÁü³Y63 [`try_set_logger_raw`]: fn.try_set_logger_raw.htmlÁüêY85 [`shutdown_logger_raw`]: fn.shutdown_logger_raw.htmlÁü£Z:7 [env_logger]: https://docs.rs/env_logger/*/env_logger/ÁüÞZ+( [colog]: https://docs.rs/colog/*/colog/ÁüŠ[EB [simple_logger]: https://github.com/borntyping/rust-simple_loggerÁüÐ[96 [simplelog]: https://github.com/drakulix/simplelog.rsÁüŠ\OL [pretty_env_logger]: https://docs.rs/pretty_env_logger/*/pretty_env_logger/ÁüÚ\74 [stderrlog]: https://docs.rs/stderrlog/*/stderrlog/Áü’]@= [flexi_logger]: https://docs.rs/flexi_logger/*/flexi_logger/ÁüÓ]=: [call_logger]: https://docs.rs/call_logger/*/call_logger/Áü‘^:7 [std-logger]: https://docs.rs/std-logger/*/std_logger/ÁüÌ^.+ [syslog]: https://docs.rs/syslog/*/syslog/Áüû^=: [slog-stdlog]: https://docs.rs/slog-stdlog/*/slog_stdlog/Áü¹_.+ [log4rs]: https://docs.rs/log4rs/*/log4rs/Áüè_41 [logforth]: https://docs.rs/logforth/*/logforth/Áü�`(% [fern]: https://docs.rs/fern/*/fern/ÁüÆ`41 [spdlog-rs]: https://docs.rs/spdlog-rs/*/spdlog/Áüû`^[ [systemd-journal-logger]: https://docs.rs/systemd-journal-logger/*/systemd_journal_logger/ÁüÚa=: [android_log]: https://docs.rs/android_log/*/android_log/Áü˜bFC [win_dbg_logger]: https://docs.rs/win_dbg_logger/*/win_dbg_logger/Áüßb74 [db_logger]: https://docs.rs/db_logger/*/db_logger/Áü—c@= [log-to-defmt]: https://docs.rs/log-to-defmt/*/log_to_defmt/ÁüØc=: [console_log]: https://docs.rs/console_log/*/console_log/Áü–dTQ [structured-logger]: https://docs.rs/structured-logger/latest/structured_logger/ÁüëdFC [logcontrol-log]: https://docs.rs/logcontrol-log/*/logcontrol_log/Áü²e1. [log_err]: https://docs.rs/log_err/*/log_err/Áüäe:7 [log-reload]: https://docs.rs/log-reload/*/log_reload/ÁüŸfKH [alterable_logger]: https://docs.rs/alterable_logger/*/alterable_loggerÁüëf;8 [clang_log]: https://docs.rs/clang_log/latest/clang_logÁü§g/, [ftail]: https://docs.rs/ftail/latest/ftailÁüØgÑ&https://prev.rust-lang.org/favicon.icoÁ„¹h=https://prev.rust-lang.org/logos/rust-logo-128x128-blk-v2.pngÁläghttps://docs.rs/log/0.4.34Álúh !"€„…™š›œž ¢©«ÔÛù˜ª·½Ùñòö÷‰(=«)=¹9(=Ÿì'=¬Ý&=…Ý8=ÖÉ– =½}–=¾ ñ=¾, ˜ =ô ï = û =� =¡ =à=�=¢=Ñ=‚ =¦ =� ² =“�ç =Õº =×ð =ب=Ù‚=ÚÅ>È>Ë>”�}Â>Œ—~Ó«Œÿ}Ìù}Ê>D®~¾>TÔ~Ó‰|¾~¼¸~Ä>Œä~£>û~—>š>Š>�>}>€>TŸ4£”Œtí4ó)|ü¦> Ÿ ´% – Š8ß4—& �, Ÿ8ß4 & ¦8²$§$ «8´4­& ³, µ8´4¶& ¼8²$½$ Á, Ã8lvlÁÄ& Ç8²$È$ Ì, Î Ï ú , Ð8keyÁÑ& Ô8ýÕ, Ø Ù æ& Ú, Û8captureÁ<Ü& ã8ýä- ç, é ê ø ë, í8�,î& ó8²$ô- ù$ û ü% ý, ÿ € ˆ, �8â­‚& …8ý† ‰*Œ � ü  � û 8š8㕞 ¢, ¤8ã•¥% ¨8²8㕵¹, ¼8,½'Â8¿„ÄÕ8ã•ØÜ, ß8,à'å8ÈLç ð ñ ó õ , �8,‚'‡8÷l‰'–8ç˜ › ê , ­8ß4®$ ´, Æ8,Ç'Ì8÷lÎ'Û8…\Ý è é ò, ê ë ð, ì8â­í ñ$ ó8ã•…$ ˆ š › è, œ8´4�$ £, ¥8,¦'«8÷l­'º8é \¼ Ç È É$ Ê, Ì8,Í'Ò8÷lÔ'á8µã æ ç$ é û ü Ó , ý þ Ð  ÿ Ï  , € 8,� '† 8àLˆ  ‘  ’  — , “ 8¥–” $ ˜ , š 8,› '  8�\¢  ­  ®  Î  , ¯ 8¥–° , ´  µ  ¿ & ¶ , · 8ç–<¸  À   , Ä  Å  Ì , Æ 8�,Ç  Í $ Ñ  Ò 8Õ  Ø  Ù  Û 8 Ú $ Ü % ë % ý  Û! ž"8ß4Ü!& â!, ä!8ß4å!& ë!8²$ì!$ ð!8´4ò!& ø!, ú!8´4û!& �"8²$‚"$ †", ˆ"8㕉"& Œ"8²$�"$ ‘", “" ”" œ", •"8â­–"& ™"8ýš" �"* " £" ±% ¤" °%8®"8㕲" ¶", ¸"8㕹"% ¼"8Æ"8ã•É"Í", Ð"8,Ñ"'Ö"8¿„Ø"é"8ã•ì"ð", ó"8,ô"'ù"8ÈLû" „# …# ‡# ª%, •#8,–#'›#8÷l�#'ª#8ç¬# ¯# Ÿ%, Á#8ß4Â#$ È#, Ú#8,Û#'à#8÷lâ#'ï#8…\ñ# ü# ý# †$, þ# ÿ# „$, €$8â­�$ …$$ ‡$8ã•™$$ œ$ ®$ ¯$ ü$, °$8´4±$$ ·$, ¹$8,º$'¿$8÷lÁ$'Î$8é \Ð$ Û$ Ü$ Ý$$ Þ$, à$8,á$'æ$8÷lè$'õ$8µ÷$ ú$ û$$ ý$ �% �%$ ‘%%  %% ²%Ä¥kü‚cMJ Determines if a message logged at the specified level in that module willÁtÐc be logged.Áßc�üãcOL This can be used to avoid expensive computation of log message arguments ifÁü³d(% the message would be ignored anyway.ÁÜd�tàd # ExamplesÁïd�<ódÓªüûd)& use log::{debug, log_enabled, Level};Á¥e�ü©e$! # struct Data { x: u32, y: u32 }ÁüÎe96 # fn expensive_call() -> Data { Data { x: 0, y: 0 } }Áüˆf74 # let my_logger = log::__private_api::GlobalLogger;ÁüÀf# if log_enabled!(Level::Debug) {Áüäf$! let data = expensive_call();Áü‰g>; debug!("expensive debug data: {} {}", data.x, data.y);Á,Èg—±Îg�üÒg52 if log_enabled!(target: "Global", Level::Debug) {Áüˆh# let data = expensive_call();Áü¬hOL debug!(target: "Global", "expensive debug data: {} {}", data.x, data.y);Á,üh—±‚i�ü†i63 if log_enabled!(logger: my_logger, Level::Debug) {Áü½i#Á®üáiOî®,±j—±<·jÓª¿j�üÃjQN This macro accepts the same `target` and `logger` arguments as [`macro@log`].Á)|•k M ¾k ³r �l Ãl8ß4Žl& ”l, –l8ß4—l& �l8²$žl$ ¢l8´4¤l& ªl, ¬l8´4­l& ³l8²$´l$ ¸l, ºl8ã•»l& ¾l8²$¿l*Ål Èl ®m Él ­m, Ól8,Ôl'Ùl8� lÛl èl él §m8ß4êl& ðl, òl8,ól'øl8¡ dúl †m ‡m �m, ˆm8ß4‰m$ �m8´4’m& ˜m, šm8´4›m$ ¡m, £m8㕤m% ¯m êm Šn 8ß4ëm& ñm, óm8ß4ôm& úm8²$ûm$ ÿm, �n8ã•‚n& …n8²$†n*Œn �n “o �n ’o, šn8,›n' n8� l¢n ¯n °n Œo8ß4±n& ·n, ¹n8,ºn'¿n8¡ dÁn Ín În Ön, Ïn8ß4Ðn$ ×n8´4Ùn& ßn, án8,ân'çn8÷lén'ön8é \øn ƒo „o …o$ †o, ˆo8㕉o% ”o Ño ño 8´4Òo& Øo, Úo8´4Ûo& áo8²$âo$ æo, èo8ã•éo& ìo8²$ío*óo öo èp ÷o çp, �p8,‚p'‡p8� l‰p –p —p áp8ß4˜p& žp,  p8,¡p'¦p8¡ d¨p ´p µp Ép8__log_global_loggerÁœ¶p$ Êp8´4Ìp& Òp, Ôp8´4Õp$ Ûp, Ýp8ã•Þp% ép ‘q ›q, ’q8ã•“q& –q8²$—q*�q  q °r ¡q ¯r, «q8,¬q'±q8� l³q Àq Áq ©r8ß4Âq& Èq, Êq8,Ëq'Ðq8¡ dÒq Þq ßq óq8ªºœàq$ ôq8´4öq& üq, þq8,ÿq'„r8÷l†r'“r8é \•r  r ¡r ¢r$ £r, ¥r8㕦r% ±rÔÕrt¶r4¼r)|ÅraS ðr ´u ¿s õs8ß4Às& Æs, Ès8ß4És& Ïs8²$Ðs$ Ôs8´4Ös& Üs, Þs8´4ßs& ås8²$æs$ ês, ìs8ã•ís& ðs8²$ñs*÷s ús ±u ûs °u8…t8㕉t �t, �t8ã•�t% “t8ã•�t¡t, ¤t8,¥t'ªt8¿„¬tÉt8ã•ÌtÐt, Ót8,Ôt'Ùt8ÈLÛt ät åtót, öt8,÷t'üt8÷lþt'‹u8Ø<�u ”u ªu, •u8ß4–u$ œu8㕞u$ ¡u, £u8´4¤u% ²u̧vtˆv4Žv)|—vœU Áv Ìw Çv Ûv8ªºœÈv*Ýv àv ”w áv “w, ëv8,ìv'ñv8÷lóv'€w8Î#d‚w% •w œw ©w, �w8ß4žw& ¤w8²$¥w*«w ®w Éw ¯w Èw ¹w ºw Âw, »w8ß4¼w% Êw´Ä|Óõt²|„±|ܨ|t‰|4�|)|˜|ÒV Û| Ë} á| î|, â| ã| ì|, ä|8Ç$å|& é|8ýê| í|*ð| ó| È}8¯lý| Š} ‹} Â}74key value support requires the `kv` feature of `log`ÁüŒ}6% É}Ä܇Óõtʇ„ɇÜÀ‡t¡‡4§‡)|°‡áW õ‡ åˆ û‡ ˆˆ, ü‡ ý‡ †ˆ, þ‡8Ç$ÿ‡& ƒˆ8ý„ˆ ‡ˆ*Šˆ �ˆ âˆ8¯l—ˆ ¤ˆ ¥ˆ ܈7½Æü¦ˆ6% ãˆìØŠÓ¿œÁЬÀŠü·Š t˜Š4žŠ)|§ŠÒX öŠ ù‹ üŠ ‡‹, ýŠ8Ç$þŠ& ‚‹8²$ƒ‹*‰‹ Œ‹ ö‹8¯l–‹ £‹ ¤‹ ð‹7Icapturing values as `sval::Value` requires the `kv_sval` feature of `log`Áü¥‹K% ÷‹ôð�Óï¤Ø�´×�üÎ�!t¯�4µ�)|¾�ìY �Ž ®� •Ž  Ž, –Ž8Ç$—Ž& ›Ž8²$œŽ*¢Ž ¥Ž «�8¯l¯Ž ¼Ž ½Ž ¥�7Ocapturing values as `serde::Serialize` requires the `kv_serde` feature of `log`ÁüËŽQ% ¬�ô ‘Ó  ”Š‘¤‰‘ü€‘tá�4ç�)|ð� [ ¿‘ Ý’ Å‘ Б, Æ‘8Ç$Ç‘& Ë‘8²$Ì‘*Ò‘ Õ‘ Ú’8¯lß‘ ì‘ í‘ Ô’7Ncapturing values as `std::error::Error` requires the `kv_std` feature of `log`Áüû‘P% Û’Œ�€½í ÌáüÛ!ú[½í  \ú[½í ,* \Ü�‡4¨‡ €Ã"#ÿÿÌȇ,χ³ÍÃÔʉlЉíBÌê‰dð‰íBĉŠ\�ŠíBü¨Š(¤¯Š³ÍÃüéŠ!|ðŠ íB`$% &0'@(P)` ˆ‹íBì‹„É‹æÓJ*ÿÿôÓŒŒÚŒæÓF+ÿÿüä–%©/$ù±$üž—)¡—‘’ ‘©/ ’€1Bÿ# ¤—# $$¥—î \)üý—&©/&±²&ü¸˜C\»˜“” “©/ ”€1�IBÿ% ǘ% &$Șî Š*´¾™©/()¾}¿})DÛ™à™''Ê<üû™4Dþ™• •ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw©/¾}©/Bÿ' Žš' )º,‡šÜËœ©/+¥g+üíœ6𜖗˜ –©/ —€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡˜¬NBÿ* ôœ* +$õœñûœTÎ�©/-./0145üß�(Tâ�íB–WBÿ,,�†«r,¬½ üÿŸ+( Returns the most verbose logging level.ÁÄ ©/Bÿ,, .üÁ¡,üõ 96 Converts the `Level` to the equivalent `LevelFilter`.Á|È¡™ ™©/€1Bÿ, Ø¡, /$Ù¡üÁ£$ü´¢52 Returns the string representation of the `Level`.Áî¢�üö¢FC This returns the same string as the `fmt::Display` implementation.Á4È£š š©/æÓBÿ, Ï£, 0$Уü¢§+ü›¤1. Iterate through all supported logging levels.ÁѤ�üÙ¤KH The order of iteration is from more severe to less severe log messages.Á©¥�t±¥¤ªÄ¥�<Ì¥ÓªœØ¥ use log::Level;Áð¥�üø¥# let mut levels = Level::iter();Á ¦�ü¨¦2/ assert_eq!(Some(Level::Error), levels.next());Áüߦ2/ assert_eq!(Some(Level::Trace), levels.last());Á<–§Óª$©§2Bÿ,, 1ÐZ³§11ÂbþÆŸä!ÄQŸä¬¸§ÅQŸä©/\Á§ÌäLÛä#ìä1ã§1�3�3�331½cüЬ(ü�¨/, Get the next-highest `Level` from this one.ÁĨ�ų̈`] If the current `Level` is at the highest level, the returned `Level` will be the same as theÁ„±© current one.ÁÆ©�tΩ¤ªá©�<é©Óªœõ©¡á�ª�䕪 let level = Level::Info;Á¶ª�ü¾ª96 assert_eq!(Level::Debug, level.increment_severity());ÁüüªNK assert_eq!(Level::Trace, level.increment_severity().increment_severity());ÁüÏ«pm assert_eq!(Level::Trace, level.increment_severity().increment_severity().increment_severity()); // max levelÁ<ĬÓª”׬› ›©/©/Bÿ, ê¬, 4$ë¬ü ²(üã­.+ Get the next-lowest `Level` from this one.Á–®�üž®_\ If the current `Level` is at the lowest level, the returned `Level` will be the same as theÁ„‚¯ æ—¯�tŸ¯¤ª²¯�<º¯ÓªœÆ¯¡áÞ¯�保‹ç‡°�ü�°85 assert_eq!(Level::Warn, level.decrement_severity());Áṵ̈NK assert_eq!(Level::Error, level.decrement_severity().decrement_severity());ÁüŸ±pm assert_eq!(Level::Error, level.decrement_severity().decrement_severity().decrement_severity()); // min levelÁ<”²Óª”§²œ œ©/©/Bÿ, º², 5$»²üâ¹%€17ù±7üœº#Ÿºª« ª€1 «©/Bÿ6 ¢º6 7$£ºî ß>üâº&€19±²9ü�»=\ »¬­ ¬€1 ­©/�IBÿ8 ¬»8 9$­»î @ä�¼€1;<¾}¿}<DÀ¼ż::Ê<üà¼:Dã¼® ®ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw€1¾}€1Bÿ: ó¼: <º,ì¼ü¼¿!€1>¥g>üä¿6翯°± ¯€1 °€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡±¬NBÿ= ë¿= >$ì¿ñò¿„ÅÀ€1@ABCDGHüÜÀ.TßÀíB‚\Bÿ?? @«ÃAÜŽÄüÉÃ2/ Returns the most verbose logging level filter.Á•Ä€1Bÿ?? AüÓÅ'üÒÄ.+ Converts `self` to the equivalent `Level`.Á…Å�ü�Å30 Returns `None` if `self` is `LevelFilter::Off`.ÁDÚŲ ²€1–WBÿ? ãÅ? B$äÅüÅÇ$ü²Æ;8 Returns the string representation of the `LevelFilter`.ÁòÆ�üúÆF§Þ4Ìdz ³€1æÓBÿ? ÓÇ? C$ÔÇüµË+üŸÈ30 Iterate through all supported filtering levels.Á×È�üßÈB? The order of iteration is from less to more verbose filtering.Á¦É�t®É¤ªÁÉ�<ÉÉÓªÌÕÉ use log::LevelFilter;ÁóÉ�üûÉ)& let mut levels = LevelFilter::iter();Á©Ê�ü±Ê63 assert_eq!(Some(LevelFilter::Off), levels.next());ÁüìÊ85 assert_eq!(Some(LevelFilter::Trace), levels.last());Á<©ËÓª$¼ËEBÿ?? DÐbÆËDD¦‰þÆæþ"ÄQæþ¬ËËÅQæþ€1\ÔË”ÿM£ÿ#´ÿDöËD�F�F�FFDæ‰ü¯Ñ(ü£Ì52 Get the next-highest `LevelFilter` from this one.ÁÝÌ�üåÌ`] If the current `LevelFilter` is at the highest level, the returned `LevelFilter` will be theÁäÊÍ same as the current one.ÁëÍ�tóͤª†Î�<ŽÎӪ̚ÎÒû¸Î�üÀÎ)& let level_filter = LevelFilter::Info;ÁîÎ�üöÎFC assert_eq!(LevelFilter::Debug, level_filter.increment_severity());ÁüÁÏ[X assert_eq!(LevelFilter::Trace, level_filter.increment_severity().increment_severity());Áü¡Ð}z assert_eq!(LevelFilter::Trace, level_filter.increment_severity().increment_severity().increment_severity()); // max levelÁ<£ÑÓª”¶Ñ´ ´€1€1Bÿ? ÉÑ? G$ÊÑüÑØ(üÂÒ41 Get the next-lowest `LevelFilter` from this one.ÁûÒ�üƒÓ_\ If the current `LevelFilter` is at the lowest level, the returned `LevelFilter` will be theÁäçÓÔ�t�Ô¤ª£Ô�<«ÔӪ̷ÔÒûÕÔ�üÝÔ)ç�‹Õ�ü“ÕEB assert_eq!(LevelFilter::Warn, level_filter.decrement_severity());ÁüÝÕ[X assert_eq!(LevelFilter::Error, level_filter.decrement_severity().decrement_severity());Áü½Önk assert_eq!(LevelFilter::Off, level_filter.decrement_severity().decrement_severity().decrement_severity());Áü°×�� assert_eq!(LevelFilter::Off, level_filter.decrement_severity().decrement_severity().decrement_severity().decrement_severity()); // min levelÁ<ÅØÓª”ØØµ µ€1€1Bÿ? ëØ? H$ìØÜÜÚÁJJ½3KáÚÄŒÛ�Ûº º½3Â=BÿI “ÛI KÁ$”ÛôªÜ8»»´4üÍÜ%8¼¼´4Nù±NüùÜ"üܽ¾ ½´4 ¾´4BÿM ÿÜM N8$€Ýî TüÉÝ8¿¿´4PîPüïÝ2òÝÀÁ À´4 Á´4¿GBÿO öÝO P8$÷Ýî äYüÑÞ&8´4R±²RüþÞB\�ßÃÄ Ã´4 Ä´4�IBÿQ �ßQ R8$Žßî ,”ßüêß+8ÅÅ´4TühTüœà3$ŸàÆÇ Æ´4 Ç·Û=BÿS„UU ºàSþÆ· ¤àƒi·Œ§à T8·$»àƒ0\24œ§òÁWW¼5XYZ[\]_`bc¬òüîò%ÔÁò Returns a new builder.Á<õò¬6BÿVV XÁüæó)¬¾ó The message body.Á$íóÌ Ì¼5 ̉¥‰¥Ùº‹¥ìºûcŒ¥Çûcg‡@#éó ÁBÿV òóV YÁ$óóüèô'ü°ô%" Metadata about the log directive.ÁDïôÍ Í¼5 ÍŸ7BÿV øôV ZÁ$ùôäîõü´õ'$ The verbosity level of the message.Á,õõΠμ5©/BÿV ûõV [Á$üõüõöü¶ö,) The name of the target of the directive.Á4üöÏ Ï¼5Â=BÿV ƒ÷V \Á$„÷ü÷÷,üÁ÷# The module path of the message.Á\þ÷Рм5řǙș­É™Ê™àË™óG*¤�R{9 Â=BÿV ŠøV ]Á$‹øÃø]�^�^�^^]ÅÑü®ù8üÛø@= The module path of the message, if it is a `'static` string.Á”µùÑ Ñ¼5řǙș­É™Ê™àË™óG*¤�R{9 æÓBÿV ÈùV _Á$Éùü¬û%üîú+( The source file containing the message.Á$³ûÒ Ò¼5ØšBÿV ¸ûV `Á$¹ûêû`�a�a�aa`ÉØüÝü1ü‚üHE The source file containing the message, if it is a `'static` string.Á\äüÓ Ó¼5Œ�BÿV ðüV bÁ$ñüüÆþ!ü�þ$! The line containing the message.Á$ÍþÔ Ô¼5ˆ¿BÿV ÒþV cÁ$ÓþÔŽ�Áee¬6fghijklmnop“�üñ“!ü¯�" Construct new `RecordBuilder`.ÁÖ��äÞ� The default options are:Áÿ��ü‡‘" - `args`: [`format_args!("")`]Áü®‘1. - `metadata`: [`Metadata::builder().build()`]ÁÜä‘ - `module_path`: `None`Á¤„’ - `file`: `None`Á¤�’ - `line`: `None`Á¶’�ü¾’NK [`format_args!("")`]: https://doc.rust-lang.org/std/macro.format_args.htmlÁü‘“MJ [`Metadata::builder().build()`]: struct.MetadataBuilder.html#method.buildÁø“¬6Bÿdd fÁüÙ—Jü•—1. Set [`args`](struct.Record.html#method.args).Á$à—Ø ج6ؕާBÿd å—d gÁ$ê—Ç%uü€šLüߘŽ‹ Set [`metadata`](struct.Record.html#method.metadata). Construct a `Metadata` object with [`MetadataBuilder`](struct.MetadataBuilder.html).ÁD‡šÙ Ù¬6Ÿ7ß©Bÿd �šd hÁ$•š«»uüâ›?ü�›?< Set [`Metadata::level`](struct.Metadata.html#method.level).Á,é›Ú Ú¬6©/Ž«Bÿd ï›d iÁ$ô›ºTvü»�Cüèœ@= Set [`Metadata::target`](struct.Metadata.html#method.target)Á4Â�Û Û¬6Â=¾¬Bÿd É�d jÁ$Î�´ívü˜ŸNüÇž>; Set [`module_path`](struct.Record.html#method.module_path)Á\ŸŸÜ ܬ6Øšì­Bÿd «Ÿd kÁ$°Ÿª Ýwü®¡ZüÇ TQ Set [`module_path`](struct.Record.html#method.module_path) to a `'static` stringÁ”µ¡Ý ݬ6Œ�±¯Bÿd È¡d lÁ$Í¡ª Ûxüª£Güç¢0- Set [`file`](struct.Record.html#method.file)Á$±£Þ Þ¬6ØšÒ°Bÿd ¶£d mÁ$»£åÈyü¥¥SüˤGD Set [`file`](struct.Record.html#method.file) to a `'static` string.Á\¬¥ß ߬6Œ�вBÿd ¸¥d nÁ$½¥åµzü“§CüЦ0- Set [`line`](struct.Record.html#method.line)Á$š§à à¬6ˆ¿«³Bÿd Ÿ§d oÁ$¤§¿W{üÖª!ü—ª,) Invoke the builder and return a `Record`Á,ݪá á¬6¼5Bÿd ãªd pÁ$äªüŸ«"8ââæ6r÷r¤È«<Ë«æ6Bÿqq r8¬œ´ÁttŸ7uvw¡´üå´'Ô¸´¬“<ì´³8Bÿss uÁäóµü¹µ'é–,úµð ðŸ7©/Bÿs €¶s vÁ$�¶üï¶ü°¶,ö—4ö¶ñ ñŸ7Â=Bÿs ý¶s wÁ$þ¶äмÁyy³8z{|}Õ¼ü—¾#üó¼&# Construct a new `MetadataBuilder`.Áž½�䦽“¢ǽ�äϽ - `level`: `Level::Info`Á¤ð½ - `target`: `""`Áž¾³8Bÿxx zÁü«À?üÜ¿<9 Setter for [`level`](struct.Metadata.html#method.level).Á,²Àþ þ³8©/›»Bÿx ¸Àx {Á$½Àâ­Ë–üùÁEü¨Á>; Setter for [`target`](struct.Metadata.html#method.target).Á4€Âÿ ÿ³8Â=ʼBÿx ‡Âx |Á$ŒÂ´a—ü³Ã#ü€Ã  Returns a `Metadata` object.Á,ºÃ€ €³8Ÿ7Bÿx ÀÃx }Á$ÁÃü€Ä$8��²9÷¤«Ä<®Ä²9Bÿ~~ 8ÔžÅüßÄ>; A trait encapsulating the operations required of a logger.Á¨Å€€ÿÆüžÅ“ ÿ å¿$­ÅýÆå¿$´Å€Ý¿@ò¿3ƒÀ'Ý¿Rò¿EƒÀ9�‚ƒ�‚ƒ�ƒ‚üåÉ/ü¿ÅDA Determines if a log message with the specified metadata would beÁ\ˆÆ logged.Á˜Æ�ü ÆFC This is used by the `log_enabled!` macro to allow callers to avoidÁüëÆJG expensive computation of log message arguments if the message would beÁ¬ºÇ discarded anyway.ÁÔÇ�´ÜÇ # For implementorsÁ÷Ç�üÿÇ@= This method isn't called automatically by the `log!` macros.ÁüÄÈPM It's up to an implementation of the `Log` trait to call `enabled` in its ownÁü™ÉGD `log` method implementation to guarantee that filtering is applied.Á<èÉ‚ƒ„ ‚å¿ ƒ½½Û¿ºÀ´€Ã» ª& Ú„Bÿ€ ðÉ€ �å¿$ñÉ«D÷ÉüˆÌ´šÊ Logs the `Record`.ÁµÊ�´½ÊºÂØÊ�üàÊGD Note that `enabled` is *not* necessarily called before this method.Áü¬ËC@ Implementations of `log` should perform all necessary filteringÁ|ôË internally.Á‹Ì…†‡ …å¿ †ªª¸¬«­Ç®é ¯å°¿öëêìáææ+‡Û=Bÿ€ �Ì€ ‚å¿$�̺4–Ì„ŸÎü­Ì! Flushes any buffered records.ÁÓÌ�´Û̺ÂöÌ�üþÌ@èÂüÃÍWT It can be called manually on shut-down to ensure any in-flight records are flushed.Á,¢Îˆ ˆå¿Û=Bÿ€ ¨Î€ ƒå¿$©Î„ÙÎLàÎë90£Ü"ÝÇ…/*„„ë9´ìÎë9‡ˆ‰�‚ƒ‡ˆ‰ü‰Ï'<ŒÏ‰Š‹ ‰ë9 н½Û¿ºÀ´€Ã» ª& Ú‹Bÿ† ”φ ‡$•Ï™ÌÌÏÏÏŒ�Ž Œë9 �ªª¸¬«­Ç®é ¯å°¿öëêìáææ+ŽÛ=Bÿ† Óφ ˆ$ÔÏÜ™|íÏ,ðÏ� �ë9Û=Bÿ† öφ ‰$÷ÏüƒÐ08��‹‹�ÿÆ�:4¦Ð€�:¯Ð˜:Œ�Ž�‚ƒŒŽ� ˆÐüºÐ.<½Ð‘’“ ‘˜: ’½½Û¿ºÀ´€Ã» ª& Ú“BÿŠ ÅЊ Œ8�:$ÆÐ«Ôšô™ÑœÑ”•– ”˜: •ªª¸¬«­Ç®é ¯å°¿öëêìáææ+–Û=BÿŠ  ÑŠ �8�:$¡Ñº‘›|âÑ,åÑ— —˜:Û=BÿŠ ëÑŠ Ž8�:$ìÑü±Ò1Ó«Œ�ÒÌ—Ò���ÿÆì:4ÕÒ€ì:ÞÒ«:‘’“�‚ƒ“‘’ ¶ÒüéÒ.<ìÒ˜™š ˜«: ™½½Û¿ºÀ´€Ã» ª& ÚšBÿ� ôÒ� ‘ì:$õÒ«Ü�ôÍÓÐÓ›œ� ›«: œªª¸¬«­Ç®é ¯å°¿öëêìáææ+�Û=Bÿ� ÔÓ� ’ì:$ÕÓºŸ|›Ô,žÔž ž«:Û=Bÿ� ¤Ô� “ì:$¥ÔüíÔ<Ó‰|ÛÔ¼ÕÔ�••“×4œÕ¤×¥Õ¥;–—˜�‚ƒ–—˜ òÔü°Õ.<³ÕŸ ¡ Ÿ¥;  ½½Û¿ºÀ´€Ã» ª& Ú¡Bÿ” »Õ” –ì:$¼Õ«”¢ô”Ö—Ö¢£¤ ¢¥; £ªª¸¬«­Ç®é ¯å°¿öëêìáææ+¤Û=Bÿ” ›Ö” —ì:$œÖº8¤|âÖ,åÖ¥ ¥¥;Û=Bÿ” ëÖ” ˜ì:$ìÖü¹Ù(üœ×&# Sets the global maximum log level.ÁÃ×�üÇ×OL Generally, this should only be called by the active logging implementation.Á—Ø�ü›Øqn Note that `Trace` is the maximum level, because it provides the maximum amount of detail in the emitted logs.Á½í Ì�Ùü—Ù!lÀÙ€1Û=Bÿ ™º�¨ü†à4üªÚ1. A thread-unsafe version of [`set_max_level`].ÁÜÚ�üàÚLI This function is available on all platforms, even those that do not haveÁü­Û<9 support for atomics that is needed by [`set_max_level`].ÁêÛ�üîÛ?< In almost all cases, [`set_max_level`] should be preferred.Á®Ü�d²Ü # SafetyÁ¿Ü�üÃÜIF This function is only safe to call when it cannot race with any otherÁü�Ý52 calls to `set_max_level` or `set_max_level_racy`.ÁÃÝ�üÇÝMJ This can be upheld by (for example) making sure that **there are no otherÁü•ÞB? threads**, and (on embedded) that **interrupts are disabled**.ÁØÞ�üÜÞJG It is safe to use all other logging functions while this function runsÁü§ß# (including all logging macros).ÁËß�üÏß,»ý””à€1Û=ÿ šºÿ©ü†ç!üõâ*' Returns the current maximum log level.Á ã�ü¤ã[X The [`log!`], [`error!`], [`warn!`], [`info!`], [`debug!`], and [`trace!`] macros checkÁü€äLI this value and discard any message logged at a higher level. The maximumÁüÍä74 log level is set by the [`set_max_level`] function.Á…å�ä‰å [`log!`]: macro.log.htmlÁü¦å  [`error!`]: macro.error.htmlÁôÇå [`warn!`]: macro.warn.htmlÁôæå [`info!`]: macro.info.htmlÁü…æ  [`debug!`]: macro.debug.htmlÁü¦æ  [`trace!`]: macro.trace.htmlÁüÇæ,»ýL�ç€1Bÿ ›üÚîKü™ë+( Sets the global logger to a `Box`.ÁÅë�üÉëIF This is a simple convenience wrapper over `set_logger`, which takes aÁü“ìFC `Box` rather than a `&'static Log`. See the documentation forÁüÚì$! [`set_logger`] for more details.Áÿì�üƒí! Requires the `alloc` feature.Á¥í�d©í # ErrorsÁ¶í�üºí:7 An error is returned if a logger has already been set.Áõí�üùí&‹ýÓ«Œªî½í ̽îü©î.ü î9„á ¹9£ó‹¤ô‹ljô²ßk#÷Ñò:ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ=þ;Bÿ œß4òî½ïœ�������œ�Û= €UÿŸŸ ¹9£ó‹¤ô‹ljô²ßk#ûõò:ü–üIüÖï/, Sets the global logger to a `&'static Log`.Á†ð�üŠðOL This function may only be called once in the lifetime of a program. Any logÁüÚðPM events that occur before the call to `set_logger` completes will be ignored.Á«ñ�ü¯ñGD This function does not typically need to be called manually. LoggerÁü÷ñMJ implementations should provide an initialization method that installs theÁ´Åò logger internally.ÁÜò�”àò # AvailabilityÁóò�ü÷òNK This method is available even when the `std` feature is disabled. However,ÁüÆóLI it is currently unavailable on `thumbv6` targets, which lack support forÁü“ôIF some atomic operations which are used by this function. Even on thoseÁüÝô30 targets, [`set_logger_racy`] will be available.Á‘õ�d•õ¯ñ¢õ�ü¦õ:Óñáõ�tåõ¤ªôõ�<øõÓªü€öGD use log::{error, info, warn, Record, Level, Metadata, LevelFilter};ÁÈö�üÌö*' static MY_LOGGER: MyLogger = MyLogger;Á÷ö�¤ûö struct MyLogger;Á�÷�ü”÷  impl log::Log for MyLogger {Áüµ÷8¦Ïüî÷+èÏLšø…±¤ø�ü¨ø(¶ÐüÑø0èÐü‚ùC¢ÑlÆùï°LÔù…±ÔÞù”Ò,ùù—±ÿù�„ƒú # fn main(){Áü”ú)& log::set_logger(&MY_LOGGER).unwrap();Áü¾ú*' log::set_max_level(LevelFilter::Info);Áéú�¼íú info!("hello log");Á¬…û warn!("warning");Áœ›û error!("oops");Á<¯û‰¾<·ûÓª¿û�üÃû0- [`set_logger_racy`]: fn.set_logger_racy.htmlÁ½í Ìúûüôû!T�üõѳôBÿ žß4¨ü÷üž�Ÿ�Ÿ�ŸŸžŸôõùõü§ýo½í Ì‹ýü…ý!„ªý‚³ôBÿ‚¡¡þÆç… »ý‹#ç…Û=äùý�#ç…Û=õÑ„…þ  ç… make_loggerÁ\¾ýNPü“ˆUüÚ‚.+ A thread-unsafe version of [`set_logger`].Á‰ƒ�ü�ƒLùâüÚƒ96 support for atomics that is needed by [`set_logger`].Á”„�ü˜„<9 In almost all cases, [`set_logger`] should be preferred.ÁÕ„�dÙ„úäæ„�üê„Ižåü´…/, calls to `set_logger` or `set_logger_racy`.Áä…�üè…M¿æü¶†B—çù†�üý†FC It is safe to use other logging functions while this function runsÁüć#Æèè‡�üì‡&‹ý|¡ˆõѳôÿ ¢ß4±ˆüˆŽ$þ;¤¥g¤ü³Ž6¶Ž©ª« ©þ; ª€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡«¬NBÿ£ ºŽ£ ¤$»ŽñÁŽüä�$Ó‰|Ò�¼Ì�þ;ü­’%Ê<§¥g§üÙ’6Ü’²³´ ²Ê< ³€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡´¬NBÿ¦ à’¦ §$á’ñç’ü‹”%Ó‰|ù“¼ó“Ê<ü¦•#üµ”&# Returns a reference to the logger.ÁÜ”�üà”EB If a logger has not been set, a no-op implementation is returned.Á4­•õÑBÿ ©¬å™ì™ë9€¬°›ü\Y WARNING: this is not part of the crate's public API and is subject to change at any timeÁt¡›4§›l¸›¹»½ËÍÑÓ€�ƒp¾«¬ß4� ©«®Ž,‰Û«¯Í�€«°ÛD•½«±¸4Ÿª«²ÙºL¶‰¥«³€âDÑÿ™«´…\éž¶é \ö«·�Lƒ¨¸Œbä,yÕ×ÄÆ³µ¢¤‘“œ¬ƒ¤ÅrãbdSUDF„¬Óõtš„™Ü�µÁººÂ=¹”äÓõtÒ„ÑÜÈ,íÁ¼¼Â=óTƒ4‡«¾Œ¹Ã¾Á¿¿¾Ý¿ü¹h¾Ý¿Ý¿!ÀÀÀÇüÕFDØå¿Å™Ç™È™­É™Ê™àË™óG*¤�R{9  Á  ÁЗBÿ¾¾ Àå¿Á$áüÆ/Á¹=ÃÀÃËüŠ7D�¹=řǙș­É™Ê™àË™óG*¤�R{9 ¹=BÿÁÁ ÃÁŒ¯¼àÁÅÅÛ=ÆÀÆåüŒ7D�Û=Õ˜BÿÄÄ ÆÁó¯Ì¼ë=ÈÉÊ�‚ƒÉÊÈüÜ.<߸¹º ¸ë= ¹½½Û¿ºÀ´€Ã» ª& ÚºBÿÇ çÇ È$è«Dîô»¾»¼½ »ë= ¼ªª¸¬«­Ç®é ¯å°¿öëêìáææ+½Û=BÿÇ ÂÇ É$ú4É|„ ,‡ ¾ ¾ë=Û=BÿÇ � Ç Ê$Ž üí ¹Dð «¿ÀÁÂÃÄÅÍð‰¥‰¥Ùº‹¥ìºûcŒ¥Çûcg‡@#éó ¿©/ À ÁæÓ ÿ™ÿ™€â�š’â‰Z‚š¿‰Zƒš´â‰Z„šÄâ‰ZA…úÜ •ÂřǙș­É™Ê™àË™óG*¤�R{9  à  Ä ÅÛ=BÿˆÌÌL› þÆÍð ù €Íðü  ËÍðß"¼Ç,¼º5¼ üR¼;=ü•ÅœÆÇÈÉÔ€‰¥‰¥Ùº‹¥ìºûcŒ¥Çûcg‡@#éó Æ©/ Ç ÈæÓ ÿ™ÿ™€â�š’â‰Z‚š¿‰Zƒš´â‰Z„šÄâ‰ZA…úÜ •É�€Û=BÿÁ·ψÐÎÏÐLÄþÆ�€ ¤þÆÔ€ §¾�€Á<Æ€Ô€Ö ÍÁ�€Ô€ßiÀÇsÀº|ÀÙ�†À ü�À y{uwüÝE<äÊÍð©/ ÊBÿˆÒÒ •Ñ¡ ìâ¡ï ÑÍðß�º™Â´¢Â*,ü…*¶|õŒ€ ÿ™ÿ™€â�š’â‰Z‚š¿‰Zƒš´â‰Z„šÄâ‰ZA…úÜ •Bÿ Óüž'üÈ›.+ The statically resolved maximum log level.Á÷›�üû›OL See the crate level documentation for information on how to configure this.ÁËœ�üÏœPM This value is checked by the log macros, but not by the `Log`ger returned byÁü �MJ the [`logger`] function. Code that manually calls functions on that valueÁüî�0- should compare the level against this value.ÁŸž�ô£ž [`logger`]: fn.logger.htmlÁ„Ìž€1„�üØ The standard logging macro.Áø�üüLI This macro will generically log with the specified `Level` and `format!`ÁÄÉ based argument list.Áâ�<æÓªÔî use log::{log, Level};Á‰�ü�! let data = (42, "Forty-two");Áü¯! let private_data = "private";ÁÑ�üÕB? log!(Level::Error, "Received errors: {}, {}", data.0, data.1);Á<˜Óª �ü¤OL Optionally, you can specify a `target` argument to attach a specific targetÁüôOL to the log record. By default, the target is the module path of the caller.ÁÄ�<ÈÓªÔÐç¬ë�üï!—­ü‘!­³�L· log!(ÁìÁ target: "app_events",Á¬ß Level::Error,Áüõ" "Received errors: {}, {}",Á´˜  data.0, data.1Á4¯  );Á<¶ Óª¾ �ü PM And optionally, you can specify a `logger` argument to use a specific loggerÁü“ )& instead of the default global logger.Á½ �<Á ÓªÄÉ  # struct MyLogger {}Áìâ  # impl Log for MyLogger {Áü€ @= # fn enabled(&self, _metadata: &log::Metadata) -> bool {ÁœÁ  # falseÁ\Õ  # }Áüá 1. # fn log(&self, _record: &log::Record) {}Áä“  # fn flush(&self) {}Á<° ‰¾ü¸  use log::{log, Level, Log};ÁØ �üÜ !—­üþ !­  �ü¤  let my_logger = MyLogger {};ÁLÅ é°ÔÏ  logger: my_logger,Á¬ê ¡±ü€"À±´£ë±4ºв<ÁÓªÉ�üÍTQ The `logger` argument accepts a value that implements the `Log` trait. The valueÁü¢&# will be borrowed within the macro.ÁÉ�üÍUR Note that the global level set via Cargo features or through `set_max_level` willÁü£RO still apply, even when a custom logger is supplied with the `logger` argument.ÁŒ…œˆ´†)|öSÌ ® ê ‹ Î8ß4Œ& ’, ”8ß4•& ›8²$œ$  8´4¢& ¨, ª8´4«& ±8²$²$ ¶, ¸8㕹& ¼8²$½$ Á, Ã Ä Ì, Å8â­Æ& É8ýÊ Í*Ð Ó õ Ô ô, Þ8,ß'ä8ï ,æ ë ì î8ß4ú& €, ‚8,ƒ'ˆ8¡ dŠ – — Ÿ, ˜8ß4™$  8´4®& ´, ¶8´4·$ ½, Ë8ã•Ì$ Ï, Ý Þ ã, ß8â­à ä% ö ¸ å8ß4¹& ¿, Á8ß4Â& È8²$É$ Í, Ï8ã•Ð& Ó8²$Ô$ Ø, Ú Û ã, Ü8â­Ý& à8ýá ä*ç ê ª ë ©, õ8,ö'û8ï ,ý ‚ ƒ £8ß4‘& —, ™8,š'Ÿ8¡ d¡ ­ ® ¶, ¯8ß4°$ ·8´4Å& Ë, Í8,Î'Ó8÷lÕ'â8é \ä ï ð ñ$ ò, €8ã•�$ „, ’ “ ˜, ”8â­• ™% « ï œ8´4ð& ö, ø8´4ù& ÿ8²$€$ „, †8㕇& Š8²$‹$ �, ‘ ’ š, “8â­”& —8ý˜ ›*ž ¡ Ï ¢ Î, ¬8,­'²8ï ,´ ¹ º È8ß4È& Î, Ð8,Ñ'Ö8¡ dØ ä å ù8ªºœæ$ ú8´4ˆ& Ž, �8´4‘$ —, ¥8㕦$ ©, · ¸ ½, ¹8â­º ¾% Ð ÿ –, €8ã•�& „8²$…$ ‰, ‹ Œ ”, �8â­Ž& ‘8ý’ •*˜ › ç œ æ, ¦8,§'¬8ï ,® ³ ´ à8ß4Â& È, Ê8,Ë'Ð8¡ dÒ Þ ß ó8ªºœà$ ô8´4‚& ˆ, Š8,‹'�8÷l’'Ÿ8é \¡ ¬ ­ ®$ ¯, ½8㕾$ Á, Ï Ð Õ, Ñ8â­Ò Ö% è”ñ(ü·%&# Logs a message at the error level.ÁÞ%�tâ%¤ªñ%�<õ%Óªœý% use log::error;Á‘&�ü•&7…¬üÍ&1. let (err_info, port) = ("No connection", 22);Áÿ&�üƒ'/, error!("Error: {err_info} on port {port}");Áü³'HE error!(target: "app_events", "App Error: {err_info}, Port: {port}");Áüü'EB error!(logger: my_logger, "App Error: {err_info}, Port: {port}");Á<Â(ÓªŒ…œÜ(´Ú()|Ê(,þ( „) ó0 ¸* ð*8ß4¹*& ¿*, Á*8ß4Â*& È*8²$É*$ Í*8´4Ï*& Õ*, ×*8´4Ø*& Þ*8²$ß*$ ã*, å* æ* î*, ç*8â­è*& ë*8ýì* ï**ò* õ* ë+ ö* ê+, €+8,�+'†+8çˆ+ ‹+ Œ+ ä+8ß4�+& “+, •+8,–+'›+8¡ d�+ ©+ ª+ ²+, «+8ß4¬+$ ³+8´4µ+& »+, ½+8´4¾+$ Ä+, Æ+8,Ç+'Ì+8Ž,Î+'Ó+8›,Õ+$ Ú+, Ü+ Ý+ â+, Þ+8â­ß+ ã+% ì+ ÷, ™- 8ß4ø,& þ,, €-8ß4�-& ‡-8²$ˆ-$ Œ-, Ž- �- —-, �-8â­‘-& ”-8ý•- ˜-*›- ž- ƒ. Ÿ- ‚., ©-8,ª-'¯-8ç±- ´- µ- ü-8ß4¶-& ¼-, ¾-8,¿-'Ä-8¡ dÆ- Ò- Ó- Û-, Ô-8ß4Õ-$ Ü-, Þ-8,ß-'ä-8Ž,æ-'ë-8›,í-$ ò-, ô- õ- ú-, ö-8â­÷- û-% „. “/ µ/ 8´4”/& š/, œ/8´4�/& £/8²$¤/$ ¨/, ª/ «/ ³/, ¬/8â­­/& °/8ý±/ ´/*·/ º/ ˆ0 »/ ‡0, Å/8,Æ/'Ë/8çÍ/ Ð/ Ñ/ �08´4Ò/& Ø/, Ú/8´4Û/$ á/, ã/8,ä/'é/8Ž,ë/'ð/8›,ò/$ ÷/, ù/ ú/ ÿ/, û/8â­ü/ €0% ‰0 ³0 ¿0, ´0 µ0 ½0, ¶08â­·0& º08ý»0 ¾0*Á0 Ä0 ñ0, Å08,Æ0'Ë08çÍ0 Ð0 Ñ0 ð0 , Ò08,Ó0'Ø08Ž,Ú0'ß08›,á0$ æ0, è0 é0 î0, ê08â­ë0 ï0Œ­4üö0%" Logs a message at the warn level.Áœ1�t 1¤ª¯1�<³1Óª”»1 use log::warn;ÁÎ1�üÒ17…¬üŠ2+( let warn_description = "Invalid Input";Á¶2�üº2*' warn!("Warning! {warn_description}!");Áüå2NK warn!(target: "input_events", "App received warning: {warn_description}");Áü´3IF warn!(logger: my_logger, "App received warning: {warn_description}");Á<þ3ÓªŒ…œ˜4´–4)|†4cÌ ¿4 £< ñ5 ©68ß4ò5& ø5, ú58ß4û5& �68²$‚6$ †68´4ˆ6& Ž6, �68´4‘6& —68²$˜6$ œ6, ž6 Ÿ6 §6,  68â­¡6& ¤68ý¥6 ¨6*«6 ®6 £7 ¯6 ¢7, ¹68,º6'¿68çÁ6 Ä6 Å6 œ78ß4Æ6& Ì6, Î68,Ï6'Ô68¡ dÖ6 â6 ã6 ë6, ä68ß4å6$ ì68´4î6& ô6, ö68´4÷6$ ý6, ÿ68,€7'…78Ž,‡7'Œ78²$Ž7$ ’7, ”7 •7 š7, –78â­—7 ›7% ¤7 ­8 Ï8 8ß4®8& ´8, ¶88ß4·8& ½88²$¾8$ Â8, Ä8 Å8 Í8, Æ88â­Ç8& Ê88ýË8 Î8*Ñ8 Ô8 ¸9 Õ8 ·9, ß88,à8'å88çç8 ê8 ë8 ±98ß4ì8& ò8, ô88,õ8'ú88¡ dü8 ˆ9 ‰9 ‘9, Š98ß4‹9$ ’9, ”98,•9'š98Ž,œ9'¡98²$£9$ §9, ©9 ª9 ¯9, «98â­¬9 °9% ¹9 Æ: è: 8´4Ç:& Í:, Ï:8´4Ð:& Ö:8²$×:$ Û:, Ý: Þ: æ:, ß:8â­à:& ã:8ýä: ç:*ê: í: º; î: ¹;, ø:8,ù:'þ:8ç€; ƒ; „; ³;8´4…;& ‹;, �;8´4Ž;$ ”;, –;8,—;'œ;8Ž,ž;'£;8²$¥;$ ©;, «; ¬; ±;, ­;8â­®; ²;% »; ä; ð;, å; æ; î;, ç;8â­è;& ë;8ýì; ï;*ò; õ; ¡<, ö;8,÷;'ü;8çþ; �< ‚<  < , ƒ<8,„<'‰<8Ž,‹<'�<8²$’<$ –<, ˜< ™< ž<, š<8â­›< Ÿ<ŒÈAü¦<%" Logs a message at the info level.ÁÌ<�tÐ<¤ªß<�<ã<Óª”ë< use log::info;Áþ<�ü‚=7…¬üº=1. # struct Connection { port: u32, speed: f32 }Áüì=96 let conn_info = Connection { port: 40, speed: 3.20 };Á¦>�üª>NK info!("Connected to port {} at {} Mb/s", conn_info.port, conn_info.speed);ÁTù> info!(Áü„?$! target: "connection_events",Áü©?52 "Successful connection, port: {}, speed: {}",Áüß?'$ conn_info.port, conn_info.speedÁ4‡@вTŽ@‘ïÔ™@š·ü´@5Óïüê@'’ð4’Aв<™AÓªŒ…œ³A´±A)|¡AsÌ ÚA ¾I ŒC ÄC8ß4�C& “C, •C8ß4–C& œC8²$�C$ ¡C8´4£C& ©C, «C8´4¬C& ²C8²$³C$ ·C, ¹C ºC ÂC, »C8â­¼C& ¿C8ýÀC ÃC*ÆC ÉC ¾D ÊC ½D, ÔC8,ÕC'ÚC8çÜC ßC àC ·D8ß4áC& çC, éC8,êC'ïC8¡ dñC ýC þC †D, ÿC8ß4€D$ ‡D8´4‰D& �D, ‘D8´4’D$ ˜D, šD8,›D' D8Ž,¢D'§D8Ã$©D$ ­D, ¯D °D µD, ±D8â­²D ¶D% ¿D ÈE êE 8ß4ÉE& ÏE, ÑE8ß4ÒE& ØE8²$ÙE$ ÝE, ßE àE èE, áE8â­âE& åE8ýæE éE*ìE ïE ÓF ðE ÒF, úE8,ûE'€F8ç‚F …F †F ÌF8ß4‡F& �F, �F8,�F'•F8¡ d—F £F ¤F ¬F, ¥F8ß4¦F$ ­F, ¯F8,°F'µF8Ž,·F'¼F8Ã$¾F$ ÂF, ÄF ÅF ÊF, ÆF8â­ÇF ËF% ÔF áG ƒH 8´4âG& èG, êG8´4ëG& ñG8²$òG$ öG, øG ùG �H, úG8â­ûG& þG8ýÿG ‚H*…H ˆH ÕH ‰H ÔH, “H8,”H'™H8ç›H žH ŸH ÎH8´4 H& ¦H, ¨H8´4©H$ ¯H, ±H8,²H'·H8Ž,¹H'¾H8Ã$ÀH$ ÄH, ÆH ÇH ÌH, ÈH8â­ÉH ÍH% ÖH ÿH ‹I, €I �I ‰I, ‚I8â­ƒI& †I8ý‡I ŠI*�I �I ¼I, ‘I8,’I'—I8ç™I œI �I »I , žI8,ŸI'¤I8Ž,¦I'«I8Ã$­I$ ±I, ³I ´I ¹I, µI8â­¶I ºI”´MüÁI&# Logs a message at the debug level.ÁèI�tìI¤ªûI�<ÿIÓªœ‡J use log::debug;Á›J�üŸJ7…¬ü×J(% # struct Position { x: f32, y: f32 }Áü€K/, let pos = Position { x: 3.234, y: -1.223 };Á°K�ü´K74 debug!("New position: x: {}, y: {}", pos.x, pos.y);ÁüìKMJ debug!(target: "app_events", "New position: x: {}, y: {}", pos.x, pos.y);ÁüºLJG debug!(logger: my_logger, "New position: x: {}, y: {}", pos.x, pos.y);Á<…MÓªŒ…œŸM´�M)|�MƒÌ ÇM ¶U ûN ³O8ß4üN& ‚O, „O8ß4…O& ‹O8²$ŒO$ �O8´4’O& ˜O, šO8´4›O& ¡O8²$¢O$ ¦O, ¨O ©O ±O, ªO8â­«O& ®O8ý¯O ²O*µO ¸O ®P ¹O ­P, ÃO8,ÄO'ÉO8çËO ÎO ÏO §P8ß4ÐO& ÖO, ØO8,ÙO'ÞO8¡ dàO ìO íO õO, îO8ß4ïO$ öO8´4øO& þO, €P8´4�P$ ‡P, ‰P8,ŠP'�P8Ž,‘P'–P8q,˜P$ �P, ŸP  P ¥P, ¡P8â­¢P ¦P% ¯P ºQ ÜQ 8ß4»Q& ÁQ, ÃQ8ß4ÄQ& ÊQ8²$ËQ$ ÏQ, ÑQ ÒQ ÚQ, ÓQ8â­ÔQ& ×Q8ýØQ ÛQ*ÞQ áQ ÆR âQ ÅR, ìQ8,íQ'òQ8çôQ ÷Q øQ ¿R8ß4ùQ& ÿQ, �R8,‚R'‡R8¡ d‰R •R –R žR, —R8ß4˜R$ ŸR, ¡R8,¢R'§R8Ž,©R'®R8q,°R$ µR, ·R ¸R ½R, ¹R8â­ºR ¾R% ÇR ÖS øS 8´4×S& ÝS, ßS8´4àS& æS8²$çS$ ëS, íS îS öS, ïS8â­ðS& óS8ýôS ÷S*úS ýS ËT þS ÊT, ˆT8,‰T'ŽT8ç�T “T ”T ÄT8´4•T& ›T, �T8´4žT$ ¤T, ¦T8,§T'¬T8Ž,®T'³T8q,µT$ ºT, ¼T ½T ÂT, ¾T8â­¿T ÃT% ÌT öT ‚U, ÷T øT €U, ùT8â­úT& ýT8ýþT �U*„U ‡U ´U, ˆU8,‰U'ŽU8ç�U “U ”U ³U , •U8,–U'›U8Ž,�U'¢U8q,¤U$ ©U, «U ¬U ±U, ­U8â­®U ²U”ýZü¹U&# Logs a message at the trace level.ÁàU�täU¤ªóU�<÷UÓªœÿU use log::trace;Á“V�ü—V7…¬üÏV(µÿüøV/çÿ¨W�ü¬W63 trace!("Position is: x: {}, y: {}", pos.x, pos.y);ÁüãW74 trace!(target: "app_events", "x is {} and y is {}",Áü›X>; if pos.x >= 0.0 { "positive" } else { "negative" },ÁüÚX?< if pos.y >= 0.0 { "positive" } else { "negative" });ÁüšY41 trace!(logger: my_logger, "x is {} and y is {}",ÁüÏY>ß‘üŽZ?§’<ÎZÓªŒ…œèZ´æZ)|ÖZ“Ì �[ ÿb Ä\ ü\8ß4Å\& Ë\, Í\8ß4Î\& Ô\8²$Õ\$ Ù\8´4Û\& á\, ã\8´4ä\& ê\8²$ë\$ ï\, ñ\ ò\ ú\, ó\8â­ô\& ÷\8ýø\ û\*þ\ �] ÷] ‚] ö], Œ]8,�]'’]8ç”] —] ˜] ð]8ß4™]& Ÿ], ¡]8,¢]'§]8¡ d©] µ] ¶] ¾], ·]8ß4¸]$ ¿]8´4Á]& Ç], É]8´4Ê]$ Ð], Ò]8,Ó]'Ø]8Ž,Ú]'ß]8à,á]$ æ], è] é] î], ê]8â­ë] ï]% ø] ƒ_ ¥_ 8ß4„_& Š_, Œ_8ß4�_& “_8²$”_$ ˜_, š_ ›_ £_, œ_8â­�_&  _8ý¡_ ¤_*§_ ª_ �` «_ Ž`, µ_8,¶_'»_8ç½_ À_ Á_ ˆ`8ß4Â_& È_, Ê_8,Ë_'Ð_8¡ dÒ_ Þ_ ß_ ç_, à_8ß4á_$ è_, ê_8,ë_'ð_8Ž,ò_'÷_8à,ù_$ þ_, €` �` †`, ‚`8â­ƒ` ‡`% �` Ÿa Áa 8´4 a& ¦a, ¨a8´4©a& ¯a8²$°a$ ´a, ¶a ·a ¿a, ¸a8â­¹a& ¼a8ý½a Àa*Ãa Æa ”b Ça “b, Ña8,Òa'×a8çÙa Üa Ýa �b8´4Þa& äa, æa8´4ça$ ía, ïa8,ða'õa8Ž,÷a'üa8à,þa$ ƒb, …b †b ‹b, ‡b8â­ˆb Œb% •b ¿b Ëb, Àb Áb Éb, Âb8â­Ãb& Æb8ýÇb Êb*Íb Ðb ýb, Ñb8,Òb'×b8çÙb Üb Ýb üb , Þb8,ßb'äb8Ž,æb'ëb8à,íb$ òb, ôb õb úb, öb8â­÷b ûbtã�üÃ�FC An enum representing the available verbosity levels of the logger.ÁŠŽ�üŽŽIF Typical usage includes: checking if a certain `Level` is enabled withÁüØŽGD [`log_enabled!`](macro.log_enabled.html), specifying the `Level` ofÁü �C@ [`log!`](macro.log.html), and comparing a `Level` directly to aÁüä�+( [`LevelFilter`](enum.LevelFilter.html).Á,ì�©/5åEÊꊦnÜÝßàáâãäåæÞÝàâäæ,ד´ø� The "error" level.Á“‘�ü›‘# Designates very serious errors.ÁbÛÛ©/uwÛÛ©/ ß“íB$±”¬æ“ The "warn" level.Á€”�üˆ”$! Designates hazardous situations.ÁbÛÛ©/uwÛÛ©/$„•¬»” The "info" level.ÁÕ”�üÝ”" Designates useful information.Á`ÛÛ©/suÛÛ©/,à•´Ž• The "debug" level.Á©•�ü±•*' Designates lower priority information.ÁiÛÛ©/|~ÛÛ©/,Ú–´ë• The "trace" level.Á†–�üŽ–GD Designates very low priority, often extremely verbose, information.Á†ÛÛ©/™›ÛÛ©/H!H!H!!©/H!!©/é†éH!H!„ „©/©/Bÿè¨�è éH! ¯�"©/¥!#©/¥!#©/íù±í¥!¥!…† …©/ †©/Bÿìµ�ì í¥!î ¥!£"$©/ïÎï£"£"£"£"‡ ‡©/Û=BÿîÀ�î ï£"Û"%©/ñ±²ñÛ"Û"ˆ‰ ˆ©/ ‰©/�IBÿðÄ�ð ñÛ"î Û"å"&©/óîóå"å"Š‹ Š©/ ‹©/¿GBÿòÐ�ò óå"î å"’%'©/õ gõ’%’%Œ�Ž Œ©/ �€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡Ž¬NBÿôÕ�ô õ’%œ’%¿'(©/÷üh÷¿'¿'�� �©/ �íPÛ=BÿöÿøøÜ�öþÆíP¿'ƒiíP¿' ÷íP¿'ƒ¿'¿'¿'¤û¶ü¿³MJ An enum representing the available verbosity level filters of the logger.Á�´�ü‘´JG A `LevelFilter` may be compared directly to a [`Level`]. Use this typeÁüÜ´TQ to get and set the maximum log level with [`max_level()`] and [`set_max_level`].Á±µ�ôµµ [`Level`]: enum.Level.htmlÁüÔµ&# [`max_level()`]: fn.max_level.htmlÁüûµ,»ý \„·€1—ÝwŽd~úûüýþÿ€�‚ƒ„…ûýÿ�ƒ…Á·ü–·&# A level lower than all log levels.Á 8ùù€1KMùù€1,ø·üÊ·)& Corresponds to the `Error` log level.Á ;ùù€1NPùù€1$°¸üƒ¸(% Corresponds to the `Warn` log level.Á :ùù€1MOùù€1$ç¸üº¸(% Corresponds to the `Info` log level.Á :ùù€1MOùù€1,Ÿ¹üñ¸)& Corresponds to the `Debug` log level.Á ;ùù€1NPùù€1,عüª¹)& Corresponds to the `Trace` log level.Á ;ùù€1NPùù€1@8@8@8)€1@8)€1ˆ†ˆ@8@8� �€1€1Bÿ‡À¶‡ ˆ@8 Ƕ*€1š8+€1š8+€1Œù±Œš8š8žŸ ž€1 Ÿ€1Bÿ‹Ͷ‹ Œš8î š8€9,€1ŽÎŽ€9€9€9€9   €1Û=Bÿ�ض� Ž€9¸9-€1�±²�¸9¸9¡¢ ¡€1 ¢€1�IBÿ�ܶ� �¸9î ¸9Â9.€1’î’Â9Â9£¤ £€1 ¤€1¿GBÿ‘è¶‘ ’Â9î Â9¶;/€1” g”¶;¶;¥¦§ ¥€1 ¦€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡§¬NBÿ“í¶“ ”¶;œ¶;O=0€1–üh–O=O=¨© ¨€1 ©íPÛ=Bÿ•ÿ——ô¶•´´O=ôO= –íPO=ƒO=O=O=¼ŽÚ t“ÚÁ™™½3çx¤|‚áÿåš›�ž›œæÓ½3BÿžŸÂ=½3Bÿ¢Ú µ  µ˜˜ ›Á µ µæÓ½3Bÿ˜˜œÈd³Ú˜˜æÓäÈ äȘ˜ žÁäÈäÈÂ=½3Bÿ˜˜’É<ÏÚ˜˜Â= ùÙ1Á¡¡½3¯K¯K¯K2Á££½3UX¯K2Á¥¥½3¦†¦…ˆ¯K¯K¶ ¶½3½3Bÿ¤!ÿÙ¤ ¦Á¯KdL3Á¨¨½3© g© dLdL·¸¹ ·½3 ¸€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡¹¬NBÿ§"†Ú§ ©ÁdLœdL¬´ìüûà# The "payload" of a log message.ÁŸá�L£á # UseÁ­á�ü±áKH `Record` structures are passed as parameters to the [`log`][method.log]ÁüýáEB method of the [`Log`] trait. Logger implementors manipulate theseÁüÃâLI structures in order to display log messages. `Record`s are automaticallyÁü�ãC@ created by the [`log!`] macro and so are not seen by log users.ÁÔã�üØãJG Note that the [`level()`] and [`target()`] accessors are equivalent toÁü£äJG `self.metadata().level()` and `self.metadata().target()` respectively.ÁüîäLI These methods are provided as a convenience for users of this structure.Á»å�l¿å # ExampleÁÍå�üÑåHE The following example shows a simple logger that displays the level,ÁüšæB? module path, and message of any `Record` that is passed to it.ÁÝæ�<áæÓªÄéæÊ΂ç�ü†ç$øÎü«ç=: fn enabled(&self, _metadata: &log::Metadata) -> bool {Á|éç trueÁDùç }Á‚è�ü†è,) fn log(&self, record: &log::Record) {Áü³è0- if !self.enabled(record.metadata()) {Á´äè return;Ádûè }Áˆé�üŒé" println!("{}:{} -- {}",Áü¯é# record.level(),ÁüÓé$! record.target(),Áüøé# record.args());ÁDœê€ÕÌ¥ê fn flush(&self) {}Á,¿ê—±<ÅêÓªÍê�üÑê-* [method.log]: trait.Log.html#tymethod.logÁÜÿê‰üä›ë™ìü¸ë0- [`level()`]: struct.Record.html#method.levelÁüéë2/ [`target()`]: struct.Record.html#method.targetÁ 4¿ìÁ««¼5öëêìáææ+¬­®¯°Æì´ÐìDÐ쪪Ÿ7Äìì$ì쪪ؕüŠí'\ŠíªªÅ™Ç™È™­É™Ê™àË™óG*¤�R{9 ½3ü·í $·íªªÁÜŒÝí$Ýíªªˆ¿Ù_4Á²²¼5³†³ Ù_Ù_È È¼5¼5Bÿ±#¥ì± ³ÁÙ_Åc5Áµµ¼5¶ g¶�’ÅcÅcÉÊË É¼5 Ê€g€gŠ‚gê ûcƒgÕNûcØ«q¢1ȡˬNBÿ´$¬ì´ ¶ÁÅcœÅcäÔ�ü°…/, Builder for [`Record`](struct.Record.html).Áà…�üä…\Y Typically should only be used by log library creators or for testing and "shim loggers".ÁüÁ†XU The `RecordBuilder` can set the different parameters of `Record` object, and returnsÁüš‡.+ the created object when `build` is called.Áɇ�t͇¤ª܇�<à‡Óªìè‡ use log::{Level, Record};Á†ˆ�üŠˆ" let record = Record::builder()Áü­ˆ1. .args(format_args!("Error!"))Áü߈(% .level(Level::Error)Áüˆ‰$! .target("myApp")Áü­‰,) .file(Some("server.rs"))ÁüÚ‰$! .line(Some(144))Áüÿ‰0- .module_path(Some("server"))Áì°Š .build();Á<ΊÓªÖŠ�üÚŠHE Alternatively, use [`MetadataBuilder`](struct.MetadataBuilder.html):Á£‹�<§‹Óªü¯‹.+ use log::{Record, Level, MetadataBuilder};ÁÞ‹�üâ‹/, let error_metadata = MetadataBuilder::new()Áü’Œ,) .target("myApp")Áü¿Œ0- .level(Level::Error)ÁüðŒ%" .build();Á–��üš�"õâü½�-* .metadata(error_metadata)Áüë�1¢ãü�Ž$! .line(Some(433))ÁüÂŽ)& .file(Some("app.rs"))ÁüìŽ0¦åì��àå<»�Óª lß�Á¸¸¬6Šà£œ®u@¹í�”÷�4÷�··¼5wo6Á»»¬6¼ g¼MOwowoÕÖ× Õ¬6 Ö€g€gŠ‚gê ûcƒgÕNûcØ«q¢1ȡ׬NBÿº%Ì�º ¼Áwoœwo¼Ø³üü«! Metadata about a log message.Áž¬�L¢¬�ͬ¬�ü°¬@= `Metadata` structs are created when users of the library useÁœñ¬ logging macros.Á…­�ü‰­B? They are consumed by implementations of the `Log` trait in theÁ¬Ì­ `enabled` method.Áâ­�üæ­DA `Record`s use `Metadata` to determine the log message's severityÁ|«® and target.Á»®�ü¿®DA Users should use the `log_enabled!` macro in their code to avoidÁü„¯(% constructing expensive log messages.Á­¯�t±¯¤ªÀ¯�<įÓªü̯'ŽÎô¯�¤ø¯¸þ�°�ü‘° äþü²°8¦Ïüë°+èÏL—±…±¡±�ü¥±(¶Ðüα0èÐüÿ±C¢Ñlòï°LѲ…±ÔÛ²”Ò,ö²—±ü²�Œ€³ # fn main(){}Á<’³ÓªDã³Á¾¾Ÿ7€Ã» ª& Ú¿Àì³dö³,ö³½½©/|ˆ´4ˆ´½½Â=]7ÁŸ7ÆÃik]]ã ãŸ7Ÿ7BÿÁ'£³Á ÃÁ]˜€8ÁÅÅŸ7ÆÎÆïñ˜€˜€˜€˜€ä äŸ7Û=BÿÄ(ª³Ä ÆÁ˜€tƒ9ÁÈÈŸ7‡Štƒ9ÁÊÊŸ7Ëù±Ë¸»tƒtƒåæ åŸ7 æŸ7BÿÉ)®³É ËÁtƒî tƒ‰ˆ:ÁÍÍŸ7ÎîÎWZ‰ˆ‰ˆçè çŸ7 èŸ7¿GBÿÌ*¹³Ì ÎÁ‰ˆî ‰ˆöŠ;ÁÐП7ѱ²ÑøûöŠöŠéê éŸ7 êŸ7�IBÿÏ+¾³Ï ÑÁöŠî öŠuŒ<ÁÓÓŸ7ÔühÔ˜›uŒuŒëì ëŸ7 ìå˜Û=BÿÒÿÕÕ,ʳÒþÆå˜uŒƒiå˜uŒ ÔÁå˜uŒƒuŒuŒuŒÕ�=Á×ן7Ø gØ{~Õ�Õ�íîï íŸ7 î€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡ï¬NBÿÖ-гÖ ØÁÕ�œÕ�ô�¼ü®·30 Builder for [`Metadata`](struct.Metadata.html).Áâ·�üæ·\ˆàüø^[ The `MetadataBuilder` can set the different parameters of a `Metadata` object, and returnsÁü¢¹.Òáѹ�lÕ¹–Òã¹�<ç¹ÓªÌï¹ let target = "myApp";Áü‰º&# use log::{Level, MetadataBuilder};Áü°º)& let metadata = MetadataBuilder::new()ÁüÚº,) .level(Level::Debug)Áü‡»'$ .target(target)Áü¯»! .build();Á<ѻӪ|›¼ÁÚÚ³8bŸÿÿÄ‹´Û«¼´µ¼Dµ¼ÙÙŸ7¨�>ÁÝݳ8ÞÎÞMO¨�¨�¨�¨�ò ò³8Û=BÿÜ.â»Ü ÞÁ¨�t‘?Áàà³8åçt‘?Áââ³8ãù±ãt‘t‘óô ó³8 ô³8Bÿá/æ»á ãÁt‘î t‘V’@Áåå³8æîæ³¶V’V’õö õ³8 ö³8¿GBÿä0ñ»ä æÁV’î V’º’AÁèè³8é±²éTWº’º’÷ø ÷³8 ø³8�IBÿç1ö»ç éÁº’î º’”BÁëë³8ìühìô÷””ùú ù³8 úå˜Û=Bÿêÿíí2‚¼ê¤þ”´þ” ìÁ嘔ƒ”””í”CÁïï³8ð gðÆÉí”í”ûüý û³8 ü€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡ý¬NBÿî3ˆ¼î ðÁ픜í”6Éü²ŒRO The type returned by [`set_logger`] if [`set_logger`] has already been called.Á…��ü‰�&‹ýtó�þ;'kLjãåòóÛ=þ;Bÿ6É4Û=þ;Bÿññ ò‚ŽññÛ=#¬Iþ;õ gõ#¬#¬¦§¨ ¦þ; §€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡¨¬NBÿô=à�ô õ#¬œ#¬…Éü��ZW The type returned by [`from_str`] when the string doesn't match any of the log levels.Áè��üì�XU [`from_str`]: https://doc.rust-lang.org/std/str/trait.FromStr.html#tymethod.from_strÁ|—’Ê<N“Šˆ ¶Š·÷øÛ=Êõ‘ù úA­œA­A®KÊ<A®KÊ<ýù±ýA®A®¯° ¯Ê< °Ê<Bÿü?ü‘ü ýA®î A®¹®LÊ<ÿÎÿ¹®¹®¹®¹®± ±Ê<Û=Bÿþ@‡’þ ÿ¹®¼¢äô The global logger proxy.Ád­ë=Ð’ÒQÅC‚—�Q(€€ë=°Më=ƒ gƒ°°µ¶· µë= ¶€g€gŠ‚gê ûcƒgÕNûcØ«q¢1È¡·¬NBÿ‚Aš‚ ƒ°œ°7Ñ%r6Ñ%x6Ñ%ì5Ñ%r5Ñ%x5Ñ%ø4Ñ%þ4Ñ%94Ñ%?4Ñ%’%Ñ%µ3Ñ%»3Ñ%^âÑ% ²—Ñ%ãáÑ% Õ˜Ñ%áÑ%CàÑ% €�Ñ%LŠ�Ñ%îÞÑ%ÞÑ%›ØÑ%þÕÑ%{.Ñ%Û-Ñ%á-Ñ%U-Ñ%Û,Ñ%á,Ñ%a,Ñ%g,Ñ%¢+Ñ%¨+Ñ%¶;Ñ%+Ñ%$+Ñ%ÑÕÑ% °ºÑ%VÕÑ% º»Ñ%vÔÑ%µÓÑ% ÷¿Ñ%L�ÀÑ%ÒÑ%gÑÑ%©ËÑ%PÈÑ%)Ñ%;(Ñ%A(Ñ%dLÑ%óÇÑ%ÅÜÑ%ïÜÑ%WÇÑ% �ÝÑ%åÝÑ%ÓÆÑ% „ÞÑ%ôÞÑ%NÆÑ% ›ßÑ%’àÑ%¹ÅÑ% ÈàÑ%& Ñ%NÑ%TÑ%ÅcÑ%EÄÑ%¶ÃÑ%0ÃÑ%¤ÂÑ%ÜÁÑ%­ÀÑ%!ÀÑ%/¿Ñ%ª¾Ñ%qÑ%wÑ%woÑ%»»Ñ%ÁºÑ%ºÑ%n¹Ñ%ŸÑ%¸Ñ%k·Ñ%¹¶Ñ%¶Ñ%‹µÑ%¾«Ñ%4Ñ%—Ñ%ßÑ%åÑ%KÑ%QÑ%¶Ñ%¼Ñ%Ñ%Ñ%Ñ% Ñ%Õ�Ñ%¦´Ñ%B´Ñ%è Ñ%2 Ñ%8 Ñ%ž Ñ%¤ Ñ% Ñ% Ñ%d Ñ%j Ñ%j Ñ%p Ñ%í”Ñ%å²Ñ%<²Ñ%µ±Ñ%¡ÄÑ%R­Ñ% �ÊÑ%D‚ÊÑ%Œ«Ñ% žÌÑ%4ŸÌÑ%xªÑ%D©Ñ% žÏÑ%DŸÏÑ%‰¨Ñ% ÝÏÑ%4ÞÏÑ%C¨Ñ%”ÐÑ%%§Ñ% ÖÐÑ%D×ÐÑ%_¦Ñ% ¯ÑÑ%4°ÑÑ%¦Ñ%ؤÑ% …ÓÑ%D†ÓÑ%¤Ñ% ãÓÑ%4äÓÑ%Í£Ñ%«¢Ñ% ÌÕÑ%DÍÕÑ%ë¡Ñ% ªÖÑ%4«ÖÑ% ¡Ñ%ÇÑ%ÍÑ%#¬Ñ%S‹Ñ% ÆŽÑ%LÐŽÑ%ÈÑ%ÎÑ%A­Ñ%BÑ%HÑ%¼Ñ%‘ŠÑ% ì’Ñ%Lö’Ñ%šÑ% Ñ%°Ñ%5„Ñ% øÑ%DùÑ%zƒÑ% ÑÑ%4ÒÑ%4ƒÑ%��Ñ% Ù Ñ% Û Ñ%Dø Ñ% “ Ñ%– Ñ%,› Ñ%&€Ñ% �Ñ% ƒÑ%D Ñ%MÑ%,?IVdsx÷println!Álog_errÁ log-reloadÁô ž›&https://docs.rs/stderrlog/*/stderrlog/Á¢!log4rsÁÍ@https://docs.rs/systemd-journal-logger/*/systemd_journal_logger/Áformat_args!("")Átrace!Á´¤Á¤›6https://docs.rs/pretty_env_logger/*/pretty_env_logger/Áô뤛 ™fn.max_level.htmlÁftailÁ¢!Ù›¥é «Í*https://docs.rs/slog-stdlog/*/slog_stdlog/Á«¥ð¥…¦ console_logÁmacro.trace.htmlÁÁ¤›¡¦›fn.shutdown_logger_raw.htmlÁñ¦é ‡§ÇÍ€±§debug!Á…¦ò§‚¨(https://github.com/drakulix/simplelog.rsÁ›¡¦­¨à clang_logÁñ¦‡§ÛÇ https://docs.rs/syslog/*/syslog/Áé ±§ó¨logcontrol-logÁò§macro.info.htmlÁ‚¨�©fn.set_max_level.htmlÁq¢g­¨fn.set_logger_racy.htmlÁÓ©àÛÇ÷©info!Áó¨­ªƪ0https://github.com/borntyping/rust-simple_loggerÁõ�©æªqstructured-loggerÁàÓ©¸Û½#https://docs.rs/spdlog-rs/*/spdlog/Á�«÷©4https://doc.rust-lang.org/std/str/trait.FromStr.htmlÁÇ« log-to-defmtÁmacro.error.htmlÁ­ªlog!Áƪã«enum.Level.htmlÁõæªq­¬�«¸‘­ݬwarn!ÁÇ«Эá­https://docs.rs/colog/*/colog/Áü­ã«‘®õ std-loggerÁ­¬¸ªhttps://docs.rs/fern/*/fern/Á‘­ݬÑ® db_loggerÁçÕЭ log_enabled!Áí®3https://docs.rs/alterable_logger/*/alterable_loggerÁü­‘®struct.Metadata.htmlÁ§¯á­Ưßerror!ÁÑ®ù¯çó°(https://docs.rs/env_logger/*/env_logger/Á˜°í®¯° call_loggerÁtarget()Á§¯$https://docs.rs/logforth/*/logforth/ÁƯß ©£±win_dbg_loggerÁù¯çó°ű(https://docs.rs/log-reload/*/log_reload/Á¯°˜°„²”²§²ß£±æ²7https://doc.rust-lang.org/stable/std/macro.println.htmlÁű�³ flexi_loggerÁ²„²level()Á”² https://docs.rs/log4rs/*/log4rs/Á§² android_logÁ4https://doc.rust-lang.org/std/macro.format_args.htmlÁ沿¥ì³"https://docs.rs/log_err/*/log_err/Á�³²´´дâ´�µ�µ./macro.trace.htmlÁ¿ì³íµ stderrlogÁ²´´дº"https://docs.rs/ftail/latest/ftailÁâ´systemd-journal-loggerÁstruct.MetadataBuilder.htmlÁ�µ�µ½¶*https://docs.rs/console_log/*/console_log/Á¿íµå¶ìfn.try_set_logger_raw.htmlÁ‰·º¶·Ñ·./macro.debug.htmlÁ½¶ƒ¸pretty_env_loggerÁ max_level()Áìå¶ȸÙ*https://docs.rs/clang_log/latest/clang_logÁº‰· slog-stdlogÁ¶·Ñ·´þ¸0https://docs.rs/logcontrol-log/*/logcontrol_log/Áƒ¸macro.debug.htmlÁ¡¹enum.LevelFilter.htmlÁìȸÙݹ·¹›—º./macro.info.htmlÁ´þ¸¾ºŽ simplelogÁùº¡¹”»·¹;https://docs.rs/structured-logger/latest/structured_logger/Á©ݹÙù«syslogÁå§›—ºfn.logger.htmlÁÕ»,https://docs.rs/log-to-defmt/*/log_to_defmt/Á´¾ºmacro.log.htmlÁ�¼fn.set_logger.htmlÁŽ”»macro.warn.htmlÁùº§¼© ¢«å¢½�½›./macro.warn.htmlÁÕ»»½²¾ simple_loggerÁ÷½�¼�¾ŽÛ(https://docs.rs/std-logger/*/std_logger/Á©§¼« spdlog-rsÁå�½¢½÷¾&https://docs.rs/db_logger/*/db_logger/Á»½macro.log_enabled.htmlÁMetadata::targetÁŸ¿trait.Log.htmlÁ�¾÷½²¾Í¿ŠÀ./macro.error.htmlÁ÷¾¯ÀûÀcologÁàÀŸ¿–Á*https://docs.rs/call_logger/*/call_logger/ÁÃÍ¿fernÁŠÀÇÁ0https://docs.rs/win_dbg_logger/*/win_dbg_logger/ÁMetadata::levelÁ¯ÀûÀðÁalterable_loggerÁ–ÁàÀÃŒÂÆÂÇÁÛÂ�à env_loggerÁðÁ¶Ã,https://docs.rs/flexi_logger/*/flexi_logger/ÁÃŒÂstruct.Record.htmlÁlogforthÁÆÂ*https://docs.rs/android_log/*/android_log/ÁMetadata::builder().build()ÁÛÂ�ÃúÃͤ¶Ã•ÄÑÄèÄûĪŴ¤úÃͤô¢!뤕ÄÑÄ›¥èÄ«¥ð¥ûĪŠmacro@logÁççÕÙÆÙÆç½}€…ù öÌí÷±¯²ŠP³¯ÿ ¦£¬©€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈǵì6TraceDebugInfoWarnErrorÿÿOffÿÿBorrowedStatic‚Recordmetadataargs module_path filelineƒÿƒÿ RecordBuilder record€‚MetadataleveltargetMetadataBuilderSetLoggerErrorParseLevelErrorƒÿ GlobalLogger Lkey-value support is experimental and must be enabled using the `kv` featureL€ë9€OFFERRORWARNINFODEBUGTRACEJattempted to set a logger after the logging system was already initializedJFattempted to convert a string that doesn't match an existing log levelFòÇþNJȕȠȬȯÈÎÈØÈ÷ȆɓɢɯɾÉÉÉÛÉæÉñÉ€Ê�Ê£Ê°Ê·ÊÆÊÕÊáÊîʄˇ˜˲ËÁËÔ˧̸̮ÌÂÌÎÌÙÌäÌðÌüÌÍÍSdþ¢ÉCœ9gúÏo]\àÞÓ'Kˆ–[T¿µÛÅ‹zt@�œÛ3ˆð¡F�dœ;ñu³ìƳ›ù_:Q&Š7Õ âùJ þDNí|ÏüÍ­Ôv"w¿+5açH!BK7ínÛ×hS |7YáhE,{n÷QEK…-­…áÈÕx€#”[X`JÇb¤ÄØÒ¸ñµ+F �gµÈÁ*ù}„u^ÐNà£ïQ>'�SÜÚràäLbóŒ[-àJƒTé½»%Œ×kâåf¦ÀI6Iö¿wÐ_ãçoXlÕw-¦k¶°¢Î&Šõ‘ýb¼k£oÝ9b¼±à‹&TÀÉN= £ÀåaûÝ”8“¡Åý£¯=„d·SœSf”±e‘�CEÏy-Æûu-ˆ]ŸrÈÑ”j]ºâ&£ôÚUkWkñþÙ‘é9%÷�ÁƸæK¯” Ó’£µaÁÔspD¦µ�†ðˆËGG>¼ =Õ¨ëØ·æ¸4bo%™b;Âî’;æÅù•®€ó2�(ƒDHç¸kWV×j hj¬ãÆíè*Þ“:$m*†j�sIYJG3P3æ�Sþfh憩 |Äïƒö³~;‹u�æWÀc¦Ç~å‹òB‹„”’ÑŒ˜1þ@íƒO}Ú©î:[÷VË­¿«GCWîsãé2·áŒÞ¼ÖQ(–û™�—í4lHÛ Ö_­®ü*‘\[Ä^Ü–ìiýKfa•ðUh¦îœó‘=Q¨%ü׳o´Ê¯TŒE–Hnî:Á�¶™¶<òøóÜ^âGÅÜþéoTŸ¸Q: Ê]KO6ªHH+>áCx—1Gê×'\–È›¼0ÿÌØÃmv²ÃÚ-1|cʨ�9Q§?9˜o+Š%Ë04` «w»â^'Æi—JZï÷Zþ´Ã8°nœ|q#žýÒ¥f.ÅÌ!kÌ€¤�F{�8–†&MSסtäÚèRhúõ*2ÌzÔðû§�™üÈÁù0cfˆëX=�I”¯Fü£.‰ÏËŽ“³B4Ÿ•�-N¥½âS,5A«‹òÊnòðë£Hfºý‘D�ï ìmœù´ÓÿŸstvMÕÄ<#aÍÚ…ýÁ-Y5ÃLÕƒ~‹OâÿÈCÎ3híÁÖÝÙõNëloê"ûÂU†Vù%X<ÖªÐÛ”-íÛcþÕïÛAF¾È�t~¤‡2ºï dø;èЄ>q�Ên܈6¦É€cC‡m�@(ÖhŠºæ¾¯N€,Õå‘6‘¡_±÷é—”ïÁºAÓ'aÒÛÜ*ìaŒŸa€àN–�ÍQ�¾ \‘<]}ô§ƒ)¾Âu©Ñ—Gg¢a`W®Ž±Ù :߇�ÛÊÖäY`&›1ŒÅcžab:=ä€nyßj ÔQÛpcïµÝά›˜NõqÜsÊײ7•¨óÅMo“;A±£Î"Ooò_It¢Äe”cÃ&øÊs\~Ãás€-Cc8ûGíZƒ!à3(ŽÐemtÐJ^-îy^%牂ƒMpÊÀŽ–vœ¨X¾{9³TíÏÊáCþ0¡^M“°QPßlU?" #søûh^þ G"ROºÑsœY`v'×Zˆ‚Q�¶šßûj  ¼Õ¹<Ì T¥ »_øqnÃW¡w‰ª†úª+‡ã*�”{…äy R–…¦Å„;:Éú`G­D½·-ÅRfAo¢Ê·¸@]Y÷þÁA÷µº‡ÄÃhoßäÑÏ!^Φˆ+¦Æú×·ˆ>w ÌMJŸ§é|ÒP,ŸýFÌ…Ó ¿¾�Ù|È“ÝÔ�7ѲÔbòã‘swWZÜ7+¡ÄÅb¬ƒ7­i 2÷qâ•Û¿±€èÏ3іׇ-”Û”·Ë¡©qáµQþ}&¿�ŒÂ{x¿u4Ϩd!¼\ýe?̧§4tPŽÕ”OÏSãH7†\ºŽGå–¢² †Ciwß”á³<Ú/�˜Áè_ª±RCar’É›Zú4QYzbèÝ; ÷P½¶0Sü~në*•m:MÇäç6h•€©6¸0gžÒ—KÇ¢ÝůótÏ‚ûã›7}Á¡HYcúH¥‰a`;Bß6ÿGùc}~µLuÍT K}ÕØÀÒpÞ`Šû‹Æ }é¿ð< ¢µ �ñNÐw³Ñ^B«æ9:¦üGªÛ;§ƒ!Ô¥±QV¸Ü 6mœ`††î jaK.ô¥#»Oè³D"Æ^±ÃÀ�ý+IvÒR[´òÀÃ!Óôr%,nôMPRÌZåÞáSÕØ„ëVJh‡Ð/ŸOõ)›`ó%Ÿ »–þ°åK«°&[L$&§F`“ÝÈb…½~¬€èæ<¸Já�¿ÑÁÊ„‘ÔjÜÛ �5P7øÇJ+lLükIc§@©r3.Ç2`Ôó1ïæŠO/îºíªqþojµ‘žq 8|"LÉQÝÕ~1Ú]Ê#íhtÒZ ÈK{y‹ŸÜq‘8}L‹1ž’x)¢ûzÃ*ÍôC¬ˆ8;xˆN›C¤Ή²hˆV'� ¦ÃA)B½ïaœ±?1bÑî°3“#Ñ«çslžqxbbºê¡»[ Ñ}’†Qx1¢Â $¢úÿö•>HiªÝ8Îñ#iÈî¬pL‹:J‰7¡õQÀ„¸³ØÑþEžœŠÀKEÆ1'ž°|¥º˜2ÑMN÷2âÚ]W¸Qpÿ�ú©kÌô÷Ï�#r‡CÌ/� ×áƒËb9Ô8'îŒqØ}—§ìÝ‹eè1޶µº¿å¶‡(Ç:Yçý¢ G«ÓŸÍ”U½Ë­œzkn•²†¸¢&(¶•EþKï{v5Ff+Ÿ=MOÒ•ÝO¶„°S(`€&–,ü&bˆçg˜½tXƒ1ƒÊ`m={,Ž\2(q™¦ìÃíÃàéöÙZý¾ï…n‹ùÊ0ÍÍé¸î•êçé�3kö;cЛ±ØÎɽòN²?…ÇX%:<|>ßF!&ÑÉmœ11â.¹‰É[c¬Þ1%†ÙÔ�ôDmqÃ5tN–x�""²nr˜ Þ›ÀT¤‘³¨?ã “?H˜’„CÔûÄ*«Àã3}I­qü_ª?à2)t½p�͸¥x%)釖À M[5-�ålqEPå…ÅlRäMPT˜Š òrçE%Ç!OÆ�pãÙnEäíÇÐÂÌp5D�,�+ Œ¨šÔ†£«Ñó(MÙ/—l‘Žxá/Eæ˜,õšàL/…"$ŠEŸÀ^Ö ™0nTÍpOÕeîij¥XYÞ9þïw¥ém9AIÆ©-øVU» ÈilÝì½Ïsôû¢÷XSÔ [<|d;8¿Ð:*ÏÓ7z·@H$ú# ‹å#oj‰Ù†"¶HºöF][̶R“Fð{=e2EŠ­kËýií££ù¶ªb–ûb ÊWëW AÜB¥�= ŽoP¿òge€=•y%H;1và€ju&‘ÙNØ Üš*Š| <ú‚g1‚c1s–¡60ä@ƒ�Yk¯±góÞ÷ê™ø}ǯj79Áuº,±|< ±Š)À«Ì�mTÛZÚÙ[BEö]#ÿd‡£ÁX'ÂB¬ ‹ ™PMÓFµŠB1¥ÿbbÉ3›ŒÆÍH­3ºn[t‰é"¹¼òw5V]ì+‚j½9M~ㄵÔC\é ž‡“M²j98DЍc[Žííœ:añUf�Ÿ­êµ Äì“…‰Üi~GÜí7�éˆJ-9ˆ¼uÝ;uÒ/ý'Qšc ÜæÊ|[_ žäwÓônHõÅ%À(kÀivp7õêueÉ@×e×hhx­ê«Ê©)¼Ôçú5Ü&çLj§`KûAPóáœÓ˜Zñû�%å‡S.!AŒÞ&ív£“J);~OÞ¡y[p}žN‘P²¢ÀwÆ 6·V æô«Õ,ìTpÒ„õ´�h6´žoƒßQhÚå{2¾é_ú–ÊûÜ6`û)LàØzÂa§‡äwDߢ é¡ ÃN†ÿsXvjËTnL™>Éû½Ê)g´-Ñ–dÈ!!G’³f…¹b�Ȧ]‹×€æC®ëžÛZ¹[ïž?=„@¯0†«T³ zœÿóíR3ò›D²êâ_ëBòõî5&aþÏÌÝÄ‚7HœšÖŠÆ™/wMMæmÑ÷ü¦êìøkfnë.û|œ·­èÁ¬é:Pçôha÷¥V‡õø$£‘*¦.�_Ú†�£Ž1Zª�~דîÌ .…ùñMÀWÄÙÄGÏð+A<¼ )™}–Áh%–4inÄ]Wîæò䱿äÀØ_âQðÆÎ¼Î=ª˜'©�Ö0 &FŒMFäšd¦š�…Ê$¡²|íÉ’�ƒtÖëm»»$Ã7 ­K×¼?�káŒZé¢B`ù¹T>ä \² c"(JþÏ"´•:¹Y�X-¦s 2¿á?3“OqEÒpva~&=~¥¯­vm©œ+>¨ØZ·^o§L V½óܰèÜ:/€»ׂ«9ÑÀ,±°¹Z &ó2Ÿžh%¶¨/t³ûËðLé¶éøŒQ$œ*’›È¦$L"Ú‘mútnO9 P®:Š–Áì€Ä‚¼ÆÃh]”ï¨<»þ¡‹%J%z¢~ðº^³·®„YÔ!*k ýåÁF—ÙàcoFƒÏûP�°ÅX±[ÇD�:{ØÁOæ>ðß %®'ZXÝEã K$ý=–¿KÔ`›Óÿ§ÐGóÜ¿_cY ĵ#Vœt/K �/#Ä *¬óN•šÿOYÏ3(”4òÑ=/íõ]¯{S‘@Š7¬�EÖúüZ‘+LÁó®å`¾–:$®óõ*"§ºâ�@ïPvÀiÍJê„3ѽ€×š˜»ÍÆÓZ49P²Rú ‰¤�–íqÕBX­/Šš`¬É¦1Vó†qãÞ4î DQÚã–ök{ Iê\NÆÖf`Ùy[FÜÚË “ê%®™¯O€ �3½@U˜¦sO™ˆ¢ ~¶íÂcOÐXÚ‹Î]|ð§ÜoÐoŽT©×Íq»˜/˜Îê$ÊRlQ}:ƒË“<Ö�O½üÙ1X &ˆÉYœ(Ò'ò¦º[œê0wü}ˆ•LŽ-«œ¬,a =ñ;\&sD#¾ß ¥ó=¬“J$mgÛêÙBró7™Æ"]S2-zP+ ¡„o-Tö ° éoñX§x©UÔaU?©�;ï͹ ŒÌ!2÷ì”gp´–ŸqÞUP2ãæf%aÛÍhŸ�þþ§{„k€–]WƒxfOÞý-vG/=ŸâþWÒ pwvø‡Å3-˜L0xo3²Þ¦pèÛÁ£´  ªíÛt¹Zîœò2 NO%³Ø�Ç0Mƶÿª«|€¥>…ƒ9ƒÆÑ4ù�ù GŽÌŠãüuRY42‹QÉê©p¯{sªGKôO‘é(÷†cDÒ^ý8†+ö‹h/ƒüculhÃfMå!<ÇdµøÀuö^«$ìÙ—Št"¿jõñÿ»A¼ &~ô^3Ã'ç"öL^\žô7¤¶ÓóµÁrBí§½¹Ô¾�›/ñeX¹v´Y‚Ý·ÜÿZ¶q‘ h¶ mǪÁTç†iÄÒxÚ[Žâ™>[“C5ʧ*ªØÝÂcÜQ,¦%~‡�á¼²9ZJÀŸ+åÏýõØ7p={˜¸Në��^ÚCLÏãx—hªè¿©´ZWSáÏÆ4Å„KÃ!üS¯¤÷GÞºâŒFeáLEjŽ�¿=bÒÉ Ã{«g°ði¸À ¨Jü^zý_ƒ&Š©¡ "~´D‰æk¡Ä(¥f¬$T¶q»Kâ:UÐõµÀášñÚæ®çof¹.Qæ°íR?«-7Âùf�*“¹IúÿŸÑÚfS=B¡IX““‘.4oÝ)¾¢ÿ_˶Ø{–E\5Mä“âr·ã,·�� j©ï1šË1?ÿ1G?¦_ÁЏ_ÇŠ*+,-./0Ñ ˆ§W̯ º Ô Û õ ü ÿ      ÷A!n"†#†$°%à&(&(;(R(œ(Í(ã(ù()B) *W*¥*Â*-+J+µ+Ö+ð+�,¹,k-Œ-Ê-6.Î.Á/2c2-5Ð7í7X8u8à899É9å9—:¸:÷:j;B<ù<b?¬?½BFAFœF»FäFUG}GïGHŒH´HhI¡IJÉJ]KêK|LIM“MNOZO P“PÎ PS¢S¢TQUV°VuWXÎXoYZ(ZcZŽZØZB[«[Ø[²\_] ^“^º^õ^ì _ cèd fbf–fEghmhíh§iƒjäjmk!l÷lRmÌm€nVo±o$qÀ tGw$zÔ6zÔ�3‚ö‚H…f…†D†b†‡@‡ˆ1ˆ¸‰½‰¿‰ÉljˉωÕ‰Û‰á‰ã‰ç‰ë‰ñ‰/ŠmŠ|ŠâЇ‹·‹AŒqŒ·ŒêŒ—�fŽºŽ«�Ž’“´ “˜@•‹¥Ï­¶¿“ÇJÐ8ÒæÒ„Ó ÔÅÔ…Õ´ÕÑÕ%Ö7ÖIÖgÖÏÖìÖZ×x×á×þ×gØ„Ø2ÙOÙùÙ÷ÛkÜâÜXÝÎÝEÞºÞéÞßZßlß~ßœßà!à�à­àá3áœá¹ágâ„âã‡ãåãýãZätä™äÛä åcå“åJ-æríŽí¬íî+îFîvîÎîþîµ'ïÛõõõ#öÚ&ö¨úÄúÞú ûdû’ûü,ü]üÌüüülý�ý þ=þðþ ÿ×ÿMg• -^Íýmž>àÅ®Åâ�Õ ì  · É ç O l Û T q Ì" Ê_¿ ˆvŠÍŠõ Ѫ ÛPã±*9+Á+©,w-Ü7d8ì8Õ9£:2F´FÓFmGH¤H Iª PZzZÂ[«^Ð_3fnfµh5k”mT…=†P†9‡ÏŠ ‹ZŒÃŒÒÒ#Ò+Ò3Ò°ÕÂÕ3ÖEÖWÖÝÖh×ï×uØ@ÙÊÛÒÛÚÛâÛêÛòÛåÞ÷Þhßzߌßà�à$áªáuâ`ãsã�äÑäöä~å\íaîéîÍõö˜úùúû"üGüçü‡ý(þ ÿ?‚%Hèˆ)ûgÓŽ ú Å × ] ( b +++++++++"      (         ++++++***** ****** ))  ''(Ë G ¼ j!¯"Í#Î$ø%('k(µ(Ò(è(þ())[)#*p*Û*c+Û+ ,Ò,¥-.“.…/œ1ò4•78Ž8949þ9Ñ:M;<½<ã>‚BáEZFýF–G1HÍHÞI:JK¨K:LÃL÷MÎNÆOQPÜRUSVTUµUcV(WÉW�X"Y¿YAZµZ[j[Ž\]Á]Q^Ó^E_mb'dÆefKf¯f^g/hiÀiœj†k:lmåm™nooq�t-wly®�b‚!……{†ç‡ˆ¾ˆ ŠKŠsŠ‚ŠúŠÏ‹‰Œ�¯�~ŽÒŽÃ�¦’<“‰•r�n§®¯±¸6ÁèÉÙÑ—ÒÀÒEÓnÓáÓ Ô†Ô¯ÔHÕqÕèÕ~Ö ×�ר›ØfÙŽÛ,ÜUÜ£ÜÌÜÝBÝ�ݸÝÞ/Þ}Þ¦Þß³ßUàÄàJáÐá›â&ãŒãÁãçãä7ä\ä"åªå.íwí“í±íî0î�îïŸõàõ:öjú­úÉú#ûÆûtüý´ýTþ7ÿRÉuµU'Eаùl ± ×  þ    @ ˆ  Ì¦ ¬ ¯ ¶ Ð × ñ ø ü     ó=!j"�#�$«%Û& (#(8(M(—(È(Þ(ô( )<)õ)*R*Ÿ*¼*'+D+°+Ñ+ê+˜,³,f-†-Å-0.È.»/·12]2'5Ê7ç7R8o8Û8ü89Ã9ß9’:²:ò:d;<<ó<þ>]?¦?·BF5F†\†‡:‡ü‡,ˆµ‰º‰½‰Á‰ʼnɉ͉щ׉݉á‰å‰é‰í‰%Š+ŠcŠiŠxŠ׊ÝŠ‚‹¬‹²‹=ŒfŒlŒ³ŒåŒ“�bŽ´Ž˜�¥�i’o’|’‰’ ““®“”•‡¥Ë­ ¶¿�ÇEÐ3Ò¨ÒÑÒáÒVÓÓòÓÔ—ÔÀÔYÕ‚Õ±ÕÎÕÖ4ÖFÖdÖÌÖéÖW×u×Þ×û×dØ�Ø/ÙLÙåÙôÙòÛ=ÜfÜ´ÜÝÜ*ÝSÝ ÝÉÝÞ@ÞŽÞ·ÞæÞßTßiß{ß™ßààŒàªàá0á™á¶ádâ�â ãã}ã„ã§ãàãúãäUänä�ä–äÒäØäåå`åŠå�åEæfímí‰í¦íî&îCîmîsîËîõîûî°ïÏõÖõòõö öÕöœú£ú¿úÛúû ûaû‹û�ûü#ü)üTüZüÉüóüùüiý”ýšý þ4þ:þÞþíþÿÿÒÿAHdŽ’&*U[Êôúj•› 5;ÎÝ Âq©Âß�˜ Ð é  ´ Æ ä L i × ( Q n  ! ' - 3 9 ? E K Q W ] c i o w } … ‹ ‘ ™ ¡ § ­ ³ ¹ ¿ Å Ë Ñ × Ý ã é ï õ û  #)/7?EKQW]ciou}…‹“›¡©±·¿ÇÍÕÛáçíóùÿ #)/5;AGMSY_ekqy…‹‘—�£©¯µ»ÁÇÍÓÙßåëñ÷ý !'-5;CKQYagmu}ƒ‹“™¡§¯·½ÅÍÓÙáéï÷ÿ !)17=CIOW_ekqw}ƒ‰‘™Ÿ¥«±¸¿ÅÌÓÙßæíôû $© ³ Í Ô î õ ÿ    D ¹g!¬"Ê#Ë$õ%%'5(J(R(œ(Í(ã(ù()B) *W*Â*J+Ö+ð+¹,Œ-.z.l/ƒ1Ù4|7í7u899å9¸:4;î;¤<Ê>iBÈE:FAFäF}GH´HXI™IÅI!JùJ�K!LªLÞMµN­O8PÆPÃRà­à3á¹á„âã!ã‚ã‰ãªãåãÿã äZä“äÕäå å�å“å)íkíríŽí¬íî+îpîvîøîþîšõÔõÛõö#öeú¡ú¨úÄúû û�û¯û&üWü]üöüüü—ý�ý7þ=þáþÿ ÿ FM�²(X^÷ý˜ž8>Ñ @t®âg › Õ  ç ‰  * q  $ * 0 6 < B H N T Z ` f l t z ‚ ˆ Ž – ž ¤ ª ° ¶ ¼  È Î Ô Ú à æ ì ò ø þ   &,4<BHNTZ`flrz‚ˆ�˜ž¦®´¼ÄÊÒØÞäêðöü &,28>DJPV\bhnv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*28@HNV^djrz€ˆ�–ž¤¬´ºÂÊÐÖÞæìôü&.4:@FLT\bhntz€†Ž–œ¢¨®µ¼ÂÉÐÖÜãêñøÿ !'s(½(Ú(ð()1)c)*+*x*­*+5+™+½+ä+‡,¥,M-s-·-(.¸.«/¯1Å1W25º7Ø7;8`8Ä8è89²9Ñ9y:Ÿ:ã:\;,<ã<ö> ?Ÿ?§BF.F�F°FÏF3GiGÍGHhH HI`I{IîI­JBKÎK`L.M†McNõNMOíOxP¦PìRST.UÞU�VRWóW«XLYåYZQZvZÅZ&[�[¾[ž\;]ê]w^§^ã^Z_èbÄdîefVfjf(gùgUh�häh�i]jÄjkdklÖl7m~mÃm_n5o–oq¬t:wzfz¿�‚†‚í‚2…P…û…9†L†÷†5‡õ‡"ˆ!Š_ФŠg‹œ‹'ŒVŒ�Œ¿Œz�IŽ£ŽN�¢�ç‘y’†’Û’“§“�•àÑ¡ÒÊÒÜÒOÓxÓëÓÔ�Ô¹ÔRÕ{Õ¬Õ¾ÕÖ/ÖAÖSÖµÖÙÖG×d×Ç×ë×MØqØÙ<Ù®ÙñÙ•Û6Ü_Ü­ÜÖÜ#ÝLÝ™ÝÂÝÞ9Þ‡Þ°ÞáÞóÞDßdßv߈ßêßà|à™àüà á‚á¦áMâqâãâã<ã—ãÖãòã äKägä‹äÍäòäJåzå(æCí‚íží¼íî;î]îµîåî“ï´õëõ ö¸öú¸úÔúõúKû{ûîûüCü¬üãüLýƒýíý$þžþêþÿµÿ&]~ñ!D­äM„î%ŸÚ÷¥L�»Ïvs Ä â ö � Á Ó 5 Y Ç  J ^  m(·(Ô(ê()+)])ú)%*r*§*+/+Œ+·+Ü+z,Ÿ,@-m-¯- .«.ž/§1½1.2 5­7Ò7.8Z8·8â89¥9Ë9l:™:Û:T;<Ö<î>?v?šBùEFtFžF½F&GWGÀGñG[HŽHùHZIjIæI J5KÁKSL!M]MVNèN$OàOkP•PäRrSrT!UÑU€VEWæWžX?YØYZIZeZ½Z[ƒ[­[–\.]Ý]j^•^Û^F_Úb¶dàefMfdfgëgGhohÞhsiOj¶jûj^kòkÈl)mim½mQn'oˆo q¦t4w z8z¹�è�q‚ç‚,…J…í…3†F†é†/‡ï‡ˆŠLŠƒŠ^‹‰‹ŒCŒ”Œ¹Œm�<Ž–Ž5�œ�²‘s’€’Â’“¡“Š•ÚјÒÁÒÖÒFÓoÓâÓ Ô‡Ô°ÔIÕrÕ¦Õ¸ÕÖ)Ö;ÖMÖ¦ÖÓÖ8×^׸×å×>ØkØ Ù6Ù�ÙëÙ�Û-ÜVܤÜÍÜÝCÝ�ݹÝÞ0Þ~Þ§ÞÛÞíÞ5ß^ßpß‚ßÛßàmà“àíàásá á>âkâÅâã)ãŽãÍãéãäBä^äxäºäßä;ågåæ0íyí•í³íî2îJî¦îÒî„ï¡õâõùõ©ölú¯úËúâú<ûhûßû ü0ü�üÐü=ýpýÞýþ€þäþôþ¦ÿTkâ1žÑ>qß�Ôä–F”²Égm » Ù ð Ž » Í & S ¸  A X ö u(¿(Ü(ò()3)e)*-*z*¯*+7+�+¿+è+‹,§,Q-u-»-,.¼.¯/³1É1[25¾7Ú7?8b8È8ê89¶9Ó9}:¡:ç:`;0<ç<ú>?£?«B F0F…F²FÑF7GkGÑGHlH¢H:I}IòI±JFKÒKdL2MŠMgNùNQOñO|P¨PðRƒSƒT2UâU‘VVW÷W¯XPYéYZUZxZÉZ*[”[À[¢\?]î]{^©^ç^íbÉdóef[flf-gþgZh³h†ibjÉj3klÛlÙÐÙ—Û;ÜdܲÜÛÜ(ÝQÝžÝÇÝÞ>ތ޵ÞãÞõÞIßfßxߊßïßà�à›àá"á‡á¨áRâsâöâ>ãœãÝã÷ãäRälä�äÏäôäOå|å-æEí‡í£íÁí#î@î_îºîçî˜ï¶õðõö½ö�ú½úÙú÷úPû}ûóû üEü±üåüQý…ýòý&þÂþ ÿºÿ(b€ö#F²æR†ó'²ùªN¤ÀÑ{u Ë ç ø ¢ à Õ : [ Ì  O `  Ü*d+ ,Ó,§-.”.†/�1½1ó4–78�859ÿ9Ó:N;<¾<ä>?ƒBâE\FþF—G2HÎHßI;JK©K;LÄLøMÏNÇORPÝRVSWTU¶UdV)WÊW‚X#YÀYBZ¶Z[k[�\]Â]R^Ô^nb(dÇefMf°f_g0hiÁi�j‡k;lmæmšnpoqžt.wmy¯�d‚"…€…|†è‡ûŠÐ‹ŠŒ�°�ŽÕŽÄ�§’=“ÚÑÁÒoÓ Ô°ÔrÕéÕÖ!×�רœØgÙ�ÛVÜÍÜCݹÝ0Þ§Þß´ßVàÅàKáÑáœâ(ãÃã9ä#å«å/íŽîï õ;ökú$ûÇûuüýµýUþ8ÿÊv¶V(FŒúm ³ ! ÿ ¡  A ‰ Ü*d+ ,Ó,§-.”.†/�1ó4–78�859ÿ9Ó:N;<¾<ä>ƒBâE]FÿF˜G3HÐHàIb?nBÍEFFéF‚GH¹HÊI&JþJ”K&L¯LIMãMºNO²O=PÈRASBTñT¡UOVWµWmXY«Y-Z¡ZìZV[z\þ\­]=^¿^Ybd²e7f›fJghòh¬iˆjrk&lülÑm…n[oíp‰twXy$zš�Ô�N‚ …k…g†Ó‡ˆæŠ»‹uŒîŒ›�j޾ޝ�’’'“¬ÒZÓöÓ›Ô]ÕÔÕjÖ ×{ר‡ØRÙAܸÜ.ݤÝÞ’Þ ßŸßAà°à6á¼á‡â­ã#äå–åyîï&öû²û`üÿü ý@þ#ÿµa¡Avå�  ê Œ , t ÷y‡‘$.¯-á-f“¦ ±» *4V“$”ž¨³ÁËÙã훥¯¹ÄÒÜêôþ8‘›¥7�§_it‚Œš¤®èó #yÅýfbI”_æhfkÅmï‚¯Š¤�{’ˆ’“óÙãìþÜ·(¨)Ý*–,ð,�/¬0Í1�3Í5">/?c@èABBùBDéDÖF(IÍNÎOãTùZ«e:f¢f gŠg h-i*j�kdlamÆn]p½tUuëu„vwxyzóz‡{9|ñŽÍ�/�Ì•f–þ–‘—~˜,™¢™ÿ™Qš›Ö›zœ1žnŸ‹ ê¢‘¤¦ß¨Wªö®®¯¯°H¿/ÁÃF!£!Œ"Ù"¢$�%½'>8˜8i9¶9Æ:´;M=­KbL�\®b.o±�€Û€P…ôЏ‹[�‘�è�Õ‘¸’Ý“¤”Û«ù¬®¢®°�Ã�ÈâÈ4ɃÉâ ö !!2!¦)Û*”,î,/ª0Ë1�3Ë5<8-?a@æA@B÷BDçDÔF&I«KÌOáT÷Z\8f fgˆgh+i(j�kbl_mÄn,o»tSuéu‚vwxyzñz…{7|¯Ë�-���d–ü–�—|˜*™ ™ý™Oš›Ô›xœ/žlŸ‰ è¢�¤¦Ý¨UªÙ«¬¯°F¿-ÁÃ�á!Š"×" $Ž%»'µ(–8g9´9Ä:²;K= >`LËN¬b©e[p€Ù€N…òж‹Y�ïŽæ�Ó‘¶’Û“¢”Ê•÷¬® ®ô®­°§)Ü*•,ï,€/«0Ì1Ž3Ì5=8.?b@çAABøBDèDÕF'I¬KÍOâTøZ€\9f¡f g‰g h,i)jŽkcl`mÅn-o¼tTuêuƒvwxyzòz†{8|°Ì�.���e–ý–�—}˜+™¡™þ™Pš›Õ›yœ0žmŸŠ é¢�¤¦Þ¨VªÚ«­¯°G¿.ÁÎÌȢ!‹"Ø"¡$�%¼'¶(—8h9µ9Å:³;L=!>áÈ3ÉaLÌN­bªe\p€€Ú€O…óŠ·‹Z�ðŽç�Ô‘·’Ü“£”Ë•‚Éø¬ÑÉ®¡®õ®®°ÛãPä¢É ï !!+!…È?!ó !!/!‰ÈC!+¡+�,U-¾-0.À.³/·15Â7C8Ì8º9�:ë:d;4<ë<þ>¯BF�F@GÚGuHGIüI»JPKÜKnL<MqNOûO†PúR�S�T<UìU›V`WX¹XZYóY^ZÓZ4[ž[¬\I]ø]…^ð^öbÒdüe2gh_h“iojÖj lãlDmlnBo£oq³tAwzÆ�Ï‚9…†‡ü‡{‹7Œ­Œ„�SŽ­Žz�D’ö’®“Ö¿ÖQ×Ñ×WØ"ÙØÙNßô߆àáŒáWâþâZå8æÅî£ïÈö[ûþû¼ü\ýýýÑþÅÿ½]þÁµ€§ ? Ñ  �(Â(6)w)0*}*&ˆ•_°ŠÉ ¥*-+µ+�,k-Ð7X8à8É9—:FœF»FUGïGŒHhI“PZcZ«[“^>_ fbfmhùjgmH…1†D†-‡·ˆmŠ|Ї‹AŒ·ŒÒÑ“ÒAÓÝÓ‚ÔDÕ¤Õ¶Õ'Ö9ÖKÖÑÖ\×ã×iØ4Ù‡Û(ÜŸÜÝ‹ÝÞyÞÙÞëÞ\ßn߀ßà‘àážáiâã‡ãýãvä¸äÝäeå'íHîÐî˜õ÷õcúàúfû ü.üÎünýþòþ i /Ïoâ>Çe î ¹ Ë Q  V )fóѨÛMãTíÅõ�ú7]„  fäÑ™Û@ãGí¸õƒú*Pw  ©¬³·¾ÂÆÊÎÒÖÚÞë÷ 07>ELSW[_lxŒŸ±Ìâæý $+/6=AHLS]s€‡‹�¨ÁÅÌÐ×Ûâéíôøÿ#'+29=FPTX_cjnuy€‡‹’ §¶ÂÉÐÔíôø    # * 1 8 ? F M T [ b n r x | ƒ Š ‘ ˜ œ £ ª ± ¸ ¿ Ã É Ó â í ú    # + / 7 ? G O S [ c k s w  ‡ � — « Ä Ô ë ð    % ; ? G K O W [ h s ‡ Œ ‘ – ›   ¥ ª ¯ ´ ¹ ¾ Ã È Ó Û è ð þ  ! & . 6 ; C K P X ` h x € ˆ � ˜   ¨ ° » Ò Ù å ì ÷ þ  # ( - 9 > J O V [ h m q u } � … ‰ ‘ • � ¡ © ­ µ ¹ Á Å Í Õ ç ò ÷ ÿ  %*27;?GKOS[_gkswƒ‹�—Ÿ´¼ÊÏ×çìôø  $,4AIQYaiqu}…‰‘™­µÃÇÏ׿îöþ &*26>FJRZ^fnrz‚ŠŽ–ž´¼ÄÈÐØÜäèðøü  $,4<@HPejrv~”™¡¥­±µ½ÁÉÝâçïöý  '.5<CJPV\bhntz€†Œ’™ §®µ¼ÃÊÑØßæíóùÿ #)/5<CJQW]ciou{�‡�“™Ÿ¥¬³ºÁÇÍÓÙßåëñ÷þ $*06<BHNU\cjqx†�”›¢©¯µ¼ÃÊÑØßæíôû !(/6=DKRY`gnu|ƒŠ‘˜Ÿ¦­´»ÂÉÐ×Þåìóú$+29@GNU\cjqx†�”›¢©°·¾ÅÌÓÚáèïöý +f ÒÒÒ#Ò+ÒÂÛÊÛÒÛÚÛâÛêÛXãkãWíÈõ“ú:_†  ²*:+Ã+È+ª,~--€-�-‚-ƒ-„-Ý7e8î8ó8Ö9ª:«:¬:­:®:¯:°:3FÔFnGH¥H‰IŠI‹IŒI�IŽI�I�I‘I’IµP¶P·P¸P¹PºP»P¼P½P¾P¿PZ}Z~ZZÆ[Ç[È[É[¬^Ö_×_Ø_tfyf~f»hÀhÅh;k@kEkšmŸm¤mV…R†ÑŠ¢‹\ŒÉŒÎŒÓŒÄÕYÖßÖj×ñ×wØBÙùÞŽßàŸà&á¬áwâøä€åcîëîöûú�ûIüéü‰ý*þ ÿ„JêŠ+ýÕü Ù _ d H ½!k!°"Î#Ï$ù%)'s�o§¯¯²¸7ÁéÉàÉàÉãÉåÉçÉéÉêÉìÉìÉíÉïÉÿÉÿÉÊÊÊÊ Ê Ê Ê ÊÊÊÊÊÊÊÊÊÊÊ Ê Ê"Ê$Ê&Ê(Ê,Ê-Ê0Ê3Ê6Ê6Ê8Ê:Ê<Ê>ÊAÊCÊPÊQÊSÊ_Ê`ÊcÊcÊeÊfÊfÊiÊkÊkÊmÊoÊoÊqÊsÊsÊuÊwÊyÊ{Ê|Ê~ʀʂʆʌʎʎÊ�ʔʔÊ–ʘʞʠʤÊÒÉÔÉÔÉÖÉÙÉÜÉÞÉñÉóÉóÉõÉøÉûÉýÉÊÊÊÊ*ÊDÊFÊHÊHÊKÊLÊNÊSÊUÊUÊXÊ[Ê]Ê„ʈÊŠÊŠÊ’Ê1W#‡"#2Y?*àÒ¸*@+Í+¯,…-ã7k8ø8Û9±:4F´FÚFsGHªH“IÀPZ€ZÊ[±^Ù_ƒfÊhJk©m[…=†W†9‡ÒЧ‹aŒØŒ°ÕÉÕ3ÖEÖ_ÖäÖp×ö×|ØGÙåÞþÞhßzß”ßà¥à+á±á|â�äÑäýä…åhîðîöû†û"üOüîü�ý/þÿ‰%Pï�0Ú Å ß d i ž¢œ©)ÉÊÈ+<>R¤§<*NB0ÎØ6#J;)A/Ç5"I:(@._4!9'†?-3‡ß¨Ø8&M>W,2Ž 7%L=+OC1  $KÑ%Ñ%~ ضeöi_core_intrinsicsÁderive_eq_internalsÁ¢ŒÏ¾Sdþ¢ÉCœ9Ó$IÍ2µ‹ìüü (…‘Š]¬œSdþ¢ÉCœ9Ê^˜ÓÚ¬Ž€e ,ÿÙ}”V¯ëä derive_clone_copy_internalsÁð‰âSdþ¢ÉCœ9]šZ¡#“›Cìü ¤ ˆ¬œSdþ¢ÉCœ9'&iµÏÀ„¶Lü‘�ÀO_ëä ¢Ë¾Sdþ¢ÉCœ9d�ê¯ 8 É„Ã�…ÿ‚]´œSdþ¢ÉCœ9{› '˜v~ª³}ëä ýä ¢ŒÏ¾Sdþ¢ÉCœ9ßš75Sq¥·TÄ�¥™‘_ëä ÷¾Sdþ¢ÉCœ9-&ÚîÛHÚ~Éü쑤´œSdþ¢ÉCœ9*@;ºN} ~â»ëä ýä ¢ŒÏ¾Sdþ¢ÉCœ9JGO2*�¶ LͶEëä ¢Ë¾Sdþ¢ÉCœ9_Ï…d[¸3‘¶1Ñ%Sdþ¢ÉCœ9dƒyö�eWìü° (T¬œSdþ¢ÉCœ9˜sWÒ&Ê-no $ùÙu‚‚´ëä €æ ú Ì Sdþ¢ÉCœ9Ô†]½#º½ìü࣠½¬œSdþ¢ÉCœ9½ìPmÒRùq,õ‘}©Ø ëä fmt_helpers_for_deriveÁ¢g¡gSdþ¢ÉCœ9×}?Ž�¥É¼œìL´œSdþ¢ÉCœ9 ÂJÞg(×—e,£³6ëä €æ ð‰âSdþ¢ÉCœ9J¢iψQê~À�ÿëä ýä ¢ŒÏ¾Sdþ¢ÉCœ9àB¯“æÄñ]É„×�ï´œSdþ¢ÉCœ97ijçñI(q,гëä ºë ¢g¡gSdþ¢ÉCœ9“þ¹P~Û§ìo $Ƕ¾ëä €æ ú Ì Sdþ¢ÉCœ9 ÷k-¥ú‚ìüâŸ)w¬œSdþ¢ÉCœ9»xá»< {Eq,ˆ¼ºëä ºë ¢g¡gSdþ¢ÉCœ9�œ£×_ÁêБ $ô¶uÔ=‰ëä �i€iSdþ¢ÉCœ9;�$Ç©†�4ìüž£!¬œSdþ¢ÉCœ9»Ž“±7ü«q,à�Uëä ºë ¢g¡gSdþ¢ÉCœ9,HìÇMŽÙ3ÉìðÙ‰´œSdþ¢ÉCœ9Ý>,úróûöq ,Ì�¹ëä ºë ¢g¡gSdþ¢ÉCœ9×箕æ K¶Lµ�%ëä ¢Ë¾Sdþ¢ÉCœ9¬ë¦üÂú$crate::const_format_argsÁNùEŽ"`õÄ–] fmt_internalsÁfmt_arguments_from_strÁŸœSdþ¢ÉCœ9S�°¡isüÞ‘$ʳ«ëä �i€iSdþ¢ÉCœ9ŒoÀðï®õe ,À¶ˆëä €æ ð‰âSdþ¢ÉCœ91�Ì H¢¸ìü˜Ÿ'ó¬œSdþ¢ÉCœ9€î4ð’l‘$‚¼Fëä �i€iSdþ¢ÉCœ9NýOŽDˆq ,í¶iëä ºë ¢g¡gSdþ¢ÉCœ9»cº_èì5ìüࢋ¬œSdþ¢ÉCœ9šýhJ |BÉü·¶CÍ´œSdþ¢ÉCœ9~ÝÖhql9Žq ,¬ìýëä ºë ¢g¡gSdþ¢ÉCœ9ì‚RöÝÊÿFo$¯�œëä €æ ú Ì Sdþ¢ÉCœ9V¶§æˆ$crate::panic::panic_2021ÁøCè V¥Â`panic_internalsÁÏ¢[ˆZSdþ¢ÉCœ9 éD™ $ÉüÙ»6È´œSdþ¢ÉCœ93œ>LÈÒU·T¾³‰ëä ÷¾Sdþ¢ÉCœ9†½‘8¢Ÿ­^‘$Ü�;ëä �i€iSdþ¢ÉCœ9¡,¡[õü¥ì´òžI ¬œSdþ¢ÉCœ9£¬£gO¡ô·Tö»ëä ÷¾Sdþ¢ÉCœ9ä1�0{�Þ°± è¶mÝŸ_ëä ò¾Sdþ¢ÉCœ9yÚµ@PWÏ}ìü–¢)á ¬œSdþ¢ÉCœ9£iˆN¢Ø=iÉüŸ�C# ´œSdþ¢ÉCœ9Ç’™ý¯ºMue ,¥ì ëä €æ ð‰âSdþ¢ÉCœ9ÇŸdö€Ÿe,¨�F ëä €æ ð‰âSdþ¢ÉCœ92ªD¡q,šÄëä ºë ¢g¡gSdþ¢ÉCœ9Fôä/Ì‘.Éüš³=ù ´œSdþ¢ÉCœ9¯F:’¯fZ±¹³jëä ò¾Sdþ¢ÉCœ9•°þ³CP,ŸýFÌ…Ó¦¶Ø{–E\5MHOoò_It¢Ä†Vœt/K �/ÙÅ3-˜L0xoÅlRäMPT?.…ùñMÀWĨ#»Oè³DÎ{sªGKôO‘^M“°QPßl‘žoƒßQhÚåŒÎê$ÊRlQ}õÂcÜQ,¦%-–ŸqÞUP2†Vù%X<ÖkÛÊÖäY`&~³·®„YÔ!*ÏK«°&[L$&ØOÞ¡y[p}ž‡ÍÆÓZ49Påù}„u^ÐNà‘\[Ä^ÜB4QYzbèݺ­ä \² ¶!kÌ€¤�FWC‡m�@(ÖrÒ„õ´�h6´‹�(ƒDH0‹òB‹„”’Ñ:�”{…äy ›� ×áƒËbþÝO¶„°S(>…ƒ9ƒÆÑÄì“…‰Üi~wj98DЍc[t²Rú ‰¤�æ…¹b�Ȧ]–?H˜’„CÔ8:ƒË“<Ö�öwü}ˆ•LŽúê×'\–È›¼M`€&–,ü&ðû§�™üÈÁ[,õšàL/HªrI ›PpMvœ¨X¾ŽÜ 6mœ`††Ì˜ Þ›ÀT¤6K{y‹ŸÜq‘æbbÉ3›ŒÆmѽ€×š˜»äYçý¢ G«N‘P²¢Àwˆ-«œ¬,aûP+ ¡„ooñX§x©UμÎ=ª˜'©®ÿª«|€¥…½~¬€èæÚEK…-­…æÅù•®€ó2/É Ã{«g9ÛÁ£´  F �gµÈÁ*h%¶¨/ÃÆ 6·V ‰o¢Ê·¸@]YŸž°|¥º˜2Ñù×Íq»˜/˜ô =ñ;\&sü°ði¸À :Hnî:Á�¶™GÇÐÂÌp5C"Æ^±ÃÀ�ýÏvMÕÄ<#ae'� ¦ÃA)ìd‡£ÁX'Âjœ·­èÁ¬é:¢Må!<Çdµø܈6¦É€cq‚ƒMpÊÀŽ–�Xƒ1ƒÊ`m=ïµÝά›˜‚òÀÃ!ÓôrÑ K}ÕØÀÒpÅ ¿¾�Ù|È“§Þ1%†ÙÔ�ô3ŒFeáLEj7k{ Iê\NÆëû™�—í4lH@ðUh¦îœó‘D9Ô8'îŒqØÿt³ûËðLÄMsõ>ï¨<̶<òøóÜ^âH¶Bu\óa ¥V‡õø$£‘¤"Ú‘mútnOÇŒ˜1þ@íƒ;R–…¦Å„;œ‹QÉê©p¯æ>ðß %®ÔAý %ºB¬ ‹ ™PMkÁÖÝÙõNëiQ&Š7Õ õñÿ»A¼ !ƒ&Š©¡ "<ØÑþEžœ÷3P3æ�S5¡Ä(¥f¬>t‰é"¹¼òoÄçLô!˜ˆ$T¶q»K?$ú# ‹åTBEö]#ÿi=¬“J$mgþ£ïQ>'�Sv"w¿+5aç ZÜ7+¡Ī9ÑÀ,±°¹ÁýÒ¥f.ÅÌV‘Žxá/Eæ˜GáCþ0¡�n‹ùÊ0ÍÍé+³Ø�Ç0MƶÝÔ�7ѲԨ¥ém9AIM;8¿Ð:*RŽííœ:añu]ýûâ=¥!K×¼?�ká´ÔaU?©�;ÓFµŠB1¥ÿlµÁrBí§½%~´D‰æk=>ßF!&0†\ºŽGå–¢µ¶HºöF][ÌV†j�sIYJG4L‹:J‰7õív£“J);~†c}~µLuÍTÄ8|"LÉQÝã&TÀÉN= £ŠãüuRY42ÓŸÍ”U½Ë§L V½ó¾P�°ÅX±[ÇÒ¨d!¼\ýe?²ºï dø;oP¿òge€=]Pçôha÷£và€ju&‘_ì+‚j½9q» ÈilÝì½O>œzkn•²† gúÏo]\à�pãÙnEäíBèЄ>q�ÊnpýõØ7p={0³~;‹u�æ8þKï{v5Ff nÃW¡w‰ª†™�͸¥x%)é<CEÏy-Æû#-9ˆ¼uÝ;uy7õêueÉ@°nœ|q#žUûã›7}Á¡HÁ¥¯­vm©œ¼O&ïTå €b:=ä€ny€w5V]pGÜí7�éˆJx¨Jü^zý_;M~ㄵÔCr Ñ}’†Qx1ñ#oj‰Ù†"U˜o+Š%Ë0Q´Ê¯TŒE–Fé¶éøŒQ$Å�£Ž1Zª¦ñþÙ‘é9%'§F`“ÝÈbÙªÐÛ”-íÛl‚c1s–¡60b<¼ )™}–Áª³ìƳ›ù_:B½ïaœ±?íÑÉmœ11â1“³B4Ÿ•�_” Ó’£µaÁ)ií££ù¶YYcúH¥‰aÂMJŸ§é|Ò¥)¾Âu©Ñ—{˜Áè_ª±RC¸/Šš`¬É¦1èLÁó®å`¾à/íõ]¯{ݹ.Qæ°íR?BSf”±e‘�"!Ô¥±QV¸Ë½Ê)g´-Ñ–”¸¢&(¶•E ˆ¢ ~¶íÂcðÜÿZ¶q‘ (”ïÁºAÓ'v9b¼±à‹Â{x¿u4ϱâåf¦ÀI6I%À(kÀivp~0ÿÌØÃmv²NÊs\~Ãás€ˆ7•¨óÅM„DmqÃ5tN4 é¡ ÃN†‘&tl›Íé,Ý)MÎ!É0€,Õå‘6táŒÞ¼ÖQ(–?j  ¼Õ¹<Ì—aþÏÌÝÄ‚�äÀØ_âQðÆ­CWîsãé2·>Wîæò䱿¬¸î•êçé�3,ÚË “ê%®™í}—§ìÝ‹e‘D�ï ìmc6ßÎ%ïÉ„ˆ'ØÒ¸ñµ+–:$®óõ*"á%,nôMPRÒâ:UÐõµÀá@÷þÁA÷µº ûÜ6`û)LàŽí|ÏüÍ­Ô GÅÜþéoTI�~דîÌ §é(÷†cDˆ>w ̤ŠÀKEÆ1'øaÒÛÜ*ìawMN÷2âÚ]úâùJ þDNB¥�= Žo\-¦s 2¿¹°¢Î&Šõ÷ü¦êì ØzÂa�íÃàéöÙZ)L`Z›–x�""²nr5îK©“%+9�Ö0 &FŒ¯ˆÉYœ(Ò'òøXlÕw-¦k¶OÞý-vG/ 8}L‹1ž’xç§@©r3.Ç2ßÍH­3ºn[nKO6ªHHK€©6¸0¾^B«æ9:¦üÉ9 P®:Š–Èß”á³<Ú/�·Ž�¿=bÒ8ÚfS=B¡IE‹×€æC®ëž—ÔspD¦µ�*R3ò›D²êâ›h^þ G"R“dÈ!!G’³f•S¯¤÷GÞºâ6'Æi—JZï÷S–ìiýKfa•Cî jaK.ô¥Í/wMMæmÑŸvÀiÍJê„3ã+Ÿ=MOÒ• »‹Š:OFe]$'ç"öL^\ž#½·-ÅRfAž™Æ"]S2-zØ„ëVJhÔç¸kWV×j1v¨*VV!âX¹v´Y‚Ý·'mTÛZÚÙ[h{,Ž\2(<Õ~1Ú]Ê#ääÑÏ!^Φˆ¢{2¾é_ú–Ê�MFäšd¦š°ë£Hfºýb•>HiªÝ8óOÕeîij¥XKh%–4inÄ]«Ñ«çslžqxïÐoŽT©ó 2÷q╬NõqÜsÊײƒìÙ—Št"¿j ÿsXvjËT’áhE,{n÷Q Òpva~&=~»”4òÑ=ÜÊA{‚ZÊS&5ÃLÕƒ~‹Og¡õQÀ„¸³ö{�8–†&MSXÓÃŽÀ‡þ£»ÞÓ'Kˆ–[TôC¬ˆ8éÞ`Šû‹Æ Æ�ÍQ�¾ \yojµ‘žq ⟠»–þ°å×bˆçg˜½tàz>q™¦ìÃ(nL™>Éû“u-ˆ]ŸrÈÑ$�…Ê$¡²|í±¢Â $¢úÿöòhªè¿©´3Û Ö_­®ü*AUf�Ÿ­êµ v=�I”¯Fü£]è1޶µº¿ˆ‚Q�¶šßû–÷�ÁƸæK¯(ªíÛt¹Zî«Ê©)¼Ôç�; ÷P½¶0S»ÍÚ…ýÁ-Yf%™b;Âî’;.k ýåÁF—ÐÁì€Ä‚¼ÆÉTç†iÄÒxÚ*X`JÇb¤ÄÎñ#iÈî¬pôœ*’›È¦$LÆA«‹òÊnòðaíhtÒZ Èå–íqÕBX­ç7HœšÖŠÆ™žÙNØ Üš*`šc ÜæÊ|{ܰèÜ:/€¿3²Þ¦p茟a€àN–x”j]ºâ&£ô% hj¬ãÆí2סtäÚèRYVó†qãÞ4îéhŠºæ¾¯Ns:MÇäç6h•½ DQÚã–öêü~në*•m¼økfnë.û|¡/îºíªqþáO}Ú©î:[÷<`Ôó1ïæŠOàÛZ¹[ïž?=˜%z¢~ðº^ÎØÎɽòN²?.˜Š òrçE@Z &ó2ŸžÂ_ëBòõî5&œ«-7Âùf�*CŠ| <ú‚g1aªb–ûb ZEÖúüZ‘+ßh/ƒD�,�+ ŒD zœÿó횃!à3(ŽŠ”OÏSãH7´ûÄ*«Àã9»ׂ«À¯O€ �3îD#¾ß ¥óý4ù�ù GŽÌcþÕïÛAFmÝ)¾¢ÿ_ËGÒ/ý'Qzloê"ûÂUjU?" #søû’-îy^%牌µQþ}&¿�Œ°X““‘.4oFó(MÙ/—lF`;Bß6ÿGùñ٠:߇�}F�dœ;ñu}é¿ð< ¢µÇ[Žâ™>[“C+‘³¨?ã “7§ºâ�@ïPâ…"$ŠEŸÀ^IÙàcoFƒÏûцðˆËGG>¼+•y%H;1^'ZXÝEã KÕH!BK7ín 4Å„KÃ!ü5‡–À M[5-=;xˆN›C¤ê%Ç!OÆA`KûAPóᜃ�9Q§?9Pßj ÔQÛpc�+IvÒR[´Мò2 NO%c,ÍUï9#˜¸Në��1€–]Wƒxf ä@ƒ�Yk¯cv'×Z•.¹‰É[c¬2•:¹Y�X¸+>¨ØZ·^o½•šÿOYÏ3(Ûö¿wÐ_ãçoGg¢a`W®Ž|:Éú`G­D�â[{b§n@ãæf%aÛÍhÀuö^«$&~ô^3Ã"‡ÄÃhoß¡² †Ciw¶ø}ǯj79Áe‘ýb¼k£oÝÚUkWk&2EŠ­kËýXh¶ mǪÁ)W¸Qpÿ�úûÝůótÏ‚ÀÉ’�ƒtÖë²4` «w»â^R+>áCx—1GLÖf`Ùy[FÜì)¢ûzÃ*Íè« Ý{Ë…°ÃÚ-1|cʨOÏÓ7z·@HSáÈÕx€#”[*¦.�_Ú†¥Åb¬ƒ7­i«ý¾ï…*¨šÔ†£«ÑEúª+‡ã*šù0cfˆëX\W?å+‡7Þ"\é ž‡“M²s„@¯0†«T³™Ò^ý8†+ö‹<¸Já�¿ÑÁÛbòã‘swW©á?3“OqEº–ׇ-”Û”·®gžÒ—KÇ¢¿¹Ô¾�›/ñe&‡Ð/ŸOÕZJÀŸ+åÏ/bbºê¡»[ðÏsôû¢÷XSP?Ìà ¥¨[!WÀc¦Ç~å9GªÛ;§ƒÊ =Õ¨ëØ,Ë¡©q᯽@U˜¦sO™ïŸ�þþ§{„k #Ä *¬óNÚ¤;Ä£­ùy%5ʧ*ªØÝ,šñÚæ®çofA1bÑî°3“#î‘¡_±÷é—uo“;A±£Î"…�� j©ï1šJ=„d·Sœ!ä“âr·ã,·I»©Šº—üŸË T¥ »_øq˜VË­¿«G=±Š)À«Ì�g$ý=–¿KÔ`Öe”cÃ&ø‡m»»$Ã7 ­³¿µÛÅ‹zt›1ŒÅcžaSdþ¢ÉCœ9ar’É›Zú¹#r‡CÌ/ýâÿÈCÎ3híh.‰ÏËŽ^ �ñNÐw³ÑÈ›Óÿ§ÐGóÜ×^ÚCLÏãx—2ô7¤¶Óó$±góÞ÷ê™dÜÚràäLÌZåÞáSÕÓ-N¥½âS,5`©ú�4àã‘û ZWSáÏÆ4ú5Ü&çLj§‚Û¿±€èÏ3Ñ­{9³TíÏÊ�ðjí›zì |Äïƒö7¶R“Fð{=eWÙÄGÏð+A©Î]|ð§Üoò‘<]}ô§ƒz©kÌô÷Ï�üÆ©-øVUN+¦Æú×·£Ó˜Zñû�%å„+lLükIcÞ-Cc8ûGíZ‰YÞ9þïwLœù´ÓÿŸstdZJW7thÿÿnÿÿÿ7iÿÿÿXETÿÿÿÿ/,ÿÿÿÿ5%ÿ8ÿÿ8AÿÿujPÿÿÿ% ÿ.2Fÿÿ\ÿÿBi&ÿbÿ7*b"H6r>ÿÿkO(pÿÿÿÿÿ+u3ÿ8bÿU0jÿCQÿÿÿ' ÿ#kZh1h?-ÿ.ÿÿÿÿjNÿ ^ÿ`&_CRH U;07ÿ*ÿÿTRs ÿÿÿÿP,ÿhLÿÿ9ÿL~0a|1KÿÿLÿÿÿÿ ÿÿÿÿ8Izÿÿÿÿÿÿ5ÿÿÿÿÿÿÿÿcÿÿ$Hlÿq0ÿÿÿHÿ'ÿÿÿAÿÿÿÿÿÿÿÿWÿÿ &uÿÿNÿÿÿ)VyD%ÿÿÿÿÿÿr ÿ ÿÿÿsb\fLt[ÿÿÿÿjÿ$ÿÿpÿ^5ÿ Qf# ?*nQÿÿÿÿÿ yÿcÿÿÿÿÿÿÿÿÿÿÿÿ{ÿH^ÿCpv7ÿÿ 3Ct}: O$N@<.%/!ÿÿÿÿKUÿÿÿ1mÿÿÿ`ÿqÿHÿÿÿ`ÿiÿ!ÿÿ_ @\ÿKÿ 1ÿÿEÿÿg$8ÿY@ 'CÿÿÿÿÿtÿÿÿÿÿÿKfÿÿÿÿÿAÿÿÿÿc[ ÿÿÿÿLÿ2ÿÿ6Dÿ)pÿ]ÿÿÿpjÿ*ÿÿ"ÿfÿ0.'7_ÿÿÿÿÿÿÿÿÿÿÿzÿv0-ÿÿÿ ÿÿ9ÿÿÿyÿÿÿÿ[ÿÿ<ÿ-ÿ$ÿ~ÿF$ÿÿÿÿONqÿ)3q{JRh.O =ÿÿ45q[-ÿDeÿÿÿÿ ÿ~ÿÿ,.<ÿÿTÿJÿY5ÿ*ÿÿÿÿ(ÿÿ?ÿÿ)'Yÿ)]*ÿÿ.ÿÿÿÿÿÿÿrÿ:a}ÿÿÿÿhÿv{ÿÿÿÿÿÿZÿÿÿQÿÿÿÿÿ_}ÿWwÿÿs)ÿÿÿ,Kcmÿb8&xÿÿÿÿÿÿÿdÿÿVLÿÿÿÿÿ >@tÿzv)w'J{ÿÿ6>{'/"Oÿÿÿ ÿÿÿ FvGÿÿqUÿÿÿyfÿÿ#ÿÿeÿÿÿÿÿÿÿ ÿÿÿÿÿ*}ÿDFÿÿÿÿÿÿÿ7 ÿÿÿÿÿÿ|ÿÿÿG:Zÿ!I(ÿÿÿÿ/}^ %ÿ7~R N1 @3ÿW,77G" 4ÿÿ`n5`ÿ}ÿÿÿAuÿ/#nfXT$ÿÿ-Cÿ4ÿ?hoYYE`ÿÿÿ+ÿ"[ÿÿQÿÿÿ2ÿÿÿg)ÿÿ-rlpL5'"':*,02!=Q-PEPQD':*   26=c[_b_  daC XY%H]*b ;]dcb")'-79;,F:P8A>;/>/5)5_>G8A>UG2;L<0UA1A; A@@AABBCCABBBBC5 QPPQQRRSSQRRRRS=-  "0''!'',(04G2'$NN*1EJA @XV;!NGJHD,D(KOz) ' / L (0*)J7 ;+.B< != /%$$%% 0>39:K+(6P (77 254e !>Su /&73d !=Su /&ENKU'-D+ . - - . . (*)D7 A+.BB !$=5)+**++ 7"38.*@K+(8G .;= 25:e! .K`‚ /&79d! .J`s• /&E,. "()""9$)I.: $ LFMDKKMIC%> -1 #$%$ .13-&.+0*(;)=,0*.,#1&(3*E?!8 0,#M88 )(D2X4%02!/!!5 0]Y/#2)%-%1I/0-1&#.2%*1'!'6 SR((7#'F 6Q! “S) DF, EJ. CUF YaD 5N? LZ= 5J! AV1 1(%" ACEE)(!9, )1D >.,#1&4]_/'*-("7!+!!*!$ AF# CL' %*'?IKOEUL4LH$&E\&.!5#%5(%#"5(%#'Pr "+C2M=@ J6NCK$- 7O`CC+\M8!!!-$-EIGPNL,JG%" ;':N+0PQHNOMJ4 ;H+!9, )1D *+1"L "E%"(9 B($ &/M:= J0NCG$'X*9 [a &S'''=(/([Y' (=)/)'F&L=@HFE86+ \/PQN1IJNLLNN>B@@B H %+/--//+/--//0 +.  /)'')))''))0 +.  %##%% )3  57 !9= 432 535 G7G HH $'+))++ )3   ,&"-* &,,(-*  .'"/)! "&.-(/,%5 /'-<6>5=5=6>>  *)5<>>====>>>>4<6>5=5=6>>  #$B&  !$3!95 -0!95 5F./ &><52 +'C., &3<52 ($,&!37<52 *,! ;"$)& 9F=?+ ->A!'#) 4U  /%") );'&'#$' œâ” §·ÄÀí€v\�S/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/macros.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34ÁS/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/macros.rsÁ 8Áß2œŸ­*\u)õHÅòÛß’ß’ÇF?#EB@A$ M""CPP"" #Q*A 2 ""! #U'VSWO4 ;94; =9@ (#@; q€K(?as WOK(?a '820IFcKDnN6.]P8.F#D&8,+OJbJDmM5.\O7.E"C&82:O %6( 6(bJDmM5.\O7.E"C'8)08NKcKDnN6.]P8.F#D'8)078?@5?@cKDnN6.]P8.F#DNP)*%:8$%?6$P7$PRIB^4,|6,j!ˆIB(*EP ,@/^;,4O ,-/+%.9 668 8 *)*O 5! d!6"!^ !5 !] HBåñ:“:?eÇQV«R/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/serde.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34ÁR/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/serde.rsÁ Ñdø&GŸ—ÉB©ë‘G–çbçb� ^ .2OE TRRTT 'A  5 Q1D3%[(E%cL4Z( = V&E / Q1N$M4) Q!E \`^^`` -A &;&Q8D.%[(E%^L4Z( C&V&K  5&Q8N$Z4)! X %V5 B +# : +! <! I %# A %!  42244 %(  '42244 %+  :88:: '-  '54455 '-  ??H $=A??AA %(  .=A??AA %+  &CGEEGG '-  .@BAABB '-  &?FUJBÛ¸‹ŒR4U/“Ú²(iZ/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/__private_api.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34ÁZ/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/log-0.4.34/src/__private_api.rsÁ ‡û� D¢Ë�1íU¹fĈˆš]34 %O 2>> 5#%5K" _) /'!"J  $HM-$(?A8VX\V! R!]íØ›¦ Kà»SËæÍŒ9µB.FéHx86_64-unknown-linux-gnuÁÙ¥|ÿO=ŒÄ<Œç-3e104b0ce6b0ff02ÁSdþ¢ÉCœ9ž• ŽÝ&î,Œ�„ÛۀˀFØ$FÞÞ¿¿»»Ú ¬Ü„„„ù„Áù„Á™”ƒý Ë�„ËËŒ Ëá á „„Œ „Œ „Œ „”„Œ ƒŒ †î„Êøˆßð„¾ˆ„ˆøèßß¾¾„”«¿�ƒ½‰ ��ƒ ˃ – �„ƒ ÛŒ „‘Œ  'FßÒ�ƒ‰ ·È `¥`  çŠ rust-end-file.note.gnu.property.shstrtab.strtab.symtab.rmeta@ .€`ÂL&(M@MAM5lib.rmeta-link/ 0 0 0 644 640 ` ELF>@@GNUÀ6log-3e104b0ce6b0ff02.log.399c43c9a2fe6453-cgu.0.rcgu.oÁrust-end-file.note.gnu.property.rmeta-link.shstrtab.strtab.symtab@ €`F2¨*À Á:/0 0 0 0 644 13392 ` ELF>Ð$@@>¹1ÀðH± H‰Á”ÀuH‰=H‰5HÇ4ÃHƒùu"fDH‹ Hƒùuó�H‹ Hƒùtñ4ÃH‹ H…Ét °HƒùtÃH‰=H‰5HÇ1ÀÃPH�=H�¾ÝÿUAWAVSP¹1ÀðH± I‰öH‰û@”ÅuH‰L‰5HÇëQHƒøu(fff.„H‹Hƒøuó�H‹HƒøtñI‹H…ÀtH‰ßÿÐI‹vH…öt I‹VH‰ßÿ@€õ‰èHƒÄ[A^A_]ÃI‰ÇI‹vH…öt I‹VH‰ßÿL‰ÿèÿÿ t yHH‹HƒøH�HDH�HDÃHƒþ„Hƒþ…D¶�H¿€ù’ÁÀáÁ€ùeue¶G�H¿€ù’ÁÀáÁ€ùruN¶G�H¿€ù’ÁÀáÁ€ùru7¶G�H¿€ù’ÁÀáÁ€ùou ¶G�H¿€ù’ÁÀáÁ¸€ùr„d¶�A¿<’ÀÀàÈüÿÿÿÿÿÿÿ%üÿÿÿÿÿÿÿ >üÿÿÿÿÿÿÿ 0@P " ('B 4H \ p „˜¬ÀÔè,@TsAˆ‘.rela.data.DW.ref.rust_eh_personality.rela.text._RNvCs4WEQE74F78J_3log15set_logger_racy.text.comment_RNvNtCsgxBkk5gSRhY_4core9panicking9panic_fmt.rela.text._RNvXso_Cs4WEQE74F78J_3logNtB5_14SetLoggerErrorNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt.rela.text._RNvXsq_Cs4WEQE74F78J_3logNtB5_15ParseLevelErrorNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt.rela.text._RNvXs6_Cs4WEQE74F78J_3logNtB5_11LevelFilterNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt.rela.text._RNvXs1_Cs4WEQE74F78J_3logNtB5_5LevelNtNtCsgxBkk5gSRhY_4core3fmt7Display3fmt.text._RNvXs5_Cs4WEQE74F78J_3logNtB5_11LevelFilterNtNtNtCsgxBkk5gSRhY_4core3str6traits7FromStr8from_str.text._RNvXs0_Cs4WEQE74F78J_3logNtB5_5LevelNtNtNtCsgxBkk5gSRhY_4core3str6traits7FromStr8from_str_RNvMsa_NtCsgxBkk5gSRhY_4core3fmtNtB5_9Formatter9write_str.rela.text._RNvCs4WEQE74F78J_3log10set_logger.rela.text._RNvCs4WEQE74F78J_3log16set_boxed_logger.gcc_except_table._RNvCs4WEQE74F78J_3log16set_boxed_logger.rela.text._RNvCs4WEQE74F78J_3log6logger.groupmemcmp.rela.text._RNvXsc_Cs4WEQE74F78J_3logNtB5_14MaybeStaticStrNtNtCsgxBkk5gSRhY_4core3cmp10PartialOrd11partial_cmp.note.GNU-stack.rela.text._RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log5flush.text._RNvXsk_Cs4WEQE74F78J_3logNtB5_9NopLoggerNtB5_3Log5flush.rela.text._RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log3log.text._RNvXsk_Cs4WEQE74F78J_3logNtB5_9NopLoggerNtB5_3Log3log_Unwind_Resume.rela.eh_frame.rela.text._RNvXs0_NtCs4WEQE74F78J_3log13___private_apiNtB5_12GlobalLoggerNtB7_3Log7enabled.text._RNvXsk_Cs4WEQE74F78J_3logNtB5_9NopLoggerNtB5_3Log7enabled_RNvMsa_NtCsgxBkk5gSRhY_4core3fmtNtB5_9Formatter3pad_RNvCs1njKG4L9aB3_7___rustc14___rust_dealloc.strtab.symtab.rela.data.rel.ro._RNvCs4WEQE74F78J_3log15LOG_LEVEL_NAMES.bss._RNvCs4WEQE74F78J_3log20MAX_LOG_LEVEL_FILTER.rodata._RNvNvCs4WEQE74F78J_3log6logger3NOP.bss._RNvCs4WEQE74F78J_3log5STATE.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.9.rela.data.rel.ro..Lanon.a67f5915570d4dedaaae38a30c58203d.8.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.6.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.5.rodata.cst4.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.4GCC_except_table2.rela.data.rel.ro..Lanon.a67f5915570d4dedaaae38a30c58203d.11.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.1.rela.data._RNvCs4WEQE74F78J_3log6LOGGER.1.rodata.str1.1.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.10log.399c43c9a2fe6453-cgu.0.rodata..Lanon.a67f5915570d4dedaaae38a30c58203d.0.data._RNvCs4WEQE74F78J_3log6LOGGER.0µØñ Z@@_@(�=, K'@¸¨=JðÁE@`Ø=y´¹Ð*´@8x= {[`/@°x= o�,j@(x=»À/¶@ x=Àð#»@0= ²aà#\@H0=ð<ë@x=[PÄ`pœ€—@�0=þ ù@À0=™ µß¸Q½^ÅÊÊÐ`Å@ð�=&í0 n< 2ž Q¶ð ±@€=* JK R Fÿ˜ ]˜ §˜ 0¢@˜H=0Ë È  Ð  @à=31Ø ÝÐ =AØ ø=7`0à -Z ¬p À§@È=;½à H+