grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026+ ‘÷D&»,Uãó$€Rt^RIt^RIt^RIt^RIt^RIHt^RIHt^RI H t H t .R+Ot !RR]P4t!RR]P4t!RR ]4t!RR]4t!RR4t!RR]]]4t!RR]]]4tRtRt!RR]4t!RR]4t!R R!]4t!R"R ]4t!R#R ]4t!R$R]4t!R%R&4t!R'R ]]4t!R(R ]]4t !R)R]]4t!!R*R]4t"R#),z4Utilities for with-statement contexts. See PEP 343.N)Údeque©Úwraps)Ú MethodTypeÚ GenericAliasÚclosingÚ nullcontextÚAbstractContextManagerÚAbstractAsyncContextManagerÚAsyncExitStackÚContextDecoratorÚ ExitStackÚredirect_stdoutÚredirect_stderrÚsuppressÚaclosingÚchdircóra€]tRt^toRt]!]4tRtRt ] PR4t ]R4t RtVtR#)r z,An abstract base class for context managers.c ó€V#©z0Return `self` upon entering the runtime context.©©Úselfs&Ú1/opt/alt/python314/lib64/python3.14/contextlib.pyÚ __enter__Ú AbstractContextManager.__enter__s€àˆ óc ó€R#©z9Raise any exception triggered within the runtime context.Nr©rÚexc_typeÚ exc_valueÚ tracebacks&&&&rÚ__exit__ÚAbstractContextManager.__exit__s€ñrcóR€V\Jd\P!VRR4#\#)rr#)r Ú_collections_abcÚ_check_methodsÚNotImplemented©ÚclsÚCs&&rÚ__subclasshook__Ú'AbstractContextManager.__subclasshook__"s&€à Ô(Ó (Ü#×2Ò2°1°kÀ:ÓNÐ NÜÐrrN)Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__Ú__doc__Ú classmethodrÚ__class_getitem__Ú __slots__rÚabcÚabstractmethodr#r,Ú__static_attributes__Ú__classdictcell__©Ú __classdict__s@rr r sKø‡€á6á# LÓ1Ðà€Iòð ×Ññóððñóörcóra€]tRt^)toRt]!]4tRtRt ] PR4t ]R4t RtVtR#)r z9An abstract base class for asynchronous context managers.cƒ ó"€V#5irrrs&rÚ __aenter__Ú&AbstractAsyncContextManager.__aenter__1s é€àˆ ùó‚cƒ ó"€R#5irrrs&&&&rÚ __aexit__Ú%AbstractAsyncContextManager.__aexit__5s é€ñùr@cóR€V\Jd\P!VRR4#\#)r>rB)r r&r'r(r)s&&rr,Ú,AbstractAsyncContextManager.__subclasshook__:s-€à Ô-Ó -Ü#×2Ò2°1°lØ3>ó@ð @äÐrrN)r.r/r0r1r2r3rr4r5r>r6r7rBr,r8r9r:s@rr r )sKø‡€áCá# LÓ1Ðà€Iòð ×Ññóððñóörcó0a€]tRt^BtoRtRtRtRtVtR#)r zJA base class or mixin that enables context managers to work as decorators.c ó€V#)aReturn a recreated instance of self. Allows an otherwise one-shot context manager like _GeneratorContextManager to support use as a decorator via implicit recreation. This is a private interface just for _GeneratorContextManager. See issue #11647 for details. rrs&rÚ _recreate_cmÚContextDecorator._recreate_cmEs €ðˆ rcó4aa€\S4VV3Rl4pV#)có‚<€SP4;_uu_4S!V/VBuuRRR4# +'giR#;i©N©rH©ÚargsÚkwdsÚfuncrs*,€€rÚinnerÚ(ContextDecorator.__call__..innerRs.ø€à×"Ñ"×$Õ$Ù˜TÐ* TÑ*÷%×$×$Ó$úsš-­ > r©rrQrRsff rÚ__call__ÚContextDecorator.__call__Qs ù€Ü ˆt‹õ +ó ð +ðˆ rrN© r.r/r0r1r2rHrUr8r9r:s@rr r Bsø‡€ÙPò ÷ðrcó0a€]tRt^YtoRtRtRtRtVtR#)ÚAsyncContextDecoratorzPA base class or mixin that enables async context managers to work as decorators.c ó€V#)z-Return a recreated instance of self. rrs&rrHÚ"AsyncContextDecorator._recreate_cm\s €ðˆ rcó4aa€\S4VV3Rl4pV#)cŸóØ<"€SP4;_uu_4GRjx€L S!V/VBGRjx€L uuRRR4GRjx€L #L&LL +GRjx€L 'giR#;i5irLrMrNs*,€€rrRÚ-AsyncContextDecorator.__call__..innerbsDøé€à×(Ñ(×*×*Õ*Ù! 4Ð0¨4Ñ0×0÷+×*Ô*Ù0÷+×*×*Ó*üsYƒA* A¡A*¤ A °A ±A ´ A*ÁA ÁA*Á A Á A*Á A' ÁAÁ A' ÁA' Á! A*rrTsff rrUÚAsyncContextDecorator.__call__as ù€Ü ˆt‹õ 1ó ð 1ðˆ rrNrWr:s@rrYrYYsø‡€ÙVò÷ ðrrYcó0a€]tRt^itoRtRtRtRtVtR#)Ú_GeneratorContextManagerBasezBShared functionality for @contextmanager and @asynccontextmanager.có¢€V!V/VBVnWVuVnVnVn\ VRR4pVf\ V4P pW@nR#)r2N)ÚgenrQrOrPÚgetattrÚtyper2)rrQrOrPÚdocs&&&& rÚ__init__Ú%_GeneratorContextManagerBase.__init__lsN€Ù˜Ð& Ñ&ˆŒØ*.°dÐ'ˆŒ �4”9˜dœiä�d˜I tÓ,ˆØ Š;Ü�t“*×$Ñ$ˆCØŽ rcód€VPVPVPVP4#rL)Ú __class__rQrOrPrs&rrHÚ)_GeneratorContextManagerBase._recreate_cmzs#€ð�~‰~˜dŸi™i¨¯©°D·I±IÓ>Ð>r)r2rOrQrcrPN) r.r/r0r1r2rgrHr8r9r:s@rraraisø‡€ÙLò÷?ð?rracó0a€]tRt^�toRtRtRtRtVtR#)Ú_GeneratorContextManagerz%Helper for @contextmanager decorator.cóp€V=V=V=\VP4# \ d\ R4Rhi;i)úgenerator didn't yieldN)rOrPrQÚnextrcÚ StopIterationÚ RuntimeErrorrs&rrÚ"_GeneratorContextManager.__enter__ˆsD€ð ˆI�t�y $ )ð CܘŸ™“>Ð !øÜô CÜÐ7Ó8¸dÐ Bð Cúsˆ�5cón€Vf#\VP4\R4hVfV!4pVPP V4\R4h TPP4i;i \dR#i;i \dpYBJuRp?#Rp?i\dJpYBJd Y4nRp?R#\T\4'dTPTJd Y2nRp?R#hRp?i\dpYBJdhY4nRp?R#Rp?ii;i TPP4i;i)Núgenerator didn't stopFz#generator didn't stop after throw()) rprcrrÚcloserqÚthrowÚ __traceback__Ú isinstanceÚ __cause__Ú BaseException©rÚtypÚvaluer"Úexcs&&&& rr#Ú!_GeneratorContextManager.__exit__‘s €Ø Š;ð %Ü�T—X‘X”ð%Ü&Ð'>Ó?Ð?ðŠ}ñ›�ð# Ø—‘—‘˜uÔ%ðF !Ü"Ð#HÓIÐIøðW—H‘H—N‘NÕ$ûô !ô Úð ûô!ô (ðÐ'Õ'ûÜô à“<Ø(1Ô%Ý ô˜u¤m×4Ò4ØŸ ™ ¨Ó.à*3Ô'Ý ØûÜ ô ðÓ#ØØ$-Ô!Ýûð ûð—‘—‘Õ úsu†A9œ A³B Á DÁA6Á9 BÂB DÂBÂD DÂ+DÂ, C0Â=,C0Ã/C0Ã0 DÃ=DÃ> DÄDÄD4rN) r.r/r0r1r2rr#r8r9r:s@rrmrm�sø‡€ñ 0òC÷7!ð7!rrmcó0a€]tRt^ÊtoRtRtRtRtVtR#)Ú_AsyncGeneratorContextManagerz*Helper for @asynccontextmanager decorator.cƒóŒ"€V=V=V=\VP4GRjx€L #L \ d\ R4Rhi;i5i)Nro)rOrPrQÚanextrcÚStopAsyncIterationrrrs&rr>Ú(_AsyncGeneratorContextManager.__aenter__ÑsLé€ð ˆI�t�y $ )ð CܘtŸx™x›×(Ð (Ñ(øÜ!ô CÜÐ7Ó8¸dÐ Bð Cüs%‚AŠ)¢'£)¦A§)©AÁAcƒóÎ"€Vf+\VP4GRjx€L \R4hVfV!4pVPP V4GRjx€L \R4hLK TPP4GRjx€L i;i \dR#i;iLL \dpYBJuRp?#Rp?i\dPpYBJd Y4nRp?R#\T\\34'dTPTJd Y2nRp?R#hRp?i\dpYBJdhY4nRp?R#Rp?ii;i TPP4GRjx€L i;i5i)NruFz$generator didn't stop after athrow()) r„rcrrÚacloser…Úathrowrxryrqrzr{r|s&&&& rrBÚ'_AsyncGeneratorContextManager.__aexit__Ús6逨 Š;ð ,ܘDŸH™H“o×%Ð%ð,Ü&Ð'>Ó?Ð?ðŠ}ñ›�ð# Ø—h‘h—o‘o eÓ,×,Ð,ðF (Ü"Ð#IÓJÐJñe&øðŸ(™(Ÿ/™/Ó+×+Ò+ûô &ô Úð úñ-øÜ%ô (ðÐ'Õ'ûÜô à“<Ø(1Ô%Ý ô˜u¤}Ô6HÐ&I×JÒJØŸ ™ ¨Ó.à*3Ô'Ý ØûÜ ô ðÓ#ØØ$-Ô!Ýûð ûð—h‘h—o‘oÓ'×'Ò'üsï‚E%ˆB A,¡B¦ A.± E%½B*ÁB(ÁB*Á! D=Á,BÁ.B B BÂE% B%Â!E%Â$B%Â%E%Â(B*Â* D:Â5B=Â7D:Â8E%Â= D:à D:à DÃE%Ã2DÄE%ÄDÄ D:Ä"D:Ä# D5Ä/E%Ä5D:Ä:E%Ä=E"ÅEÅE"Å"E%rN) r.r/r0r1r2r>rBr8r9r:s@rr‚r‚Êsø‡€ñ 5òC÷7(ð7(rr‚có0a€\S4V3Rl4pV#)a�@contextmanager decorator. Typical usage: @contextmanager def some_generator(): try: yield finally: This makes this: with some_generator() as : equivalent to this: try: = finally: có<€\SW4#rL)rm©rOrPrQs*,€rÚhelperÚcontextmanager..helper/sø€ä'¨¨dÓ9Ð9rr©rQrŽsf rÚcontextmanagerr‘s ø€ô6 ˆ4ƒ[ô:óð:à €Mrcó0a€\S4V3Rl4pV#)a±@asynccontextmanager decorator. Typical usage: @asynccontextmanager async def some_async_generator(): try: yield finally: This makes this: async with some_async_generator() as : equivalent to this: try: = finally: có<€\SW4#rL)r‚r�s*,€rrŽÚ#asynccontextmanager..helperPsø€ä,¨T°4Ó>Ð>rrr�sf rÚasynccontextmanagerr•5s ø€ô6 ˆ4ƒ[ô?óð?à €Mrcó6a€]tRtRtoRtRtRtRtRtVt R#)riVa Context to automatically close something at the end of a block. Code like this: with closing(.open()) as f: is equivalent to this: f = .open() try: finally: f.close() có€WnR#rL©Úthing©rr™s&&rrgÚclosing.__init__gó€ØŽ rcó€VP#rLr˜rs&rrÚclosing.__enter__is €Ø�z‰zÐrcó:€VPP4R#rL)r™rv©rÚexc_infos&*rr#Úclosing.__exit__ks€Ø � ‰ ×ÑÖrr˜N© r.r/r0r1r2rgrr#r8r9r:s@rrrVsø‡€ñò ò÷ðrcó6a€]tRtRtoRtRtRtRtRtVt R#)rioarAsync context manager for safely finalizing an asynchronously cleaned-up resource such as an async generator, calling its ``aclose()`` method. Code like this: async with aclosing(.fetch()) as agen: is equivalent to this: agen = .fetch() try: finally: await agen.aclose() có€WnR#rLr˜ršs&&rrgÚaclosing.__init__�rœrcƒó""€VP#5irLr˜rs&rr>Úaclosing.__aenter__ƒs逨�z‰zÐùó‚ c‡óV"€VPP4GRjx€L R#L5irL)r™rˆr s&*rrBÚaclosing.__aexit__…s逨�j‰j×ÑÓ!×!Ô!ùs ‚) '¡)r˜N) r.r/r0r1r2rgr>rBr8r9r:s@rrrosø‡€ñò"ò÷"ð"rcó6a€]tRtRtoRtRtRtRtRtVt R#)Ú_RedirectStreami‰Ncó €Wn.VnR#rL©Ú _new_targetÚ _old_targets)rÚ new_targets&&rrgÚ_RedirectStream.__init__�s€Ø%ÔàˆÖrcóÊ€VPP\\VP44\ \VPVP 4VP #rL)r±ÚappendrdÚsysÚ_streamÚsetattrr°rs&rrÚ_RedirectStream.__enter__’sC€Ø ×Ñ× Ñ ¤¬¨d¯l©lÓ!;Ô<Ü”�T—\‘\ 4×#3Ñ#3Ô4Ø×ÑÐrcól€\\VPVPP 44R#rL)r¸r¶r·r±Úpop)rÚexctypeÚexcinstÚexctbs&&&&rr#Ú_RedirectStream.__exit__—s!€Ü”�T—\‘\ 4×#4Ñ#4×#8Ñ#8Ó#:Ö;rr¯) r.r/r0r1r·rgrr#r8r9r:s@rr­r­‰sø‡€à€Gòò  ÷ <ð._exit_wrapperásø€Ù �dÐ #˜dÔ #rr©rãrOrPräsbjl rÚ_create_cb_wrapperÚ!_BaseExitStack._create_cb_wrapperßsú€÷ $àÐrcó$€\4VnR#rL)rÚ_exit_callbacksrs&rrgÚ_BaseExitStack.__init__ås €Ü$›wˆÖrc óf€\V4!4pVPVn\4VnV#)z@Preserve the context stack by transferring it to a new instance.)rerêr)rÚ new_stacks& rÚpop_allÚ_BaseExitStack.pop_allès+€ä˜”J“Lˆ Ø$(×$8Ñ$8ˆ Ô!Ü$›wˆÔØÐrc óž€\V4pVPpVPW4V# \dTP T4T#i;i)zîRegisters a callback with the standard __exit__ method signature. Can suppress exceptions the same way __exit__ method can. Also accepts any object with an __exit__ method (registering a call to the method instead of the object itself). )rer#Ú _push_cm_exitÚAttributeErrorÚ_push_exit_callback©rÚexitÚ_cb_typeÚ exit_methods&& rÚpushÚ_BaseExitStack.pushïsX€ô˜“:ˆð 2Ø"×+Ñ+ˆKð × Ñ ˜tÔ 1؈ øô ô +à × $Ñ $ TÕ *ðˆ ð  +ús� ,¬A Á A c óì€\V4pVPpVPpT!T4pTPY4T# \d)\ RTP RTP R24Rhi;i)z“Enters the supplied context manager. If successful, also pushes its __exit__ method as a callback and returns the result of the __enter__ method. Ú'Ú.z6' object does not support the context manager protocolN)rerr#ròÚ TypeErrorr/r0rñ©rrÚr*Ú_enterÚ_exitÚresults&& rÚ enter_contextÚ_BaseExitStack.enter_contexts�€ô�2‹hˆð SØ—]‘]ˆFØ—L‘LˆEñ˜“ˆØ ×ј2Ô%؈ øô ô Sܘa §¡Ð/¨q°×1AÑ1AÐ0BðCGðHóIØNRð Sð Sús �AÁ3A3c ó`€VP!V.VO5/VBpWnVPV4V#)zLRegisters an arbitrary callback and arguments. Cannot suppress exceptions. )rçÚ __wrapped__ró©rrãrOrPräs""*, rrãÚ_BaseExitStack.callbacks9€ð ×/Ò/°ÐH¸4ÒHÀ4ÑHˆ ð%-Ô!Ø × Ñ  Ô/؈rc óL€VPW4pVPVR4R#)z;Helper to correctly register callbacks to __exit__ methods.TN)rÜró©rrÚrÛräs&&& rrñÚ_BaseExitStack._push_cm_exit#s"€à×1Ñ1°"Ó>ˆ Ø × Ñ  °Ö5rcó>€VPPW!34R#rL)rêrµ)rrãÚis_syncs&&&rróÚ"_BaseExitStack._push_exit_callback(s€Ø ×Ñ×#Ñ# WÐ$7Ö8r)rêN)T)r.r/r0r1r2Ú staticmethodrÜrçrgrîrørrãrñrór8r9r:s@rrÖrÖØsVø‡€Ù8àñ'óð'ðñóðò 'òòò(ò& ò6÷ 9ò9rrÖcó6a€]tRtRtoRtRtRtRtRtVt R#)r i-aoContext manager for dynamic management of a stack of exit callbacks. For example: with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # All opened files will automatically be closed at the end of # the with statement, even if attempts to open files later # in the list raise an exception. có€V#rLrrs&rrÚExitStack.__enter__8s€Øˆ rcóôa €V^,pVRJp\P!4o V 3RlpRpRpVP'd\VPP4wrxV'gQhVfRpM\ V4W"P 3pV!V!'d RpRpRpKkKmV'dVPp VhT;'dT# \ dp T!Y’4RpT pRp ? K­Rp ? ii;i \ d X Tnhi;i)éNcóZ<€VPpVeW!JdR#VSJdMTpK#WnR#©rN©Ú __context__©Únew_excÚold_excÚ exc_contextÚ frame_excs&& €rÚ_fix_exception_contextÚ2ExitStack.__exit__.._fix_exception_contextBó7ø€àØ%×1Ñ1� ØÒ&¨+Ó*@áØ )Ó+ØØ%’ð#*Ö rFT©NNN©r¶Ú exceptionrêr»rerxr{r) rÚ exc_detailsrÚ received_excrÚsuppressed_excÚ pending_raiser ÚcbrÚ fixed_ctxrs &* @rr#ÚExitStack.__exit__;sø€Ø˜!�nˆØ $�ˆ ô—M’M“Oˆ õ *ð ˆØˆ Ø×"×"Ð"Ø×.Ñ.×2Ñ2Ó4‰KˆG߈N�7ð Ø’;Ø"2‘Kä"& s£)¨S×2CÑ2CÐ"C�KÙ�{×#Ð#Ø%)�NØ$)�MØ’Cñ$÷ ð ð ŸO™O� Ø� ð×.Ð. Ð.øô!ô á& wÔ4Ø $� Ø–ûð  ûô!ô Ø"+�”Øð ús*Á')B>ÂB>Â$C#Â> C à CÃC Ã#C7c ó,€VPRRR4R#©z%Immediately unwind the context stack.N)r#rs&rrvÚExitStack.closeqs€à � ‰ �d˜D $Ö'rrN) r.r/r0r1r2rr#rvr8r9r:s@rr r -sø‡€ñòò4/÷l(ð(rcóna€]tRtRtoRt]R4t]R4tRtRt Rt Rt R t R t R tR tVtR #)r iwa³Async context manager for dynamic management of a stack of exit callbacks. For example: async with AsyncExitStack() as stack: connections = [await stack.enter_async_context(get_connection()) for i in range(5)] # All opened connections will automatically be released at the # end of the async with statement, even if attempts to open a # connection later in the list raise an exception. có€\W4#rLrØrÙs&&rÚ_create_async_exit_wrapperÚ)AsyncExitStack._create_async_exit_wrapper„rÞrcóaaa€VVV3RlpV#)c“ó4<"€S!S/SBGRjx€L R#L5irLrrás&&&€€€rräÚ>AsyncExitStack._create_async_cb_wrapper.._exit_wrapperŠsøé€Ù˜DÐ) DÑ)× )Ô )ùs ƒ ��rræsbjl rÚ_create_async_cb_wrapperÚ'AsyncExitStack._create_async_cb_wrapperˆsú€÷ *àÐrcƒ ó"€\V4pVPpVPpT!T4GRjx€L pTPY4T# \d)\ RTP RTP R24Rhi;iLM5i)z›Enters the supplied async context manager. If successful, also pushes its __aexit__ method as a callback and returns the result of the __aenter__ method. rûrüzC' object does not support the asynchronous context manager protocolN)rer>rBròrýr/r0Ú_push_async_cm_exitrþs&& rÚenter_async_contextÚ"AsyncExitStack.enter_async_contextŽs“é€ô �2‹hˆð 'Ø—^‘^ˆFØ—M‘MˆEñ ˜b“z×!ˆØ × Ñ  Ô+؈ øô ô 'ܘa §¡Ð/¨q°×1AÑ1AÐ0BðCTðUóà"&ð 'ð 'úñ"ùs%‚ B�A § B²B³BÁ 3A=Á=Bc ó €\V4pVPpVPW4V# \dTP TR4T#i;i)zûRegisters a coroutine function with the standard __aexit__ method signature. Can suppress exceptions the same way __aexit__ method can. Also accepts any object with an __aexit__ method (registering a call to the method instead of the object itself). F)rerBr7ròrórôs&& rÚpush_async_exitÚAsyncExitStack.push_async_exit sZ€ô˜“:ˆð 8Ø"×,Ñ,ˆKð × $Ñ $ TÔ 7؈ øô ô 2à × $Ñ $ T¨5Õ 1ðˆ ð  2ús� ,¬A Á A c ób€VP!V.VO5/VBpWnVPVR4V#)zVRegisters an arbitrary coroutine function and arguments. Cannot suppress exceptions. F)r4rrórs""*, rÚpush_async_callbackÚ"AsyncExitStack.push_async_callback²s;€ð ×5Ò5°hÐNÀÒNÈÑNˆ ð%-Ô!Ø × Ñ  °Ô6؈rcƒ óH"€VPRRR4GRjx€L R#L5ir+)rBrs&rrˆÚAsyncExitStack.aclose¿sé€à�n‰n˜T 4¨Ó.×.Ô.ùs ‚"™ š"c óL€VPW4pVPVR4R#)zDHelper to correctly register coroutine function to __aexit__ method.FN)r/rór s&&& rr7Ú"AsyncExitStack._push_async_cm_exitÃs$€ð×7Ñ7¸ÓDˆ Ø × Ñ  °Ö6rcƒó"€V#5irLrrs&rr>ÚAsyncExitStack.__aenter__És 逨ˆ ùr@c‡óa "€V^,pVRJp\P!4o V 3RlpRpRpVP'dkVPP4wrxVfRpM\ V4W"P 3pV'dV!V!p MV!V!GRjx€L p V 'd RpRpRpKzK|V'dVPp VhT;'dT#L9 \ dp T!Y¢4RpT pRp ? K¾Rp ? ii;i \ d X Tnhi;i5i)rNcóZ<€VPpVeW!JdR#VSJdMTpK#WnR#rrrs&& €rrÚ8AsyncExitStack.__aexit__.._fix_exception_contextÓrrFTr r!) rr#rr$rr%r&r r'Ú cb_suppressrr(rs &* @rrBÚAsyncExitStack.__aexit__Ìsøé€Ø˜!�nˆØ $�ˆ ô—M’M“Oˆ õ *ð ˆØˆ Ø×"×"Ð"Ø×.Ñ.×2Ñ2Ó4‰KˆGð Ø’;Ø"2‘Kä"& s£)¨S×2CÑ2CÐ"C�KßÙ"$ kÑ"2‘Ká(*¨KÑ(8×"8�KçØ%)�NØ$)�MØ’Cñ÷ ð ð ŸO™O� Ø� ð×.Ð. Ð.ñ+#9øô !ô á& wÔ4Ø $� Ø–ûð  ûô!ô Ø"+�”Øð üsqƒ>D ÁD Á%CÂCÂC CÂ"CÂ( D Â5C6ÃD à D ÃCà C3à C.Ã(D Ã.C3Ã3D Ã6D Ä D rN)r.r/r0r1r2rr/r4r8r;r>rˆr7r>rBr8r9r:s@rr r wsZø‡€ñ ðñ'óð'ðñóðò ò$ò$ ò/ò7ò ÷8/ð8/rcóFa€]tRtRtoRtR RltRtRtRtRt R t Vt R#) ria7Context manager that does no additional processing. Used as a stand-in for a normal context manager, when a particular block of code is only sometimes used with a normal context manager: cm = optional_cm if condition else nullcontext() with cm: # Perform operation, using optional_cm if condition is True Ncó€WnR#rL©Ú enter_result)rrNs&&rrgÚnullcontext.__init__s€Ø(Örcó€VP#rLrMrs&rrÚnullcontext.__enter__s€Ø× Ñ Ð rcó€R#rLr©rÚexcinfos&*rr#Únullcontext.__exit__rÍrcƒó""€VP#5irLrMrs&rr>Únullcontext.__aenter__s逨× Ñ Ð ùr©c‡ó"€R#5irLrrSs&*rrBÚnullcontext.__aexit__sé€Ù ùr@rMrL) r.r/r0r1r2rgrr#r>rBr8r9r:s@rrrs(ø‡€ñô)ò!ò ò!÷ ð rcó6a€]tRtRtoRtRtRtRtRtVt R#)ri"zHNon thread-safe context manager to change the current working directory.có €Wn.VnR#rL)ÚpathÚ_old_cwd)rr\s&&rrgÚchdir.__init__%s€ØŒ ØˆŽ rcó¢€VPP\P!44\P!VP 4R#rL)r]rµÚosÚgetcwdrr\rs&rrÚchdir.__enter__)s*€Ø � ‰ ×ÑœRŸYšY›[Ô)Ü �Š�—‘Örcób€\P!VPP44R#rL)r`rr]r»rSs&*rr#Úchdir.__exit__-s€Ü �Š�—‘×"Ñ"Ó$Ö%r)r]r\Nr£r:s@rrr"sø‡€ÙRòò÷&ð&r)r•r‘rrr r r r r rrrrr)#r2r6r`r¶r&Ú collectionsrÚ functoolsrÚtypesrrÚ__all__ÚABCr r Úobjectr rYrarmr‚r‘r•rrr­rrrrÖr r rrrrrÚrks9ðÙ:Û Û Û ÛÝÝß*ò €ô˜SŸW™Wôô0 #§'¡'ôô2�vôô. ˜Fô ÷ ?ñ?ô0G!Ø ØØôG!ôRG(Ø ØØôG(òTòBôBÐ$ôô2"Ð*ô"ô4<Ð,ô<ô$ �oô ô �oôô $Ð%ô$÷NQ9ñQ9ôjF(�Ð 6ôF(ôTM/�^Ð%@ôM/ô` Ð(Ð*Eô ô6 &Ð "ö &r