ó
    Ñ]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J	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  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  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  S SK J!r!  S SK J"r"   " S S\5      r# " S S\$5      r%      SS jr&          SS jr'\RP                  " S5      r) S        S!S jjr*S"S jr+  S#           S$S jjr,g)%é    )ÚannotationsN)ÚSequence)ÚAny)Ú
NamedTuple)Úgit)Úoutput)Úxargs)ÚInvalidManifestError)Úload_config)Úload_manifest)ÚLOCAL)ÚMETA)Úmigrate_config)ÚCalledProcessError)Ú
cmd_output)Úcmd_output_b)Ú	yaml_dump)Ú	yaml_loadc                  ón   • \ rS rSr% S\S'   S\S'   SrS\S'   \" 5       rS\S	'   \SS
 j5       r	SS jr
Srg)ÚRevInfoé   ÚstrÚrepoÚrevNz
str | NoneÚfrozenzfrozenset[str]Úhook_idsc                ó    • U " US   US   5      $ )Nr   r   © )ÚclsÚconfigs     Ú[/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/commands/autoupdate.pyÚfrom_configÚRevInfo.from_config"   s   € á�6˜&‘> 6¨%¡=Ó1Ð1ó    c                ó<  • [         R                  " 5        nS/[        R                  QSPUP7nU(       a  SnOSn/ UQSPSPSPUP7n[        R                  " X0R
                  5        [        / UQSPS	PS
P76   [        / UQSPSPSPSPSPSP76    [        U6 S   R                  5       nU(       a  [        R                  " Xs5      nS nU(       a'  [        / UQSPUP76 S   R                  5       n	X—:w  a  X—p‡ [        / UQSPU S[        R                   3P76   [        / UQSPUPSP[        R                  P76    [        [        R                  R!                  U[        R                  5      5      n
[#        S U
 5       5      n S S S 5        U R)                  WWWS9$ ! [         a$    [        / UQSPSP76 S   R                  5       n GNf = f! [         a     N¡f = f! [$         a   n['        SU R
                   SU 35      eS nAff = f! , (       d  f       N�= f)Nr   z-Cz
--abbrev=0z--exactÚdescribeÚ
FETCH_HEADz--tagsr    zextensions.partialCloneÚtrueÚfetchÚoriginÚHEADz--quietz--filter=blob:noneé   z	rev-parseÚshowÚ:Úcheckoutz--c              3  ó*   #   • U  H	  oS    v •  M     g7f)ÚidNr   )Ú.0Úhooks     r!   Ú	<genexpr>Ú!RevInfo.update.<locals>.<genexpr>P   s   é € Ð$EºH°D¨$¦ZºHùs   ‚Ú[ú] )r   r   r   )ÚtempfileÚTemporaryDirectoryr   ÚNO_FS_MONITORÚ	init_repor   r   r   ÚstripÚget_best_candidate_tagr   ÚCÚMANIFEST_FILEr   ÚosÚpathÚjoinÚ	frozensetr
   ÚRepositoryCannotBeUpdatedErrorÚ_replace)ÚselfÚ	tags_onlyÚfreezeÚtmpÚ_gitÚtag_optÚtag_cmdr   r   ÚexactÚmanifestr   Úes                r!   ÚupdateÚRevInfo.update&   sP  € Ü×(Ò(Ô*¨cØÐ9œC×-Ñ-Ð9¨tÐ9°SÑ9ˆDæØ&‘à#�ØJ˜ÐJ˜jÐJ¨,ÐJ¸ÐJÀ'ÑJˆGä�MŠM˜#Ÿy™yÔ)ÜÐL˜$ÐL ÐLÐ*CÐLÀVÓLÜð ØðØðØ (ðØ*0ðàðà/ðà19óð
?Ü  'Ð*¨1Ñ-×3Ñ3Ó5�ö Ü×4Ò4°SÓ>�CàˆFÞÜ"Ð; DÐ;¨+Ð;°sÒ;¸AÑ>×DÑDÓF�Ø“<Ø"'˜ðäÐG˜dÐG FÐG¨s¨e°1´Q·_±_Ð4EÐ,FÓGÜÐI˜DÐI *ÐI¨cÐI°4ÐI¼¿¹ÓIðFÜ(¬¯©¯©°c¼1¿?¹?Ó)KÓL�ô %Ñ$E¹HÓ$EÓE‘÷S +ðV �}‰} ¨V¸hˆ}ÐGÐGøô3 &ó NÜ ÐB $ÐB¨ÐB°\ÒBÀ1ÑE×KÑKÓM“ðNûô  &ó Ùðûô (ó KÜ4°q¸¿¹¸À2ÀaÀSÐ5IÓJÐJûðKú÷M +Õ*úst   –A:HÂFÂ*AHÃ8AGÄ<7G Å3HÆ*GÇ	HÇGÇHÇ
GÇHÇGÇHÇ 
H
Ç*HÈH
È
HÈ
Hr   )r    údict[str, Any]Úreturnr   )rG   ÚboolrH   rT   rS   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   rC   r   Úclassmethodr"   rP   Ú__static_attributes__r   r$   r!   r   r      s:   ‡ Ø
ƒIØ	ƒHØ€FˆJÓÙ(›{€HˆnÓ*àó2ó ð2÷,Hr$   r   c                  ó   • \ rS rSrSrg)rD   éU   r   N)rU   rV   rW   rX   r[   r   r$   r!   rD   rD   U   s   † Úr$   rD   c           
     óÌ   • U S    Vs1 s H  o"S   iM	     nnX1R                   -
  nU(       a3  [        SUR                   SSR                  [	        U5      5       35      eg s  snf )NÚhooksr1   r6   zB] Cannot update because the update target is missing these hooks: z, )r   rD   r   rB   Úsorted)Úrepo_configÚinfor3   r_   Úhooks_missings        r!   Ú_check_hooks_still_exist_at_revrd   Y   sq   € ð
 %0°Ò$8Ó9Ò$8˜D�$ŒZÑ$8€EÐ9ØŸM™MÑ)€MÞÜ,Ø�—	‘	ˆ{ð $Ø$(§I¡I¬f°]Ó.CÓ$DÐ#EðGó
ð 	
ð ùò :s   ˆA!c               óh   • [         R                  U5      nUR                  X#S9n[        X5        XU4$ )N©rG   rH   )r   r"   rP   rd   )Úir   rG   rH   ÚoldÚnews         r!   Ú_update_onerj   g   s6   € ô ×
Ñ
˜dÓ
#€CØ
�*‰*˜yˆ*Ð
8€CÜ# DÔ.Ø�3ˆ;Ðr$   z,^(\s+)rev:(\s*)([\'"]?)([^\s#]+)(.*)(\r?\n)$c                ó  • [        U SS9 nUR                  5       nSSS5        WR                  S5      n[        U5       VVs/ s H#  u  pg[        R                  U5      (       d  M!  UPM%     nnn[        U5      [        U5      :X  a  XX4$ U(       a  [        S5      e[        U S5       nUR                  [        [        U5      5      5        SSS5        [        XSS9$ ! , (       d  f       NÉ= fs  snnf ! , (       d  f       N/= f)z(detect `rev:` lines or reformat the fileÚ ©ÚnewlineNTzcould not find rev linesÚw)Úretry)ÚopenÚreadÚ
splitlinesÚ	enumerateÚREV_LINE_REÚmatchÚlenÚAssertionErrorÚwriter   r   Ú_original_lines)	rA   Ú	rev_infosrp   ÚfÚoriginalÚlinesrg   ÚlineÚidxss	            r!   rz   rz   w   sÌ   € ô 
ˆd˜BÒ	 1Ø—6‘6“8ˆ÷ 
 ð ×Ñ Ó%€EÜ& uÔ-ÔIÒ-‘'�!´×1BÑ1BÀ4×1H�AÑ-€DÑIÜ
ˆ4ƒy”C˜	“NÓ"Øˆ{ÐÞ	ÜÐ7Ó8Ð8ä�$˜Œ_ Ø�G‰G”Iœi¨Ó1Ó2Ô3÷ ä˜t°dÑ;Ð;÷ 
 Õ	üó J÷ �_ús#   ‹CÁ C0Á'C0Â)$C6Ã
C-Ã6
Dc                óR  • [        X5      u  p#[        X15       HÆ  u  pEUc  M
  [        R                  X$   5      nUc   e[	        SUR
                  0US   S9nUR                  SS5      S   R                  5       nUR                  b  SUR                   3n	O/US   R                  5       R                  S5      (       a  S	n	OUS   n	US    S
US    U U	 US    3X$'   MÈ     [        U SS	S9 n
U
R                  S	R                  U5      5        S S S 5        g ! , (       d  f       g = f)Nr   é   )Údefault_styler.   r,   z  # frozen: é   z	# frozen:rl   zrev:é   é   ro   rm   )rz   Úzipru   rv   r   r   Úsplitr<   r   Ú
startswithrq   ry   rB   )rA   r{   r~   r€   ÚidxÚrev_inforv   Ú	new_rev_sÚnew_revÚcommentr|   s              r!   Ú_write_new_configr�   Œ   s  € Ü! $Ó2�K€Eä˜TÖ-‰ˆØÑÙÜ×!Ñ! %¡*Ó-ˆØÑ Ð Ð Ü˜u h§l¡lÐ3À5ÈÁ8ÑLˆ	Ø—/‘/ # qÓ)¨!Ñ,×2Ñ2Ó4ˆØ�?‰?Ñ&Ø$ X§_¡_Ð$5Ð6‰GØ�1‰X�^‰^Ó×(Ñ(¨×5Ñ5Ø‰Gà˜A‘hˆGØ˜a™�z  e¨A¡h Z°¨y¸¸	À%ÈÁ(ÀÐLˆ‹
ñ .ô 
ˆd�C Ò	$¨Ø	�‰�—‘˜“Ô÷ 
%×	$Ö	$ús   Ã.!DÄ
D&c                ór  • [        U SS9  SnSn[        U 5      S    Vs/ s H  nUS   [        [        1;  d  M  UPM     nnS/[	        U5      -  n	U=(       d    [
        R                  " 5       n[        U[	        U5      =(       d    [	        U5      5      n[        US5      n[        R                  R                  U5       n
[        U5       VVs/ s H,  u  p·U(       a  US   U;   d  M  U
R                  [        X·XS	9PM.     nnn[        R                  R                  U5       HŸ  n UR!                  5       u  p¾nUR"                  UR"                  :w  aF  SnUR$                  (       a  UR$                   S
3nOUR"                  nSUR"                   SU 3nXùU'   OSn[&        R(                  " SUR*                   SU 35        M¡     SSS5        U(       a  [1        X	5        U$ s  snf s  snnf ! [,         a,  n[&        R(                  " [/        U5      5        Sn SnAMû  SnAff = f! , (       d  f       Nf= f)zBAuto-update the pre-commit config to the latest versions of repos.T)ÚquietFr   Úreposr   Nr,   rf   z	 (frozen)z	updating z -> zalready up to date!r6   r7   )r   r   r   r   rw   r	   Ú	cpu_countÚminÚmaxÚ
concurrentÚfuturesÚThreadPoolExecutorrt   Úsubmitrj   Úas_completedÚresultr   r   r   Ú
write_liner   rD   r   r�   )Úconfig_filerG   rH   r’   ÚjobsÚchangedÚretvr   Úconfig_reposr{   Úexerg   r—   Úfuturerh   ri   Únew_sÚmsgrO   s                      r!   Ú
autoupdater¦   ¢   s  € ô �; dÒ+Ø€GØ€Dô % [Ó1°'Ò:óÚ:�Ø�‰<¤¤t˜}Ñ,÷ 	Ñ:ð ð ð
 (, f¬s°<Ó/@Ñ&@€IØ×$”5—?’?Ó$€DÜˆt”S˜“Z×4¤3 |Ó#4Ó5€DÜˆt�Q‹<€DÜ	×	Ñ	×	.Ñ	.¨tÔ	4¸ô % \Ô2ô
ò
 3‘�Þ˜D ™L¨EÑ1óˆC�J‰JÜØ 9ð ó ñ 3ð 	ñ 
ô !×(Ñ(×5Ñ5°gÖ>ˆFð9Ø$Ÿm™m›o‘�˜ð
 —7‘7˜cŸg™gÓ%Ø"�GØ—z—zØ#&§:¡: ,¨iÐ 8™à #§¡˜Ø% c§g¡g Y¨d°5°'Ð:�CØ#&˜a’Là/�Cä×!Ò! A c§h¡h Z¨r°#°Ð"7Ö8ñ% ?÷ 
5ö: Ü˜+Ô1à€KùòSùó
øô 2ó Ü×!Ò!¤# a£&Ô)Ø–ûðú÷ 
5Õ	4úsY   ŸG$ºG$ÃH(ÃG)Ã*G)Ä%H(Ä)G/Ä<BH(Ç)H(Ç/
H%Ç9!H ÈH(È H%È%H(È(
H6)ra   rR   rb   r   rS   ÚNone)
rg   Úintr   rR   rG   rT   rH   rT   rS   ztuple[int, RevInfo, RevInfo])F)rA   r   r{   úlist[RevInfo | None]rp   rT   rS   ztuple[list[str], list[int]])rA   r   r{   r©   rS   r§   )r   r,   )r�   r   rG   rT   rH   rT   r’   zSequence[str]rž   r¨   rS   r¨   )-Ú
__future__r   Úconcurrent.futuresr–   Úos.pathr@   Úrer8   Úcollections.abcr   Útypingr   r   Úpre_commit.constantsÚ	constantsr>   Ú
pre_commitr   r   r	   Úpre_commit.clientlibr
   r   r   r   r   Ú"pre_commit.commands.migrate_configr   Úpre_commit.utilr   r   r   Úpre_commit.yamlr   r   r   ÚRuntimeErrorrD   rd   rj   Úcompileru   rz   r�   r¦   r   r$   r!   Ú<module>r¹      s@  ðÝ "ã Û Û 	Û Ý $Ý Ý å  Ý Ý Ý Ý 5Ý ,Ý .Ý &Ý %Ý =Ý .Ý &Ý (Ý %Ý %ô6Hˆjô 6Hôr	 \ô 	ð
Ø#ð
àð
ð 
ô
ð
Øð
àð
ð ð	
ð
 ð
ð "ô
ð �jŠjÐHÓI€ð ð<Øð<à'ð<ð ð<ð !õ	<ô* ð4  "Øð5Øð5àð5ð ð5ð ð	5ð
 ð5ð 	ö5r$   