+
    "Ý³jÔ  ã                   ó’   € R t ^ RIt^ RIt^ RIHt ^ RIHtHtHtH	t	H
t
Ht R R lt ! R R]4      tR R	 ltR
 R lt/ 3R R lltR# )zÁPython module for generating .ninja files.

Note that this is emphatically not a required piece of Ninja; it's
just a helpful utility for build-file-generation systems that already
use Python.
N)ÚTextIOWrapper)ÚDictÚListÚMatchÚOptionalÚTupleÚUnionc                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚwordÚreturn©Ústr)Úformats   "ÚS/home/luca/screen-checking/.venv/lib/python3.14/site-packages/ninja/ninja_syntax.pyÚ__annotate__r      s   € ÷ Kñ K”cð Kœcñ Kó    c                 óf   € V P                  R R4      P                  RR 4      P                  RR4      # )z$ z$$ Ú Ú:z$:©Úreplace)r   s   &r   Úescape_pathr      s-   € Ø�<‰<˜˜eÓ$×,Ñ,¨S°$Ó7×?Ñ?ÀÀTÓJÐJr   c                   ó  a € ] tR t^ t o RV 3R lR lltV 3R lR ltV 3R lR ltRV 3R lR lltV 3R	 lR
 ltRV 3R lR llt	R V 3R lR llt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRV 3R lR lltV 3R lR ltRtV tR# )!ÚWriterc                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r
   ÚoutputÚwidthr   N)r   Úint)r   Ú__classdict__s   "€r   r   ÚWriter.__annotate__!   s"   ø€ ÷ ñ ™}ð ±Sð À$ñ r   c                ó   € Wn         W n        R # ©N©r   r   )Úselfr   r   s   &&&r   Ú__init__ÚWriter.__init__!   s   € ØŒØŽ
r   c                ó   <€ V ^8„  d   QhRR/# ©r
   r   N© )r   r   s   "€r   r   r    %   s   ø€ ÷  ñ  ˜ñ  r   c                ó<   € V P                   P                  R 4       R# )Ú
N)r   Úwrite©r$   s   &r   ÚnewlineÚWriter.newline%   s   € Ø�‰×Ñ˜$Ör   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r
   Útextr   Nr   )r   r   s   "€r   r   r    (   s   ø€ ÷ 2ñ 2™Cð 2 Dñ 2r   c                óº   € \         P                  ! WP                  ^,
          RRR7       F,  pV P                  P	                  RV,           R,           4       K.  	  R# )r
   F)Úbreak_long_wordsÚbreak_on_hyphensz# r+   N)ÚtextwrapÚwrapr   r   r,   )r$   r1   Úlines   && r   ÚcommentÚWriter.comment(   s?   € Ü—M’M $¯
©
°Q­ÈØ38÷:ˆDà�K‰K×Ñ˜d T�k¨DÕ0Ö1ó:r   c                ór   <€ V ^8„  d   QhRS[ RS[S[S[S[S[S[ S[S[ ,          3,          ,          RS[RR/# )r
   ÚkeyÚvalueÚindentr   N)r   r   r   Úboolr   Úfloatr   )r   r   s   "€r   r   r    -   sL   ø€ ÷ 
5ñ 
5áð
5ñ ™™d¡C©±±T¹#µYÐ>Õ?Õ@ð
5ñ ð	
5ð
 
ñ
5r   c                ó¦   € Vf   R # \        V\        4      '       d   RP                  \        R V4      4      pV P	                  V: RV: 2V4       R # )Nr   z = )Ú
isinstanceÚlistÚjoinÚfilterÚ_line)r$   r;   r<   r=   s   &&&&r   ÚvariableÚWriter.variable-   sA   € ð Š=ÙÜ�eœT×"Ò"Ø—H‘HœV D¨%Ó0Ó1ˆEØ�
‰
£¢UÐ+¨VÖ4r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r
   ÚnameÚdepthr   N©r   r   )r   r   s   "€r   r   r    9   s"   ø€ ÷ 0ñ 0™ð 0¡Sð 0¨Tñ 0r   c                ó^   € V P                  R V,          4       V P                  RV^R7       R# )zpool %srJ   ©r=   N©rE   rF   )r$   rI   rJ   s   &&&r   ÚpoolÚWriter.pool9   s%   € Ø�
‰
�9˜tÕ#Ô$Ø�‰�g˜u¨QˆÖ/r   Nc                óà   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          RS[S[ ,          RS[RS[S[ ,          RS[RS[S[ ,          R	S[S[ ,          R
S[S[S[ S[S[ ,          3,          ,          RR/# )r
   rI   ÚcommandÚdescriptionÚdepfileÚ	generatorrO   ÚrestatÚrspfileÚrspfile_contentÚdepsr   N)r   r   r>   r   r   )r   r   s   "€r   r   r    =   sŸ   ø€ ÷ 2ñ 2áð2ñ ð2ñ ™c•]ð	2ñ
 ™#•ð2ñ ð2ñ ‘s�mð2ñ ð2ñ ™#•ð2ñ "¡#�ð2ñ ‘u™S¡$¡s¥)˜^Õ,Õ-ð2ð 
ñ2r   c                ó"  € V P                  R V,          4       V P                  RV^R7       V'       d   V P                  RV^R7       V'       d   V P                  RV^R7       V'       d   V P                  RR^R7       V'       d   V P                  RV^R7       V'       d   V P                  RR^R7       V'       d   V P                  R	V^R7       V	'       d   V P                  R
V	^R7       V
'       d   V P                  RV
^R7       R# R# )zrule %srR   rM   rS   rT   rU   Ú1rO   rV   rW   rX   rY   NrN   )r$   rI   rR   rS   rT   rU   rO   rV   rW   rX   rY   s   &&&&&&&&&&&r   ÚruleÚWriter.rule=   sÕ   € ð 	�
‰
�9˜tÕ#Ô$Ø�‰�i °ˆÔ3ßØ�M‰M˜-¨¸QˆMÔ?ßØ�M‰M˜) W°QˆMÔ7ßØ�M‰M˜+ s°1ˆMÔ5ßØ�M‰M˜& $¨qˆMÔ1ßØ�M‰M˜( C°ˆMÔ2ßØ�M‰M˜) W°QˆMÔ7ßØ�M‰MÐ+¨_ÀQˆMÔGßØ�M‰M˜& $¨qˆMÖ1ñ r   c                óR  <€ V ^8„  d   QhRS[ S[S[S[,          3,          RS[RS[S[ S[S[S[,          3,          ,          RS[S[ S[S[S[,          3,          ,          RS[S[ S[S[S[,          3,          ,          RS[S[ S[S[S[S[S[ S[S[S[,          3,          ,          3,          ,          S[S[S[S[ S[S[S[,          3,          ,          3,          3,          ,          RS[S[ S[S[S[,          3,          ,          RS[S[,          R	S[S[,          R
S[S[,          /
# )r
   Úoutputsr\   ÚinputsÚimplicitÚ
order_onlyÚ	variablesÚimplicit_outputsrO   Údyndepr   )r   r   r   r   r   r   )r   r   s   "€r   r   r    ]   s%  ø€ ÷ 3ñ 3á‘s™D¡�I�~Õ&ð3ñ ð3ñ ™™s¡D©¥I˜~Õ.Õ/ð	3ñ
 ™5¡¡d©3¥i Õ0Õ1ð3ñ ™U¡3©©S­	 >Õ2Õ3ð3ñ ÙÙ‘U™3¡©©s±D¹µI¨~Õ)>Õ ?Ð?Õ@ÕAÙ‘S™(¡5©©d±3­i¨Õ#8Õ9Ð9Õ:ð<õõ
ð3ñ #¡5©©d±3­i¨Õ#8Õ9ð3ñ ‘s�mð3ñ ™•ð3ñ  
‰c�ñ!3r   c
           	     óF  € \        V4      pV U
u. uF  p
\        V
4      NK  	  pp
\        V4       U
u. uF  p
\        V
4      NK  	  pp
V'       dF   \        V4       U
u. uF  p
\        V
4      NK  	  pp
VP                  R 4       VP                  V4       V'       dF   \        V4       U
u. uF  p
\        V
4      NK  	  pp
VP                  R4       VP                  V4       V'       dF   \        V4       U
u. uF  p
\        V
4      NK  	  pp
VP                  R 4       VP                  V4       V P	                  RRP                  V4      : RRP                  V.V,           4      : 24       Ve   V P	                  RV,          4       V	e   V P	                  RV	,          4       V'       dZ   \        V\        4      '       d   \        VP                  4       4      pM\        V4      pV F  w  rïV P                  Wï^R7       K  	  V# u up
i u up
i u up
i u up
i u up
i )Ú|z||zbuild r   z: z  pool = %sz  dyndep = %srM   )Úas_listr   ÚappendÚextendrE   rC   rA   ÚdictÚiterÚitemsrF   )r$   r_   r\   r`   ra   rb   rc   rd   rO   re   ÚxÚout_outputsÚ
all_inputsÚiteratorr;   Úvals   &&&&&&&&&&      r   ÚbuildÚWriter.build]   sÑ  € ô" ˜'Ó"ˆÙ/6Ó7©w¨!”{ 1–~©wˆÐ7Ü.5°f¬oÓ>©o¨”k !–n©oˆ
Ð>çÜ07¸Ô0AÓBÑ0A¨1œ AžÑ0AˆHÐBØ×Ñ˜cÔ"Ø×Ñ˜hÔ'ßÜ29¸*Ô2EÓFÑ2E¨Qœ+ až.Ñ2EˆJÐFØ×Ñ˜dÔ#Ø×Ñ˜jÔ)ßä)0Ð1AÔ)Bó DÙ)B Aô !,¨A¦Ù)Bð ð  Dà×Ñ˜sÔ#Ø×ÑÐ/Ô0à�
Š
 S§X¡X¨kÖ%:Ø%(§X¡X¨t¨f°zÕ.AÕ%BðDô 	EàÒØ�J‰J�} tÕ+Ô,ØÒØ�J‰J�¨Õ/Ô0çÜ˜)¤T×*Ò*Ü 	§¡Ó 1Ó2‘ä 	›?�ã$‘�Ø—‘˜c¨q�Ö1ñ %ð ˆùòC 8ùÚ>ùò Cùò Gùò Ds   �H
³HÁHÂ+HÃ8Hc                ó$   <€ V ^8„  d   QhRS[ RR/# ©r
   Úpathr   Nr   )r   r   s   "€r   r   r    ’   s   ø€ ÷ (ñ (™Cð ( Dñ (r   c                ó6   € V P                  R V,          4       R# )z
include %sN©rE   ©r$   rw   s   &&r   ÚincludeÚWriter.include’   s   € Ø�
‰
�< $Õ&Ö'r   c                ó$   <€ V ^8„  d   QhRS[ RR/# rv   r   )r   r   s   "€r   r   r    •   s   ø€ ÷ )ñ )™Sð ) Tñ )r   c                ó6   € V P                  R V,          4       R# )zsubninja %sNry   rz   s   &&r   ÚsubninjaÚWriter.subninja•   s   € Ø�
‰
�= 4Õ'Ö(r   c                óJ   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RR/# )r
   Úpathsr   N)r   r   r   )r   r   s   "€r   r   r    ˜   s(   ø€ ÷ <ñ <™U¡3©©S­	 >Õ2ð <°tñ <r   c                óf   € V P                  R RP                  \        V4      4      ,          4       R# )z
default %sr   N)rE   rC   rh   )r$   r‚   s   &&r   ÚdefaultÚWriter.default˜   s    € Ø�
‰
�< #§(¡(¬7°5«>Ó":Õ:Ö;r   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r
   ÚsÚir   rK   )r   r   s   "€r   r   r    ›   s"   ø€ ÷ ñ ©Sð ±Sð ¹Sñ r   c                ól   € ^ pV^,
          pV^ 8”  d"   W,          R8X  d   V^,          pV^,          pK(  V# )z<Returns the number of '$' characters right in front of s[i].Ú$r)   )r$   r‡   rˆ   Údollar_countÚdollar_indexs   &&&  r   Ú_count_dollars_before_indexÚ"Writer._count_dollars_before_index›   s;   € àˆØ˜1•uˆØ˜QÔ 1¥?°cÔ#9Ø˜AÕˆLØ˜AÕŠLØÐr   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r
   r1   r=   r   NrK   )r   r   s   "€r   r   r    ¤   s"   ø€ ÷ "7ñ "7™#ð "7¡sð "7°4ñ "7r   c                óÔ  € RV,          p\        V4      \        V4      ,           V P                  8”  Ed   V P                  \        V4      ,
          \        R4      ,
          pTp VP                  R^ V4      pV^ 8  g    V P                  W4      ^,          ^ 8X  g   K:   T^ 8  dK   T^,
          p TP	                  RT^,           4      pT^ 8  g    T P                  Y4      ^,          ^ 8X  g   K@   T^ 8  d   MIT P
                  P                  Y1^ T ,           R,           4       Y^,           R pRT^,           ,          pEK6  V P
                  P                  W1,           R,           4       R# )z3Write 'text' word-wrapped at self.width characters.z  z $r   z $
Nr+   )Úlenr   Úrfindr�   Úfindr   r,   )r$   r1   r=   Úleading_spaceÚavailable_spaceÚspaces   &&&   r   rE   ÚWriter._line¤   s*  € à˜v�ˆÜ�-Ó ¤3 t£9Õ,¨t¯z©zÕ9ð
 #Ÿj™j¬3¨}Ó+=Õ=ÄÀDÃ	ÕIˆOØ#ˆEØØŸ
™
 3¨¨5Ó1�Ø˜A”IØ×4Ñ4°TÓAÀAÕEÈÖJØà�qŒyà'¨!Õ+�ØØ ŸI™I c¨5°1­9Ó5�EØ œ	Ø×8Ñ8¸ÓEÈÕIÈQÖNØØ�qŒyàà�K‰K×Ñ˜m°1°U¨mÕ;¸fÕDÔEØ˜a�˜�>ˆDð ! F¨1¥HÕ-‹Mà�‰×Ñ˜-Õ.°Õ5Ö6r   c                ó   <€ V ^8„  d   QhRR/# r(   r)   )r   r   s   "€r   r   r    È   s   ø€ ÷ ñ �tñ r   c                ó:   € V P                   P                  4        R # r"   )r   Úcloser-   s   &r   rš   ÚWriter.closeÈ   s   € Ø�‰×ÑÖr   r#   )éN   )é    )NNFNFNNN)NNNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r%   r.   r8   rF   rO   r\   rs   r{   r   r„   r�   rE   rš   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r       sŠ   ø‡ € ÷ò ÷ ð  ÷2ð 2÷

5ò 
5÷0ð 0÷2ò 2÷@3ò 3÷j(ð (÷)ð )÷<ð <÷ð ÷"7ò "7÷Hö r   r   c                ó”   € V ^8„  d   QhR\         \        \        \        \        ,          3,          ,          R\        \        ,          /# )r
   Úinputr   )r   r   r   r   )r   s   "r   r   r   Ì   s0   € ÷ ñ ”8œE¤#¤t¬C¥y .Õ1Õ2ð ´t¼Cµyñ r   c                 óD   € V f   . # \        V \        4      '       d   V # V .# r"   )rA   rB   )r¥   s   &r   rh   rh   Ì   s%   € Ø‚}Øˆ	Ü�%œ×ÒØˆØˆ7€Nr   c                ó0   € V ^8„  d   QhR\         R\         /# )r
   Ústringr   r   )r   s   "r   r   r   Ô   s   € ÷ %ñ %”3ð %œ3ñ %r   c                óB   € RV 9  g   Q R4       hV P                  RR4      # )z^Escape a string such that it can be embedded into a Ninja file without
further interpretation.r+   z$Ninja syntax does not allow newlinesrŠ   z$$r   )r¨   s   &r   Úescaperª   Ô   s)   € ð �vÔÐEÐEÓEÐà�>‰>˜#˜tÓ$Ð$r   c                óŒ   € V ^8„  d   QhR\         R\        \         \         3,          R\        \         \         3,          R\         /# )r
   r¨   ÚvarsÚ
local_varsr   )r   r   )r   s   "r   r   r   Ü   s9   € ÷ .ñ .”3ð .œd¤3¬ 8�nð .¼$¼sÄC¸x½.ð .ÔRUñ .r   c                óH   aa€ R VV3R llp\         P                  ! RW04      # )zžExpand a string containing $vars as Ninja would.

Note: doesn't handle the full Ninja variable syntax, but it's enough
to make configure.py's use of it work.
c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r
   Úmr   )r   r   )r   s   "r   r   Úexpand.<locals>.__annotate__â   s   € ÷ 6ñ 6Œu”S�zð 6œcñ 6r   c                 ó|   <€ V P                  ^4      pVR8X  d   R# SP                  VSP                  VR4      4      # )é   rŠ   Ú )ÚgroupÚget)r°   Úvarr­   r¬   s   & €€r   ÚexpÚexpand.<locals>.expâ   s6   ø€ Ø�g‰g�a‹jˆØ�#Œ:ÙØ�~‰~˜c 4§8¡8¨C°Ó#4Ó5Ð5r   z
\$(\$|\w*))ÚreÚsub)r¨   r¬   r­   r¸   s   &ff r   Úexpandr¼   Ü   s    ù€ ÷6ñ 6ô
 �6Š6�- Ó-Ð-r   )Ú__doc__rº   r5   Úior   Útypingr   r   r   r   r   r   r   Úobjectr   rh   rª   r¼   r)   r   r   Ú<module>rÁ      sK   ðñ"ó 
Û Ý ß <× <õKôiˆVô iõXõ%ð LN÷ .ñ .r   