§
    ‹ã÷cˆâ  ã                  ó^	  — U 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d dl	Z
d dlmZ ddlmZ ddl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 e
j        rPdd
lmZ ddlmZmZ ddlm Z  ddl!m"Z" ddl#m$Z$m%Z% ddlm&Z& ddl'm(Z(  e
j)        dd¬¦  «        Z* e
j)        d¦  «        Z+	 h d£Z,h d£Z-h d£Z.ddddddddd d!d"d#d$d%d&d'œZ/e/ 0                    ¦   «         Z1d(hZ2 e3e/d)         ¦  «        e2z  Z4 e3e/d*         ¦  «        e2z  Z5h d+£Z6d,hZ7 e3 ej8        g e/ 9                    ¦   «         ¢e6‘e7‘e2‘R Ž ¦  «        Z:e:e,z
  Z;d-Z<d.e<z   Z= e> ej8        d/„ e/ ?                    ¦   «         D ¦   «         Ž ¦  «        Z@h d0£ZAh d1£ZB ejC        d2¦  «        ZDd3d4d5d6d7d8d9d:d;d<d=d>œZEd?eFd@<   d»dE„ZGd¼dI„ZHd¼dJ„ZId¼dK„ZJd¼dL„ZK ed¬M¦  «        d¼dN„¦   «         ZLd¼dO„ZMd¼dP„ZNd¼dQ„ZO G dR„ dSejP        ¦  «        ZQg dTdUgdTdVgg g g dWœZRg dTgdTgg g g dWœZSg g g g g g dWœZTg g dXgdXgg g dWœZUg g dYdZgdYdZgg g dWœZVg g d[gd[gg g dWœZWg g d\gd\gg g dWœZXg g g g g g dWœZYg d]¢ZZg d^¢Z[g g g d_gd`gdagdbgdcœZ\g g ddgd_gd`gdagdagdcœZ]g dTgdeœZ^g dTgdeœZ_i  edf¦  «         ej`        dgdh¦  «        “ edi¦  «         ej`        djdk¦  «        “ edl¦  «         eja        dmdn¦  «        “ edo¦  «         ejb        dpdqdrgdq¦  «        “ eds¦  «         ej`        dtdk¦  «        “ edu¦  «         ejc        dvdw¦  «        “ edx¦  «         ejb        dyg dz¢d{¦  «        “ ed|¦  «         ej`        d}dh¦  «        “ ed~¦  «         ej`        ddh¦  «        “ ed€¦  «         ejb        d�g d‚¢dƒ¦  «        “ ed„¦  «         ej`        d…dk¦  «        “ ed†¦  «         ejb        d‡g dˆ¢d‰¦  «        “ edŠ¦  «         ejb        d‹g dŒ¢d�¦  «        “ edŽ¦  «         ej`        d�dh¦  «        “ ed�¦  «         ej`        d‘dk¦  «        “ ed’¦  «         ej`        d“dk¦  «        “ ed”¦  «         ejb        d•g d–¢d—¦  «        “Zdd˜eFd™<   d½dŸ„Zed¾d£„Zfd¿d§„ZgdÀd«„Zh G d¬„ d­e¦  «        Zi G d®„ d¯e¦  «        Zj G d°„ d±e¦  «        Zk G d²„ deejl        ¬³¦  «        ZmdÁdº„ZndS )Âé    )ÚannotationsN)Ú	lru_cacheé   )Úcoredata)Úmlog)Úmesonlib)ÚHoldableObjectÚEnvironmentExceptionÚMesonExceptionÚ
Popen_safeÚLibTypeÚTemporaryDirectoryWinProofÚ	OptionKey©ÚCompilerArgs)ÚBuildTarget)ÚMutableKeyedOptionDictTypeÚKeyedOptionDictType)ÚMachineInfo)ÚEnvironment)ÚDynamicLinkerÚRSPFileSyntax)ÚMachineChoice)Ú
DependencyÚCompilerTypeÚCompiler)ÚboundÚ_T>	   ÚHÚhÚdiÚhhÚhppÚhxxÚippÚmocÚvapi>   ÚoÚobjÚres>   údll.aÚaÚjsÚsoÚdllÚlibÚdylib)Úc)ÚcppÚccÚcxxzc++r"   r#   r%   r$   ÚinoÚixxÚC)Úcu)Úf90Úf95Úf03Úf08ÚfÚforÚftnÚfpp)Údr!   )Úm)Úmm)Úrs)Úvalar'   Úgs)Úcs)Úswift)Újava)Úpyx)Úasm)Úmasm)r2   r3   ÚcudaÚfortranrB   ÚobjcÚobjcppÚrustrF   rH   rI   rJ   ÚcythonÚnasmrM   r    r3   r2   >   ÚSÚsrL   rM   Úll)rQ   r3   rP   r2   rO   )rB   rN   c              #  ó:   ‡K  — | ]\  Š}ˆfd „|D ¦   «         V — ŒdS )c                ó   •— g | ]}|‰f‘ŒS © rZ   )Ú.0ÚsuffixÚlangs     €ú@/usr/lib/python3/dist-packages/mesonbuild/compilers/compilers.pyú
<listcomp>z<genexpr>.<listcomp>^   s   ø€ Ð$Ð$Ð$˜€fˆd€^Ð$Ð$Ð$ó    NrZ   )r[   Úvr]   s     @r^   ú	<genexpr>rb   ]   sU   øè è € ð (Kð (KÙ)0¨¨qÐ$Ð$Ð$Ð$ !Ð$Ñ$Ô$ð(Kð (Kð (Kð (Kð (Kð (Kr`   >   r2   rB   r3   rN   rP   rQ   rO   >   r2   r3   rP   rQ   z(.*\.so(\.[0-9]+)?(\.[0-9]+)?(\.[0-9]+)?$ÚCFLAGSÚCXXFLAGSÚCUFLAGSÚ	OBJCFLAGSÚOBJCXXFLAGSÚFFLAGSÚDFLAGSÚ	VALAFLAGSÚ	RUSTFLAGSÚCYTHONFLAGSÚCSFLAGS)r2   r3   rN   rP   rQ   rO   rB   rF   rR   rS   rH   zT.Mapping[str, str]ÚCFLAGS_MAPPINGr]   ÚstrÚreturnÚintc                óN   — | t           vrdS t                                | ¦  «         S )a"  
    Sorting function to sort the list of languages according to
    reversed(compilers.clink_langs) and append the unknown langs in the end.
    The purpose is to prefer C over C++ for files that can be compiled by
    both such as assembly, C, etc. Also applies to ObjC, ObjC++, etc.
    é   )Úclink_langsÚindex)r]   s    r^   Ú
sort_clinkrv   w   s+   € ð •;ÐÐØˆqÝ×Ò˜dÑ#Ô#Ð#Ð#r`   Úfnameú'mesonlib.FileOrString'Úboolc                óŒ   — t          | t          j        ¦  «        r| j        } |                      d¦  «        d         }|t
          v S ©Nú.éÿÿÿÿ)Ú
isinstancer   ÚFilerw   ÚsplitÚheader_suffixes©rw   r\   s     r^   Ú	is_headerrƒ   ‚   s>   € Ý�%�œÑ'Ô'ð Ø”ˆØ�[Š[˜ÑÔ˜bÔ!€FØ•_Ð$Ð$r`   c                ó°   — t          | t          j        ¦  «        r| j        } |                      d¦  «        d                              ¦   «         }|t          v S r{   )r~   r   r   rw   r€   ÚlowerÚsource_suffixesr‚   s     r^   Ú	is_sourcer‡   ˆ   sJ   € Ý�%�œÑ'Ô'ð Ø”ˆØ�[Š[˜ÑÔ˜bÔ!×'Ò'Ñ)Ô)€FØ•_Ð$Ð$r`   c                óŒ   — t          | t          j        ¦  «        r| j        } |                      d¦  «        d         }|t
          v S r{   )r~   r   r   rw   r€   Úassembler_suffixesr‚   s     r^   Úis_assemblyrŠ   Ž   s?   € Ý�%�œÑ'Ô'ð Ø”ˆØ�[Š[˜ÑÔ˜bÔ!€FØÕ'Ð'Ð'r`   c                óŒ   — t          | t          j        ¦  «        r| j        } |                      d¦  «        d         }|t
          v S r{   )r~   r   r   rw   r€   Úllvm_ir_suffixesr‚   s     r^   Ú
is_llvm_irr�   ”   s?   € Ý�%�œÑ'Ô'ð Ø”ˆØ�[Š[˜ÑÔ˜bÔ!€FØÕ%Ð%Ð%r`   ©Úmaxsizec                óJ   — |                       d¦  «        d         }|t          v S r{   )r€   Úobj_suffixesr‚   s     r^   Úcached_by_namer’   š   s#   € à�[Š[˜ÑÔ˜bÔ!€FØ•\Ð!Ð!r`   c                ób   — t          | t          j        ¦  «        r| j        } t	          | ¦  «        S ©N)r~   r   r   rw   r’   )rw   s    r^   Ú	is_objectr•   Ÿ   s+   € Ý�%�œÑ'Ô'ð Ø”ˆÝ˜%Ñ Ô Ð r`   c                óÄ   — t          | t          j        ¦  «        r| j        } t                               | ¦  «        rdS |                      d¦  «        d         }|t          v S )NTr|   r}   )r~   r   r   rw   ÚsoregexÚmatchr€   Úlib_suffixesr‚   s     r^   Ú
is_libraryrš   ¤   sW   € Ý�%�œÑ'Ô'ð Ø”ˆå‡}‚}�UÑÔð Øˆtà�[Š[˜ÑÔ˜bÔ!€FØ•\Ð!Ð!r`   c                óŒ   — t          | t          j        ¦  «        r| j        } |                      d¦  «        d         }|t
          v S r{   )r~   r   r   rw   r€   Úall_suffixesr‚   s     r^   Úis_known_suffixr�   ®   s>   € Ý�%�œÑ'Ô'ð Ø”ˆØ�[Š[˜ÑÔ˜bÔ!€Fà•\Ð!Ð!r`   c                  ó   — e Zd ZdZdZdZdS )ÚCompileCheckModeÚ
preprocessÚcompileÚlinkN)Ú__name__Ú
__module__Ú__qualname__Ú
PREPROCESSÚCOMPILEÚLINKrZ   r`   r^   rŸ   rŸ   ¶   s   € € € € € à€JØ€GØ€D€D€Dr`   rŸ   z-gz-Gz	-lineinfo)ÚplainÚdebugÚdebugoptimizedÚreleaseÚminsizeÚcustomz-finline-functionsz-enable-inliningz-Hkeep-all-bodiesz-inlinez
-optimize+)
z
-lkernel32z-luser32z-lgdi32z
-lwinspoolz	-lshell32z-lole32z
-loleaut32z-luuidz
-lcomdlg32z
-ladvapi32)
zkernel32.libz
user32.libz	gdi32.libzwinspool.libzshell32.libz	ole32.libzoleaut32.libzuuid.libzcomdlg32.libzadvapi32.libz-O1z-O2z-O3z-Os)r©   Ú0ÚgÚ1Ú2Ú3rV   z-O0)FTÚb_pchzUse precompiled headersTÚb_ltozUse link time optimizationFÚb_lto_threadsz/Use multiple threads for Link Time Optimization)NNr   Ú
b_lto_modez#Select between different LTO modes.ÚdefaultÚthinÚb_thinlto_cachez6Use LLVM ThinLTO caching for faster incremental buildsÚb_thinlto_cache_dirz(Directory to store ThinLTO cache objectsÚ Ú
b_sanitizezCode sanitizer to use)ÚnoneÚaddressÚthreadÚ	undefinedÚmemoryÚleakzaddress,undefinedr¾   Úb_lundefz#Use -Wl,--no-undefined when linkingÚ
b_asneededz Use -Wl,--as-needed when linkingÚb_pgozUse profile guided optimization)ÚoffÚgenerateÚuserÇ   Ú
b_coveragezEnable coverage tracking.Ú
b_coloroutzUse colored output)ÚautoÚalwaysÚneverrÍ   Úb_ndebugzDisable asserts)ÚtrueÚfalseú
if-releaserÑ   Úb_staticpicz.Build static libraries as position independentÚb_piez)Build executables as position independentÚ	b_bitcodez0Generate and embed bitcode (only macOS/iOS/tvOS)Úb_vscrtz VS run-time library type to use.)r¾   ÚmdÚmddÚmtÚmtdÚfrom_buildtypeÚstatic_from_buildtyperÛ   ú'KeyedOptionDictType'Úbase_optionsÚboptionsúT.Set[OptionKey]ÚoptionsÚoptionr   c                óŽ   — 	 || vrdS ||         j         }t          |t          ¦  «        s
J d¦   «         ‚|S # t          $ r Y dS w xY w)NFzmust return bool)Úvaluer~   ry   ÚKeyError)rß   rá   râ   Úrets       r^   Úoption_enabledrç   9  si   € ðØ˜Ð!Ð!Ø�5Ø�fŒoÔ#ˆÝ˜#�tÑ$Ô$Ð8Ð8Ð&8Ñ8Ô8Ð8Øˆ
øÝð ð ð Øˆuˆuðøøøs   ‚6 ˆ-6 ¶
AÁAÚoptÚfallbackú'_T'c                óÖ   — 	 | |         j         }n# t          $ r |cY S w xY wt          |t          |¦  «        ¦  «        s*J dt          |¦  «        ›dt          |¦  «        ›�¦   «         ‚|S )z2Get the value of an option, or the fallback value.zShould have z	 but was )rä   rå   r~   Útype)rá   rè   ré   ra   s       r^   Úget_option_valuerí   E  s…   € ðØ˜#”,Ô$ˆˆøÝð ð ð Øˆˆˆðøøøõ �a�˜h™œÑ(Ô(Ð_Ð_Ð*_½¸h¹¼Ð*_Ð*_ÕTXÐYZÑT[ÔT[Ð*_Ð*_Ñ_Ô_Ð_à€Hs   ‚ �žÚcompilerú
'Compiler'úT.List[str]c                ó  — g }	 | t          d¦  «                 j        rb|                     |                     t	          | t          d¦  «        d¦  «        t	          | t          d¦  «        d¦  «        ¬¦  «        ¦  «         n# t
          $ r Y nw xY w	 ||                     | t          d¦  «                 j        ¦  «        z  }n# t
          $ r Y nw xY w	 ||                     | t          d¦  «                 j        ¦  «        z  }n# t
          $ r Y nw xY w	 | t          d	¦  «                 j        }|d
k    r(|                     |                     ¦   «         ¦  «         n-|dk    r'|                     | 	                    ¦   «         ¦  «         n# t
          $ r Y nw xY w	 | t          d¦  «                 j        r|| 
                    ¦   «         z  }n# t
          $ r Y nw xY w	 | t          d¦  «                 j        dk    s:| t          d¦  «                 j        dk    r3| t          d¦  «                 j        dv r||                     ¦   «         z  }n# t
          $ r Y nw xY wt          |j        | t          d¦  «        ¦  «        r|                     d¦  «         	 | t          d¦  «                 j        }| t          d¦  «                 j        }	 ||                     ||¦  «        z  }n# t           $ r Y nw xY wn# t
          $ r Y nw xY w|S )Nrµ   r¶   r   r·   r¸   ©ÚthreadsÚmoderË   r½   rÆ   rÈ   rÉ   rÊ   rÏ   rÐ   rÒ   Ú	buildtype>   r©   r¬   rÕ   z-fembed-bitcoderÖ   )r   rä   ÚextendÚget_lto_compile_argsrí   rå   Úget_colorout_argsÚsanitizer_compile_argsÚget_profile_generate_argsÚget_profile_use_argsÚget_coverage_argsÚget_disable_assert_argsrç   rÞ   ÚappendÚget_crt_compile_argsÚAttributeError)rá   rî   ÚargsÚpgo_valÚcrt_valrõ   s         r^   Úget_base_compile_argsr  Q  s‚  € Ø€DðØ•9˜WÑ%Ô%Ô&Ô,ð 	UØ�KŠK˜×5Ò5Ý(¨µ)¸OÑ2LÔ2LÈaÑPÔPÝ% g­y¸Ñ/FÔ/FÈ	ÑRÔRð 6ñ Tô Tñ Uô Uð Uøøõ ð ð ð ØˆðøøøðØ�×*Ò*¨7µ9¸\Ñ3JÔ3JÔ+KÔ+QÑRÔRÑRˆˆøÝð ð ð ØˆðøøøðØ�×/Ò/°½	À,Ñ8OÔ8OÔ0PÔ0VÑWÔWÑWˆˆøÝð ð ð ØˆðøøøðØ�) GÑ,Ô,Ô-Ô3ˆØ�jÒ Ð Ø�KŠK˜×:Ò:Ñ<Ô<Ñ=Ô=Ð=Ð=Ø˜ÒÐØ�KŠK˜×5Ò5Ñ7Ô7Ñ8Ô8Ð8øøÝð ð ð ØˆðøøøðØ•9˜\Ñ*Ô*Ô+Ô1ð 	1Ø�H×.Ò.Ñ0Ô0Ñ0ˆDøøÝð ð ð ØˆðøøøðØ•I˜jÑ)Ô)Ô*Ô0°FÒ:Ð:Ø� :Ñ.Ô.Ô/Ô5¸ÒEÐEØ� ;Ñ/Ô/Ô0Ô6Ð:NÐNÐNØ�H×4Ò4Ñ6Ô6Ñ6ˆDøøÝð ð ð Øˆðøøøõ �hÔ+¨WµiÀÑ6LÔ6LÑMÔMð 'Ø�ŠÐ%Ñ&Ô&Ð&ðØ�) IÑ.Ô.Ô/Ô5ˆØ�I kÑ2Ô2Ô3Ô9ˆ	ð	Ø�H×1Ò1°'¸9ÑEÔEÑEˆDˆDøÝð 	ð 	ð 	ØˆDð	øøøøøåð ð ð Øˆðøøøà€Ks¤   „A<B Â
BÂBÂ0C Ã
CÃCÃ0D Ä
DÄDÄA5F Æ
FÆFÆ1G Ç
GÇGÇ A/I É
IÉIÊ4K9 ËK( Ë'K9 Ë(
K5Ë2K9 Ë4K5Ë5K9 Ë9
LÌLÚlinkerÚis_shared_moduleÚ	build_dirc                ó\  — g }	 | t          d¦  «                 j        rÈd }t          | t          d¦  «        d¦  «        rEt          | t          d¦  «        d¦  «        }|dk    r!t          j                             |dd¦  «        }|                     |                     t          | t          d¦  «        d	¦  «        t          | t          d
¦  «        d¦  «        |¬¦  «        ¦  «         n# t          $ r Y nw xY w	 || 	                    | t          d¦  «                 j        ¦  «        z  }n# t          $ r Y nw xY w	 | t          d¦  «                 j        }|dk    r(|                     | 
                    ¦   «         ¦  «         n-|dk    r'|                     |                     ¦   «         ¦  «         n# t          $ r Y nw xY w	 | t          d¦  «                 j        r||                     ¦   «         z  }n# t          $ r Y nw xY wt          |j        | t          d¦  «        ¦  «        }t          |j        | t          d¦  «        ¦  «        }|r*|s(|                     |                     ¦   «         ¦  «         n)|r'|                     |                     ¦   «         ¦  «         |s›|                     |                     ¦   «         ¦  «         |sKt          |j        | t          d¦  «        ¦  «        r(|                     |                     ¦   «         ¦  «         n'|                     |                     ¦   «         ¦  «         	 | t          d¦  «                 j        }	| t          d¦  «                 j        }
	 ||                     |	|
¦  «        z  }n# t*          $ r Y nw xY wn# t          $ r Y nw xY w|S )Nrµ   rº   Fr»   r¼   zmeson-privatezthinlto-cacher¶   r   r·   r¸   ©ró   rô   Úthinlto_cache_dirr½   rÆ   rÈ   rÉ   rÊ   rÅ   rÕ   rÄ   rÖ   rõ   )r   rä   rí   ÚosÚpathÚjoinrö   Úget_lto_link_argsrå   Úsanitizer_link_argsrú   rû   Úget_coverage_link_argsrç   rÞ   Úbitcode_argsÚget_asneeded_argsÚheaderpad_argsÚno_undefined_link_argsÚget_allow_undefined_link_argsÚget_crt_link_argsr   )rá   r  r  r  r  r
  r  Ú	as_neededÚbitcoder  rõ   s              r^   Úget_base_link_argsr  „  sö  € à€DðØ•9˜WÑ%Ô%Ô&Ô,ð 		6Ø $ÐÝ ­Ð3DÑ)EÔ)EÀuÑMÔMð bÝ$4°W½iÐH]Ñ>^Ô>^Ð`bÑ$cÔ$cÐ!Ø$¨Ò*Ð*Ý(*¬¯ª°YÀÐQ`Ñ(aÔ(aÐ%Ø�KŠK˜×0Ò0Ý(¨µ)¸OÑ2LÔ2LÈaÑPÔPÝ% g­y¸Ñ/FÔ/FÈ	ÑRÔRØ"3ð 1ñ 5ô 5ñ 6ô 6ð 6øøõ ð ð ð ØˆðøøøðØ�×*Ò*¨7µ9¸\Ñ3JÔ3JÔ+KÔ+QÑRÔRÑRˆˆøÝð ð ð ØˆðøøøðØ�) GÑ,Ô,Ô-Ô3ˆØ�jÒ Ð Ø�KŠK˜×8Ò8Ñ:Ô:Ñ;Ô;Ð;Ð;Ø˜ÒÐØ�KŠK˜×3Ò3Ñ5Ô5Ñ6Ô6Ð6øøÝð ð ð ØˆðøøøðØ•9˜\Ñ*Ô*Ô+Ô1ð 	4Ø�F×1Ò1Ñ3Ô3Ñ3ˆDøøÝð ð ð Øˆðøøøõ ˜vÔ2°G½YÀ|Ñ=TÔ=TÑUÔU€IÝ˜VÔ0°'½9À[Ñ;QÔ;QÑRÔR€Gð ð 0Ð'ð 0Ø�Š�F×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ð*Ø	ð 0à�Š�F×,Ò,Ñ.Ô.Ñ/Ô/Ð/ð ð @Ø�Š�F×)Ò)Ñ+Ô+Ñ,Ô,Ð,Ø ð 	@Ý˜vÔ2°G½YÀzÑ=RÔ=RÑSÔSð	@à�KŠK˜×5Ò5Ñ7Ô7Ñ8Ô8Ð8Ð8à�KŠK˜×<Ò<Ñ>Ô>Ñ?Ô?Ð?ðØ�) IÑ.Ô.Ô/Ô5ˆØ�I kÑ2Ô2Ô3Ô9ˆ	ð	Ø�F×,Ò,¨W°iÑ@Ô@Ñ@ˆDˆDøÝð 	ð 	ð 	ØˆDð	øøøøøåð ð ð Øˆðøøøà€Ks   „C"C' Ã'
C4Ã3C4Ã80D) Ä)
D6Ä5D6Ä:A5F0 Æ0
F=Æ<F=Ç1G3 Ç3
H Ç?H Ì<4N Í1N Î
N Î
NÎN ÎNÎN Î
N)Î(N)c                  ó   — e Zd ZdS )ÚCrossNoRunExceptionN)r£   r¤   r¥   rZ   r`   r^   r  r  Æ  s   € € € € € Ø€Dr`   r  c                  ó   — e Zd Z	 	 ddd
„ZdS )Ú	RunResultéç  Ú	UNDEFINEDÚcompiledry   Ú
returncoderq   Ústdoutro   Ústderrc                ó>   — || _         || _        || _        || _        d S r”   )r   r!  r"  r#  )Úselfr   r!  r"  r#  s        r^   Ú__init__zRunResult.__init__Ê  s"   € à ˆŒØ$ˆŒØˆŒØˆŒˆˆr`   N)r  r  r  )r   ry   r!  rq   r"  ro   r#  ro   )r£   r¤   r¥   r&  rZ   r`   r^   r  r  É  s3   € € € € € Ø9<Ø:Eðð ð ð ð ð ð r`   r  c                  ó(   — e Zd ZdZ	 	 	 	 	 	 ddd„ZdS )ÚCompileResultz.The result of Compiler.compiles (and friends).Nr  FÚstdoúT.Optional[str]ÚstdeÚcommandúT.Optional[T.List[str]]r!  rq   Ú
input_nameÚoutput_nameÚcachedry   c                ól   — || _         || _        || _        || _        |pg | _        || _        || _        d S r”   )r"  r#  r.  r/  r,  r0  r!  )r%  r)  r+  r,  r!  r.  r/  r0  s           r^   r&  zCompileResult.__init__Ö  s>   € ð ˆŒØˆŒØ$ˆŒØ&ˆÔØ�} "ˆŒØˆŒØ$ˆŒˆˆr`   )NNNr  NNF)r)  r*  r+  r*  r,  r-  r!  rq   r.  r*  r/  r*  r0  ry   )r£   r¤   r¥   Ú__doc__r&  rZ   r`   r^   r(  r(  Ò  sE   € € € € € à8Ð8àMQØ48Ø#&Ø/3Ø04Ø %ð%ð %ð %ð %ð %ð %ð %r`   r(  c                  óÐ  — e Zd ZU g Zg ZdZdZded<   ded<   ded<   dZded	<   	 	 �d&�d'd„Z	�d(d„Z
 ed¬¦  «        �d)d„¦   «         Z�d(d „Z�d*d"„Z�d(d#„Z�d(d$„Z�d(d%„Ze�d(d&„¦   «         Z�d(d'„Z	 �d+�d,d2„Z�d-d;„Z�d.d>„Zddd?œ�d/dC„ZddDœ�d0dE„Z�d1dF„Z�d2�d3dG„Z�d4dH„Zej        �d5dJ„¦   «         Z�d5dK„Z �d6dM„Z!�d7dO„Z"�d8dP„Z#�d4dQ„Z$�d9dR„Z%�d4dS„Z&�d(dT„Z'�d:dV„Z(�d;dX„Z)�d<d[„Z*�d<d\„Z+ddd?œ�d=d^„Z,ddd
d_œ�d>d`„Z-ddd?œ�d?db„Z.ddd?œ�d@df„Z/ddd?œ�dAdg„Z0ddd?œ�dBdi„Z1ddd?œ�dCdk„Z2e�dDdn„¦   «         Z3�dEdo„Z4e�dEdp„¦   «         Z5e6j7        f�dFdu„Z8	 �d+�dGdx„Z9�dHdy„Z:�dIdz„Z;�dId{„Z<�dJd|„Z=�dKd~„Z>�dL�dMd�„Z?e@jA        	 �dLd‚d
ddƒœ�dNdˆ„¦   «         ZBe@jA        dd‚dd‰œ�dOd�„¦   «         ZC�dPd�„ZD�d+�dQd’„ZE�dRd”„ZF�dSd•„ZG�d4d–„ZH�d<d—„ZI�dEd˜„ZJ�d4d™„ZK�d4dš„ZL�dTdœ„ZM�dUd£„ZN�dHd¤„ZO�dHd¥„ZP�d4d¦„ZQ�d4d§„ZR�dHd¨„ZS�dVdª„ZT�dWd¬„ZU�dXd­„ZV�dYd¯„ZW�d4d°„ZX�d4d±„ZY�d4d²„ZZ�d(d³„Z[�d4d´„Z\�d4dµ„Z]�dEd¶„Z^d·d¸d¹œ�dZd»„Z_d·d¸dd¼œ�d[d¾„Z`�dXd¿„Za�dXdÀ„Zb�d4dÁ„Zc�d4dÂ„Zd�d4dÃ„Ze�d\dÅ„Zf�d\dÆ„Zg�d]dÌ„Zh�d^dÏ„Zi�d_dÒ„Zj�d_dÓ„Zke�d`dÔ„¦   «         Zl�d4dÕ„Zm�d4dÖ„Zn�d4d×„Zo�dadÙ„Zp�dadÚ„Zq�d4dÛ„Zr�d4dÜ„Zs�d4dÝ„Zt�d4dÞ„Zu�d4dß„Zv	 �dL�dbdá„Zw�dcdå„Zx	 �d2�dddç„Zy�dHdè„Zz�dedé„Z{�d(dê„Z|�dedë„Z}�dfdî„Z~�dgdï„Z�d(dð„Z€ej        �dhdô„¦   «         Z��didö„Z‚�djdù„Zƒ�d4dú„Z„�dkdý„Z…�dldÿ„Z†�d(�d „Z‡�d4�d„Zˆ�dm�d„Z‰�d4�d„ZŠej        �dn�d„¦   «         Z‹�do�d„ZŒ�dp�d„Z��dq�d
„ZŽ�dK�d„Z��d4�d„Z�e‘j’        f�dr�d„Z“e@jA        	 	 	 	 	 �ds�dt�d„¦   «         Z”dd�dd
�dœ�du�d„Z•ddd�dd
�dœ�dv�d„Z–�dw�d„Z—�dx�d„Z˜�dy�d „Z™�dz�d"„Zš�d4�d#„Z›�d9�d$„Zœ�d{�d%„Z�dS (|  r   NTro   ÚlanguageÚidzT.Dict[str, T.List[str]]Ú	warn_argsÚCOMPILERrô   FÚccacherð   ÚexelistÚversionÚfor_machiner   Úinfoú'MachineInfo'r  úT.Optional['DynamicLinker']Úfull_versionr*  Úis_crossry   c	                ót  — ||z   | _         || _        t          | d¦  «        st          | j                 | _        t          | d¦  «        st          | j        ¦  «        | _        | j        d         | _        || _	        || _
        || _        t          ¦   «         | _        || _        || _        || _        g | _        d S )NÚfile_suffixesÚcan_compile_suffixesr   )r9  Úexelist_no_ccacheÚhasattrÚlang_suffixesr4  rB  ÚsetrC  Údefault_suffixr:  r?  r;  rÞ   r  r<  r@  Úmodes)	r%  r8  r9  r:  r;  r<  r  r?  r@  s	            r^   r&  zCompiler.__init__õ  s³   € ð  Ñ'ˆŒØ!(ˆÔå�t˜_Ñ-Ô-ð 	>Ý!.¨t¬}Ô!=ˆDÔÝ�tÐ3Ñ4Ô4ð 	@Ý(+¨DÔ,>Ñ(?Ô(?ˆDÔ%Ø"Ô0°Ô3ˆÔØˆŒØ(ˆÔØ&ˆÔÝ.1©e¬eˆÔØˆŒØˆŒ	Ø ˆŒØ')ˆŒ
ˆ
ˆ
r`   rp   c                ó‚   — d}|                      | j        j        | j        d                     | j        ¦  «        ¦  «        S )Nz<{0}: v{1} `{2}`>ú )ÚformatÚ	__class__r£   r:  r  r9  )r%  Úrepr_strs     r^   Ú__repr__zCompiler.__repr__
  s9   € Ø&ˆØ�Š˜tœ~Ô6¸¼Ø"Ÿxšx¨¬Ñ5Ô5ñ7ô 7ð 	7r`   rŽ   Úsrcrx   c                ó  — t          |t          j        ¦  «        r|j        }t          j                             |¦  «        d         }|dk    r|                     ¦   «         }t          |¦  «        o|dd …         | j	        v S )Nrs   z.C)
r~   r   r   rw   r  r  Úsplitextr…   ry   rC  )r%  rP  r\   s      r^   Úcan_compilezCompiler.can_compile  sn   € å�c�8œ=Ñ)Ô)ð 	Ø”)ˆCÝ”×!Ò! #Ñ&Ô& qÔ)ˆØ�TŠ>ˆ>Ø—\’\‘^”^ˆFÝ�F‰|Œ|ÐG  q r r¤
¨dÔ.GÐ GÐGr`   c                ó   — | j         S r”   )r5  ©r%  s    r^   Úget_idzCompiler.get_id  s	   € ØŒwˆr`   úT.List[Compiler]c                ó   — | j         S r”   )rI  rU  s    r^   Ú	get_modeszCompiler.get_modes  s
   € ØŒzÐr`   c                óJ   — 	 | j         j        S # t          $ r
 | j        cY S w xY wr”   )r  r5  r   rU  s    r^   Úget_linker_idzCompiler.get_linker_id  s7   € ð	Ø”;”>Ð!øÝð 	ð 	ð 	Ø”7ˆNˆNˆNð	øøøs   ‚ Ž"¡"c                óx   — | j         | j        g}| j        r|d| j        z  gz  }dd                     |¦  «        z  S )Nz"%s"z(%s)rK  )r5  r:  r?  r  )r%  Údetailss     r^   Úget_version_stringzCompiler.get_version_string'  sG   € Ø”7˜DœLÐ)ˆØÔð 	6Ø˜ $Ô"3Ñ4Ð5Ñ5ˆGØ˜Ÿš 'Ñ*Ô*Ñ+Ð+r`   c                ó   — | j         S r”   )r4  rU  s    r^   Úget_languagezCompiler.get_language-  s
   € ØŒ}Ðr`   c                ó4   — | j                              ¦   «         S r”   )r4  Ú
capitalize)Úclss    r^   Úget_display_languagezCompiler.get_display_language0  s   € àŒ|×&Ò&Ñ(Ô(Ð(r`   c                ó   — | j         S r”   )rH  rU  s    r^   Úget_default_suffixzCompiler.get_default_suffix4  s   € ØÔ"Ð"r`   ÚdnameÚprefixÚenvú'Environment'Ú
extra_argsúAT.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]]]ÚdependenciesúT.List['Dependency']Údisable_cacheúT.Tuple[str, bool]c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz%s does not support get_define ©r
   rV  )r%  rg  rh  ri  rk  rm  ro  s          r^   Ú
get_definezCompiler.get_define7  s    € õ #Ð#DÀtÇ{Â{Á}Ä}Ñ#TÑUÔUÐUr`   Ú
expressionÚlowúT.Optional[int]ÚhighÚguessúGT.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]]ú T.Optional[T.List['Dependency']]rq   c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz %s does not support compute_int rr  )	r%  rt  ru  rw  rx  rh  ri  rk  rm  s	            r^   Úcompute_intzCompiler.compute_int=  s    € õ #Ð#EÈÏÊÉÌÑ#UÑVÔVÐVr`   Úparameter_listr  c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz;%s does not support compute_parameters_with_absolute_paths rr  )r%  r}  r  s      r^   Ú&compute_parameters_with_absolute_pathsz/Compiler.compute_parameters_with_absolute_pathsC  s#   € å"Ð#`Ðcg×cnÒcnÑcpÔcpÑ#pÑqÔqÐqr`   )rk  rm  ÚtypenameÚmembernamesúT.Tuple[bool, bool]c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz"%s does not support has_member(s) rr  )r%  r€  r�  rh  ri  rk  rm  s          r^   Úhas_memberszCompiler.has_membersG  s    € õ #Ð#GÈ$Ï+Ê+É-Ì-Ñ#WÑXÔXÐXr`   )rm  c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz%s does not support has_type rr  ©r%  r€  rh  ri  rk  rm  s         r^   Úhas_typezCompiler.has_typeM  s    € õ #Ð#BÀTÇ[Â[Á]Ä]Ñ#RÑSÔSÐSr`   c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz3%s does not support symbols_have_underscore_prefix rr  ©r%  ri  s     r^   Úsymbols_have_underscore_prefixz'Compiler.symbols_have_underscore_prefixR  s#   € Ý"Ð#XÐ[_×[fÒ[fÑ[hÔ[hÑ#hÑiÔiÐir`   c                ój   — |r| j                              ¦   «         n| j                             ¦   «         S r”   )r9  ÚcopyrD  )r%  r8  s     r^   Úget_exelistzCompiler.get_exelistU  s/   € Ø&,ÐOˆtŒ|× Ò Ñ"Ô"Ð"°$Ô2H×2MÒ2MÑ2OÔ2OÐOr`   c                ó4   — | j                              ¦   «         S r”   )r  r�  rU  s    r^   Úget_linker_exelistzCompiler.get_linker_exelistX  s   € ØŒ{×&Ò&Ñ(Ô(Ð(r`   Ú
outputnamec                ó   — d S r”   rZ   ©r%  r�  s     r^   Úget_output_argszCompiler.get_output_args[  ó   € àˆr`   c                ó6   — | j                              |¦  «        S r”   )r  r“  r’  s     r^   Úget_linker_output_argszCompiler.get_linker_output_args_  s   € ØŒ{×*Ò*¨:Ñ6Ô6Ð6r`   Údirnamec                ó6   — | j                              |¦  «        S r”   )r  Úget_search_args)r%  r—  s     r^   Úget_linker_search_argszCompiler.get_linker_search_argsb  ó   € ØŒ{×*Ò*¨7Ñ3Ô3Ð3r`   Údefinec                ó0   — t          d| j        z  ¦  «        ‚)Nz'%s does not support get_builtin_define.©r
   r5  ©r%  rœ  s     r^   Úget_builtin_definezCompiler.get_builtin_definee  ó   € Ý"Ð#LÈtÌwÑ#VÑWÔWÐWr`   c                ó0   — t          d| j        z  ¦  «        ‚)Nz'%s does not support has_builtin_define.rž  rŸ  s     r^   Úhas_builtin_definezCompiler.has_builtin_defineh  r¡  r`   c                ó   — g S r”   rZ   rU  s    r^   Úget_always_argszCompiler.get_always_argsk  ó   € Øˆ	r`   c                ó4   — | j                              ¦   «         S )z[
        Determines whether the linker can accept arguments using the @rsp syntax.
        )r  Úget_accepts_rsprU  s    r^   Úcan_linker_accept_rspzCompiler.can_linker_accept_rspn  s   € ð Œ{×*Ò*Ñ,Ô,Ð,r`   c                ó4   — | j                              ¦   «         S r”   )r  r¥  rU  s    r^   Úget_linker_always_argszCompiler.get_linker_always_argst  s   € ØŒ{×*Ò*Ñ,Ô,Ð,r`   c                ó4   — | j                              ¦   «         S r”   )r  Úget_lib_prefixrU  s    r^   Úget_linker_lib_prefixzCompiler.get_linker_lib_prefixw  ó   € ØŒ{×)Ò)Ñ+Ô+Ð+r`   Ú
implibnamec                ó   — g S )z
        Used only on Windows for libraries that need an import library.
        This currently means C, C++, Fortran.
        rZ   )r%  r°  s     r^   Úgen_import_library_argsz Compiler.gen_import_library_argsz  s	   € ð
 ˆ	r`   ú'MutableKeyedOptionDictType'c                ó   — i S r”   rZ   rU  s    r^   Úget_optionszCompiler.get_options�  r¦  r`   rá   rÝ   c                ó   — g S r”   rZ   ©r%  rá   s     r^   Úget_option_compile_argsz Compiler.get_option_compile_args„  r¦  r`   c                ó6   — | j                              |¦  «        S r”   )r  Úget_option_argsr·  s     r^   Úget_option_link_argszCompiler.get_option_link_args‡  r›  r`   Úhnamec               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)zÙCheck that header is usable.

        Returns a two item tuple of bools. The first bool is whether the
        check succeeded, the second is whether the result was cached (True)
        or run fresh (False).
        ú+Language %s does not support header checks.©r
   rd  )r%  r¼  rh  ri  rk  rm  s         r^   Úcheck_headerzCompiler.check_headerŠ  s%   € õ #Ð#PÐSW×SlÒSlÑSnÔSnÑ#nÑoÔoÐor`   )rk  rm  ro  c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)a¼  Check that header is exists.

        This check will return true if the file exists, even if it contains:

        ```c
        # error "You thought you could use this, LOLZ!"
        ```

        Use check_header if your header only works in some cases.

        Returns a two item tuple of bools. The first bool is whether the
        check succeeded, the second is whether the result was cached (True)
        or run fresh (False).
        r¾  r¿  )r%  r¼  rh  ri  rk  rm  ro  s          r^   Ú
has_headerzCompiler.has_header•  s%   € õ$ #Ð#PÐSW×SlÒSlÑSnÔSnÑ#nÑoÔoÐor`   Úsymbolc               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz2Language %s does not support header symbol checks.r¿  )r%  r¼  rÃ  rh  ri  rk  rm  s          r^   Úhas_header_symbolzCompiler.has_header_symbol©  s%   € õ #Ð#WÐZ^×ZsÒZsÑZuÔZuÑ#uÑvÔvÐvr`   ÚcodeúGT.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]], None]r  c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz(Language %s does not support run checks.r¿  )r%  rÆ  ri  rk  rm  s        r^   ÚrunzCompiler.run¯  s%   € õ #Ð#MÐPT×PiÒPiÑPkÔPkÑ#kÑlÔlÐlr`   c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz+Language %s does not support sizeof checks.r¿  r†  s         r^   ÚsizeofzCompiler.sizeof´  s%   € õ #Ð#PÐSW×SlÒSlÑSnÔSnÑ#nÑoÔoÐor`   r-  c               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz.Language %s does not support alignment checks.r¿  r†  s         r^   Ú	alignmentzCompiler.alignment¹  s%   € õ #Ð#SÐVZ×VoÒVoÑVqÔVqÑ#qÑrÔrÐrr`   Úfuncnamec               óJ   — t          d|                      ¦   «         z  ¦  «        ‚)zÖSee if a function exists.

        Returns a two item tuple of bools. The first bool is whether the
        check succeeded, the second is whether the result was cached (True)
        or run fresh (False).
        z-Language %s does not support function checks.r¿  )r%  rÎ  rh  ri  rk  rm  s         r^   Úhas_functionzCompiler.has_function¾  s%   € õ #Ð#RÐUY×UnÒUnÑUpÔUpÑ#pÑqÔqÐqr`   r  r   c                ó*   — |                      ¦   «         S ©z7Always returns a copy that can be independently mutated©rŒ  )rc  r  r<  s      r^   Ú_unix_args_to_nativezCompiler._unix_args_to_nativeÉ  ó   € ð �yŠy‰{Œ{Ðr`   c                ó8   — |                       || j        ¦  «        S r”   )rÔ  r<  ©r%  r  s     r^   Úunix_args_to_nativezCompiler.unix_args_to_nativeÎ  s   € Ø×(Ò(¨¨t¬yÑ9Ô9Ð9r`   c                ó*   — |                      ¦   «         S rÒ  rÓ  )rc  r  s     r^   Únative_args_to_unixzCompiler.native_args_to_unixÑ  rÕ  r`   ÚlibnameÚ
extra_dirsÚlibtyper   c                óL   — t          d|                      ¦   «         › d�¦  «        ‚)Nú	Language z" does not support library finding.r¿  )r%  rÛ  ri  rÜ  rÝ  s        r^   Úfind_libraryzCompiler.find_libraryÖ  s(   € å"Ð#n¨t×/HÒ/HÑ/JÔ/JÐ#nÐ#nÐ#nÑoÔoÐor`   ÚstrictúT.Optional[T.Tuple[str, ...]]c                ój   — t          d                     |                      ¦   «         ¦  «        ¦  «        ‚)Nz0Language {} does not support get_library_naming.©r
   rL  rd  )r%  ri  rÝ  rá  s       r^   Úget_library_namingzCompiler.get_library_namingÚ  s6   € å"Ø>×EÒEØ×)Ò)Ñ+Ô+ñ-ô -ñ.ô .ð 	.r`   c                ó   — g S r”   rZ   r‰  s     r^   Úget_program_dirszCompiler.get_program_dirsà  r¦  r`   c                ój   — t          d                     |                      ¦   «         ¦  «        ¦  «        ‚)Nz1Language {} does not support has_multi_arguments.rä  ©r%  r  ri  s      r^   Úhas_multi_argumentszCompiler.has_multi_argumentsã  s6   € Ý"Ø?×FÒFØ×)Ò)Ñ+Ô+ñ-ô -ñ.ô .ð 	.r`   c                ó8   — | j                              ||¦  «        S r”   )r  rê  ré  s      r^   Úhas_multi_link_argumentsz!Compiler.has_multi_link_argumentsè  s   € ØŒ{×.Ò.¨t°SÑ9Ô9Ð9r`   c                ón   — |dk    rd S |dk    rd}nd}t           j                             |d|z   ¦  «        S )Nr    r¢   Úexer)   zoutput.)r  r  r  )r%  r—  rô   r\   s       r^   Ú_get_compile_outputzCompiler._get_compile_outputë  sF   € ð �<ÒÐØ�4ð �6Š>ˆ>ØˆFˆFàˆFÝŒw�|Š|˜G Y°Ñ%7Ñ8Ô8Ð8r`   rŸ   c                óð   — g }||                       ¦   «         z  }|t          j        u r||                      ¦   «         z  }n6|t          j        u r||                      ¦   «         z  }n|t          j        u sJ ‚|S r”   )r¥  rŸ   r§   Úget_compile_only_argsr¦   Úget_preprocess_only_argsr¨   )r%  rô   r  s      r^   Úget_compiler_args_for_modez#Compiler.get_compiler_args_for_modeø  s…   € àˆØ�×$Ò$Ñ&Ô&Ñ&ˆØÕ#Ô+Ð+Ð+Ø�D×.Ò.Ñ0Ô0Ñ0ˆDˆDØÕ%Ô0Ð0Ð0Ø�D×1Ò1Ñ3Ô3Ñ3ˆDˆDàÕ+Ô0Ð0Ð0Ð0Ð0Øˆr`   úT.Optional[T.Iterable[str]]r   c                ó"   — t          | |¦  «        S )z;Return an appropriate CompilerArgs instance for this class.r   r×  s     r^   Úcompiler_argszCompiler.compiler_args  s   € å˜D $Ñ'Ô'Ð'r`   r¢   )rô   Úwant_outputÚtemp_dirú(T.Union[None, CompilerArgs, T.List[str]]r÷  rø  ú%T.Iterator[T.Optional[CompileResult]]c             #  ó¢  K  — |€g }t          |¬¦  «        5 }d}t          |t          ¦  «        rlt          j                             |d| j        z   ¦  «        }t          |dd¬¦  «        5 }	|	                     |¦  «         d d d ¦  «         n# 1 swxY w Y   d}|}
n`|j	        }t          |j	        ¦  «        sCt          |j	        d¬¦  «        5 }|                     ¦   «         }
d d d ¦  «         n# 1 swxY w Y   nd}
|                      ¦   «         }|                     |¦  «         |                      ||¦  «        }|d	k    r||                      |¦  «        z  }|                     |                      t%          |¦  «        ¦  «        ¦  «         |r||z  }|                      | ¬
¦  «        |                     ¦   «         z   }t+          j        d¦  «         t+          j        d|¦  «         t+          j        dd                     |¦  «        d¦  «         t+          j        d|
¦  «         t          j                             ¦   «         }d|d<   |rd|d<   t3          |||¬¦  «        \  }}}t+          j        d|¦  «         t+          j        d|¦  «         t5          ||||j        |¬¦  «        }|r||_        |V — d d d ¦  «         d S # 1 swxY w Y   d S )N)ÚdirFz	testfile.Úwzutf-8)ÚencodingTz<binary>r    )r8  zRunning compile:zWorking directory: zCommand line: rK  ú
úCode:
r8   ÚLC_ALLr±   ÚCCACHE_DISABLE)Úcwdri  zCompiler stdout:
zCompiler stderr:
)r.  )r   r~   ro   r  r  r  rH  ÚopenÚwriterw   r•   Úreadrö  rþ   rï  r“  rö   ró  rŸ   r�  Ú	to_nativer   rª   ÚenvironrŒ  r   r(  r!  r/  )r%  rÆ  rk  rô   r÷  rø  Ú
tmpdirnameÚ	no_ccacheÚsrcnameÚofileÚcontentsr>   ÚcommandsÚoutputÚcommand_listÚos_envÚpr)  r+  Úresults                       r^   r¡   zCompiler.compile  s›  è è € ð ÐØˆJå'¨HÐ5Ñ5Ô5ð 2	¸ØˆIÝ˜$¥Ñ$Ô$ð *Ýœ'Ÿ,š, zØ'2°TÔ5HÑ'HñJô J�å˜' 3°Ð9Ñ9Ô9ð &¸UØ—K’K Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð !�	Ø��àœ*�Ý  ¤Ñ,Ô,ð *Ý˜dœj°7Ð;Ñ;Ô;ð ,¸qØ#$§6¢6¡8¤8˜ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,øð  *�Hð ×)Ò)Ñ+Ô+ˆHØ�OŠO˜GÑ$Ô$Ð$ð ×-Ò-¨j¸$Ñ?Ô?ˆFØ�|Ò#Ð#Ø˜D×0Ò0°Ñ8Ô8Ñ8�Ø�OŠO˜D×;Ò;Õ<LÈTÑ<RÔ<RÑSÔSÑTÔTÐTð
 ð 'Ø˜JÑ&�à×+Ò+°y°=Ð+ÑAÔAÀH×DVÒDVÑDXÔDXÑXˆLÝŒJÐ)Ñ*Ô*Ð*ÝŒJÐ,¨jÑ9Ô9Ð9ÝŒJÐ'¨¯ª°,Ñ)?Ô)?ÀÑFÔFÐFÝŒJ�y (Ñ+Ô+Ð+Ý”Z—_’_Ñ&Ô&ˆFØ"ˆF�8ÑØð /Ø+.�Ð'Ñ(Ý& |¸ÈÐPÑPÔP‰MˆAˆt�TÝŒJÐ+¨TÑ2Ô2Ð2ÝŒJÐ+¨TÑ2Ô2Ð2å" 4¨¨|¸Q¼\ÐV]Ð^Ñ^Ô^ˆFØð ,Ø%+�Ô"ØˆLˆLˆLðe2	ð 2	ð 2	ñ 2	ô 2	ð 2	ð 2	ð 2	ð 2	ð 2	ð 2	ð 2	øøøð 2	ð 2	ð 2	ð 2	ð 2	ð 2	s[   —AKÁ)BÁ?KÂB	ÂKÂB	Â9KÃC-Ã!KÃ-C1	Ã1KÃ4C1	Ã5GKËKËK©rk  rô   rø  Úcdataúcoredata.CoreDataú(T.Union[None, T.List[str], CompilerArgs]c             #  ób  K  — |�t          |¦  «        nt          ¦   «         }t          | j        ¦  «        | j        |||f}||j        v r¥|j        |         }d|_        t          j        d¦  «         t          j        dd                     |j        ¦  «        d¦  «         t          j        d|¦  «         t          j        d|j	        ¦  «         t          j        d|j
        ¦  «         |V — d S |                      |||d	|¬
¦  «        5 }||j        |<   |V — d d d ¦  «         d S # 1 swxY w Y   d S )NTzUsing cached compile:zCached command line: rK  rÿ  r   zCached compiler stdout:
zCached compiler stderr:
F©rk  rô   r÷  rø  )Útupler9  r:  Úcompiler_check_cacher0  r   rª   r  r,  r"  r#  r¡   )	r%  rÆ  r  rk  rô   rø  Útextra_argsÚkeyr  s	            r^   Úcached_compilezCompiler.cached_compileE  sv  è è € ð ,6Ð+A•e˜JÑ'Ô'Ð'ÅuÁwÄwˆÝ�T”\Ñ"Ô" D¤L°$¸ÀTÐJˆð �%Ô,Ð,Ð,ØÔ*¨3Ô/ˆAØˆAŒHÝŒJÐ.Ñ/Ô/Ð/ÝŒJÐ.°·²¸¼Ñ0CÔ0CÀTÑJÔJÐJÝŒJ�y $Ñ'Ô'Ð'ÝŒJÐ2°A´HÑ=Ô=Ð=ÝŒJÐ2°A´HÑ=Ô=Ð=ØˆGˆGˆGˆGˆGà—’˜d¨zÀÐRWÐbj�ÑkÔkð ÐopØ23�Ô*¨3Ñ/Ø���ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÄD$Ä$D(Ä+D(Ú	colortypec                ó   — g S r”   rZ   )r%  r  s     r^   rø   zCompiler.get_colorout_args_  ó   € àˆ	r`   Úrel_objÚpchc                ó   — g S r”   rZ   )r%  r"  r#  s      r^   Úget_compile_debugfile_argsz#Compiler.get_compile_debugfile_argse  r¦  r`   Ú
targetfilec                ó6   — | j                              |¦  «        S r”   )r  Úget_debugfile_name©r%  r&  s     r^   Úget_link_debugfile_namez Compiler.get_link_debugfile_nameh  ó   € ØŒ{×-Ò-¨jÑ9Ô9Ð9r`   c                ó6   — | j                              |¦  «        S r”   )r  Úget_debugfile_argsr)  s     r^   Úget_link_debugfile_argsz Compiler.get_link_debugfile_argsk  r+  r`   c                ó4   — | j                              ¦   «         S r”   )r  Úget_std_shared_lib_argsrU  s    r^   Úget_std_shared_lib_link_argsz%Compiler.get_std_shared_lib_link_argsn  s   € ØŒ{×2Ò2Ñ4Ô4Ð4r`   c                ó6   — | j                              |¦  «        S r”   )r  Úget_std_shared_module_argsr·  s     r^   Úget_std_shared_module_link_argsz(Compiler.get_std_shared_module_link_argsq  s   € ØŒ{×5Ò5°gÑ>Ô>Ð>r`   c                ó6   — | j                              |¦  «        S r”   )r  Úget_link_whole_forr×  s     r^   r6  zCompiler.get_link_whole_fort  s   € ØŒ{×-Ò-¨dÑ3Ô3Ð3r`   c                ó4   — | j                              ¦   «         S r”   )r  Úget_allow_undefined_argsrU  s    r^   r  z&Compiler.get_allow_undefined_link_argsw  s   € ØŒ{×3Ò3Ñ5Ô5Ð5r`   c                ó4   — | j                              ¦   «         S r”   )r  Úno_undefined_argsrU  s    r^   r  zCompiler.no_undefined_link_argsz  ó   € ØŒ{×,Ò,Ñ.Ô.Ð.r`   Úinstruction_setc                ó   — dS )z¿Compiler arguments needed to enable the given instruction set.

        Return type ay be an empty list meaning nothing needed or None
        meaning the given set is not supported.
        NrZ   )r%  r<  s     r^   Úget_instruction_set_argsz!Compiler.get_instruction_set_args}  s	   € ð ˆtr`   Úfrom_dirÚrpath_pathsúT.Tuple[str, ...]Úbuild_rpathÚinstall_rpathú"T.Tuple[T.List[str], T.Set[bytes]]c                ó@   — | j                              ||||||¦  «        S r”   )r  Úbuild_rpath_args)r%  ri  r  r?  r@  rB  rC  s          r^   rF  zCompiler.build_rpath_args…  s.   € ð Œ{×+Ò+Ø�˜H k°;ÀñOô Oð 	Or`   c                ó   — g S r”   rZ   r‰  s     r^   Úthread_flagszCompiler.thread_flags‹  r¦  r`   c                ó6   — | j                              |¦  «        S r”   )r  rH  r‰  s     r^   Úthread_link_flagszCompiler.thread_link_flagsŽ  s   € ØŒ{×'Ò'¨Ñ,Ô,Ð,r`   c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz*Language %s does not support OpenMP flags.r¿  rU  s    r^   Úopenmp_flagszCompiler.openmp_flags‘  s#   € Ý"Ð#OÐRV×RkÒRkÑRmÔRmÑ#mÑnÔnÐnr`   c                ó*   — |                       ¦   «         S r”   )rL  rU  s    r^   Úopenmp_link_flagszCompiler.openmp_link_flags”  s   € Ø× Ò Ñ"Ô"Ð"r`   c                ó   — g S r”   rZ   r‰  s     r^   Úlanguage_stdlib_only_link_flagsz(Compiler.language_stdlib_only_link_flags—  r¦  r`   Úvistypec                ó   — g S r”   rZ   )r%  rQ  s     r^   Úgnu_symbol_visibility_argsz#Compiler.gnu_symbol_visibility_argsš  r¦  r`   rä   c                ó6   — | j                              |¦  «        S r”   )r  Úget_gui_app_args©r%  rä   s     r^   rU  zCompiler.get_gui_app_args�  s   € àŒ{×+Ò+¨EÑ2Ô2Ð2r`   c                ó6   — | j                              |¦  «        S r”   )r  Úget_win_subsystem_argsrV  s     r^   rX  zCompiler.get_win_subsystem_args¡  s   € ð Œ{×1Ò1°%Ñ8Ô8Ð8r`   Únamec                óL   — t          d|                      ¦   «         › d�¦  «        ‚)Nrß  z& does not support function attributes.r¿  )r%  rY  ri  s      r^   Úhas_func_attributezCompiler.has_func_attribute§  s1   € Ý"Ø[˜×1Ò1Ñ3Ô3Ð[Ð[Ð[ñ]ô ]ð 	]r`   c                ón   — d}t          |                     |                      ¦   «         ¦  «        ¦  «        ‚)Nz6Language {} does not support position-independent coderä  ©r%  rC   s     r^   Úget_pic_argszCompiler.get_pic_args«  s-   € ØDˆÝ" 1§8¢8¨D×,EÒ,EÑ,GÔ,GÑ#HÔ#HÑIÔIÐIr`   c                ón   — d}t          |                     |                      ¦   «         ¦  «        ¦  «        ‚)Nz<Language {} does not support position-independent executablerä  r]  s     r^   Úget_pie_argszCompiler.get_pie_args¯  s-   € ØJˆÝ" 1§8¢8¨D×,EÒ,EÑ,GÔ,GÑ#HÔ#HÑIÔIÐIr`   c                ó4   — | j                              ¦   «         S r”   )r  r`  rU  s    r^   Úget_pie_link_argszCompiler.get_pie_link_args³  ó   € ØŒ{×'Ò'Ñ)Ô)Ð)r`   c                ó   — dS )as  Returns the argument family type.

        Compilers fall into families if they try to emulate the command line
        interface of another compiler. For example, clang is in the GCC family
        since it accepts most of the same arguments as GCC. ICL (ICC on
        windows) is in the MSVC family since it accepts most of the same
        arguments as MSVC.
        ÚotherrZ   rU  s    r^   Úget_argument_syntaxzCompiler.get_argument_syntax¶  s	   € ð ˆwr`   c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz.%s does not support get_profile_generate_args rr  rU  s    r^   rú   z"Compiler.get_profile_generate_argsÁ  s'   € Ý"Ø<¸t¿{º{¹}¼}ÑLñNô Nð 	Nr`   c                óJ   — t          d|                      ¦   «         z  ¦  «        ‚)Nz)%s does not support get_profile_use_args rr  rU  s    r^   rû   zCompiler.get_profile_use_argsÅ  s'   € Ý"Ø7¸$¿+º+¹-¼-ÑGñIô Ið 	Ir`   c                óÎ   — d}d}d}g }t          |¦  «        }|D ]J}||v rŒ|                     |¦  «        r||vrŒ!||v rt          |¦  «         Œ5|                     |¦  «         ŒK|S )N)z-headerpad_max_install_names)z-Wl,ú-L)rj  z
-framework)ÚiterÚ
startswithÚnextrþ   )r%  r  Úrm_exactÚrm_prefixesÚrm_nextræ   ÚiargsÚargs           r^   Úremove_linkerlike_argszCompiler.remove_linkerlike_argsÉ  sŒ   € Ø4ˆØ%ˆØ'ˆØˆÝ�T‘
”
ˆØð 	ð 	ˆCà�hˆˆØð �~Š~˜kÑ*Ô*ð ¨s¸+Ð/EÐ/EØà�gˆ~ˆ~Ý�U‘”�ØØ�JŠJ�s‰OŒOˆOˆOØˆ
r`   r   r¸   rò   ró   c               ó   — g S r”   rZ   )r%  ró   rô   s      r^   r÷   zCompiler.get_lto_compile_argsÞ  r¦  r`   r	  r
  c               ó4   — | j                              ¦   «         S r”   )r  Úget_lto_args)r%  ró   rô   r
  s       r^   r  zCompiler.get_lto_link_argsá  s   € àŒ{×'Ò'Ñ)Ô)Ð)r`   c                ó   — g S r”   rZ   rV  s     r^   rù   zCompiler.sanitizer_compile_argså  r¦  r`   c                ó6   — | j                              |¦  «        S r”   )r  Úsanitizer_argsrV  s     r^   r  zCompiler.sanitizer_link_argsè  s   € ØŒ{×)Ò)¨%Ñ0Ô0Ð0r`   c                ó4   — | j                              ¦   «         S r”   )r  r  rU  s    r^   r  zCompiler.get_asneeded_argsë  r;  r`   c                ó4   — | j                              ¦   «         S r”   )r  r  rU  s    r^   r  zCompiler.headerpad_argsî  r¯  r`   c                ó4   — | j                              ¦   «         S r”   )r  r  rU  s    r^   r  zCompiler.bitcode_argsñ  rc  r`   rõ   c                ó0   — t          | j        › d�¦  «        ‚)Nz& does not implement get_buildtype_argsrž  ©r%  rõ   s     r^   Úget_buildtype_argszCompiler.get_buildtype_argsô  ó   € Ý" d¤gÐ#UÐ#UÐ#UÑVÔVÐVr`   c                ó6   — | j                              |¦  «        S r”   )r  r  r~  s     r^   Úget_buildtype_linker_argsz"Compiler.get_buildtype_linker_args÷  s   € ØŒ{×-Ò-¨iÑ8Ô8Ð8r`   Ú
shlib_namer\   Ú	soversionÚdarwin_versionsúT.Tuple[str, str]c                ó@   — | j                              ||||||¦  «        S r”   )r  Úget_soname_args)r%  ri  rh  rƒ  r\   r„  r…  s          r^   rˆ  zCompiler.get_soname_argsú  s,   € ð Œ{×*Ò*Ø�˜ V¨YØñô ð 	r`   Útargetú'BuildTarget'c                ó   — |j         S r”   )Ú	link_args)r%  r‰  s     r^   Úget_target_link_argszCompiler.get_target_link_args  s   € ØÔÐr`   Údepú'Dependency'c                ó*   — |                      ¦   «         S r”   )Úget_compile_args©r%  rŽ  s     r^   Úget_dependency_compile_argsz$Compiler.get_dependency_compile_args  s   € Ø×#Ò#Ñ%Ô%Ð%r`   c                ó*   — |                      ¦   «         S r”   )Úget_link_argsr’  s     r^   Úget_dependency_link_argsz!Compiler.get_dependency_link_args  s   € Ø× Ò Ñ"Ô"Ð"r`   c                ó   — g S )zKGet a list of arguments to pass to the compiler to set the linker.
        rZ   )rc  r  r:  s      r^   Úuse_linker_argszCompiler.use_linker_args
  s	   € ð ˆ	r`   c                ó   — g S r”   rZ   rU  s    r^   rü   zCompiler.get_coverage_args  r¦  r`   c                ó4   — | j                              ¦   «         S r”   )r  rü   rU  s    r^   r  zCompiler.get_coverage_link_args  r;  r`   c                ó   — g S r”   rZ   rU  s    r^   rý   z Compiler.get_disable_assert_args  r¦  r`   r  c                ó    — t          d¦  «        ‚©Nz4This compiler does not support Windows CRT selection©r
   ©r%  r  rõ   s      r^   rÿ   zCompiler.get_crt_compile_args  ó   € Ý"Ð#YÑZÔZÐZr`   c                ó    — t          d¦  «        ‚r�  rž  rŸ  s      r^   r  zCompiler.get_crt_link_args  r   r`   c                ó   — g S r”   rZ   rU  s    r^   rñ  zCompiler.get_compile_only_args  r¦  r`   c                ó    — t          d¦  «        ‚)Nz*This compiler does not have a preprocessorrž  rU  s    r^   rò  z!Compiler.get_preprocess_only_args"  s   € Ý"Ð#OÑPÔPÐPr`   c                ó*   — |                       ¦   «         S r”   )rò  rU  s    r^   Úget_preprocess_to_file_argsz$Compiler.get_preprocess_to_file_args%  s   € Ø×,Ò,Ñ.Ô.Ð.r`   c                ó   — g S r”   rZ   rU  s    r^   Úget_default_include_dirsz!Compiler.get_default_include_dirs(  r!  r`   c                ón   — |                       ¦   «         dk    s| j                             ¦   «         sdgS g S )z=Enable transparent large-file-support for 32-bit UNIX systemsÚmsvcz-D_FILE_OFFSET_BITS=64)rf  r<  Ú	is_darwinrU  s    r^   Úget_largefile_argszCompiler.get_largefile_args,  s>   € à×(Ò(Ñ*Ô*¨fÒ4Ð4¸¼	×8KÒ8KÑ8MÔ8MÐ4ð -Ð-Ð-ð ˆ	r`   Ú	elf_classc                ó   — g S r”   rZ   )r%  ri  r¬  s      r^   Úget_library_dirszCompiler.get_library_dirs?  r!  r`   rw   ÚrtypeúT.Union[str, int]c                ó0   — t          | j        › d�¦  «        ‚)Nz" does not support get_return_valuerž  )r%  rw   r¯  rh  ri  rk  rm  s          r^   Úget_return_valuezCompiler.get_return_valueC  s   € õ # d¤gÐ#QÐ#QÐ#QÑRÔRÐRr`   Úallow_systemc                ó0   — t          | j        › d�¦  «        ‚)Nz  does not support find_frameworkrž  )r%  rY  ri  rÜ  r³  s        r^   Úfind_frameworkzCompiler.find_frameworkL  s   € õ
 # d¤gÐ#OÐ#OÐ#OÑPÔPÐPr`   c                ó0   — t          | j        › d�¦  «        ‚)Nz& does not support find_framework_pathsrž  r‰  s     r^   Úfind_framework_pathszCompiler.find_framework_pathsS  r€  r`   c                ó0   — t          | j        › d�¦  «        ‚)Nz" does not support attribute checksrž  ©r%  rY  s     r^   Úattribute_check_funczCompiler.attribute_check_funcV  s   € Ý" d¤gÐ#QÐ#QÐ#QÑRÔRÐRr`   c                ó0   — t          | j        › d�¦  «        ‚©Nz& does not support pre compiled headersrž  rU  s    r^   Úget_pch_suffixzCompiler.get_pch_suffixY  r€  r`   c                ó0   — t          | j        › d�¦  «        ‚r¼  rž  r¹  s     r^   Úget_pch_namezCompiler.get_pch_name\  r€  r`   Úpch_dirÚheaderc                ó0   — t          | j        › d�¦  «        ‚r¼  rž  )r%  rÀ  rÁ  s      r^   Úget_pch_use_argszCompiler.get_pch_use_args_  r€  r`   c                ó0   — t          | j        › d�¦  «        ‚)Nz% does not support function attributesrž  r¹  s     r^   Ú!get_has_func_attribute_extra_argsz*Compiler.get_has_func_attribute_extra_argsb  s   € Ý" d¤gÐ#TÐ#TÐ#TÑUÔUÐUr`   c                ó6   — d                      | j        ¦  «        S )NrK  )r  r9  rU  s    r^   Úname_stringzCompiler.name_stringe  s   € Ø�xŠx˜œÑ%Ô%Ð%r`   Úwork_dirÚenvironmentÚNonec                ó   — dS )zÖCheck that this compiler actually works.

        This should provide a simple compile/link test. Something as simple as:
        ```python
        main(): return 0
        ```
        is good enough here.
        NrZ   )r%  rÈ  rÉ  s      r^   Úsanity_checkzCompiler.sanity_checkh  s   € € € r`   úT.Tuple[T.Optional[str], str]c                ó
   — d |fS r”   rZ   )r%  rw   s     r^   Úsplit_shlib_to_partszCompiler.split_shlib_to_partss  s   € Ø�Uˆ{Ðr`   Ú	outtargetÚoutfilec                ó   — g S r”   rZ   )r%  rÐ  rÑ  s      r^   Úget_dependency_gen_argsz Compiler.get_dependency_gen_argsv  r¦  r`   c                ó   — g S r”   rZ   rU  s    r^   Úget_std_exe_link_argszCompiler.get_std_exe_link_argsy  r!  r`   r  Ú	is_systemc                ó   — g S r”   rZ   )r%  r  rÖ  s      r^   Úget_include_argszCompiler.get_include_args}  r¦  r`   Úobjfilec                ó6   — |dz   |                       ¦   «         z   S )Nr|   )Úget_depfile_suffix)r%  rÙ  s     r^   Údepfile_for_objectzCompiler.depfile_for_object€  s   € Ø˜‰}˜t×6Ò6Ñ8Ô8Ñ8Ð8r`   c                ó0   — t          | j        › d�¦  «        ‚)Nz& does not implement get_depfile_suffixrž  rU  s    r^   rÛ  zCompiler.get_depfile_suffixƒ  r€  r`   c                ó   — g S )z>Arguments to turn off default inclusion of standard libraries.rZ   rU  s    r^   Úget_no_stdinc_argszCompiler.get_no_stdinc_args†  r!  r`   Úlevelc                ó   — g S r”   rZ   )r%  rà  s     r^   Úget_warn_argszCompiler.get_warn_argsŠ  r¦  r`   c                ó   — g S r”   rZ   rU  s    r^   Úget_werror_argszCompiler.get_werror_args�  r¦  r`   Úoptimization_levelc                ó   — d S r”   rZ   )r%  rå  s     r^   Úget_optimization_argszCompiler.get_optimization_args�  r”  r`   c                ó0   — t          | j        › d�¦  «        ‚)Nz* does not implement get_module_incdir_argsrž  rU  s    r^   Úget_module_incdir_argszCompiler.get_module_incdir_args”  ó   € Ý" d¤gÐ#YÐ#YÐ#YÑZÔZÐZr`   c                ó0   — t          | j        › d�¦  «        ‚)Nz* does not implement get_module_outdir_argsrž  )r%  r  s     r^   Úget_module_outdir_argszCompiler.get_module_outdir_args—  rê  r`   Úmodule_namec                ó0   — t          | j        › d�¦  «        ‚)Nz+ does not implement module_name_to_filenamerž  )r%  rí  s     r^   Úmodule_name_to_filenamez Compiler.module_name_to_filenameš  s   € Ý" d¤gÐ#ZÐ#ZÐ#ZÑ[Ô[Ð[r`   c                ó*   — |                       ¦   «         S )aL  Arguments to pass the compiler and/or linker for checks.

        The default implementation turns off optimizations.

        Examples of things that go here:
          - extra arguments for error checking
          - Arguments required to make the compiler exit with a non-zero status
            when something is wrong.
        )Úget_no_optimization_args)r%  rô   s     r^   Úget_compiler_check_argsz Compiler.get_compiler_check_args�  s   € ð ×,Ò,Ñ.Ô.Ð.r`   c                ó   — g S )z8Arguments to the compiler to turn off all optimizations.rZ   rU  s    r^   rñ  z!Compiler.get_no_optimization_args©  r!  r`   úUT.Union[None, CompilerArgs, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]]c                ó   — t          |¦  «        r ||¦  «        }|€g }|€g }|                      |                      |¦  «        ¦  «        }|D ]>}||                     ¦   «         z  }|t          j        u r||                     ¦   «         z  }Œ?|t          j        u r)||j         	                    | j
        | j        ¦  «        z  }n6|t          j        u r(||j                             | j
        | j        ¦  «        z  }||z  }|S )ac  Arguments to pass the build_wrapper helper.

        This generally needs to be set on a per-language baises. It provides
        a hook for languages to handle dependencies and extra args. The base
        implementation handles the most common cases, namely adding the
        check_arguments, unwrapping dependencies, and appending extra args.
        )Úcallablerö  rò  r‘  rŸ   r¨   r•  r§   r   Úget_external_argsr;  r4  Úget_external_link_args)r%  ri  rk  rm  rô   r  rB   s          r^   Úbuild_wrapper_argszCompiler.build_wrapper_args­  s  € õ �JÑÔð 	*Ø#˜ DÑ)Ô)ˆJØÐØˆJØÐØˆLð ×!Ò! $×">Ò">¸tÑ"DÔ"DÑEÔEˆØð 	*ð 	*ˆAà�A×&Ò&Ñ(Ô(Ñ(ˆDØÕ'Ô,Ð,Ð,à˜ŸšÑ)Ô)Ñ)�øàÕ#Ô+Ð+Ð+à�C”L×2Ò2°4Ô3CÀTÄ]ÑSÔSÑSˆDˆDØÕ%Ô*Ð*Ð*à�C”L×7Ò7¸Ô8HÈ$Ì-ÑXÔXÑXˆDà�
ÑˆØˆr`   r¡   c	              #  óZ  K  — |                       |||t          |¦  «        ¦  «        }	|s|r>|                      ||	|||j        ¬¦  «        5 }
|
V — ddd¦  «         dS # 1 swxY w Y   dS |                      ||j        |	||j        ¬¦  «        5 }
|
V — ddd¦  «         dS # 1 swxY w Y   dS )zÂHelper for getting a cacched value when possible.

        This method isn't meant to be called externally, it's mean to be
        wrapped by other methods like compiles() and links().
        r  Nr  )rù  rŸ   r¡   Úscratch_dirr  r   )r%  rÆ  ri  rk  rm  rô   r÷  ro  rø  r  Úrs              r^   Ú_build_wrapperzCompiler._build_wrapperÒ  sW  è è € ð ×&Ò& s¨J¸ÕFVÐW[ÑF\ÔF\Ñ]Ô]ˆØð 	˜Kð 	Ø—’˜d¨t¸$ÈKÐbeÔbq�ÑrÔrð ÐvwØ���ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ð ×$Ò$ T¨3¬<ÀDÈtÐ^aÔ^mÐ$ÑnÔnð ÐrsØ���ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÁAÁA!Á$A!ÂB Â B$Â'B$©rk  rm  rô   ro  úUT.Union[None, T.List[str], CompilerArgs, T.Callable[[CompileCheckMode], T.List[str]]]c               ó�   — |                       ||||||¬¦  «        5 }|j        dk    |j        fcd d d ¦  «         S # 1 swxY w Y   d S )N)ro  r   )rý  r!  r0  )r%  rÆ  ri  rk  rm  rô   ro  r  s           r^   ÚcompileszCompiler.compilesæ  s™   € ð
 × Ò   s¨J¸ÀdÐZgÐ ÑhÔhð 	/ÐlmØ”< 1Ò$ a¤hÐ.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   œ;»?Á?)rî   rk  rm  rô   ro  rî   úT.Optional['Compiler']c          	     ó  — |rp|                      |||d¬¦  «        5 }t          j                             |j        ¦  «        }	|                      |	|||dd¬¦  «        cd d d ¦  «         S # 1 swxY w Y   |                      ||||d|¬¦  «        S )NT)rm  r÷  r¢   rþ  )rý  r   r   Úfrom_absolute_filer/  r  )
r%  rÆ  ri  rî   rk  rm  rô   ro  rü  rÙ  s
             r^   ÚlinkszCompiler.linksî  sÿ   € ð ð 	aØ×(Ò(¨¨sÀÐ[_Ð(Ñ`Ô`ð aÐdeÝ"œ-×:Ò:¸1¼=ÑIÔI�Ø—}’} W¨c¸jØ2>ÀVÐ[_ð %ñ aô aðað að að añ aô að að að að að að aøøøð að að að að
 �}Š}˜T 3°:Ø*6¸VÐS`ð ñ bô bð 	bs   œ?A(Á(A,Á/A,ÚkwargsúT.Dict[str, T.Any]Úbuild_to_srcc                ó0   — t          | j        › d�¦  «        ‚)z&Used by D for extra language features.z$ does not implement get_feature_argsrž  )r%  r  r  s      r^   Úget_feature_argszCompiler.get_feature_argsý  s   € õ # d¤gÐ#SÐ#SÐ#SÑTÔTÐTr`   Úprelink_nameÚobj_listc                ó0   — t          | j        › d�¦  «        ‚)Nz$ does not know how to do prelinking.rž  )r%  r  r  s      r^   Úget_prelink_argszCompiler.get_prelink_args  s   € Ý" d¤gÐ#SÐ#SÐ#SÑTÔTÐTr`   ú'RSPFileSyntax'c                ó4   — | j                              ¦   «         S )z£The format of the RSP file that this compiler supports.

        If `self.can_linker_accept_rsp()` returns True, then this needs to
        be implemented
        )r  Úrsp_file_syntaxrU  s    r^   r  zCompiler.rsp_file_syntax  s   € ð Œ{×*Ò*Ñ,Ô,Ð,r`   Úis_debugc                ó   — g S )z%Arguments required for a debug build.rZ   )r%  r  s     r^   Úget_debug_argszCompiler.get_debug_args  r!  r`   c                ó   — g S )z)Arguments to completely disable warnings.rZ   rU  s    r^   Úget_no_warn_argszCompiler.get_no_warn_args  r!  r`   c                ó0   — t          d| j        › �¦  «        ‚)NzThere is no static linker for )ÚNotImplementedErrorr4  rU  s    r^   Úneeds_static_linkerzCompiler.needs_static_linker  s   € Ý!Ð"RÀ4Ä=Ð"RÐ"RÑSÔSÐSr`   c                óJ   — t          |                      ¦   «         › d�¦  «        ‚)z%Get compiler's preprocessor.
        z does not support preprocessorrr  rU  s    r^   Úget_preprocessorzCompiler.get_preprocessor  s#   € õ # d§k¢k¡m¤mÐ#SÐ#SÐ#SÑTÔTÐTr`   )NNF)r8  rð   r9  rð   r:  ro   r;  r   r<  r=  r  r>  r?  r*  r@  ry   )rp   ro   )rP  rx   rp   ry   )rp   rW  )F)rg  ro   rh  ro   ri  rj  rk  rl  rm  rn  ro  ry   rp   rp  )rt  ro   ru  rv  rw  rv  rx  rv  rh  ro   ri  rj  rk  ry  rm  rz  rp   rq   )r}  rð   r  ro   rp   rð   )r€  ro   r�  rð   rh  ro   ri  rj  rk  ry  rm  rz  rp   r‚  )r€  ro   rh  ro   ri  rj  rk  rl  rm  rz  rp   r‚  )ri  rj  rp   ry   )T)r8  ry   rp   rð   )rp   rð   )r�  ro   rp   rð   )r—  ro   rp   rð   )rœ  ro   rp   r*  )rœ  ro   rp   ry   )rp   ry   )r°  ro   rp   rð   )rp   r³  )rá   rÝ   rp   rð   )r¼  ro   rh  ro   ri  rj  rk  ry  rm  rz  rp   r‚  )r¼  ro   rh  ro   ri  rj  rk  ry  rm  rz  ro  ry   rp   r‚  )r¼  ro   rÃ  ro   rh  ro   ri  rj  rk  ry  rm  rz  rp   r‚  )
rÆ  rx   ri  rj  rk  rÇ  rm  rz  rp   r  )r€  ro   rh  ro   ri  rj  rk  ry  rm  rz  rp   rq   )r€  ro   rh  ro   ri  rj  rk  r-  rm  rz  rp   rq   )rÎ  ro   rh  ro   ri  rj  rk  r-  rm  rz  rp   r‚  )r  rð   r<  r   rp   rð   )r  rð   rp   rð   )
rÛ  ro   ri  rj  rÜ  rð   rÝ  r   rp   r-  )ri  rj  rÝ  r   rá  ry   rp   râ  )ri  rj  rp   rð   )r  rð   ri  rj  rp   r‚  )r—  ro   rô   ro   rp   ro   )rô   rŸ   rp   rð   r”   )r  rô  rp   r   )rÆ  rx   rk  rù  rô   ro   r÷  ry   rø  r*  rp   rú  )rÆ  rx   r  r  rk  r  rô   ro   rø  r*  rp   rú  )r  ro   rp   rð   )r"  ro   r#  ry   rp   rð   )r&  ro   rp   ro   )r&  ro   rp   rð   )r<  ro   rp   r-  )ri  rj  r  ro   r?  ro   r@  rA  rB  ro   rC  ro   rp   rD  )rQ  ro   rp   rð   )rä   ry   rp   rð   )rä   ro   rp   rð   )rY  ro   ri  rj  rp   r‚  )ró   rq   rô   ro   rp   rð   )ró   rq   rô   ro   r
  r*  rp   rð   )rõ   ro   rp   rð   )ri  rj  rh  ro   rƒ  ro   r\   ro   r„  ro   r…  r†  rp   rð   )r‰  rŠ  rp   rð   )rŽ  r�  rp   rð   )r  ro   r:  ro   rp   rð   )r  ro   rõ   ro   rp   rð   )ri  rj  r¬  rv  rp   rð   )rw   ro   r¯  ro   rh  ro   ri  rj  rk  r-  rm  rz  rp   r°  )
rY  ro   ri  rj  rÜ  rð   r³  ry   rp   r-  )rY  ro   rp   ro   )rÀ  ro   rÁ  ro   rp   rð   )rY  ro   rp   rð   )rÈ  ro   rÉ  rj  rp   rÊ  )rw   ro   rp   rÍ  )rÐ  ro   rÑ  ro   rp   rð   )r  ro   rÖ  ry   rp   rð   )rÙ  ro   rp   r*  )rà  ro   rp   rð   )rå  ro   rp   rð   )rp   rA  )r  ro   rp   rð   )rí  ro   rp   ro   )
ri  rj  rk  rô  rm  rz  rô   rŸ   rp   r   )NNr¡   FFN)rÆ  rx   ri  rj  rk  rô  rm  rz  rô   ro   r÷  ry   ro  ry   rø  ro   rp   rú  )rÆ  rx   ri  rj  rk  rÿ  rm  rz  rô   ro   ro  ry   rp   r‚  )rÆ  rx   ri  rj  rî   r  rk  rÿ  rm  rz  rô   ro   ro  ry   rp   r‚  )r  r  r  ro   rp   rð   )r  ro   r  rð   rp   rð   )rp   r  )r  ry   rp   rð   )rp   r   )žr£   r¤   r¥   Úignore_libsÚinternal_libsÚLINKER_PREFIXÚINVOKES_LINKERÚ__annotations__rô   r&  rO  r   rS  rV  rY  r[  r^  r`  Úclassmethodrd  rf  rs  r|  r  r„  r‡  rŠ  r�  r�  ÚabcÚabstractmethodr“  r–  rš  r   r£  r¥  r©  r«  r®  r²  rµ  r¸  r»  rÀ  rÂ  rÅ  rÉ  rË  rÍ  rÐ  rÔ  rØ  rÚ  r   ÚPREFER_SHAREDrà  rå  rç  rê  rì  rï  ró  rö  Ú
contextlibÚcontextmanagerr¡   r  rø   r%  r*  r.  r1  r4  r6  r  r  r>  rF  rH  rJ  rL  rN  rP  rS  rU  rX  r[  r^  r`  rb  rf  rú   rû   rs  r÷   r  rù   r  r  r  r  r  r‚  rˆ  r�  r“  r–  r˜  rü   r  rý   rÿ   r  rñ  rò  r¥  r§  r«  r®  r²  rµ  r·  rº  r½  r¿  rÃ  rÅ  rÇ  rÌ  rÏ  rÓ  rÕ  rØ  rÜ  rÛ  rß  râ  rä  rç  ré  rì  rï  rò  rñ  rŸ   r§   rù  rý  r  r  r
  r  r  r  r  r  r  rZ   r`   r^   r   r   å  sb  € € € € € € ð €Kð €Mà€MØ€Nà€M€M�MØ€G€G�GØ'Ð'Ð'Ñ'Ø€DÐÐÐÑð 8<ØHMñ*ñ *ð *ð *ð *ñ*7ð 7ð 7ð 7ð
 €Y�tÐÑÔñHð Hð Hñ ÔðHñð ð ð ñð ð ð ñð ð ð ñ,ð ,ð ,ð ,ñð ð ð ð ñ)ð )ð )ñ „[ð)ñ#ð #ð #ð #ð */ñVñ Vð Vð Vð VñWð Wð Wð Wñrð rð rð rð koØEIðYð Yñ Yð Yð Yð Yð CGðTð Tñ Tð Tð Tð Tñ
jð jð jð jñPñ Pð Pð Pð Pñ)ð )ð )ð )ð 	Ôñð ð ñ Ôðñ7ð 7ð 7ð 7ñ4ð 4ð 4ð 4ñXð Xð Xð XñXð Xð Xð Xñð ð ð ñ-ð -ð -ð -ñ-ð -ð -ð -ñ,ð ,ð ,ð ,ñð ð ð ñð ð ð ñð ð ð ñ4ð 4ð 4ð 4ð lpØFJð	pð 	pñ 	pð 	pð 	pð 	pð jnØDHØ).ðpð pñ pð pð pð pð, quØKOðwð wñ wð wð wð wð cgØ=Aðmð mñ mð mð mð mð fjØ@Dðpð pñ pð pð pð pð 9=ØCGðsð sñ sð sð sð sð <@ØFJð	rð 	rñ 	rð 	rð 	rð 	rð ñð ð ñ „[ðñ:ð :ð :ð :ð ñð ð ñ „[ðð
 )0Ô(=ðpñ pð pð pð pð
 +0ñ.ñ .ð .ð .ð .ñð ð ð ñ.ð .ð .ð .ñ
:ð :ð :ð :ñ9ð 9ð 9ð 9ñ
ð 
ð 
ð 
ñ(ñ (ð (ð (ð (ð ÔàGKñ:à%¸5Ø,0ð:ð :ñ :ð :ð :ñ Ôð:ðx ÔàNRØ#)Ø37ðð ñ ð ð ñ Ôðñ2ð ð ð ññ ð ð ð ñ:ð :ð :ð :ñ:ð :ð :ð :ñ5ð 5ð 5ð 5ñ?ð ?ð ?ð ?ñ4ð 4ð 4ð 4ñ6ð 6ð 6ð 6ñ/ð /ð /ð /ñð ð ð ñOð Oð Oð Oñð ð ð ñ-ð -ð -ð -ñoð oð oð oñ#ð #ð #ð #ñð ð ð ñð ð ð ñ3ð 3ð 3ð 3ñ9ð 9ð 9ð 9ñ]ð ]ð ]ð ]ñJð Jð Jð JñJð Jð Jð Jñ*ð *ð *ð *ñ	ð 	ð 	ð 	ñNð Nð Nð NñIð Ið Ið Iñð ð ð ð* 67ÀIð ð ñ ð ð ð ð 34ÀØ?Cð*ð *ñ *ð *ð *ð *ñð ð ð ñ1ð 1ð 1ð 1ñ/ð /ð /ð /ñ,ð ,ð ,ð ,ñ*ð *ð *ð *ñWð Wð Wð Wñ9ð 9ð 9ð 9ñð ð ð ñ ð  ð  ð  ñ&ð &ð &ð &ñ#ð #ð #ð #ð ñð ð ñ „[ðñ
ð ð ð ñ/ð /ð /ð /ñð ð ð ñ[ð [ð [ð [ñ[ð [ð [ð [ñð ð ð ñQð Qð Qð Qñ/ð /ð /ð /ñð ð ð ñð ð ð ð( 7;ññ ð ð ð ñSð Sð Sð Sð -1ñ	Qñ Qð Qð Qð QñWð Wð Wð WñSð Sð Sð SñWð Wð Wð WñWð Wð Wð WñWð Wð Wð WñVð Vð Vð Vñ&ð &ð &ð &ð 	Ôñð ð ñ Ôðñð ð ð ñð ð ð ñð ð ð ñð ð ð ñ9ð 9ð 9ð 9ñWñ Wð Wð Wññ ð ð ññ ð ð ññ ð ð ð 	Ôññ ð ñ Ôðñ[ñ [ð [ð [ñ[ñ [ð [ð [ñ\ñ \ð \ð \ñ
/ñ 
/ð 
/ð 
/ññ ð ð ð 5EÔ4Lð#ñ #ñ #ð #ð #ðJ Ôà{ØHLØBGØ-2Ø'+ññ ñ ð ñ Ôðð( vzØBFÙ&Ø',ñ	/ð /ñ /ñ /ð /ð /ð 26ØrvØ?CÙ#Ø$)ñbð bñ bñ bð bð bñUñ Uð Uð Uñ
Uñ Uð Uð Uñ-ñ -ð -ð -ññ ð ð ññ ð ð ñTñ Tð Tð TñUñ Uð Uð Uð Uð Ur`   )Ú	metaclassÚcompúT.Type[Compiler]r;  r   ri  rj  c                óÎ  — d| › �}t          d| |¬¦  «        }|                     d¦  «        }|                     d¦  «        }||j        v r|n|}|j                             |g ¦  «        }	|j                             |g ¦  «        }
t	          j        |dz   |	ddd¬¦  «        }t	          j        |d	z   |
ddd¬¦  «        }|j        r||k    r|                     |	¦  «         ||||i}|S )
zBRetrieve options that apply to all compilers for a given language.zExtra arguments passed to the r  )r]   ÚmachinerŒ  Úenv_argsz	 compilerT)Ú
split_argsÚ
user_inputÚ
allow_dupsz linker)r   Úevolverá   Úgetr   ÚUserArrayOptionr  Úextend_value)r]   r(  r;  ri  ÚdescriptionÚargkeyÚlargkeyÚenvkeyÚcomp_keyÚcomp_optionsÚlink_optionsÚcargsÚlargsÚoptss                 r^   Úget_global_optionsr>    s  € ð
 :°4Ð9Ð9€KÝ�v D°+Ð>Ñ>Ô>€FØ�mŠm˜KÑ(Ô(€GØ�]Š]˜:Ñ&Ô&€Fà 3¤;Ð.Ð.ˆvˆv°F€Hà”;—?’? 8¨RÑ0Ô0€LØ”;—?’? 7¨BÑ/Ô/€LåÔ$Ø�kÑ!Ø °$À4ðIñ Iô I€Eõ Ô$Ø�iÑØ °$À4ðIñ Iô I€Eð Ôð )˜x¨6Ò1Ð1ð 	×Ò˜<Ñ(Ô(Ð(à#)¨5°'¸5Ð"A€Dà€Kr`   )r]   ro   rp   rq   )rw   rx   rp   ry   )rß   rà   rá   rÝ   râ   r   rp   ry   )rá   rÝ   rè   r   ré   rê   rp   rê   )rá   rÝ   rî   rï   rp   rð   )
rá   rÝ   r  rï   r  ry   r  ro   rp   rð   )
r]   ro   r(  r)  r;  r   ri  rj  rp   rÝ   )oÚ
__future__r   r"  r%  Úos.pathr  ÚreÚenumÚ	itertoolsÚtypingÚTÚ	functoolsr   r¼   r   r   r   r	   r
   r   r   r   r   r   Úarglistr   ÚTYPE_CHECKINGÚbuildr   r   r   Ú	envconfigr   rÉ  r   Úlinkersr   r   r   rm  r   ÚTypeVarr   r   r�   r‘   r™   rF  ÚkeysÚall_languagesÚc_cpp_suffixesrG  Úcpp_suffixesÚ
c_suffixesr‰   rŒ   ÚchainÚvaluesrœ   r†   Ú
clib_langsrt   ÚdictÚitemsÚSUFFIX_TO_LANGÚLANGUAGES_USING_LDFLAGSÚLANGUAGES_USING_CPPFLAGSr¡   r—   rn   r   rv   rƒ   r‡   rŠ   r�   r’   r•   rš   r�   ÚEnumrŸ   Úcuda_buildtype_argsÚjava_buildtype_argsÚrust_buildtype_argsÚd_gdc_buildtype_argsÚd_ldc_buildtype_argsÚd_dmd_buildtype_argsÚmono_buildtype_argsÚswift_buildtype_argsÚgnu_winlibsÚmsvc_winlibsÚclike_optimization_argsÚcuda_optimization_argsÚcuda_debug_argsÚclike_debug_argsÚUserBooleanOptionÚUserIntegerOptionÚUserComboOptionÚUserStringOptionrÞ   rç   rí   r  r  r  r  r(  ÚABCMetar   r>  rZ   r`   r^   ú<module>rn     sã
  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "à„?ð 
Ø#Ð#Ð#Ð#Ð#Ð#ØJÐJÐJÐJÐJÐJÐJÐJØ'Ð'Ð'Ð'Ð'Ð'Ø)Ð)Ð)Ð)Ð)Ð)Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø(Ð(Ð(Ð(Ð(Ð(Ø)Ð)Ð)Ð)Ð)Ð)à�1”9˜^°:Ð>Ñ>Ô>€LØ	ˆŒ�4‰Œ€Bð@ð MÐLÐL€Ø"Ð"Ð"€à@Ð@Ð@€ð
 
ØTØð FØ	ØØØØ"Ø
ØØØØØð#ð €ð& ×"Ò"Ñ$Ô$€Ø�€Øˆs�= Ô'Ñ(Ô(¨>Ñ9€ØˆS�˜sÔ#Ñ$Ô$ ~Ñ5€
Ø.Ð.Ð.Ð Ø�6Ð Øˆs�?�9”?Ðq M×$8Ò$8Ñ$:Ô$:ÐqÐ<NÐqÐP`ÐqÐbpÐqÐqÐqÑrÔr€Ø Ñ0€ð 7€
ð ˜jÑ(€à��o�i”oð (Kð (KØ4A×4GÒ4GÑ4IÔ4Ið(Kñ (Kô (Kð Lñ Mô M€ð QÐPÐPÐ à9Ð9Ð9Ð Ø
ˆ"Œ*Ð@Ñ
AÔ
A€ð 
ØØØØØØ	ØØØØ
ð'ð '€ð ð ð ñ ð 	$ð 	$ð 	$ð 	$ð%ð %ð %ð %ð%ð %ð %ð %ð(ð (ð (ð (ð&ð &ð &ð &ð €�4ÐÑÔð"ð "ð "ñ Ôð"ð!ð !ð !ð !ð
"ð "ð "ð "ð"ð "ð "ð "ðð ð ð ð �t”yñ ô ð ð !#Ø!% t Ø*.°Ð)<Ø"$Ø"$Ø!#ðð Ð ð !#Ø!% Ø*.¨Ø"$Ø"$Ø!#ðð Ð ð !#Ø "Ø)+Ø"$Ø"$Ø!#ðð Ð ð "$Ø!#Ø+?Ð*@Ø$8Ð#9Ø#%Ø"$ðð Ð ð "$Ø!#Ø+=Ð?RÐ*SØ$6Ð8KÐ#LØ#%Ø"$ðð Ð ð "$Ø!#Ø+4¨+Ø$- ;Ø#%Ø"$ðð Ð ð !#Ø "Ø*6¨Ø#/ .Ø"$Ø!#ðð Ð ð "$Ø!#Ø*,Ø#%Ø#%Ø"$ðð Ð ðNð Nð N€ð<ð <ð <€ð %'Ø "Ø "Ø!& Ø!& Ø!& Ø!& ðð Ð ð $&Ø!Ø %˜wØ %˜wØ %˜wØ %˜wØ %˜wðð Ð ð Ø˜ð!ð !€ð Ø˜&ð"ð "Ð ð'Ø€IˆgÑÔÐ2˜Ô2Ð3LÈdÑSÔSð'à€IˆgÑÔÐ2˜Ô2Ð3OÐQVÑWÔWð'ð €IˆoÑÔÐ : Ô :Ð;lÐn}Ñ ~Ô ~ð'ð €IˆlÑÔÐ5˜XÔ5Ð6[Ø7@À&Ð6IØ6?ñAô Að	'ð €IÐÑ Ô Ð"< (Ô"<Ð=uÐw|Ñ"}Ô"}ð'ð €IÐ#Ñ$Ô$Ð&? hÔ&?Ð@jÐlnÑ&oÔ&oð'ð €IˆlÑÔÐ5˜XÔ5Ð6Mð 7Hð  7Hð  7HØ6<ñ>ô >ð'ð €IˆjÑÔÐ5˜8Ô5Ð6[Ð]aÑbÔbð'ð €IˆlÑÔÐ7˜XÔ7Ð8ZÐ\`ÑaÔað'ð €IˆgÑÔÐ0˜Ô0Ð1RØ1KÐ1KÐ1KØ16ñ8ô 8ð'ð" €IˆlÑÔÐ7˜XÔ7Ð8SÐUZÑ[Ô[ð#'ð$ €IˆlÑÔÐ5˜XÔ5Ð6JØ6QÐ6QÐ6QØ6>ñ@ô @ð%'ð* €IˆjÑÔÐ3˜8Ô3Ð4EÐGfÐGfÐGfÐhoÑpÔpð+'ð, €IˆmÑÔÐ8˜hÔ8Ð9iÐkoÑpÔpð-'ð. €IˆgÑÔÐ2˜Ô2Ð3^Ð`eÑfÔfð/'ð0 €IˆkÑÔÐ6˜HÔ6Ð7iÐkpÑqÔqð1'ð2 €IˆiÑÔÐ2˜(Ô2Ð3Uð 4Að  4Að  4AØ3CñEô Eð3'€ð ð ð ñ ð<	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð1ð 1ð 1ð 1ðf?ð ?ð ?ð ?ðD	ð 	ð 	ð 	ð 	˜.ñ 	ô 	ð 	ðð ð ð ð �ñ ô ð ð%ð %ð %ð %ð %�Nñ %ô %ð %ð&vUð vUð vUð vUð vUˆ~¨¬ð vUñ vUô vUð vUðp!ð !ð !ð !ð !ð !r`   