
    #	h              
       \   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    C/var/www/html/env/lib/python3.13/site-packages/pycparser/ply/cpp.pyt_CPP_WSr      &    GGNNaggmmD))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GGNNcNAFsqwH 9<qwHr   c                 "    SU l         SU l        U $ )z(//.*?(\n|$))r	   r   )r#   r   r   s    r   t_CPP_COMMENT2r'   J   s     AFqw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    WWQZAFggajAGGGLL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    }QWWYr]'Cr   )_trigraph_patsub)inputs    r   trigraphrK   y   s    CE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+    	
 !"+DK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    =IIE
	 	^^%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 MM# r   c                 $    [        SXU4-  5        g )Nz%s:%d %s)print)rU   filelinemsgs       r   errorPreprocessor.error   s    jDc?*+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    	

&jj cii</67DI 	

!jj c#))n-34 XXDN"&syy/D 	

(jj cii>123HHDM 	

jj cii4'DL88DL 	

jj cii4'!DN9: XXDN\\4>>2	 9AJJQ**""$C#))q.Dq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    jj %*%5%5%78%7%78E
#A!A(##D))q3u:~ 8CR=1Q (##D))q3u:~ $ 		% 		%
))+C$xx499$):""!   - 9s)   -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&)..DII"=FA #f+o&)..DII"=2A2JKM1f4994FA 1f4994Q34L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OU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"3tyy"@FA |),"3"3tyy"@ Ly|11S8QqS!JJt{{9Q<#6#67WXb"9	QlAww#~""1%1C1a<"DOOK$@A!((+Q3t--""1%CGqLDOOK89  1% ""1%FA' l, 	

4;;y}334TU"Rx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        OU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    "#ekk""{{1~""dii/EKKN4H4HEMM4Y,,U[[^-A-ABq5U[[1-33s:%)YYu{{1~%>EKKN*.--EKKN'AaC(OO**FQ3<8!eAaC 0 6 6$ >KK&&FQ3'78AaC(sc%++..5;;qs3C3I3IT3QKK&&F~6FA KK&&F~6Q%%->>q1u5;;qs3C3I3IS3PA#U[[!11AaC8H8M8MQUQZQZ8ZQqS)//5<<?))0015FA7 #ekk""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  oR                   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  pn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{tyy}{3 IF*)/"''DL:YLq77L:Y2Z)Z(c(cdhio(p%YYsv&CF(0CFL	 ) >>$r(**" +  %E1|!\ac
#)'+'9'9$,'GH$%-ac
 !,  #*"r2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OU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  pn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OU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OU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                  X5      nU H  nUR                  Ul        M     XX9U
-   & 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vv"77dkk)aggX.E(,HWW%AGG,A99!//0Q220QRZ[!#A'(xxAH "$(*q1SW E#f+o&)..DII2MFA  #f+o&)..DII2M!9??c16:6G6Gr
6S3H)#$::#d)AII2N $

4;;qxx@`dedkdklopqpypylzc{@{ |$%L!"D	C		N1<L0L#&qyy>A#5$(JJt{{188Dnrsryry{~  @A  @I  @I  |J  KL  |L  rM  EM  %N$(JJt{{188Dmqrqxqxz}~  H  H  {I  JK  {K  qL  EL  %M$%L#$::'*4yC		N14D'D(,BAG)TWXYXaXaTbcdTdJeHefgfpqrfrAsS^A-=(>,0QYY,A '+&<&<Q&D&*&8&8&F),A/0xxAH *-7:q8 4 !SX )WW
*!^^AF"11!((;AGFAi #f+oj 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~~*vy)/KE!	#f+oy~~2Q 4994!9??dkk9%)F%)F(%yC/$(	C/

4;;vy/?/?@UVFA! #f+o" "&	"&"5"5f"=	Q3qs7OFA3 #f+o4 ##F+V$CAvv" IIaL	!%	"&"5"5d";	4>>) IIaL	"%fioo"6	ioob)1II&,ioocr&:FIO ioob)1II % wwf5fAGGf56||D)||D(||C(	$ZF  6  	JJt{{6!9#3#34R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  pU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	     XR                  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     UO  #F%./	A"188499,e &yyC Cxx499,1BS)  !OOAacdG4	$Q<--D??9QR=9DDD8##'#5#5e#<C"%I $= "D)	 
 Y&#'#5#5e#<C"%I $= ""&++j"9#'<<#5C"%I $629J/&,  W_#'#5#5e#<C"%I $= "

4(	 
 W_NNF#56#Aw}};%*F(-I(,I  X%NNF#567==DKK7%*F(-I(,I  T\NNF#56!%t!4%%*F(-I(,I  V^"2;q>%).%.)-t)<#).2F04I $* &/ * 

4;;y|/B/BCTUV^"2;q>%).%.)-,0	 &/ * 

4;;y|/B/BCTUW_+2;;=(y

4;;y|/B/BCUV  6LLOM 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                  X5       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    ay#%&)..DMM*I++F3ay#%#f+oy#-FA #f+o
 4577VAa[#A[GG[#AByyB4'$..84==0!!9??1R0~~,tyy845AGGLL8,EE#++-.NN))!E2==7C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  XS-      R
                  S:X  a  X	 MV  X   R
                  S:X  a$  XS-      R                  U R                  ;   a  XS-   	 US-  nU[        U5      :  a  M  [	        UR
                  X Vs/ s H  oS   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(*+DJJ'tyy($**T__WQR[%AB*+DJJ'#,0,=,=gabk,J)	 APQ77A#>AbCMA#>?Du}#'$(II!	%2!
#'abE bce+!		TYY0F#'abE Q4::bc?e3)*1CRAaDJ 1vzQqTYY$))%;67- 0 "__WQxZ[-ABFAc&k/Q3V,%y~~:vc{?P?PTX?X$*I (!'D!8VaC[=M=MQUQZQZ=Z$*Q3KQ c&k/ djjT0JT1T0J8TA&&q)./KK

+,-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    AY__	B 		s    
,,c                 <    X0l         U R                  X5      U l        g rn   )ignorer   rj   )rU   rJ   rT   r  s       r   parsePreprocessor.parsei  s    mmE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;;'884;;.s
   	DK	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)3b>*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GGIE SXXa[AFFHEUAGGE#((1+
ggiEahh  r   