ó
    Ð]jÆ%  ã            	      ó(  • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJr  S SKJrJr  S S	KJrJr  \(       a  S S
KJr  S SKJr  SrS*S jrSS.S+S jjrS,S jrS-S jr S.S jr!\S/S0S jj5       r"S1S-S jjr#\S   r$ \RJ                  " SSRM                  \$RN                  5       S35      r(S2S jr)Sr*S3S jr+S S S S  S! S" S# \+S$.r,              S4S% jr-S1S-S& jjr.S1S5S' jjr/\
 " S( S)5      5       r0g)6é    )ÚannotationsN)Úcontextmanager)Ú	dataclass)ÚPath)ÚTemporaryDirectory)ÚTYPE_CHECKINGÚLiteral)ÚurlsplitÚ
urlunsplit)ÚBuiltinModuleErrorÚGitError)ÚIterator)ÚModulezgriffe-worktree-c                ó®   • [         R                  " SU 5      n [        R                  " SSU 5      n [        R                  " SSU 5      R	                  S5      $ )NÚNFKCz[^\w]+Ú-z[-\s]+)ÚunicodedataÚ	normalizeÚreÚsubÚstrip)Úvalues    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/git.pyÚ
_normalizer      sD   € Ü×!Ò! &¨%Ó0€EÜ�FŠF�9˜c 5Ó)€EÜ�6Š6�)˜S %Ó(×.Ñ.¨sÓ3Ð3ó    T©Úcheckc           	     ó  • [         R                  " S/UQSS[         R                  [         R                  SS9nU (       a3  UR                  S:w  a#  [        UR                  R                  5       5      eUR                  R                  5       $ )NÚgitFTÚutf8)r   ÚtextÚstdoutÚstderrÚencodingr   )Ú
subprocessÚrunÚPIPEÚSTDOUTÚ
returncoder   r"   r   )r   ÚargsÚprocesss      r   Ú_gitr,   $   so   € Ü�nŠnØ	ˆ�ˆØØÜ�‰Ü× Ñ Øñ€Gö �×#Ñ# qÓ(Ü�w—~‘~×+Ñ+Ó-Ó.Ð.Ø�>‰>×ÑÓ!Ð!r   c                óÂ   • [         R                  " S5      (       d  [        S5      e [        S[	        U 5      SS5        g! [
         a  n[        SU  35      UeSnAff = f)z§Deprecated. Assert that a directory is a Git repository.

Parameters:
    path: Path to a directory.

Raises:
    OSError: When the directory is not a Git repository.
r   z2Could not find git executable. Please install git.ú-Cú	rev-parsez--is-inside-work-treezNot a git repository: N)ÚshutilÚwhichÚRuntimeErrorr,   Ústrr   ÚOSError)ÚpathÚerrors     r   Ú_assert_git_repor7   2   s_   € ô �<Š<˜×ÑÜÐOÓPÐPðBÜˆT”3�t“9˜kÐ+BÕCøÜó BÜÐ.¨t¨fÐ5Ó6¸EÐAûðBús   ¨A  Á 
AÁ
AÁAc                ó$  • [        U [        5      (       a  [        U 5      n U R                  5       (       d  U R                  n  [        SSS5      nUR                  SS	5      S
   $ ! [         a   n[        SU  SU=(       d    S 35      UeSnAff = f)z�Deprecated. Get latest tag of a Git repository.

Parameters:
    repo: The path to Git repository.

Returns:
    The latest tag.
Útagz-lz--sort=-creatordatezCannot list Git tags in z: zno tagsNÚ
é   r   )Ú
isinstancer3   r   Úis_dirÚparentr,   r   Úsplit)ÚrepoÚoutputr6   s      r   Ú_get_latest_tagrB   C   s‘   € ô �$œ×ÑÜ�D‹zˆØ�;‰;�=‰=Ø�{‰{ˆð[Ü�e˜TÐ#8Ó9ˆð �<‰<˜˜aÓ  Ñ#Ð#øô ó [ÜÐ1°$°°r¸%×:LÀ9Ð9MÐNÓOÐUZÐZûð[ús   ÁA% Á%
BÁ/B
Â
Bc                óÄ   • [        U [        5      (       a  [        U 5      n U R                  5       (       d  U R                  n [        [        S[        U 5      SS5      5      $ )z�Deprecated. Get the root of a Git repository.

Parameters:
    repo: The path to a Git repository.

Returns:
    The root of the repository.
r.   r/   z--show-toplevel)r<   r3   r   r=   r>   r,   )r@   s    r   Ú_get_repo_rootrD   W   sI   € ô �$œ×ÑÜ�D‹zˆØ�;‰;�=‰=Ø�{‰{ˆÜ”�Tœ3˜t›9 kÐ3DÓEÓFÐFr   c              #  óÔ  #   • [        U 5        [        U 5      R                  5       R                  n[	        U5      n[        [         U SU S3S9 n[        R                  R                  XC5      nSU 3n [        S[        U 5      SSSXeU5         [        U5      v •  [        S[        U 5      SS
USS9  [        S[        U 5      SSSS9  [        S[        U 5      SSUSS9   S	S	S	5        g	! [         a  n[        SU 35      UeS	nAff = f! [        S[        U 5      SS
USS9  [        S[        U 5      SSSS9  [        S[        U 5      SSUSS9  f = f! , (       d  f       g	= f7f)aÞ  Deprecated. Context manager that checks out the given reference in the given repository to a temporary worktree.

Parameters:
    repo: Path to the repository (i.e. the directory *containing* the `.git` directory)
    ref: A Git reference such as a commit, tag or branch.

Yields:
    The path to the temporary worktree.

Raises:
    OSError: If `repo` is not a valid `.git` repository
    RuntimeError: If the `git` executable is unavailable, or if it cannot create a worktree
r   )Úprefixzgriffe-r.   ÚworktreeÚaddz-bzCould not create git worktree: NÚremoveFr   ÚpruneÚbranchz-D)r7   r   ÚresolveÚnamer   r   Ú_WORKTREE_PREFIXÚosr5   Újoinr,   r3   r   r2   )r@   ÚrefÚ	repo_nameÚnormrefÚtmp_dirÚlocationÚ
tmp_branchr6   s           r   Ú_tmp_worktreerW   g   sY  é € ô �TÔÜ�T“
×"Ñ"Ó$×)Ñ)€IÜ˜‹o€GÜ	Ô&6Ð%7¸	°{À!ÀGÀ9ÈAÐ#NÒ	OÐSZÜ—7‘7—<‘< Ó1ˆØ˜w˜iÐ(ˆ
ð	UÜ�”s˜4“y *¨e°T¸:ÐQTÔUð	KÜ�x“.Ò ä�”s˜4“y *¨h¸ÈÒNÜ�”s˜4“y *¨g¸UÒCÜ�”s˜4“y (¨D°*ÀEÓJ÷ 
PÐ	Oøô
 ó 	UÜÐ!@ÀÀÐHÓIÈuÐTûð	Uûô �”s˜4“y *¨h¸ÈÒNÜ�”s˜4“y *¨g¸UÒCÜ�”s˜4“y (¨D°*ÀEÓJú÷ 
PÕ	OüsV   ‚AE(Á%EÁ7C-ÂDÂAEÃ$	E(Ã-
DÃ7DÄDÄEÄAEÅEÅ
E%Å!E(c           	     óè  • [         R                  " S5      =n(       a  U$ S[         R                  " SS5      -   S-   n[        S[        U 5      SSS	S
U5      nUR	                  S5      (       a$  UR                  SSS5      R                  SSS5      nUR                  S5      nUR	                  S5      (       a:  [        [        U5      5      nUS   R                  SS5      S   US'   [        U5      nU$ )NÚGRIFFE_GIT_REMOTE_URLzremote.ÚGRIFFE_GIT_REMOTEÚoriginz.urlr.   Úconfigz	--defaultÚ z--getzgit@Ú:Ú/r;   úhttps://z.git)zhttp://r`   Ú@éÿÿÿÿ)rO   Úgetenvr,   r3   Ú
startswithÚreplaceÚremovesuffixÚlistr
   r?   r   )r@   Úgit_urlÚremoteÚurlpartss       r   Ú_get_git_remote_urlrk   ‰   sä   € Ü—)’)Ð3Ó4Ð4€wÕ4ØˆàœŸšÐ#6¸ÓAÑAÀFÑJ€FÜ�4œ˜T› H¨k¸2¸wÈÓO€GØ×Ñ˜&×!Ñ!Ø—/‘/ # s¨AÓ.×6Ñ6°v¸zÈ1ÓMˆØ×"Ñ" 6Ó*€Gð ×ÑÐ1×2Ñ2äœ Ó)Ó*ˆØ˜q‘k×'Ñ'¨¨QÓ/°Ñ3ˆ�‰Ü˜XÓ&ˆà€Nr   )ÚgithubÚgitlabÚ	sourcehutÚgiteaÚgogsÚforgejoÚcodebergÚradicleÚ(Ú|Ú)c                óì   • [         R                  " S5      =n(       a  U[        R                  ;  a  g U$ [        R                  [        U 5      R                  5      =n(       a  UR                  S5      $ g )NÚGRIFFE_GIT_SERVICEr;   )	rO   rc   ÚKnownGitServiceÚ__args__Ú_service_reÚsearchr
   ÚnetlocÚgroup)Úgit_remote_urlÚserviceÚmatchs      r   Ú_get_git_known_servicer‚   £   s_   € Ü—)’)Ð0Ó1Ð1€wÕ1Øœ/×2Ñ2Ó2ØØˆÜ×"Ñ"¤8¨NÓ#;×#BÑ#BÓCÐC€uÕCØ�{‰{˜1‹~ÐØr   z,https://app.radicle.at/nodes/seed.radicle.atc                ó‚   • U R                  S5      (       a  [         SU R                  SS5       3OU nU SU SU SU 3$ )Nzrad://r_   z//r]   ú/tree/ú#L)rd   Ú_RADICLE_URLre   )Ú
url_or_ridÚcommit_hashÚfilepathÚlinenoÚ	endlinenoÚurls         r   Ú_get_radicle_urlr�   ¸   sQ   € à>H×>SÑ>SÐT\×>]Ñ>]Œ\ˆN˜!˜J×.Ñ.¨t°RÓ8Ð9Ñ
:Ðcm€CØˆU�&˜˜ Q x j°°6°(Ð;Ð;r   c           	     ó"   • U  SU SU SU SU 3	$ ©Nz/blob/r_   r…   ú-L© ©rŒ   ÚchÚfpÚlnÚelns        r   Ú<lambda>r—   ¿   s!   € ¨c¨U°&¸¸¸A¸b¸TÀÀBÀ4ÀrÈ#ÈÑ+Or   c           	     ó"   • U  SU SU SU SU 3	$ )Nz/-/blob/r_   r…   r�   r‘   r’   s        r   r—   r—   À   s!   € ¨c¨U°(¸2¸$¸aÀ¸tÀ2ÀbÀTÈÈCÈ5Ñ+Qr   c                ó   • U  SU SU SU 3$ )Nr„   r_   r…   r‘   r’   s        r   r—   r—   Â   s   € °°°V¸B¸4¸qÀÀÀBÀrÀdÑ.Kr   c           	     ó"   • U  SU SU SU SU 3	$ r�   r‘   r’   s        r   r—   r—   Ä   s!   € ¨C¨5°°r°d¸!¸B¸4¸rÀ"ÀÀRÈÀuÑ)Mr   c           	     ó"   • U  SU SU SU SU 3	$ ©Nz/src/commit/r_   r…   r�   r‘   r’   s        r   r—   r—   Å   s!   € ¨S¨E°¸b¸TÀÀ2À$ÀbÈÈÈBÈsÈeÑ*Tr   c           	     ó"   • U  SU SU SU SU 3	$ rœ   r‘   r’   s        r   r—   r—   Æ   s#   € °¨u°LÀÀÀAÀbÀTÈÈBÈ4ÈrÐRUÐQVÑ-Wr   c           	     ó"   • U  SU SU SU SU 3	$ rœ   r‘   r’   s        r   r—   r—   Ç   s#   € ¨s¨e°<À¸tÀ1ÀRÀDÈÈ2È$ÈbÐQTÐPUÑ,Vr   )rl   rm   rn   rp   ro   rr   rq   rs   c                ón   • [        U[        5      (       a  UR                  5       n[        U    " XX4U5      $ )N)r<   r   Úas_posixÚ_service_to_url)r€   Ú
remote_urlrˆ   r‰   rŠ   r‹   s         r   Ú_get_source_linkr£   Ì   s3   € ô �(œD×!Ñ!Ø×$Ñ$Ó&ˆÜ˜7Ò# J¸XÈyÓYÐYr   c                ón   • [         R                  " S5      =n(       a  U$ [        S[        U 5      SS5      $ )NÚGRIFFE_GIT_COMMIT_HASHr.   r/   ÚHEAD)rO   rc   r,   r3   )r@   rˆ   s     r   Ú_get_git_commit_hashr§   Ù   s2   € Ü—i’iÐ 8Ó9Ð9€{Õ9ØÐÜ�”c˜$“i ¨fÓ5Ð5r   c                óJ   • [        S[        U5      S[        U 5      SS9(       + $ )Nr.   zcheck-ignoreFr   )r,   r3   )r‰   r@   s     r   Ú_is_trackedr©   ß   s    € Ü�Dœ#˜d›) ^´S¸³]È%ÑPÔPÐPr   c                  óh   • \ rS rSr% SrS\S'    S\S'    S\S'    S\S	'    \SS
 j5       rSS jrSr	g)ÚGitInfoéã   z#Information about a Git repository.r   Ú
repositoryry   r€   r3   r¢   rˆ   c                óˆ  •  [        UR                  [        5      (       a  UR                  S   OUR                  n [	        U5      n[        UR                  U5      U5      (       d  g[        U5      n[        U5      =n(       d  g[        U5      nU " X5XFS9$ ! [         a     gf = f! [        [        [        4 a     gf = f)ziCreate a GitInfo instance from a Griffe package.

Returns:
    The GitInfo instance, or None if unknown.
r   N)r­   r€   r¢   rˆ   )r<   r‰   rg   r   rD   r©   Úrelative_tork   r‚   r§   r   Ú
ValueErrorr4   )ÚclsÚpackager5   r@   r¢   r€   rˆ   s          r   Úfrom_packageÚGitInfo.from_packageð   sÂ   € ð	Ü*4°W×5EÑ5EÄt×*LÑ*L�7×#Ñ# AÒ&ÐRY×RbÑRbˆDð	Ü! $Ó'ˆDÜ˜t×/Ñ/°Ó5°t×<Ñ<ØÜ,¨TÓ2ˆJÜ5°jÓAÐA�GÕAØÜ.¨tÓ4ˆKñ
 ˜dÀ
ÑdÐdøô "ó 	Ùð	ûô œ*¤gÐ.ó 	ñ ð	ús.   ‚:B ½+B) Á)B) ÂB) Â
B&Â%B&Â)CÃ Cc                ó\   • [        U R                  U R                  U R                  XU5      $ )zoGet the source link for the file at the given line numbers.

Returns:
    The source link, or None if unknown.
)r£   r€   r¢   rˆ   )Úselfr‰   rŠ   r‹   s       r   Úget_source_linkÚGitInfo.get_source_link	  s'   € ô   §¡¨d¯o©o¸t×?OÑ?OÐQYÐclÓmÐmr   r‘   N)r²   r   ÚreturnzGitInfo | None)r‰   ú
str | PathrŠ   Úintr‹   r»   r¹   ú
str | None)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Úclassmethodr³   r·   Ú__static_attributes__r‘   r   r   r«   r«   ã   sB   ‡ á-àÓØ)ØÓØAØƒOØ/ØÓØ>àóeó ðe÷0nr   r«   )r   r3   r¹   r3   )r*   r3   r   Úboolr¹   r3   )r5   rº   r¹   ÚNone)r@   rº   r¹   r3   )r@   rº   r¹   r   )Ú.r¦   )r@   rº   rQ   r3   r¹   zIterator[Path])rÇ   )r   r3   r¹   zKnownGitService | None)r‡   r3   rˆ   r3   r‰   r3   rŠ   r»   r‹   r»   r¹   r3   )r€   ry   r¢   r3   rˆ   r3   r‰   rº   rŠ   r»   r‹   r»   r¹   r¼   )r‰   rº   r@   rº   r¹   rÅ   )1Ú
__future__r   rO   r   r0   r%   r   Ú
contextlibr   Údataclassesr   Úpathlibr   Útempfiler   Útypingr   r	   Úurllib.parser
   r   Úgriffe._internal.exceptionsr   r   Úcollections.abcr   Úgriffe._internal.modelsr   rN   r   r,   r7   rB   rD   rW   rk   ry   ÚcompilerP   rz   r{   r‚   r†   r�   r¡   r£   r§   r©   r«   r‘   r   r   Ú<module>rÓ      s[  ðõ
 #ã 	Û 	Û Û Û Ý %Ý !Ý Ý 'ß )ß -ç DæÝ(å.ð &Ð ô4ð $(÷ "ôBô"$ô(Gð  õKó ðKöBð( ÐlÑm€Ø !à�jŠj˜A˜cŸh™h ×'?Ñ'?Ó@ÐAÀÐCÓD€ôð$ >€ô<ñ PÙQáKáMÙTÙWÙVØñ€ð
ZØð
Zàð
Zð ð
Zð ð	
Zð
 ð
Zð ð
Zð ô
Zö6öQð ÷+nð +nó ñ+nr   