+
    Îi.                    `   ^ RI Ht ^ RIt^ RIt^ RI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]P.                  ! R4      t]P.                  ! R4      t]P.                  ! R4      t]P.                  ! R	4      t ! R
 R]4      t]P:                  ! ]4       R# )    )annotationsN)
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                  d  a  ] tR t^tRtRtRtR%t]R R l4       t	]
R R l4       t]R R	 l4       t]R
 V 3R ll4       t]R V 3R ll4       t]
R R l4       t]R R l4       t]R R l4       t]R R l4       tR&R V 3R llltR R ltR R ltR R ltR R ltR'R  R! lltR'R" R# lltR$tV ;t# )(
Subversionsvnz.svncheckoutc                    V ^8  d   QhRRRR/# )   
remote_urlstrreturnbool )formats   "k/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/subversion.py__annotate__Subversion.__annotate__&   s      3 4     c                	    R # )Tr   )clsr   s   &&r   should_add_vcs_url_prefix$Subversion.should_add_vcs_url_prefix%   s    r   c                    V ^8  d   QhRRRR/# )r   revr   r   z	list[str]r   )r   s   "r   r   r   *   s      s y r   c                	
    R V .# )z-rr   )r%   s   &r   get_base_rev_argsSubversion.get_base_rev_args)   s    c{r   c                    V ^8  d   QhRRRR/# r   locationr   r   r   )r   s   "r   r   r   .   s      C C r   c                   ^ 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entries/)oswalkdirnameremovepathjoinexists_get_svn_url_rev
startswithmaxr   )	r!   r+   revisionbasedirs_
entries_fndirurllocalrevs	   &&       r   get_revisionSubversion.get_revision-   s     WWX.MD{{$&QKK$dKKCJ77>>*--"33D9F)))|6#4#4T#:#:Q8.H% /& 8}r   c               $    V ^8  d   QhRRRRRR/# )r   netlocr   schemer   z)tuple[str, tuple[str | None, str | None]]r   )r   s   "r   r   r   K   s$     . .."%.	2.r   c                F   < 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.
ssh)superget_netloc_and_authr   )r!   rC   rD   	__class__s   &&&r   rH   Subversion.get_netloc_and_authJ   s)     U? 7.v>>%f--r   c                    V ^8  d   QhRRRR/# )r   urlr   r   z tuple[str, str | None, AuthInfo]r   )r   s   "r   r   r   Z   s     # #s #/O #r   c                	p   < \         SV `  V4      w  rpVP                  R 4      '       d
   RV,           pWV3# )zssh://zsvn+)rG   get_url_rev_and_authr7   )r!   rL   r%   	user_passrI   s   &&  r   rN   Subversion.get_url_rev_and_authY   s<     $g:3?)>>(##3,C""r   c               $    V ^8  d   QhRRRRRR/# )r   username
str | NonepasswordzHiddenText | Noner   r	   r   )r   s   "r   r   r   b   s"      
 6G K r   c                	V    . pV '       d   VR V .,          pV'       d   VRV.,          pV# )z
--usernamez
--passwordr   )rR   rT   
extra_argss   && r   make_rev_argsSubversion.make_rev_argsa   s1    "$
<22J<22Jr   c                    V ^8  d   QhRRRR/# r*   r   )r   s   "r   r   r   l   s      c c r   c                	    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/   r3   r1   loggerwarningr   r6   )r!   r+   orig_locationlast_locationrL   _revs   &&    r   get_remote_urlSubversion.get_remote_urlk   sq     !$X..$Mwwx0H( *!
 *)((2	;%%
r   c                    V ^8  d   QhRRRR/# )r   r+   r   r   ztuple[str | None, int]r   )r   s   "r   r   r      s     / / /0F /r   c                	B   ^ 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      '       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-   N z

z<?xmlzBadly formatted data: infoz--xmlFTshow_stdoutstdout_only)8910)pip._internal.exceptionsrd   r/   r3   r4   r1   r5   openreadr7   listmapr   
splitlinessplitlenint_svn_xml_url_research
ValueErrorgroup_svn_rev_refinditerrun_command_svn_info_xml_url_re_svn_info_xml_rev_rer8   )r!   r+   rd   entries_pathfdatarL   r-   drevsmatchmxmlr%   s   &&            r   r6   Subversion._get_svn_url_rev   s,   >ww||Hkk9E77>>,''l##qvvx $# D??+,,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   )I..JJJ$#JAJ .#JJ .I?	J 
JJc               $    V ^8  d   QhRRRRRR/# )r   destr   namerS   r   r   r   )r   s   "r   r   r      s!      c   r   c                    R# )z&Always assume the versions don't matchFr   )r!   r   r   s   &&&r   is_commit_id_equalSubversion.is_commit_id_equal   s     r   c                    V ^8  d   QhRRRR/# )r   use_interactivezbool | Noner   Noner   )r   s   "r   r   r      s       t r   c                	Z   < Vf   \        4       pWn        R V n        \        SV `  4        R # N)r   r   _vcs_versionrG   __init__)selfr   rI   s   &&r   r   Subversion.__init__   s,    "46O. 59r   c                   V ^8  d   QhRR/# r   r   ztuple[int, ...]r   )r   s   "r   r   r      s      / r   c                T   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	--versionFTrg   N-.r   )	r|   r7   rt   rs   	partitiontuplerq   ru   rx   )r   version_prefixversionversion_listparsed_versions   &    r   call_vcs_version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                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s       r   c                f    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.
)r   r   )r   vcs_versions   & r   get_vcs_versionSubversion.get_vcs_version   s8     ( $$$++-'r   c                   V ^8  d   QhRR/# )r   r   r	   r   )r   s   "r   r   r      s       r   c                d    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)      )r   r   )r   svn_versions   & r   get_remote_call_options"Subversion.get_remote_call_options   sA     ### (((**, & )**	r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   r   rL   r   rev_optionsr   	verbosityru   r   r   r   )r   s   "r   r   r     s4     # ##(#7A#NQ#	#r   c                	   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)
to_displayr[   rf   r   r
   r   to_argsr|   )r   r   rL   r   r   rev_displayflagscmd_argss   &&&&&   r   	fetch_newSubversion.fetch_new  s     ",,.%		
 >KEE

 ((*
 !	

 
 
 	"r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   )r   s   "r   r   r   /  s<     # ## #  	#
 # 
#r   c                	~    \        R V P                  4       VP                  4       VV4      pV P                  V4       R# )switchNr
   r   r   r|   r   r   rL   r   r   r   s   &&&&& r   r   Subversion.switch/  s?      ((*!
 	"r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   )r   s   "r   r   r   ?  s<     # ## #  	#
 # 
#r   c                	|    \        R V P                  4       VP                  4       V4      pV P                  V4       R# )updateNr   r   s   &&&&& r   r   Subversion.update?  s<      ((*!	
 	"r   )r   r   )zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+filer   )r   )__name__
__module____qualname____firstlineno__r   r1   	repo_nameschemesclassmethodr"   staticmethodr'   r@   rH   rN   rW   r`   r6   r   r   r   r   r   r   r   r   __static_attributes____classcell__)rI   s   @r   r   r      s    DGIIG     8 . . # #    . / /b   8(>#0# # #r   r   )
__future__r   loggingr/   repip._internal.utils.miscr   r   r   r   r   pip._internal.utils.subprocessr	   r
    pip._internal.vcs.versioncontrolr   r   r   r   r   	getLoggerr   r[   compilerv   rz   r~   r}   r   registerr   r   r   <module>r      s    "  	 	  E  
		8	$**_-jj12zz"89 zz"45 m# m#`	 Z r   