hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Ë
ñúhßãóL—dZddlmZddlZddlZddlmZdgZGd„de«Z    y)zd
backports.weakref_finalize
~~~~~~~~~~~~~~~~~~
 
Backports the Python 3 ``weakref.finalize`` method.
é)Úabsolute_importN)ÚrefÚweakref_finalizecóà—eZdZdZdZiZdZej«Z    dZ
dZ Gd„de «Z d„Zdd„Zd    „Zd
„Zed „«Zed „«Zej*d „«Zd„Zed„«Zed„«Zy)raClass 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.
    ©Fcó—eZdZdZy)úweakref_finalize._Info)ÚweakrefÚfuncÚargsÚkwargsÚatexitÚindexN)Ú__name__Ú
__module__Ú __qualname__Ú    __slots__róújH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/urllib3/packages/backports/weakref_finalize.pyÚ_Infor    (s„ØL‰    rrcóZ—|js*ddl}|j|j«dt_|j «}t ||«|_||_||_    |xsd|_
d|_t|j«|_ ||j|<dt_y)NrT)Ú_registered_with_atexitrÚregisterÚ    _exitfuncrrrr
r r r ÚnextÚ _index_iterrÚ    _registryÚ_dirty)ÚselfÚobjr r r rÚinfos       rÚ__init__zweakref_finalize.__init__+sŠ€Ø×+Ò+ó à O‰O˜DŸN™NÔ +Ø7;Ô Ô 4؏z‰z‹|ˆÜ˜3 “~ˆŒ ؈Œ    ØˆŒ    Ø’n ˆŒ ؈Œ ܘ$×*Ñ*Ó+ˆŒ
Ø#ˆ‰tÑØ"&ÔÕrNcó®—|jj|d«}|r7|js*|j|ji|j
xsi¤ŽSyy)zZIf alive then mark as dead and return func(*args, **kwargs);
        otherwise return NoneN)rÚpopÚ    _shutdownr r r )rÚ_r!s   rÚ__call__zweakref_finalize.__call__=sM€ð~‰~×!Ñ! $¨Ó-ˆÙ ˜ŸšØ4—9‘9˜dŸi™iÐ?¨D¯K©KÒ,=¸2Ñ?Ð ?ð'ˆ4rcóð—|jj|«}|xr|j«}|E|jj|d«r(||j|j
|j xsifSyy)z^If alive then mark as dead and return (obj, func, args, kwargs);
        otherwise return NoneN)rÚgetr
r$r r r ©rr!r s   rÚdetachzweakref_finalize.detachDsg€ð~‰~×!Ñ! $Ó'ˆØÒ%t—|‘|“~ˆØ ˆ?˜tŸ~™~×1Ñ1°$¸Ô=ؘŸ™ D§I¡I¨t¯{©{Ò/@¸bÐAÐ Að >ˆ?rcó¶—|jj|«}|xr|j«}|(||j|j|j
xsifSy)zMIf alive then return (obj, func, args, kwargs);
        otherwise return NoneN)rr)r
r r r r*s   rÚpeekzweakref_finalize.peekLsR€ð~‰~×!Ñ! $Ó'ˆØÒ%t—|‘|“~ˆØ ˆ?ؘŸ™ D§I¡I¨t¯{©{Ò/@¸bÐAÐ Að rcó—||jvS)zWhether finalizer is alive)r)rs rÚalivezweakref_finalize.aliveTs€ðt—~‘~Ð%Ð%rcój—|jj|«}t|«xr |jS)z*Whether finalizer should be called at exit©rr)Úboolr)rr!s  rrzweakref_finalize.atexitYs+€ð~‰~×!Ñ! $Ó'ˆÜD‹zÒ)˜dŸk™kÐ)rcó`—|jj|«}|rt|«|_yy©Nr1)rÚvaluer!s   rrzweakref_finalize.atexit_s)€à~‰~×!Ñ! $Ó'ˆÙ ܘu›+ˆDKð rcó,—|jj|«}|xr|j«}|€#dt|«jt |«fzSdt|«jt |«t|«jt |«fzS)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)rr)r
ÚtyperÚidr*s   rÚ__repr__zweakref_finalize.__repr__esƒ€Ø~‰~×!Ñ! $Ó'ˆØÒ%t—|‘|“~ˆØ ˆ;Ø-´°d³×1DÑ1DÄbÈÃhÐ0OÑOÐ Oà6ܐT“
×#Ñ#ܐ4“ܐS“    ×"Ñ"ܐ3“ð    :ñð rcóà—|jj«Dcgc]\}}|jsŒ||f‘Œ}}}|jd„¬«|Dcgc]\}}|‘Œ    c}}Scc}}wcc}}w)Ncó —|djS)Né)r)Úitems rú<lambda>z3weakref_finalize._select_for_exit.<locals>.<lambda>vs€  Q¡§ ¡ €r)Úkey)rÚitemsrÚsort)ÚclsÚfÚiÚLs    rÚ_select_for_exitz!weakref_finalize._select_for_exitrs_€ð#&§-¡-×"5Ñ"5Ó"7× D™˜˜A¸1¿8»8ˆaŠVÐ DˆÑ DØ    ‰Ñ-ˆÔ.Ø !×"‘fq˜!’Ó"Ð"ùó Eùã"sžA$³A$Á A*có—d}    |jr‚ddl}|j«rd}|j«d}    |tj
r|j «}dt_|sn)|j«}    |«||jvsJ‚ŒYdt_ |rj«yy#t$r'tjtj«ŽYŒ_wxYw#dt_ |rj«wwxYw)NFrT)rÚgcÚ    isenabledÚdisablerrrFr$Ú    ExceptionÚsysÚ
excepthookÚexc_infor%Úenable)rBÚ reenable_gcrHÚpendingrCs     rrzweakref_finalize._exitfuncysî€ð
ˆ ð    Ø}Š}Ûà—<‘<”>Ø"&KØ—J‘J”LØØØÔ*:×*AÒ*AØ"%×"6Ñ"6Ó"8˜Ø27Ô(Ô/Ù"ØØŸ ™ › Að8ñ
œð C§M¡MÑ1Ð1Ð1ðð$*.Ô Ô &ÙØ—    ‘    • ðøô %ò8ÜŸ™¬¯ © «Ó7ð8ûð
*.Ô Ô &ÙØ—    ‘    • ðús0„A5C$Á:B1ÂC$Â1-C!ÃC$àC!Ã!C$Ã$ Dr4)rrrÚ__doc__rrr%Ú    itertoolsÚcountrrrÚobjectrr"r'r+r-Úpropertyr/rÚsetterr9Ú classmethodrFrrrrrrsÄñ    ð€IØ€IØ€IØ!)—/‘/Ó#€KØ €FØ#ÐôMôMò'ó$@òBòBðñ&óð&ðñ*óð*ð
 ‡]]ñ&óð&ò
ðñ#óð#ð ñ!óñ!r)
rRÚ
__future__rrSrLr
rÚ__all__rUrrrrú<module>r[s.ðñõ 'ãÛ
Ýà Ð
€ôJvõJr