ó
    Ñ]j¸  ã                  óœ  • S SK J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  \R:                  " S5      rSS jrSS jr SS jr!SS jr"SS jr#S S jr$      S!S jr%        S"S jr&        S"S jr'        S"S jr(S#S jr)S$S jr*g)%é    )ÚannotationsN)ÚSequence)ÚAny)Ú	languages)Úload_manifest)ÚLOCAL)ÚMETA)ÚHook)Úenvironment_dir)ÚPrefix)ÚStore)Úclean_path_on_failure)ÚrmtreeÚ
pre_commitc                óB   • [         R                  R                  U S5      $ )Nz.install_state_v1©ÚosÚpathÚjoin©Úvenvs    ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/repository.pyÚ_state_filename_v1r      ó   € Ü�7‰7�<‰<˜Ð1Ó2Ð2ó    c                óB   • [         R                  R                  U S5      $ )Nz.install_state_v2r   r   s    r   Ú_state_filename_v2r      r   r   c                ó
   • SU 0$ )NÚadditional_dependencies© )Úadditional_depss    r   Ú_stater"   !   s   € Ø% Ð7Ð7r   c                óÚ   • [        U 5      n[        R                  R                  U5      (       d  g [	        U5       n[
        R                  " U5      sS S S 5        $ ! , (       d  f       g = f©N)r   r   r   ÚexistsÚopenÚjsonÚload)r   ÚfilenameÚfs      r   Ú_read_stater+   %   s@   € Ü! $Ó'€HÜ�7‰7�>‰>˜(×#Ñ#Øä�(Œ^˜qÜ—9’9˜Q“<÷ �^�^ús   ¼AÁ
A*c                óž  • [         U R                     nUR                  c  g[        U R                  UR                  U R
                  5      n[        R                  R                  [        U5      5      =(       d!    [        U5      [        U R                  5      :H  =(       a+    UR                  U R                  U R
                  5      (       + $ )NT)r   ÚlanguageÚENVIRONMENT_DIRr   ÚprefixÚlanguage_versionr   r   r%   r   r+   r"   r   Úhealth_check)ÚhookÚlangr   s      r   Ú_hook_installedr4   .   s¢   € Ü�T—]‘]Ñ#€DØ×ÑÑ#ØäØ�‰Ø×ÑØ×Ñó€Dô �G‰G�N‰NÔ-¨dÓ3Ó4÷ FÜ˜Ó¤¨×(DÑ(DÓ!EÑE÷	Bð ×Ñ˜dŸk™k¨4×+@Ñ+@ÓAÔAðr   c           	     ó   • [         R                  SU R                   S35        [         R                  S5        [         R                  S5        [        U R                     nUR
                  c   e[        U R                  UR
                  U R                  5      n[        R                  R                  U5      (       a  [        U5        [        U5         UR                  U R                  U R                  U R                  5        UR!                  U R                  U R                  5      nU(       a  [#        SU R                   SU 35      e[%        U5      nU S3n['        US5       nUR)                  [*        R,                  " [/        U R                  5      5      5        S S S 5        [        R0                  " XT5        ['        [3        U5      S	5      R5                  5         S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)
NzInstalling environment for Ú.z/Once installed this environment will be reused.zThis may take a few minutes...zBUG: expected environment for zh to be healthy immediately after install, please open an issue describing your environment

more info:

ÚstagingÚwza+)ÚloggerÚinfoÚsrcr   r-   r.   r   r/   r0   r   r   r%   r   r   Úinstall_environmentr   r1   ÚAssertionErrorr   r&   Úwriter'   Údumpsr"   Úreplacer   Úclose)r2   r3   r   Úhealth_errorÚstate_filenamer7   Ú
state_files          r   Ú_hook_installrE   A   sš  € Ü
‡K�KÐ-¨d¯h©h¨Z°qÐ9Ô:Ü
‡K�KÐAÔBÜ
‡K�KÐ0Ô1ä�T—]‘]Ñ#€DØ×ÑÑ+Ð+Ð+äØ�‰Ø×ÑØ×Ñó€Dô 
‡w�w‡~�~�d×ÑÜˆtŒä	˜tÕ	$Ø× Ñ Ø�K‰K˜×.Ñ.°×0LÑ0Lô	
ð ×(Ñ(¨¯©°d×6KÑ6KÓLˆÞÜ Ø0°·±°ð @!ð ". ð0óð ô ,¨DÓ1ˆØ#Ð$ GÐ,ˆÜ�'˜3Ô :Ø×ÑœTŸZšZ¬¨t×/KÑ/KÓ(LÓMÔN÷  ô 	�
Š
�7Ô+äÔ Ó% tÓ,×2Ñ2Ô4÷- 
%Ð	$÷"  Õú÷# 
%Õ	$ús&   ÃBG?Å+9G.Æ$AG?Ç.
G<	Ç8G?Ç?
Hc                óD  • [        US   5      USS  p2U H  nUR                  U5        M     US   nUS   [        R                  :X  a  U S   U   US'   US   [        R                  :X  a  [        U   R                  5       US'   US   (       d  U S   US'   [        U   R                  cu  US   [        R                  :w  a*  [        R                  SUS	    S
U S35        [        S5        US   (       a*  [        R                  SUS	    SU S35        [        S5        U$ )Nr   é   r-   r0   Údefault_language_versionÚstagesÚdefault_stagesz
The hook `Úidz6` specifies `language_version` but is using language `zW` which does not install an environment.  Perhaps you meant to use a specific language?r   z=` specifies `additional_dependencies` but is using language `)
ÚdictÚupdateÚCÚDEFAULTr   Úget_default_versionr.   r9   ÚerrorÚexit)Úroot_configÚ
hook_dictsÚretÚrestÚdctr3   s         r   Ú_hookrX   m   s>  € ô �Z ‘]Ó# Z°° ^ˆÛˆØ�
‰
�3Žñ ð ˆz‰?€DØ
ÐÑ¤!§)¡)Ó+Ø"-Ð.HÑ"IÈ$Ñ"OˆÐÑØ
ÐÑ¤!§)¡)Ó+Ü"+¨D¡/×"EÑ"EÓ"GˆÐÑàˆx�=Ø#Ð$4Ñ5ˆˆH‰ä��×&Ñ&Ñ.ØÐ!Ñ"¤a§i¡iÓ/Ü�L‰LØ˜S ™Y˜Kð (#Ø#' &ð )@ðAôô �ŒGØÐ(×)Ü�L‰LØ˜S ™Y˜Kð (*Ø*.¨ð 0@ðAôô �ŒGà€Jr   c                óN   ^ ^^^• SU4S jjm[        UU U4S jT S    5       5      $ )Nc                ó    >• [         U    nUR                  c  [        [        R                  " 5       5      $ [        TR                  U5      5      $ r$   )r   r.   r   r   ÚgetcwdÚ
make_local)Úlanguage_nameÚdepsr-   Ústores      €r   Ú_prefixÚ-_non_cloned_repository_hooks.<locals>._prefix˜   sB   ø€ Ü˜]Ñ+ˆð ×#Ñ#Ñ+Üœ"Ÿ)š)›+Ó&Ð&ä˜%×*Ñ*¨4Ó0Ó1Ð1r   c           
   3  ó„   >#   • U  H5  n[         R                  " TS    T" US   US   5      [        UTS95      v •  M7     g7f)Úrepor-   r   ©rS   N)r
   ÚcreaterX   )Ú.0r2   r`   Úrepo_configrS   s     €€€r   Ú	<genexpr>Ú/_non_cloned_repository_hooks.<locals>.<genexpr>¡   sQ   øé € ð ò )ˆDô 	�ŠØ˜ÑÙ�D˜Ñ$ dÐ+DÑ&EÓFÜ�$ KÑ0÷	
ð 	
ò
 )ùs   ƒ=A Úhooks)r]   Ústrr^   úSequence[str]Úreturnr   ©Útuple)rg   r_   rS   r`   s   ```@r   Ú_non_cloned_repository_hooksrp   “   s+   û€ ÷
2ô ö ð   Ò(óó ð r   c           	     óâ  ^ ^^^• T S   T S   smm[         R                  R                  TR                  TT5      [        R
                  5      n[        U5       Vs0 s H  oDS   U_M
     nnT S    H8  nUS   U;  d  M  [        R                  SUS    ST S35        [        S5        M:     T S    Vs/ s H  n[        XTS      XBS	9PM     nn[        UU UU4S
 jU 5       5      $ s  snf s  snf )Nrc   ÚrevrK   rj   Ú`z` is not present in repository z`.  Typo? Perhaps it is introduced in a newer version?  Often `pre-commit autoupdate` fixes this.rG   rd   c              3  ó”   >#   • U  H=  n[         R                  " TS    [        TR                  TTUS   5      5      U5      v •  M?     g7f)rc   r   N)r
   re   r   Úclone)rf   r2   rc   rg   rr   r_   s     €€€€r   rh   Ú+_cloned_repository_hooks.<locals>.<genexpr>Á   sP   øé € ð ò ˆDô 	�ŠØ˜ÑÜ�5—;‘;˜t S¨$Ð/HÑ*IÓJÓKØ÷	
ð 	
ò
 ùs   ƒAA)r   r   r   ru   rN   ÚMANIFEST_FILEr   r9   rQ   rR   rX   ro   )	rg   r_   rS   Úmanifest_pathr2   Úby_idÚ	hook_dctsrc   rr   s	   ``     @@r   Ú_cloned_repository_hooksr{   «   s
  û€ ð
 ˜FÑ# [°Ñ%7€I€Dˆ#Ü—G‘G—L‘L §¡¨T°3Ó!7¼¿¹ÓI€MÜ*7¸Ô*FÓGÒ*F $�$‰Z˜ÒÑ*F€EÐGà˜GÔ$ˆØ�‰:˜UÕ"Ü�L‰LØ�D˜‘J�<Ð>¸t¸fð E<ð =ôô
 �ŽGñ %ð   Ò(óâ(ˆDô 	ˆe˜‘JÑ Ô?Ù(ð ð ô ÷ ñ óó ð ùò Hùòs   ÁC'Â4C,c                óX   • U S   [         [        1;   a  [        XU5      $ [        XU5      $ )Nrc   )r   r	   rp   r{   )rg   r_   rS   s      r   Ú_repository_hooksr}   Ë   s/   € ð
 �6Ñœu¤d˜mÓ+Ü+¨KÀÓLÐLä'¨¸KÓHÐHr   c                ó¶   ^ • SU 4S jjnU" 5       (       d  g UR                  5          U" 5        H  n[        U5        M     S S S 5        g ! , (       d  f       g = f)Nc                 óÊ   >• [        5       n / nT HO  nUR                  U ;  a!  [        U5      (       d  UR                  U5        U R	                  UR                  5        MQ     U$ r$   )ÚsetÚinstall_keyr4   ÚappendÚadd)ÚseenrU   r2   rj   s      €r   Ú_need_installedÚ*install_hook_envs.<locals>._need_installed×   sV   ø€ Ü>A»eˆØˆÛˆDØ×Ñ tÓ+´OÀD×4IÑ4IØ—
‘
˜4Ô Ø�H‰H�T×%Ñ%Ö&ñ ð ˆ
r   )rm   z
list[Hook])Úexclusive_lockrE   )rj   r_   r…   r2   s   `   r   Úinstall_hook_envsrˆ   Ö   sC   ø€ ÷ñ ×ÑØØ	×	Ñ	Õ	á#Ö%ˆDÜ˜$Öñ &÷ 
 ×	Ö	ús   §A
Á

Ac                ó8   ^ ^• [        U U4S jT S    5       5      $ )Nc              3  óR   >#   • U  H  n[        UTT5        H  nUv •  M	     M     g 7fr$   )r}   )rf   rc   r2   rS   r_   s      €€r   rh   Úall_hooks.<locals>.<genexpr>é   s.   øé € ð â(ˆDÜ% d¨E°;×?ˆDõ 	á?ñ 	Ú(ùs   ƒ$'Úreposrn   )rS   r_   s   ``r   Ú	all_hooksr�   è   s"   ù€ Üõ à Ò(óó ð r   )r   rk   rm   rk   )r!   rl   rm   Úobject)r   rk   rm   zobject | None)r2   r
   rm   Úbool)r2   r
   rm   ÚNone)rT   údict[str, Any]rS   r‘   rm   r‘   )rg   r‘   r_   r   rS   r‘   rm   útuple[Hook, ...])rj   zSequence[Hook]r_   r   rm   r�   )rS   r‘   r_   r   rm   r’   )+Ú
__future__r   r'   Úloggingr   Úcollections.abcr   Útypingr   Úpre_commit.constantsÚ	constantsrN   Úpre_commit.all_languagesr   Úpre_commit.clientlibr   r   r	   Úpre_commit.hookr
   Úpre_commit.lang_baser   Úpre_commit.prefixr   Úpre_commit.storer   Úpre_commit.utilr   r   Ú	getLoggerr9   r   r   r"   r+   r4   rE   rX   rp   r{   r}   rˆ   r�   r    r   r   Ú<module>r¡      s  ðÝ "ã Û Û 	Ý $Ý å  Ý .Ý .Ý &Ý %Ý  Ý 0Ý $Ý "Ý 1Ý "ð 
×	Ò	˜<Ó	(€ô3ô3ô8ô ôô&)5ðX#Ø#ð#à#ð#ð ô#ðLØ#ðàðð $ðð ô	ð0Ø#ðàðð $ðð ô	ð@IØ#ðIàðIð $ðIð ô	Iô õ$r   