hyb
2025-12-30 5e753a15ff53faab2261a53367e44d38caf87041
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
45
46
47
48
49
50
51
52
53
Ë
ñúh‚ãóò—dZddlmZddlZddlmZmZddlmZm    Z    m
Z
ddl m Z ddl mZdd    lmZej"e«Zee e    ge
effZdd
„Z                        dd „Z                        dd „ZGd „dee«Zy)a¾Utilities to lazily create and visit candidates found.
 
Creating and visiting a candidate is a *very* costly operation. It involves
fetching, extracting, potentially building modules from source, and verifying
distribution metadata. It is therefore crucial for performance to keep
everything here lazy all the way down, so we only touch candidates that we
absolutely need, and not "download the world" when we only need one version of
something.
é)Ú annotationsN)ÚIteratorÚSequence)ÚAnyÚCallableÚOptional)Ú _BaseVersion)ÚMetadataInvalidé)Ú    Candidatec#ó$K—t«}|D]*\}}||vrŒ     |«}|€Œ|–—|j|«Œ,y#t$rG}tj    d||j
j |«|j|«Yd}~Œyd}~wwxYw­w)z«Iterator for ``FoundCandidates``.
 
    This iterator is used when the package is not already installed. Candidates
    from index come later in their normal ordering.
    NzpIgnoring version %s of %s since it has invalid metadata:
%s
Please use pip<24.1 if you need to use this version.)ÚsetÚaddr
ÚloggerÚwarningÚireqÚname)ÚinfosÚversions_foundÚversionÚfuncÚ    candidateÚes      úgH:\Change_password\venv_build\Lib\site-packages\pip/_internal/resolution/resolvelib/found_candidates.pyÚ _iter_builtrs èø€ô ),«€NØò(‰ ˆØ nÑ $Ø ð    (Ù›ˆIðÐ ØØŠOØ × Ñ ˜wÕ 'ñ+(øô
ò     (Ü N‰NðGðØ—‘— ‘ Øô  ð × Ñ ˜w× 'Ñ 'ûð     (üs+‚B›=¢B½    B Á=BÂBÂB  Bc#óŠK—|–—|jh}|D])\}}||vrŒ |«}|€Œ|–—|j|«Œ+y­w)aKIterator for ``FoundCandidates``.
 
    This iterator is used when the resolver prefers the already-installed
    candidate and NOT to upgrade. The installed candidate is therefore
    always yielded first, and candidates from index come later in their
    normal ordering, except skipped when the version is already installed.
    N)rr©Ú    installedrrrrrs      rÚ_iter_built_with_prependedr;s\èø€ð ‚OØ)2×):Ñ):Ð(;€NØò$‰ ˆØ nÑ $Ø Ù“Fˆ    Ø Ð Ø ØŠØ×ј7Õ#ñ$ùs‚AAc#óþK—t«}|D]W\}}||vrŒ |j|k\r|–—|j|j«|«}|€ŒC|–—|j|«ŒY|j|vr|–—yy­w)aëIterator for ``FoundCandidates``.
 
    This iterator is used when the resolver prefers to upgrade an
    already-installed package. Candidates from index are returned in their
    normal ordering, except replaced when the version is already installed.
 
    The implementation iterates through and yields other candidates, inserting
    the installed candidate exactly once before we start yielding older or
    equivalent candidates, or after all other candidates if they are all newer.
    N)rrrrs      rÚ_iter_built_with_insertedr!Qs‘èø€ô),«€NØò $‰ ˆØ nÑ $Ø à × Ñ  Ò 'ØŠOØ × Ñ ˜y×0Ñ0Ô 1Ù“Fˆ    Ø Ð Ø ØŠØ×ј7Õ#ð $ð×Ñ Ñ.Ø‹ð/ùs‚A;A=cóH—eZdZdZ                                dd„Zd    d„Zd
d„Zd d„Zd d„Zy) ÚFoundCandidatesacA lazy sequence to provide candidates to the resolver.
 
    The intended usage is to return this from `find_matches()` so the resolver
    can iterate through the sequence multiple times, but only access the index
    page when remote packages are actually needed. This improve performances
    when suitable candidates are already installed on disk.
    cóJ—||_||_||_||_d|_y©N)Ú
_get_infosÚ
_installedÚ_prefers_installedÚ_incompatible_idsÚ_bool)ÚselfÚ    get_infosrÚprefers_installedÚincompatible_idss     rÚ__init__zFoundCandidates.__init__zs)€ð$ˆŒØ#ˆŒØ"3ˆÔØ!1ˆÔØ"&ˆ
ócó—td«‚©Nz don't do this©ÚNotImplementedError)r+Úindexs  rÚ __getitem__zFoundCandidates.__getitem__‡ó€ô" /Ó2Ð2r0có܇—‰j«}‰js t|«}n9‰jrt    ‰j|«}nt ‰j|«}ˆfd„|D«S)Nc3óR•K—|]}t|«‰jvsŒ|–—Œ y­wr%)Úidr))Ú.0Úcr+s  €rú    <genexpr>z+FoundCandidates.__iter__.<locals>.<genexpr>•s"øèø€ÒKa¤r¨!£u°D×4JÑ4JÒ'J”ÑKùsƒ' ')r&r'rr(rr!)r+rÚiterators`  rÚ__iter__zFoundCandidates.__iter__sTø€Ø—‘Ó!ˆØŠÜ" 5Ó)‰HØ × $Ò $Ü1°$·/±/À5ÓI‰Hä0°·±À%ÓHˆHÛK˜8ÔKÐKr0có—td«‚r2r3©r+s rÚ__len__zFoundCandidates.__len__—r7r0cóª—|j |jS|jr|jrd|_yt|«|_|jS)NT)r*r(r'ÚanyrAs rÚ__bool__zFoundCandidates.__bool__sD€Ø :‰:Ð !Ø—:‘:Ð à × "Ò " t§¢ØˆDŒJØä˜“YˆŒ
؏z‰zÐr0N)r,z*Callable[[], Iterator[IndexCandidateInfo]]rzCandidate | Noner-Úboolr.zset[int])r5rÚreturnr)rGúIterator[Candidate])rGÚint)rGrF)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__r/r6r?rBrE©r0rr#r#qsG„ñð 'à=ð 'ð$ð 'ð ð     'ð
#ó 'ó3ó Ló3ô     r0r#)rúIterator[IndexCandidateInfo]rGrH)rr rrOrGrH)rMÚ
__future__rÚloggingÚcollections.abcrrÚtypingrrrÚpip._vendor.packaging.versionr    Úpip._internal.exceptionsr
Úbaser Ú    getLoggerrJrÚtupleÚIndexCandidateInforrr!r#rNr0rú<module>rZs¦ðñõ#ãß.ß*Ñ*å6å4åà    ˆ×    Ñ    ˜8Ó    $€à˜<¨°"°h¸yÑ6IÐ2IÑ)JÐJÑKÐó(ð>$Øð$Ø!=ð$àó$ð,ØðØ!=ðàóô@5h˜yÑ)õ5r0