§
    ƒnócìm  ã            	      ó¢  — d dl mZ ddlmZmZ ddlmZ ddlmZmZm	Z	m
Z
mZmZmZ ddlmZmZmZmZmZmZ ddlmZ dd	lmZmZ dd
lmZmZmZ ddlmZ ddl m Z  d dl!Z!d dl"Z"d dl#Z#d dl$Z$d dl%Z&d dl'Z'e&j(        rÈddlm)Z)m*Z*m+Z+ ddl,m-Z- e&j.        e&j/        e&j0        ej1                 e&j0        e2         e&j0        e3         e&j0        e4         e&j0        e5         e&j0        e6         f         e&j7        e
dgee
         f         f         Z8e&j.        e4e&j7        ej9        e&j:        e+         e&j.        e4e+f         ge+f         f         Z; G d„ d¦  «        Z<dS )é    )Úannotationsé   )ÚmparserÚmesonlib)Úenvironmenté   )ÚInterpreterObjectÚMesonInterpreterObjectÚMutableInterpreterObjectÚInterpreterObjectTypeVarÚObjectHolderÚIterableObjectÚHoldableTypes)ÚInterpreterExceptionÚInvalidCodeÚInvalidArgumentsÚSubdirDoneRequestÚContinueRequestÚBreakRequest)Ú
FeatureNew)ÚDisablerÚis_disabled)Údefault_resolve_keyÚflattenÚresolve_second_level_holders)ÚMesonOperator©Ú	_unholderN)Ú
SubProjectÚTYPE_kwargsÚTYPE_var)ÚInterpreterr"   c                  ó�  — e Zd Zded„Zdfd	„Zdfd
„Zdfd„Zdfd„Zdgdhd„Zdid„Z	djd„Z
 edd¦  «        dkd „¦   «         Zdld"„Zdmd%„Zdnd'„Zdod)„Zdpd+„Zdqd-„Zdrd/„Zdsd1„Z ed2d3¦  «        dtd5„¦   «         Z ed6d7¦  «        dud9„¦   «         Zdvd;„Zdwd=„Zdxd?„ZdydA„ZdzdC„Zd{dF„Zd|dL„Zd}dN„Zedfd~dU„Z ddW„Z!d€dY„Z"dZd[œd�d`„Z#d‚da„Z$dƒdd„Z%dS )„ÚInterpreterBaseÚsource_rootÚstrÚsubdirÚ
subprojectú'SubProject'c                ó¼   — || _         i | _        i | _        i | _        i | _        || _        || _        || _        i | _        d| _	        d| _
        d | _        d | _        d S )Nr   éÿÿÿÿ)r%   ÚfuncsÚbuiltinÚ
holder_mapÚbound_holder_mapr'   Úroot_subdirr(   Ú	variablesÚargument_depthÚcurrent_linenoÚcurrent_nodeÚtmp_meson_version)Úselfr%   r'   r(   s       úL/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.pyÚ__init__zInterpreterBase.__init__K   sn   € Ø&ˆÔØ#%ˆŒ
Ø79ˆŒà)+ˆŒØ/1ˆÔØˆŒØ!ˆÔØ$ˆŒØ9;ˆŒØˆÔØ ˆÔð !ˆÔð
 "&ˆÔÐÐó    ÚreturnÚNonec                óZ  — t           j                             | j        | j        t
          j        ¦  «        }t           j                             |¦  «        st          d|› �¦  «        ‚t          |d¬¦  «        5 }| 
                    ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         rt          d¦  «        ‚t          |t          ¦  «        sJ ‚	 t          j        ||¦  «                             ¦   «         | _        d S # t&          j        $ r}||_        |‚d }~ww xY w)NzMissing Meson file in úutf-8©ÚencodingzBuilder file is empty.)ÚosÚpathÚjoinr%   r'   r   Úbuild_filenameÚisfiler   ÚopenÚreadÚisspacer   Ú
isinstancer&   r   ÚParserÚparseÚastr   ÚMesonExceptionÚfile)r6   Ú	mesonfileÚmfÚcodeÚmes        r7   Úload_root_meson_filez$InterpreterBase.load_root_meson_filea   sL  € Ý”G—L’L Ô!1°4´;ÅÔ@ZÑ[Ô[ˆ	ÝŒw�~Š~˜iÑ(Ô(ð 	IÝ"Ð#G¸IÐ#GÐ#GÑHÔHÐHÝ�) gÐ.Ñ.Ô.ð 	°"Ø—7’7‘9”9ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�<Š<‰>Œ>ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜$¥Ñ$Ô$Ð$Ð$Ð$ð	Ý”~ d¨IÑ6Ô6×<Ò<Ñ>Ô>ˆDŒHˆHˆHøÝÔ&ð 	ð 	ð 	ØˆBŒGØˆHøøøøð	øøøs*   Á8BÂBÂ BÃ,D ÄD*Ä	D%Ä%D*c                ó>   — |                       | j        d¬¦  «         dS )zœ
        Parses project() and initializes languages, compilers etc. Do this
        early because we need this before we parse the rest of the AST.
        r   )ÚendN)Úevaluate_codeblockrK   ©r6   s    r7   Úparse_projectzInterpreterBase.parse_projectp   s%   € ð
 	×Ò ¤¨aÐÑ0Ô0Ð0Ð0Ð0r9   c                óÌ  — t          | j        t          j        ¦  «        st	          d¦  «        ‚| j        j        st	          d¦  «        ‚| j        j        d         }t          |t          j        ¦  «        r|j        dk    rãt          j	        | j
        ¦  «                             ¦   «         }|}|j        D ]~}|dz                       ¦   «         ret          |dz  d¬¦  «        5 }|                     ¦   «                              d¦  «        r|}	 d d d ¦  «          n	 d d d ¦  «         n# 1 swxY w Y   Œ~ d	}||k    rt	          d
|› d|› d�¦  «        ‚t	          d|› �¦  «        ‚d S )Nz5AST is of invalid type. Possibly a bug in the parser.zNo statements in code.r   Úprojectzmeson.buildr=   r>   zproject(z+first statement must be a call to project()zNot the project root: z1

Did you mean to run meson from the directory: "z"?zInvalid source tree: )rH   rK   r   ÚCodeBlockNoder   ÚlinesÚFunctionNodeÚ	func_nameÚpathlibÚPathr%   ÚresolveÚparentsÚis_filerE   ÚreadlineÚ
startswith)r6   ÚfirstÚpÚfoundÚparentÚfÚerrors          r7   Úsanity_check_astz InterpreterBase.sanity_check_astw   sÕ  € Ý˜$œ(¥GÔ$9Ñ:Ô:ð 	WÝÐUÑVÔVÐVØŒxŒ~ð 	8ÝÐ6Ñ7Ô7Ð7Ø””˜qÔ!ˆÝ˜%¥Ô!5Ñ6Ô6ð 	C¸%¼/ÈYÒ:VÐ:VÝ”˜TÔ-Ñ.Ô.×6Ò6Ñ8Ô8ˆAØˆEØœ)ð ð �Ø˜]Ñ*×3Ò3Ñ5Ô5ð Ý˜f }Ñ4¸wÐGÑGÔGð "È1ØŸ:š:™<œ<×2Ò2°:Ñ>Ô>ð "Ø$*˜EØ!ð"ð "ð "ñ "ô "ð "ð "ð "ð"ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "øð
 àAˆEØ˜ŠzˆzÝ!Ð"~¸5Ð"~Ð"~ÐuzÐ"~Ð"~Ð"~ÑÔÐå!Ð"A¸%Ð"AÐ"AÑBÔBÐBð! ;WÐ:Vs   Ã"+D'Ä'D+	Ä.D+	c                ób   — 	 |                       | j        d¬¦  «         d S # t          $ r Y d S w xY w)Nr   )Ústart)rU   rK   r   rV   s    r7   ÚrunzInterpreterBase.run�   sJ   € ð	Ø×#Ò# D¤H°AÐ#Ñ6Ô6Ð6Ð6Ð6øÝ ð 	ð 	ð 	ØˆDˆDð	øøøs   ‚   
.­.r   NÚnodeúmparser.CodeBlockNoderm   ÚintrT   úT.Optional[int]c                óT  — |€d S t          |t          j        ¦  «        s)t          d¦  «        }|j        |_        |j        |_        |‚|j        ||…         }d}|t          |¦  «        k     r¼||         }	 |j        | _        |  	                    |¦  «         nw# t          $ rj}t          |dd ¦  «        €R|j        |_        |j        |_        t          j                             | j        | j        t"          j        ¦  «        |_        |‚d }~ww xY w|dz  }|t          |¦  «        k     °ºd S d S )Nz?Tried to execute a non-codeblock. Possibly a bug in the parser.r   Úlinenor   )rH   r   rZ   r   rt   Úcolnor[   Úlenr3   Úevaluate_statementÚ	ExceptionÚgetattrr@   rA   rB   r%   r'   r   rC   rM   )r6   ro   rm   rT   ÚeÚ
statementsÚiÚcurs           r7   rU   z"InterpreterBase.evaluate_codeblock—   s.  € Øˆ<ØˆFÝ˜$¥Ô 5Ñ6Ô6ð 	ÝÐ]Ñ^Ô^ˆAØ”{ˆAŒHØ”jˆAŒGØˆGØ”Z  c 	Ô*ˆ
ØˆØ•#�j‘/”/Ò!Ð!Ø˜Q”-ˆCð	Ø&)¤j�Ô#Ø×'Ò'¨Ñ,Ô,Ð,Ð,øÝð ð ð Ý˜1˜h¨Ñ-Ô-Ð5à"œz�A”HØ!œi�A”GÝœWŸ\š\¨$Ô*:¸D¼KÍÔIcÑdÔd�A”FØ�øøøøðøøøð �‰FˆAð •#�j‘/”/Ò!Ð!Ð!Ð!Ð!Ð!s   Á5!B Â
DÂ!A%DÄDr}   úmparser.BaseNodeúT.Optional[InterpreterObject]c                ó	  — || _         t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «         �n#t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j	        ¦  «        r|  
                    |j        ¦  «        S t          |t          j        ¦  «        r|  
                    |j        ¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |j        ¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|  
                    |j        ¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j        ¦  «        r|                      |¦  «        S t          |t          j         ¦  «        r|  !                    |¦  «        S t          |t          j"        ¦  «        r|  #                    |¦  «         �nLt          |t          j$        ¦  «        r|  %                    |¦  «         �nt          |t          j&        ¦  «        r|  '                    |¦  «        S t          |t          j(        ¦  «        r|  )                    |¦  «        S t          |t          j*        ¦  «        rDt          |t          j+        ¦  «        r|  ,                    |¦  «        S |  -                    |¦  «        S t          |t          j.        ¦  «        rt_          ¦   «         ‚t          |t          j0        ¦  «        rtc          ¦   «         ‚te          d¦  «        ‚d S )NzUnknown statement.)3r4   rH   r   r\   Úfunction_callÚAssignmentNodeÚ
assignmentÚ
MethodNodeÚmethod_callÚ
StringNodeÚ
_holderifyÚvalueÚBooleanNodeÚIfClauseNodeÚevaluate_ifÚIdNodeÚget_variableÚComparisonNodeÚevaluate_comparisonÚ	ArrayNodeÚevaluate_arraystatementÚDictNodeÚevaluate_dictstatementÚ
NumberNodeÚAndNodeÚevaluate_andstatementÚOrNodeÚevaluate_orstatementÚNotNodeÚevaluate_notstatementÚ
UMinusNodeÚevaluate_uminusstatementÚArithmeticNodeÚevaluate_arithmeticstatementÚForeachClauseNodeÚevaluate_foreachÚPlusAssignmentNodeÚevaluate_plusassignÚ	IndexNodeÚevaluate_indexingÚTernaryNodeÚevaluate_ternaryÚFormatStringNodeÚMultilineFormatStringNodeÚevaluate_multiline_fstringÚevaluate_fstringÚContinueNoder   Ú	BreakNoder   r   )r6   r}   s     r7   rw   z"InterpreterBase.evaluate_statement¯   sé  € ØˆÔÝ�c�7Ô/Ñ0Ô0ð 2	4Ø×%Ò% cÑ*Ô*Ð*Ý˜�WÔ3Ñ4Ô4ð 0	4Ø�OŠO˜CÑ Ô Ð Ñ Ý˜�WÔ/Ñ0Ô0ð .	4Ø×#Ò# CÑ(Ô(Ð(Ý˜�WÔ/Ñ0Ô0ð ,	4Ø—?’? 3¤9Ñ-Ô-Ð-Ý˜�WÔ0Ñ1Ô1ð *	4Ø—?’? 3¤9Ñ-Ô-Ð-Ý˜�WÔ1Ñ2Ô2ð (	4Ø×#Ò# CÑ(Ô(Ð(Ý˜�Wœ^Ñ,Ô,ð &	4Ø×$Ò$ S¤YÑ/Ô/Ð/Ý˜�WÔ3Ñ4Ô4ð $	4Ø×+Ò+¨CÑ0Ô0Ð0Ý˜�WÔ.Ñ/Ô/ð "	4Ø×/Ò/°Ñ4Ô4Ð4Ý˜�WÔ-Ñ.Ô.ð  	4Ø×.Ò.¨sÑ3Ô3Ð3Ý˜�WÔ/Ñ0Ô0ð 	4Ø—?’? 3¤9Ñ-Ô-Ð-Ý˜�Wœ_Ñ-Ô-ð 	4Ø×-Ò-¨cÑ2Ô2Ð2Ý˜�Wœ^Ñ,Ô,ð 	4Ø×,Ò,¨SÑ1Ô1Ð1Ý˜�Wœ_Ñ-Ô-ð 	4Ø×-Ò-¨cÑ2Ô2Ð2Ý˜�WÔ/Ñ0Ô0ð 	4Ø×0Ò0°Ñ5Ô5Ð5Ý˜�WÔ3Ñ4Ô4ð 	4Ø×4Ò4°SÑ9Ô9Ð9Ý˜�WÔ6Ñ7Ô7ð 	4Ø×!Ò! #Ñ&Ô&Ð&Ñ&Ý˜�WÔ7Ñ8Ô8ð 	4Ø×$Ò$ SÑ)Ô)Ð)Ñ)Ý˜�WÔ.Ñ/Ô/ð 	4Ø×)Ò)¨#Ñ.Ô.Ð.Ý˜�WÔ0Ñ1Ô1ð 	4Ø×(Ò(¨Ñ-Ô-Ð-Ý˜�WÔ5Ñ6Ô6ð 
	4Ý˜#�wÔ@ÑAÔAð 2Ø×6Ò6°sÑ;Ô;Ð;à×,Ò,¨SÑ1Ô1Ð1Ý˜�WÔ1Ñ2Ô2ð 	4Ý!Ñ#Ô#Ð#Ý˜�WÔ.Ñ/Ô/ð 	4Ý‘.”.Ð åÐ2Ñ3Ô3Ð3Øˆtr9   úmparser.ArrayNoder	   c                ó¾   — |                       |j        ¦  «        \  }}t          |¦  «        dk    rt          d¦  «        ‚|                      d„ |D ¦   «         ¦  «        S )Nr   z4Keyword arguments are invalid in array construction.c                ó,   — g | ]}t          |¦  «        ‘ŒS © r   ©Ú.0Úxs     r7   ú
<listcomp>z;InterpreterBase.evaluate_arraystatement.<locals>.<listcomp>ê   s   € Ð@Ð@Ð@°¥	¨!¡¤Ð@Ð@Ð@r9   )Úreduce_argumentsÚargsrv   r   r‡   )r6   r}   Ú	argumentsÚkwargss       r7   r‘   z'InterpreterBase.evaluate_arraystatementæ   s[   € Ø"×3Ò3°C´HÑ=Ô=Ñˆ�FÝˆv‰;Œ;˜Š?ˆ?ÝÐTÑUÔUÐUØ�ŠÐ@Ð@°iÐ@Ñ@Ô@ÑAÔAÐAr9   Údictz0.47.0úmparser.DictNodec                óº   ‡ — d	ˆ fd„}‰                       |j        |d¬¦  «        \  }}|rJ ‚‰                      d„ |                     ¦   «         D ¦   «         ¦  «        S )
NÚkeyr~   r:   r&   c                óþ   •— t          | t          j        ¦  «        st          j        dd‰j        ¦  «         t          ‰                     | ¦  «        ¦  «        }t          |t          ¦  «        st          d¦  «        ‚|S )Nz&Dictionary entry using non literal keyz0.53.0zKey must be a string)
rH   r   r†   r   Ú
single_user(   r   rw   r&   r   )r¼   Ústr_keyr6   s     €r7   Úresolve_keyz;InterpreterBase.evaluate_dictstatement.<locals>.resolve_keyî   su   ø€ Ý˜c¥7Ô#5Ñ6Ô6ð kÝÔ%Ð&NÐPXÐZ^ÔZiÑjÔjÐjÝ × 7Ò 7¸Ñ <Ô <Ñ=Ô=ˆGÝ˜g¥sÑ+Ô+ð ?Ý&Ð'=Ñ>Ô>Ð>ØˆNr9   zDuplicate dictionary key: {})Úkey_resolverÚduplicate_key_errorc                ó4   — i | ]\  }}|t          |¦  «        “ŒS r°   r   ©r²   ÚkÚvs      r7   ú
<dictcomp>z:InterpreterBase.evaluate_dictstatement.<locals>.<dictcomp>÷   s$   € ÐKÐKÐK±D°A°q ¥9¨Q¡<¤<ÐKÐKÐKr9   )r¼   r~   r:   r&   )rµ   r¶   r‡   Úitems)r6   r}   rÀ   r·   r¸   s   `    r7   r“   z&InterpreterBase.evaluate_dictstatementì   s„   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð !×1Ò1°#´(Èð  kIÐ1ñ  Jô  JÑˆ	�6ØÐÐÐØ�ŠÐKÐK¸F¿LºL¹N¼NÐKÑKÔKÑLÔLÐLr9   úmparser.NotNodec                óÊ   — |                       |j        ¦  «        }t          |t          ¦  «        r|S |                      |                     t          j        d ¦  «        ¦  «        S ©N)rw   rˆ   rH   r   r‡   Úoperator_callr   ÚNOT©r6   r}   rÆ   s      r7   rš   z%InterpreterBase.evaluate_notstatementù   sQ   € Ø×#Ò# C¤IÑ.Ô.ˆÝ�a�Ñ"Ô"ð 	ØˆHØ�Š˜qŸš­}Ô/@À$ÑGÔGÑHÔHÐHr9   úmparser.IfClauseNodeúT.Optional[Disabler]c           	     óZ  — t          |t          j        ¦  «        sJ ‚|j        D �]L}d | _        |                      |j        ¦  «        }t          |t          ¦  «        r|c S t          |t          ¦  «        s-t          j
        d|› dt          |¦  «        j        › d�¦  «        ‚|                     t          j        d ¦  «        }t          |t           ¦  «        st#          d|›d�¦  «        ‚|rƒt          j        | j                 }| j        r| j        t          j        | j        <   	 |                      |j        ¦  «         |t          j        | j        <   n# |t          j        | j        <   w xY w d S �ŒNt          |j        t          j        ¦  «        s|                      |j        ¦  «         d S )NzArgument to not (z") is not an InterpreterObject but ú.z
If clause z$ does not evaluate to true or false.)rH   r   rŠ   Úifsr5   rw   Ú	conditionr   r	   r   ÚMesonBugExceptionÚtypeÚ__name__rÌ   r   ÚBOOLÚboolr   Úproject_meson_versionsr(   rU   ÚblockÚ	elseblockÚ	EmptyNode)r6   ro   r|   ÚresultÚresÚprev_meson_versions         r7   r‹   zInterpreterBase.evaluate_ifÿ   sÐ  € Ý˜$¥Ô 4Ñ5Ô5Ð5Ð5Ð5Ø”ð 	ñ 	ˆAð &*ˆDÔ"Ø×,Ò,¨Q¬[Ñ9Ô9ˆFÝ˜&¥(Ñ+Ô+ð Ø���Ý˜fÕ&7Ñ8Ô8ð IÝÔ0ð  2HÀVð  2Hð  2HÕosÐtzÑo{Ôo{ô  pEð  2Hð  2Hð  2Hñ  Iô  Ið  IØ×&Ò&¥}Ô'9¸4Ñ@Ô@ˆCÝ˜c¥4Ñ(Ô(ð _Ý!Ð"]¨vÐ"]Ð"]Ð"]Ñ^Ô^Ð^Øð Ý%-Ô%DÀTÄ_Ô%UÐ"ØÔ)ð ^ØGKÔG]•HÔ3°D´OÑDðZØ×+Ò+¨A¬GÑ4Ô4Ð4àGY•HÔ3°D´OÑDÐDøÐGY•HÔ3°D´OÑDÐYÐYÐYÐYØ�t�tñõ ˜$œ.­'Ô*;Ñ<Ô<ð 	4Ø×#Ò# D¤NÑ3Ô3Ð3Øˆts   Ä%EÅE*úmparser.ComparisonNodec           	     óH  — |                       |j        ¦  «        }t          |t          ¦  «        r|S |                       |j        ¦  «        }t          |t          ¦  «        r|S t
          j        t
          j        t
          j        t
          j	        t
          j
        t
          j        t
          j        t
          j        dœ|j                 }|t
          j        t
          j        fv r||}}||_        |                      |                     |t%          |¦  «        ¦  «        ¦  «        S )N)ÚinÚnotinz==z!=ú>ú<z>=z<=)rw   ÚleftrH   r   Úrightr   ÚINÚNOT_INÚEQUALSÚ
NOT_EQUALSÚGREATERÚLESSÚGREATER_EQUALSÚLESS_EQUALSÚctyper4   r‡   rÌ   r   )r6   ro   Úval1Úval2Úoperators        r7   r�   z#InterpreterBase.evaluate_comparison  sõ   € Ø×&Ò& t¤yÑ1Ô1ˆÝ�d�HÑ%Ô%ð 	ØˆKØ×&Ò& t¤zÑ2Ô2ˆÝ�d�HÑ%Ô%ð 	ØˆKõ  Ô"Ý"Ô)ÝÔ&ÝÔ*ÝÔ&ÝÔ#ÝÔ.ÝÔ+ð	
ð 	
ð Œ*ô	ˆð �Ô(­-Ô*>Ð?Ð?Ð?Ø˜t�$ˆDà ˆÔØ�Š˜t×1Ò1°(½IÀd¹O¼OÑLÔLÑMÔMÐMr9   úmparser.AndNodec                óš  — |                       |j        ¦  «        }t          |t          ¦  «        r|S |                     t
          j        d ¦  «        }|s|                      |¦  «        S |                       |j        ¦  «        }t          |t          ¦  «        r|S |                      |                     t
          j        d ¦  «        ¦  «        S rË   ©	rw   rç   rH   r   rÌ   r   rØ   r‡   rè   ©r6   r}   ÚlÚl_boolÚrs        r7   r–   z%InterpreterBase.evaluate_andstatement5  s­   € Ø×#Ò# C¤HÑ-Ô-ˆÝ�a�Ñ"Ô"ð 	ØˆHØ—’¥Ô!3°TÑ:Ô:ˆØð 	+Ø—?’? 6Ñ*Ô*Ð*Ø×#Ò# C¤IÑ.Ô.ˆÝ�a�Ñ"Ô"ð 	ØˆHØ�Š˜qŸš­}Ô/AÀ4ÑHÔHÑIÔIÐIr9   úmparser.OrNodec                óš  — |                       |j        ¦  «        }t          |t          ¦  «        r|S |                     t
          j        d ¦  «        }|r|                      |¦  «        S |                       |j        ¦  «        }t          |t          ¦  «        r|S |                      |                     t
          j        d ¦  «        ¦  «        S rË   r÷   rø   s        r7   r˜   z$InterpreterBase.evaluate_orstatementA  s­   € Ø×#Ò# C¤HÑ-Ô-ˆÝ�a�Ñ"Ô"ð 	ØˆHØ—’¥Ô!3°TÑ:Ô:ˆØð 	+Ø—?’? 6Ñ*Ô*Ð*Ø×#Ò# C¤IÑ.Ô.ˆÝ�a�Ñ"Ô"ð 	ØˆHØ�Š˜qŸš­}Ô/AÀ4ÑHÔHÑIÔIÐIr9   úmparser.UMinusNodec                óØ   — |                       |j        ¦  «        }t          |t          ¦  «        r|S ||_        |                      |                     t          j        d ¦  «        ¦  «        S rË   )	rw   rˆ   rH   r   r4   r‡   rÌ   r   ÚUMINUSrÎ   s      r7   rœ   z(InterpreterBase.evaluate_uminusstatementM  sX   € Ø×#Ò# C¤IÑ.Ô.ˆÝ�a�Ñ"Ô"ð 	ØˆHØˆŒØ�Š˜qŸš­}Ô/CÀTÑJÔJÑKÔKÐKr9   úmparser.ArithmeticNodec                óÎ  — |                       |j        ¦  «        }t          |t          ¦  «        r|S |                       |j        ¦  «        }t          |t          ¦  «        r|S t
          j        t
          j        t
          j        t
          j	        t
          j
        dœ}||_        |                     ||j                 t          |¦  «        ¦  «        }|                      |¦  «        S )N)ÚaddÚsubÚmulÚdivÚmod)rw   rç   rH   r   rè   r   ÚPLUSÚMINUSÚTIMESÚDIVÚMODr4   rÌ   Ú	operationr   r‡   )r6   r}   rù   rû   Úmappingrß   s         r7   rž   z,InterpreterBase.evaluate_arithmeticstatementT  sÁ   € Ø×#Ò# C¤HÑ-Ô-ˆÝ�a�Ñ"Ô"ð 	ØˆHØ×#Ò# C¤IÑ.Ô.ˆÝ�a�Ñ"Ô"ð 	ØˆHõ !Ô%Ý Ô&Ý Ô&Ý Ô$Ý Ô$ð/
ð /
ˆð ˆŒØ�oŠo˜g c¤mÔ4µiÀ±l´lÑCÔCˆØ�Š˜sÑ#Ô#Ð#r9   úmparser.TernaryNodec                óV  — t          |t          j        ¦  «        sJ ‚|                      |j        ¦  «        }t          |t
          ¦  «        r|S ||_        |                     t          j	        d ¦  «        }|r|                      |j
        ¦  «        S |                      |j        ¦  «        S rË   )rH   r   r¥   rw   rÔ   r   r4   rÌ   r   rØ   Ú	trueblockÚ
falseblock)r6   ro   rÞ   Úresult_bools       r7   r¦   z InterpreterBase.evaluate_ternaryg  s›   € Ý˜$¥Ô 3Ñ4Ô4Ð4Ð4Ð4Ø×(Ò(¨¬Ñ8Ô8ˆÝ�f�hÑ'Ô'ð 	ØˆMØ"ˆÔØ×*Ò*­=Ô+=¸tÑDÔDˆØð 	<Ø×*Ò*¨4¬>Ñ:Ô:Ð:à×*Ò*¨4¬?Ñ;Ô;Ð;r9   zmultiline format stringsz0.63.0ú!mparser.MultilineFormatStringNodec                ó,   — |                       |¦  «        S rË   )rª   )r6   ro   s     r7   r©   z*InterpreterBase.evaluate_multiline_fstrings  s   € à×$Ò$ TÑ*Ô*Ð*r9   zformat stringsz0.58.0úmparser.FormatStringNodec                ó¨   ‡ — t          |t          j        ¦  «        sJ ‚dˆ fd„}t          j        d||j        ¦  «        }‰                      |¦  «        S )NÚmatchúT.Match[str]r:   r&   c                óZ  •— t          |                      d¦  «        ¦  «        }	 t          ‰j        |         ¦  «        }t	          |t           t
          t          t          f¦  «        st          d|› d�dz   ¦  «        ‚t          |¦  «        S # t          $ r t          d|› d�¦  «        ‚w xY w)Nr   zIdentifier "z'" does not name a formattable variable zG(has to be an integer, a string, a floating point number or a boolean).z" does not name a variable.)
r&   Úgroupr   r1   rH   rq   ÚfloatrÙ   r   ÚKeyError)r  ÚvarÚvalr6   s      €r7   Úreplacez1InterpreterBase.evaluate_fstring.<locals>.replace{  sÂ   ø€ Ý�e—k’k !‘n”nÑ%Ô%ˆCðSÝ ¤¨sÔ 3Ñ4Ô4�Ý! #­­Sµ%½Ð'>Ñ?Ô?ð qÝ%Ð&a°SÐ&aÐ&aÐ&aØ&oñ'pñ qô qð qõ ˜3‘x”x�øÝð Sð Sð SÝ!Ð"Q°Ð"QÐ"QÐ"QÑRÔRÐRðSøøøs   ¥A&B ÂB*z@([_a-zA-Z][_0-9a-zA-Z]*)@)r  r  r:   r&   )rH   r   r§   Úrer  rˆ   r‡   )r6   ro   r   rß   s   `   r7   rª   z InterpreterBase.evaluate_fstringw  sj   ø€ å˜$¥Ô 8Ñ9Ô9Ð9Ð9Ð9ð
	Sð 
	Sð 
	Sð 
	Sð 
	Sð 
	Sõ ŒfÐ2°G¸T¼ZÑHÔHˆØ�Š˜sÑ#Ô#Ð#r9   úmparser.ForeachClauseNodec           	     ó$  — t          |t          j        ¦  «        sJ ‚|                      |j        ¦  «        }t          |t
          ¦  «        st          d¦  «        ‚|                     ¦   «         }t          |j	        ¦  «        |pdk    r)t          d|pd› d| 
                    ¦   «         › �¦  «        ‚|                     ¦   «         D �]H}|€bt          |t          ¦  «        rt          j        d|› d�¦  «        ‚|                      |j	        d         |                      |¦  «        ¦  «         n¨t          |t          ¦  «        st          j        d|› d|› �¦  «        ‚t          |¦  «        |k    rt          j        d|› d|› �¦  «        ‚t#          |¦  «        D ]<}|                      |j	        |         |                      ||         ¦  «        ¦  «         Œ=	 |                      |j        ¦  «         �Œ,# t(          $ r Y �Œ9t*          $ r Y  d S w xY wd S )	Nz.Items of foreach loop do not support iteratingr   zForeach expects exactly z. variables for iterating over objects of type zIteration of z7 returned a tuple even though iter_tuple_size() is Noner   z9 did not return a tuple even though iter_tuple_size() is )rH   r   rŸ   rw   rÈ   r   r   Úiter_tuple_sizerv   ÚvarnamesÚdisplay_nameÚ	iter_selfÚtupler   rÕ   Úset_variabler‡   ÚrangerU   rÛ   r   r   )r6   ro   rÈ   Útsizer|   Újs         r7   r    z InterpreterBase.evaluate_foreachŠ  s­  € Ý˜$¥Ô 9Ñ:Ô:Ð:Ð:Ð:Ø×'Ò'¨¬
Ñ3Ô3ˆÝ˜%¥Ñ0Ô0ð 	UÝ"Ð#SÑTÔTÐTà×%Ò%Ñ'Ô'ˆÝˆtŒ}ÑÔ % *¨1Ò-Ð-Ý"ð  $O¸e¸jÀqð  $Oð  $OÐx}÷  yKò  yKñ  yMô  yMð  $Oð  $Oñ  Pô  Pð  Pà—’Ñ"Ô"ð 	ñ 	ˆAØˆ}Ý˜a¥Ñ'Ô'ð EÝ"Ô4ð  6DÀUð  6Dð  6Dð  6Dñ  Eô  Eð  EØ×!Ò! $¤-°Ô"2°D·O²OÀAÑ4FÔ4FÑGÔGÐGÐGå! !¥UÑ+Ô+ð NÝ"Ô4ð  6MÀUð  6Mð  6Mð  FKð  6Mð  6Mñ  Nô  Nð  NÝ�q‘6”6˜U’?�?Ý"Ô4ð  6MÀUð  6Mð  6Mð  FKð  6Mð  6Mñ  Nô  Nð  NÝ˜u™œð Oð O�AØ×%Ò% d¤m°AÔ&6¸¿ºÈÈ!ÌÑ8MÔ8MÑNÔNÐNÐNðØ×'Ò'¨¬
Ñ3Ô3Ð3Ñ3øÝ"ð ð ð Ø‘Ýð ð ð Ø���ðøøøð!	ð 	s   ÇG2Ç2
HÇ?	HÈHúmparser.PlusAssignmentNodec                ód  — t          |t          j        ¦  «        sJ ‚|j        }|                      |j        ¦  «        }|                      |¦  «        }||_        |                      | 	                    t          j        t          |¦  «        ¦  «        ¦  «        }|                      ||¦  «         d S rË   )rH   r   r¡   Úvar_namerw   rˆ   r�   r4   r‡   rÌ   r   r  r   r)  )r6   ro   ÚvarnameÚadditionÚold_variableÚ	new_values         r7   r¢   z#InterpreterBase.evaluate_plusassign§  sž   € Ý˜$¥Ô :Ñ;Ô;Ð;Ð;Ð;Ø”-ˆØ×*Ò*¨4¬:Ñ6Ô6ˆð ×(Ò(¨Ñ1Ô1ˆØ$(ˆÔ!Ø—O’O L×$>Ò$>½}Ô?QÕS\Ð]eÑSfÔSfÑ$gÔ$gÑhÔhˆ	Ø×Ò˜' 9Ñ-Ô-Ð-Ð-Ð-r9   úmparser.IndexNodec                ó€  — t          |t          j        ¦  «        sJ ‚|                      |j        ¦  «        }t          |t
          ¦  «        r|S t          |                      |j        ¦  «        ¦  «        }|€t          d¦  «        ‚||_	        |  
                    |                     t          j        |¦  «        ¦  «        S )Nz"Tried to evaluate indexing on None)rH   r   r£   rw   Úiobjectr   r   Úindexr   r4   r‡   rÌ   r   ÚINDEX)r6   ro   r6  r7  s       r7   r¤   z!InterpreterBase.evaluate_indexing³  s¥   € Ý˜$¥Ô 1Ñ2Ô2Ð2Ð2Ð2Ø×)Ò)¨$¬,Ñ7Ô7ˆÝ�g�xÑ(Ô(ð 	ØˆNÝ˜$×1Ò1°$´*Ñ=Ô=Ñ>Ô>ˆàˆ?Ý&Ð'KÑLÔLÐLØ#ˆÔØ�Š˜w×4Ò4µ]Ô5HÈ%ÑPÔPÑQÔQÐQr9   úmparser.FunctionNodec                óò  — |j         }|                      |j        ¦  «        \  }}|                      ||¦  «        \  }}t	          ||¦  «        r|dvrt          ¦   «         S || j        v ry| j        |         }|}t          |dd¦  «        st          |¦  «        }t          |dd¦  «        st          ||¦  «        \  }} ||||¦  «        }	|	�|  
                    |	¦  «        nd S |                      |¦  «         d S )N>   Úis_disablerr�   r)  Úunset_variablezno-args-flatteningFz!no-second-level-holder-flattening)r]   rµ   r¶   Ú_unholder_argsr   r   r,   ry   r   r   r‡   Úunknown_function_called)
r6   ro   r]   Ú	h_posargsÚh_kwargsÚposargsr¸   ÚfuncÚ	func_argsrß   s
             r7   r�   zInterpreterBase.function_call¿  s  € Ø”Nˆ	Ø $× 5Ò 5°d´iÑ @Ô @Ñˆ�HØ ×/Ò/°	¸8ÑDÔDÑˆ�&Ý�w Ñ'Ô'ð 	¨IÐ=~Ð,~Ð,~Ý‘:”:ÐØ˜œ
Ð"Ð"Ø”:˜iÔ(ˆDØˆIÝ˜4Ð!5°uÑ=Ô=ð -Ý# GÑ,Ô,�	Ý˜4Ð!DÀeÑLÔLð TÝ$@ÀÈFÑ$SÔ$SÑ!�	˜6Ø�$�t˜Y¨Ñ/Ô/ˆCØ+.¨?�4—?’? 3Ñ'Ô'Ð'ÀÐDà×(Ò(¨Ñ3Ô3Ð3Ø�4r9   úmparser.MethodNodec                ó(  — |j         }t          |t          j        ¦  «        r&d|j        › d�}|                      |j        ¦  «        }n!|j        j        }|                      |¦  «        }|j	        }|  
                    |j        ¦  «        \  }}|                      ||¦  «        \  }}	t          ||	¦  «        rt          ¦   «         S t          |t          ¦  «        st!          |› d�¦  «        ‚|dk    rlt          |t"          ¦  «        r|                      |j        ¦  «         n<t          |t          ¦  «        s't!          d|› dt)          |¦  «        j        › �¦  «        ‚||_        |                     |||	¦  «        }
|
�|                      |
¦  «        nd S )Nz
variable "ú"z is not callable.Úextract_objectsz'Invalid operation "extract_objects" on ú	 of type )Úsource_objectrH   r   rŒ   rˆ   r�   Ú	__class__r×   rw   Únamerµ   r¶   r=  r   r   r	   r   r   Úvalidate_extractionÚheld_objectrÖ   r4   r…   r‡   )r6   ro   Ú	invokableÚobject_display_nameÚobjÚmethod_nameÚh_argsr@  r¶   r¸   rß   s              r7   r…   zInterpreterBase.method_callÒ  sµ  € ØÔ&ˆ	å�i¥¤Ñ0Ô0ð 	5Ø"A¨y¬Ð"AÐ"AÐ"AÐØ×#Ò# I¤OÑ4Ô4ˆCˆCà"+Ô"5Ô">ÐØ×)Ò)¨)Ñ4Ô4ˆCØ”iˆØ!×2Ò2°4´9Ñ=Ô=Ñˆ�Ø×,Ò,¨V°XÑ>Ô>‰ˆˆvÝ�t˜VÑ$Ô$ð 	Ý‘:”:ÐÝ˜#Õ0Ñ1Ô1ð 	NÝ"Ð&9Ð#LÐ#LÐ#LÑMÔMÐMàÐ+Ò+Ð+Ý˜#�|Ñ,Ô,ð EØ×(Ò(¨¬Ñ9Ô9Ð9Ð9Ý ¥XÑ.Ô.ð EÝ&ð  (DÐQdð  (Dð  (DÕosÐtwÑoxÔoxô  pBð  (Dð  (Dñ  Eô  Eð  EØˆÔØ�oŠo˜k¨4°Ñ8Ô8ˆØ'* ˆt�Š˜sÑ#Ô#Ð#¸DÐ@r9   rß   ú$T.Union[TYPE_var, InterpreterObject]c                óÄ  — t          |t          ¦  «        rÆ| j                             t	          |¦  «        d ¦  «        }|� ||t          j        d| ¦  «        ¦  «        S | j                             ¦   «         D ]6\  }}t          ||¦  «        r! ||t          j        d| ¦  «        ¦  «        c S Œ7t          j
        d|› dt	          |¦  «        j        › d�¦  «        ‚t          |t          ¦  «        r-t          j
        d|› dt	          |¦  «        j        › d�¦  «        ‚t          |t          ¦  «        r|S t          j
        d|› dt	          |¦  «        j        › d�¦  «        ‚)	Nr"   zObject rH  z9 is neither in self.holder_map nor self.bound_holder_map.zReturned object z is an object holder.zUnknown returned object z in the parameters.)rH   r   r.   ÚgetrÖ   ÚTÚcastr/   rÈ   r   rÕ   r×   r   r
   )r6   rß   ÚclsÚtyps       r7   r‡   zInterpreterBase._holderifyì  s‹  € Ý�c�=Ñ)Ô)ð 	à”/×%Ò%¥d¨3¡i¤i°Ñ6Ô6ˆCØˆð �s˜3¥¤ }°dÑ ;Ô ;Ñ<Ô<Ð<à Ô1×7Ò7Ñ9Ô9ð Að A‘��SÝ˜c 3Ñ'Ô'ð AØ˜3˜s¥A¤F¨=¸$Ñ$?Ô$?Ñ@Ô@Ð@Ð@Ð@ðAåÔ,ð  .S°sð  .Sð  .SÅTÈ#ÁYÄYÔEWð  .Sð  .Sð  .Sñ  Tô  Tð  TÝ˜�\Ñ*Ô*ð 	ÝÔ,Ð-wÀÐ-wÐ-wÍdÐSVÉiÌiÔN`Ð-wÐ-wÐ-wÑxÔxÐxÝ˜Õ3Ñ4Ô4ð 	ØˆJÝÔ(Ð)yÀCÐ)yÐ)yÕRVÐWZÑR[ÔR[ÔRdÐ)yÐ)yÐ)yÑzÔzÐzr9   r¶   úT.List[InterpreterObject]r¸   úT.Dict[str, InterpreterObject]ú&T.Tuple[T.List[TYPE_var], TYPE_kwargs]c                óV   — d„ |D ¦   «         d„ |                      ¦   «         D ¦   «         fS )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS r°   r   r±   s     r7   r´   z2InterpreterBase._unholder_args.<locals>.<listcomp>  s   € Ð+Ð+Ð+ •	˜!‘”Ð+Ð+Ð+r9   c                ó4   — i | ]\  }}|t          |¦  «        “ŒS r°   r   rÄ   s      r7   rÇ   z2InterpreterBase._unholder_args.<locals>.<dictcomp>  s$   € Ð-YÐ-YÐ-YÁ$À!ÀQ¨aµ¸1±´Ð-YÐ-YÐ-Yr9   )rÈ   )r6   r¶   r¸   s      r7   r=  zInterpreterBase._unholder_argsÿ  s4   € ð ,Ð+ dÐ+Ñ+Ô+Ð-YÐ-YÈ&Ï,Ê,É.Ì.Ð-YÑ-YÔ-YÐYÐYr9   r]   c                ó(   — t          d|› d�¦  «        ‚)NzUnknown function "ú".)r   )r6   r]   s     r7   r>  z'InterpreterBase.unknown_function_called  s   € ÝÐ<¨yÐ<Ð<Ð<Ñ=Ô=Ð=r9   úmparser.ArgumentNoderÁ   ú#T.Callable[[mparser.BaseNode], str]rÂ   úT.Optional[str]úBT.Tuple[T.List[InterpreterObject], T.Dict[str, InterpreterObject]]c                ó¨  ‡ — t          |t          j        ¦  «        sJ ‚|                     ¦   «         rt	          d¦  «        ‚‰ xj        dz  c_        ˆ fd„|j        D ¦   «         }t          d„ |D ¦   «         ¦  «        rt	          d¦  «        ‚i }|j         	                    ¦   «         D ]ƒ\  }} ||¦  «        }t          |t          j
        ¦  «        sJ ‚‰                      |¦  «        }	|	€t	          d|› d�¦  «        ‚|r&||v r"t	          |                     |¦  «        ¦  «        ‚|	||<   Œ„‰ xj        dz  c_        ‰                      |¦  «        }
||
fS )Nz9All keyword arguments must be after positional arguments.r   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r°   )rw   )r²   Úargr6   s     €r7   r´   z4InterpreterBase.reduce_arguments.<locals>.<listcomp>  s'   ø€ ÐNÐNÐN¸�t×.Ò.¨sÑ3Ô3ÐNÐNÐNr9   c              3  ó   K  — | ]}|d u V — Œ	d S rË   r°   r±   s     r7   ú	<genexpr>z3InterpreterBase.reduce_arguments.<locals>.<genexpr>  s&   è è € Ð.Ð.˜Qˆq�DˆyÐ.Ð.Ð.Ð.Ð.Ð.r9   z,At least one value in the arguments is void.zValue of key z	 is void.)rH   r   ÚArgumentNodeÚincorrect_orderr   r2   r·   Úanyr¸   rÈ   ÚBaseNoderw   ÚformatÚexpand_default_kwargs)r6   r¶   rÁ   rÂ   Úreduced_posÚ
reduced_kwr¼   r  Úreduced_keyÚreduced_valÚfinal_kws   `          r7   rµ   z InterpreterBase.reduce_arguments  s�  ø€ õ ˜$¥Ô 4Ñ5Ô5Ð5Ð5Ð5Ø×ÒÑ!Ô!ð 	`Ý"Ð#^Ñ_Ô_Ð_ØÐÔ˜qÑ ÐÔØNÐNÐNÐN¸t¼~ÐNÑNÔNˆÝÐ.Ð. +Ð.Ñ.Ô.Ñ.Ô.ð 	SÝ"Ð#QÑRÔRÐRØ57ˆ
Øœ×)Ò)Ñ+Ô+ð 	2ð 	2‰HˆC�Ø&˜, sÑ+Ô+ˆKÝ˜c¥7Ô#3Ñ4Ô4Ð4Ð4Ð4Ø×1Ò1°#Ñ6Ô6ˆKØÐ"Ý&Ð'M°{Ð'MÐ'MÐ'MÑNÔNÐNØ"ð P {°jÐ'@Ð'@Ý&Ð':×'AÒ'AÀ+Ñ'NÔ'NÑOÔOÐOØ&1ˆJ�{Ñ#Ð#ØÐÔ˜qÑ ÐÔØ×-Ò-¨jÑ9Ô9ˆØ˜HÐ$Ð$r9   ú*T.Dict[str, T.Optional[InterpreterObject]]c                óV  — d|vr|S t          |                     d¦  «        ¦  «        }t          |t          ¦  «        st	          d¦  «        ‚d|v rt	          d¦  «        ‚|                     ¦   «         D ]4\  }}||v rt	          d|› d�¦  «        ‚|                      |¦  «        ||<   Œ5|S )Nr¸   z%Value of "kwargs" must be dictionary.zWKwargs argument must not contain a "kwargs" entry. Points for thinking meta, though. :PzEntry "z<" defined both as a keyword argument and in a "kwarg" entry.)r   ÚpoprH   r¹   r   rÈ   r‡   )r6   r¸   Ú	to_expandrÅ   rÆ   s        r7   rp  z%InterpreterBase.expand_default_kwargs%  sÏ   € Ø˜6Ð!Ð!ØˆMÝ˜fŸjšj¨Ñ2Ô2Ñ3Ô3ˆ	Ý˜)¥TÑ*Ô*ð 	PÝ&Ð'NÑOÔOÐOØ�yÐ Ð Ý&ð  (Añ  Bô  Bð  BØ—O’OÑ%Ô%ð 	+ð 	+‰DˆAˆqØ�Fˆ{ˆ{Ý*Ð+t°QÐ+tÐ+tÐ+tÑuÔuÐuØŸš¨Ñ*Ô*ˆF�1‰IˆIØˆr9   úmparser.AssignmentNodec                óž  — t          |t          j        ¦  «        sJ ‚| j        dk    r!t	          t          j        d¦  «        ¦  «        ‚|j        }t          |t          ¦  «        st	          d¦  «        ‚|  	                    |j
        ¦  «        }t          |t          ¦  «        rt          j        |¦  «        }|                      ||¦  «         d S )Nr   z�                Tried to assign values inside an argument list.
                To specify a keyword argument, use : instead of =.
            z(Tried to assign value to a non-variable.)rH   r   r‚   r2   r   ÚtextwrapÚdedentr/  r&   rw   rˆ   r   ÚcopyÚdeepcopyr)  )r6   ro   r/  rˆ   s       r7   rƒ   zInterpreterBase.assignment3  sÌ   € Ý˜$¥Ô 6Ñ7Ô7Ð7Ð7Ð7ØÔ !Ò#Ð#Ý"¥8¤?ð 4ñ $ô $ñ ô ð ð ”=ˆÝ˜(¥CÑ(Ô(ð 	OÝ"Ð#MÑNÔNÐNØ×'Ò'¨¬
Ñ3Ô3ˆå�eÕ5Ñ6Ô6ð 	)Ý”M %Ñ(Ô(ˆEØ×Ò˜( EÑ*Ô*Ð*Ð*Ð*r9   F)Ú	holderifyr0  Úvariabler€  rÙ   c               ó¼  — |€t          d¦  «        ‚|r|                      |¦  «        }nAt          |t          ¦  «        s,t	          j        d|› dt          |¦  «        j        › �¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t          j
        d|¦  «        €t          d|z   ¦  «        ‚|| j        v rt          d|› d�¦  «        ‚|| j        |<   d S )	Nz Can not assign None to variable.zDset_variable in InterpreterBase called with a non InterpreterObject rH  z0First argument to set_variable must be a string.z[_a-zA-Z][_0-9a-zA-Z]*$zInvalid variable name: z&Tried to overwrite internal variable "rF  )r   r‡   rH   r	   r   rÕ   rÖ   r×   r&   r!  r  r-   r1   )r6   r0  r�  r€  s       r7   r)  zInterpreterBase.set_variableC  s+  € ØÐÝÐ@ÑAÔAÐAØð 	fØ—’ xÑ0Ô0ˆHˆHõ ˜hÕ(9Ñ:Ô:ð fÝÔ0ð  2eð  yAð  2eð  2eõ  LPð  QYñ  LZô  LZô  Lcð  2eð  2eñ  fô  fð  fÝ˜'¥3Ñ'Ô'ð 	RÝÐPÑQÔQÐQÝŒ8Ð-¨wÑ7Ô7Ð?ÝÐ7¸'ÑAÑBÔBÐBØ�d”lÐ"Ð"ÝÐQÀwÐQÐQÐQÑRÔRÐRØ"*ˆŒ�wÑÐÐr9   c                ó€   — || j         v r| j         |         S || j        v r| j        |         S t          d|› d�¦  «        ‚)NzUnknown variable "ra  )r-   r1   r   )r6   r0  s     r7   r�   zInterpreterBase.get_variableT  sP   € Ø�d”lÐ"Ð"Ø”< Ô(Ð(Ø�d”nÐ$Ð$Ø”> 'Ô*Ð*ÝÐ:¨wÐ:Ð:Ð:Ñ;Ô;Ð;r9   Úbuildtargetúmesonlib.HoldableObjectc                ó    — t          d¦  «        ‚)NzJvalidate_extraction is not implemented in this context (please file a bug))r   )r6   r„  s     r7   rL  z#InterpreterBase.validate_extraction[  s   € Ý"Ð#oÑpÔpÐpr9   )r%   r&   r'   r&   r(   r)   )r:   r;   )r   N)ro   rp   rm   rq   rT   rr   r:   r;   )r}   r~   r:   r   )r}   r­   r:   r	   )r}   rº   r:   r	   )r}   rÉ   r:   r	   )ro   rÏ   r:   rÐ   )ro   rá   r:   r	   )r}   rõ   r:   r	   )r}   rü   r:   r	   )r}   rþ   r:   r	   )r}   r  r:   r	   )ro   r  r:   r   )ro   r  r:   r	   )ro   r  r:   r	   )ro   r"  r:   r;   )ro   r-  r:   r;   )ro   r4  r:   r	   )ro   r9  r:   r   )ro   rD  r:   r   )rß   rS  r:   r	   )r¶   rZ  r¸   r[  r:   r\  )r]   r&   r:   r;   )r¶   rb  rÁ   rc  rÂ   rd  r:   re  )r¸   rv  r:   rv  )ro   rz  r:   r;   )r0  r&   r�  rS  r€  rÙ   r:   r;   )r0  r&   r:   r	   )r„  r…  r:   r;   )&r×   Ú
__module__Ú__qualname__r8   rR   rW   rk   rn   rU   rw   r‘   r   r“   rš   r‹   r�   r–   r˜   rœ   rž   r¦   r©   rª   r    r¢   r¤   r�   r…   r‡   r=  r>  r   rµ   rp  rƒ   r)  r�   rL  r°   r9   r7   r$   r$   J   sQ  € € € € € ð&ð &ð &ð &ð,ð ð ð ð1ð 1ð 1ð 1ðCð Cð Cð Cð0ð ð ð ðð ð ð ð ð05ð 5ð 5ð 5ðnBð Bð Bð Bð €Z�˜Ñ!Ô!ð
Mð 
Mð 
Mñ "Ô!ð
MðIð Ið Ið Iðð ð ð ð6Nð Nð Nð Nð6
Jð 
Jð 
Jð 
Jð
Jð 
Jð 
Jð 
JðLð Lð Lð Lð$ð $ð $ð $ð&
<ð 
<ð 
<ð 
<ð €ZÐ*¨HÑ5Ô5ð+ð +ð +ñ 6Ô5ð+ð €ZÐ  (Ñ+Ô+ð$ð $ð $ñ ,Ô+ð$ð$ð ð ð ð:
.ð 
.ð 
.ð 
.ð
Rð 
Rð 
Rð 
Rðð ð ð ð&Að Að Að Að4{ð {ð {ð {ð&Zð Zð Zð Zð
>ð >ð >ð >ð EXØ7;ð	%ð %ð %ð %ð %ð<ð ð ð ð+ð +ð +ð +ð  otð +ð +ð +ð +ð +ð +ð"<ð <ð <ð <ðqð qð qð qð qð qr9   r$   )=Ú
__future__r   Ú r   r   r   Úbaseobjectsr	   r
   r   r   r   r   r   Ú
exceptionsr   r   r   r   r   r   Ú
decoratorsr   Údisablerr   r   Úhelpersr   r   r   rô   r   r   r@   r~  r!  r^   ÚtypingrV  r|  ÚTYPE_CHECKINGr   r    r!   Úinterpreterr"   ÚDictÚUnionÚTypeÚHoldableObjectrq   rÙ   r&   Úlistr¹   ÚCallableÚHolderMapTypern  ÚListÚFunctionTyper$   r°   r9   r7   ú<module>rœ     sÛ  ðð" #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€à„?ð Ø>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø)Ð)Ð)Ð)Ð)Ð)à”FØ	ŒØŒF�8Ô*Ô+ØŒF�3ŒKØŒF�4ŒLØŒF�3ŒKØŒF�4ŒLØŒF�4ŒLðô	
ð 	
Œ
Ð,¨mÐ<¸lÐKcÔ>dÐdÔeð		fô€Mð ”6ØØ	Œ
�GÔ$ a¤f¨XÔ&6¸¼¸sÀH¸}Ô8MÐNÐPXÐXÔYð	Zô€Lð
Rqð Rqð Rqð Rqð Rqñ Rqô Rqð Rqð Rqð Rqr9   