ó
    jñ:i‚  ã            
       ó\  • S SK r \ R                  R                  S:  a  \\4rO\r\rSrSr	S r
SrSrSrS	 r\rS
rS rS rS rS rS rS SKrS SKrS SKrS SKr\R6                  " S5      rSSSSSSSSSS.	rS r " S S\5      r  " S S\5      r!\"S :X  a•  S SK#J$r$  \$RH                  " 5       r%S SK r \&" \ RN                  S!   5      r(\(RS                  5       r*\!" \%5      r+\+RY                  \*\ RN                  S!   5         \+R[                  5       r.\.(       d  g\/" \+R`                  \.5        M-  g)"é    Né   )
ÚCPP_IDÚCPP_INTEGERÚ	CPP_FLOATÚ
CPP_STRINGÚCPP_CHARÚCPP_WSÚCPP_COMMENT1ÚCPP_COMMENT2Ú	CPP_POUNDÚ
CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"c                 óv   • U R                   =R                  U R                  R                  S5      -  sl        U $ )z\s+Ú
©ÚlexerÚlinenoÚvalueÚcount©Úts    ÚT/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/pycparser/ply/cpp.pyÚt_CPP_WSr      ó&   € à‡G�G‡N‚N�a—g‘g—m‘m DÓ)Ñ)…NØ€Hó    z\#z\#\#z[A-Za-z_][\w_]*c                 ó   • U $ )zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)© r   s    r   r   r   +   s   € à€Hr   z?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?c                 óv   • U R                   =R                  U R                  R                  S5      -  sl        U $ )z\"([^\\\n]|(\\(.|\n)))*?\"r   r   r   s    r   Út_CPP_STRINGr   5   r   r   c                 óv   • U R                   =R                  U R                  R                  S5      -  sl        U $ )z(L)?\'([^\\\n]|(\\(.|\n)))*?\'r   r   r   s    r   Ú
t_CPP_CHARr    ;   r   r   c                 ó¼   • U R                   R                  S5      nU R                  =R                  U-  sl        SU l        U(       a  SU-  U l         U $ SU l         U $ )z(/\*(.|\n)*?\*/)r   r	   Ú )r   r   r   r   Útype)r   Úncrs     r   Út_CPP_COMMENT1r%   A   sL   € à
�'‰'�-‰-˜Ó
€CØ‡G�G‡N‚N�cÑ…Nà€A„F®s ¨¡�q”wØ€Hð 9<�q”wØ€Hr   c                 ó"   • SU l         SU l        U $ )z(//.*?(\n|$))r	   r   )r#   r   r   s    r   Út_CPP_COMMENT2r'   J   s   € ð €A„F �q”wØ€Hr   c                 óŒ   • U R                   S   U l        U R                   S   U l         U R                  R                  S5        U $ ©Nr   é   )r   r#   r   Úskipr   s    r   Út_errorr,   P   s4   € Ø�W‰W�Q‰Z€A„FØ�g‰g�a‰j€A„GØ‡G�G‡L�L�„OØ€Hr   z\?\?[=/\'\(\)\!<>\-]Ú#Ú\Ú^Ú[Ú]Ú|Ú{Ú}Ú~)	Ú=Ú/Ú'Ú(Ú)Ú!Ú<Ú>Ú-c                 ó0   • [         R                  S U 5      $ )Nc                 ó6   • [         U R                  5       S      $ ©Néÿÿÿÿ)Ú_trigraph_repÚgroup)Úgs    r   Ú<lambda>Útrigraph.<locals>.<lambda>z   s   € ¤}°Q·W±W³Y¸r±]Ò'Cr   )Ú_trigraph_patÚsub)Úinputs    r   ÚtrigraphrK   y   s   € Ü×ÑÑCÀEÓJÐJr   c                   ó   • \ rS rSrSS jrSrg)ÚMacroéŒ   Nc                 ód   • Xl         X l        X0l        X@l        U(       a
  US   U l        S U l        g rA   )Únamer   ÚarglistÚvariadicÚvarargÚsource)ÚselfrP   r   rQ   rR   s        r   Ú__init__ÚMacro.__init__�   s+   € ØŒ	ØŒ
ØŒØ ŒÞØ! "™+ˆDŒKØˆ�r   )rQ   rP   rT   r   rS   rR   )NF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rV   Ú__static_attributes__r   r   r   rM   rM   Œ   s   † ÷r   rM   c                   ó”   • \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rSS jrS rSS jrS rS rS rS0 4S jrS rSrg)ÚPreprocessoré�   Nc                 ó\  • Uc  [         R                  nXl        0 U l        / U l        / U l        U R                  5         [        R                  " 5       nU R                  S[        R                  " SU5      -  5        U R                  S[        R                  " SU5      -  5        S U l
        g )Nz__DATE__ "%s"z%b %d %Yz__TIME__ "%s"z%H:%M:%S)Úlexr   ÚmacrosÚpathÚ	temp_pathÚlexprobeÚtimeÚ	localtimeÚdefineÚstrftimeÚparser)rU   r   Útms      r   rV   ÚPreprocessor.__init__ž   s‚   € Ø‰=Ü—I‘IˆEØŒ
ØˆŒØˆŒ	ØˆŒð 	�‰Œä�^Š^ÓˆØ�‰Ð%¬¯ª°jÀÓ(DÑDÔEØ�‰Ð%¬¯ª°jÀÓ(DÑDÔEØˆ�r   c                 ó¬   • / nU R                   R                  U5         U R                   R                  5       nU(       d   U$ UR                  U5        M7  ©N)r   rJ   ÚtokenÚappend)rU   ÚtextÚtokensÚtoks       r   ÚtokenizeÚPreprocessor.tokenize´   sK   € ØˆØ�
‰
×Ñ˜ÔØØ—*‘*×"Ñ"Ó$ˆCÞ˜àˆð �M‰M˜#Ôñ r   c                 ó$   • [        SXU4-  5        g )Nz%s:%d %s)Úprint)rU   ÚfileÚlineÚmsgs       r   ÚerrorÚPreprocessor.errorÃ   s   € Üˆj˜D c˜?Ñ*Õ+r   c                 óv  • U R                   R                  S5        U R                   R                  5       nU(       a  UR                  S:w  a  [	        S5        OUR
                  U l        U R                   R                  S5        U R                   R                  5       nU(       a  [        UR                  5      S:w  a  [	        S5        O+UR
                  U l        [        UR                  5      U l	        U R                   R                  S5        U R                   R                  5       nU(       a  UR                  S:w  a  [	        S5        OUR
                  U l
        U R                   R                  S5        U R                   R                  5       nU(       a  UR                  S:w  a  S U l        OUR
                  U l        U R                   R                  S	5        U R                   R                  5       nU(       a  UR                  S	:w  a  S U l        [	        S
5        OUR
                  U l        U R                  U R                  4U l        / SQnU H_  nU R                   R                  U5        U R                   R                  5       nU(       a  UR                  U:w  d  MQ  [	        SU-  5        Ma     g )NÚ
identifierz"Couldn't determine identifier typeÚ12345i90  zCouldn't determine integer typez
"filename"zCouldn't determine string typez  r   z%Couldn't determine token for newlines)	r<   r=   r-   ú##r.   r9   r:   Ú,Ú.z,Unable to lex '%s' required for preprocessor)r   rJ   ro   r   rw   r#   Út_IDÚintÚ	t_INTEGERÚt_INTEGER_TYPEÚt_STRINGÚt_SPACEÚ	t_NEWLINEÚt_WS)rU   rs   ÚcharsÚcs       r   re   ÚPreprocessor.lexprobeÏ   sç  € ð 	�
‰
×Ñ˜Ô&Ø�j‰j×ÑÓ ˆÞ�c—i‘i <Ó/ÜÐ6Õ7àŸ™ˆDŒIð 	�
‰
×Ñ˜Ô!Ø�j‰j×ÑÓ ˆÞ”c˜#Ÿ)™)“n¨Ó-ÜÐ3Õ4à ŸX™XˆDŒNÜ"& s§y¡y£/ˆDÔð 	�
‰
×Ñ˜Ô(Ø�j‰j×ÑÓ ˆÞ�c—i‘i >Ó1ÜÐ2Õ3àŸH™HˆDŒMð 	�
‰
×Ñ˜ÔØ�j‰j×ÑÓ ˆÞ�c—i‘i 4Ó'ØˆD�LàŸ8™8ˆDŒLð 	�
‰
×Ñ˜ÔØ�j‰j×ÑÓ ˆÞ�c—i‘i 4Ó'Ø!ˆDŒNÜÐ9Õ:à ŸX™XˆDŒNà—\‘\ 4§>¡>Ð2ˆŒ	ò 9ˆÛˆAØ�J‰J×Ñ˜QÔØ—*‘*×"Ñ"Ó$ˆCÞ˜#Ÿ)™) q�.ÜÐDÀqÑHÖIò	 r   c                 ó:   • U R                   R                  U5        g rn   )rc   rp   )rU   rc   s     r   Úadd_pathÚPreprocessor.add_path  s   € Ø�	‰	×Ñ˜Õr   c              #   óè  #   • U R                   R                  5       nUR                  5        Vs/ s H  o3R                  5       PM     nn[	        [        U5      5       Hu  nUS-   nXE   R                  S5      (       d  M"  U[        U5      :  d  M3  XE   S S XF   -   XE'   SXF'   US-  nXE   R                  S5      (       d  Md  U[        U5      :  a  MB  Mw     SR                  U5      nUR                  " U5        SUl	        / n UR                  " 5       nU(       d  OCUR                  U5        UR                  U R                  ;   a  SUR                  ;   a  Uv •  / nM\  U(       a  Uv •  g g s  snf 7f)Nr*   r.   rB   Ú r   )r   ÚcloneÚ
splitlinesÚrstripÚxrangeÚlenÚendswithÚjoinrJ   r   ro   rp   r#   rŠ   r   )	rU   rJ   ra   ÚxÚlinesÚiÚjÚcurrent_liners   s	            r   Úgroup_linesÚPreprocessor.group_lines  sB  é € Ø�j‰j×ÑÓ ˆØ%*×%5Ñ%5Ô%7Ó8Ò%7 —‘–Ñ%7ˆÐ8Üœ˜E›
Ö#ˆAØ�!‘ˆAØ‘(×#Ñ# D×)Ó)¨q´3°u³:­~Ø ™8 C R˜=¨©Ñ1�‘Ø�‘Ø�Q‘�ð ‘(×#Ñ# D×)Ó)¨q´3°u³:¯~ñ $ð —	‘	˜%Ó ˆØ�	Š	�%ÔØˆŒ
àˆØØ—)’)“+ˆCÞØØ×Ñ Ô$Ø�x‰x˜4Ÿ9™9Ó$¨°·±Ó):Ø"Ò"Ø!�ñ ö ØÓð ùò- 9ùs)   ‚-E2¯E-Á4E2Â E2Â-E2ÃE2ÃBE2c                 óŽ  • SnU[        U5      :  aN  X   R                  U R                  ;   a2  US-  nU[        U5      :  a  X   R                  U R                  ;   a  M2  US U2	 [        U5      S-
  nUS:¼  aE  X   R                  U R                  ;   a)  US-  nUS:¼  a  X   R                  U R                  ;   a  M)  XS-   S 2	 U$ r)   )r—   r#   rŠ   )rU   rr   rœ   s      r   Ú
tokenstripÚPreprocessor.tokenstrip8  s­   € ØˆØ”#�f“+‹o &¡)§.¡.°D·I±IÓ"=Ø�‰FˆAð ”#�f“+‹o &¡)§.¡.°D·I±IÕ"=à�2�A�2ˆJÜ�‹K˜‰MˆØ�1‹f˜™Ÿ™¨4¯9©9Ó4Ø�‰FˆAð �1‹f˜™Ÿ™¨4¯9©9Õ4à�Q‘3‘4ˆLØˆr   c                 óì  • / n/ n/ nSn[        U5      nSnXv:  aD  X   R                  U R                  ;   a(  US-  nXv:  a  X   R                  U R                  ;   a  M(  Xv:  a'  X   R                  S:X  a  UR	                  US-   5        O/U R                  U R                  US   R                  S5        S/ / 4$ US-  nXv:  Ga  X   nUR                  S:X  a  UR	                  U5        US-  nOÊUR                  S:X  a\  US-  nUS:X  a?  U(       a1  UR	                  U R                  U5      5        UR	                  U5        US-   X#4$ UR	                  U5        O^UR                  S:X  a=  US:X  a7  UR	                  U R                  U5      5        UR	                  US-   5        / nOUR	                  U5        US-  nXv:  a  GM  U R                  U R                  US   R                  S5        S/ / 4$ )	Nr*   r   r9   zMissing '(' in macro argumentsr:   r�   rB   zMissing ')' in macro arguments)	r—   r#   rŠ   r   rp   r{   rT   r   r¢   )	rU   Ú	tokenlistÚargsÚ	positionsÚcurrent_argÚnestingÚtokenlenrœ   r   s	            r   Úcollect_argsÚPreprocessor.collect_argsT  sÐ  € ØˆØˆ	ØˆØˆÜ�y“>ˆð ˆØ‹| )¡,×"3Ñ"3°t·y±yÓ"@Ø�‰FˆAð ‹| )¡,×"3Ñ"3°t·y±yÕ"@ð ‹L˜y™|×1Ñ1°SÓ8Ø×Ñ˜Q˜q™SÕ!à�J‰J�t—{‘{ 9¨Q¡<×#6Ñ#6Ð7WÔXØ�b˜"�9Ðà	ˆQ‰ˆàŒlØ‘ˆAØ�w‰w˜#‹~Ø×"Ñ" 1Ô%Ø˜1‘‘Ø—‘˜C“Ø˜1‘�Ø˜a“<Þ"ØŸ™ D§O¡O°KÓ$@ÔAØ!×(Ñ(¨Ô+Ø˜Q™3˜tÐ-Ð-Ø×"Ñ" 1Õ%Ø—‘˜C“ G¨q£LØ—‘˜DŸO™O¨KÓ8Ô9Ø× Ñ   1¡Ô%Ø ‘à×"Ñ" 1Ô%Ø�‰FˆAð' Žlð, 	�
‰
�4—;‘;˜y¨™}×3Ñ3Ð4TÔUØ�"�Rˆxˆr   c                 ó¢  • / Ul         / Ul        / Ul        SnU[        UR                  5      :  Ga  UR                  U   R
                  U R                  :X  GaØ  UR                  U   R                  UR                  ;   Ga°  UR                  R                  UR                  U   R                  5      nUS:”  a   UR                  US-
     R                  S:X  a€  [        R                  " UR                  U   5      UR                  U'   U R                  UR                  U   l        UR                  US-
  	 UR                  R                  X2S-
  45        GMB  US:”  aS  UR                  US-
     R                  S:X  a3  UR                   R                  SX2S-
  45        UR                  US-
  	 GM›  US-   [        UR                  5      :  aE  UR                  US-      R                  S:X  a%  UR                   R                  SX245        US-  nGMü  UR                   R                  SX245        OâUR                  U   R                  S:X  aÅ  UR                  (       a´  US:”  a®  UR                  US-
     R                  S:X  aŽ  US-   [        UR                  5      :  ar  UR                  US-      R
                  U R                  :X  aH  UR                  US-      R                  UR                  :X  a  UR                  R                  US-
  5        US-  nU[        UR                  5      :  a  GM  UR                   R                  S S	S
9  g )Nr   r*   r-   r€   rŒ   Úer�   c                 ó   • U S   $ )Né   r   )rš   s    r   rF   Ú,Preprocessor.macro_prescan.<locals>.<lambda>ª  s   €  q¨¢tr   T)ÚkeyÚreverse)ÚpatchÚ	str_patchÚvar_comma_patchr—   r   r#   rƒ   rQ   ÚindexÚcopyr‡   rp   rR   rS   Úsort)rU   Úmacrorœ   Úargnums       r   Úmacro_prescanÚPreprocessor.macro_prescan‰  s˜  € ØˆŒØˆŒØ "ˆÔØˆØ”#�e—k‘kÓ"Ô"Ø�{‰{˜1‰~×"Ñ" d§i¡iÔ/°E·K±KÀ±N×4HÑ4HÈEÏMÉMÔ4YØŸ™×,Ñ,¨U¯[©[¸©^×-AÑ-AÓB�à�q“5˜UŸ[™[¨¨1©Ñ-×3Ñ3°sÓ:Ü%)§Y¢Y¨u¯{©{¸1©~Ó%>�E—K‘K ‘NØ*.¯-©-�E—K‘K ‘NÔ'ØŸ™ A a¡CÐ(Ø—O‘O×*Ñ*¨F°Q±3¨<Ô8Úà˜!“e §¡¨A¨a©CÑ 0× 6Ñ 6¸$Ó >Ø—K‘K×&Ñ&¨¨F°Q±3Ð'7Ô8ØŸ™ A a¡CÐ(ÚØ˜‘sœc %§+¡+Ó.Ó.°5·;±;¸qÀ¹sÑ3C×3IÑ3IÈTÓ3QØ—K‘K×&Ñ&¨¨F ~Ô6Ø˜‘F�AÚð —K‘K×&Ñ&¨¨F ~Õ6Ø—‘˜Q‘×%Ñ%¨Ó-Ø—>—> q¨1£u°5·;±;¸qÀ¹sÑ3C×3IÑ3IÈSÓ3PØ˜A™#¤ U§[¡[Ó!1Ó1¸¿¹ÀAÀaÁCÑ8H×8MÑ8MÐQU×QZÑQZÓ8ZØŸ™ Q q¡SÑ)×/Ñ/°5·<±<Ó?Ø×)Ñ)×0Ñ0°°1±Ô5Ø�‰FˆAð7 ”#�e—k‘kÓ"Ö"ð8 	�‰×Ñ™^°DÐÒ9r   c                 óà  • UR                    Vs/ s H  n[        R                  " U5      PM     nn0 nUR                   Hq  u  pgXe;  aB  SSR                  X&    Vs/ s H  oˆR                   PM     sn5      -  R	                  SS5      XV'   [        R                  " XG   5      XG'   XV   XG   l         Ms     Sn	UR
                  (       a#  US   (       d  UR                   H	  nS XG'   Sn	M     0 n
UR                   HB  u  p¶nUS:X  a  X&   XGUS	-   & M  US
:X  d  M  Xj;  a  U R                  X&   5      X¦'   X¦   XGUS	-   & MD     U	(       a  U Vs/ s H  oÌ(       d  M  UPM     nnU$ s  snf s  snf s  snf )Nz"%s"r’   r.   z\\FrB   TrŒ   r*   r®   )	r   r¸   rµ   r™   ÚreplacerR   r¶   r´   Úexpand_macros)rU   rº   r¦   Ú_xÚrepÚstr_expansionr»   rœ   rš   Úcomma_patchÚexpandedÚptypeÚ_is                r   Úmacro_expand_argsÚPreprocessor.macro_expand_args´  sX  € à',§{¢{Ó3¢{ Œt�yŠy˜Ž}¡{ˆÐ3ð ˆØŸœ‰IˆFØÓ*Ø)/°"·'±'ÈDÊLÓ:YÊLÀq¿7¼7ÉLÑ:YÓ2ZÑ)Z×(cÑ(cÐdhÐioÓ(p�Ñ%Ü—Y’Y˜s™vÓ&ˆC‰FØ(Ñ0ˆC‰FŽLñ	 )ð ˆØ�>�> $ r§(Ø×*Ô*�Ø�‘Ø"’ñ +ð ˆØ %§¤ÑˆE˜1à˜‹|Ø!™\��a˜‘c’
à˜#•ØÓ)Ø'+×'9Ñ'9¸$¹,Ó'G�HÑ$Ø%Ñ-��a˜‘c’
ñ !,ö Ù #Ó*¢˜"£r—2¡ˆCÐ*àˆ
ùòK 4ùò ;Zùò8 +s   � E!ÁE&Å	
E+ÅE+c           	      óÄ  • Uc  0 nSnU[        U5      :  GaC  X   nUR                  U R                  :X  Ga  UR                  U R                  ;   Ga±  UR                  U;  Ga   SX$R                  '   U R                  UR                     nUR
                  (       dq  U R                  UR                   Vs/ s H  n[        R                  " U5      PM     snU5      nU H  nUR                  Ul        M     XqX3S-   & U[        U5      -  nGOèUS-   n	U	[        U5      :  aN  X   R                  U R                  ;   a2  U	S-  n	U	[        U5      :  a  X   R                  U R                  ;   a  M2  X   R                  S:X  Gas  U R                  XS  5      u  p«nUR                  (       dq  [        U5      [        UR
                  5      :w  aO  U R                  U R                  UR                  SUR                  [        UR
                  5      4-  5        Xš-   nGOÛUR                  (       aÜ  [        U5      [        UR
                  5      S-
  :  a·  [        UR
                  5      S:”  aM  U R                  U R                  UR                  SUR                  [        UR
                  5      S-
  4-  5        OLU R                  U R                  UR                  SUR                  [        UR
                  5      S-
  4-  5        Xš-   nOîUR                  (       a�  [        U5      [        UR
                  5      S-
  :X  a  UR                  / 5        OVXU[        UR
                  5      S-
     -   Xš-   S-
   U[        UR
                  5      S-
  '   U[        UR
                  5      S 2	 U R                  X[5      nU R                  XÒ5      nU H  nUR                  Ul        M     XÑX9U
-   & U[        U5      -  nX$R                  	 GMû  UR                  S	:X  a1  U R                   Ul        U R#                  UR                  5      Ul        US-  nU[        U5      :  a  GMC  U$ s  snf )
Nr   Tr*   r9   zMacro %s requires %d argumentsr°   z(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argumentÚ__LINE__)r—   r#   rƒ   r   rb   rQ   rÀ   r¸   r   rŠ   r«   rR   r{   rT   rp   rÈ   r…   r†   )rU   rr   rÅ   rœ   r   ÚmrÁ   Úexr®   r�   Útokcountr¦   r§   rÂ   Úrs                  r   rÀ   ÚPreprocessor.expand_macrosæ  s¾  € ØÑØˆHØˆØ”#�f“+ŒoØ‘	ˆAØ�v‰v˜Ÿ™Ô"Ø—7‘7˜dŸk™kÔ)¨a¯g©g¸XÔ.Eà(,�HŸW™WÑ%àŸ™ A§G¡GÑ,�AØŸ9Ÿ9à!×/Ñ/ÈÏÊÓ0QÊÀ2´·²¸2¶ÉÑ0QÐRZÓ[˜Û!#˜AØ'(§x¡x˜AžHñ "$à(*˜q 1¡˜ØœS ›W™šð  ™E˜Ø¤# f£+›o°&±)·.±.ÀDÇIÁIÓ2MØ ™F˜Að  ¤# f£+›o°&±)·.±.ÀDÇIÁIÕ2Mà!™9Ÿ?™?¨cÔ1Ø6:×6GÑ6GÈÈrÈ
Ó6SÑ3˜H¨)Ø#$§:§:´#°d³)ÄÀAÇIÁIÃÓ2NØ $§
¡
¨4¯;©;°q·x±xÐ@`Ðde×dkÑdkÔloÐpq×pyÑpyÓlzÐc{Ñ@{Ô |Ø$%¡L¢Ø!"§§´°D³	¼CÀÇ	Á	»NÈ1Ñ<LÓ0LÜ#& q§y¡y£>°AÓ#5Ø$(§J¡J¨t¯{©{¸1¿8¹8ÐDnÐrs×ryÑryÔ{~ð  @A÷  @Iñ  @Ió  |Jð  KLñ  |Lð  rMñ  EMõ  %Nà$(§J¡J¨t¯{©{¸1¿8¹8ÐDmÐqr×qxÑqxÔz}Ð~÷  Hñ  Hó  {Ið  JKñ  {Kð  qLñ  ELô  %MØ$%¡L¡à#$§:§:Ü'*¨4£y´C¸¿	¹	³NÀ1Ñ4DÓ'DØ(,¯©°B­àAGÈ)ÔTWÐXY×XaÑXaÓTbÐcdÑTdÑJeÑHeÐfgÑfpÐqrÑfrÐAs¨¬S°·±«^¸AÑ-=Ñ(>Ø,0´°Q·Y±Y³±Ð,Að '+×&<Ñ&<¸QÓ&D Ø&*×&8Ñ&8¸Ó&F Û), AØ/0¯x©x A¦Hñ *-à7: q¨8©Ð 4Ø !¤S¨£X¡ Ø §¡Ð)ÚØ—W‘W 
Ó*Ø!Ÿ^™^�A”FØ"×1Ñ1°!·(±(Ó;�A”Gà�‰FˆAði ”#�f“+Žoðj ˆùòW 1Rs   Â4 Qc                 óœ  • SnU[        U5      :  Gad  X   R                  U R                  :X  Ga0  X   R                  S:X  Ga  US-   nSnSnU[        U5      :  aÐ  X   R                  U R                  ;   a  US-  nM2  X   R                  U R                  :X  a*  X   R                  U R
                  ;   a  SnOSnU(       d  OhOQX   R                  S:X  a  SnO<X   R                  S	:X  a  O?U R                  U R                  X   R                  S
5        US-  nU[        U5      :  a  MÐ  U R                  X   l        U R                  U5      X   l        XS-   US-   2	 US-  nU[        U5      :  a  GMd  U R                  U5      n[        U5       Hü  u  p&UR                  U R                  :X  aE  [        R                  " U5      X'   U R                  X   l        U R                  S5      X   l        Md  UR                  U R                  :X  d  M€  [        R                  " U5      X'   [        X   R                  5      X   l        X   R                  S   S;  d  MÍ  X   R                  S S X   l        X   R                  S   S;  a  M/  Mþ     SR                  U Vs/ s H  n[        UR                  5      PM     sn5      nUR!                  SS5      nUR!                  SS5      nUR!                  SS5      n [#        U5      nU$ s  snf ! [$         a0    U R                  U R                  US   R                  S5        Sn U$ f = f)Nr   Údefinedr*   FÚ0LÚ1Lr9   Tr:   zMalformed defined()rB   Ú0123456789abcdefABCDEFr’   z&&z and z||z or r;   z not zCouldn't evaluate expression)r—   r#   rƒ   r   rŠ   rb   r{   rT   r   r…   r†   rÀ   Ú	enumerater¸   Ústrr™   r¿   ÚevalÚ	Exception)	rU   rr   rœ   r�   Ú	needparenÚresultr   rš   Úexprs	            r   ÚevalexprÚPreprocessor.evalexpr(  sÆ  € ð ˆØ”#�f“+ŒoØ‰y�~‰~ §¡Ô*¨v©y¯©À)Ô/KØ˜‘E�Ø!�	Ø�Øœ#˜f›+“oØ‘y—~‘~¨¯©Ó2Ø˜Q™˜Ù Ø™Ÿ™¨4¯9©9Ó4Ø!™9Ÿ?™?¨d¯k©kÓ9Ø%)™Fà%)˜FÞ(¨%˜yØ™Ÿ™¨CÓ/Ø$(™	Ø™Ÿ™¨CÓ/ØàŸ
™
 4§;¡;¨v©y×/?Ñ/?Ð@UÔVØ˜‘F�Að! œ#˜f›+•oð" "&§¡�‘	”Ø"&×"5Ñ"5°fÓ"=�‘	”Ø˜Q™3˜q ™s˜7�OØ�‰FˆAð3 ”#�f“+Žoð4 ×#Ñ# FÓ+ˆÜ˜VÖ$‰CˆAØ�v‰v˜Ÿ™Ó"Ü ŸIšI a›L�‘	Ø!%§¡�‘	”Ø"&×"5Ñ"5°dÓ";�‘	–Ø—‘˜4Ÿ>™>Õ)Ü ŸIšI a›L�‘	ä"% f¡i§o¡oÓ"6�‘	”Ø‘i—o‘o bÑ)Ð1IÕIØ&,¡i§o¡o°c°rÐ&:�F‘I”Oð ‘i—o‘o bÑ)Ð1I×Iñ %ð �w‰w©fÓ5ªf¨œ˜AŸG™Gž©fÑ5Ó6ˆØ�|‰|˜D Ó)ˆØ�|‰|˜D Ó(ˆØ�|‰|˜C Ó(ˆð	Ü˜$“ZˆFð ˆùò 6øô ó 	Ø�J‰J�t—{‘{ 6¨!¡9×#3Ñ#3Ð4RÔSØ‰FØˆð	ús   Ê"LË?L Ì6MÍ
Mc              #   óÖ  #   • [        U5      nU R                  U5      nU(       d  SnU R                  SU-  5        X l        / nSnSn/ nU GHù  n	[	        U	5       H!  u  p«UR
                  U R                  ;  d  M!    O   WR                  S:X  Ga™  U	 HB  nUR
                  U R                  ;   d  M  SUR                  ;   d  M1  UR                  U5        MD     U R                  U	W
S-   S  5      nU(       a$  US   R                  nU R                  USS  5      nOSn/ nUS	:X  a<  U(       a2  U R                  U5       H  nUv •  M	     / nU R                  U5        GM  GM  US
:X  aj  U(       a`  U R                  U5       H  nUv •  M	     / nU R                  S   nU R                  U5       H  nUv •  M	     XðR                  S'   X l        GM‚  GM…  US:X  a<  U(       a2  U R                  U5       H  nUv •  M	     / nU R                  U5        GMÄ  GMÇ  US:X  aE  UR                  Xg45        U(       a)  US   R                  U R                  ;  a  SnSnGM
  SnGM  GM  US:X  aE  UR                  Xg45        U(       a)  US   R                  U R                  ;   a  SnSnGMU  SnGMZ  GM]  US:X  a@  UR                  Xg45        U(       a$  U R                  U5      nU(       d  SnSnGM›  SnGM   GM£  US:X  a|  U(       aH  US   S   (       a8  U(       a  SnGMÉ  U(       d"  U R                  U5      nU(       a  SnSnGMï  GMò  GMõ  GMø  U R                  U R                  US   R                   S5        GM%  US:X  aa  U(       a-  US   S   (       a  U(       a  SnGMK  U(       d  SnSnGMY  GM\  GM_  U R                  U R                  US   R                   S5        GMŒ  US:X  aI  U(       a  UR#                  5       u  pgGM®  U R                  U R                  US   R                   S5        GMÛ  GMÞ  U(       d  GMè  UR%                  U	5        GMü     U R                  U5       H  nUv •  M	     / ng 7f)Nr’   z__FILE__ "%s"TFr-   r   r*   r   rh   ÚincludeÚ__FILE__ÚundefÚifdefÚifndefÚifÚelifrB   zMisplaced #elifÚelsezMisplaced #elseÚendifzMisplaced #endif)rK   rŸ   rh   rT   rÖ   r#   rŠ   r   rp   r¢   rÀ   rb   rà   râ   rÝ   r{   r   ÚpopÚextend)rU   rJ   rT   r   r›   ÚchunkÚenableÚ	iftriggerÚifstackrš   rœ   rs   Ú	dirtokensrP   r¦   ÚoldfilerÛ   s                    r   ÚparsegenÚPreprocessor.parsegenc  sã  é € ô �U‹OˆØ× Ñ  Ó#ˆæØˆFà�‰Ð%¨Ñ.Ô/àŒØˆØˆØˆ	ØˆäˆAÜ" 1ž‘�Ø—8‘8 4§9¡9Õ,©eñ &à�y‰y˜CÔó �CØ—x‘x 4§9¡9Õ,°¸¿¹Õ1BØŸ™ SÖ)ñ ð !ŸO™O¨A¨a°©c¨d¨GÓ4�	ÞØ$ Q™<×-Ñ-�DØŸ?™?¨9°Q°R¨=Ó9‘Dà�DØ�Dà˜8Ó#ÞØ#'×#5Ñ#5°eÖ#<˜CØ"%œIñ $=à "˜ØŸ™ D×)ò	 ð
 ˜YÓ&ÞØ#'×#5Ñ#5°eÖ#<˜CØ"%œIñ $=à "˜Ø"&§+¡+¨jÑ"9˜Ø#'§<¡<°Ö#5˜CØ"%œIñ $6à29Ÿ™ JÑ/Ø&,Ÿò ð ˜W“_ÞØ#'×#5Ñ#5°eÖ#<˜CØ"%œIñ $=à "˜ØŸ
™
 4×(ò	 ð
 ˜W“_Ø—N‘N FÐ#5Ô6ÞØ# A™wŸ}™}°·±Ó;Ø%*˜FØ(-›Ià(,›Iò ð ˜XÓ%Ø—N‘N FÐ#5Ô6ÞØ ™7Ÿ=™=¨D¯K©KÓ7Ø%*˜FØ(-›Ià(,›Iò ð ˜T“\Ø—N‘N FÐ#5Ô6ÞØ!%§¡¨tÓ!4˜Þ%Ø%*˜FØ(-›Ià(,›Iò ð ˜V“^ÞØ" 2™; qŸ>Þ%Ø).£Þ%.Ø)-¯©°tÓ)< Þ#)Ø.2 FØ04£Iò $*ò &/ò *ð Ÿ
™
 4§;¡;¨y¸©|×/BÑ/BÐCT×Uà˜V“^ÞØ" 2™; qŸ>Þ%Ø).£Þ%.Ø)- Ø,0£	ò &/ò *ð Ÿ
™
 4§;¡;¨y¸©|×/BÑ/BÐCT×Uà˜W“_ÞØ+2¯;©;«=Ñ(˜šyàŸ
™
 4§;¡;¨y¸©|×/BÑ/BÐCU×Vò ÷ ‘6Ø—L‘L —OñM ðP ×%Ñ% eÖ,ˆCØŒIñ -à‰ùs   ‚A6Q)Á<2Q)Â2Q)ÃM+Q)Ð45Q)c              #   ó^  #   • U(       d  g U(       Ga?  US   R                   S:w  a.  US   R                  U R                  :w  a  U R                  U5      nUS   R                   S:X  a’  SnU[	        U5      :  a)  X   R                   S:X  a  O"US-  nU[	        U5      :  a  M)  [        S5        g SR                  USU  Vs/ s H  o3R                   PM     sn5      nU R                  S/-   U R                  -   nOYUS   R                  U R                  :X  a0  US   R                   SS nU R                  S/-   U R                  -   nO[        S5        g W H°  n[        R                  R                  UW5      n [        US	5      R                  5       n[        R                  R                  U5      n	U	(       a  U R                  R                  SU	5        U R                  X„5       H  n
U
v •  M	     U	(       a  U R                  S	   g    [        S
W-  5        g s  snf ! [         a     MÕ  f = f7f)Nr   r<   r*   r=   zMalformed #include <...>r’   rB   zMalformed #include statementrÏ   zCouldn't find '%s')r   r#   r‡   rÀ   r—   rw   r™   rc   rd   ÚosÚopenÚreadÚdirnameÚinsertrñ   ÚIOError)rU   rr   rœ   rš   Úfilenamerc   ÚpÚinameÚdataÚdnamers   s              r   rà   ÚPreprocessor.includeæ  sÔ  é € æØßØ�a‰y�‰ #Ó%¨&°©)¯.©.¸D¿M¹MÓ*IØ×+Ñ+¨FÓ3�à�a‰y�‰ #Ó%à�Øœ#˜f›+“oØ‘y—‘¨#Ó-ØØ˜‘F�Að œ#˜f›+•oô
 Ð4Ô5ØØŸ7™7°V¸A¸a±[Ó#A²[°§G¤G±[Ñ#AÓB�Ø—y‘y B 4Ñ'¨$¯.©.Ñ8‘Ø˜‘—‘ 4§=¡=Ó0Ø! !™9Ÿ?™?¨1¨RÐ0�Ø—~‘~¨¨Ñ,¨t¯y©yÑ8‘äÐ4Ô5ØÛˆAÜ—G‘G—L‘L  8Ó,ˆEðÜ˜E #“×+Ñ+Ó-�ÜŸ™Ÿ™¨Ó.�ÞØ—N‘N×)Ñ)¨!¨EÔ2ØŸ=™=¨Ö7�CØ”Iñ 8æØŸ™ qÐ)Ùñ ô Ð&¨Ñ1Õ2ùò/ $Bøô( ó Úðüs>   ‚BH-Â!H-Â?HÃB#H-Å8BHÈH-È
H*È&H-È)H*È*H-c           	      óÌ  • [        U[        5      (       a  U R                  U5      nUn US   n[        U5      S:”  a  US   nOS nU(       d/  [	        UR
                  / 5      nXPR                  UR
                  '   g UR                  U R                  ;   aA  [	        UR
                  U R                  USS  5      5      nXPR                  UR
                  '   g UR
                  S:X  GaM  U R                  USS  5      u  pgnSn	U GH  n
U	(       a  [        S5          g SR                  U
 Vs/ s H  n[        UR
                  5      PM     sn5      nUS:X  a)  S	n	U R                  U
S   l        S
U
S   l        S	n	U
SS 2	 M|  USS  S:X  aV  U
S   R                  U R                  :X  a9  S	n	U
SS 2	 U
S   R
                  SS  S:X  a  U
S   R
                  S S U
S   l        MÛ  [        U
5      S:”  d   U
S   R                  U R                  :w  d  GM
  [        S5          g    U R                  USU-   S  5      nSnU[        U5      :  a“  US-   [        U5      :  ak  XÞ   R                  U R                  ;   a  XÞS-      R
                  S:X  a  XÞ	 MV  XÞ   R
                  S:X  a$  XÞS-      R                  U R                  ;   a  XÞS-   	 US-  nU[        U5      :  a  M“  [	        UR
                  X× Vs/ s H  oÿS   R
                  PM     snU	5      nU R                  U5        XPR                  UR
                  '   g [        S5        g s  snf s  snf ! [          a    [        S5         g f = f)Nr   r*   r°   r9   Fz0No more arguments may follow a variadic argumentr’   z...TÚ__VA_ARGS__éýÿÿÿzInvalid macro argumentr€   zBad macro definition)Ú
isinstanceÚSTRING_TYPESrt   r—   rM   r   rb   r#   rŠ   r¢   r«   rw   r™   r×   rƒ   r¼   ÚLookupError)rU   rr   ÚlinetokrP   ÚmtyperÌ   rÎ   r¦   r§   rR   ÚarÇ   ÚastrÚmvaluerœ   rš   s                   r   rh   ÚPreprocessor.define  s  € Ü�fœ\×*Ñ*Ø—]‘] 6Ó*ˆFàˆð9	*Ø˜1‘:ˆDÜ�7‹|˜aÓØ ™
‘à�ÞÜ˜$Ÿ*™* RÓ(�Ø*+—‘˜DŸJ™JÒ'Ø—‘˜tŸy™yÓ(ä˜$Ÿ*™* T§_¡_°W¸Q¸R°[Ó%AÓB�Ø*+—‘˜DŸJ™JÒ'Ø—‘ Ô#à,0×,=Ñ,=¸gÀaÀb¸kÓ,JÑ)� 	Ø �Ü�AÞÜÐPÔQÙØŸ7™7¹AÓ#>ºA°b¤C¨¯©¦M¹AÑ#>Ó?�DØ˜u“}Ø#'˜Ø$(§I¡I˜˜!™œ	Ø%2˜˜!™œ
Ø#'˜Ø˜a™b˜EÙ Ø˜b˜c˜ eÓ+°°!±·	±	¸T¿Y¹YÓ0FØ#'˜Ø˜a™b˜Eð ˜Q™4Ÿ:™: b c˜?¨eÓ3Ø)*¨1©¯©°C°R¨˜A˜a™DœJÙ Ü˜1“v “z Q q¡T§Y¡Y°$·)±)Ö%;ÜÐ6Ô7Ùñ- ð0 "Ÿ_™_¨W°Q°x±Z°[Ð-AÓB�FØ�AØœc &›k›/Ø˜Q™3¤ V£Ó,Ø%™yŸ~™~°·±Ó:¸vÈÁc¹{×?PÑ?PÐTXÓ?XØ$* IÙ (Ø!'¡§¡°DÓ!8¸VÀaÁC¹[×=MÑ=MÐQU×QZÑQZÓ=ZØ$*¨Q©3 KØ˜Q™˜ð œc &›k�/ô ˜dŸj™j¨ÀTÓ0JÂTÀ°1±·´ÁTÑ0JÈ8ÓT�AØ×&Ñ& qÔ)Ø./—K‘K §
¡
Ò+äÐ,Õ-ùòE $?ùò< 1Køô
 ó 	*ÜÐ(Ö)ð	*ús^   ªAM Á<AM ÃAM ÄM Ä*M
Å	B?M ÈM ÈB;M ËM Ë+MÌ1M Ì5M Í
M ÍM#Í"M#c                 ó^   • US   R                   n U R                  U	 g ! [         a     g f = f)Nr   )r   rb   r  )rU   rr   Úids      r   râ   ÚPreprocessor.undef]  s1   € Ø�A‰Y�_‰_ˆð	Ø—‘˜B‘øÜó 	Ùð	ús   ‘ Ÿ
,«,c                 ó<   • X0l         U R                  X5      U l        g rn   )Úignorerñ   rj   )rU   rJ   rT   r  s       r   ÚparseÚPreprocessor.parsei  s   € ØŒØ—m‘m EÓ1ˆ�r   c                 óš   •   [        U R                  5      nUR                  U R                  ;  a  U$ M3  ! [         a
    S U l         g f = frn   )Únextrj   r#   r  ÚStopIteration)rU   rs   s     r   ro   ÚPreprocessor.tokenr  sL   € ð	ØÜ˜4Ÿ;™;Ó'�Ø—8‘8 4§;¡;Ó.°s°
ñ øô ó 	ØˆDŒKÙð	ús   ‚16 ´6 ¶A
Á	A
)r  r   rb   rj   rc   rT   rƒ   r…   r†   r‰   rˆ   r‡   rŠ   rd   rn   )rX   rY   rZ   r[   rV   rt   r{   re   r�   rŸ   r¢   r«   r¼   rÈ   rÀ   rÝ   rñ   rà   rh   râ   r  ro   r\   r   r   r   r^   r^   �   so   † ôò,ò,ò4JòxòòB	ò8+òj!:òV'ôd9òD4ôv{òF)3òb>*òLð !%¨Bô 2õr   r^   Ú__main__r*   )1ÚsysÚversion_infoÚmajorr×   Úunicoder  Úranger–   rr   Úliteralsr   Út_CPP_POUNDÚt_CPP_DPOUNDÚt_CPP_IDr   Út_CPP_INTEGERÚt_CPP_FLOATr   r    r%   r'   r,   Úrer¸   rf   Úos.pathrô   ÚcompilerH   rC   rK   ÚobjectrM   r^   rX   Úply.lexra   r   rõ   ÚargvÚfrö   rJ   rû   r  ro   rs   rw   rT   r   r   r   Ú<module>r*     sm  ðó ð ×Ñ×Ñ˜AÓØ˜�>�Là€LØ€Fð
€ð ,€òð
 €Ø€ð €òð €ð Q€òòòòòó 
Û Û Û ð& —
’
Ð6Ó7€àØØØØØØØØñ
€òKô&ˆFô ô"\�6ô \ð| ˆzÓÝØ�GŠG‹I€Eó ÙˆS�X‰X�a‰[Ó€AØ�F‰F‹H€Eá�UÓ€AØ‡G�GˆE�#—(‘(˜1‘+ÔØ
Ø�g‰g‹iˆÞ�EÙˆa�h‰h˜Ôñ ð r   