+
     h  c                   s    ^ RI t ^ RIt^ RIt^ RIHtHtHt ^ RIHtH	t	 ^ RI
HtHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ]P,                  ! ]4      t ! R R	]4      t]P4                  ! ]4       R# )
i    N)ListOptionalTuple)
BadCommandInstallationError)
HiddenTextdisplay_path)make_command)path_to_url)
RevOptionsVersionControl(find_path_to_project_root_from_repo_rootvcsc                   s6  a a ] tR t^t oRtRtRtRt]V3R lR l4       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4       t]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lV 3R ll4       tRtVtV ;t# )	MercurialZhgz.hgclonec                6   < V ^8  d   QhRS[ RS[S[ ,          /# )   revreturn)strr    Zformat__classdict__   "@/usr/lib/python3.14/site-packages/pip/_internal/vcs/mercurial.py__annotate__Mercurial.__annotate__!   s        s  tCy      c                s    R V  2.# )z--rev= )r   s   &r   get_base_rev_argsZMercurial.get_base_rev_args    s    r   c          
      s6   < V ^8  d   QhRS[ RS[RS[RS[RR/# )r   desturlrev_options	verbosityr   N)r   r   r	   Zintr   r   r   r   r   $   s5     
 

(
7A
NQ
	
r   c                sF   VP                  4       p\        P                  R VV\        V4      4       V^ 8:  d   RpMV^8X  d   RpMV^8X  d   RpMR	pV P	                  \        RR.VOVNVN5!  4       V P	                  \        R.VOVP                  4       N5!  VR7       R# )
zCloning hg %s%s to %sr   z
--noupdateupdatecwdN)z--quietr   )	--verbose)r$   z--debug)Z
to_displayloggerZinfor   run_commandr   to_args)selfr   r   r   r    Zrev_displayZflagss   &&&&&  r   	fetch_newZMercurial.fetch_new$   s     ",,.#		
 >%1E!^E!^"E,Eg|OeOSO$OPAEA;+>+>+@A 	 	
r   c                0   < V ^8  d   QhRS[ RS[RS[RR/# r   r   r   r   r   Nr   r   r	   r   r   r   r   r   <   s)     1 13 1Z 1j 1T 1r   c                s<   \         P                  P                  WP                  R 4      p\        P
                  ! 4       p VP                  V4       VP                  RRVP                  4       \        VR4      ;_uu_ 4       pVP                  V4       RRR4       \        RRVP                  4       4      pV P                  WqR7       R#   + '       g   i     L?; i  \        \        P                  3 d"   p\         P#                  RY(4        Rp?R# Rp?ii ; i)	ZhgrcZpathsZdefaultZwNr!   -qr"   z/Could not switch Mercurial repository to %s: %s)ospathjoindirnameconfigparserZRawConfigParserZreadZsetZsecretZopenZwriter   r'   r&   ZOSErrorZNoSectionErrorr%   Zwarning)	r(   r   r   r   Zrepo_configZconfigZconfig_filecmd_argsZexcs	   &&&&     r   switchZMercurial.switch<   s    ggll4v>--/		1KK$JJw	3::6k3'';[) (
 $HdK4G4G4IJHX0 ('445 	XNNLcWW	Xs1   AC CC C	C D:DDc                r*   r+   r,   r   r   r   r   r   J   s)     - -3 -Z -j -T -r   c                s    V P                  R R.VR7       \        RRVP                  4       4      pV P                  WAR7       R# )Zpullr-   r"   r!   N)r&   r   r'   )r(   r   r   r   r3   s   &&&& r   r!   ZMercurial.updateJ   sA    &$T2$0C0C0EF,r   c                &   < V ^8  d   QhRS[ RS[ /# r   locationr   r   r   r   r   r   r   P   s     	 	c 	c 	r   c                s    V P                  R R.RRVR7      P                  4       pV P                  V4      '       d   \        V4      pVP                  4       # )Z
showconfigzpaths.defaultFTshow_stdoutstdout_onlyr#   )r&   stripZ_is_local_repositoryr   )clsr7   r      && r   get_remote_urlZMercurial.get_remote_urlO   s[    oo?+	  

 %' 	 ##C((c"Cyy{r   c                r5   r6   r8   r   r   r   r   r   \   s     
  
 C 
 C 
 r   c                P    V P                  RR.RRVR7      P                  4       pV# )zG
Return the repository-local changeset revision number, as an integer.
parentsz--template={rev}FTr9   r&   r<   )r=   r7   Zcurrent_revisionr>   r   get_revisionZMercurial.get_revision[   s=    
 ??*+	 + 

 %' 	  r   c                r5   r6   r8   r   r   r   r   r   i   s            r   c                r@   )zP
Return the changeset identification hash, as a 40-character
hexadecimal string
rA   z--template={node}FTr9   rB   )r=   r7   Zcurrent_rev_hashr>   r   get_requirement_revisionZ"Mercurial.get_requirement_revisionh   s=     ??+,	 + 

 %' 	  r   c                s<   < V ^8  d   QhRS[ RS[S[ ,          RS[/# )r   r   namer   )r   r   Zboolr   r   r   r   r   w   s&      c # 4 r   c                s    R# )z&Always assume the versions don't matchFr   )r=   r   rE   s   &&&r   is_commit_id_equalZMercurial.is_commit_id_equalv   s     r   c                r   r6   r   r   r   r   r   r   r   |   s#     M M M Mr   c                s"   V P                  R.RRVR7      P                  4       p\        P                  P	                  V4      '       g=   \        P                  P                  \        P                  P                  W4      4      p\        W4      # )zy
Return the path to Python project root, relative to the repo root.
Return None if the project root is in the repo root.
rootFTr9   )r&   r<   r.   r/   ZisabsZabspathr0   r   )r=   r7   Z	repo_rootr>   r   get_subdirectoryZMercurial.get_subdirectory{   sk     OOH%Tx $ 

%' 	 ww}}Y''X(IJI7LLr   c                r   r6   rG   r   r   r   r   r      s     2 23 28C= 2r   c           	     s.  < \         SV `  V4      pV'       d   V#  V P                  R .VRRRRR7      p\        P                  P                  TP                  R4      4      #   \         d    \        P                  RT4        R# \         d     R# i ; i)rH   FTZraise)r#   r:   r;   Zon_returncodeZlog_failed_cmdzIcould not determine if %s is under hg control because hg is not availableNz
)Zsuperget_repository_rootr&   r   r%   Zdebugr   r.   r/   ZnormpathZrstrip)r=   r7   ZlocZr	__class__s   &&  r   rJ   ZMercurial.get_repository_root   s    g)(3J	! %$   A" ww 011  	LL.
   		s   A" "!BBBBr   )zhg+filezhg+httpzhg+httpszhg+sshzhg+static-http)__name__Z
__module__Z__qualname__Z__firstlineno__rE   r1   Z	repo_nameZschemesZstaticmethodr   r)   r4   r!   Zclassmethodr?   rC   rD   rF   rI   rJ   Z__static_attributes__Z__classdictcell__Z__classcell__)rK   r   s   @@r   r   r      s     DGIG    
 
01 1- -
 	 	 
  
        M M 2 2 2 2r   r   )r2   Zloggingr.   Ztypingr    r   r   Zpip._internal.exceptionsr   r   Zpip._internal.utils.miscr   r   Zpip._internal.utils.subprocessr   Zpip._internal.utils.urlsr   Z pip._internal.vcs.versioncontrolr	   r
   r   r   Z	getLoggerrL   r%   r   Zregisterr   r   r   <module>rM      sY      	 ( ( B = 7 0  
		8	$L2 L2^ Y r   