Files
archy/core/target/debug/deps/liblog-016737ac427f5e46.rmeta
T

318 lines
164 KiB
Plaintext
Raw Normal View History

2026-01-24 22:59:20 +00:00
rust
ÑŒ#rustc 1.93.0 (254b59607 2026-01-19)Áõ…·fÊ ¦%g--c48c539199cbc88bÁ³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0Áá\ƒ¦è3$|]åŒ[IÚ tæ-14b12edc9f8cd90bÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6Áà 9m Ù„«ÐÒþá•cB;-030c5b0bba47cc8fÁrustc_std_workspace_coreÁÛ¹þÓ7>H%¸ÚÉ­-4b81d37a5530864dÁüÃùs<Uß7VyóHr#QÏ-c66cc7807550ce25Á miniz_oxideÁõFÖˆÚ™ª‹"ÞXzLVª-62cbc7af83058505Áadler2Á—wÉD‘嵯|6¨%Œ
+-2f171dd2394b4b62Á hashbrownÁ,ïcV¼¨ø¢:Ê\'È߈-9571ba9e0f6c7a90Árustc_std_workspace_allocÁ%¥Èxµù·¼5Ä3Bœ-aac566ad65903fa4Á
std_detectÁMmáýZ^9õ Îà§e˜÷e-2edb296e590136d8Árustc_demangleÁ@¼§VÉNb˜æ¨fHÌ+V3-53b132e4a2fa6e26Ácfg_ifÁfÝv.Å"ÒÜuPp¹ˆ¶-f76b385d7d4d7f3eÁ addr2lineÁÕú-WiúQVÓ¬
µT§5-fe25100bd73e48e4ÁgimliÁ¹xLáÇí÷‘o±Ñ8£Å-265ba9e6e4f70b3fÁobjectÁÔ³ÝzÓÿ¶ò°öM›¼òü`-9ae0d1f8ea52a318ÁmemchrÁRÎ÷׎™te~QÓ¿ØC\Ò-0bff3c8e8f4e489eÁ  –©HtGNÏ·ˆ!á-d69228d077d46f36Á…|<Ñ{,Û{|Ñ{ŒÐ{
__log_keyÁLƒy<åxkvÁ$ïxtåx
__log_valueÁ\È|<ª|$´|tª|
__log_value_svalÁ„ç‡<ćkv_svalÁL·œÄ‡
__log_value_serdeÁŒüŠ<ØŠkv_serdeÁT⊤؊
__log_value_errorÁŒ¯Ž<Žkv_stdÁD—ŽŽserdeÁ,}<
serde_coreÁd´·}<ž}$¨}tž}q$Å~ÑŒ™~÷ ,­~Ì™~ܘ~ÕD‰ÑŒÕ~÷ ,é~ÌÕ~ÜÔ~b\ÂÑŒž÷ ÌžÜ 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Á**£ // *increment_severityÁ*decrement_severityÁ4Õ6¤ 88÷;Í =û=§=to_levelÁ==£ BB =Ý=ö
G'aÁGgetÁ JJbuilderÁJþJmetadataÁJlevelÁJÈJé
Q Jmodule_path_staticÁJÀT J file_staticÁJÈ  XX XþX¾XÍXÈXé
XëXÀXXÈ XbuildÁ
e>gg©gÍgÈll lÍlÈlùr>LogÁtenabledÁtlogÁtflushÁ NopLoggerÁx
zêzøz~~ê~ø~ƒƒêƒøƒˆˆêˆøˆ
set_max_levelÁset_max_level_racyÁ max_levelÁset_boxed_loggerÁ 
set_loggerÁ set_logger_innerÁset_logger_racyÁÍšÍloggerÁNOPÁ
__private_apiÁŸŸŸŸŸŸŸŸŸŸ Ÿ
Ÿ Ÿ ŸValueÁ­ŸsealedÁ¯KVsÁ°°into_kvsÁŸ³³ŒŸŒŸ¹ê¹ø¹Ÿlog_implÁ½Ÿø¿¿¿óŸêÃóŸlocÁSTATIC_MAX_LEVELÁ
ø
errorÁ
º
infoÁ
ã
traceÁLevelÁÍÎ
Î ÍWarnÁÑ
ÍInfoÁÓ
ÍÕ
ÍTraceÁ×
ÚÈÞÕà˜â¤  äÐ!æÍ"è¢éµ LevelFilterÁëOffÁì
ëî
ë¥ð
ëò
ëô
ëÔö
#$ùÈ%&'ýÕ(ÿ˜)¤ *ƒÐ+Í,¢ˆµMaybeStaticStrÁŠŠStaticÁŒ
ŒìŠBorrowedÁ
ì-./È0˜1œ2žžÕ3¡¡Ð4¤¤¤ 5§§¢©µ6««ÍRecordÁ®®¾®þ®é
®À®È 7µµÈ8¸¸Í
RecordBuilderÁ»»recordÁ9¾¾ÍMetadataÁÁÁÍÁÈ:ÅÅÈ;ÈȘ<Ë=ÍÍÕ>ÐÐÐ?ÓÓ¤ @Ö֢صAÚÚÍMetadataBuilderÁÝݾBàà˜CãDååÕEèèÐFëë¤ Gîî¢ðµHòòÍSetLoggerErrorÁõ
õìIøÍParseLevelErrorÁú
úìJýÍKLÕM˜Ÿ GlobalLoggerÁ
ŸÍ"
"
$
$
'
)
)
)
-
.
2
3
5
5
7
7
:
<
<
<
@
A
E
F
I
M
N
O
P
Q
S
T
V
W
[
\
]
^
_
`
a
b
c
d
e
j
k
o
p
q
r
u
u
u
v
v
v
w
{
{
{
|
|
|
}
~














Š
Š
Š



Œ
˜
˜
˜



º
º
º
»
»
»
¼
½
½
½
½
½
½
½
¿
¿
¿
¿
Ã
Û
ß
ß
á
ã
ã
å
å
ç
ç
ç
é
é
ú
þ
þ








ˆ
ˆ
˜

 
 
£
£
¦
¦
©
©
­
­
­
·
º
º
º
À
À
À
Ç
Ê
Ï
Ï
Ò
Ò
Õ
Õ
Ø
Ø
Ü
Ü
Ü
â
ç
ç
ê
ê
í
í
ð
ð
ô
ô
ô
ù
ù
ù
þ
þ
þ


ƒ



áÍÎÏÐÑÒ¥ÓÔÕÖ×ØÔ™l˜Þ<gÞñ,þñ,¬âñ,žñ,ñ,£ñ,Éñ,ñ,Ãñ,à`ñ,»bñ,žñ,ëìíàîïðñ¥òóôõö÷ÔcÕ¦w]ÛåÕÉñ,Å.Ôvñ,å`ñ,áÅ.ÞÅ.þÅ.¬âÅ.žÅ.Å.£Å.ÉÅ.Å.ÃÅ.à`Å.»bÅ.žÅ.ñ,ÉÅ.ñ,ÔvÅ.å`Å.þŠŒŽìÑìȪ›êPª5áý0Þý0£ý0¬âý0žý0ý0Ãý0Éý0ý0»bý0à`ý0Þ®®¥°¾±þ²é
³À´È Ý•©^.Ѥ»à`¶2à`»»Š ½§ ÝDŒˆH»ËÄ»»Š ½§ ÝDŒˆH»Ë8ÞÁÁÈ ÃÍÄÈóÃ=!n3-£–4¬â–4ž–4–4Ö4É–4–4»b–4à`–4£ÝÝ"ß¾W“ÀjzW<¬â§5ž§5§5ç5ɧ5§5»b§5à`§5ÄÝÝ"ß¾W“ÀjzW<8txxyŽ ææX³cô`t 8tBoxÁ샚íƒlÕ°Ù[¢'õ•E•EEGlobalÁ Ï€ûkW¬ st“7“7I7÷ Ï6—7phantomÁÏ6˜7áÏ6Ç*ÅÇrpÔ7Ú7à`õõöÁ#÷ì sÀLTbE'å`ã8Ïã8à`úúûï#üì û€Ð¬â®9ž®9®9£®9å`®9Ï®9° 
 ¤:°à`»$ ÁUì °xDtÍ:ÙÍøëŠÚÍù늵®ÅÁÜÍûëŠÝÍü뜊ËÁãÝÿúÞÍ!Íýë4랊ÍÁåÝúàÍÿëŠÈÁàÝúâÍ#Íë6뤊ÓÁëÝä̓롊ÐÁèÝæÍ뫊¸®¾»ÚÁòÝøõýúèÍë§ŠÖÁîÝ%Í8ë(Í;ëõšúe»rÝzx~
ƒˆ“7¹õœú³

áúÞþ#¬âž*£6É*Ã/à`
#»bFÔv#å` Ät ϰÓ?Ó?Ó?Ó?°M®˜
øTœœ   øNÔ˜' Nú˜„ÿ˜
ë'øOž™) OÆ™”Ë™
ë'øPì™( P“šŒ˜š
ë'øQ¸š( 
QßšŒäš
ë'øR„›)  R¬›”±›
ë'øSÒ›) 
Sú›”ÿ›
ë',É›Tºœ „¿œ
ë' øUÚœ!


Uúœ
”ÿœ
ë'
øVœ     ŒÀ
ë' øWÜ     Œ€ž
ë' øXœž!


X¼ž
”Áž
ë'
”Þž
ë òžüþ—öÆÅ.\š˜e oÊw$Ñ~tù¦S4³Ø
Š(ŠŒŽìÑìȪ›êPª5} DÍØ
Š(¶J3‡K:A̤‡
õö&ã81½:8?ÔÈ‹
úû&®91½:8?
 txyŽŸÆÍÁ®ëŠ»Ýõöúû¢”|Õ,º|äÕÈFromStrÁ<Ï|ÔvÐâ|Íç|ï+memÁì|Õ ¿  Ë \³k Ý lãr
ñ dµvèLˆ{\ †º„œ‰óŒ´Œ® Œäb\ö}®¸ÕDƒ~дø«Çº$»4Éè$ÖAÊã,ÂMËú,‹[ÌüÓÖûüÓ! A lightweight logging facade.ÁõËüùIF The `log` crate provides a single logging API that abstracts over theÁüÃMJ actual logging implementation. Libraries can use the logging API providedÁü‘MJ by this crate, and the consumer of those libraries can choose the loggingÁüß:7 implementation that is most suitable for its use case.ÁšËüžOL If no logging implementation is selected, the facade falls back to a "noop"ÁüîKH implementation that ignores all log messages. The overhead in this caseÁüº>; 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<u32, u32> { Ok(1) }ÁÔ© use log::{info, warn};ÁÄËüÈ)& pub fn shave_the_yak(yak: &mut Yak) {ÁüòJG info!(target: "yak_events", "Commencing yak shaving for {yak:?}");Á½Ë 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");ÁŒ€Óel
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«aü¡@= # fn find_a_razor() -> Result<u32, std::io::Error> { Ok(1) }Áüâ" # #[cfg(feature = "kv_serde")]ÁŒ… # fn main() {ÁÔ—¢b²Ëü¶)ÐbüàIF info!(target: "yak_events", yak:serde; "Commencing yak shaving");Áª Ëßcü½ "öcôà  düÿ 2/ info!(razor; "Razor located");Áü²!%„eÔØ!±eŒó!ÓeÜ…" Err(e) => {Áü¡"GD warn!(e:err; "Unable to locate a razor, retrying");ÁŒé"Óelû"ìfL‰#g,“#g<™# # }Áü¡#'$ # #[cfg(not(feature = "kv_serde"))]Á”É#Ÿg<Ü#ä`ä#Ëüè#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­1g·1Ëü»1(% fn log(&self, record: &Record) {Áüä10- if self.enabled(record.metadata()) {Áü•2C@ println!("{} - {}", record.level(), record.args());ÁlÙ2ìfLç2
 txyŽŸÆÍÁ®ëŠ»ÝõöúûB&¢R&Õf&äÕf&È…MŽ&ÔvС&Í´&ï+ÅMÊ&Õ ¿ Ý& Ë ì& Ý û&
ñ 
'è'('º8'óH'® X'bg'®¸Õ{'дø'ǺŸ'Éè¯'Êã¿'ËúÏ'ÌB&B&B&D|R&Tµ|f&ŒÅ|Ž&¤Ü|¡&¡&´&´&Ê&Ê&T€}4„}¡ð ó ú8°&|ýÝ&   µ%  8è4˜& ž,  8è& §8ï$ ¬8È& ´, 8È& ½8ï$ Â, Ä8lvlÁÅ& È8ï$ Í, Ï Ð û
, Ñ8keyÁÒ& Õ8Ö, Ù Ú ç& Û, Ü8captureÁ& ä8å- è, ê ë ù ì, î8˜& ô8ï- ú$ ü ý% þ,   , 8argÁƒ& 8 Š*  ý   ü 88òÇŸ £, ¥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è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òdz" ·", ¹"8òǺ"% ½"8Ç"8òÇÊ"Î", Ñ"8,Ò"'×"8·„Ù"ê"8òÇí"ñ", ô"8,õ"'ú"8ÐLü" …# †# ˆ# «%, #8,—#'œ#8lž#'«#8ø­# °#  %, Â#8è4Ã#$ É#, Û#8,Ü#'á#8lã#'ð#8â\ò# ý# þ# ‡$, ÿ# €$ …$, $8—Ê$ †$$ ˆ$8òÇš$$ $ ¯$ °$ ý$, ±$8È4²$$ ¸$, º$8,»$'À$8lÂ$'Ï$8é
\Ñ$ Ü$ Ý$ Þ$$ ß$, á$8,â$'ç$8lé$'ö$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);Á,ÉggÏ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);Á,ýhgƒiËü‡i63 if log_enabled!(logger: my_logger, Level::Debug) {Áü¾i#»àüâiOçà,²jg<¸jä`ÀjËüÄjQN This macro accepts the same `target` and `logger` arguments as [`macro@log`].Á&|kì& ¿k ´r Žl Äl8è4l& •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$ €n, 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'èn8lê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,€r'…r8l‡r'”r8é
\r ¡r ¢r £r$ ¤r, ¦r8òǧr% ²rÔÖr¡¹r ¼r Ãr8°4½rt·r&|Ærû& ñ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'ýt8lÿt'Œu8ê<Žu •u «u, u8è4—u$ u8òÇŸu$ ¢u, ¤u8È4¥u% ³ųv¡‹v Žv •v8°4vt‰v&|˜v
' Âv Íw Èv Üv8—ìœÉv*Þv áv •w âv ”w, ìv8,ív'òv8lôv'w8»$dƒw% w w ªw, žw8è4Ÿw& ¥w8ï$¦w*¬w ¯w Êw °w Éw ºw »w Ãw, ¼w8è4½w% Ëw´ûz¡Âz Åz Ìz8°4ÆztÀz»áz äz øz8Æ åz èz ÷z8<éz ñz7$ózÜßz&|Ïz' { | ˜{ ¥{, ™{ š{ £{, {8þ$œ{&  {8¡{
¤{*§{ ª{ ÿ{8él´{ Á{ Â{ ù{74key value support requires the `kv` feature of `log`ÁüÃ{6% €|Ä“†¡Ú… Ý… ä…8°4Þ…tØ…»ù… ü… 8Æ ý… €† 8< ‰†7$‹†Ü÷…&|ç…(' ¬† œ‡ ²† ¿†, ³† ´† ½†, µ†8þ$¶†& º†8»†
¾†*Á† Ć ™‡8élΆ Û† ܆ “‡7øøü݆6% š‡ì¡ш Ôˆ Ûˆ8°4Õˆtψ»ðˆ óˆ Œ‰8Æ ôˆ ÷ˆ ‹‰8<øˆ €‰7ÜL‚‰üîˆ &|Þˆ8' ­‰ °Š ³‰ ¾‰, ´‰8þ$µ‰& ¹‰8ï$º‰*À‰ É ­Š8él͉ Ú‰ Û‰ §Š7Icapturing values as `sval::Value` requites the `kv_sval` feature of `log`Áü܉K% ®Šô§Œ¡è‹ ë‹ ò‹8°4ì‹tæ‹»‡Œ ŠŒ ¤Œ8Æ ‹Œ ŽŒ £Œ8<Œ —Œ7 T™Œü…Œ!&|õ‹H' ÆŒ å ÌŒ ׌, ÍŒ8þ$ÎŒ& ÒŒ8ï$ÓŒ*ÙŒ ÜŒ â8élæŒ óŒ ôŒ Ü7Ocapturing values as `serde::Serialize` requites the `kv_serde` feature of `log`Áü‚Q% ãô×¡š  ¤8°»¹ ¼ Ô8Æ ½ À Ó8 É7Ñ ü·&|§X' ö ”‘ ü , ý8þ& 8ï* Œ ‘‘8él– £ ¤ ‹‘7Ncapturing values as `std::error::Error` requites the `kv_std` feature of `log`Áü²P% ’‘üâ}*g'g'{'{'Üþ„4‰… tÃÿÿÌ©…,°…®¸®¸b¯¸ÓZiVwƒ'ÃÔ«‡l±‡Ó?ÌˇdчÓ?Äê‡\ð‡Ó?ü‰ˆ(¤ˆë†Ãüʈ!|ш Ó?` 0@P` éˆÓ?죉„ª‰»ˆJÿÿô´ŠŒ»Š»ˆF ÿÿüÅ”%ñ," "üÿ”)‚•ˆ ˆñ, Å.! …•!
"$†•î ,Œ•üÞ•&ñ,$Ë$ü™–C\œ–Š Šñ, Å.ø°ú°û°Ðü°ý°þ°ìHˈXêE>üÕýÕþÕLessÁÿÕ€ÖÖ‚ÖƒÖ„ÖGreaterÁ…ÖiÒ6<Ë# ¨–#
$$©–î ,¯–´Ÿ—ñ,&'ÕvÖv'D¼—Á—%%®9üÜ—4Dß—Œ Œê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ñ,ñ,Õv% ï—%
'Í,è—ܬšñ,)æ`)üΚ6ÑšŽ ñ, ŽÁ`Á`œÃ`è Á]Ä`bufÁÁ]Ê­\É:•ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶½:ѼѼÒ¼ štÀ.( Õš(