Files
meetingroom-netscreen/push_screen_rust/target/x86_64-pc-windows-gnu/debug/deps/libscopeguard-3d18e23bd547f26c.rmeta

48 lines
21 KiB
Plaintext
Raw Normal View History

rust
<EFBFBD>RBrustc 1.91.1 (ed61e7d7e 2025-11-07) (Rev1, Built by MSYS2 project)<29><02>0<>#`a<><61>i<EFBFBD>+<2B>F<EFBFBD>T8<-0a5677bcdbf6ca93<39><02>1<>-<2D>3<EFBFBD><33>%<25>:<3A><>R<>-0a51333fad0e7ace<63><01>OnUnwind<6E>D<EFBFBD>6<02><<3C>6use_std<74>L<EFBFBD>6<00><>6 OnSuccess<73>L<EFBFBD>7<02><<3C>7<01>L<>7<00><>7defer_on_success<73><73><EFBFBD>?<02><<3C>><01>L<>><00><>>defer_on_unwind<6E>|<7C>B<02><<3C>A<01>L<>B<00><>Aguard_on_success<73><73><EFBFBD>[<02><<3C>Z<01>L<>Z<00><>Zguard_on_unwind<6E>|<7C>b<02><<3C>b<01>L<>b<00><>btests<74>,<2C>n<02>$<24>n<02><02>Strategy<67> 
should_run<EFBFBD> <01>defer<65>
ScopeGuard<EFBFBD><02>F<>S<><02>dropfn<66>strategy<67><02><01><01> with_strategy<67>
into_inner<EFBFBD>guard<72><02><01> <02> <01> <01>$<02>$<01>$<01>$<02>$<02>*<02>*<01>*<01>*<02>/<02>/<01>/<01>/<02>4<02>4<01>4<01>4<02>Always<79>:<02>)8.838888888;8;8;8 <01>]9A<><41><EFBFBD><EFBFBD><EFBFBD>HC <01><01><01><02><01><01><00><>)ݤӄ<02><01><01><01><01><01><01><01><01><01>]<01>:94 9 $*/<01>]# 
<01><01><01><01> 9<02><02><1C>0<02><1C>0<01>Z PhantomData<74>\<5C>0<01><01> <01> ManuallyDrop<6F>d<EFBFBD>1ښ<02>,<2C>1<01>DerefMut<75>D<EFBFBD>1<01> <02> <1C>1<01>
<01>,<2C><<04><00><><02>= @ p8<02>lA O7https://docs.rs/scopeguard/1/<2F><00>Q<01>:8<00>tEB A scope guard will run a given closure when it goes out of scope,<2C><00><>$! even if the code between panics.<2E><00><>$! (as long as panic doesn't abort)<29><1C><02>t<> # Examples<65><1C><02><00><> ## Hello World<6C><1C><02><00><>@= This example creates a scope guard with an example function:<3A><1C><02><<3C> ```<60><00><> extern crate scopeguard;<3B><1C><02>d<> fn f() {<7B><00><>0- let _guard = scopeguard::guard((), |_| {<7B><00><>*' println!("Hello Scope Exit!");<3B>\<5C> });<3B><1C><02><00><>! // rest of the code here.<2E><1C><02><00><>OL // Here, at the end of `_guard`'s scope, the guard's closure is called.<2E><00><>MJ // It is also called if we exit this scope through unwinding instead.<2E>,<2C> }<7D><00><> # fn main() {<7B>l<>
# f();<3B><<3C> # }<7D><<3C><01><1C><02>|<7C> ## `defer!`<60><1C><02><00><><9 Use the `defer` macro to run an operation at scope exit,<2C><00><>?< either regular scope exit or during unwinding from a panic.<2E><1C><02><<3C><01><00><>0- #[macro_use(defer)] extern crate scopeguard;<3B><1C><02><00><> use std::cell::Cell;<3B><1C><02>|<7C> fn main() {<7B><00><>QN // use a cell to observe drops during and after the scope guard is active<76><00><>(% let drop_counter = Cell::new(0);<3B>L<>  {<7B><00><> HE // Create a scope guard using `defer!` for the current scope<70><00><>  defer! {<7B><00><> 96 drop_counter.set(1 + drop_counter.get());<3B>l<>
}<7D><1C>
<02><00><>
:7 // Do regular operations here in the meantime.<2E><1C> <02><00><> 96 // Just before scope exit: it hasn't run yet.<2E><00><> .+ assert_eq!(drop_counter.get(), 0);<3B><1C> <02><00><> KH // The following scope end is where the defer closure is called<65>L<>  }<7D><00><> *' assert_eq!(drop_counter.get(), 1);<3B>,<2C> <01><<3C> <01><1C> <02><00><>  ## Scope Guard with Value<75><1C> <02><00><> JG If the scope guard closure needs to access an outer value that is also<73><00><> PM mutated outside of the scope guard, then you may want to use the scope guard<72><00><>NK with a value. The guard works like a smart pointer, so the inner value can<61><00><>52 be accessed by reference or by mutable reference.<2E><1C><02><00><>  ### 1. The guard owns a file<6C><1C><02><00><>OL In this example, the scope guard owns a file and ensures pending writes are<72><00><> synced at scope exit.<2E><1C><02><<3C><01><00><><01><1C><02><00><> use std::fs::*;<3B><00><> use std::io::{self, Write};<3B><00><>96 # // Mock file so that we don't actually write a file<6C><00><> # struct MockFile;<3B><00><> # impl MockFile {<7B><00><>B? # fn create(_s: &str) -> io::Result<Self> { Ok(MockFile) }<7D><00><>EB # fn write_all(&self, _b: &[u8]) -> io::Result<()> { Ok(()) }<7D><00><>96 # fn sync_all(&self) -> io::Result<()> { Ok(()) }<7D><<3C><01><00><>! # use self::MockFile as File;<3B><1C><02><00><>%" fn try_main() -> io::Result<()> {<7B><00><>-* let f = File::create("newfile.txt")?;<3B><00><>1. let mut file = scopeguard::guard(f, |f| {<7B><00><>63 // ensure we flush file at return or panic<69><00><>! let _ = f.sync_all();<3B>\<5C><01><00><>96 // Access the file through the scope guard itself<6C><00><>0- file.write_all(b"test me\n").map(|_| ())<29>,<2C><01><1C><02>|<7C><01><00><> try_main().unwrap();<3B>,<2C><01><1C><02><<3C><01><1C><02><00><>85 ### 2. The guard restores an invariant on scope exit<69><1C><02><<3C><01><00><><01><1C><02><00><> use std::mem::ManuallyDrop;<3B><00><> use std::ptr;<3B><1C><02><00><>DA // This function, just for this example, takes the first element<6E><00><>A> // and inserts it into the assumed sorted tail of the vector.<2E>4<> //<2F><00><>KH // For optimization purposes we temporarily violate an invariant of the<68><00><>-* // Vec, that it owns all of its elements.<2E>4<><01>*<00><>JG // The safe approach is to use swap, which means two writes to memory,<2C><00><>RO // the optimization is to use a “hole” which uses only one write of memory<72><00><>" // for each position it moves.<2E>4<><01>*<00><>>; // We *must* use a scope guard to run this code safely. We<57><00><>MJ // are running arbitrary user code (comparison operators) that may panic.<2E><00><>HE // The scope guard ensures we restore the invariant after successful<75><00><>+( // exit or during unwinding from panic.<2E><00><>.+ fn insertion_sort_first<T>(v: &mut Vec<T>)<29><00><> where T: PartialOrd<72>,<2C> {<7B><00><>  struct Hole<'a, T: 'a> {<7B><00><> v: &'a mut Vec<T>,<2C>̼ index: usize,<2C><00><># value: ManuallyDrop<T>,<2C>L<><01><1C> <02><00><> unsafe {<7B><00><> HE // Create a moved-from location in the vector, a “hole”.<2E><00><> )& let value = ptr::read(&v[0]);<3B><00><>!TQ let mut hole = Hole { v: v, index: 0, value: ManuallyDrop::new(value) };<3B><1C>!<02><00><>!.+ // Use a scope guard with a value.<2E><00><>"GD // At scope exit, plug the hole so that the vector is fully<6C><00><>"! // initialized again.<2E><00><>"UR // The scope guard owns the hole, but we can access it through the guard.<2E><00><>#A> let mut hole_guard = scopeguard::guard(hole, |hole| {<7B><00><>$SP // plug the hole in the vector with the value that was // taken out<75><00><>$'$ let index = hole.index;<3B><00><>%NK ptr::copy_nonoverlapping(&*hole.value, &mut hole.v[index],
ښ<02>3<01><01>
N<01> <02> a<01>
<01>tĸ0<13>D<>0<13><04><>0<13><04><>1ܟ133NND<>1a<05><>2<00><>1=: Controls in which cases the associated code should be run<75>D<>2  <01><><00><>2<EFBFBD>   Ě3<00><>2=: Return `true` if the guards associated code should run<75><00><>21. (in the context where this method is called).<2E>T<EFBFBD>3  <01>H<EFBFBD><48>7<00> <00><>8T<>8  <00><><<00><>:0- Macro to create a `ScopeGuard` (always run).<2E><1C>;<02><00><>;?< The macro takes statements, which are the body of a closure<72><00><>;+( that will run when the scope is exited.<2E><02> d<><|<7C><t <0C>< <0C>= <0C>< <0C><, <0C>< <0C>< <0C><, <0C><8t<> <0C><& <0C><8<02><14>< <0C><*<14>< <0C>< <0C>= 8<1C><8_guard<72>4<>< <0C><, <0C><8,<2C><'<14><8<01>,<2C>< <0C>< <0C>= <0C>< <0C><$ <0C>< <0C>< <0C>< <0C>< <0C>< <0C>< <0C>=, <0C>< <0C>< <0C>=, <0C><8<01>K <0C>< <0C>=% <0C>=% <0C>=<00><>G'<00><>CA> `ScopeGuard` is a scope guard that may own a protected value.<2E><1C>C<02><00><>C=: If you place a guard in a local variable, the closure can<61><00><>DNK run regardless how you leave the scope — through regular return or panic<69><00><>DJG (except if panic or other code aborts; so as long as destructors run).<2E><00><>E It is run only once.<2E><1C>E<02><00><>EIF The `S` parameter for [`Strategy`](trait.Strategy.html) determines if<69><00><>F the closure actually runs.<2E><1C>F<02><00><>FMJ The guard's closure will be called with the held value in the destructor.<2E><1C>G<02><00><>GOL The `ScopeGuard` implements `Deref` so that you can access the inner value.<2E>T<>G<02><01><01><01><><01> <0C>H<01><><01> <0C>H<01><><01> T<>H<01><01> <01> L<>H<01> <01>T<01> <01> D<>H<00><00><>)ݤӄ3suprm <0C>H<00><00><>H,<2C>Hښښ<01>
ܚ<02><01><00><04><>V<EFBFBD>6&<14><01> <09><>H4<>Hښښ<01>
ܚ<02><01><00><04><>V<EFBFBD>6&<14><01> <09><>I!D<>I<01><01><01><01> <00><>LxqS<71><02> <09> <02><>IJ<02><01><01><00>TL<54>J<00>T <0C>J<00>T <0C>J<00>T<00>T <0C>I<00>UD<55>J<00>248:<00><>L<<00><>JLI Create a `ScopeGuard` that owns `v` (accessible through deref) and calls<6C><00><>K&# `dropfn` when its destructor runs.<2E><1C>K<02><00><>KHE The `Strategy` decides whether the scope guard's closure should run.<2E>,\<5C>Ll<>L<03> <09> <09> <01> <01> <01> v<> <0C>L<01>4<>L<00><>S#<00><>NMJ “Defuse” the guard and extract the value without calling the closure.<2E><1C>N<02><<3C>N<01><00><>O<01><1C>O<02><00><>O(% use scopeguard::{guard, ScopeGuard};<3B><1C>O<02><00><>O%" fn conditional() -> bool { true }<7D><1C>P<02>|<7C>P<01><00><>P=: let mut guard = guard(Vec::new(), |mut v| v.clear());<3B><00><>P guard.push(1);<3B><1C>Q<02>ԍQ if conditional() {<7B><00><>Q30 // a condition maybe makes us decide to<74><00><>QB? // “defuse” the guard and get back its inner parts<74><00><>R63 let value = ScopeGuard::into_inner(guard);<3B><00><>R } else {<7B><00><>R0- // guard still exists in this branch<63>L<>S<01>,<2C>S<01><<3C>S<01>T<>S<02><08>  <01> <01> <01> <01>,<2C>S<00><>XW<00><>WLI Create a new `ScopeGuard` owning `v` and with deferred closure `dropfn`.<2E>,\<5C>X,<2C>X<03> <09> <01><02><01><01><00><>)ݤӄ<01> <01> <01><02><01><00>T <0C>X<00>T <0C>X<00>TL<54>Y<00>T <01> <01> <01>Y <0C>X<01>4<>X1379<00><>eg<02>!<01>"<01>#!"#<00>TL<54>e<00>T <0C>e<00>T <0C>e<01><01> $<24>e<00>T$<00>T <0C>e<00>UD<55>f<00>=?CE<00><>fT<02>%<01>&<01>'&'%<00>TL<54>f<00>T <0C>f<00>T <0C>f<00>T<00>T <0C>f<00>UD<55>f<00>()<01><01>)=?CE\<5C>f4<>f$$<00> <09><>g,<2C>g< <<3C> <<3C> $ <0C>g$ )<01> <01> <01> $<24>g<00><>gW<02>+<01>,<01>-,+-<00>TL<54>g<00>T <0C>g<00>T <0C>g<00>T<00>T <0C>g<00>UD<55>h<00>.<01>.79=?<00><>h!L<>h= =<3D> =<3D> * <0C>h* .<01> <01> <01> $<24>h<00><>hS<02>0<01>1<01>2120<00>TL<54>i<00>T <0C>h<00>T <0C>h<00>T<00>T <0C>h<00>UD<55>i<00>3<01>379=?<00><>i$<24>i> ><3E><01>U/ <0C>i/ 3<01> <01> <01> $<24>i<00><>kl<02>5<01>6<01>7567<00>TL<54>l<00>T <0C>k<00>T <0C>k<01>]<01> T<>l<00>T$<00>T <0C>k<00>UD<55>l<00>8<01>]8FHLN<00><>l4<1C>l?@A ?<3F> @<01>]<01>]<02><01>]<02> <01>Z<01>]buf<75><01>Z|<7C>8^<5E><>eA<01><><01><><01><><02><01><><02><01><>„<02>Ä<02>b<>Fk<46>}*<01>U<01><><01><><01><><02> $<24><>W<EFBFBD>N4 <0C>l4 8<01> <01> <01> $<24>l<02> <0C>l|<7C>5<00><>3 Always run on scope exit.<2E><1C>3<02><00><>3PM “Always” run: on regular exit from a scope or on unwinding from a panic.<2E><00><>4KH Can not run on abort, process exit, and other catastrophic events where<72><00><>4 destructors dont run.<2E>4<>5<00>A<><41><EFBFBD><EFBFBD><EFBFBD>HC(<03>5<00>;<01>];!BCD B<> C<01>]<01>]<02><01>]<02> <01>Z<01>]<01>k<01>Z|<7C>8^<5E><>eD<01>l:<03>5: ;,<2C>5<02><0F><17><13><17><13><17><13><13> <0C>l<13>L<>l<13>@<13>E<13><0F><13>trait.Strategy.html<6D><01><01><01> <01>q<01>q<1B><0F><><EFBFBD><EFBFBD>)5g<35>}AW<00>V[<5B>X0朙<30><E69C99>t<EFBFBD>$<24>6s<36>z'u<><75>OV
4<EFBFBD><EFBFBD>
(z<><7A>/wH<17>&<26>R "o<>v<EFBFBD><76><14><><EFBFBD>J<EFBFBD><4A>V$Dv <0A><10>ȼ^)<29>?<3F>yTM<<3C><>Y<EFBFBD><59><EFBFBD><EFBFBD>rTj`<60><><EFBFBD>&<26>+<2B><>L' <0C><><EFBFBD><EFBFBD>6_ <09>᱇L<E1B187><4C>X<07>W<07>P <0A><><EFBFBD>ÿϨWҞ<><D29E><13><>M?p. <0B><13>
<EFBFBD><><7F><EFBFBD>m.1I<EFBFBD><EFBFBD><13>c<EFBFBD><63><EFBFBD>&<26><><EFBFBD>jP<6A>$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n=w'3e<33><65><EFBFBD>''<27>la"0<>c<EFBFBD>'<27>;<3B>\)f"+^<5E><><EFBFBD>i<EFBFBD>tq<15>Z<EFBFBD><13><08>!<21>+,DK<44>y=<08><>Ԋ<EFBFBD><D48A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z`<60> <0C><><EFBFBD>cu<63><1B>X<EFBFBD><58><EFBFBD><EFBFBD>3<><33><EFBFBD>$<24>Y<EFBFBD><59><EFBFBD><16><> N_<4E>f<EFBFBD><66><EFBFBD><1E>Bx[?ߤ<>L<EFBFBD><4C>W<EFBFBD><1C>Jw<4A>8<EFBFBD><1D><><EFBFBD><EFBFBD>i<EFBFBD>z<EFBFBD> <0A><><<3C>&8<>zn4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>X<EFBFBD><07><><EFBFBD><EFBFBD>fU<11><><EFBFBD><EFBFBD>t,߈<>O<EFBFBD>+IȘA<C898><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:͌Ep$y][<5B> <0B>7<><37>N[<5B><>e<EFBFBD><65>n<EFBFBD>U<EFBFBD><55><EFBFBD>-'<27>^<5E><><EFBFBD><0<><30><EFBFBD><EFBFBD><EFBFBD>{l<>t<EFBFBD>~{<7B>4<EFBFBD><34><EFBFBD><EFBFBD>=<3D><><EFBFBD>ŷ<EFBFBD><1A><>#0Ω<30><>ή<EFBFBD><0F>Q<>=.<2E><><EFBFBD>iS<69>EX\<1D><> <0B><>;;h<>O<EFBFBD>m<><6D>%<25><>
ڭ<EFBFBD> !l<>ψ<12><>l]<5D><> Y<><59>#<23>y`<60><>7<<3C><00>8G
"<22><>5#<23>#v$<24>$<24>$<24> &^*<2A>*<2A>*5+<00>+<2B>,
0?1<00>1l2<>2<>2q3<>3^4<>4S5w6<>7<>7C"<00>#<00>7<00>#<00>$**<00>+<00>112;3)45<00>7)    
   B"<00>#W$<00>$<24>%})b*<2A>*<2A>*<00>,<2C>/y0p2<70>2<00>3q4f5~7<00>7<02><05>"<22>"<22>"# ####$#*#1#<23>#r$<24>$<24>$<24>&/*<*I*Z*<2A>*<2A>*0+<2B>+<2B>+<2B>+<2B>+<2B>,0 1-1:1<>1<EFBFBD>1<EFBFBD>1<EFBFBD>1A2N2[2h22<7F>2E3R3_3l3<6C>334@4M4Z4<5A>4'545A5N5s6<73>7<EFBFBD>7P8V8\8b8h8o8v8{8<>8<00>"# ###!#'#.#}#D$<00>$<24>%y)1*>*K*^*<2A>*<2A>*<00>+<2B>+<2B>+<2B>,<2C>/f0"1/1<00>1<EFBFBD>1<EFBFBD>1C2P2]2l2<6C>2G3T3a3q354B4O4^4)565C5S5z7<00>7S8Y8_8e8l8s8x8}8<>8<00>#g$~$<24>$<00>)9*F*U*l*<2A>*<2A>*d+<2B>+<2B>+<2B>+<2B>,<2C>/<2F>0*171n1<6E>1<EFBFBD>1<EFBFBD>12K2X2e2y2<79>23O3\3i3<69>3<EFBFBD>3=4J4W4<57>4<EFBFBD>415>5K5S6<53>7<EFBFBD>7;8<00>#_$x$<24>$<00>)3*@*O*d*<2A>*<2A>*7+<2B>+<2B>+<2B>+<2B>,<2C>/<2F>0$111A1<41>1<EFBFBD>1<EFBFBD>1<EFBFBD>1E2R2_2q2<71>2<EFBFBD>2I3V3c3<63>3<EFBFBD>374D4Q4<51>4<EFBFBD>4+585E5G67<7F>7.8k$<24>$<24>$*W*p*<2A>*+<2B>+<00>,<2C>/1<00>1/2}2<>293<00>3'4<00>45W6<57>7<EFBFBD>7?8X$<00>$~)<00>,<2C>/z0<00>2<00>3r4g57<00>7Y$<00>$<00>,<2C>/|0<00>2<00>3u4j5<00>7H$<00>$<00>,<2C>/j0<00>2u3b4W5<00>7<00><00>?IS]<00>;*H*Y*<00>+<2B>+<2B>+,191<00>1<EFBFBD>1<EFBFBD>1M2Z2g2Q3^3k3?4L4Y435@5M5r$<00>$<00>,<2C>/1<00>2<00>3<00>4d6C8-*<00>#@"{#v$w)5+?1<00>1<00>2<00>3<00>4x7<78>7"*<00>7*<00>7<EFBFBD><01><01><01><01><01><01><01><01><01><01><01>  '3DKS[bo~<02><02><02><02><02><02><02><02><02><02><02><02><02><02><02>!(/6:AHOVZahov<03><03><03><03><03><03><03><03><03><03><03>%*<00>#<00>$<00>+<2B>+3282<3*45<00>7<00>%<25>8<00>#<00>$<00>+<00>1=2A3/4#5<00>7<13><13><13><13><02> <1B><0F><><EFBFBD><EFBFBD>)<29><>m<>i<><02><17>}<7D><>core_intrinsics<63>fmt_helpers_for_derive<76><01>]<01>]<1B><0F><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD> 1<02><00><>5<00><><EFBFBD>Z<01><01><1B><0F><><EFBFBD><EFBFBD>)+'<27>?f<><66><EFBFBD><02>H<EFBFBD>G<EFBFBD>G<EFBFBD>G<EFBFBD>GH<>H*H<>GH<>HuH<75> ODHT E<00><02><><00><><EFBFBD><16><> N%<00><> !l<>AL<><4C>X<07>WV
4<EFBFBD><EFBFBD>
(z<00>;;h<>O<EFBFBD>?<00>L' <0C><><EFBFBD>i<>z<EFBFBD> <0A><><*<00><>/wH<00>P <0A><><EFBFBD>ÿn<>U<EFBFBD><55><EFBFBD>-5<00><>jP<6A>$<24> <0C><><EFBFBD>cu<63>"<13>c<EFBFBD><63><EFBFBD>&<26>3<><33><EFBFBD>$<24>Y$<00><>W<EFBFBD><1C>Jw(<00><><0F>Q<>=<<00>&<26>R "o<><00>la"0<><00><>t<EFBFBD>$<24>6s`<60><><EFBFBD>&<26>+<2B> <00>8<EFBFBD><1D><><EFBFBD><EFBFBD>)\)f"+^<5E><><00><><EFBFBD>t,߈<>/ψ<12><>l]<5D>BV[<5B>X0朙<00><>m.1I<EFBFBD><EFBFBD><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1'<27>^<5E><><EFBFBD><6<1B>X<EFBFBD><58><EFBFBD><EFBFBD>#<00><10>ȼ^)<29>
<00>6_ <09><13><>M?p. <00><><1A><>#0<>:5g<35>}AW<00>m<><6D>%<25><>
<EFBFBD>@<00><>V$Dv ,DK<44>y<00> Y<><59>#<23>CO<>+IȘA<C898>0c<>'<27>;<3B>?<3F>yTM<<3C><> ϨWҞ<><D29E>=<08><>Ԋ<EFBFBD><D48A> X<><58><EFBFBD><EFBFBD>X<EFBFBD>-<00>N[<5B><>e<EFBFBD><65>4<00><><><DC85>;<00><><EFBFBD><EFBFBD><EFBFBD>n=wBx[?ߤ<>L'<00><><EFBFBD>=<3D><><EFBFBD><EFBFBD>9'3e<33><65><EFBFBD>''y`<60><>7<<3C>D<00><><EFBFBD><EFBFBD>fU<11>..<2E><><EFBFBD>iS<69>E=X\<1D><> <0B>><00><13><08>!<21>+][<5B> <0B>7<>3_<>f<EFBFBD><66><EFBFBD><1E>&:͌Ep$y2<1B><0F><><EFBFBD><EFBFBD>)<00>i<EFBFBD>tq<15>Z<00>z'u<><75>Ov<><76><14><><EFBFBD>J4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<00><><EFBFBD><EFBFBD>z`<60>!Y<><59><EFBFBD><EFBFBD>rTj <00><13>
<EFBFBD><>0<><30><EFBFBD><EFBFBD><EFBFBD>{l7<00>&8<>zn+<00>t<EFBFBD>~{<7B>4<EFBFBD>8<00>'<27>T<EFBFBD><54><EFBFBD>=<3D><0F>F _<01>r<EFBFBD><72><EFBFBD>lG<6C><47><EFBFBD>,;<1E><>c<EFBFBD>b<EFBFBD>9<EFBFBD>K<EFBFBD><4B><EFBFBD>njC{<7B><>LV@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lCgAm<41><W<><EFBFBD><7F>
<EFBFBD>M<EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>K<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><03>mg;&<26>b<13><>O{<7B><>"O<>FE<46><-<2D><><EFBFBD> %m<> 5W6N<>'<27>T<EFBFBD><54><EFBFBD>=<3D><0F>F _^C:\Users\dxzq\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\scopeguard-1.2.0\src\lib.rs<72> 0-<2D>Y<EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD>"<22>e82<00><><01>:9F%%A 1+ "PN=@1R)
I:;:/L
+KQO6!P :CF:"&.27" :19 EBL.KS#?NI,/!$
I*U/H"VBT(OD=-:B29+G
#Q)4O!;NL,!>B6QL)&3& !"1@,9C@,& DB@,&CB>OKJNP(T'"Q+MC)/#
R !-*B8G;5
*9:22LO3
M
@)M&
N)M&MOOP 3!E'
L)A#I2 ,/(+=6^
1;/* "& "!$ "
-(
$ "3- $ "3,( $ "
,
$ 1(L*R*,*, *(L+U*57 *-,*-, (693* <0F><03><03> <03> <03>2<03>3<03>3<03>5<03>D<03>N<03>N<03>Q<03>Q<03>]<03>]<03>=H<>d<12><>?( W<>Rh<00>Ox86_64-pc-windows-gnu<6E><15><><EFBFBD>#M<><16>lNB{<7B><>
scopeguard<EFBFBD>-3d18e23bd547f26c<36><1B><0F><><EFBFBD><EFBFBD>)ҤR<01><06><00>hE<00>3<:<3A>;<3B>E<><ExEE<><00><<x<x<x<<3C><x;xv8p<<<<<<<<00>" ;v::tEt<00><"x ;<04>
<01>rust-end-file