+
    <j                     x   ^ RI t ^ RIt^ RIt^ RIHtHtHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHt ^ RI H!t!H"t" ^ R	I#H$t$H%t%H&t&H't'H(t(H)t)H*t* ^ R
I+H,t, ^ RI-H.t.H/t/ ^ RI0H1t1 ^ RI2H3t3 ^ RI4H5t5 ^ RI6H7t7H8t8 ^ RI9H:t:H;t; ^ RI<H=t= ^ RI>H?t? ^ RI@HAtA ^ RIBHCtC ^ RIDHEtE ^RIFHGtGHHtHHItI ^RIJHKtKHLtLHMtMHNtNHOtOHPtPHQtQ ^RIRHStSHTtT ^RIUHVtVHWtWHXtXHYtYHZtZ ]'       d    ! R R]4      t[]P                  ! ]]4      t^]! R4      t_]]1]_3,          t` ! R R]4      ta ! R R 4      tbR# )!    N)TYPE_CHECKINGCallableDict	FrozenSetIterableIteratorListMapping
NamedTupleOptionalProtocolSequenceSetTupleTypeVarcast)InvalidRequirement)SpecifierSet)NormalizedNamecanonicalize_name)InvalidVersionVersion)ResolutionImpossible)
CacheEntry
WheelCache)DistributionNotFoundInstallationErrorInvalidInstalledPackageMetadataInconsistentMetadataInvalidUnsupportedPythonVersionUnsupportedWheel)PackageFinder)BaseDistributionget_default_environmentLink)Wheel)RequirementPreparer)install_req_drop_extrasinstall_req_from_link_and_ireq)InstallRequirementcheck_invalid_constraint_type)InstallRequirementProvider)get_supported)Hashes)get_requirement)running_under_virtualenv)	Candidate
ConstraintRequirement)AlreadyInstalledCandidateBaseCandidateEditableCandidateExtrasCandidateLinkCandidateRequiresPythonCandidateas_base_candidate)FoundCandidatesIndexCandidateInfo)ExplicitRequirementRequiresPythonRequirementSpecifierRequirement!SpecifierWithoutExtrasRequirementUnsatisfiableRequirementc                   ,   a  ] tR t^Ot o V 3R ltRtV tR# )ConflictCausec                2   < V ^8  d   Qh/ S[ ;R&   S[;R&   # )   requirementparent)r@   r3   )format__classdict__s   "`/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/factory.py__annotate__ConflictCause.__annotate__O   s     ..       N__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__rK   s   @rL   rE   rE   O         rO   rE   Cc                   ,   a  ] tR t^Zt o V 3R ltRtV tR# )CollectedRootRequirementsc                z   < V ^8  d   Qh/ S[ S[,          ;R&   S[S[S[3,          ;R&   S[S[S[3,          ;R&   # )rG   requirementsconstraintsuser_requested)r	   r5   r   strr4   int)rJ   rK   s   "rL   rM   &CollectedRootRequirements.__annotate__Z   s>     {## c:o&&  cN" rO   rP   NrQ   rY   s   @rL   r]   r]   Z   rZ   rO   r]   c                     a  ] tR t^`t o R.V 3R lR llt]V 3R lR l4       tV 3R lR ltRR/V 3R	 lR
 lltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR/V 3R lR  lltV 3R! lR" ltV 3R# lR$ ltV 3R% lR& ltV 3R' lR( ltV 3R) lR* ltV 3R+ lR, ltR-tV tR# )0FactoryNc                   < V ^8  d   QhRS[ RS[RS[RS[S[,          RS[RS[RS[RS[R	S[S[S[R
3,          ,          RR/
# )rG   finderpreparermake_install_reqwheel_cacheuse_user_siteforce_reinstallignore_installedignore_requires_pythonpy_version_info.returnN)r#   r)   r.   r   r   boolr   rc   )rJ   rK   s   "rL   rM   Factory.__annotate__a   s     %' %'%' &%' 5	%'
 j)%' %' %' %' !%%' "%S/2%' 
%'rO   c
                   Wn         W n        W@n        \        V	4      V n        W0n        WPn        W`n        Wn        / V n	        / V n
        / V n        / V n        / V n        \        4       V n        V'       g?   \!        4       p
V
P#                  R R7       Uu/ uF  pVP$                  VbK  	  upV n        R# / V n        R# u upi )F)
local_onlyN)_finderri   _wheel_cacher;   _python_candidate_make_install_req_from_spec_use_user_site_force_reinstall_ignore_requires_python_build_failures_link_candidate_cache_editable_candidate_cache_installed_candidate_cache_extras_candidate_cacher/   _supported_tags_cacher%   iter_installed_distributionscanonical_name_installed_dists)selfrh   ri   rj   rk   rl   rm   rn   ro   rp   envdists   &&&&&&&&&&  rL   __init__Factory.__init__a   s      '!8!I+;(+ /'=$9;;="CE&PR'  	$ &3_")+C  <<<N%ND ##T)N%D!
 %'D!%s   B<c                    < V ^8  d   QhRS[ /# rG   rq   )rr   )rJ   rK   s   "rL   rM   rs      s     % % %rO   c                    V P                   # N)r{   )r   s   &rL   rm   Factory.force_reinstall   s    $$$rO   c                $   < V ^8  d   QhRS[ RR/# )rG   linkrq   Nr&   )rJ   rK   s   "rL   rM   rs      s     $ $t $ $rO   c                    VP                   '       g   R # \        VP                  4      pVP                  V P                  P
                  P                  4       4      '       d   R # VP                   R2p\        V4      h)Nz+ is not a supported wheel on this platform.)is_wheelr(   filename	supportedrv   target_pythonget_unsorted_tagsr"   )r   r   wheelmsgs   &&  rL   "_fail_if_link_is_unsupported_wheel*Factory._fail_if_link_is_unsupported_wheel   s]    }}}dmm$??4<<55GGIJJJKs##rO   
comes_fromc                R   < V ^8  d   QhRS[ RS[S[,          RS[S[,          RS[/# )rG   baseextrasr   rq   )r7   r   rb   r   r,   r9   )rJ   rK   s   "rL   rM   rs      s=       #
 /0 
rO   c                   \        V4      \        R  V 4       4      3p V P                  V,          pV#   \         d     \	        YTR7      pYPP                  T&    T# i ; i)c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )r   ).0es   & rL   	<genexpr>1Factory._make_extras_candidate.<locals>.<genexpr>   s     (Nv!):1)=)=vs   r   )id	frozensetr   KeyErrorr9   )r   r   r   r   	cache_key	candidates   &&&$  rL   _make_extras_candidateFactory._make_extras_candidate   sn     Xy(Nv(NNO		@44Y?I   	@'LI6?((3	@s   4 &AAc                B   < V ^8  d   QhRS[ RS[S[,          RS[RS[/# )rG   r   r   templaterq   )r$   r   rb   r,   r3   )rJ   rK   s   "rL   rM   rs      s=     N NN #N %	N
 
NrO   c                     V P                   VP                  ,          pV'       g   V# V P	                  WBVR7      #   \         d)    \        YT R 7      pY@P                   TP                  &    LOi ; i))factoryr   )r   r   r   r6   r   )r   r   r   r   r   s   &&&& rL   _make_candidate_from_dist!Factory._make_candidate_from_dist   sq    	H2243F3FGD K**4H*MM  	H,TTJDCG++D,?,?@	Hs   < 0A/.A/c                ~   < V ^8  d   QhRS[ RS[S[,          RS[RS[S[,          RS[S[,          RS[S[,          /# )rG   r   r   r   nameversionrq   )r'   r   rb   r,   r   r   r   r3   )rJ   rK   s   "rL   rM   rs      sb     N NN #N %	N
 ~&N '"N 
)	NrO   c                h    V P                  WWE4      pV'       d   Vf   V# V P                  WbVR7      # )Nr   )_make_base_candidate_from_linkr   )r   r   r   r   r   r   r   s   &&&&&& rL   _make_candidate_from_link!Factory._make_candidate_from_link   s=     )-(K(KD)
 K**4H*MMrO   c                h   < V ^8  d   QhRS[ RS[RS[S[,          RS[S[,          RS[S[,          /# )rG   r   r   r   r   rq   )r'   r,   r   r   r   r7   )rJ   rK   s   "rL   rM   rs      sL     74 7474 %74 ~&	74
 '"74 
-	 74rO   c                b   WP                   9   d   R # VP                  '       dB   WP                  9  d    \        VVV VVR7      V P                  V&   V P                  V,          # WP                  9  d    \        VVV VVR7      V P                  V&   V P                  V,          #   \        \
        3 d5   p\        P                  RTTRR/R7       YPP                   T&    R p?R # R p?ii ; i  \         d5   p\        P                  RTTRR/R7       YPP                   T&    R p?R # R p?ii ; i)N)r   r   r   z3Discarding [blue underline]%s[/]: [yellow]%s[reset]markupT)extra)
r}   editabler   r8   r   r    loggerinfor~   r:   )r   r   r   r   r   r   s   &&&&& rL   r   &Factory._make_base_candidate_from_link   sC    ''' 999 ;L  $! '<D2248" 11$77555 7D  $! '8D..t4  --d33= -o>  KKM'.	    23((. * ,  KKM'.	    23((. s/   B' 7C/ 'C,8)C''C,/D.:)D))D.c                n   < V ^8  d   QhRS[ S[,          RS[RS[RS[RS[S[,          RS[S[,          /# )rG   ireqs	specifierhashesprefers_installedincompatible_idsrq   )	r   r,   r   r0   rr   r   rc   r   r3   )rJ   rK   s   "rL   rM   rs      s^     d
 d
*+d
  d
 	d

  d
 c(d
 
)	d
rO   c                   a aaaa	a
a V'       g   R# V^ ,          oSP                   '       g   Q R4       h\        SP                   P                  4      o
\        4       o	V Fn  pVP                   '       g   Q R4       hSVP                   P                  ,          oSVP                  RR7      ,          oS	\        VP                  4      ,          o	Kp  	  R V	VV
V VV3R llpR V	VV
V VV3R llp\        VV! 4       VS4      # )	r   z)Candidates found on index must be PEP 508F)trust_internetc                :    V ^8  d   QhR\         \        ,          /# r   )r   r3   )rJ   s   "rL   rM   4Factory._iter_found_candidates.<locals>.__annotate__  s     	 	(9*= 	rO   c                 T  < SP                   '       d   R#  SP                  S,          p  SP                  T P                  RR7      '       g   R#  SP                  T SSR7      p\        T4      S9   d   R# T#   \         d     R# i ; i  \
         d   p\        YR7      hRp?ii ; i)z6Get the candidate for the currently-installed version.NT)prereleases)r   invalid_exc)r   r   r   )	r{   r   r   containsr   r   r   r   r   )	installed_distr   r   r   r   r   r   r   r   s	      rL   _get_installed_candidate@Factory._iter_found_candidates.<locals>._get_installed_candidate  s     $$$!%!6!6t!<R !)).*@*@d)SS T
 66#! 7 I )} 00'   " R->QQRs(   A9 "B 9BBB'B""B'c                :    V ^8  d   QhR\         \        ,          /# r   )r   r>   )rJ   s   "rL   rM   r   2  s     &	) &	)H5G,H &	)rO   c            
   3     <"   S
P                   P                  S	SSR 7      p V P                  p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      pR R lpV! S4      p\	        V4       F{  pV'       d	   V'       g   VP
                  P                  '       d   K1  \        P                  ! S
P                  VP
                  SSS	VP                  R7      pVP                  V3x  K}  	  R# 5i))project_namer   r   c              3   L   "   T F  qP                   P                  x  K  	  R # 5ir   )r   	is_yanked)r   icans   & rL   r   UFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.<genexpr>=  s     CUTYY00Us   "$FTc                0    V ^8  d   QhR\         R\        /# rG   r   rq   )r   rr   )rJ   s   "rL   rM   XFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.__annotate__?  s     	 	\ 	d 	rO   c                     V  FN  pVP                   R 8X  d    R# VP                   R8w  d   K*  VP                  P                  R4      '       d   KM   R# 	  R# )z===T==z.*F)operatorr   endswith)r   sps   & rL   	is_pinnedUFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.is_pinned?  sJ    #B{{e+#{{d* zz**400  $ rO   )r   r   r   r   r   N)rv   find_best_candidateapplicable_candidatesallreversedr   r   	functoolspartialr   r   )resulticans
all_yankedr   pinnedr   funcr   r   r   r   r   r   s          rL   iter_index_candidate_infosBFactory._iter_found_candidates.<locals>.iter_index_candidate_infos2  s     \\55!# 6 F
 00E
 CUCCUCCJ	 y)F !"v4993F3F3F ((22!% LL llD(( (s   AC<A C<C<*AC<rP   )reqr   r   r   r   r   r   r=   )r   r   r   r   r   r   ireqr   r   r   r   r   s   f&ff&f   @@@rL   _iter_found_candidatesFactory._iter_found_candidates   s     I 8|||HHH| !2!23!*D888HHH8+++Idkkk77Fi,,F	 	 	:&	) &	)P &$&	
 	
rO   c                \   < V ^8  d   QhRS[ S[,          RS[S[,          RS[S[,          /# )rG   base_requirementsr   rq   )r   r5   r   rb   r   r3   )rJ   rK   s   "rL   rM   rs   a  s<     A A#K0A #A 
)		ArO   c              #     "   V FD  pVP                  4       w  rEVf   K  \        V4      pVf   Q R4       hV P                  Wb4      x  KF  	  R# 5i)a  Produce explicit candidates from the base given an extra-ed package.

:param base_requirements: Requirements known to the resolver. The
    requirements are guaranteed to not have extras.
:param extras: The extras to inject into the explicit requirements'
    candidates.
Nzno extras here)get_candidate_lookupr<   r   )r   r   r   r   lookup_cand_	base_cands   &&&    rL   #_iter_explicit_candidates_from_base+Factory._iter_explicit_candidates_from_basea  sY      %C 557NK" *+6I(:*::(--i@@ %s   AAc          	      B   < V ^8  d   QhRS[ RS[RS[RS[S[,          /# )rG   
identifier
constraintr   rq   )rb   r4   r,   r   r3   )rJ   rK   s   "rL   rM   rs   w  s8            %	 
 
)	 rO   c              #     "   VP                    FI  pV P                  V4       V P                  V\        WC4      \	        V4      RR7      pV'       g   KE  Vx  KK  	  R# 5i)zProduce explicit candidates from constraints.

This creates "fake" InstallRequirement objects that are basically clones
of what "should" be the template, but with original_link set to link.
Nr   r   r   )linksr   r   r+   r   )r   r   r  r   r   r   s   &&&&  rL   !_iter_candidates_from_constraints)Factory._iter_candidates_from_constraintsw  s\      $$D33D9;;7G&z2	 < I y %s   AA
Ac                   < V ^8  d   QhRS[ RS[S[ S[S[,          3,          RS[S[ S[S[,          3,          RS[RS[RS[S[S[.S[3,          RS[S[,          /# )rG   r   r_   incompatibilitiesr  r   is_satisfied_byrq   )	rb   r
   r   r5   r   r3   r4   rr   r   )rJ   rK   s   "rL   rM   rs     s     J
 J
J
 c8K#889J
 #3(;#;<	J

 J
  J
 ";	":D"@AJ
 
)	J
rO   c           
       aaaaa \        4       p. pSS,           FA  p	V	P                  4       w  rV
e   VP                  V
4       Vf   K0  VP                  V4       KC  	  \        P
                  ! \        4      ;_uu_ 4        \        S4      pVP                  S8w  d   VP                  V P                  SP                  VP                  R4      \        VP                  4      4      4       SP                  VP                  . 4       F,  p	V	P                  4       w  rVf   K  VP                  V4       K.  	  R R R 4       V'       d,    VP                  V P                  SSV^ ,          R7      4       VP                  SR4       Uu0 uF  p\!        V4      kK  	  upoV'       g*   V P#                  VSP$                  SP&                  VS4      # VVVVV3R lV 4       #   + '       g   i     L; i  \         d    Ru # i ; iu upi )N)r   c              3   $  <a"   T F  o\        S4      S9  g   K  SP                  S4      '       g   K.  \        ;QJ d'    VV3R  lSS,           4       F  '       d   K   RM	  RM! VV3R  lSS,           4       4      '       g   K  Sx  K  	  R# 5i)c              3   6   <"   T F  pS! VS4      x  K  	  R # 5ir   rP   )r   r   cr	  s   & rL   r   4Factory.find_candidates.<locals>.<genexpr>.<genexpr>  s     P7OOC++7Os   FTN)r   r	  r   )r   r  r  r   incompat_idsr	  r_   s   &@rL   r   *Factory.find_candidates.<locals>.<genexpr>  sj      
(!uL(  **1-  P|J7OPP|J7OPP	 A(s    BB
BB#B
BrP   )setr   addappend
contextlibsuppressr   r1   r   updater   getr   r   r  r"   r   r   r   r   )r   r   r_   r  r  r   r	  explicit_candidatesr   r   candr   parsed_requirementr   r  r  s   &ff&f&f        @rL   find_candidatesFactory.find_candidates  s    /2e*,
++C113JD#''-T" ,   !344!0!<!&&*4#**<<$(();)@)@"E!"4";";< (++,>,C,CRHC!668GA'T* I 5$ #**::""!&q ;  (9'<'<Z'LM'L!1'LM #..$$!!! 
 
(
 	
_ 546 $  	 Ns+   BG $G 
*G3 H G0	3HHc                L   < V ^8  d   QhRS[ RS[S[,          RS[S[,          /# )rG   r   requested_extrasrq   )r,   r   rb   r   r5   )rJ   rK   s   "rL   rM   rs     s.     3 3&3:B3-3	+	3rO   c              #    "   VP                  V4      '       g.   \        P                  RVP                  VP                  4       R# VP
                  '       gY   VP                  '       d8   VP                  e*   VP                  P                  '       d   \        V4      x  \        V4      x  R# V P                  VP
                  4       T P                  VP
                  VP                  '       d   \        V4      MTVP                  '       d   \        VP                  4      MRRR7      pVfR   VP                  '       g   V P                  VP
                  ,          h\!        \        VP                  4      4      x  R# V P#                  V4      x  VP                  '       d9   V P#                  V P%                  V\'        VP                  4      4      4      x  R# R# 5i)a  
Returns requirement objects associated with the given InstallRequirement. In
most cases this will be a single object but the following special cases exist:
    - the InstallRequirement has markers that do not apply -> result is empty
    - the InstallRequirement has both a constraint (or link) and extras
        -> result is split in two requirement objects: one with the constraint
        (or link) and one with the extra. This allows centralized constraint
        handling for the base, resulting in fewer candidate rejections.
z6Ignoring %s: markers '%s' don't match your environmentNr  )match_markersr   r   r   markersr   r   r   r   rB   rA   r   r   r*   r   r}   rC   make_requirement_from_candidater   r   )r   r   r  r  s   &&& rL   #_make_requirements_from_install_req+Factory._make_requirements_from_install_req  s^     !!"233KKH		
 {{{txx38J8J8J7==&t,,33DII>
 66		:>+++06459YYY&tyy1D	 7 D | yyy..tyy99./@/KLL ::4@@;;;>>33D)DKK:PQ  s2   AG#G#+)G#AG#4G#2G#A#G#):G#c                6   < V ^8  d   QhRS[ S[,          RS[/# )rG   
root_ireqsrq   )r	   r,   r]   )rJ   rK   s   "rL   rM   rs     s#     ( (12(	"(rO   c                <   \        . / / 4      p\        V4       EFa  w  r4VP                  '       d   \        V4      pV'       d   \	        V4      hVP                  4       '       g   KN  VP                  '       g   Q R 4       h\        VP                  4      pWbP                  9   d"   VP                  V;;,          V,          uu&   K  \        P                  ! V4      VP                  V&   K  \        V P                  VRR7      4      pV'       g   K  V^ ,          pVP                  '       d4   VP                  VP                  9  d   W2P                  VP                  &   VP                  P!                  V4       EKd  	  VP                  P#                  R R7       V# )zConstraint must be named)r  c                 4    V P                   V P                  8g  # r   )r   r   )rs   &rL   <lambda>3Factory.collect_root_requirements.<locals>.<lambda>5  s    !&&ANN2JrO   )keyrP   )r]   	enumerater  r-   r   r   r   r   r`   r4   	from_ireqlistr#  user_suppliedra   r_   extendsort)	r   r&  	collectedir   problemr   reqsr   s	   &&       rL   collect_root_requirements!Factory.collect_root_requirements  sM    .b"b9	 ,GA7=+G44))++yyy<"<<y(3000))$/47/2<2F2Ft2LI))$/<<)+ =  7%%%(--y?W?W*W>?,,X]];&&--d35 -F 	##(J#KrO   c                &   < V ^8  d   QhRS[ RS[/# rG   r   rq   )r3   r?   )rJ   rK   s   "rL   rM   rs   8  s     . .".	.rO   c                    \        V4      # r   )r?   )r   r   s   &&rL   r"  'Factory.make_requirement_from_candidate8  s     #9--rO   c          	      b   < V ^8  d   QhRS[ RS[S[,          RS[S[ ,          RS[S[,          /# )rG   r   r   r  rq   )rb   r   r,   r   r   r5   )rJ   rK   s   "rL   rM   rs   =  sH     P PP /0P #3-	P
 
+	PrO   c                F    V P                  W4      pV P                  WC4      # )a  
Returns requirement objects associated with the given specifier. In most cases
this will be a single object but the following special cases exist:
    - the specifier has markers that do not apply -> result is empty
    - the specifier has both a constraint and extras -> result is split
        in two requirement objects: one with the constraint and one with the
        extra. This allows centralized constraint handling for the base,
        resulting in fewer candidate rejections.
)ry   r#  )r   r   r   r  r   s   &&&& rL   make_requirements_from_spec#Factory.make_requirements_from_spec=  s%     //	F77OOrO   c                6   < V ^8  d   QhRS[ RS[S[,          /# r   )r   r   r5   )rJ   rK   s   "rL   rM   rs   O  s(     	L 	L	L 
+		LrO   c                z    V P                   '       d   R # \        V4      '       g   R # \        WP                  4      # r   )r|   rb   r@   rx   )r   r   s   &&rL    make_requires_python_requirement(Factory.make_requires_python_requirementO  s0     '''9~~(4J4JKKrO   c                L   < V ^8  d   QhRS[ RS[S[,          RS[S[,          /# )rG   r   r   rq   )r'   r   rb   r   )rJ   rK   s   "rL   rM   rs   Z  s.     
 

 (
	*	
rO   c                r    V P                   f   R# V P                   P                  VVV P                  R7      # )ag  Look up the link in the wheel cache.

If ``preparer.require_hashes`` is True, don't use the wheel cache,
because cached wheels, always built locally, have different hashes
than the files downloaded from the index server and thus throw false
hash mismatches. Furthermore, cached wheels at present have
nondeterministic contents due to file modification times.
N)r   package_namesupported_tags)rw   get_cache_entryr   )r   r   r   s   &&&rL   get_wheel_cache_entryFactory.get_wheel_cache_entryZ  s@     $  0055 1 
 	
rO   c                6   < V ^8  d   QhRS[ RS[S[,          /# r:  )r3   r   r$   )rJ   rK   s   "rL   rM   rs   m  s!      y XFV=W rO   c                >   V P                   P                  VP                  4      pVf   R # V P                  '       g   V# VP                  '       d   V# \        4       '       d:   VP                  '       d(   RVP                   RVP                   2p\        V4      hR # )NzNWill not install to the user site because it will lack sys.path precedence to z in )
r   r  r   rz   in_usersiter2   in_site_packagesraw_namelocationr   )r   r   r   messages   &&  rL   get_dist_to_uninstallFactory.get_dist_to_uninstallm  s    $$(()?)?@<
 """K K $%%$*?*?*?**.--T]]OM  $G,,rO   c                4   < V ^8  d   QhRS[ R,          RS[/# )rG   causesrE   rq   )r   r!   )rJ   rK   s   "rL   rM   rs     s"     1 1/1	!1rO   c                   V'       g   Q R 4       hV P                   P                  p\        V4      ^8X  dZ   \        V^ ,          P                  P
                  4      pRV^ ,          P                  P                  : RV RV: 2p\        V4      # RV R2pV FM  pVP                  P                  4       p\        VP                  P
                  4      pVRV: RV R2,          pKO  	  \        V4      # )	z,Requires-Python error reported with no causezPackage z requires a different Python: z not in z%Packages require a different Python. z not in:
z (required by ))
rx   r   lenrb   rH   r   rI   r   r!   format_for_error)r   rV  r   r   rR  causepackages   &&     rL   _report_requires_python_error%Factory._report_requires_python_error  s     EEEv((00v;!F1I11;;<I6!9++003 4")8I=:  ,G449'(KEll335GE--778II=wiqAAG  (00rO   c                <   < V ^8  d   QhRS[ RS[S[,          RS[/# )rG   r   rI   rq   )r5   r   r3   r   )rJ   rK   s   "rL   rM   rs     s/     2Q 2Q2Q(0(;2Q	2QrO   c                   Vf   \        V4      pMV RVP                   R2pV P                  P                  VP                  4      pV P                  P                  4       p\        4       p\        4       pV Fm  pVP                  '       d   VP                  P                  MRp	V	'       d   VP                  VP                  4       KR  VP                  VP                  4       Ko  	  \        V4       U
u. uF  p
\        V
4      NK  	  pp
\        V4       U
u. uF  p
\        V
4      NK  	  pp
V'       d0   \        P                  RRP                  V4      ;'       g    R4       V'       d0   \        P                  RRP                  V4      ;'       g    R4       \        P                  R	TRP                  V4      ;'       g    R4       \        V4      R
8X  d   \        P                  R4       \!        RV 24      # u up
i u up
i )Nz (from rY  Fz)Ignored the following yanked versions: %s, nonezJIgnored the following versions that require a different python version: %sz; zNCould not find a version that satisfies the requirement %s (from versions: %s)zrequirements.txtzHINT: You are attempting to install a package literally named "requirements.txt" (which cannot exist). Consider using the '-r' flag to install the packages listed in requirements.txtz#No matching distribution found for )rb   r   rv   find_all_candidatesr   requires_python_skipped_reasonsr  r   r   r  r   sortedr   criticaljoinr   r   )r   r   rI   req_dispcandsskipped_by_requires_pythonversions_setyanked_versions_setr  r   vversionsyanked_versionss   &&&          rL   #_report_single_requirement_conflict+Factory._report_single_requirement_conflict  s    >3xHgfkk]!4H001A1AB%)\\%Q%Q%S"%(U,/EA,-FFF((I#''		2  +  %+<$89$8qCF$89+12E+FG+Fa3q6+FG OO;		/*44f &OO		45??
 	"IIh))6		
 s8))KK# $&I#$OPP= :Gs   6H Hc                @   < V ^8  d   QhRRRS[ S[S[3,          RS[/# )rG   r   z,ResolutionImpossible[Requirement, Candidate]r`   rq   )r   rb   r4   r   )rJ   rK   s   "rL   rM   rs     s7     d
 d
9d
 #z/*d
 
	d
rO   c                L   VP                   '       g   Q R 4       hVP                    Uu. uFT  p\        VP                  \        4      '       g   K%  VP                  P	                  V P
                  4      '       d   KR  VNKV  	  ppV'       d   V P                  \        RV4      4      # \        VP                   4      ^8X  dC   \        \        VP                   4      4      w  rVVP                  V9  d   V P                  WV4      # R R lpR R lp\        4       p	VP                    F3  w  rVVf   VP                  4       p
MV! V4      p
V	P                  V
4       K5  	  V	'       d   V! \!        V	4      4      pMRpRV R2p\"        P%                  V4       R	p\        4       pVP                    F  w  rVVP                  V9   d   VP                  VP                  4       VR
,           pV'       d$   WP                   RVP&                   R2,           pM	VR,           pWP                  4       ,           pK  	  V F#  pW.,          P(                  pVRV V 2,          pK%  	  VR,           R,           R,           R,           R,           p\"        P+                  V4       \-        R4      # u upi )z)Installation error reported with no causezSequence[ConflictCause]c                F    V ^8  d   QhR\         \        ,          R\        /# )rG   partsrq   )r	   rb   )rJ   s   "rL   rM   4Factory.get_installation_error.<locals>.__annotate__  s     	? 	?T#Y 	?3 	?rO   c                     \        V 4      ^8X  d
   V ^ ,          # RP                  V RR 4      R,           V R,          ,           # )   rb  Nz and )rZ  rh  )rv  s   &rL   	text_join1Factory.get_installation_error.<locals>.text_join  s9    5zQQx99U3BZ(72U2Y>>rO   c                0    V ^8  d   QhR\         R\        /# )rG   rI   rq   )r3   rb   )rJ   s   "rL   rM   rw    s     	( 	(Y 	(3 	(rO   c                 4   V P                  4       pV'       d   VP                  '       g   V P                   R V P                   2# \	        VP                  \
        4      '       d    \        VP                  P                  4      # \        VP                  4      # )r   )get_install_requirementr   r   r   
isinstancer,   rb   )rI   r   s   & rL   describe_trigger8Factory.get_installation_error.<locals>.describe_trigger  sk    113Dt ++b(899$//+=>>4??//00t''rO   zthe requested packageszCannot install z> because these package versions have conflicting dependencies.z
The conflict is caused by:z
     z depends on zThe user requested z%
    The user requested (constraint) z

zTo fix this you could try to:
z91. loosen the range of package versions you've specified
z<2. remove package versions to allow pip to attempt to solve zthe dependency conflict
zResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts)rV  r  rH   r@   r	  rx   r^  r   rZ  nextiterr   rq  r  r[  r  rf  r   rg  r   r   r   r   )r   r   r`   r\  requires_python_causesr   rI   r{  r  triggerstriggerr   r   relevant_constraintsr,  specs   &&&             rL   get_installation_errorFactory.get_installation_error  sy   
 xxxDDDx "
!%++-FG  %%55d6L6LM E! 	 "
 " 55.0FG  qxx=AtAHH~.KCxx{*??LL	?	( 588KC~..0*62LL! $ VH-.D+D dV $- - 	 	,"u88KCxx;&$((2.C{{m1V^^,<LII11,,..C $ (C#--D;C5GGC (
 /0 KK M	M
 ** 	 	C#1
 	
o"
s   "J!(J!<J!)r}   r   r   rv   r{   r|   r   r   r~   ry   rx   r   rz   rw   ri   r   )rP   )rR   rS   rT   rU   r   propertyrm   r   r   r   r   r   r   r   r  r  r#  r7  r"  r?  rC  rJ  rS  r^  rq  r  rW   rX   rY   s   @rL   rf   rf   `   s    %' %'N % %$ $
 48 N NN N74 74rd
 d
LA A,   ,J
 J
X3 3j( (T. .
P P$	L 	L
 
& 81 1,2Q 2Qhd
 d
rO   rf   )cr  r   loggingtypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   "pip._vendor.packaging.requirementsr    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   r   pip._vendor.packaging.versionr   r   pip._vendor.resolvelibr   pip._internal.cacher   r   pip._internal.exceptionsr   r   r   r   r    r!   r"   "pip._internal.index.package_finderr#   pip._internal.metadatar$   r%   pip._internal.models.linkr'   pip._internal.models.wheelr(    pip._internal.operations.preparer)   pip._internal.req.constructorsr*   r+   pip._internal.req.req_installr,   r-   pip._internal.resolution.baser.   &pip._internal.utils.compatibility_tagsr/   pip._internal.utils.hashesr0   pip._internal.utils.packagingr1   pip._internal.utils.virtualenvr2   r   r3   r4   r5   
candidatesr6   r7   r8   r9   r:   r;   r<   found_candidatesr=   r>   r_   r?   r@   rA   rB   rC   rE   	getLoggerrR   r   r[   Cacher]   rf   rP   rO   rL   <module>r     s          & B 9 I A 7 6   = L * , @ E @ - 9 C 4 4   B   
 
		8	$CLT1W#
 #W
 W
rO   