grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|j8Tã@sÐ ddlmZmZmZmZmZmZmZmZddl m Z m Z ddl Z ddl Z ddlZeefZgd¢Ze j e ¡e j e ¡Gdd„deƒZGdd„de jƒZGd d „d eƒZGd d „d e jƒZGd d„dƒZdS)é)ÚgetweakrefcountÚ getweakrefsÚrefÚproxyÚCallableProxyTypeÚ ProxyTypeÚ ReferenceTypeÚ_remove_dead_weakref)ÚWeakSetÚ_IterationGuardN) rrrrÚWeakKeyDictionaryrrrÚ ProxyTypesÚWeakValueDictionaryr Ú WeakMethodÚfinalizecsBeZdZ dZd dd„Z‡fdd„Zdd„Zd d „Zej Z ‡Z S) r)Ú _func_refÚ _meth_typeÚ_aliveÚ __weakref__Ncsxz|j}|j}Wntytd t|ƒ¡ƒd‚w‡‡fdd„}t |||¡}t||ƒ|_t|ƒ|_ d|_ t|ƒ‰|S)Nz)argument should be a bound method, not {}cs.ˆƒ}|jrd|_ˆdurˆ|ƒdSdSdS©NF)r)ÚargÚself©ÚcallbackZself_wr©ú./opt/alt/python310/lib64/python3.10/weakref.pyÚ_cb6s ýzWeakMethod.__new__.._cbT) Ú__self__Ú__func__ÚAttributeErrorÚ TypeErrorÚformatÚtyperÚ__new__rrr)ÚclsZmethrÚobjÚfuncrrrrrr#/s"   ÿÿÿ  zWeakMethod.__new__cs2tƒ ¡}| ¡}|dus|durdS| ||¡S©N)ÚsuperÚ__call__rr)rr%r&©Ú __class__rrr)Es  zWeakMethod.__call__cCs:t|tƒr|jr |js||uSt ||¡o|j|jkStSr')Ú isinstancerrrÚ__eq__rÚNotImplemented©rÚotherrrrr-Ló  zWeakMethod.__eq__cCs:t|tƒr|jr |js||uSt ||¡p|j|jkStSr')r,rrrÚ__ne__rr.r/rrrr2Sr1zWeakMethod.__ne__r') Ú__name__Ú __module__Ú __qualname__Ú __slots__r#r)r-r2rÚ__hash__Ú __classcell__rrr*rr's  rc@sÚeZdZ d1dd„Zefdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z e Z dd„Zd2dd„Zdd„Zdd„ZeZdd„Zdd „Zd!d"„Zd#d$„Zd2d%d&„Zd2d'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„ZdS)3rrcKsBt|ƒtfdd„}||_g|_tƒ|_i|_|j|fi|¤ŽdS)NcSs<|ƒ}|dur|jr|j |j¡dS||j|jƒdSdSr')Ú _iteratingÚ_pending_removalsÚappendÚkeyÚdata)ÚwrÚselfrefÚ_atomic_removalrrrrÚremovejs úz,WeakValueDictionary.__init__..remove)rr Ú_remover:Úsetr9r=Úupdate)rr0ÚkwrArrrÚ__init__is  zWeakValueDictionary.__init__cCs<|jj}|j} z|ƒ}Wn tyYdSw|||ƒqr')r:Úpopr=Ú IndexError)rr@rGÚdr<rrrÚ_commit_removalszs  ÿ ûz$WeakValueDictionary._commit_removalscCs.|jr| ¡|j|ƒ}|durt|ƒ‚|Sr'©r:rJr=ÚKeyError©rr<ÚorrrÚ __getitem__†s  zWeakValueDictionary.__getitem__cCs|jr| ¡|j|=dSr')r:rJr=©rr<rrrÚ __delitem__�s zWeakValueDictionary.__delitem__cCs|jr| ¡t|jƒSr')r:rJÚlenr=©rrrrÚ__len__”s zWeakValueDictionary.__len__cCs:|jr| ¡z |j|ƒ}W|duStyYdSwrrKrMrrrÚ __contains__™s þÿz WeakValueDictionary.__contains__cCód|jjt|ƒfS©Nz <%s at %#x>©r+r3ÚidrSrrrÚ__repr__¢ózWeakValueDictionary.__repr__cCs&|jr| ¡t||j|ƒ|j|<dSr')r:rJÚKeyedRefrBr=©rr<ÚvaluerrrÚ __setitem__¥szWeakValueDictionary.__setitem__cCsl|jr| ¡tƒ}t|ƒ�|j ¡D]\}}|ƒ}|dur#|||<qWdƒ|S1s/wY|Sr')r:rJrr r=Úitems)rÚnewr<r>rNrrrÚcopyªs €ý ÿûzWeakValueDictionary.copycCs€ddlm}|jr | ¡| ¡}t|ƒ�!|j ¡D]\}}|ƒ}|dur-|||||ƒ<qWdƒ|S1s9wY|S©Nr)Údeepcopy)rbrdr:rJr+r r=r`)rÚmemordrar<r>rNrrrÚ __deepcopy__·s  €ý ÿûz WeakValueDictionary.__deepcopy__NcCsJ|jr| ¡z|j|}Wn ty|YSw|ƒ}|dur#|S|Sr'rK)rr<Údefaultr>rNrrrÚgetÃs ÿzWeakValueDictionary.getccsj�|jr| ¡t|ƒ�|j ¡D]\}}|ƒ}|dur"||fVqWdƒdS1s.wYdSr'©r:rJr r=r`)rÚkr>Úvrrrr`Òs€  €ý"ÿzWeakValueDictionary.itemsccsb�|jr| ¡t|ƒ�|j ¡D] \}}|ƒdur|VqWdƒdS1s*wYdSr'ri)rrjr>rrrÚkeysÛs€  €þ"ÿzWeakValueDictionary.keysccsP� |jr | ¡t|ƒ�|j ¡EdHWdƒdS1s!wYdSr'©r:rJr r=ÚvaluesrSrrrÚ itervaluerefsås€  "ÿz!WeakValueDictionary.itervaluerefsccsb�|jr| ¡t|ƒ�|j ¡D] }|ƒ}|dur|VqWdƒdS1s*wYdSr'rm©rr>r%rrrrnôs€ €ý"ÿzWeakValueDictionary.valuescCs6|jr| ¡ |j ¡\}}|ƒ}|dur||fSqr')r:rJr=Úpopitem)rr<r>rNrrrrqýsüzWeakValueDictionary.popitemcGsX|jr| ¡z |j |¡ƒ}Wn tyd}Ynw|dur*|r&|dSt|ƒ‚|S)Nr)r:rJr=rGrL)rr<ÚargsrNrrrrGs ÿzWeakValueDictionary.popcCsZz|j|ƒ}Wn tyd}Ynw|dur+|jr| ¡t||j|ƒ|j|<|S|Sr')r=rLr:rJr\rB)rr<rgrNrrrÚ setdefaults ÿzWeakValueDictionary.setdefaultcKsz|jr| ¡|j}|dur)t|dƒst|ƒ}| ¡D] \}}t||j|ƒ||<q| ¡D] \}}t||j|ƒ||<q-dS©Nr`)r:rJr=ÚhasattrÚdictr`r\rB)rr0ÚkwargsrIr<rNrrrrD"s ÿzWeakValueDictionary.updatecCs |jr| ¡t|j ¡ƒSr')r:rJÚlistr=rnrSrrrÚ valuerefs.s zWeakValueDictionary.valuerefscCó| |¡|Sr'©rDr/rrrÚ__ior__<ó zWeakValueDictionary.__ior__cCó&t|tjƒr| ¡}| |¡|StSr'©r,Ú_collections_abcÚMappingrbrDr.©rr0ÚcrrrÚ__or__@ó  zWeakValueDictionary.__or__cCó0t|tjƒr| ¡}| |¡| |¡|StSr'©r,r€r�r+rDr.r‚rrrÚ__ror__Gó   zWeakValueDictionary.__ror__)rr')r3r4r5rFr rJrOrQrTrUrZr_rbÚ__copy__rfrhr`rlÚ__iter__rornrqrGrsrDryr|r„rˆrrrrr]s6            rcs*eZdZ dZdd„Z‡fdd„Z‡ZS)r\©r<cCst |||¡}||_|Sr')rr#r<)r"Úobrr<rrrrr#\szKeyedRef.__new__cstƒ ||¡dSr')r(rF)rr�rr<r*rrrFaózKeyedRef.__init__)r3r4r5r6r#rFr8rrr*rr\Ps  r\c@sÖeZdZ d0dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z e Z dd„Z d0dd„Zdd„Zdd„Zdd„ZeZdd„Zd d!„Zd"d#„Zd$d%„Zd0d&d'„Zd0d(d)„Zd*d+„Zd,d-„Zd.d/„ZdS)1r NcCsJi|_t|ƒfdd„}||_g|_tƒ|_d|_|dur#| |¡dSdS)NcSsL|ƒ}|dur$|jr|j |¡dSz|j|=WdSty#YdSwdSr')r9r:r;r=rL)rjr?rrrrrArs ÿúz*WeakKeyDictionary.__init__..removeF)r=rrBr:rCr9Ú _dirty_lenrD)rrvrArrrrFps ÿzWeakKeyDictionary.__init__cCsP|jj}|j} z|ƒ}Wn tyYdSwz||=Wn ty&Ynwqr')r:rGr=rHrL)rrGrIr<rrrrJ„s  ÿ  ÿøz"WeakKeyDictionary._commit_removalscs&|j‰‡fdd„|jDƒ|_d|_dS)Ncsg|]}|ˆvr|‘qSrr)Ú.0rj©rIrrÚ ˜sz5WeakKeyDictionary._scrub_removals..F)r=r:r�rSrr‘rÚ_scrub_removals–s z!WeakKeyDictionary._scrub_removalscCsd|_|jt|ƒ=dS©NT)r�r=rrPrrrrQ›szWeakKeyDictionary.__delitem__cCs|jt|ƒSr')r=rrPrrrrOŸszWeakKeyDictionary.__getitem__cCs(|jr |jr | ¡t|jƒt|jƒSr')r�r:r“rRr=rSrrrrT¢s zWeakKeyDictionary.__len__cCrVrWrXrSrrrrZ©r[zWeakKeyDictionary.__repr__cCs||jt||jƒ<dSr')r=rrBr]rrrr_¬ózWeakKeyDictionary.__setitem__cCs^tƒ}t|ƒ�|j ¡D]\}}|ƒ}|dur|||<q Wdƒ|S1s(wY|Sr')r r r=r`)rrar<r^rNrrrrb¯s €ý ÿûzWeakKeyDictionary.copycCsrddlm}| ¡}t|ƒ�!|j ¡D]\}}|ƒ}|dur&|||ƒ||<qWdƒ|S1s2wY|Src)rbrdr+r r=r`)rrerdrar<r^rNrrrrfºs  €ý ÿûzWeakKeyDictionary.__deepcopy__cCs|j t|ƒ|¡Sr')r=rhr©rr<rgrrrrhÄrŽzWeakKeyDictionary.getcCs,zt|ƒ}Wn tyYdSw||jvSr)rr r=)rr<r>rrrrUÇs   ÿ zWeakKeyDictionary.__contains__ccs\�t|ƒ�|j ¡D]\}}|ƒ}|dur||fVq WdƒdS1s'wYdSr'©r r=r`)rr>r^r<rrrr`Îs€  €ý"ÿzWeakKeyDictionary.itemsccsP�t|ƒ�|jD] }|ƒ}|dur|Vq WdƒdS1s!wYdSr')r r=rprrrrlÕs€  €ý"ÿzWeakKeyDictionary.keysccsT�t|ƒ�|j ¡D] \}}|ƒdur|Vq WdƒdS1s#wYdSr'r—)rr>r^rrrrnÞs€  €þ"ÿzWeakKeyDictionary.valuescCs t|jƒSr')rxr=rSrrrÚkeyrefsäs zWeakKeyDictionary.keyrefscCs.d|_ |j ¡\}}|ƒ}|dur||fSqr”)r�r=rq)rr<r^rNrrrrqðsüzWeakKeyDictionary.popitemcGsd|_|jjt|ƒg|¢RŽSr”)r�r=rGr)rr<rrrrrrGøszWeakKeyDictionary.popcCs|j t||jƒ|¡Sr')r=rsrrBr–rrrrsür•zWeakKeyDictionary.setdefaultcKs`|j}|dur#t|dƒstiƒ|ƒ}| ¡D] \}}||t||jƒ<qt|ƒr.| |¡dSdSrt)r=rur"r`rrBrRrD)rrvrwrIr<r^rrrrDÿs  ÿzWeakKeyDictionary.updatecCrzr'r{r/rrrr| r}zWeakKeyDictionary.__ior__cCr~r'rr‚rrrr„ r…zWeakKeyDictionary.__or__cCr†r'r‡r‚rrrrˆr‰zWeakKeyDictionary.__ror__r')r3r4r5rFrJr“rQrOrTrZr_rbrŠrfrhrUr`rlr‹rnr˜rqrGrsrDr|r„rˆrrrrr es6        r c@s eZdZ dZiZdZe ¡ZdZ dZ Gdd„dƒZ dd„Z ddd „Z d d „Zd d „Zedd„ƒZedd„ƒZejdd„ƒZdd„Zedd„ƒZedd„ƒZdS)rrFc@seZdZdZdS)zfinalize._Info)Úweakrefr&rrrwÚatexitÚindexN)r3r4r5r6rrrrÚ_Info6srœcOsp|jsddl}| |j¡dt_| ¡}t||ƒ|_||_||_ |p#d|_ d|_t |j ƒ|_ ||j|<dt_dS)NrT)Ú_registered_with_atexitršÚregisterÚ _exitfuncrrœrr™r&rrrwÚnextÚ _index_iterr›Ú _registryÚ_dirty)rr%r&rrrwršÚinforrrrF9s      zfinalize.__init__NcCs: |j |d¡}|r|js|j|ji|jpi¤ŽSdSdSr')r¢rGÚ _shutdownr&rrrw)rÚ_r¤rrrr)Js  ÿzfinalize.__call__cCsN |j |¡}|o | ¡}|dur#|j |d¡r%||j|j|jp!ifSdSdSr')r¢rhr™rGr&rrrw©rr¤r%rrrÚdetachQs   ÿzfinalize.detachcCs< |j |¡}|o | ¡}|dur||j|j|jpifSdSr')r¢rhr™r&rrrwr§rrrÚpeekYs   ÿz finalize.peekcCs ||jvSr')r¢rSrrrÚaliveas zfinalize.alivecCs |j |¡}t|ƒo |jSr'©r¢rhÚboolrš)rr¤rrrršfs zfinalize.atexitcCs"|j |¡}|rt|ƒ|_dSdSr'r«)rr^r¤rrrršls ÿcCsZ|j |¡}|o | ¡}|durdt|ƒjt|ƒfSdt|ƒjt|ƒt|ƒjt|ƒfS)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)r¢rhr™r"r3rYr§rrrrZrs  ÿzfinalize.__repr__cCs2dd„|j ¡Dƒ}|jdd„d�dd„|DƒS)NcSsg|] \}}|jr||f‘qSr)rš©r�ÚfÚirrrr’~sz-finalize._select_for_exit..cSs |djS)Né)r›)ÚitemrrrÚs z+finalize._select_for_exit..rŒcSsg|]\}}|‘qSrrr­rrrr’€s)r¢r`Úsort)r$ÚLrrrÚ_select_for_exit{szfinalize._select_for_exitcCs¸d}zN|jrCddl}| ¡rd}| ¡d} |dustjr%| ¡}dt_|s(n| ¡}z|ƒWntyAt j t   ¡ŽYnwqWdt_ |rO|  ¡dSdSdt_ |r[|  ¡ww)NFrT)r¢ÚgcZ isenabledZdisablerr£rµrGÚ ExceptionÚsysÚ excepthookÚexc_infor¥Zenable)r$Z reenable_gcr¶Zpendingr®rrrrŸ‚s<  ÿó€ ÿÿ ÿzfinalize._exitfuncr')r3r4r5r6r¢r¥Ú itertoolsÚcountr¡r£r�rœrFr)r¨r©ÚpropertyrªršÚsetterrZÚ classmethodrµrŸrrrrrs0     r)Ú_weakrefrrrrrrrr Z _weakrefsetr r r€r¸r»r Ú__all__ÚSetržÚ MutableSetrÚMutableMappingrr\r rrrrrÚs"(    6t9