! / 0 0 0 0 8 ` // 68 ` thiserror-0f0ae2f0f81b93a7.thiserror.1f49c206512a952c-cgu.0.rcgu.o/ lib.rmeta/ 0 0 0 644 33008 ` ELF>p@@GNUÀrust }#rustc 1.98.1 (48a229cea 2026-09-01)ÁûÊÆÍRLñ.åSÛAúwjL-df1bddb45adbe94bÁ‰m6GÞ­n6ÇèÆ2-64f5f36fb0927694Á«ª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Áthiserror_implÁÛÃ$I›ÜBY¾³=Œœ§-38b85e5d8f6e4f3cÁ" placeholderÁ\ö Ó‰|ß ŒÞ provideÁ<²Ferror_generic_member_accessÁÜ�FLThiserrorProvideÁ„°±Ükû‰ûaserrorÁ AsDynErrorÁ'aÁ as_dyn_errorÁ ¾  � Ç ¾ Ç ¾ Ç ¾ Ç ¾ Ç SealedÁ� displayÁ"""""" AsDisplayÁ(¾ (ë( as_displayÁ",¾ ,�,ë,£ "1¾ 1ë1£ "5¾ 5ë5£ "» ":�""’>>>>VarÁB B¾ B�Bó>G¾ G�GñprivateÁLLLLL __private21ÁR 88888888 8!8,8:8J8J8J8(9�¾ �¾ ¾ �ýƾ ¾ �ýÆÿ ¾ ¾ �•šýÆÿ ¾ ¾ ��8�ýÆ8�ýÆÿ 8�•šýÆÿ 8( 8�¾ (ù'ù'PathÁú'innerÁÒ%uÂHnìŽ M¾ (ó&ó&PathBufÁô&ÎÒ%ùàm "£×¾ 9 8‰9·9ú®gBBC³ Fó yøÿR(J޾ ‰ ������ �!�, 1ù'5ó&: <ù'=ó&GBY(9®g$“ ��üÝ@’Œ÷ ‰,í /Å’h’’o$– üà@’Œú’,ð ,’’W’’^$ ’ªüê@’Œ„ �ýÆ,ú <ž’k’’r$±’»üû@’Œ• �ýÆÿ ,‹ A›’p’’w$Ï’Ùü™@’Œ³ �•šýÆÿ ,© G�’v’’},ÐÛ0üž= ¤d¹ ™D¬ 2¥Áã†UÁㆠúúOsStrÁûÎÞ¸@—5EzoÅïî ° Ôã†ý°ã'† Ë( Ö㆗4üÑFý�ã\†³(LˆýÀîMéMÌã†Ë(Ë(uÍ(ÎÒ%iXèZûë:�dì ·Dß°°u²os_strÁÞtù6/R…ac ócPÍ!Õ¬ì†%¿»­âMýº±Pmò±E÷± Eи øøOsStringÁùÎÞ—Ÿ8b®ì®:¢_¢_BufÁ£_Î[ãa¨áá›ï…C…CüˆCbufÁÐ=‰C¶Ð=ò¹ÚàÅÅFÅFÆFGlobalÁ Ä› +ÉÑ((RawVecÁ+Î,_markerÁ©XÕ”ˆó‰ÑÔ-- RawVecInnerÁ/í 0capÁ1«#,P»›McÎÔÀÀUniqueÁ¿ µÃ¡µ´]8"»OÿÑ®®«°¿ ”3¯f*²Û�ÑuŸÕ Ñ E�² ®å”S  Ñ ‰² ý¸±R"ýÓ%M  Û^Û^ÞÜ^ÎÉ–æ�“ ÷M­Šë -Šë ý‰ë'  ó ¯ë "U¬ì† ý«ì+† · Õì†÷ ó ú óÀ ° ½ ¹ Ë( ´ Ö8ü�Fýœ¢?†Â'tÂýÓ닆þ'®µ¿¢†ýÀÑ/ÅE®ì†ý–»3«%åÑý¶·j¦Aýû…Mÿ^U�¸ý”©† ­CÑÔUíMýãÓЯCÑÔhýýYIEÑÔ-¨Õýº·N ZÔÑ-»Z ýœ¸[ \ÔÑ}ê· ýº-Ǭ ÔÑÑ5Ù¸ ý‚˜µb ÔÑÑ5Ý.¬ ýÖ|ûb ÏÑEœ™b ýò#M¬ ÑÑ�ภ4 ÏÑEú· ýØéàÔýò·(d³(LÇ_é[¼d« úDž¶#†þ"Ó�"­„¸ Ú!Ô Ú!Õž!ÒÍ!¹Ý Î þ" Ÿ")ý¶·³um4ÛÅüÎ ¯g‰-Lã'óJü‡lÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwĤĤŤErrorÁ Ñâó:½ÖàM\¸ BBC³ Fó yøÿR(Jމ,Ž €g€gŠ‚gê ûcƒg§ûcØ«q¢1È¡L•ÅNW formatterÁ(;Ò)ƒì! B‰C)—+4Å;B ">LRû‰¸Eû$éEò)ý×6�Kü¡Güš— [![github]](https://github.com/dtolnay/thiserror) [![crates-io]](https://crates.io/crates/thiserror) [![docs-rs]](https://docs.rs/thiserror)Á›�üŸjg [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=githubÁüŠnk [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rustÁüùmj [docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rsÁç�Dë
Áô�üøNK This library provides a convenient derive macro for the standard library'sÁüÇ  [`std::error::Error`] trait.Áè�Dì§1õ�lù # ExampleÁ‡�\‹ ```rustÁ”— # use std::io;Á̪ use thiserror::Error;ÁÄ�ÜÈ #[derive(Error, Debug)]Áìä pub enum DataStoreError {Áü‚+( #[error("data store disconnected")]Áü®&# Disconnect(#[from] io::Error),ÁüÕ;8 #[error("the data for key `{0}` is not available")]ÁÔ‘ Redaction(String),Áü¬KH #[error("invalid header (expected {expected:?}, found {found:?})")]Á¼ø InvalidHeader {Áì� expected: String,ÁÔ® found: String,ÁTÉ },ÁüÔ,) #[error("unknown data store error")]Á„�  Unknown,Á,’  }Á<˜  ```Á  �D¤ §1­ �l±  # DetailsÁ¿ �üà LI - Thiserror deliberately does not appear in your public API. You get theÁü� ;8 same thing as if you had written an implementation ofÁüÌ LI [`std::error::Error`] by hand, and switching from handwritten impls toÁü™ 74 thiserror or vice versa is not a breaking change.ÁÑ �üÕ LI - Errors may be enums, structs with named fields, tuple structs, or unitÁt¢  structs.Á± �üµ C@ - A [`Display`] impl is generated for your error if you provideÁüù OL `#[error("...")]` messages on the struct or each variant of your enum, asÁüÉ ! shown above in the example.Áë �üï OL The messages support a shorthand for interpolating fields from the error.Á¿�üÃDA - `#[error("{var}")]` ⟶ `write!("{}", self.var)`Áüˆ@= - `#[error("{0}")]` ⟶ `write!("{}", self.0)`ÁüÉHE - `#[error("{var:?}")]` ⟶ `write!("{:?}", self.var)`Áü’DA - `#[error("{0:?}")]` ⟶ `write!("{:?}", self.0)`Á×�üÛLI These shorthands can be used together with any additional format args,Áü¨63 which may be arbitrary expressions. For example:Áß�lã ```rustÁ´ñ # use core::i32;Áìˆ # use thiserror::Error;Á<¦ #Áì® #[derive(Error, Debug)]Á´Ì pub enum Error {ÁüãYV #[error("invalid rdo_lookahead_frames {0} (expected < {max})", max = i32::MAX)]Áü½  InvalidLookahead(u32),Á<Þ }ÁLæ ```Áð�üôPM If one of the additional expression arguments needs to refer to a field ofÁüÅOL the struct or enum, then refer to named fields as `.var` and tuple fieldsÁt• as `.0`.Á¤�l¨ãB춘C<Ô¾CüÜ+( # fn first_char(s: &String) -> char {Áüˆ%" # s.chars().next().unwrap()ÁL® # }Á<¸¾CÄÀ # #[derive(Debug)]Á¼Ù # struct Limits {Á´ñ # lo: usize,Á´ˆ # hi: usize,ÁLŸ¬H<©¾Cì±ÎC´ÏôCüæQN #[error("first letter must be lowercase but was {:?}", first_char(.0))]Áä¸ WrongCase(String),ÁüÕfc #[error("invalid index {idx}, expected at least {} and at most {}", .limits.lo, .limits.hi)]Áü¼52 OutOfBounds { idx: usize, limits: Limits },Á<ò ELú°E„�üˆMJ - A [`From`] impl is generated for each variant that contains a `#[from]`Á„Ö attribute.Áç�üëNK The variant using `#[from]` must not contain any other fields beyond theÁüºHE source error (and possibly a backtrace — see below). UsuallyÁüƒMJ `#[from]` fields are unnamed, but `#[from]` is allowed on a named fieldÁTÑ too.ÁÜ�làãBüî'$ # use core::fmt::{self, Display};Á¤– # use std::io;Á쫘C<ɾC¬Ñ # mod globset {Áüç.+ # #[derive(thiserror::Error, Debug)]ÁÜ– # #[error("...")]Áì² # pub struct Error;ÁLЬH<Ú¾CìâÎCÄ€ pub enum MyError {Áü™  Io(#[from] io::Error),Áüº'$ Glob(#[from] globset::Error),Á<â E<ê¾Cüò" # impl Display for MyError {Áü• JG # fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {Áüà  # unimplemented!()Ál�! # }ÁL�!¬HL™!°E£!�ü§!NK - The Error trait's [`source()`] method is implemented to return whicheverÁüö!MJ field has a `#[source]` attribute or is named `source`, if any. This isÁüÄ"NK for identifying the underlying lower level error that caused your error.Á“#�ü—#PM The `#[from]` attribute always implies that the same field is `#[source]`,Áüè#85 so you don't ever need to specify both attributes.Á¡$�ü¥$PM Any error type that implements `std::error::Error` or dereferences to `dynÁüö$/, std::error::Error` will work as a source.Á¦%�lª%ãBü¸%'õOìà%˜C<þ%¾Cì†&ÎCÔ¤& pub struct MyError {Á´¿& msg: String,ÁüÖ&:7 #[source] // optional if field name is `source`Áü‘'  source: anyhow::Error,Á<²' E<º'¾CüÂ'"³Süå'JßSü°( ³TlÑ(ÜTLß(¬HLé(°Eó(�ü÷(PM - The Error trait's [`provide()`] method is implemented to provide whicheverÁüÈ)63 field has a type named `Backtrace`, if any, as aÁüÿ)KH [`std::backtrace::Backtrace`]. Using `Backtrace` in errors requires aÁüË*74 nightly compiler with Rust version 1.73 or newer.Áƒ+�l‡+ãBü•+)& # const IGNORE: &str = stringify! {Áü¿+$! use std::backtrace::Backtrace;Áä+�ìè+ÎCÔ†,­Z´¡,ÐZü¸,:7 backtrace: Backtrace, // automatically detectedÁ<ó, ETû, # };ÁL†-°E�-�ü”-HE - If a field is both a source (named `source`, or has `#[source]` orÁüÝ-IF `#[from]` attribute) *and* is marked `#[backtrace]`, then the ErrorÁü§.LI trait's [`provide()`] method is forwarded to the source's `provide` soÁüô.PM that both layers of the error share the same backtrace. The `#[backtrace]`ÁüÅ/LI attribute requires a nightly compiler with Rust version 1.73 or newer.Á’0�l–0ãBü¤0)•_ìÎ0ÎCÄì0žRt…1 Io {ÁÔ”1 #[backtrace]Áü¯1  source: io::Error,ÁdÐ1 },Á<Ý1 ETå1õ`Lð1°Eú1�üþ1MJ - For variants that use `#[from]` and also contain a `Backtrace` field, aÁüÌ285 backtrace is captured from within the `From` impl.Á…3�l‰3ãBü—3)•_ìÁ3ÎCÄß3žRtø3ˆe¬‡4 #[from]Áü�4 Ãeü¾4# backtrace: Backtrace,Ádâ4ìe<ï4 ET÷4õ`L‚5°EŒ5�ü�5OL - Errors may use `error(transparent)` to forward the source and [`Display`]Áüà5GD methods straight through to an underlying error without adding anÁü¨6JG additional message. This would be appropriate for enums that need anÁôó6 "anything else" variant.Á’7�L–7°Eì 7˜C<¾7¾CìÆ7ÎCÄä7žRtý7 # /*ÁlŒ8 ...Átš8 # */Á©8�ü­8 #[error(transparent)]ÁüÍ8XU Other(#[from] anyhow::Error), // source and Display delegate to anyhow::ErrorÁ<¦9 EL®9°E¸9�ü¼9C@ Another use case is hiding implementation details of an errorÁü€:OL representation behind an opaque error type, so that the representation isÁüÐ:=: able to evolve without breaking the crate's public API.ÁŽ;�L’;°Eìœ;˜C<º;¾CüÂ;GD // PublicError is public, but opaque and easy to keep compatible.ÁìŠ<ÎCܨ< #[error(transparent)]ÁüÄ<0- pub struct PublicError(#[from] ErrorRepr);Áõ<�Äù< impl PublicError {Áü’=B? // Accessors for anything we do want to expose publicly.Á<Õ= EÝ=�üá=FC // Private and free to change across minor version of the crate.Áì¨>ÎC´Æ> enum ErrorRepr {ÁtÝ>”llì>«ltú>Ál<‰? EL‘?°E›?�üŸ?OL - See also the [`anyhow`] library for a convenient single error type to useÁÔï? in application code.ÁŠ@�üŽ@1. [`anyhow`]: https://github.com/dtolnay/anyhowÁüÀ@+( [`source()`]: std::error::Error::sourceÁüì@-* [`provide()`]: std::error::Error::provideÁüšA" [`Display`]: std::fmt::DisplayÁüÉA; https://docs.rs/thiserror/2.0.21ÁlÐA">LRû3‰CûUò)g�K333„«ECÄÕEU\ðE<ôEò),� UnwindSafeÁT)•š”/¼üE t64<TO¾  ÿÆüEUÎz4_Æz%ØzÆz/Øz&  Zül,doT TÎz T�¾ Bÿ | Îz¾ $}üœ,¾ �   þƉ ¥�‰,¨‰¾ °‰ ¡24 üÝ+dàU U‰ U›Bÿ  í ¾ ‰$îü¡*¾ › ¦üà+dãV V›¤~Bÿ ð ¾ $ñü¤1¾ µ ©üê+díW Wµ W›Bÿ ú ¾ $ûü®8¾ Õ ³üû+dþX XÕ X›Bÿ ‹ ¾ $Œü¿E¾ ú Äü™+dœY Yú Y›Bÿ © ¾ $ª„ìtÝ4ã4öÆzœìÆzÆzÜ€�þÆ¥ …�¥,ˆ¥ôŸ8ZZ±üÁ%8[[Äüê,8\\Ýüš98]]û\ýE<�F(9u<¤g"#ª $@Ò%"%Á$Fù'"&„@º<®g>AL$ Õ,¾ D�EDE‚Ž47Å|L?ÝyøÿR(JŽCF ¾ ‰ÝBÿÕ_Œ�ÝBÿBB C¾ ‰0 4�BBŒ�üL4¾ H�IIH‚Ž4b®g‰tÔ4Úœt4\­ ‡SM… Š(SN³ �BSO³ ŸCSOò)“�SPì’�öSQtDt)4/Ð N N… N N Nü N»NäN”NÑN ×N ¢N™N  NLªNH\https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=githubÁ crates-ioÁ"https://crates.io/crates/thiserrorÁdocs-rsÁustd::error::Error::provideÁ‰std::backtrace::BacktraceÁstd::backtraceÁästd::fmt::DisplayÁstd::fmtÁsource()Á^https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rsÁ˜—$https://github.com/dtolnay/thiserrorÁù—‡˜u provide()Á¾˜†‰â˜ö std::errorÁ˜™®™¾,]https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rustÁgithubÁ±šù—È™u˜—êš¾˜�std::error::ErrorÁ—›˜™¤g!https://github.com/dtolnay/anyhowÁ·›È™™œ±šêšhttps://docs.rs/thiserrorÁÑœ—›…�anyhowÁøœ·›™œstd::error::Error::sourceÁ®˜¼�Ñœ��¬€™ð�øœ»™�ž‚‡˜®˜¼�‰â˜€™ð�®™»™�žŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²,•*QÂInÒggQYù†ŸÌÙUòí^ÇeÉ\(ɱOeéJìn;–ÀGØÌ~@žtdÚK;>N½ž9DCøÈw%Á''ít°¸˜_U]­»¤)Åñü㸊ÆåyòCè½³!¤ˆ'*GŒ'A¯Û ÑR4b/¦ù;¼?¤97²g›J ׳q{Ïø3.:á´:‚ÿijÌ�ÇS3"q’ÿ_÷䨬< –ñ©‹úr •_Ž4• Ô:BúšÄ®“ÖcÓ[½8¤å½tf{ Çç´&|ƒnêª,¼ëXñ;Îy¦Ñ†°™ºÞˆ“Oea ôòo|?ÅæÐç¤+”Ë ; (ÙHQŠãÆÔo¨øÓ;h´|‹2„ ,×#_ ¡zù[®›¸¥eŒx6ÙhEVf7­PHÛC5µ@–ðšPË!£s”L±~t‰¶¨¾Ï�üÙÇ2!qÒñPŸ5®/éb½e�7à™¬¯†û ³óëqèO}lxDÀ¡Dê÷!+(�„£Ø) Úµv d ·¯o(g(ô4í;Þ_/ðº^þk©–\û�åSí¬EÃeö¸ê:ò“rwìzWÝÜá½�¹=*ý†Äˆhÿ‹Ù:¡ §Š³€”ÓZ‡4\™y ”ØFr½*î Z2ð/±°�ŒÈ®÷ý+¡ =åGYQ»²`Œp�‚xõ8‘ @âl0ò©Oâ:áà+™-ÝÏa$½%e:¾2¼�™L*ç`vý¶¢$y5qÝÅ™:)%ßO‡³�V‘ÛŽ%ZðY×[8øyj~³qµ|ÚÁØr•9YË’0V�þÌF(MïöÿõNÀ7 õ^ËlIÎê†ò'�|ÉôÅü‡¸X›*Y9Åí;Æ26E–ôáÈ ë´Ú]=íŸt�tW.¿®ðÙ$Ò@bÓÑdÅ=jßm3þ}ˆê€Ï¿ÖšCFáD¶í¿Â™0Õ,˜ËSD×ÌSv…zðzBA©SÀ¬7SR \ÞD jã±ø•ói.Ñ£zlÉ6ªO‚¹`«@ž‘Á#fMÌ)6¸BåBjGõ<Å@�BPFÿ<Ê@¨BUFÝ;F<—AGI£J}*<<<x<}<ƒ<=ƒ=÷=Y>„>Ù>?b?�?ë?@s@Ô@A:AVArA�AáAæAùA B B5BÿBCeCéCDjD¬DôDLEŽE§EþE`F¶FÚFþF/G1G6G;GîGH_HIIˆIªIÍIòIJ€JKØ;D< =Ï@•A³BZFGI£J =Ô=p>ð>y?@Ï@ A4APAlAˆAµBÀC”DvEZF¢FÕFùF‰G=H       '  ×;B<¥<0=>œ>?¥?.@˜@“AWBC-CíC D°D E’E¿E#FG@G²GðGwHI¢Jx!<'<*<1<8y>>Ô>ù>ÿ>]?‚?ˆ?æ? @@o@Ð@ AA5AQAmA‰AÞAãA÷A BB1BöBûBC`CÎCÔCåCDeD¢D¨DïDGE„EŠE¢EúE[F£F²FÖFúF,G/G4G8G™GÙGÞGìGHGHLHZH II…I§IÉIîIJ}JK4K:K@KFKLKRKXK_KfKmKtK{K‚KˆK�K$<.<5<>„>ý>?†?�?@@”@A�AáABB/BTBùBÿBCÒCØCéCD¦D¬DôDˆEŽE§EF§FG1G6G=GœGÜGáGîGJHOH_HI¥IÇIìIJzJŸJ7K=KCKIKOKUK\KcKjKqKxKK…KŒK“KÃ<g=£=í=<>l>¿>ì>H?u?Ñ?þ?Z@«@é@A0ALAhA„AuB CHC�CàCöCHD�D¹D2ErE›EåE6FF¯FÑFõFaGÆGéGùG$HWHíH¦<\=…=ç=0>[>³>Û>n>Ã>î>L?w?Õ?@^@ A2ANAjA†ALC¾CúCLD’D½D6EtEŸEéE FÓF÷FpGÌGýG;HñH1=>�>?¦?/@.C!D EÀEAG³GxH3=>ž>?§?0@0C$DEÁEŠGµGzH=û=ˆ>?‘?@C DøD«EžGcH1Qv¡­ÀÙ÷3v·ÆÏØä<ï=´@AŒBâC?F±FëGYH� û d á c ë M Þ /Óù b ß a é K Ü -Ñú c à b ê L Ý ."ÒÊGx=M>Í>V?ß?h@YC^D@EóEþHå<µ@�B@FÕ;<< <ƒ=Y>Ù>b?ë?’@Ô@A:AVArA�ARBeC}D_EF`FÉFíFþF;GHI�JGrGwz�…Œ“¡¥©ºÃÖÚáèïóú %)07DHOSW[_mquy}�‘˜Ÿ°´»ÂÉÐÔÛâéíôû  #'+/9=DKRV]dko}�…‰�‘£§­³¹¿ÅËÑ×Ýãéïõû‚G =Õ=q>ñ>z?@·BñBÂCÆC–DšDxE|E>H######%')–K©O =Ù=u>õ>~?@Ï@ A4APAlAˆAòBÊCžD€EZF¢FÕFùFCHNNNNÜ ,•*QÂI«XÁò™W¢„òüïF1¥ÿ¢]­œ,•*QÂIP8îÀEˆ¢xålelil�l´l}l¤lÕl° ODHT c€·Þ–\û�åSí5›J ׳q{,•*QÂI¹=*ý†Äˆh9³!¤ˆ'*G Ïø3.:ám3þ}ˆê€X –ñ©‹úr í^ÇeÉ\(™ºÞˆ“Oe•_Ž4• Ôìn;–ÀGC5µ@–ðšP(:BúšÄ®D¶í¿Â™Z²`Œp�‚xAØÌ~@žtdÚÎê†ò'�|Pµv d ·¯o2üÙÇ2!qÒñ+�ÇS3"q’]­»¤)Åñ ÅæÐç¤+”Ë  Çç´&|ƒnÿ_÷䨬<~t‰¶¨¾Ï�*„£Ø) Ú1Dê÷!+(�0A©SÀ¬7SR]EVf7­PHÛ'¡zù[®›¸%4b/¦ù;PŸ5®/éb½,°�ŒÈ®÷ý+?%e:¾2¼�E†û ³óëq.Ó;h´|‹#(g(ô4í;Þ3г€”Ó;¼?¤97²g'ít°¸˜_U ü㸊Æå ÿ‹Ù:¡ §:Z‡4\™y<êª,¼ëXñK;>N½ž9Dò©Oâ:áà+CðY×[8øyjJõ8‘ @âl0BØr•9YËLáÈ ë´Ú]=TyòCè½ ´:‚ÿijÌÉôÅü‡Q;Æ26E–ôS¡ =åGYQ»@ÑdÅ=jßWϿ֚CFáY0Õ,˜ËSD×[ù†ŸÌÙUò‘Á#fMÌ)6bɱOeéJ;Îy¦Ñ†°®ðÙ$Ò@bÓVQŠãÆÔo¨ø"’0V�þÌM2„ ,×#_ $ ; (ÙH!¸X›*Y9ÅíRŒ'A¯Û ÑR�V‘ÛŽ%ZI_/ðº^þk©4:)%ßO‡³He�7à™¬¯-WÝÜá½�8™-ÝÏa$½D“ÖcÓ[½™L*ç`vý¶F¬EÃeö¸ê6À7 õ^ËlIOnÒggQY \ÞD j^ªO‚¹`«@žaa ôòo|? Z2ð/±>¢$y5qÝÅ™G ”ØFr½*î=Ë!£s”L±)8¤å½tf{íŸt�tW.¿UF(MïöÿõNNCøÈw%Á'¥eŒx6Ùh&èO}lxDÀ¡/:ò“rwìz7ÌSv…zðzB\~³qµ|ÚÁKã±ø•ói.Ñ_£zlÉ6`ÿÿÿÿv=4#p@ÿÿÿÿÿÿ2ÿj#(ÿWÿLÿm>7xIÿxe7ÿGm@)m^8oi*rSGŸpÁйÔÄV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/lib.rsÁK/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21ÁV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/lib.rsÁ £ªè‰ÇµL¦¤¡A�9¢G¢G£›kon O!  ,'<L - M H1CG P2,.# < %% &PI9 $  æ©îµóþ@p;Al’Ñ ôæÜ¯Z/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/private.rsÁK/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21ÁZ/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/private.rsÁ Sñí´÷Ÿx¾]ÕÏZñ߀>††$#$*?ÜÁ™ƒÍ¦Å¤�^ §ŠÔyZ/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/aserror.rsÁK/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21ÁZ/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/aserror.rsÁ Gó`˜5M¤ ;)x|ø××2#1/2 -2 42 ;2 H2 ")0B8_1Ì ˆê«îK0‘jÈV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/var.rsÁK/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21ÁV/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21/src/var.rsÁ æH‘+7�Ñè¨äëžÂB#yöö  *7C(¶ÝZEbC¬É^r¼t”â«X/root/scripts/dns-monitor/target/release/build/thiserror-bba934c91bee7134/out/private.rsÁK/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-2.0.21ÁX/root/scripts/dns-monitor/target/release/build/thiserror-bba934c91bee7134/out/private.rsÁ !Mr?“•Ì7[æ}õ¹âYYº–± ¶¦Ôh‰ŠSD½«s@u«wüxqzµ{x86_64-unknown-linux-gnuÁ…]äF$þpB—åE¹Z&Ÿ thiserrorÁ-0f0ae2f0f81b93a7Á,•*QÂIÔùŇëœ�TcT+˜+�C�:É:®®Sù99KGK,GT,SÐHùcØScc¦cÆÆKK–K–K–KáK–H–�JK”D–ˆK–K–DˆKá:St¦CC†c†ÆCK†–KáH”þ rust-end-file.note.gnu.property.shstrtab.strtab.symtab.rmeta@ .€`º~& 895lib.rmeta-link/ 0 0 0 644 656 ` ELF>@@GNUÀBthiserror-0f0ae2f0f81b93a7.thiserror.1f49c206512a952c-cgu.0.rcgu.oÁrust-end-file.note.gnu.property.rmeta-link.shstrtab.strtab.symtab@ €`R2¸*Ð Ñ:/0 0 0 0 644 632 ` ELF>ø@@rustc version 1.98.1 (48a229cea 2026-09-01)0ñÿ.text.comment.note.GNU-stack.strtab.symtabthiserror.1f49c206512a952c-cgu.0  Q@0@-m(p0