+
     h-  c                   sh   ^ RI t ^ RIt^ RIt^ RIHtHtHt ^ RIHtH	t	H
t
HtHt ^ RIHtHt ^ RIHtHtHtHtHt ] P,                  ! ]4      t]P2                  ! R4      t]P2                  ! R4      t]P2                  ! R4      t]P2                  ! R	4      t ! R
 R]4      t]P>                  ! ]4       R# )    N)ListOptionalTuple)
HiddenTextdisplay_pathis_console_interactiveis_installable_dirsplit_auth_from_netloc)CommandArgsmake_command)AuthInfoRemoteNotFoundError
RevOptionsVersionControlvcszurl="([^"]+)"zcommitted-rev="(\d+)"z\s*revision="(\d+)"z<url>(.*)</url>c                   s  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4       t]V3R lR	 l4       t]V3R
 lV 3R ll4       t]V3R lV 3R l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R&V3R lV 3R l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V ;t# )'
SubversionZsvnz.svncheckoutc                s&   < V ^8  d   QhRS[ RS[/# )   
remote_urlreturn)strboolZformat__classdict__   "A/usr/lib/python3.14/site-packages/pip/_internal/vcs/subversion.py__annotate__Subversion.__annotate__%   s      3 4     c                s    R # )T )clsr   s   &&r   should_add_vcs_url_prefixZ$Subversion.should_add_vcs_url_prefix$   s    r   c                s6   < V ^8  d   QhRS[ RS[S[ ,          /# )r   revr   )r   r   r   r   r   r   r   )   s      s tCy r   c                s
    R V .# )z-rr   )r!   s   &r   get_base_rev_argsZSubversion.get_base_rev_args(   s    c{r   c                &   < V ^8  d   QhRS[ RS[ /# r   locationr   r   r   r   r   r   r   -   s      C C r   c                s   ^ p\         P                  ! V4       F  w  r4pV P                  V9  d   . VR&   K  VP                  V P                  4       \         P                  P                  W0P                  R4      p\         P                  P                  V4      '       g   K  V P                  V4      w  rxW18X  d   Vf   Q hVR,           pM&V'       d   VP                  V4      '       g   . VR&   K  \        W(4      pK  	  \        V4      # )zB
Return the maximum revision for all files under a given location
:NNNentriesZ/)osZwalkdirnameZremovepathjoinexists_get_svn_url_rev
startswithmaxr   )	r   r%   ZrevisionZbaseZdirsZ_Z
entries_fnZdirurlZlocalrevs	   &&       r   get_revisionZSubversion.get_revision,   s     WWX.MD{{$&QKK$dKKCJ77>>*--"33D9F)))|6#4#4T#:#:Q8.H% /& 8}r   c                sx   < V ^8  d   QhRS[ RS[ RS[S[ S[S[S[ ,          S[S[ ,          3,          3,          /# )r   netlocschemer   )r   r   r   r   r   r   r   r   J   sA     . .."%.	sE(3-#677	8.r   c                sF   < VR8X  d   \         SV `  W4      # \        V4      # )z
This override allows the auth information to be passed to svn via the
--username and --password options instead of via the URL.
Zssh)superget_netloc_and_authr   )r   r1   r2   	__class__s   &&&r   r4   ZSubversion.get_netloc_and_authI   s)     U? 7.v>>%f--r   c                sP   < V ^8  d   QhRS[ RS[S[ S[S[ ,          S[3,          /# )r   urlr   )r   r   r   r   r   r   r   r   r   Y   s+     # #s #uS(3-5Q/R #r   c                sp   < \         SV `  V4      w  rpVP                  R 4      '       d
   RV,           pWV3# )zssh://zsvn+)r3   get_url_rev_and_authr.   )r   r6   r!   Z	user_passr5   s   &&  r   r7   ZSubversion.get_url_rev_and_authX   s<     $g:3?)>>(##3,C""r   c                sL   < V ^8  d   QhRS[ S[,          RS[ S[,          RS[/# )r   usernamepasswordr   )r   r   r   r	   r   r   r   r   r   a   s.     	 	3-	+3J+?			r   c                sV    . pV '       d   VR V .,          pV'       d   VRV.,          pV# )z
--usernamez
--passwordr   )r8   r9   Z
extra_argss   && r   make_rev_argsZSubversion.make_rev_args`   s3     #%
<22J<22Jr   c                r#   r$   r&   r   r   r   r   r   m   s      c c r   c                s    Tp\        V4      '       gF   Tp\        P                  P                  V4      pW8X  g   K:  \        P                  R V4       \        hV P                  V4      w  rEVf   \        hV# )zMCould not find Python project for directory %s (tried all parent directories))r   r(   r*   r)   loggerZwarningr   r-   )r   r%   Zorig_locationZlast_locationr6   Z_revs   &&    r   get_remote_urlZSubversion.get_remote_urll   sq     !$X..$Mwwx0H( *!
 *)((2	;%%
r   c                sL   < V ^8  d   QhRS[ RS[S[S[ ,          S[3,          /# r$   )r   r   r   intr   r   r   r   r      s)     / / /hsmS6H0I /r   c                s   ^ RI Hp \        P                  P	                  WP
                  R4      p\        P                  P                  V4      '       d.   \        V4      ;_uu_ 4       pVP                  4       pRRR4       MRpRpXP                  R4      '       g/   VP                  R4      '       g   VP                  R4      '       d   \        \        \        P                  VP                  R4      4      4      pV^ ,          ^  V^ ,          ^,          pV Uu. uF8  p\        V4      ^	8  g   K  V^	,          '       g   K&  \!        V^	,          4      NK:  	  up^ .,           p	EMVP                  R	4      '       d   \"        P%                  V4      p
V
'       g   \'        R
V: 24      hV
P)                  ^4      p\*        P-                  V4       Uu. uF  p\!        VP)                  ^4      4      NK  	  up^ .,           p	M V P/                  RRV.RRR7      p\0        P%                  V4      p
V
f   Q hV
P)                  ^4      p\2        P-                  V4       Uu. uF  p\!        VP)                  ^4      4      NK  	  p	pV	'       d   \5        V	4      pWm3# ^ pWm3#   + '       g   i     EL(; iu upi u upi u upi   T d    R. r LJi ; i)r    )InstallationErrorr'   NZ Z8Z9Z10z

z<?xmlzBadly formatted data: infoz--xmlFTZshow_stdoutZstdout_only)Zpip._internal.exceptionsr>   r(   r*   r+   r)   r,   ZopenZreadr.   Zlistmapr   Z
splitlinessplitlenr=   _svn_xml_url_reZsearch
ValueErrorZgroup_svn_rev_reZfinditerrun_command_svn_info_xml_url_re_svn_info_xml_rev_rer/   )r   r%   r>   Zentries_pathZfZdatar6   r'   ZdZrevsZmatchZmZxmlr!   s   &&            r   r-   ZSubversion._get_svn_url_rev   sG   >ww||Hkk9E77>>,''l##qvvx $# D??34??3#7#74??4;P;P3s~~tzz*/EFGG
1!*Q-C'.Fw!#a&1*I1IC!IwF!LD__W%%#**40E #9$!BCC++a.C-8-A-A$-GH-GC
O-GHA3ND% ooWh/ % $ & 
 -33C8(((kk!n1E1N1Ns1ST1SAAGGAJ1ST d)C x CxU $## G I" U$ % "T%sI   )JJ03J0J0#J5AJ? #J:?J? J-	:J? ?
KKc                s<   < V ^8  d   QhRS[ RS[S[ ,          RS[/# )r   destnamer   )r   r   r   r   r   r   r   r      s&      c # 4 r   c                s    R# )z&Always assume the versions don't matchFr   )r   rJ   rK   s   &&&r   is_commit_id_equalZSubversion.is_commit_id_equal   s     r   c                s4   < V ^8  d   QhRS[ S[,          RR/# )r   use_interactiver   N)r   r   r   r   r   r   r      s       $ r   c                sZ   < Vf   \        4       pWn        R V n        \        SV `  4        R # N)r   rM   _vcs_versionr3   __init__)selfrM   r5   s   &&r   rP   ZSubversion.__init__   s,    "46O. 8<r   c                4   < V ^8  d   QhRS[ S[R3,          /# r   r   .r   r=   r   r   r   r   r      s      %S/ r   c                sT   RpV P                  R.RRR7      pVP                  V4      '       g   R	# V\        V4      R P                  4       ^ ,          pVP	                  R4      ^ ,          P                  R4      p \        \        \        V4      4      pV#   \         d    R	u # i ; i)
zQuery the version of the currently installed Subversion client.

:return: A tuple containing the parts of the version information or
    ``()`` if the version returned from ``svn`` could not be parsed.
:raises: BadCommand: If ``svn`` is not installed.
zsvn, version z	--versionFTr@   NZ-Z.r   )	rG   r.   rC   rB   Z	partitionZtuplerA   r=   rE   )rQ   Zversion_prefixZversionZversion_listZparsed_versions   &    r   call_vcs_versionZSubversion.call_vcs_version   s     )""K=eQU"V!!.11I#n-/0668;((-a066s;	"3sL#9:N   	I	s   <B B'&B'c                rR   rS   rT   r   r   r   r   r      s      sCx r   c                sf    V P                   e   V P                   # V P                  4       pWn         V# )a]  Return the version of the currently installed Subversion client.

If the version of the Subversion client has already been queried,
a cached value will be used.

:return: A tuple containing the parts of the version information or
    ``()`` if the version returned from ``svn`` could not be parsed.
:raises: BadCommand: If ``svn`` is not installed.
)rO   rU   )rQ   Zvcs_version   & r   get_vcs_versionZSubversion.get_vcs_version   s8     ( $$$++-'r   c                s    < V ^8  d   QhRS[ /# )r   r   )r	   r   r   r   r   r      s       r   c                sd    V P                   '       g   R.# V P                  4       pVR8  d   R.# . # )a  Return options to be used on calls to Subversion that contact the server.

These options are applicable for the following ``svn`` subcommands used
in this class.

    - checkout
    - switch
    - update

:return: A list of command line arguments to pass to ``svn``.
z--non-interactivez--force-interactive)i   i   )rM   rW   )rQ   Zsvn_versionrV   r   get_remote_call_optionsZ"Subversion.get_remote_call_options   sA     ### (((**, & )**	r   c          
      s6   < V ^8  d   QhRS[ RS[RS[RS[RR/# )r   rJ   r6   rev_options	verbosityr   N)r   r   r   r=   r   r   r   r   r     s5     # ##(#7A#NQ#	#r   c                s   VP                  4       p\        P                  R VV\        V4      4       V^ 8:  d   R.pM. p\	        R.VOV P                  4       NVP                  4       NVNVN5!  pV P                  V4       R# )zChecking out %s%s to %sz--quietr   N)Z
to_displayr;   r?   r   r
   rX   to_argsrG   )rQ   rJ   r6   rY   rZ   Zrev_displayZflagscmd_argss   &&&&&   r   	fetch_newZSubversion.fetch_new  s     ",,.%		
 >KEE

 ((*
 !	

 
 
 	"r   c                0   < V ^8  d   QhRS[ RS[RS[RR/# r   rJ   r6   rY   r   Nr   r   r   r   r   r   r   r   0  s)     # #3 #Z #j #T #r   c                s~    \        R V P                  4       VP                  4       VV4      pV P                  V4       R# )switchNr
   rX   r[   rG   rQ   rJ   r6   rY   r\      &&&& r   ra   ZSubversion.switch0  s=    ((*!
 	"r   c                r^   r_   r`   r   r   r   r   r   :  s)     # #3 #Z #j #T #r   c                s|    \        R V P                  4       VP                  4       V4      pV P                  V4       R# )updateNrb   rc   rd   r   re   ZSubversion.update:  s:    ((*!	
 	"r   )rO   rM   )zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+filerN   )__name__Z
__module__Z__qualname__Z__firstlineno__rK   r)   Z	repo_nameZschemesZclassmethodr    Zstaticmethodr"   r0   r4   r7   r:   r<   r-   rL   rP   rU   rW   rX   r]   ra   re   Z__static_attributes__Z__classdictcell__Z__classcell__)r5   r   s   @@r   r   r      s!    DGIIG     8 . . . # # # 	 	  . / /b    8 ( ># #0# ## # #r   r   ) Zloggingr(   ZreZtypingr   r   r   Zpip._internal.utils.miscr   r   r   r   r   Zpip._internal.utils.subprocessr	   r
   Z pip._internal.vcs.versioncontrolr   r   r   r   r   Z	getLoggerrf   r;   ZcompilerD   rF   rI   rH   r   Zregisterr   r   r   <module>rg      s     	 	 ( (  E  
		8	$**_-jj12zz"89 zz"45 c# c#L	 Z r   