ó
    Ñ]jC  ã                  óä   • 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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 jrSS jrSS jrSS jrSS jrSSS jjrg)é    )ÚannotationsN)ÚCallable)Ú
ScalarNode)ÚInvalidConfigError)Úyaml_compose)Ú	yaml_load)Ú
MappingKey)ÚMappingValue)Úmatch)ÚSequenceItemc                ó\   • U R                  S5      =(       d    U R                  5       (       + $ )N)Ú#z---)Ú
startswithÚstrip)Úlines    Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/commands/migrate_config.pyÚ_is_header_liner      s   € Ø�?‰?˜<Ó(×<°·
±
³Ô,<Ð<ó    c                óä  • [        [        U 5      [        5      (       aš  U R                  S5      nSnU[	        U5      :  a:  [        X   5      (       a(  US-  nU[	        U5      :  a  [        X   5      (       a  M(  SR                  US U 5      nSR                  XS  5      n U SU 3n[        U5        Un U $ U $ ! [        R                   a     U S[        R                  " US5       3n  U $ f = f)NTr   é   Ú zrepos:
z    )Ú
isinstancer   ÚlistÚ
splitlinesÚlenr   ÚjoinÚyamlÚ	YAMLErrorÚtextwrapÚindent)ÚcontentsÚlinesÚiÚheaderÚrestÚtrial_contentss         r   Ú_migrate_mapr'      sð   € Ü”)˜HÓ%¤t×,Ñ,à×#Ñ# DÓ)ˆØˆà”#�e“*‹n¤°±×!:Ñ!:Ø�‰FˆAð ”#�e“*‹n¤°±×!:Ó!:ð —‘˜˜r ˜Ó#ˆØ�w‰w�u˜R�yÓ!ˆð	KØ &˜x x°¨vÐ6ˆNÜ�nÔ%Ø%ˆHð €Oˆ8€Oøô �~‰~ó 	KØ ˜ ¬(¯/ª/¸$ÀÓ*HÐ)IÐJ‰Hà€Oð	Kús   Â#B; Â;0C/Ã.C/c               ó<   • U R                   =(       d    SnU U U 3$ )Nr   )Ústyle)ÚnÚsr)   s      r   Ú_preserve_styler,   1   s"   € Ø�G‰G�M�r€EØˆW�Q�C˜�wÐÐr   c                ó0   • [        U SU R                   3S9$ )Nzpre-©r+   )r,   Úvalue)r*   s    r   Ú
_fix_stager0   6   s   € Ü˜1 $ q§w¡w iÐ 0Ñ1Ð1r   c                ó€  • [        U 5      n/ n[        R                  " [        SS9n[	        S5      [        5       [        S5      4n[        X5       H  nUR                  XS45        M     [	        S5      [        5       [	        S5      [        5       [	        S5      4n[        R                  " [        SS9n[        X5       H'  nUR                  S:X  d  M  UR                  XW45        M)     [	        S	5      [        5       4n[        X5      n	[	        S5      [        5       [	        S5      [        5       [	        S
5      [        5       4n
[        X5      n[        R                  " X›5       H,  nUR                  S;   d  M  UR                  U[        45        M.     UR                  SS S9  / nS nU HY  u  p^UR                  XR                  R                  U 5        UR                  U" U5      5        UR                   R                  nM[     UR                  U S U 5        UR#                  5         SR%                  U5      $ )NÚrevr.   ÚreposÚshaÚhooksÚlanguageÚpythonÚpython_venvÚdefault_stagesÚstages>   ÚpushÚcommitúmerge-commitTc                ó4   • U S   R                   R                  $ )Nr   )Ú
start_markÚindex)Únfs    r   Ú<lambda>Ú#_migrate_composed.<locals>.<lambda>e   s   € ¨r°!©u×/?Ñ/?×/EÒ/Er   )ÚreverseÚkeyr   )r   Ú	functoolsÚpartialr,   r
   r   r	   r   Úappendr/   Ú	itertoolsÚchainr0   ÚsortÚend_markr@   r?   rD   r   )r!   ÚtreeÚrewritesÚsha_to_rev_replaceÚsha_to_rev_matcherÚnodeÚlanguage_matcherÚpython_venv_replaceÚdefault_stages_matcherÚdefault_stages_matchÚhook_stages_matcherÚhook_stages_matchÚ	src_partsÚendÚfuncs                  r   Ú_migrate_composedr[   :   sõ  € Ü˜Ó!€DØEG€Hô #×*Ò*¬?¸eÑDÐä�WÓÜ‹Ü�5ÓðÐô
 �dÖ/ˆØ�‰˜Ð2Ö3ñ 0ô
 	�WÓÜ‹Ü�WÓÜ‹Ü�ZÓ ðÐô $×+Ò+¬O¸xÑHÐÜ�dÖ-ˆØ�:‰:˜Õ&Ø�O‰O˜TÐ7Ö8ñ .ô
 +Ð+;Ó<¼l»nÐMÐÜ  Ó>Ðä�WÓÜ‹Ü�WÓÜ‹Ü�XÓÜ‹ðÐô ˜dÓ8ÐÜ—’Ð 4ÖHˆØ�:‰:Ð;Õ;Ø�O‰O˜T¤:Ð.Ö/ñ Ið ‡M�M˜$Ñ$E€MÑFà€IØ€CÛ‰
ˆØ×Ñ˜§-¡-×"5Ñ"5°cÐ:Ô;Ø×Ñ™˜d›Ô$Ø�o‰o×#Ñ#Šñ ð ×Ñ�X˜d˜s�^Ô$Ø×ÑÔØ�7‰7�9ÓÐr   c                óœ  • [        U 5       nUR                  5       =p4S S S 5        [        R                  " [        5         [        R
                  " SU  35          [        W5         S S S 5        S S S 5        [        W5      n[        U5      nUW:w  a2  [        U S5       nUR                  U5        S S S 5        [        S5        gU(       d  [        S5        g! , (       d  f       NÁ= f! [         a$  n[        R                  " [        U5      5      eS nAff = f! , (       d  f       N¹= f! , (       d  f       NÂ= f! , (       d  f       N‘= f)NzFile Úwz Configuration has been migrated.z"Configuration is already migrated.r   )ÚopenÚreadÚcfgvÚ
reraise_asr   Úvalidate_contextr   Ú	ExceptionÚValidationErrorÚstrr'   r[   ÚwriteÚprint)Úconfig_fileÚquietÚfÚorig_contentsr!   Úes         r   Úmigrate_configrm   r   s   € Ü	ˆkÔ	˜aØ#$§6¡6£8Ð+ˆ÷ 
ô 
�ŠÔ+Õ	,Ü×"Ò" U¨;¨-Ð#8Õ9ð3Ü˜-Õ(÷ :÷ 
-ô ˜HÓ%€HÜ  Ó*€Hà�=Ó Ü�+˜sÔ# qØ�G‰G�HÔ÷ $ô 	Ð0Ô1ð ö ÜÐ2Ô3Ø÷) 
Õ	ûô ó 3Ü×*Ò*¬3¨q«6Ó2Ð2ûð3ú÷ :Õ9ú÷ 
-Õ	,ú÷ $Õ#úsY   ŒCÁ D,ÁDÁC*Á(D,Â D=Ã
C'Ã*
DÃ4DÄDÄDÄ
D)	Ä%D,Ä,
D:Ä=
E)r   re   ÚreturnÚbool)r!   re   rn   re   )r*   r   r+   re   rn   re   )r*   r   rn   re   )F)rh   re   ri   ro   rn   Úint)Ú
__future__r   rF   rI   r   Úcollections.abcr   r`   r   Ú
yaml.nodesr   Úpre_commit.clientlibr   Úpre_commit.yamlr   r   Úpre_commit.yaml_rewriter	   r
   r   r   r   r'   r,   r0   r[   rm   © r   r   Ú<module>rx      sQ   ðÝ "ã Û Û Ý $ã Û Ý !å 3Ý (Ý %Ý .Ý 0Ý )Ý 0ô=ôô0 ô
2ô5÷pr   