grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026ó ¶åé†Úˆ“Áãó2•SrSSKJrJrJrJrJrJrJrJ r SSK J r J r SSK r SSKrSSKr\\4r/SQr\ R$R'\ 5 "SS\5r"SS \ R*5r"S S \5r"S S \ R*5r"SS5rg)ztWeak reference support for Python. This module is an implementation of PEP 205: https://peps.python.org/pep-0205/ é)ÚgetweakrefcountÚ getweakrefsÚrefÚproxyÚCallableProxyTypeÚ ProxyTypeÚ ReferenceTypeÚ_remove_dead_weakref)ÚWeakSetÚ_IterationGuardN) rrrrÚWeakKeyDictionaryr rrÚ ProxyTypesÚWeakValueDictionaryr Ú WeakMethodÚfinalizecó^^•\rSrSrSrSrS SjrU4SjrSrSr \ Rr Sr U=r $) ré&z‹ A custom `weakref.ref` subclass which simulates a weak reference to a bound method, working around the lifetime problem of bound methods. )Ú _func_refÚ _meth_typeÚ_aliveÚ __weakref__có@^^•URnURnUU4Sjn[ R"XU5n[ XE5Ul[ U5Ul SUl [ U5mU$![a% [SR [ U555Sef=f)Nz)argument should be a bound method, not {}có^>•T"5nUR(aSUlTb T"U5 ggg©NF)r)ÚargÚselfÚcallbackÚself_wrs €€Ú./opt/alt/python313/lib64/python3.13/weakref.pyÚ_cbÚWeakMethod.__new__.._cb5s1ø€ñ“9ˆDØ�{�{Ø#�” ØÑ'Ù˜T•Nð(ðóT) Ú__self__Ú__func__ÚAttributeErrorÚ TypeErrorÚformatÚtyperÚ__new__rrr)ÚclsÚmethrÚobjÚfuncr rrs ` @rr)ÚWeakMethod.__new__.sŽù€ð ;Ø—-‘-ˆCØ—=‘=ˆDö #ô�{Š{˜3 SÓ)ˆÜ˜T›ˆŒÜ˜t›*ˆŒØˆŒ Ü�d“)ˆØˆ øô!ó ;ÜÐGß#™V¤D¨£JÓ/ó1Ø6:ð ;ð ;ús „A.Á./Bcóp>•[TU]5nUR5nUbUcgURX!5$©N)ÚsuperÚ__call__rr)rr,r-Ú __class__s €rr2ÚWeakMethod.__call__Ds7ø€Ü‰gÑÓ ˆØ�~‰~ÓˆØ ‰;˜$™,ØØ�‰˜tÓ)Ð)r"cóî•[U[5(a[UR(aUR(dXL$[R"X5=(a UR UR :H$[ $r0)Ú isinstancerrrÚ__eq__rÚNotImplemented©rÚothers rr7ÚWeakMethod.__eq__KsK€Ü �eœZ× (Ñ (Ø—;—; e§l§lØ�}Ð$Ü—:’:˜dÓ*×P¨t¯~©~ÀÇÁÑ/PÐ PÜÐr"cóî•[U[5(a[UR(aUR(dXL$[R"X5=(d UR UR :g$[ $r0)r6rrrÚ__ne__rr8r9s rr=ÚWeakMethod.__ne__RsL€Ü �eœZ× (Ñ (Ø—;—; e§l§lØÐ(Ð(Ü—:’:˜dÓ*×O¨d¯n©nÀÇÁÑ.OÐ OÜÐr")rrrr0)Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__Ú__doc__Ú __slots__r)r2r7r=rÚ__hash__Ú__static_attributes__Ú __classcell__©r3s@rrr&s/ø†ñð C€Iôõ,*òòð�|‰|†Hr"rcóÀ•\rSrSrSrSSjr\4SjrSrSr Sr Sr S r S r S r\rS rSSjrSrSr\rSrSrSrSrSSjrSSjrSrSrSrSrSrg )ré\z�Mapping class that references values weakly. Entries in the dictionary will be discarded when no strong reference to the value exists anymore c ó˜•[U5[4SjnX0l/Ul[ 5Ul0UlUR"U40UD6 g)Ncó•U"5nUbUUR(a&URRUR5 gU"URUR5 ggr0)Ú _iteratingÚ_pending_removalsÚappendÚkeyÚdata)ÚwrÚselfrefÚ_atomic_removalrs rÚremoveÚ,WeakValueDictionary.__init__..removeisG€Ù“9ˆDØÑØ—?—?Ø×*Ñ*×1Ñ1°"·&±&Õ9ñ$ D§I¡I¨r¯v©vÕ6ð  r")rr Ú_removerNÚsetrMrQÚupdate)rr:ÚkwrUs rÚ__init__ÚWeakValueDictionary.__init__hsA€Ü" 4›yÔ:Nô 7ðŒ à!#ˆÔÜ›%ˆŒØˆŒ Ø � Š �EÑ ˜RÓ r"cóŒ•URRnURnU"5nU"X45 M![a gf=fr0)rNÚpoprQÚ IndexError)rrTr^ÚdrPs rÚ_commit_removalsÚ$WeakValueDictionary._commit_removalsysP€Ø×$Ñ$×(Ñ(ˆØ �I‰Iˆðð Ù“e�ñ ˜AÔ #ñ øôó Ùð ús¥6¶ AÁAcóŒ•UR(aUR5 URU"5nUc [U5eU$r0©rNrarQÚKeyError©rrPÚos rÚ __getitem__ÚWeakValueDictionary.__getitem__…s;€Ø × !× !Ø × !Ñ !Ô #Ø �I‰I�cŠNÓ ˆØ ‰9ܘ3“-Ð àˆHr"có`•UR(aUR5 URU gr0)rNrarQ©rrPs rÚ __delitem__ÚWeakValueDictionary.__delitem__Žs"€Ø × !× !Ø × !Ñ !Ô #Ø �I‰I�c‰Nr"cón•UR(aUR5 [UR5$r0)rNraÚlenrQ©rs rÚ__len__ÚWeakValueDictionary.__len__“s%€Ø × !× !Ø × !Ñ !Ô #Ü�4—9‘9‹~Ðr"có–•UR(aUR5 URU"5nUSL$![a gf=frrdrfs rÚ __contains__Ú WeakValueDictionary.__contains__˜sL€Ø × !× !Ø × !Ñ !Ô #ð Ø— ‘ ˜#’Ó ˆAð˜ˆ}Ðøôó Ùð ús£;» AÁAcóJ•SURR[U54-$©Nz <%s at %#x>©r3r?Úidrps rÚ__repr__ÚWeakValueDictionary.__repr__¡ó €Ø §¡× 7Ñ 7¼¸D»ÐBÑBÐBr"cóŒ•UR(aUR5 [X RU5URU'gr0)rNraÚKeyedRefrWrQ©rrPÚvalues rÚ __setitem__ÚWeakValueDictionary.__setitem__¤s/€Ø × !× !Ø × !Ñ !Ô #Ü! %¯©°sÓ;ˆ� ‰ �#Šr"có•UR(aUR5 [5n[U5 URR 5Hup#U"5nUcMXAU'M SSS5 U$!,(df  U$=fr0)rNrarr rQÚitems)rÚnewrPrRrgs rÚcopyÚWeakValueDictionary.copy©sm€Ø × !× !Ø × !Ñ !Ô #Ü!Ó#ˆÜ ˜TÕ "ØŸ9™9Ÿ?™?Ö,‘�Ù“D�Ø“=Ø ˜“Hñ-÷#ð ˆ ÷ #Ô "ð ˆ ús·(A5Á#A5Á5 Bcó2•SSKJn UR(aUR5 UR 5n[ U5 UR R5HupEU"5nUcMXcU"XA5'M SSS5 U$!,(df  U$=f©Nr)Údeepcopy)r†rŠrNrar3r rQr„)rÚmemorŠr…rPrRrgs rÚ __deepcopy__Ú WeakValueDictionary.__deepcopy__¶sz€Ý!Ø × !× !Ø × !Ñ !Ô #Ø�n‰nÓˆÜ ˜TÕ "ØŸ9™9Ÿ?™?Ö,‘�Ù“D�Ø“=Ø/0™ Ó+Ó,ñ-÷#ð ˆ ÷ #Ô "ð ˆ úsÁ(BÁ/B BNcó¤•UR(aUR5 URUnU"5nUcU$U$![a Us$f=fr0rd)rrPÚdefaultrRrgs rÚgetÚWeakValueDictionary.getÂsW€Ø × !× !Ø × !Ñ !Ô #ð Ø—‘˜3‘ˆBñ“ˆA؉yà�à�øôó ØŠNð ús£AÁ AÁAc#ó# •UR(aUR5 [U5 URR 5HupU"5nUcMX4v• M SSS5 g!,(df  g=f7fr0©rNrar rQr„)rÚkrRÚvs rr„ÚWeakValueDictionary.itemsÑsW逨 × !× !Ø × !Ñ !Ô #Ü ˜TÕ "ØŸ™Ÿ™Ö*‘�Ù“D�Ø“=ؘ$”Jñ+÷#× "Ö "üs"‚-A>¯(A-Á A-Á$ A>Á- A;Á7A>c#óú# •UR(aUR5 [U5 URR 5HupU"5cMUv• M SSS5 g!,(df  g=f7fr0r“)rr”rRs rÚkeysÚWeakValueDictionary.keysÚsQ逨 × !× !Ø × !Ñ !Ô #Ü ˜TÕ "ØŸ™Ÿ™Ö*‘�Ù“4Ó#Ø”Gñ+÷#× "Ö "üó"‚-A;¯&A*ÁA*Á! A;Á* A8Á4A;c#óà# •UR(aUR5 [U5 URR 5Shv•N SSS5 gN !,(df  g=f7f)a`Return an iterator that yields the weak references to the values. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the values around longer than needed. N©rNrar rQÚvaluesrps rÚ itervaluerefsÚ!WeakValueDictionary.itervaluerefsäsMé€ð × !× !Ø × !Ñ !Ô #Ü ˜TÕ "Ø—y‘y×'Ñ'Ó)× )Ð )÷#Ð "Ù )÷#Õ "üs.‚-A.¯AÁ AÁAÁ A.ÁAÁ A+Á'A.c#óú# •UR(aUR5 [U5 URR 5HnU"5nUcMUv• M SSS5 g!,(df  g=f7fr0rœ©rrRr,s rr�ÚWeakValueDictionary.valuesósU逨 × !× !Ø × !Ñ !Ô #Ü ˜TÕ "Ø—i‘i×&Ñ&Ö(�Ù“d�Ø“?Ø”Iñ)÷#× "Ö "üršcóœ•UR(aUR5 URR5upU"5nUbX4$M+r0)rNrarQÚpopitem)rrPrRrgs rr¤ÚWeakValueDictionary.popitemüsF€Ø × !× !Ø × !Ñ !Ô #ØØ—i‘i×'Ñ'Ó)‰GˆCÙ“ˆA؉}Ø�v� ñ r"cóâ•UR(aUR5 URRU5"5nUcU(aUS$[ U5eU$![a SnN*f=f)Nr)rNrarQr^re)rrPÚargsrgs rr^ÚWeakValueDictionary.popsi€Ø × !× !Ø × !Ñ !Ô #ð Ø— ‘ — ‘ ˜cÔ"Ó$ˆAð ‰9ÞØ˜A‘w�ä˜s“mÐ#àˆHøôó ØŠAð ús£ AÁ A.Á-A.cóæ•URU"5nUcFUR(aUR5 [ X R U5URU'U$U$![a SnNYf=fr0)rQrerNrar~rW)rrPr�rgs rÚ setdefaultÚWeakValueDictionary.setdefaultsk€ð Ø— ‘ ˜#’Ó ˆAð ‰9Ø×%×%Ø×%Ñ%Ô'Ü% g¯|©|¸SÓAˆD�I‰I�c‰N؈NàˆHøôó ØŠAð ús‚A!Á! A0Á/A0c ó`•UR(aUR5 URnUbM[US5(d [ U5nUR 5HupE[ XPRU5X4'M UR 5HupE[ XPRU5X4'M g©Nr„)rNrarQÚhasattrÚdictr„r~rW)rr:Úkwargsr`rPrgs rrYÚWeakValueDictionary.update!s„€Ø × !× !Ø × !Ñ !Ô #Ø �I‰IˆØ Ñ Ü˜5 '×*Ñ*ܘU› �ØŸ+™+ž-‘�Ü! !§\¡\°3Ó7�“ñ(à—l‘l–n‰FˆCܘa§¡¨sÓ3ˆA‹Fò%r"cóŠ•UR(aUR5 [URR 55$)aNReturn a list of weak references to the values. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the values around longer than needed. )rNraÚlistrQr�rps rÚ valuerefsÚWeakValueDictionary.valuerefs-s1€ð × !× !Ø × !Ñ !Ô #Ü�D—I‘I×$Ñ$Ó&Ó'Ð'r"có(•URU5 U$r0©rYr9s rÚ__ior__ÚWeakValueDictionary.__ior__;ó€Ø � ‰ �EÔØˆ r"có’•[U[R5(a#UR5nUR U5 U$[ $r0©r6Ú_collections_abcÚMappingr†rYr8©rr:Úcs rÚ__or__ÚWeakValueDictionary.__or__?ó7€Ü �eÔ-×5Ñ5× 6Ñ 6Ø— ‘ “ ˆAØ �H‰H�UŒO؈HÜÐr"có´•[U[R5(a4UR5nUR U5 UR U5 U$[ $r0©r6r½r¾r3rYr8r¿s rÚ__ror__ÚWeakValueDictionary.__ror__FóC€Ü �eÔ-×5Ñ5× 6Ñ 6Ø—‘Ó ˆAØ �H‰H�UŒOØ �H‰H�TŒN؈HÜÐr")rMrNrWrQ)©r0) r?r@rArBrCr[r rarhrlrqrtrzr�r†Ú__copy__rŒr�r„r˜Ú__iter__ržr�r¤r^rªrYr´r¸rÁrÆrFrÉr"rrr\s�†ñô!ð"0Dô $òòò ò òCò<ò ð€Hò ô òòð€Hò *òòò ô ô 4ò (òòõr"rcó6^•\rSrSrSrSrSrU4SjrSrU=r $)r~iOaGSpecialized reference that includes a key corresponding to the value. This is used in the WeakValueDictionary to avoid having to create a function object for each key stored in the mapping. A shared callback object can use the 'key' attribute of a KeyedRef instead of getting a reference to the key from an enclosing scope. ©rPcó@•[R"XU5nX4lU$r0)rr)rP)r(ÚobrrPrs rr)ÚKeyedRef.__new__[s€Ü�{Š{˜4 XÓ.ˆØŒØˆ r"có$>•[TU]X5 gr0)r1r[)rrÏrrPr3s €rr[ÚKeyedRef.__init__`sø€Ü ‰Ñ˜Õ&r") r?r@rArBrCrDr)r[rFrGrHs@rr~r~Osø†ñð€Iò÷ 'ó'r"r~cóº•\rSrSrSrSSjrSrSrSrSr S r S r S r S r \ rS rSSjrSrSrSr\rSrSrSrSrSSjrSSjrSrSrSrSrg)r idalMapping class that references keys weakly. Entries in the dictionary will be discarded when there is no longer a strong reference to the key. This can be used to associate additional data with an object owned by other parts of an application without adding attributes to those objects. This can be especially useful with objects that override attribute accesses. Ncó •0Ul[U54SjnX l/Ul[ 5UlSUlUbURU5 gg)Ncó°•U"5nUb<UR(aURRU5 gURU gg![a gf=fr0)rMrNrOrQre)r”rSrs rrUÚ*WeakKeyDictionary.__init__..removeqsS€Ù“9ˆDØÑØ—?—?Ø×*Ñ*×1Ñ1°!Õ4ðØ ŸI™I a™Lð  øô $óÙðús¹ AÁ AÁAF)rQrrWrNrXrMÚ _dirty_lenrY)rr¯rUs rr[ÚWeakKeyDictionary.__init__osK€ØˆŒ Ü! $›iô ðŒ à!#ˆÔÜ›%ˆŒØˆŒØ Ñ Ø �K‰K˜Õ ð r"có¢•URRnURnU"5nX# M ![a gf=f![a Nf=fr0)rNr^rQr_re)rr^r`rPs rraÚ"WeakKeyDictionary._commit_removalsƒsc€ð ×$Ñ$×(Ñ(ˆØ �I‰IˆØð Ù“e�ð Ø�Fñøôó Ùð ûô ó Ùð ús¥1­A± >½>Á AÁ Acó†•URnURVs/sH o"U;dM UPM snUlSUlgs snfr)rQrNr×)rr`r”s rÚ_scrub_removalsÚ!WeakKeyDictionary._scrub_removals•s;€Ø �I‰IˆØ-1×-CÒ-CÓ!NÒ-C¨ÈAÁv§!Ñ-CÑ!NˆÔ؈�ùò"Os› >¨>có>•SUlUR[U5 g©NT)r×rQrrks rrlÚWeakKeyDictionary.__delitem__šs€ØˆŒØ �I‰I”c˜#“hÑ r"có2•UR[U5$r0)rQrrks rrhÚWeakKeyDictionary.__getitem__žs€Ø�y‰yœ˜S›Ñ"Ð"r"có¼•UR(a!UR(aUR5 [UR5[UR5- $r0)r×rNrÜrorQrps rrqÚWeakKeyDictionary.__len__¡s=€Ø �?�?˜t×5×5ð × Ñ Ô "Ü�4—9‘9‹~¤ D×$:Ñ$:Ó ;Ñ;Ð;r"cóJ•SURR[U54-$rwrxrps rrzÚWeakKeyDictionary.__repr__¨r|r"cóF•X R[XR5'gr0)rQrrWrs rr�ÚWeakKeyDictionary.__setitem__«s€Ø,1� ‰ ”#�cŸ<™<Ó(Ò)r"cóÌ•[5n[U5 URR5Hup#U"5nUcMX1U'M SSS5 U$!,(df  U$=fr0)r r rQr„)rr…rPr€rgs rr†ÚWeakKeyDictionary.copy®sX€ÜÓ!ˆÜ ˜TÕ "Ø"Ÿi™iŸo™oÖ/‘ �Ù“E�Ø“=Ø"˜“Fñ0÷#ð ˆ ÷ #Ô "ð ˆ ús–(AÁAÁ A#cóð•SSKJn UR5n[U5 URR 5HupEU"5nUcMU"XQ5X6'M SSS5 U$!,(df  U$=fr‰)r†rŠr3r rQr„)rr‹rŠr…rPr€rgs rrŒÚWeakKeyDictionary.__deepcopy__¹sd€Ý!Ø�n‰nÓˆÜ ˜TÕ "Ø"Ÿi™iŸo™oÖ/‘ �Ù“E�Ø“=Ù% eÓ2�C“Fñ0÷#ð ˆ ÷ #Ô "ð ˆ ús¢(A&ÁA&Á& A5cóL•URR[U5U5$r0)rQr�r©rrPr�s rr�ÚWeakKeyDictionary.getÃs€Ø�y‰y�}‰}œS ›X gÓ.Ð.r"cóV•[U5nX R;$![a gf=fr)rr&rQ)rrPrRs rrtÚWeakKeyDictionary.__contains__Æs2€ð Ü�S“ˆBð—Y‘Y‰Ðøôó Ùð ús ‚ › (§(c#ó¾# •[U5 URR5HupU"5nUcMX24v• M SSS5 g!,(df  g=f7fr0©r rQr„)rrRr€rPs rr„ÚWeakKeyDictionary.itemsÍsCé€Ü ˜TÕ "Ø!ŸY™YŸ_™_Ö.‘ �Ù“d�Ø“?ؘ*Ô$ñ/÷#× "Ö "üs!‚ AŽ(A º A Á AÁ AÁAc#óœ# •[U5 URHnU"5nUcMUv• M SSS5 g!,(df  g=f7fr0)r rQr¡s rr˜ÚWeakKeyDictionary.keysÔs7é€Ü ˜TÕ "Ø—i”i�Ù“d�Ø“?Ø”Iñ ÷#× "Ö "üs‚ A Ž;ª;² A » A ÁA c#ó¸# •[U5 URR5HupU"5cMUv• M SSS5 g!,(df  g=f7fr0ró)rrRr€s rr�ÚWeakKeyDictionary.valuesÝs<é€Ü ˜TÕ "Ø!ŸY™YŸ_™_Ö.‘ �Ù“4Ó#Ø”Kñ/÷#× "Ö "üs!‚ AŽ&A ¸A Á AÁ AÁAcó,•[UR5$)aJReturn a list of weak references to the keys. The references are not guaranteed to be 'live' at the time they are used, so the result of calling the references needs to be checked before being used. This can be used to avoid creating references that will cause the garbage collector to keep the keys around longer than needed. )r³rQrps rÚkeyrefsÚWeakKeyDictionary.keyrefsãs€ô�D—I‘I‹Ðr"cóh•SUlURR5upU"5nUbX24$M+rß)r×rQr¤)rrPr€rgs rr¤ÚWeakKeyDictionary.popitemïs8€ØˆŒØØŸ™×*Ñ*Ó,‰JˆCÙ“ˆA؉}Ø�x�ñ r"có\•SUlURR"[U5/UQ76$rß)r×rQr^r)rrPr§s rr^ÚWeakKeyDictionary.pop÷s%€ØˆŒØ�y‰y�}Š}œS ›XÐ-¨Ò-Ð-r"có`•URR[XR5U5$r0)rQrªrrWrîs rrªÚWeakKeyDictionary.setdefaultûs"€Ø�y‰y×#Ñ#¤C¨¯\©\Ó$:¸7ÓCÐCr"c ó •URnUbR[US5(d[05"U5nUR5HupEXS[ X@R 5'M [ U5(aURU5 ggr­)rQr®r(r„rrWrorY)rr¯r°r`rPr€s rrYÚWeakKeyDictionary.updateþsh€Ø �I‰IˆØ Ñ Ü˜4 ×)Ñ)ܘB”x “~�Ø"Ÿj™jžl‘ �Ø,1”#�cŸ<™<Ó(Ó)ñ+ä ˆv�;‰;Ø �K‰K˜Õ ð r"có(•URU5 U$r0r·r9s rr¸ÚWeakKeyDictionary.__ior__rºr"có’•[U[R5(a#UR5nUR U5 U$[ $r0r¼r¿s rrÁÚWeakKeyDictionary.__or__ rÃr"có´•[U[R5(a4UR5nUR U5 UR U5 U$[ $r0rÅr¿s rrÆÚWeakKeyDictionary.__ror__rÈr")r×rMrNrWrQr0)r?r@rArBrCr[rarÜrlrhrqrzr�r†rÊrŒr�rtr„r˜rËr�rúr¤r^rªrYr¸rÁrÆrFrÉr"rr r dsІñôò(ò$ ò  ò#ò<òCò2òð€Hòô/òò%òð€Hò ò ò ò.ôDô òòõr"r cóè•\rSrSrSrSr0rSr\R"5r Sr Sr "SS5r SrSS jrS rS r\S 5r\S 5r\R*S5rSr\S5r\S5rSrg)riaîClass for finalization of weakrefable objects finalize(obj, func, *args, **kwargs) returns a callable finalizer object which will be called when obj is garbage collected. The first time the finalizer is called it evaluates func(*arg, **kwargs) and returns the result. After this the finalizer is dead, and calling it just returns None. When the program exits any remaining finalizers for which the atexit attribute is true will be run in reverse order of creation. By default atexit is true. rÉFcó•\rSrSrSrSrg)Úfinalize._Infoi5)Úweakrefr-r§r°ÚatexitÚindexrÉN)r?r@rArBrDrFrÉr"rÚ_Infor 5s†ØL‹ r"rcóf•UR(d*SSKnURUR5 S[lUR 5n[ X5UlX&lX6l U=(d SUl SUl[UR5Ul X`RU'S[lg)NrT)Ú_registered_with_atexitrÚregisterÚ _exitfuncrrrr r-r§r°ÚnextÚ _index_iterrÚ _registryÚ_dirty)rr,r-r§r°rÚinfos rr[Úfinalize.__init__8s€Ø×+×+ó Ø �O‰O˜DŸN™NÔ +Ø/3ŒHÔ ,Ø�z‰z‹|ˆÜ˜3“~ˆŒ ØŒ ØŒ Ø—n ˆŒ ؈Œ ܘ$×*Ñ*Ó+ˆŒ Ø#�‰�tÑØŒ�r"NcóÌ•URRUS5nU(aAUR(d/UR"UR0UR =(d 0D6$gg)zRIf alive then mark as dead and return func(*args, **kwargs); otherwise return NoneN)rr^Ú _shutdownr-r§r°)rÚ_rs rr2Úfinalize.__call__IsK€ð�~‰~×!Ñ! $¨Ó-ˆÞ ˜ŸŸØ—9’9˜dŸi™iÐ?¨D¯K©K×,=¸2Ñ?Ð ?ð'ˆ4r"có•URRU5nU=(a UR5nUbNURRUS5(a,X!RUR UR =(d 04$gg)zVIf alive then mark as dead and return (obj, func, args, kwargs); otherwise return NoneN)rr�r r^r-r§r°©rrr,s rÚdetachÚfinalize.detachPsh€ð�~‰~×!Ñ! $Ó'ˆØ×%�t—|‘|“~ˆØ ‰?˜tŸ~™~×1Ñ1°$¸×=Ñ=ØŸ™ D§I¡I¨t¯{©{×/@¸bÐAÐ Að >ˆ?r"cóÊ•URRU5nU=(a UR5nUb,X!RURUR =(d 04$g)zEIf alive then return (obj, func, args, kwargs); otherwise return NoneN)rr�r r-r§r°r s rÚpeekÚ finalize.peekXsP€ð�~‰~×!Ñ! $Ó'ˆØ×%�t—|‘|“~ˆØ ‰?ØŸ™ D§I¡I¨t¯{©{×/@¸bÐAÐ Að r"có•XR;$)zWhether finalizer is alive)rrps rÚaliveÚfinalize.alive`s€ð—~‘~Ñ%Ð%r"cót•URRU5n[U5=(a UR$)z*Whether finalizer should be called at exit©rr�Úboolr)rrs rrÚfinalize.atexites+€ð�~‰~×!Ñ! $Ó'ˆÜ�D‹z×)˜dŸk™kÐ)r"cój•URRU5nU(a[U5Ulggr0r*)rr€rs rrr,ks)€à�~‰~×!Ñ! $Ó'ˆÞ ܘu›+ˆD�Kð r"có8•URRU5nU=(a UR5nUc#S[U5R[ U54-$S[U5R[ U5[U5R[ U54-$)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)rr�r r(r?ryr s rrzÚfinalize.__repr__qs€€Ø�~‰~×!Ñ! $Ó'ˆØ×%�t—|‘|“~ˆØ ‰;Ø-´°d³×1DÑ1DÄbÈÃhÐ0OÑOÐ Oà6Ü�d“×$Ñ$¤b¨£h´°S³ ×0BÑ0BÄBÀsÃGÐLñMð Mr"cóì•URR5VVs/sHupUR(dMX4PM nnnURSS9 UVVs/sHupUPM snn$s snnfs snnf)Ncó •USR$)Né)r)Úitems rÚÚ+finalize._select_for_exit..~s €˜t A™wŸ}š}r"rÍ)rr„rÚsort)r*ÚfÚiÚLs rÚ_select_for_exitÚfinalize._select_for_exitzsb€ð!$§ ¡ × 3Ñ 3Ô 5Ô BÒ 5‘u˜¸¿½‹Uˆa‹UÑ 5ˆÑ BØ �‰Ñ,ˆÑ-Ù Ô!šq‘e�q“™qÒ!Ð!ùó Cùã!sžA*¹A*ÁA0cóV•SnUR(a”SSKnUR5(aSnUR5 SnUb[R (aUR 5nS[lU(dO+UR5nU"5 X@R;deMfS[l U(aWR5 gg![a) [R"[R"56 Nif=f!S[l U(aWR5 ff=f)NFrT)rÚgcÚ isenabledÚdisablerrr:r^Ú ExceptionÚsysÚ excepthookÚexc_inforÚenable)r*Ú reenable_gcr=Úpendingr7s rrÚfinalize._exitfunc�sç€ð ˆ ð Ø�}�}ÛØ—<‘<—>‘>Ø"&�KØ—J‘J”LØ�ØØ‘¬(¯/¯/Ø"%×"6Ñ"6Ó"8˜Ø*/œœÞ"ØØŸ ™ › �Að8ñ œð§M¡MÓ1Ð1Ð1ñð$"&ŒHÔ ÞØ— ‘ • ðøô %ó8ÜŸš¬¯ ª «Ó7ð8ûð "&ŒHÔ ÞØ— ‘ • ðús0„B DÂC ÂDà 0DÃ=DÃ?DÄDÄ%D(r0)r?r@rArBrCrDrrÚ itertoolsÚcountrrrrr[r2r!r$Úpropertyr'rÚsetterrzÚ classmethodr:rrFrÉr"rrrsÀ†ñ ð"€IØ€IØ€IØ—/’/Ó#€KØ €FØ#Ð÷MñMòô"@òBòBðñ&óð&ðñ*óð*ð  ‡]�]ñ&óð&ò Mðñ"óð"ð ñ óó r"r)rCÚ_weakrefrrrrrrr r Ú _weakrefsetr r r½rArHrÚ__all__Ú MutableSetrrÚMutableMappingrr~r rrÉr"rÚrRs ðñ÷÷ó÷1ãÛ ÛàÐ*Ð +€ ò 0€ð ×Ñ×$Ñ$ WÔ-ô3�ô3ôlpÐ*×9Ñ9ôpôf'ˆsô'ô*uÐ(×7Ñ7ôu÷pFòFr"