grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛf‹Sã @sÌddlmZmZmZmZmZmZmZmZddl m Z m Z ddl Z ddl Z ddlZeefZdddddd d d d d dddg ZGdd„deƒZGdd „d e jƒZGdd„deƒZGdd„de jƒZGdd„dƒZdS)é)ÚgetweakrefcountÚ getweakrefsÚrefÚproxyÚCallableProxyTypeÚ ProxyTypeÚ ReferenceTypeÚ_remove_dead_weakref)ÚWeakSetÚ_IterationGuardNrrrrÚWeakKeyDictionaryrrrÚ ProxyTypesÚWeakValueDictionaryr Ú WeakMethodÚfinalizecs@eZdZdZd dd„Z‡fdd„Zdd„Zd d „Zej Z ‡Z S) r)Ú _func_refÚ _meth_typeÚ_aliveÚ __weakref__Ncs~z|j}|j}Wn(tk r8td t|ƒ¡ƒd‚YnX‡‡fdd„}t |||¡}t||ƒ|_t|ƒ|_ d|_ t|ƒ‰|S)Nz)argument should be a bound method, not {}cs&ˆƒ}|jr"d|_ˆdk r"ˆ|ƒdS©NF)r)ÚargÚself©ÚcallbackZself_wr©ú,/opt/alt/python38/lib64/python3.8/weakref.pyÚ_cb3s zWeakMethod.__new__.._cbT) Ú__self__Ú__func__ÚAttributeErrorÚ TypeErrorÚformatÚtyperÚ__new__rrr)ÚclsZmethrÚobjÚfuncrrrrrr#,s  ÿÿ  zWeakMethod.__new__cs2tƒ ¡}| ¡}|dks"|dkr&dS| ||¡S©N)ÚsuperÚ__call__rr)rr%r&©Ú __class__rrr)Bs  zWeakMethod.__call__cCs:t|tƒr6|jr|js||kSt ||¡o4|j|jkSdSr)Ú isinstancerrrÚ__eq__r©rÚotherrrrr-Is   zWeakMethod.__eq__cCs:t|tƒr6|jr|js||k St ||¡p4|j|jkSdS©NT)r,rrrÚ__ne__rr.rrrr1Ps   zWeakMethod.__ne__)N) Ú__name__Ú __module__Ú __qualname__Ú __slots__r#r)r-r1rÚ__hash__Ú __classcell__rrr*rr$s   c@s¼eZdZd+dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z e Z dd„Z d,dd„Zdd„Zdd„ZeZdd„Zdd „Zd!d"„Zd#d$„Zd-d%d&„Zd.d'd(„Zd)d*„ZdS)/rrcKs>t|ƒtfdd„}||_g|_tƒ|_i|_|j|f|ŽdS)NcSs6|ƒ}|dk r2|jr$|j |j¡n||j|jƒdSr')Ú _iteratingÚ_pending_removalsÚappendÚkeyÚdata)ÚwrÚselfrefZ_atomic_removalrrrrÚremovegs z,WeakValueDictionary.__init__..remove)rr Ú_remover9Úsetr8r<Úupdate)rr/Úkwr?rrrÚ__init__fs  zWeakValueDictionary.__init__cCs(|j}|j}|r$| ¡}t||ƒq dSr')r9r<Úpopr )rÚlÚdr;rrrÚ_commit_removalsws z$WeakValueDictionary._commit_removalscCs4|jr| ¡|j|ƒ}|dkr,t|ƒ‚n|SdSr'©r9rHr<ÚKeyError©rr;ÚorrrÚ __getitem__€s   zWeakValueDictionary.__getitem__cCs|jr| ¡|j|=dSr')r9rHr<©rr;rrrÚ __delitem__‰szWeakValueDictionary.__delitem__cCs|jr| ¡t|jƒSr')r9rHÚlenr<©rrrrÚ__len__ŽszWeakValueDictionary.__len__cCs>|jr| ¡z|j|ƒ}Wntk r4YdSX|dk SrrIrKrrrÚ __contains__“sz WeakValueDictionary.__contains__cCsd|jjt|ƒfS©Nz <%s at %#x>©r+r2ÚidrQrrrÚ__repr__œszWeakValueDictionary.__repr__cCs&|jr| ¡t||j|ƒ|j|<dSr')r9rHÚKeyedRefr@r<©rr;ÚvaluerrrÚ __setitem__ŸszWeakValueDictionary.__setitem__c CsV|jr| ¡tƒ}t|ƒ�0|j ¡D]\}}|ƒ}|dk r(|||<q(W5QRX|Sr')r9rHrr r<Úitems)rÚnewr;r=rLrrrÚcopy¤s zWeakValueDictionary.copyc Csjddlm}|jr| ¡| ¡}t|ƒ�6|j ¡D]$\}}|ƒ}|dk r6|||||ƒ<q6W5QRX|S©Nr)Údeepcopy)r^r`r9rHr+r r<r\)rÚmemor`r]r;r=rLrrrÚ __deepcopy__±s  z WeakValueDictionary.__deepcopy__NcCsP|jr| ¡z|j|}Wntk r4|YSX|ƒ}|dkrH|S|SdSr'rI)rr;Údefaultr=rLrrrÚget½s zWeakValueDictionary.getc csR|jr| ¡t|ƒ�2|j ¡D] \}}|ƒ}|dk r"||fVq"W5QRXdSr'©r9rHr r<r\)rÚkr=Úvrrrr\Ìs zWeakValueDictionary.itemsc csJ|jr| ¡t|ƒ�*|j ¡D]\}}|ƒdk r"|Vq"W5QRXdSr're)rrfr=rrrÚkeysÕs   zWeakValueDictionary.keysc cs6|jr| ¡t|ƒ�|j ¡EdHW5QRXdSr'©r9rHr r<ÚvaluesrQrrrÚ itervaluerefsßs  z!WeakValueDictionary.itervaluerefsc csJ|jr| ¡t|ƒ�*|j ¡D]}|ƒ}|dk r"|Vq"W5QRXdSr'ri©rr=r%rrrrjîs zWeakValueDictionary.valuescCs8|jr| ¡|j ¡\}}|ƒ}|dk r||fSqdSr')r9rHr<Úpopitem)rr;r=rLrrrrm÷s zWeakValueDictionary.popitemcGs`|jr| ¡z|j |¡ƒ}Wntk r8d}YnX|dkrX|rN|dSt|ƒ‚n|SdS)Nr)r9rHr<rErJ)rr;ÚargsrLrrrrEs  zWeakValueDictionary.popcCs`z|j|ƒ}Wntk r(d}YnX|dkrX|jr@| ¡t||j|ƒ|j|<|S|SdSr')r<rJr9rHrXr@)rr;rcrLrrrÚ setdefaults zWeakValueDictionary.setdefaultcKsz|jr| ¡|j}|dk rRt|dƒs.t|ƒ}| ¡D]\}}t||j|ƒ||<q6| ¡D]\}}t||j|ƒ||<qZdS©Nr\)r9rHr<ÚhasattrÚdictr\rXr@)rr/ÚkwargsrGr;rLrrrrBs zWeakValueDictionary.updatecCs|jr| ¡t|j ¡ƒSr')r9rHÚlistr<rjrQrrrÚ valuerefs(s zWeakValueDictionary.valuerefs)r)N)N)N)r2r3r4rDrHrMrOrRrSrWr[r^Ú__copy__rbrdr\rhÚ__iter__rkrjrmrErorBrurrrrrZs,          cs(eZdZdZdd„Z‡fdd„Z‡ZS)rX©r;cCst |||¡}||_|Sr')rr#r;)r"Úobrr;rrrrr#CszKeyedRef.__new__cstƒ ||¡dSr')r(rD)rryrr;r*rrrDHszKeyedRef.__init__)r2r3r4r5r#rDr7rrr*rrX7s rXc@s¼eZdZd*dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z e Z dd„Z d+dd„Zdd„Zdd„Zdd„ZeZdd„Zd d!„Zd"d#„Zd$d%„Zd,d&d'„Zd-d(d)„ZdS).r NcCsFi|_t|ƒfdd„}||_g|_tƒ|_d|_|dk rB| |¡dS)NcSs.|ƒ}|dk r*|jr"|j |¡n|j|=dSr')r8r9r:r<)rfr>rrrrr?Ys z*WeakKeyDictionary.__init__..removeF)r<rr@r9rAr8Ú _dirty_lenrB)rrrr?rrrrDWszWeakKeyDictionary.__init__cCs:|j}|j}|r6z|| ¡=Wq tk r2Yq Xq dSr')r9r<rErJ)rrFrGrrrrHhsz"WeakKeyDictionary._commit_removalscs&|j‰‡fdd„|jDƒ|_d|_dS)Ncsg|]}|ˆkr|‘qSrr)Ú.0rf©rGrrÚ wsz5WeakKeyDictionary._scrub_removals..F)r<r9rzrQrr|rÚ_scrub_removalsusz!WeakKeyDictionary._scrub_removalscCsd|_|jt|ƒ=dSr0)rzr<rrNrrrrOzszWeakKeyDictionary.__delitem__cCs|jt|ƒSr')r<rrNrrrrM~szWeakKeyDictionary.__getitem__cCs(|jr|jr| ¡t|jƒt|jƒSr')rzr9r~rPr<rQrrrrR�s zWeakKeyDictionary.__len__cCsd|jjt|ƒfSrTrUrQrrrrWˆszWeakKeyDictionary.__repr__cCs||jt||jƒ<dSr')r<rr@rYrrrr[‹szWeakKeyDictionary.__setitem__c CsHtƒ}t|ƒ�0|j ¡D]\}}|ƒ}|dk r|||<qW5QRX|Sr')r r r<r\)rr]r;rZrLrrrr^Žs zWeakKeyDictionary.copyc Cs\ddlm}| ¡}t|ƒ�6|j ¡D]$\}}|ƒ}|dk r(|||ƒ||<q(W5QRX|Sr_)r^r`r+r r<r\)rrar`r]r;rZrLrrrrb™s  zWeakKeyDictionary.__deepcopy__cCs|j t|ƒ|¡Sr')r<rdr©rr;rcrrrrd£szWeakKeyDictionary.getcCs.z t|ƒ}Wntk r"YdSX||jkSr)rr r<)rr;r=rrrrS¦s  zWeakKeyDictionary.__contains__c csDt|ƒ�2|j ¡D] \}}|ƒ}|dk r||fVqW5QRXdSr'©r r<r\)rr=rZr;rrrr\­s  zWeakKeyDictionary.itemsc cs8t|ƒ�&|jD]}|ƒ}|dk r|VqW5QRXdSr')r r<rlrrrrh´s   zWeakKeyDictionary.keysc cs<t|ƒ�*|j ¡D]\}}|ƒdk r|VqW5QRXdSr'r€)rr=rZrrrrj½s  zWeakKeyDictionary.valuescCs t|jƒSr')rtr<rQrrrÚkeyrefsÃs zWeakKeyDictionary.keyrefscCs0d|_|j ¡\}}|ƒ}|dk r||fSqdSr0)rzr<rm)rr;rZrLrrrrmÏs zWeakKeyDictionary.popitemcGsd|_|jjt|ƒf|žŽSr0)rzr<rEr)rr;rnrrrrE×szWeakKeyDictionary.popcCs|j t||jƒ|¡Sr')r<rorr@rrrrroÛszWeakKeyDictionary.setdefaultcKs\|j}|dk rFt|dƒs$tiƒ|ƒ}| ¡D]\}}||t||jƒ<q,t|ƒrX| |¡dSrp)r<rqr"r\rr@rPrB)rrrrsrGr;rZrrrrBÞs  zWeakKeyDictionary.update)N)N)N)N)r2r3r4rDrHr~rOrMrRrWr[r^rvrbrdrSr\rhrwrjr�rmrErorBrrrrr Ls,      c@s¤eZdZdZiZdZe ¡ZdZ dZ Gdd„dƒZ dd„Z de _ dd d „Zd d „Zd d„Zedd„ƒZedd„ƒZejdd„ƒZdd„Zedd„ƒZedd„ƒZdS)rrFc@seZdZdZdS)zfinalize._Info)Úweakrefr&rnrsÚatexitÚindexN)r2r3r4r5rrrrÚ_Infosr…cOs>t|ƒdkr|^}}}}nª|s(tdƒ‚nœd|krDtdt|ƒdƒ‚| d¡}t|ƒdkr~|^}}}ddl}|jdtdd �nFd |krštdt|ƒdƒ‚| d ¡}|^}}ddl}|jd tdd �t|ƒ}|jsìddl}|  |j ¡d t _|  ¡}t ||ƒ|_||_||_|�pd|_d |_t|jƒ|_||j|<d t _dS) Nézz!<%s object at %#x; for %r at %#x>)r“rdr‚r"r2rVr˜rrrrWYs  ÿzfinalize.__repr__cCs2dd„|j ¡Dƒ}|jdd„d�dd„|DƒS)NcSsg|]\}}|jr||f‘qSr)rƒ©r{ÚfÚirrrr}esz-finalize._select_for_exit..cSs |djS)Nr‡)r„)ÚitemrrrÚfóz+finalize._select_for_exit..rxcSsg|] \}}|‘qSrrržrrrr}gs)r“r\Úsort)r$ÚLrrrÚ_select_for_exitbszfinalize._select_for_exitcCs¢d}z„|jr†ddl}| ¡r(d}| ¡d}|dks:tjrH| ¡}dt_|sNq†|  ¡}z |ƒWq,t k r‚t j t   ¡ŽYq,Xq,W5dt_|rœ| ¡XdS)NFTr)rr–Zenabler“ÚgcZ isenabledZdisabler”r¦rEÚ ExceptionÚsysÚ excepthookÚexc_info)r$Z reenable_gcr§ZpendingrŸrrrr�is, zfinalize._exitfunc)N)r2r3r4r5r“r–Ú itertoolsÚcountr’r”rŽr…rDÚ__text_signature__r)r™ršÚpropertyr›rƒÚsetterrWÚ classmethodr¦r�rrrrrés.*      )Ú_weakrefrrrrrrrr Z _weakrefsetr r Ú_collections_abcr©r¬r Ú__all__rÚMutableMappingrrXr rrrrrÚ s.( ý6^