§
    ‹ã÷cPß  ã                  ó„  — U d dl mZ ddlmZm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mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$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m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5 ddl6m7Z7 ddlm8Z8m9Z9 ddl:m;Z; e.j<        e.j=        e>df         e8f         Z?e.j=        d         Z@e.j<        e@e8f         ZAe.jB        e.jB        e>df         e>e9e.jB        e>df         e>f         ZCe.j<        e>eDejE        e>         ejE        eD         f         ZFdZGg d¢ZHdZI e.jJ        d¦  «        ZK G d„ de¦  «        ZL G d„ de.jM        eK         e¦  «        ZN G d„ deNe>         ¦  «        ZO G d„ deNeP         ¦  «        ZQ G d„ d eNeR         ¦  «        ZS G d!„ d"eR¦  «        ZT G d#„ d$eSeNe.j<        e>eTf                  ¦  «        ZU G d%„ d&eNe>         ¦  «        ZV G d'„ d(eNe.jW        e>                  ¦  «        ZX G d)„ d*eV¦  «        ZY G d+„ d,e+jZ        ¦  «        Z[ G d-„ d.¦  «        Z\ G d/„ d0¦  «        Z] G d1„ d2¦  «        Z^ e.jJ        d3¦  «        Z_ G d4„ d5¦  «        Z` G d6„ d7e*ja        ¦  «        Zb G d8„ d9¦  «        Zcd:„ Zddàd>„ZedádB„ZfdádC„ZgdâdD„ZhdãdE„ZidädI„ZjdådJ„ZkdædL„ZldçdO„ZmdèdédT„ZndêdV„Zo e.jJ        dWeNeK         ¬X¦  «        Zp G dY„ dZe.jM        eKepf         ¦  «        Zq e e!d[¦  «         eqeOd\ e¦   «         ¦  «        f e!d]¦  «         eqeOd^d_¦  «        f e!d`¦  «         eqeOda e¦   «         ¦  «        f e!db¦  «         eqeOdc e¦   «         ¦  «        f e!dd¦  «         eqeOde e¦   «         ¦  «        f e!df¦  «         eqeOdg e¦   «         ¦  «        f e!dh¦  «         eqeOdi e¦   «         ¦  «        f e!dj¦  «         eqeOdk e¦   «         ¦  «        f e!dl¦  «         eqeOdmdn¦  «        f e!do¦  «         eqeOdp e¦   «         ¦  «        f e!dq¦  «         eqeOdr e¦   «         ¦  «        f e!ds¦  «         eqeOdtdu¦  «        f e!dv¦  «         eqeOdw e¦   «         ¦  «        fg¦  «        Zrdxesdy<    e e!dz¦  «         eqeYd{d|¦  «        f e!d}¦  «         eqeVd~deH¬€¦  «        f e!d�¦  «         eqeVd‚dƒg d„¢¬€¦  «        f e!dƒ¦  «         eqeQd…d†¦  «        f e!d‡¦  «         eqeVdˆd‰g dŠ¢d¬‹¦  «        f e!dŒ¦  «         eqeQd�d†¦  «        f e!dŽ¦  «         eqeUd�d�¦  «        f e!d‘¦  «         eqeVd’d“d“d”g¬€¦  «        f e!d•¦  «         eqeVd–d—g d˜¢¬€¦  «        f e!d™¦  «         eqeQdšd¦  «        f e!d›¦  «         eqeQdœd†¦  «        f e!d�¦  «         eqeQdžd¦  «        f e!dŸ¦  «         eqeVd d¡g d¢¢¬€¦  «        f e!d£¦  «         eqeSd¤d¥¦  «        f e!d¦¦  «         eqeVd§d¨g d©¢d¬‹¦  «        f e!dª¦  «         eqeQd«dd¬¬¦  «        f e!d­¦  «         eqeVd®d¯g d°¢¬€¦  «        f e!d±¦  «         eqeXd²g ¦  «        f e!d³d´¬µ¦  «         eqeQd¶d¦  «        f e!d·d¸¬µ¦  «         eqeVd¹d[g dº¢¬€¦  «        f e!d»d¸¬µ¦  «         eqeOd¼dP¦  «        f e!d½d¸¬µ¦  «         eqeOd¾dP¦  «        fg¦  «        Ztdxesd¿<    e e
er u                    ¦   «         et u                    ¦   «         ¦  «        ¦  «        Zv e e!dÀ¦  «         eqeXdÁg ¦  «        f e!dÂ¦  «         eqeXdÃg ¦  «        fg¦  «        ZwdxesdÄ<    e!dv¦  «        dÅdÆi e!dl¦  «        dÇdÈdÉœ e!ds¦  «        dÊdËdÉœ e!d»d¸¬µ¦  «        i  e!d½d¸¬µ¦  «        i iZxdÌesdÍ<   i dÎd“dÏd“dÐd“dÑd“dÒd“dÓd“dÔd“dÕd“dÖd“d×d“dØd“dÙd“dÚd“dÛd“dÜd“dÝd“dÞd“ddddßœ¥ZydS )ëé    )Úannotationsé   )ÚmlogÚmparserN)Úchain)ÚPurePath)ÚOrderedDict)ÚHoldableObjectÚMesonExceptionÚEnvironmentExceptionÚMachineChoiceÚ
PerMachineÚPerMachineDefaultableÚdefault_libdirÚdefault_libexecdirÚdefault_prefixÚdefault_datadirÚdefault_includedirÚdefault_infodirÚdefault_localedirÚdefault_mandirÚdefault_sbindirÚdefault_sysconfdirÚ
split_argsÚ	OptionKeyÚ
OptionTypeÚstringlistifyÚpickle_loadÚreplace_if_different)ÚWrapMode©Údependencies)ÚCompilerÚCompileResult)ÚTV_DepID)ÚEnvironment)ÚOptionOverrideProxyÚFileOrString)ÚCMakeCacheEntryúUserOption[T.Any])r   r*   .z1.0.1)
ÚninjaÚvsÚvs2010Úvs2012Úvs2013Úvs2015Úvs2017Úvs2019Úvs2022ÚxcodeFÚ_Tc                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )	ÚMesonVersionMismatchExceptionzQBuild directory generated with Meson version is incompatible with current versionÚold_versionÚstrÚcurrent_versionÚreturnÚNonec                ót   •— t          ¦   «                              d|› d|› d�¦  «         || _        || _        d S )Nz6Build directory has been generated with Meson version z1, which is incompatible with the current version ú.)ÚsuperÚ__init__r8   r:   )Úselfr8   r:   Ú	__class__s      €ú5/usr/lib/python3/dist-packages/mesonbuild/coredata.pyr@   z&MesonVersionMismatchException.__init__G   sb   ø€ Ý‰Œ×Òð ^ÐR]ð ^ð ^ØKZð^ð ^ð ^ñ 	_ô 	_ð 	_à&ˆÔØ.ˆÔÐÐó    )r8   r9   r:   r9   r;   r<   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r@   Ú__classcell__©rB   s   @rC   r7   r7   E   sC   ø€ € € € € Ø[Ð[ð/ð /ð /ð /ð /ð /ð /ð /ð /ð /rD   r7   c                  ó@   ‡ — e Zd Zdˆ fd„Zdd„Zdd„Zdd„Zdd„Zˆ xZS )Ú
UserOptionÚdescriptionr9   Úchoicesú$T.Optional[T.Union[str, T.List[_T]]]ÚyieldingúT.Optional[bool]c                óÚ   •— t          ¦   «                              ¦   «          || _        || _        |€t          }t          |t          ¦  «        st          d¦  «        ‚|| _        d| _	        d S )Nz&Value of "yielding" must be a boolean.F)
r?   r@   rN   rM   Údefault_yieldingÚ
isinstanceÚboolr   rP   Ú
deprecated)rA   rM   rN   rP   rB   s       €rC   r@   zUserOption.__init__O   sg   ø€ Ý‰Œ×ÒÑÔÐØˆŒØ&ˆÔØÐÝ'ˆHÝ˜(¥DÑ)Ô)ð 	KÝ Ð!IÑJÔJÐJØ ˆŒØMRˆŒˆˆrD   ÚvalueúT.Anyr;   úT.List[T.Any]c                ó   — |gS ©N© ©rA   rW   s     rC   ÚlistifyzUserOption.listifyZ   s	   € ØˆwˆrD   ú8T.Union[str, int, bool, T.List[T.Union[str, int, bool]]]c                ón   — t          | j        t          t          t          t
          f¦  «        sJ ‚| j        S r[   )rT   rW   r9   ÚintrU   Úlist©rA   s    rC   Úprintable_valuezUserOption.printable_value]   s+   € Ý˜$œ*¥s­CµµtÐ&<Ñ=Ô=Ð=Ð=Ð=ØŒzÐrD   r5   c                ó    — t          d¦  «        ‚)Nz5Derived option class did not override validate_value.)ÚRuntimeErrorr]   s     rC   Úvalidate_valuezUserOption.validate_valued   s   € ÝÐRÑSÔSÐSrD   Únewvaluer<   c                ó:   — |                       |¦  «        | _        d S r[   )rg   rW   )rA   rh   s     rC   Ú	set_valuezUserOption.set_valueg   s   € Ø×(Ò(¨Ñ2Ô2ˆŒ
ˆ
ˆ
rD   )rM   r9   rN   rO   rP   rQ   )rW   rX   r;   rY   )r;   r_   )rW   rX   r;   r5   )rh   rX   r;   r<   )	rE   rF   rG   r@   r^   rd   rg   rj   rI   rJ   s   @rC   rL   rL   N   s—   ø€ € € € € ð	Sð 	Sð 	Sð 	Sð 	Sð 	Sðð ð ð ðð ð ð ðTð Tð Tð Tð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3rD   rL   c                  ó*   ‡ — e Zd Zddˆ fd„Zdd
„Zˆ xZS )ÚUserStringOptionNrM   r9   rW   rX   rP   rQ   c                óx   •— t          ¦   «                              |d |¦  «         |                      |¦  «         d S r[   ©r?   r@   rj   ©rA   rM   rW   rP   rB   s       €rC   r@   zUserStringOption.__init__k   s7   ø€ Ý‰Œ×Ò˜ d¨HÑ5Ô5Ð5Ø�Š�uÑÔÐÐÐrD   r;   c                ón   — t          |t          ¦  «        st          dt          |¦  «        z  ¦  «        ‚|S )Nz-Value "%s" for string option is not a string.)rT   r9   r   r]   s     rC   rg   zUserStringOption.validate_valueo   s8   € Ý˜%¥Ñ%Ô%ð 	_Ý Ð!PÕSVÐW\ÑS]ÔS]Ñ!]Ñ^Ô^Ð^ØˆrD   r[   ©rM   r9   rW   rX   rP   rQ   ©rW   rX   r;   r9   ©rE   rF   rG   r@   rg   rI   rJ   s   @rC   rl   rl   j   sV   ø€ € € € € ðð ð ð ð ð ð ðð ð ð ð ð ð ð rD   rl   c                  ó2   ‡ — e Zd Zddˆ fd„Zdd
„Zdd„Zˆ xZS )ÚUserBooleanOptionNrM   r9   rP   rQ   r;   r<   c                ó|   •— t          ¦   «                              |ddg|¦  «         |                      |¦  «         d S ©NTFrn   ro   s       €rC   r@   zUserBooleanOption.__init__u   s;   ø€ Ý‰Œ×Ò˜ t¨U m°XÑ>Ô>Ð>Ø�Š�uÑÔÐÐÐrD   rU   c                ó   — | j         S r[   ©rW   rc   s    rC   Ú__bool__zUserBooleanOption.__bool__y   s
   € ØŒzÐrD   rW   rX   c                ó  — t          |t          ¦  «        r|S t          |t          ¦  «        st          d|› d�¦  «        ‚|                     ¦   «         dk    rdS |                     ¦   «         dk    rdS t          d|z  ¦  «        ‚)NzValue z! cannot be converted to a booleanÚtrueTÚfalseFz(Value %s is not boolean (true or false).)rT   rU   r9   r   Úlowerr]   s     rC   rg   z UserBooleanOption.validate_value|   sŠ   € Ý�e�TÑ"Ô"ð 	ØˆLÝ˜%¥Ñ%Ô%ð 	TÝ Ð!R¨%Ð!RÐ!RÐ!RÑSÔSÐSØ�;Š;‰=Œ=˜FÒ"Ð"Ø�4Ø�;Š;‰=Œ=˜GÒ#Ð#Ø�5ÝÐGÈ%ÑOÑPÔPÐPrD   r[   )rM   r9   rP   rQ   r;   r<   ©r;   rU   )rW   rX   r;   rU   )rE   rF   rG   r@   rz   rg   rI   rJ   s   @rC   ru   ru   t   sr   ø€ € € € € ðð ð ð ð ð ð ðð ð ð ð	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	QrD   ru   c                  ó2   ‡ — e Zd Zddˆ fd„Zdd„Zdd„Zˆ xZS )ÚUserIntegerOptionNrM   r9   rW   rX   rP   rQ   c                ój  •— |\  }}}|| _         || _        g }|�%|                     dt          |¦  «        z   ¦  «         |�%|                     dt          |¦  «        z   ¦  «         d                     |¦  «        }t          ¦   «                              |||¦  «         |                      |¦  «         d S )Nz>=z<=ú, )Ú	min_valueÚ	max_valueÚappendr9   Újoinr?   r@   rj   )
rA   rM   rW   rP   r„   r…   Údefault_valueÚcrN   rB   s
            €rC   r@   zUserIntegerOption.__init__ˆ   s«   ø€ Ø.3Ñ+ˆ	�9˜mØ"ˆŒØ"ˆŒØˆØÐ Ø�HŠH�T�C 	™NœNÑ*Ñ+Ô+Ð+ØÐ Ø�HŠH�T�C 	™NœNÑ*Ñ+Ô+Ð+Ø—)’)˜A‘,”,ˆÝ‰Œ×Ò˜ g¨xÑ8Ô8Ð8Ø�Š�}Ñ%Ô%Ð%Ð%Ð%rD   r;   ra   c                óN  — t          |t          ¦  «        r|                      |¦  «        }t          |t          ¦  «        st	          d¦  «        ‚| j        �$|| j        k     rt	          d|| j        fz  ¦  «        ‚| j        �$|| j        k    rt	          d|| j        fz  ¦  «        ‚|S )Nz/New value for integer option is not an integer.z+New value %d is less than minimum value %d.z+New value %d is more than maximum value %d.)rT   r9   Útointra   r   r„   r…   r]   s     rC   rg   z UserIntegerOption.validate_value•   s°   € Ý�e�SÑ!Ô!ð 	&Ø—J’J˜uÑ%Ô%ˆEÝ˜%¥Ñ%Ô%ð 	TÝ Ð!RÑSÔSÐSØŒ>Ð%¨%°$´.Ò*@Ð*@Ý Ð!NÐRWÐY]ÔYgÐQhÑ!hÑiÔiÐiØŒ>Ð%¨%°$´.Ò*@Ð*@Ý Ð!NÐRWÐY]ÔYgÐQhÑ!hÑiÔiÐiØˆrD   Úvaluestringc                ób   — 	 t          |¦  «        S # t          $ r t          d|z  ¦  «        ‚w xY w)Nz3Value string "%s" is not convertible to an integer.©ra   Ú
ValueErrorr   )rA   rŒ   s     rC   r‹   zUserIntegerOption.toint    sJ   € ð	fÝ�{Ñ#Ô#Ð#øÝð 	fð 	fð 	fÝ Ð!VÐYdÑ!dÑeÔeÐeð	føøøs   ‚ ‘.r[   rq   )rW   rX   r;   ra   )rŒ   r9   r;   ra   )rE   rF   rG   r@   rg   r‹   rI   rJ   s   @rC   r�   r�   ‡   sr   ø€ € € € € ð&ð &ð &ð &ð &ð &ð &ð	ð 	ð 	ð 	ðfð fð fð fð fð fð fð frD   r�   c                  ó   — e Zd Zd„ ZdS )ÚOctalIntc                ó:   — t          t          | ¦  «        ¦  «        S r[   )Úoctra   rc   s    rC   Ú__str__zOctalInt.__str__ª   s   € Ý•3�t‘9”9‰~Œ~ÐrD   N)rE   rF   rG   r”   r\   rD   rC   r‘   r‘   ¦   s#   € € € € € ðð ð ð ð rD   r‘   c                  ó>   ‡ — e Zd Zddˆ fd„Zdd
„Zdˆ fd„Zdd„Zˆ xZS )ÚUserUmaskOptionNrM   r9   rW   rX   rP   rQ   c                óf   •— t          ¦   «                              |dd|f|¦  «         ddg| _        d S )Nr   iÿ  Úpreservez	0000-0777)r?   r@   rN   ro   s       €rC   r@   zUserUmaskOption.__init__®   s6   ø€ Ý‰Œ×Ò˜ q¨%°Ð&7¸ÑBÔBÐBØ" KÐ0ˆŒˆˆrD   r;   c                óP   — | j         dk    r| j         S t          | j         d¦  «        S )Nr˜   Ú04o)rW   Úformatrc   s    rC   rd   zUserUmaskOption.printable_value²   s)   € ØŒ:˜Ò#Ð#Ø”:ÐÝ�d”j %Ñ(Ô(Ð(rD   úT.Union[str, OctalInt]c                ót   •— |�|dk    rdS t          t          ¦   «                              |¦  «        ¦  «        S )Nr˜   )r‘   r?   rg   )rA   rW   rB   s     €rC   rg   zUserUmaskOption.validate_value·   s7   ø€ Øˆ=˜E ZÒ/Ð/Ø�:Ý�™œ×.Ò.¨uÑ5Ô5Ñ6Ô6Ð6rD   rŒ   ra   c                ól   — 	 t          |d¦  «        S # t          $ r}t          d|› �¦  «        ‚d }~ww xY w)Né   zInvalid mode: rŽ   )rA   rŒ   Úes      rC   r‹   zUserUmaskOption.toint¼   sM   € ð	7Ý�{ AÑ&Ô&Ð&øÝð 	7ð 	7ð 	7Ý Ð!5°!Ð!5Ð!5Ñ6Ô6Ð6øøøøð	7øøøs   ‚ ’
3œ.®3r[   rq   )r;   r9   )rW   rX   r;   rœ   )rŒ   rœ   r;   ra   )rE   rF   rG   r@   rd   rg   r‹   rI   rJ   s   @rC   r–   r–   ­   sˆ   ø€ € € € € ð1ð 1ð 1ð 1ð 1ð 1ð 1ð)ð )ð )ð )ð
7ð 7ð 7ð 7ð 7ð 7ð
7ð 7ð 7ð 7ð 7ð 7ð 7ð 7rD   r–   c                  ó*   ‡ — e Zd Zddˆ fd
„Zdd„Zˆ xZS )ÚUserComboOptionNrM   r9   rN   úT.List[str]rW   rX   rP   rQ   c                ó&  •— t          ¦   «                              |||¦  «         t          | j        t          ¦  «        st          d¦  «        ‚| j        D ]&}t          |t          ¦  «        st          d¦  «        ‚Œ'|                      |¦  «         d S )NzCombo choices must be an array.z&Combo choice elements must be strings.)r?   r@   rT   rN   rb   r   r9   rj   )rA   rM   rN   rW   rP   ÚirB   s         €rC   r@   zUserComboOption.__init__Ã   s–   ø€ Ý‰Œ×Ò˜ g¨xÑ8Ô8Ð8Ý˜$œ,­Ñ-Ô-ð 	DÝ Ð!BÑCÔCÐCØ”ð 	Oð 	OˆAÝ˜a¥Ñ%Ô%ð OÝ$Ð%MÑNÔNÐNðOà�Š�uÑÔÐÐÐrD   r;   c                ó&  — || j         vr‡t          |t          ¦  «        rd}n!t          |t          t          f¦  «        rd}nd}d                     d„ | j         D ¦   «         ¦  «        }t          d                     ||| j        |¦  «        ¦  «        ‚|S )NÚbooleanÚnumberÚstringrƒ   c                ó   — g | ]}d |› d �‘Œ	S )ú"r\   )Ú.0Úitems     rC   ú
<listcomp>z2UserComboOption.validate_value.<locals>.<listcomp>Ô   s    € Ð&LÐ&LÐ&L°t {¨4 { { {Ð&LÐ&LÐ&LrD   zpValue "{}" (of type "{}") for combo option "{}" is not one of the choices. Possible choices are (as string): {}.)	rN   rT   rU   ra   Úfloatr‡   r   r›   rM   )rA   rW   Ú_typeÚoptionsstrings       rC   rg   zUserComboOption.validate_valueÌ   s­   € Ø˜œÐ$Ð$Ý˜%¥Ñ&Ô&ð !Ø!��Ý˜E¥C­ <Ñ0Ô0ð !Ø ��à �Ø ŸIšIÐ&LÐ&L¸t¼|Ð&LÑ&LÔ&LÑMÔMˆMÝ ð "JßJPÊ&Ø%*¨E°4Ô3CÀ]ñKTô KTñUô Uð Uð ˆrD   r[   )rM   r9   rN   r£   rW   rX   rP   rQ   rr   rs   rJ   s   @rC   r¢   r¢   Â   sV   ø€ € € € € ðð ð ð ð ð ð ðð ð ð ð ð ð ð rD   r¢   c                  ó>   ‡ — e Zd Zddˆ fd„Zddd„Zddd„Zdd„Zˆ xZS )ÚUserArrayOptionFrM   r9   rW   úT.Union[str, T.List[str]]r   rU   Ú
user_inputÚ
allow_dupsÚkwargsrX   r;   r<   c                óô   •— t          ¦   «                              ||                     dg ¦  «        |                     dd ¦  «        ¬¦  «         || _        || _        |                      ||¬¦  «        | _        d S )NrN   rP   ©rP   )rµ   )r?   r@   Úgetr   r¶   rg   rW   )rA   rM   rW   r   rµ   r¶   r·   rB   s          €rC   r@   zUserArrayOption.__init__Û   sl   ø€ Ý‰Œ×Ò˜ f§j¢j°¸BÑ&?Ô&?È&Ï*Ê*ÐU_ÐaeÑJfÔJfÐÑgÔgÐgØ$ˆŒØ$ˆŒØ×(Ò(¨¸:Ð(ÑFÔFˆŒ
ˆ
ˆ
rD   Tr£   c                ó  — |s<t          |t          ¦  «        r'|                     d¦  «        st          d|z   ¦  «        ‚t          |t          ¦  «        r‹|                     d¦  «        r6	 t	          j        |¦  «        }n‹# t          $ r t          d|› �¦  «        ‚w xY w|dk    rg }nb| j        rt          |¦  «        }nKd„ |                     d¦  «        D ¦   «         }n+t          |t          ¦  «        r|}nt          d|› d�¦  «        ‚|S )	Nú[z Value does not define an array: zmalformed option Ú c                ó6   — g | ]}|                      ¦   «         ‘ŒS r\   )Ústrip)r¬   Úvs     rC   r®   z+UserArrayOption.listify.<locals>.<listcomp>õ   s    € ÐDÐDÐD¨a §¢¡	¤	ÐDÐDÐDrD   ú,r«   z)" should be a string array, but it is not)
rT   r9   Ú
startswithr   ÚastÚliteral_evalr�   r   Úsplitrb   )rA   rW   rµ   rh   s       rC   r^   zUserArrayOption.listifyá   sE  € ð
 ð 	M�j¨µÑ4Ô4ð 	M¸U×=MÒ=MÈcÑ=RÔ=Rð 	MÝ Ð!CÀeÑ!KÑLÔLÐLå�e�SÑ!Ô!ð 	WØ×Ò Ñ$Ô$ð EðFÝ"Ô/°Ñ6Ô6�H�HøÝ!ð Fð Fð FÝ(Ð)D¸UÐ)DÐ)DÑEÔEÐEðFøøøà˜"’�Ø��à”?ð EÝ)¨%Ñ0Ô0�H�HàDÐD°5·;²;¸sÑ3CÔ3CÐDÑDÔD�H�HÝ˜�tÑ$Ô$ð 	WØˆHˆHå Ð!U UÐ!UÐ!UÐ!UÑVÔVÐVØˆs   Á*A? Á?Bc                óì  ‡ — ‰                       ||¦  «        }‰ j        sCt          t          |¦  «        ¦  «        t          |¦  «        k    rd}t	          j        |¦  «         |D ]*}t          |t          ¦  «        st          d|›d�¦  «        ‚Œ+‰ j	        r^ˆ fd„|D ¦   «         }|rNt          d 
                    d                     |¦  «        d                     ‰ j	        ¦  «        ¦  «        ¦  «        ‚|S )Nz]Duplicated values in array option is deprecated. This will become a hard error in the future.zString array element "z" is not a string.c                ó&   •— g | ]}|‰j         v¯|‘ŒS r\   ©rN   )r¬   ÚxrA   s     €rC   r®   z2UserArrayOption.validate_value.<locals>.<listcomp>  s%   ø€ Ð@Ð@Ð@˜¨!°4´<Ð*?Ð*?�1Ð*?Ð*?Ð*?rD   z-Options "{}" are not in allowed choices: "{}"rƒ   )r^   r¶   ÚlenÚsetr   ÚdeprecationrT   r9   r   rN   r›   r‡   )rA   rW   rµ   rh   Úmsgr¥   Úbads   `      rC   rg   zUserArrayOption.validate_valueü   s  ø€ Ø—<’<  zÑ2Ô2ˆàŒð 	"¥3¥s¨8¡}¤}Ñ#5Ô#5½¸X¹¼Ò#FÐ#FðAˆCåÔ˜SÑ!Ô!Ð!Øð 	^ð 	^ˆAÝ˜a¥Ñ%Ô%ð ^Ý$Ð%\¸hÐ%\Ð%\Ð%\Ñ]Ô]Ð]ð^àŒ<ð 	>Ø@Ð@Ð@Ð@˜hÐ@Ñ@Ô@ˆCØð >Ý$Ð%T×%[Ò%[Ø—I’I˜c‘N”N D§I¢I¨d¬lÑ$;Ô$;ñ&=ô &=ñ >ô >ð >àˆrD   c                ój   — |                       |¦  «        }|                      | j        |z   ¦  «         dS )z*Extend the value with an additional value.N)rg   rj   rW   )rA   rW   Únews      rC   Úextend_valuezUserArrayOption.extend_value  s4   € à×!Ò! %Ñ(Ô(ˆØ�Š�t”z CÑ'Ñ(Ô(Ð(Ð(Ð(rD   )FFF)rM   r9   rW   r´   r   rU   rµ   rU   r¶   rU   r·   rX   r;   r<   ©T)rW   r´   rµ   rU   r;   r£   )rW   r´   r;   r<   )rE   rF   rG   r@   r^   rg   rÑ   rI   rJ   s   @rC   r³   r³   Ú   s�   ø€ € € € € ðGð Gð Gð Gð Gð Gð Gðð ð ð ð ð6ð ð ð ð ð")ð )ð )ð )ð )ð )ð )ð )rD   r³   c                  óB   ‡ — e Zd Zg d¢Zddˆ fd	„Zdd„Zdd„Zdd„Zˆ xZS )ÚUserFeatureOption)ÚenabledÚdisabledÚautoNrM   r9   rW   rX   rP   rQ   c                óh   •— t          ¦   «                              || j        ||¦  «         d | _        d S r[   )r?   r@   Ústatic_choicesÚnamero   s       €rC   r@   zUserFeatureOption.__init__  s/   ø€ Ý‰Œ×Ò˜ dÔ&9¸5À(ÑKÔKÐKØ%)ˆŒ	ˆ	ˆ	rD   r;   rU   c                ó   — | j         dk    S )NrÕ   ry   rc   s    rC   Ú
is_enabledzUserFeatureOption.is_enabled  s   € ØŒz˜YÒ&Ð&rD   c                ó   — | j         dk    S )NrÖ   ry   rc   s    rC   Úis_disabledzUserFeatureOption.is_disabled  s   € ØŒz˜ZÒ'Ð'rD   c                ó   — | j         dk    S )Nr×   ry   rc   s    rC   Úis_autozUserFeatureOption.is_auto   s   € ØŒz˜VÒ#Ð#rD   r[   rq   r   )	rE   rF   rG   rÙ   r@   rÜ   rÞ   rà   rI   rJ   s   @rC   rÔ   rÔ     s‰   ø€ € € € € Ø4Ð4Ð4€Nð*ð *ð *ð *ð *ð *ð *ð'ð 'ð 'ð 'ð(ð (ð (ð (ð$ð $ð $ð $ð $ð $ð $ð $rD   rÔ   c                  ó2   — e Zd ZdZdZdZed
d„¦   «         Zd	S )ÚDependencyCacheTyper   r   é   Údepú'dependencies.Dependency'r;   ú'DependencyCacheType'c                óŒ   — ddl m} t          ||j        ¦  «        r| j        S t          ||j        ¦  «        r| j        S | j        S )Nr   r!   )r½   r"   rT   ÚPkgConfigDependencyÚ
PKG_CONFIGÚCMakeDependencyÚCMAKEÚOTHER)Úclsrä   r"   s      rC   Ú	from_typezDependencyCacheType.from_type*  sV   € à"Ð"Ð"Ð"Ð"Ð"å�c˜<Ô;Ñ<Ô<ð 	"Ø”>Ð!Ý�c˜<Ô7Ñ8Ô8ð 	Ø”9ÐØŒyÐrD   N)rä   rå   r;   ræ   )rE   rF   rG   rì   ré   rë   Úclassmethodrî   r\   rD   rC   râ   râ   $  sA   € € € € € à€EØ€JØ€Eàðð ð ñ „[ðð ð rD   râ   c                  ó6   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚDependencySubCacheÚtype_râ   c                ó$   — |g| _         i | _        d S r[   )ÚtypesÚ_DependencySubCache__cache)rA   rò   s     rC   r@   zDependencySubCache.__init__7  s   € Ø�WˆŒ
ØMOˆŒˆˆrD   ÚkeyúT.Tuple[str, ...]r;   rå   c                ó   — | j         |         S r[   ©rõ   ©rA   rö   s     rC   Ú__getitem__zDependencySubCache.__getitem__;  s   € ØŒ|˜CÔ Ð rD   rW   r<   c                ó   — || j         |<   d S r[   rù   )rA   rö   rW   s      rC   Ú__setitem__zDependencySubCache.__setitem__>  s   € Ø!ˆŒ�SÑÐÐrD   rU   c                ó   — || j         v S r[   rù   rú   s     rC   Ú__contains__zDependencySubCache.__contains__A  s   € Ø�d”lÐ"Ð"rD   ú%T.Iterable['dependencies.Dependency']c                ó4   — | j                              ¦   «         S r[   )rõ   Úvaluesrc   s    rC   r  zDependencySubCache.valuesD  s   € ØŒ|×"Ò"Ñ$Ô$Ð$rD   N)rò   râ   )rö   r÷   r;   rå   )rö   r÷   rW   rå   r;   r<   )rö   r÷   r;   rU   )r;   r   )rE   rF   rG   r@   rû   rý   rÿ   r  r\   rD   rC   rñ   rñ   5  s|   € € € € € ðPð Pð Pð Pð!ð !ð !ð !ð"ð "ð "ð "ð#ð #ð #ð #ð%ð %ð %ð %ð %ð %rD   rñ   c                  óZ   — e Zd ZdZdd„Zdd„Zdd„Zd d„Zd!d„Zd"d„Z	dd„Z
d#d„Zd$d„ZdS )%ÚDependencyCachez¿Class that stores a cache of dependencies.

    This class is meant to encapsulate the fact that we need multiple keys to
    successfully lookup by providing a simple get/put interface.
    Úbuiltinsú'KeyedOptionDictType'Úfor_machiner   c                ó’   — t          ¦   «         | _        || _        t          d|¬¦  «        | _        t          d|¬¦  «        | _        d S )NÚpkg_config_path)ÚmachineÚcmake_prefix_path)r	   Ú_DependencyCache__cacheÚ_DependencyCache__builtinsr   Ú_DependencyCache__pkg_conf_keyÚ_DependencyCache__cmake_key)rA   r  r  s      rC   r@   zDependencyCache.__init__P  sF   € Ý"‘}”}ˆŒØ"ˆŒÝ'Ð(9À;ÐOÑOÔOˆÔÝ$Ð%8À+ÐNÑNÔNˆÔÐÐrD   rò   râ   r;   r÷   c                ó  — t           j        t          | j        | j                 j        ¦  «        t           j        t          | j        | j                 j        ¦  «        t           j        g i}||v s
J d¦   «         ‚t          ||         ¦  «        S )Nz;Someone forgot to update subkey calculations for a new type)
râ   ré   r   r  r  rW   rë   r  rì   Útuple)rA   rò   Údatas      rC   Ú__calculate_subkeyz"DependencyCache.__calculate_subkeyV  ss   € åÔ*­M¸$¼/È$ÔJ]Ô:^Ô:dÑ,eÔ,eÝÔ%¥}°T´_ÀTÔEUÔ5VÔ5\Ñ']Ô']ÝÔ% rð*
ˆð
 ˜ˆ}ˆ}ˆ}Ð[‰}Œ}ˆ}Ý�T˜%”[Ñ!Ô!Ð!rD   úT.Iterator['TV_DepID']c                ó*   — |                       ¦   «         S r[   )Úkeysrc   s    rC   Ú__iter__zDependencyCache.__iter___  s   € Ø�yŠy‰{Œ{ÐrD   rö   ú
'TV_DepID'rä   rå   r<   c                óÄ   — t                                |¦  «        }|| j        vrt          |¦  «        | j        |<   |                      |¦  «        }|| j        |         |<   d S r[   )râ   rî   r  rñ   Ú"_DependencyCache__calculate_subkey)rA   rö   rä   ÚtÚsubkeys        rC   ÚputzDependencyCache.putb  s`   € Ý×)Ò)¨#Ñ.Ô.ˆØ�d”lÐ"Ð"Ý 2°1Ñ 5Ô 5ˆDŒL˜ÑØ×(Ò(¨Ñ+Ô+ˆØ$'ˆŒ�SÔ˜&Ñ!Ð!Ð!rD   ú%T.Optional['dependencies.Dependency']c                ó¸   — 	 | j         |         }n# t          $ r Y dS w xY w|j        D ]1}|                      |¦  «        }	 ||         c S # t          $ r Y Œ.w xY wdS )zdGet a value from the cache.

        If there is no cache entry then None will be returned.
        N)r  ÚKeyErrorrô   r  )rA   rö   Úvalr  r  s        rC   rº   zDependencyCache.geti  s—   € ð
	Ø”,˜sÔ#ˆCˆCøÝð 	ð 	ð 	Ø�4�4ð	øøøð ”ð 	ð 	ˆAØ×,Ò,¨QÑ/Ô/ˆFðØ˜6”{Ð"Ð"Ð"øÝð ð ð Ø�ðøøøàˆts   ‚ �
�Á A
Á

AÁAú%T.Iterator['dependencies.Dependency']c              #  óv   K  — | j                              ¦   «         D ]}|                     ¦   «         E d {V —† Œd S r[   )r  r  )rA   r‰   s     rC   r  zDependencyCache.values{  sP   è è € Ø”×$Ò$Ñ&Ô&ð 	"ð 	"ˆAØ—x’x‘z”zÐ!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð	"ð 	"rD   c                óN   — t          | j                             ¦   «         ¦  «        S r[   )Úiterr  r  rc   s    rC   r  zDependencyCache.keys  s   € Ý�D”L×%Ò%Ñ'Ô'Ñ(Ô(Ð(rD   úBT.Iterator[T.Tuple['TV_DepID', T.List['dependencies.Dependency']]]c              #  óÔ   K  — | j                              ¦   «         D ]K\  }}g }|j        D ]6}|                      |¦  «        }||v r|                     ||         ¦  «         Œ7||fV — ŒLd S r[   )r  Úitemsrô   r  r†   )rA   ÚkrÀ   r,   r  r  s         rC   r(  zDependencyCache.items‚  s‰   è è € Ø”L×&Ò&Ñ(Ô(ð 	ð 	‰DˆAˆqØˆBØ”Wð )ð )�Ø×0Ò0°Ñ3Ô3�Ø˜Q�;�;Ø—I’I˜a œiÑ(Ô(Ð(øØ�R�%ˆKˆKˆKˆKð	ð 	rD   c                ó8   — | j                              ¦   «          d S r[   )r  Úclearrc   s    rC   r+  zDependencyCache.clear‹  s   € ØŒ×ÒÑÔÐÐÐrD   N)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<   )rE   rF   rG   rH   r@   r  r  r  rº   r  r  r(  r+  r\   rD   rC   r  r  H  sÖ   € € € € € ðð ðOð Oð Oð Oð"ð "ð "ð "ðð ð ð ð(ð (ð (ð (ðð ð ð ð$"ð "ð "ð "ð)ð )ð )ð )ðð ð ð ðð ð ð ð ð rD   r  c                  óJ   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zedd„¦   «         Z	dS )ÚCMakeStateCachez¬Class that stores internal CMake compiler states.

    This cache is used to reduce the startup overhead of CMake by caching
    all internal CMake compiler variables.
    r;   r<   c                ó"   — i | _         i | _        d S r[   )Ú_CMakeStateCache__cacheÚcmake_cacherc   s    rC   r@   zCMakeStateCache.__init__–  s   € Ø>@ˆŒØ;=ˆÔÐÐrD   ú2T.Iterator[T.Tuple[str, T.Dict[str, T.List[str]]]]c                óN   — t          | j                             ¦   «         ¦  «        S r[   ©r%  r0  r(  rc   s    rC   r  zCMakeStateCache.__iter__š  ó   € Ý�D”L×&Ò&Ñ(Ô(Ñ)Ô)Ð)rD   c                óN   — t          | j                             ¦   «         ¦  «        S r[   r4  rc   s    rC   r(  zCMakeStateCache.items�  r5  rD   Úlanguager9   Ú	variablesúT.Dict[str, T.List[str]]c                ól   — || j         vr
i | j         |<   | j         |                              |¦  «         d S r[   )r0  Úupdate)rA   r7  r8  s      rC   r;  zCMakeStateCache.update   s<   € Ø˜4œ<Ð'Ð'Ø%'ˆDŒL˜Ñ"ØŒ�XÔ×%Ò% iÑ0Ô0Ð0Ð0Ð0rD   ú
T.Set[str]c                óN   — t          | j                             ¦   «         ¦  «        S r[   )rË   r0  r  rc   s    rC   Ú	languageszCMakeStateCache.languages¥  s   € å�4”<×$Ò$Ñ&Ô&Ñ'Ô'Ð'rD   Nr,  )r;   r2  )r7  r9   r8  r9  )r;   r<  )
rE   rF   rG   rH   r@   r  r(  r;  Úpropertyr>  r\   rD   rC   r.  r.  �  sŽ   € € € € € ðð ð>ð >ð >ð >ð*ð *ð *ð *ð*ð *ð *ð *ð1ð 1ð 1ð 1ð
 ð(ð (ð (ñ „Xð(ð (ð (rD   r.  Ú_Vc                  ó  — e Zd ZdDd„ZedEd
„¦   «         Zd„ Zd„ ZdFd„ZdGd„Z	edHd„¦   «         Z
dId„ZdJd„ZdKd „Zd!„ Zd"„ ZdLd#„ZedMd&„¦   «         ZdNd(„ZdOd,„ZdOd-„ZdPd.„Zej        fdQd0„ZdRd1„ZdSdTd4„ZdUd9„ZdVd:„ZdWd=„ZdXd?„ZdYdB„ZdCS )ZÚCoreDataÚoptionsúargparse.NamespaceÚscratch_dirr9   Úmeson_commandr£   c                ó<  — ddddddœ| _         t          t          j        ¦   «         ¦  «                             ¦   «         | _        t          t          j        ¦   «         ¦  «                             ¦   «         | _        t          t          j        ¦   «         ¦  «                             ¦   «         | _        || _        i | _	        t          | _
        i | _        |                      ||d¦  «        | _        t          t          ¦   «         t          ¦   «         ¦  «        | _        t#          ¦   «         | _        t'          j        |                      ¦   «         t-          | j        t.          j        ¦  «        t-          | j        t.          j        ¦  «        ¦  «        | _        t          ¦   «         | _        t          t9          ¦   «         t9          ¦   «         ¦  «        | _        |                      ||d¦  «        | _        |                      ¦   «          |                       d¦  «         d S )Nz$8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942z$3AC096D0-A1C2-E12C-1390-A8335801FDABz$2150E333-8FDC-42A3-9474-1A3956D46DE8)Údefaultr‰   ÚcppÚtestÚ	directoryÚcrossÚnativer½   )!Ú
lang_guidsr9   ÚuuidÚuuid4ÚupperÚ	test_guidÚ
regen_guidÚinstall_guidrF  Útarget_guidsÚversionrC  Ú_CoreData__load_config_filesÚcross_filesr   r	   Ú	compilersrË   Úinitialized_subprojectsr   rH  Úis_cross_buildr  r   ÚBUILDÚHOSTÚdepsÚcompiler_check_cacher.  r1  Úconfig_filesÚ"builtin_options_libdir_cross_fixupÚinit_builtins)rA   rC  rE  rF  s       rC   r@   zCoreData.__init__³  sª  € à=Ø7Ø9Ø:Ø?ð
ð 
ˆŒõ �TœZ™\œ\Ñ*Ô*×0Ò0Ñ2Ô2ˆŒÝ�dœj™lœlÑ+Ô+×1Ò1Ñ3Ô3ˆŒÝ¥¤
¡¤Ñ-Ô-×3Ò3Ñ5Ô5ˆÔØ*ˆÔØˆÔÝˆŒØ57ˆŒØ×3Ò3°G¸[È'ÑRÔRˆÔÝ#¥K¡M¤Mµ;±=´=ÑAÔAˆŒõ
 47±5´5ˆÔ$õ 2GÔ1NØ×ÒÑ!Ô!Ý˜DœL­-Ô*=Ñ>Ô>Ý˜DœL­-Ô*<Ñ=Ô=ñ2?ô 2?ˆŒ	õ
 WbÑVcÔVcˆÔ!õ 9CÅ?ÑCTÔCTÕVeÑVgÔVgÑ8hÔ8hˆÔð !×4Ò4°W¸kÈ8ÑTÔTˆÔØ×/Ò/Ñ1Ô1Ð1Ø×Ò˜2ÑÔÐÐÐrD   Úftyper;   c                ó¤  — |dk    r| j         }n| j        }|sg S g }g }g }t          |¦  «        D �]Þ\  }}t          j                             t          j                             |¦  «        ¦  «        }t          j                             |¦  «        �rqt          j                             |¦  «        r3| 	                    t          j         
                    |¦  «        ¦  «         Œ´t          j                             |¦  «        r3| 	                    t          j         
                    |¦  «        ¦  «         nÍt          j                             |t          j        ¦   «         › d|› d�¦  «        }	t          |d¬¦  «        5 }
t          |	dd¬¦  «        5 }|                     |
                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   | 	                    |	¦  «         |	||<   �ŒÓt$          j        dk    ræt          j                             dt          j                             d	¦  «        ¦  «        gt          j                             d
d¦  «                             d¦  «        z   }|D ]Z}t          j                             |d||¦  «        }t          j                             |¦  «        r| 	                    |¦  «          nŒ[| 	                    |¦  «         �ŒÉ| 	                    |¦  «         �Œà|r?|rt/          j        d|dg|¢R Ž  t/          j        d|dg|¢R Ž  t3          d|› d|› �¦  «        ‚|S )NrL  r>   z.iniúutf-8©ÚencodingÚwÚwin32ÚXDG_DATA_HOMEz~/.local/shareÚXDG_DATA_DIRSz/usr/local/share:/usr/shareú:ÚmesonzFound invalid candidates forzfile:z&Could not find any valid candidate forzfiles:zCannot find specified z file: )Ú
cross_fileÚnative_fileÚ	enumerateÚosÚpathÚ
expanduserÚ
expandvarsÚexistsÚisfiler†   ÚabspathÚisdirr‡   rO  rP  ÚopenÚwriteÚreadÚsysÚplatformÚenvironrº   rÅ   r   Úlogr   )rC  rE  rc  Ú	filenamesÚfound_invalidÚmissingÚrealr¥   ÚfÚcopyÚrfÚwfÚpathsrr  Úpath_to_trys                  rC   Ú__load_config_fileszCoreData.__load_config_filesÚ  s•  € ð �GÒÐØÔ*ˆIˆIàÔ+ˆIàð 	ØˆIàˆØˆØˆÝ˜iÑ(Ô(ð "	"ñ "	"‰DˆAˆqÝ”×"Ò"¥2¤7×#5Ò#5°aÑ#8Ô#8Ñ9Ô9ˆAÝŒw�~Š~˜aÑ Ô ñ Ý”7—>’> !Ñ$Ô$ð Ø—K’K¥¤§¢°Ñ 2Ô 2Ñ3Ô3Ð3ØÝ”W—]’] 1Ñ%Ô%ð Ø!×(Ò(­¬¯ª¸Ñ);Ô);Ñ<Ô<Ð<Ð<õ
 œ7Ÿ<š<¨½¼
¹¼Ð5RÐ5RÀuÐ5RÐ5RÐ5RÑSÔS�DÝ˜a¨'Ð2Ñ2Ô2ð 0°bÝ! $¨°gÐ>Ñ>Ô>ð 0À"ØŸHšH R§W¢W¡Y¤YÑ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð —K’K Ñ%Ô%Ð%ð $(�I˜a‘LÙÝŒ|˜wÒ&Ð&å”J—N’N ?µB´G×4FÒ4FÐGWÑ4XÔ4XÑYÔYðå”J—N’N ?Ð4QÑRÔR×XÒXÐY\Ñ]Ô]ñ^�ð "ð &ð &�DÝ"$¤'§,¢,¨t°W¸eÀQÑ"GÔ"G�KÝ”w—~’~ kÑ2Ô2ð ØŸš KÑ0Ô0Ð0Ø˜ðð —N’N 1Ñ%Ô%Ð%ùà—’˜qÑ!Ô!Ð!Ñ!àð 	MØð YÝ”Ð7¸ÀÐXÈ-ÐXÐXÐXÐXÝŒHÐ=¸uÀhÐYÐQXÐYÐYÐYÐYÝ Ð!K¸%Ð!KÐ!KÈÐ!KÐ!KÑLÔLÐLØˆs6   Å=GÆ(GÆ8GÇGÇGÇGÇGÇG	Ç"G	c                óV   — | j         r!dt          t          d¦  «                 _        d S d S )NÚlibÚlibdir)rX  ÚBUILTIN_OPTIONSr   rH  rc   s    rC   ra  z+CoreData.builtin_options_libdir_cross_fixup  s7   € ð Ôð 	AØ;@�O�I hÑ/Ô/Ô0Ô8Ð8Ð8ð	Að 	ArD   c                óx  — t           j                             |¦  «        }t           j                             |¦  «        st	          d|›d�¦  «        ‚|                     d¦  «        s|                     d¦  «        r>t          |¦  «        dk    r|d         dk    rnt          |¦  «        dk    rn
|d d…         }|S )	Nzprefix value z must be an absolute pathú/ú\é   r   rl  éÿÿÿÿ)rq  rr  rs  Úisabsr   ÚendswithrÊ   )rA   Úprefixs     rC   Úsanitize_prefixzCoreData.sanitize_prefix  s»   € Ý”×#Ò# FÑ+Ô+ˆÝŒw�}Š}˜VÑ$Ô$ð 	VÝ Ð!T°Ð!TÐ!TÐ!TÑUÔUÐUØ�?Š?˜3ÑÔð 
	% 6§?¢?°4Ñ#8Ô#8ð 
	%õ �6‰{Œ{˜aÒÐ F¨1¤I°Ò$4Ð$4Øõ �V‘” Ò!Ð!Øà   œ�ØˆrD   r–  Úoptionr   rW   rX   c           	     óp  — 	 t          |¦  «        }n# t          $ r |cY S w xY w|j                             d¦  «        rf|                     ¦   «         rR|t
          vrI	 |                     |¦  «        }n# t          $ r Y nw xY wd|j        v rt          d|› d|› d|›d�¦  «        ‚| 
                    ¦   «         S )a”  
        If the option is an installation directory option, the value is an
        absolute path and resides within prefix, return the value
        as a path relative to the prefix. Otherwise, return it as is.

        This way everyone can do f.ex, get_option('libdir') and usually get
        the library directory relative to prefix, even though it really
        should not be relied upon.
        Údirz..zThe value of the 'z' option is 'z[' but directory options are not allowed to contain '..'.
If you need a path outside of the z% prefix, please use an absolute path.)r   Ú	TypeErrorrÚ   r•  Úis_absoluteÚBULITIN_DIR_NOPREFIX_OPTIONSÚrelative_tor�   Úpartsr   Úas_posix)rA   r–  r˜  rW   s       rC   Úsanitize_dir_option_valuez"CoreData.sanitize_dir_option_value,  s  € ð	Ý˜U‘O”OˆEˆEøÝð 	ð 	ð 	ØˆLˆLˆLð	øøøàŒ;×Ò Ñ&Ô&ð 	¨5×+<Ò+<Ñ+>Ô+>ð 	ØÕ5Ð5Ð5ðà×)Ò)¨&Ñ1Ô1��øÝð ð ð à�ðøøøð �u”{Ð"Ð"Ý$ð3¨&ð 3ð 3Àð 3ð 3à9?ð3ð 3ð 3ñô ð ð �~Š~ÑÔÐs   ‚ ’! !ÁA2 Á2
A?Á>A?Ú
subprojectr<   c           	     ór  — t                                ¦   «         D ]5\  }}|                      | j        |                     |¬¦  «        |¦  «         Œ6t          t          ¦  «        D ]R}t                               ¦   «         D ]6\  }}|                      | j        |                     ||¬¦  «        |¦  «         Œ7ŒSd S )N©r¢  ©r¢  r
  )rŽ  r(  Úadd_builtin_optionrC  Úevolver%  r   ÚBUILTIN_OPTIONS_PER_MACHINE)rA   r¢  rö   Úoptr  s        rC   rb  zCoreData.init_builtinsL  sÊ   € å'×-Ò-Ñ/Ô/ð 	Zð 	Z‰HˆC�Ø×#Ò# D¤L°#·*²*È
°*Ñ2SÔ2SÐUXÑYÔYÐYÐYÝ¥Ñ.Ô.ð 	sð 	sˆKÝ7×=Ò=Ñ?Ô?ð sð s‘��SØ×'Ò'¨¬°c·j²jÈJÐ`k°jÑ6lÔ6lÐnqÑrÔrÐrÐrðsð	sð 	srD   Úopts_mapú'MutableKeyedOptionDictType'rö   r©  ú'BuiltinOption'c                ó¶   — |j         r)|j        rd S | |                     ¦   «                  j        }nd }|                     ||t          ¦   «         ¦  «        | |<   d S r[   )r¢  rP   Úas_rootrW   Úinit_optionr   )rª  rö   r©  rW   s       rC   r¦  zCoreData.add_builtin_optionT  s\   € ð Œ>ð 	ØŒ|ð à�Ø˜SŸ[š[™]œ]Ô+Ô1ˆEˆEàˆEØŸš¨¨UµNÑ4DÔ4DÑEÔEˆ�‰ˆˆrD   Úbackend_namec                óØ   — |dk    r't          dd¦  «        | j        t          d¦  «        <   d S |                     d¦  «        r't	          dd¦  «        | j        t          d¦  «        <   d S d S )	Nr+   z;Maximum number of linker processes to run or 0 for no limit)r   Nr   Úbackend_max_linksr,   z+Default project to execute in Visual Studior½   Úbackend_startup_project)r�   rC  r   rÂ   rl   )rA   r°  s     rC   Úinit_backend_optionszCoreData.init_backend_options`  s‰   € Ø˜7Ò"Ð"Ý;Lðàñ<ô <ˆDŒL�Ð#6Ñ7Ô7Ñ8Ð8Ð8ð ×$Ò$ TÑ*Ô*ð 	ÝAQØ=ØñBô BˆDŒL�Ð#<Ñ=Ô=Ñ>Ð>Ð>ð	ð 	rD   ú.T.Union[T.List[str], str, int, bool, WrapMode]c                ór  — 	 | j         |         j        }|j        dk    rt          |         S |S # t          $ r Y nw xY w	 | j         |                     ¦   «                  }|j        r$|j        dk    rt          |j                 S |j        S n# t          $ r Y nw xY wt          dt          |¦  «        › �¦  «        ‚)NÚ	wrap_modez$Tried to get unknown builtin option )	rC  rW   rÚ   r    r   r®  rP   r   r9   )rA   rö   rÀ   s      rC   Ú
get_optionzCoreData.get_optionk  sÜ   € ð	Ø”˜SÔ!Ô'ˆAØŒx˜;Ò&Ð&Ý ”{Ð"ØˆHøÝð 	ð 	ð 	ØˆDð	øøøð	Ø”˜SŸ[š[™]œ]Ô+ˆAØŒzð Ø”8˜{Ò*Ð*Ý# A¤GÔ,Ð,Ø”w�ðøõ ð 	ð 	ð 	ØˆDð	øøøõ ÐNÅCÈÁHÄHÐNÐNÑOÔOÐOs(   ‚). ¬. ®
;º;¿AB
 ÂB
 Â

BÂBc                óÂ  ‡‡‡	— ‰                      ¦   «         rW‰j        dk    r|                      |¦  «        }n6| j        t	          d¦  «                 j        }|                      |‰|¦  «        }	 | j        ‰         Šn-# t          $ r  t          dt          ‰¦  «        › �¦  «        ‚w xY w‰j
        du rt          j        d‰j        ›d�¦  «         �n6t          ‰j
        t          ¦  «        rB‰                     |¦  «        D ]+}|‰j
        v r t          j        d‰j        ›d|›d�¦  «         Œ,nÚt          ‰j
        t           ¦  «        r=ˆˆfd„Š	ˆ	fd„‰                     |¦  «        D ¦   «         }d	                     |¦  «        }nƒt          ‰j
        t          ¦  «        ri‰j
        }t	          j        |¦  «                             ‰j        ¬
¦  «        }t          j        d‰j        ›d|›�¦  «         |                      ||¦  «         ‰                     |¦  «         ‰j        dk    r|                      |¦  «         d S ‰j        dv r|                      ¦   «          d S d S )Nr–  z$Tried to set unknown builtin option TúOption z is deprecatedú value c                óˆ   •— ‰j                              | ¦  «        }|�$t          j        d‰j        ›d| ›d|›�¦  «         |S | S )Nrº  r»  ú is replaced by )rV   rº   r   rÌ   rÚ   )rÀ   rh   rö   r©  s     €€rC   Úreplacez$CoreData.set_option.<locals>.replace“  sU   ø€ Øœ>×-Ò-¨aÑ0Ô0�ØÐ'ÝÔ$Ð%c¨s¬xÐ%cÐ%cÀ!Ð%cÐ%cÐW_Ð%cÐ%cÑdÔdÐdØ#�OØ�rD   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r\   r\   )r¬   rÀ   r¾  s     €rC   r®   z'CoreData.set_option.<locals>.<listcomp>™  s!   ø€ Ð?Ð?Ð? q˜˜ ™
œ
Ð?Ð?Ð?rD   rÁ   r¤  r½  Ú	buildtype>   r·  Úforce_fallback_for)Ú
is_builtinrÚ   r—  rC  r   rW   r¡  r   r   r9   rV   r   rÌ   rT   rb   r^   Údictr‡   Úfrom_stringr§  r¢  Ú
set_optionrj   Ú_set_others_from_buildtypeÚclear_deps_cache)
rA   rö   rW   r–  rÀ   rh   ÚnewnameÚnewkeyr©  r¾  s
    `      @@rC   rÅ  zCoreData.set_option  s¥  øøø€ Ø�>Š>ÑÔð 	KØŒx˜8Ò#Ð#Ø×,Ò,¨UÑ3Ô3��àœ¥i°Ñ&9Ô&9Ô:Ô@�Ø×6Ò6°v¸sÀEÑJÔJ�ð	TØ”,˜sÔ#ˆCˆCøÝð 	Tð 	Tð 	TÝ Ð!RÍÈCÉÌÐ!RÐ!RÑSÔSÐSð	Tøøøð Œ>˜TÐ!Ð!ÝÔÐA s¤xÐAÐAÐAÑBÔBÐBÑBÝ˜œ­Ñ-Ô-ð 	+Ø—[’[ Ñ'Ô'ð Wð W�Ø˜œÐ&Ð&ÝÔ$Ð%U¨s¬xÐ%UÐ%UÀ!Ð%UÐ%UÐ%UÑVÔVÐVøðWõ ˜œ­Ñ-Ô-ð 	+ðð ð ð ð ð ð @Ð?Ð?Ð?¨C¯KªK¸Ñ,>Ô,>Ð?Ñ?Ô?ˆHØ—H’H˜XÑ&Ô&ˆEˆEÝ˜œ­Ñ,Ô,ð 	+ð ”nˆGÝÔ*¨7Ñ3Ô3×:Ò:ÀcÄnÐ:ÑUÔUˆFÝÔÐN s¤xÐNÐNÀ7ÐNÐNÑOÔOÐOØ�OŠO˜F EÑ*Ô*Ð*à�Š�eÑÔÐàŒ8�{Ò"Ð"Ø×+Ò+¨EÑ2Ô2Ð2Ð2Ð2ØŒXÐ<Ð<Ð<ð ×!Ò!Ñ#Ô#Ð#Ð#Ð#ð	 =Ð<s   Á0A> Á>*B(c                ó~   — | j         j                             ¦   «          | j         j                             ¦   «          d S r[   )r^  Úhostr+  Úbuildrc   s    rC   rÇ  zCoreData.clear_deps_cache³  s4   € ØŒ	Œ×ÒÑÔÐØŒ	Œ×ÒÑÔÐÐÐrD   c                ó¾  — g }| j         t          d¦  «                 j        }|dk    rd}d}n6|dk    rd}d}n+|dk    rd}d}n |d	k    rd
}d}n|dk    rd}d}n
|dk    sJ ‚g S | j         t          d¦  «                 j        }| j         t          d¦  «                 j        }||k    r|                     d||f¦  «         ||k    r|                     d||f¦  «         |S )NrÀ  ÚplainFÚdebugÚ0TÚdebugoptimizedÚ2ÚreleaseÚ3ÚminsizeÚsÚcustomÚoptimization)rC  r   rW   r†   )rA   ÚresultrW   r©  rÏ  Ú
actual_optÚactual_debugs          rC   Úget_nondefault_buildtype_argsz&CoreData.get_nondefault_buildtype_args·  s#  € ØˆØ”�Y {Ñ3Ô3Ô4Ô:ˆØ�GÒÐØˆCØˆEˆEØ�gÒÐØˆCØˆEˆEØÐ&Ò&Ð&ØˆCØˆEˆEØ�iÒÐØˆCØˆEˆEØ�iÒÐØˆCØˆEˆEà˜HÒ$Ð$Ð$Ð$ØˆIØ”\¥)¨NÑ";Ô";Ô<ÔBˆ
Ø”|¥I¨gÑ$6Ô$6Ô7Ô=ˆØ˜ÒÐØ�MŠM˜>¨:°sÐ;Ñ<Ô<Ð<Ø˜5Ò Ð Ø�MŠM˜7 L°%Ð8Ñ9Ô9Ð9ØˆrD   c                ó<  — |dk    rd}d}n6|dk    rd}d}n+|dk    rd}d}n |dk    rd	}d}n|d
k    rd}d}n
|dk    sJ ‚d S | j         t          d¦  «                                      |¦  «         | j         t          d¦  «                                      |¦  «         d S )NrÎ  FrÏ  rÐ  TrÑ  rÒ  rÓ  rÔ  rÕ  rÖ  r×  rØ  )rC  r   rj   )rA   rW   r©  rÏ  s       rC   rÆ  z#CoreData._set_others_from_buildtypeÔ  sØ   € Ø�GÒÐØˆCØˆEˆEØ�gÒÐØˆCØˆEˆEØÐ&Ò&Ð&ØˆCØˆEˆEØ�iÒÐØˆCØˆEˆEØ�iÒÐØˆCØˆEˆEà˜HÒ$Ð$Ð$Ð$ØˆFØŒ•Y˜~Ñ.Ô.Ô/×9Ò9¸#Ñ>Ô>Ð>ØŒ•Y˜wÑ'Ô'Ô(×2Ò2°5Ñ9Ô9Ð9Ð9Ð9rD   ÚoptnamerU   c                ó4   — | j         t          v rdS | j        d uS )NT)rÚ   r¨  Úlang)rÞ  s    rC   Úis_per_machine_optionzCoreData.is_per_machine_optionê  s"   € àŒ<Õ6Ð6Ð6Ø�4ØŒ| 4Ð'Ð'rD   Úoption_namec                ót  — 	 | j         |         }n-# t          $ r  t          dt          |¦  «        › �¦  «        ‚w xY w	 |                     |¦  «        S # t          $ rZ} t          |¦  «        d|z  t          |¦  «        z   ¦  «                             t          j        ¦   «         d         ¦  «        ‚d }~ww xY w)Nz!Tried to validate unknown option z!Validation failed for option %s: rã   )	rC  r   r   r9   rg   ÚtypeÚwith_tracebackr|  Úexc_info)rA   râ  Úoverride_valuer©  r    s        rC   Úvalidate_option_valuezCoreData.validate_option_valueð  sÑ   € ð	YØ”,˜{Ô+ˆCˆCøÝð 	Yð 	Yð 	YÝ Ð!WÅSÈÑEUÔEUÐ!WÐ!WÑXÔXÐXð	Yøøøð	3Ø×%Ò% nÑ5Ô5Ð5øÝð 	3ð 	3ð 	3Ø•$�q‘'”'Ð>ÀÑLÕPSÐTUÑPVÔPVÑVÑWÔWß’¥¤¡¤¨qÔ 1Ñ2Ô2ð3øøøøð	3øøøs    ‚ �*:¾A Á
B7ÁAB2Â2B7r  r   rà  c                óF   — | j         t          d||¬¦  «                 j        S )NÚargs©r
  rà  ©rC  r   rW   ©rA   r  rà  s      rC   Úget_external_argszCoreData.get_external_argsû  s!   € ØŒ|�I f°kÈÐMÑMÔMÔNÔTÐTrD   c                óF   — | j         t          d||¬¦  «                 j        S )NÚ	link_argsrë  rì  rí  s      rC   Úget_external_link_argszCoreData.get_external_link_argsþ  s!   € ØŒ|�I k¸;ÈTÐRÑRÔRÔSÔYÐYrD   c           	     óÈ  — |                      ¦   «         D ]Ì\  }}|                     ¦   «         sŒ|| j        vr|| j        |<   Œ.| j        |         }t          |¦  «        t          |¦  «        k    r|| j        |<   Œf|j        |j        k    rV|| j        |<   	 |                     |j        ¦  «         Œœ# t          $ r# t          j	        d|› d|j        › d�¦  «         Y ŒÈw xY wŒÍd S )NzOld value(s) of z, are no longer valid, resetting to default (z).)
r(  Ú
is_projectrC  rä  rN   rj   rW   r   r   Úwarning)rA   rC  rö   rW   Úoldvals        rC   Úupdate_project_optionszCoreData.update_project_options  s  € Ø!Ÿ-š-™/œ/ð 	vð 	v‰JˆC�Ø—>’>Ñ#Ô#ð ØØ˜$œ,Ð&Ð&Ø$)�”˜SÑ!Øà”\ #Ô&ˆFÝ�F‰|Œ|�t E™{œ{Ò*Ð*Ø$)�”˜SÑ!Ð!Ø” 5¤=Ò0Ð0ð %*�”˜SÑ!ðvØ—O’O F¤LÑ1Ô1Ð1Ð1øÝ%ð vð vð vÝ”LÐ!t°CÐ!tÐ!tÐejÔepÐ!tÐ!tÐ!tÑuÔuÐuÐuÐuðvøøøð 1ð	vð 	vs   ÂB1Â1*CÃCÚwhen_building_forc                óV   — |t           j        k    rdS t          | j        ¦  «        dk    S )NFr   )r   r\  rÊ   rX  )rA   r÷  s     rC   r[  zCoreData.is_cross_build  s+   € Ø¥Ô 3Ò3Ð3Ø�5Ý�4Ô#Ñ$Ô$ qÒ(Ð(rD   c                óÌ  — |                       ¦   «         rJ ‚t          D ]F}| j        |         }| j        |                     ¦   «                                       |j        ¦  «         ŒG| j                             ¦   «         D ]e\  }}|j        t          j	        u rM| 
                    ¦   «         }	 | j        |         }|                     |j        ¦  «         ŒU# t          $ r Y Œaw xY wŒfd S r[   )r[  r¨  rC  Úas_buildrj   rW   r(  r
  r   r\  Úas_hostr   )rA   r)  ÚoÚbkÚbvÚhkÚhvs          rC   Ú$copy_build_options_from_regular_onesz-CoreData.copy_build_options_from_regular_ones  sñ   € Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(Ý,ð 	:ð 	:ˆAØ”˜Q”ˆAØŒL˜Ÿš™œÔ&×0Ò0°´Ñ9Ô9Ð9Ð9Ø”l×(Ò(Ñ*Ô*ð 	ð 	‰FˆB�ØŒz�]Ô0Ð0Ð0Ø—Z’Z‘\”\�ðØœ bÔ)�BØ—L’L ¤Ñ*Ô*Ð*Ð*øÝð ð ð Ø�Hðøøøð 1ð	ð 	s   Â+'CÃ
C ÃC r½   úT.Dict[OptionKey, T.Any]c                ó¬  — |                       ¦   «         sd„ |                     ¦   «         D ¦   «         }t          d¦  «        }||v r•|                      ||         ¦  «        }| j        t          d¦  «                                      |¦  «         t          D ]E}||vr?| j        |                              t          |                              ||¦  «        ¦  «         ŒFg }|                     ¦   «         D ]k\  }}||k    rŒ|| j        v r|  	                    ||¦  «         Œ,|j
        t          j        k    r*|j        t          j        k    r|                     |¦  «         Œl|rKd                     t%          d„ |D ¦   «         ¦  «        ¦  «        }	|rd|› d�nd}
t'          |
› d|	› d	�¦  «        ‚|                       ¦   «         s|                      ¦   «          d S d S )
Nc                ó@   — i | ]\  }}|j         t          j        u¯||“ŒS r\   )r
  r   r\  ©r¬   r)  rÀ   s      rC   ú
<dictcomp>z(CoreData.set_options.<locals>.<dictcomp>+  s-   € Ð`Ð`Ð`¡  1¸1¼9ÍMÔL_Ð;_Ð;_�q˜!Ð;_Ð;_Ð;_rD   r–  rƒ   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r[   ©r9   )r¬   rÖ  s     rC   ú	<genexpr>z'CoreData.set_options.<locals>.<genexpr>>  s(   è è € Ð2SÐ2S¸aµ3°q±6´6Ð2SÐ2SÐ2SÐ2SÐ2SÐ2SrD   zIn subproject z: r½   zUnknown options: "r«   )r[  r(  r   r—  rC  rj   r�  rŽ  Úprefixed_defaultrÅ  r
  r   r\  rä  r   ÚCOMPILERr†   r‡   Úsortedr   r  )rA   rC  r¢  Úpfkr–  rö   Úunknown_optionsr)  rÀ   Úunknown_options_strÚsubs              rC   Úset_optionszCoreData.set_options)  sø  € Ø×"Ò"Ñ$Ô$ð 	aØ`Ð`¨¯ª©¬Ð`Ñ`Ô`ˆGå˜Ñ!Ô!ˆØ�'ˆ>ˆ>Ø×)Ò)¨'°#¬,Ñ7Ô7ˆFØŒL� 8Ñ,Ô,Ô-×7Ò7¸Ñ?Ô?Ð?Ý3ð dð d�Ø˜gÐ%Ð%Ø”L Ô%×/Ò/µÀÔ0D×0UÒ0UÐVYÐ[aÑ0bÔ0bÑcÔcÐcøà-/ˆØ—M’M‘O”Oð 	*ð 	*‰DˆAˆqØ�CŠxˆxØØ�d”lÐ"Ð"Ø—’  1Ñ%Ô%Ð%Ð%Ø”�mÔ1Ò1Ð1°a´fÅ
Ô@SÒ6SÐ6SØ×&Ò& qÑ)Ô)Ð)øØð 	SØ"&§)¢)­FÐ2SÐ2SÀ?Ð2SÑ2SÔ2SÑ,SÔ,SÑ"TÔ"TÐØ5?ÐGÐ1 :Ð1Ð1Ð1Ð1ÀRˆCÝ  CÐ!QÐ!QÐ;NÐ!QÐ!QÐ!QÑRÔRÐRà×"Ò"Ñ$Ô$ð 	8Ø×5Ò5Ñ7Ô7Ð7Ð7Ð7ð	8ð 	8rD   Údefault_optionsú T.MutableMapping[OptionKey, str]Úenvú'Environment'c                óZ  — t          ¦   «         }|                     ¦   «         D ]\  }}|r|j        |k    r|||<   Œ|                     |j        ¦  «         ||_        t          ¦   «         }|j                             ¦   «         D ]�\  }}|j        r|j        |k    rŒ|rF|                     ¦   «         r2| j        |                     dt          j        ¬¦  «                 j	        rŒ`|j
        t          j        t          j        t          j        hv rŒ‹|||<   Œ‘|                      ||¬¦  «         d S )Nr½   r¥  r¤  )r	   r(  r¢  r;  rC  rÂ  r§  r   r]  rP   rä  r   r  ÚBACKENDÚBASEr  )rA   r  r¢  r  rC  r)  rÀ   s          rC   Úset_default_optionszCoreData.set_default_optionsE  s8  € õ
 7B±m´mˆØ#×)Ò)Ñ+Ô+ð 	ð 	‰DˆAˆqØð  ¤°Ò!;Ð!;Ø�˜‘
øØ�Š�s”{Ñ#Ô#Ð#ØˆŒõ ‘-”-ˆà”K×%Ò%Ñ'Ô'ð 	ð 	‰DˆAˆqàŒ|ð  ¤°
Ò :Ð :Øð ð ˜aŸlšl™nœnð °´¸a¿hºhÐRTÕ^kÔ^p¸hÑ>qÔ>qÔ1rÔ1{ð Øð Œv�*Ô-­zÔ/AÅ:Ä?ÐSÐSÐSØØˆG�A‰JˆJà×Ò˜¨ZÐÑ8Ô8Ð8Ð8Ð8rD   c                óÒ   — |                      ¦   «         D ]Q\  }}|j                             |¦  «        }|�|                     |¦  «         | j                             ||¦  «         ŒRd S r[   )r(  rC  rº   rj   Ú
setdefault)rA   rC  rà  r  r  r)  rü  rW   s           rC   Úadd_compiler_optionszCoreData.add_compiler_optionsk  sm   € à—M’M‘O”Oð 	*ð 	*‰DˆAˆqØ”K—O’O AÑ&Ô&ˆEØÐ Ø—’˜EÑ"Ô"Ð"ØŒL×#Ò# A qÑ)Ô)Ð)Ð)ð		*ð 	*rD   ÚcompúT.Type['Compiler']c                ór   — ddl m } | j                             |                     ||||¦  «        ¦  «         dS )zOAdd global language arguments that are needed before compiler/linker detection.r   ©rY  N)rY  rC  r;  Úget_global_options)rA   rà  r  r  r  rY  s         rC   Úadd_lang_argszCoreData.add_lang_argss  sI   € ð 	)Ð(Ð(Ð(Ð(Ð(ð 	Œ×Ò˜I×8Ò8¸¸tÀ[ÐRUÑVÔVÑWÔWÐWÐWÐWrD   ú
'Compiler'c                óš  — ddl m} || j        |j                 |<   |                      |                     ¦   «         ||j        |¦  «         g }|j        D ]a}|| j        v rŒ|j        |         }||j        v r5|                     |j        |         ¦  «         |                     |¦  «         || j        |<   Œb|  	                    |¦  «         d S )Nr   r   )
r½   rY  r  r  Úget_optionsÚbase_optionsrC  rj   r†   Úemit_base_options_warnings)rA   rà  r  r  rY  Úenabled_optsrö   Úoobjs           rC   Úprocess_new_compilerzCoreData.process_new_compiler|  sè   € ØÐÐÐÐÐà15ˆŒ�tÔ'Ô(¨Ñ.Ø×!Ò! $×"2Ò"2Ñ"4Ô"4°d¸DÔ<LÈcÑRÔRÐRà*,ˆØÔ$ð 	%ð 	%ˆCØ�d”lÐ"Ð"ØØÔ)¨#Ô.ˆDØ�c”kÐ!Ð!Ø—’˜sœ{¨3Ô/Ñ0Ô0Ð0Ø×#Ò# CÑ(Ô(Ð(Ø $ˆDŒL˜ÑÐØ×'Ò'¨Ñ5Ô5Ð5Ð5Ð5rD   r(  úT.List[OptionKey]c                ó„   — t          d¦  «        |v r.t          j        dd¬¦  «         t          j        dd¬¦  «         d S d S )NÚ	b_bitcodez‘Base option 'b_bitcode' is enabled, which is incompatible with many linker options. Incompatible options such as 'b_asneeded' have been disabled.F)ÚfatalzjPlease see https://mesonbuild.com/Builtin-options.html#Notes_about_Apple_Bitcode_support for more details.)r   r   rô  )rA   r(  s     rC   r'  z#CoreData.emit_base_options_warnings�  s}   € Ý�[Ñ!Ô! \Ð1Ð1ÝŒLð  qð  y~ð  ñ  ô  ð  ÝŒLð  Fð  NSð  Tñ  Tô  Tð  Tð  Tð  Tð 2Ð1rD   N)rC  rD  rE  r9   rF  r£   )rC  rD  rE  r9   rc  r9   r;   r£   )r–  r9   r˜  r   rW   rX   r;   rX   )r¢  r9   r;   r<   )rª  r«  rö   r   r©  r¬  r;   r<   )r°  r9   r;   r<   )rö   r   r;   rµ  )rö   r   r;   r<   )rW   r9   r;   r<   )rÞ  r   r;   rU   )râ  r   )r  r   rà  r9   r;   r£   )rC  r«  r;   r<   )r÷  r   r;   rU   r,  ©r½   )rC  r  r¢  r9   r;   r<   )r  r  r¢  r9   r  r  r;   r<   )
rC  r«  rà  r9   r  r   r  r  r;   r<   )
rà  r9   r  r  r  r   r  r  r;   r<   )rà  r9   r  r#  r  r  r;   r<   )r(  r+  r;   r<   ) rE   rF   rG   r@   ÚstaticmethodrW  ra  r—  r¡  rb  r¦  r´  r¸  rÅ  rÇ  rÜ  rÆ  rá  rè  rî  rñ  rö  r   r]  r[  r  r  r  r  r"  r*  r'  r\   rD   rC   rB  rB  ±  sj  € € € € € ð%ð %ð %ð %ðN ð7ð 7ð 7ñ „\ð7ðrAð Að Aðð ð ð" ð  ð  ð  ð@sð sð sð sð ð	Fð 	Fð 	Fñ „\ð	Fð	ð 	ð 	ð 	ðPð Pð Pð Pð(2$ð 2$ð 2$ð 2$ðh ð  ð  ðð ð ð::ð :ð :ð :ð, ð(ð (ð (ñ „\ð(ð
	3ð 	3ð 	3ð 	3ðUð Uð Uð UðZð Zð Zð Zðvð vð vð vð* ANÔ@Rð )ð )ð )ð )ð )ð
ð ð ð ð8ð 8ð 8ð 8ð 8ð8$9ð $9ð $9ð $9ðL*ð *ð *ð *ðXð Xð Xð Xð6ð 6ð 6ð 6ð"Tð Tð Tð Tð Tð TrD   rB  c                  ó6   ‡ — e Zd Zdˆ fd„Zddˆ fd
„Zdd„Zˆ xZS )ÚCmdLineFileParserr;   r<   c                óP   •— t          ¦   «                              dgd ¬¦  «         d S )Nú=)Ú
delimitersÚinterpolation)r?   r@   )rA   rB   s    €rC   r@   zCmdLineFileParser.__init__“  s*   ø€ õ 	‰Œ×Ò S E¸ÐÑ>Ô>Ð>Ð>Ð>rD   re  r€  ú7T.Union['StrOrBytesPath', T.Iterable['StrOrBytesPath']]rg  r9   r£   c                óH   •— t          ¦   «                              ||¦  «        S r[   )r?   r{  )rA   r€  rg  rB   s      €rC   r{  zCmdLineFileParser.read˜  s   ø€ Ý‰wŒw�|Š|˜I xÑ0Ô0Ð0rD   r˜  c                ó   — |S r[   r\   )rA   r˜  s     rC   ÚoptionxformzCmdLineFileParser.optionxform›  s   € àˆrD   r,  )re  )r€  r7  rg  r9   r;   r£   )r˜  r9   r;   r9   )rE   rF   rG   r@   r{  r:  rI   rJ   s   @rC   r2  r2  ’  st   ø€ € € € € ð?ð ?ð ?ð ?ð ?ð ?ð
1ð 1ð 1ð 1ð 1ð 1ð 1ðð ð ð ð ð ð ð rD   r2  c                  ó"   — e Zd Zd	d„Zd„ Zd„ ZdS )
ÚMachineFileParserr€  r£   r;   r<   c                ó�  — t          ¦   «         | _        dddœ| _        i | _        | j                             |¦  «         | j                             d¦  «        r-| j                             |                      d¦  «        ¦  «         | j                             ¦   «         D ]&}|dk    rŒ	|                      |¦  «        | j        |<   Œ'd S )NTF)ÚTrueÚFalseÚ	constants)r2  Úparserr@  Úsectionsr{  Úhas_sectionr;  Ú_parse_section)rA   r€  rÖ  s      rC   r@   zMachineFileParser.__init__   sÌ   € Ý'Ñ)Ô)ˆŒØ"&°Ð7Ð7ˆŒØˆŒàŒ×Ò˜Ñ#Ô#Ð#ð Œ;×"Ò" ;Ñ/Ô/ð 	DØŒN×!Ò! $×"5Ò"5°kÑ"BÔ"BÑCÔCÐCà”×%Ò%Ñ'Ô'ð 	6ð 	6ˆAØ�KÒÐØØ#×2Ò2°1Ñ5Ô5ˆDŒM˜!ÑÐð	6ð 	6rD   c           	     óF  — | j                              ¦   «         | _        i }| j                             |¦  «        D ]å\  }}d|v sd|v sd|v sd|v rt          d|›d�¦  «        ‚|                     dd¦  «        }	 t          j        |d	¦  «         	                    ¦   «         }|  
                    |j        d
         ¦  «        }nO# t          $ r t          d|›d�¦  «        ‚t          $ r&}t          d|j        d
         ›d|›d�¦  «        ‚d }~ww xY w|||<   || j        |<   Œæ|S )Nú ú	ú'r«   zMalformed variable name z in machine file.r‘  z\\Úmachinefiler   z)Malformed value in machine file variable r>   zUndefined constant z in machine file variable )r@  r…  ÚscoperA  r(  r   r¾  r   ÚParserÚparseÚ_evaluate_statementÚlinesr   r   rê  )rA   rÖ  ÚsectionÚentryrW   rÃ   Úresr    s           rC   rD  z MachineFileParser._parse_section°  sd  € Ø”^×(Ò(Ñ*Ô*ˆŒ
ØˆØ œK×-Ò-¨aÑ0Ô0ð 	$ð 	$‰LˆE�5Ø�eˆ|ˆ|˜t u˜}˜}°°u°°ÀÀuÀÀÝ*Ð+`ÀeÐ+`Ð+`Ð+`ÑaÔaÐaà—M’M $¨Ñ/Ô/ˆEðtÝ”n U¨MÑ:Ô:×@Ò@ÑBÔB�Ø×.Ò.¨s¬y¸¬|Ñ<Ô<��øÝ!ð cð cð cÝ*Ð+aÐW\Ð+aÐ+aÐ+aÑbÔbÐbÝð tð tð tÝ*Ð+rÀÄÈÄÐ+rÐ+rÐhmÐ+rÐ+rÐ+rÑsÔsÐsøøøøðtøøøà ˆG�E‰NØ #ˆDŒJ�uÑÐØˆs   Á:ACÃ&DÃ(!D	Ä	Dc                ó´  ‡ — t          |t          j        ¦  «        r|j        S t          |t          j        ¦  «        r|j        S t          |t          j        ¦  «        r|j        S t          |t          j        ¦  «        rˆ fd„|j        j        D ¦   «         S t          |t          j	        ¦  «        r‰ j
        |j                 S t          |t          j        ¦  «        rî‰                      |j        ¦  «        }‰                      |j        ¦  «        }|j        dk    rZt          |t           ¦  «        rt          |t           ¦  «        s*t          |t"          ¦  «        rt          |t"          ¦  «        r||z   S nU|j        dk    rJt          |t           ¦  «        r5t          |t           ¦  «        r t$          j                             ||¦  «        S t+          d¦  «        ‚)Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r\   )rM  )r¬   ÚargrA   s     €rC   r®   z9MachineFileParser._evaluate_statement.<locals>.<listcomp>Ë  s'   ø€ ÐQÐQÐQ°c�D×,Ò,¨SÑ1Ô1ÐQÐQÐQrD   ÚaddÚdivzUnsupported node type)rT   r   Ú
StringNoderW   ÚBooleanNodeÚ
NumberNodeÚ	ArrayNoderê  Ú	argumentsÚIdNoderJ  ÚArithmeticNoderM  ÚleftÚrightÚ	operationr9   rb   rq  rr  r‡   r   )rA   ÚnodeÚlÚrs   `   rC   rM  z%MachineFileParser._evaluate_statementÃ  s£  ø€ Ý�d�WÔ/Ñ1Ô1ð 	.Ø”:ÐÝ˜�gÔ1Ñ2Ô2ð 	.Ø”:ÐÝ˜�gÔ0Ñ1Ô1ð 	.Ø”:ÐÝ˜�gÔ/Ñ0Ô0ð 	.ØQÐQÐQÐQ¸T¼YÔ=PÐQÑQÔQÐQÝ˜�gœnÑ-Ô-ð 	.Ø”:˜dœjÔ)Ð)Ý˜�gÔ4Ñ5Ô5ð 		.Ø×(Ò(¨¬Ñ3Ô3ˆAØ×(Ò(¨¬Ñ4Ô4ˆAØŒ~ Ò&Ð&Ý˜q¥#Ñ&Ô&ð !­:°a½Ñ+=Ô+=ð !Ý˜q¥$Ñ'Ô'ð!Ý,6°q½$Ñ,?Ô,?ð!à˜q™5�LøØ” 5Ò(Ð(Ý˜a¥Ñ%Ô%ð .­*°Q½Ñ*<Ô*<ð .Ýœ7Ÿ<š<¨¨1Ñ-Ô-Ð-Ý"Ð#:Ñ;Ô;Ð;rD   N)r€  r£   r;   r<   )rE   rF   rG   r@   rD  rM  r\   rD   rC   r<  r<  Ÿ  sF   € € € € € ð6ð 6ð 6ð 6ð ð ð ð&<ð <ð <ð <ð <rD   r<  c                ó.   — t          | ¦  «        }|j        S r[   )r<  rB  )r€  rA  s     rC   Úparse_machine_filesre  Ú  s   € Ý˜yÑ)Ô)€FØŒ?ÐrD   Ú	build_dirr9   r;   c                óD   — t           j                             | dd¦  «        S )Númeson-privatezcmd_line.txt)rq  rr  r‡   )rf  s    rC   Úget_cmd_line_fileri  Þ  s   € ÝŒ7�<Š<˜	 ?°NÑCÔCÐCrD   rC  rD  r<   c                ó  — t          | ¦  «        }t          j                             |¦  «        sd S t	          ¦   «         }|                     |¦  «         d„ |d                              ¦   «         D ¦   «         }|                     |j        ¦  «         ||_        |d         }|j	        s-t          j        |                     dd¦  «        ¦  «        |_	        |j        s/t          j        |                     dd¦  «        ¦  «        |_        d S d S )Nc                ó>   — i | ]\  }}t          j        |¦  «        |“ŒS r\   )r   rÄ  r  s      rC   r  z&read_cmd_line_file.<locals>.<dictcomp>ë  s)   € ÐKÐKÐK©¨¨A�Ô	˜qÑ	!Ô	! 1ÐKÐKÐKrD   rC  Ú
propertiesrn  z[]ro  )ri  rq  rr  rv  r2  r{  r(  r;  Úcmd_line_optionsrn  rÃ   rÄ   rº   ro  )rf  rC  ÚfilenameÚconfigÚdrl  s         rC   Úread_cmd_line_filerq  á  s  € Ý  Ñ+Ô+€HÝŒ7�>Š>˜(Ñ#Ô#ð ØˆåÑ Ô €FØ
‡K‚K�ÑÔÐð 	LÐK°¸	Ô1B×1HÒ1HÑ1JÔ1JÐKÑKÔK€AØ‡H‚HˆWÔ%Ñ&Ô&Ð&Ø €GÔà˜Ô%€JØÔð RÝ Ô-¨j¯nªn¸\È4Ñ.PÔ.PÑQÔQˆÔØÔð Tõ "Ô.¨z¯~ª~¸mÈTÑ/RÔ/RÑSÔSˆÔÐÐðTð TrD   c                óv  — t          | ¦  «        }t          ¦   «         }t          ¦   «         }|j        r
|j        |d<   |j        r
|j        |d<   d„ |j                             ¦   «         D ¦   «         |d<   ||d<   t          |dd¬¦  «        5 }|                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nrn  ro  c                óN   — i | ]"\  }}t          |¦  «        t          |¦  «        “Œ#S r\   r  r  s      rC   r  z'write_cmd_line_file.<locals>.<dictcomp>  s*   € ÐUÐUÐU©D¨A¨q�˜Q™œ¥ Q¡¤ÐUÐUÐUrD   rC  rl  rh  re  rf  )	ri  r2  r	   rn  ro  rm  r(  ry  rz  )rf  rC  rn  ro  rl  r„  s         rC   Úwrite_cmd_line_filert  ÷  s	  € Ý  Ñ+Ô+€HÝÑ Ô €Få‘”€JØÔð 6Ø#*Ô#5ˆ
�<Ñ ØÔð 8Ø$+Ô$7ˆ
�=Ñ!àUÐU°GÔ4L×4RÒ4RÑ4TÔ4TÐUÑUÔU€Fˆ9ÑØ%€Fˆ<ÑÝ	ˆh˜ gÐ	.Ñ	.Ô	.ð °!Ø�Š�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB.Â.B2Â5B2c                ób  — t          | ¦  «        }t          ¦   «         }|                     |¦  «         |d                              d„ |j                             ¦   «         D ¦   «         ¦  «         t          |dd¬¦  «        5 }|                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrC  c                óN   — i | ]"\  }}t          |¦  «        t          |¦  «        “Œ#S r\   r  r  s      rC   r  z(update_cmd_line_file.<locals>.<dictcomp>
  s*   € ÐZÐZÐZ±°°A�c !™fœf¥c¨!¡f¤fÐZÐZÐZrD   rh  re  rf  )ri  r2  r{  r;  rm  r(  ry  rz  )rf  rC  rn  ro  r„  s        rC   Úupdate_cmd_line_filerw    sè   € Ý  Ñ+Ô+€HÝÑ Ô €FØ
‡K‚K�ÑÔÐØ
ˆ9Ô×ÒÐZÐZ¸Ô9Q×9WÒ9WÑ9YÔ9YÐZÑZÔZÑ[Ô[Ð[Ý	ˆh˜ gÐ	.Ñ	.Ô	.ð °!Ø�Š�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB$Â$B(Â+B(c                óò   — d„ | j                              ¦   «         D ¦   «         }| j        r|d„ | j        D ¦   «         z  }| j        r|d„ | j        D ¦   «         z  }d                     d„ |D ¦   «         ¦  «        S )Nc                óZ   — g | ](\  }}d                       t          |¦  «        |¦  «        ‘Œ)S )z-D{}={})r›   r9   r  s      rC   r®   z+format_cmd_line_options.<locals>.<listcomp>  s2   € ÐXÐXÐX©t¨q°!ˆy×Ò¥ A¡¤¨Ñ*Ô*ÐXÐXÐXrD   c                ó   — g | ]}d |› �‘ŒS )z--cross-file=r\   ©r¬   r„  s     rC   r®   z+format_cmd_line_options.<locals>.<listcomp>  s!   € ÐDÐDÐD¨AÐ' AÐ'Ð'ÐDÐDÐDrD   c                ó   — g | ]}d |› �‘ŒS )z--native-file=r\   r{  s     rC   r®   z+format_cmd_line_options.<locals>.<listcomp>  s!   € ÐFÐFÐF¨QÐ( QÐ(Ð(ÐFÐFÐFrD   rF  c                ó6   — g | ]}t          j        |¦  «        ‘ŒS r\   )ÚshlexÚquote)r¬   rÉ   s     rC   r®   z+format_cmd_line_options.<locals>.<listcomp>  s    € Ð5Ð5Ð5¨•U”[ ‘^”^Ð5Ð5Ð5rD   )rm  r(  rn  ro  r‡   )rC  Úcmdlines     rC   Úformat_cmd_line_optionsr�    s•   € ØXÐX°wÔ7O×7UÒ7UÑ7WÔ7WÐXÑXÔX€GØÔð EØÐDÐD°Ô1CÐDÑDÔDÑDˆØÔð GØÐFÐF°'Ô2EÐFÑFÔFÑFˆØ�8Š8Ð5Ð5¨WÐ5Ñ5Ô5Ñ6Ô6Ð6rD   Úv1Úv2rU   c                óŠ   — |                       dd¦  «        \  }}|                      dd¦  «        \  }}||k    pd||hv o||k    S )Nr>   r   Ú99)Úrsplit)r‚  rƒ  Úv1_majorÚv1_minorÚv2_majorÚv2_minors         rC   Úmajor_versions_differr‹    sW   € ØŸš 3¨Ñ*Ô*Ñ€HˆhØŸš 3¨Ñ*Ô*Ñ€Hˆhà�xÒÐZ D¨X°xÐ,@Ð$@Ð$YÀXÐQYÒEYÐZrD   c                ó²   — t           j                             | dd¦  «        }t          |dt          ¦  «        }t          |t          ¦  «        s
J d¦   «         ‚|S )Nrh  úcoredata.datÚCoredatazfor mypy)rq  rr  r‡   r   rB  rT   )rf  rn  Úobjs      rC   Úloadr�    sM   € ÝŒw�|Š|˜I ¸ÑGÔG€HÝ
�h 
­HÑ
5Ô
5€CÝ�c�8Ñ$Ô$Ð0Ð0 jÑ0Ô0Ð0Ø€JrD   r�  c                ó.  — t           j                             |dd¦  «        }|dz   }|dz   }t          | j        t          ¦  «        rt          d¦  «        ‚t           j                             |¦  «        rdd l}|                     ||¦  «         t          |d¦  «        5 }t          j        | |¦  «         |                     ¦   «          t          j        |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         |S )Nrh  r�  z.prevú~z"Fatal version mismatch corruption.r   Úwb)rq  rr  r‡   r‹  rV  r   ru  ÚshutilÚcopyfilery  ÚpickleÚdumpÚflushÚfsyncÚfilenor   )r�  rf  rn  Úprev_filenameÚtempfilenamer”  r„  s          rC   Úsaver�  #  s3  € ÝŒw�|Š|˜I ¸ÑGÔG€HØ˜wÑ&€MØ˜c‘>€LÝ˜Sœ[­'Ñ2Ô2ð CÝÐAÑBÔBÐBÝ	„w‡~‚~�hÑÔð 1ØˆˆˆØ�Š˜ -Ñ0Ô0Ð0Ý	ˆl˜DÑ	!Ô	!ð  QÝŒ�C˜ÑÔÐØ	�Š‰	Œ	ˆ	Ý
Œ�—’‘”ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜ <Ñ0Ô0Ð0Ø€Os   ÂAC:Ã:C>ÄC>rA  úargparse.ArgumentParserc                ó´  — t                                ¦   «         D ])\  }}|                     t          |¦  «        | d¦  «         Œ*t                               ¦   «         D ]_\  }}|                     t          |¦  «        | d¦  «         |                     t          |                     ¦   «         ¦  «        | d¦  «         Œ`|                      dddg dd¬	¦  «         d S )
Nr½   z (just for host machine)z (just for build machine)z-Dr†   Úprojectoptionsr˜  zNSet the value of an option, can be used several times to set multiple options.)ÚactionÚdestrH  ÚmetavarÚhelp)rŽ  r(  Úadd_to_argparser9   r¨  rú  Úadd_argument)rA  ÚnÚbs      rC   Úregister_builtin_argumentsr©  4  sé   € Ý×%Ò%Ñ'Ô'ð .ð .‰ˆˆ1Ø	×Ò�#˜a™&œ& &¨"Ñ-Ô-Ð-Ð-Ý+×1Ò1Ñ3Ô3ð Rð R‰ˆˆ1Ø	×Ò�#˜a™&œ& &Ð*DÑEÔEÐEØ	×Ò�#˜aŸjšj™lœlÑ+Ô+¨VÐ5PÑQÔQÐQÐQØ
×Ò˜ XÐ4DÈbÐZbØmð ñ oô oð oð oð orD   r½   r£   r¢  úT.Dict[OptionKey, str]c                ó  — t          ¦   «         }| D ]o}	 |                     dd¦  «        \  }}n!# t          $ r t          d|›d�¦  «        ‚w xY wt	          j        |¦  «        }|r|                     |¬¦  «        }|||<   Œp|S )Nr4  r   rº  z, must have a value separated by equals sign.r¤  )r	   rÅ   r�   r   r   rÄ  r§  )rC  r¢  rÙ  rü  rö   rW   r)  s          rC   Úcreate_options_dictr¬  =  s«   € Ý,7©M¬M€FØð ð ˆð	^ØŸ7š7 3¨™?œ?‰LˆS�%�%øÝð 	^ð 	^ð 	^Ý Ð!\¨1Ð!\Ð!\Ð!\Ñ]Ô]Ð]ð	^øøøåÔ! #Ñ&Ô&ˆØð 	0Ø—’ J�Ñ/Ô/ˆAØˆˆq‰	ˆ	Ø€Ms	   ”.®Arê  c           
     óî  — t          | j        ¦  «        | _        t          t                               ¦   «         d„ t                               ¦   «         D ¦   «         t                               ¦   «         ¦  «        D ]z}t          |¦  «        }t          | |d ¦  «        }|�V|| j        v r3t           
                    |¦  «        }t          d|› d|› d|› d�¦  «        ‚|| j        |<   t          | |¦  «         Œ{d S )Nc              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r[   )rú  )r¬   r)  s     rC   r	  z)parse_cmd_line_options.<locals>.<genexpr>P  s*   è è € ÐFÐF˜aˆQ�ZŠZ‰\Œ\ÐFÐFÐFÐFÐFÐFrD   zGot argument z as both -Dz and z. Pick one.)r¬  r   rm  r   rŽ  r  r¨  r9   ÚgetattrÚBuiltinOptionÚargparse_name_to_argr   Údelattr)rê  rö   rÚ   rW   Úcmdline_names        rC   Úparse_cmd_line_optionsr´  J  s  € Ý/°Ô0CÑDÔD€DÔõ Ý× Ò Ñ"Ô"ØFÐFÕ#>×#CÒ#CÑ#EÔ#EÐFÑFÔFÝ'×,Ò,Ñ.Ô.ñô ð  ð  ˆõ
 �3‰xŒxˆÝ˜˜d DÑ)Ô)ˆØÐØ�dÔ+Ð+Ð+Ý,×AÒAÀ$ÑGÔG�Ý$ØY DÐYÐY°TÐYÐYÀÐYÐYÐYñ[ô [ð [à).ˆDÔ! #Ñ&Ý�D˜$ÑÔÐøð ð  rD   Ú_U)Úboundc                  ód   — e Zd ZdZd"ddœd#d„Zd$d„Zd%d„Zd&d„Zed'd„¦   «         Z	d(d)d„Z
d*d!„ZdS )+r°  zaClass for a builtin option type.

    There are some cases that are not fully supported yet.
    TNrÈ   Úopt_typeú
T.Type[_U]rM   r9   rH  rX   rP   rU   rN   c               óL   — || _         || _        || _        || _        || _        d S r[   )r¸  rM   rH  rN   rP   )rA   r¸  rM   rH  rP   rN   s         rC   r@   zBuiltinOption.__init__g  s*   € à ˆŒØ&ˆÔØˆŒØˆŒØ ˆŒˆˆrD   rÚ   ú'OptionKey'rW   úT.Optional[T.Any]r–  r;   rµ  c                óŽ   — |€|                       ||¦  «        }| j        |dœ}| j        r
| j        |d<    | j        | j        fi |¤ŽS )z-Create an instance of opt_type and return it.N)rP   rW   rN   )r
  rP   rN   r¸  rM   )rA   rÚ   rW   r–  Úkeywordss        rC   r¯  zBuiltinOption.init_optiono  s^   € àˆ=Ø×)Ò)¨$°Ñ7Ô7ˆEØ $¤¸Ð>Ð>ˆØŒ<ð 	/Ø"&¤,ˆH�YÑØˆtŒ}˜TÔ-Ð:Ð:°Ð:Ð:Ð:rD   úT.Optional[str]c                ó>   — t          | j        t          ¦  «        rdS d S )NÚ
store_true)rT   rH  rU   rc   s    rC   Ú_argparse_actionzBuiltinOption._argparse_actionx  s"   € õ �d”l¥DÑ)Ô)ð 	 Ø�<ØˆtrD   c                óh   — | j         t          u rddgS | j         t          u rt          j        S | j        S rw   )r¸  ru   rÔ   rÙ   rN   rc   s    rC   Ú_argparse_choiceszBuiltinOption._argparse_choices€  s9   € ØŒ=Õ-Ð-Ð-Ø˜%�=Ð ØŒ]Õ/Ð/Ð/Ý$Ô3Ð3ØŒ|ÐrD   c                óD   — | dk    rdS d|                       dd¦  «        z   S )NÚwarning_levelz--warnlevelz--Ú_ú-)r¾  )rÚ   s    rC   r±  z"BuiltinOption.argparse_name_to_arg‡  s+   € à�?Ò"Ð"Ø �=à˜$Ÿ,š, s¨CÑ0Ô0Ñ0Ð0rD   r½   c                ó�   — | j         t          t          fv r| j        S 	 t          |         |         S # t
          $ r Y nw xY w| j        S r[   )r¸  r¢   r�   rH  r�  r   )rA   rÚ   r–  s      rC   r
  zBuiltinOption.prefixed_defaultŽ  sZ   € ØŒ=�_Õ.?Ð@Ð@Ð@Ø”<Ðð	Ý/°Ô5°fÔ=Ð=øÝð 	ð 	ð 	ØˆDð	øøøàŒ|Ðs   ž1 ±
>½>rA  rž  Úhelp_suffixr<   c                ó’  — t          ¦   «         }|                      ¦   «         }|                      ¦   «         }| j        }|s=d                     |                     d¦  «        |                      |¦  «        ¦  «        }n||d<   |r|s||d<   t          j        |d<   ||d<   |  	                    |¦  «        } |j
        |fd||z   i|¤Ž d S )Nz{} (default: {}).r>   r¡  rN   rH  r¢  r¤  )r	   rÄ  rÂ  rM   r›   Úrstripr
  ÚargparseÚSUPPRESSr±  r¦  )	rA   rÚ   rA  rÊ  r·   r‰   r¨  Úhr³  s	            rC   r¥  zBuiltinOption.add_to_argparse—  sã   € Ý‘”ˆà×"Ò"Ñ$Ô$ˆØ×!Ò!Ñ#Ô#ˆØÔˆØð 	!Ø#×*Ò*¨1¯8ª8°C©=¬=¸$×:OÒ:OÐPTÑ:UÔ:UÑVÔVˆAˆAà ˆF�8ÑØð 	"�Qð 	"Ø !ˆF�9ÑÝ$Ô-ˆˆyÑØˆˆv‰à×0Ò0°Ñ6Ô6ˆØˆÔ˜LÐIÐI¨q°;©ÐIÀ&ÐIÐIÐIÐIÐIrD   rÒ   )
r¸  r¹  rM   r9   rH  rX   rP   rU   rN   rX   )rÚ   r»  rW   r¼  r–  r9   r;   rµ  )r;   r¿  )r;   rX   )rÚ   r9   r;   r9   r/  )rÚ   r»  r–  r9   r;   rX   )rÚ   r9   rA  rž  rÊ  r9   r;   r<   )rE   rF   rG   rH   r@   r¯  rÂ  rÄ  r0  r±  r
  r¥  r\   rD   rC   r°  r°  `  sÓ   € € € € € ðð ð
!Ø"&ð!ð !ð !ð !ð !ð !ð;ð ;ð ;ð ;ðð ð ð ðð ð ð ð ð1ð 1ð 1ñ „\ð1ðð ð ð ð ðJð Jð Jð Jð Jð JrD   r°  r–  zInstallation prefixÚbindirzExecutable directoryÚbinÚdatadirzData file directoryÚ
includedirzHeader file directoryÚinfodirzInfo page directoryr�  zLibrary directoryÚ
libexecdirzLibrary executable directoryÚ	localedirzLocale data directoryÚlocalstatedirzLocalstate data directoryÚvarÚmandirzManual page directoryÚsbindirzSystem executable directoryÚsharedstatedirz'Architecture-independent data directoryÚcomÚ
sysconfdirzSysconf data directoryr«  ÚBUILTIN_DIR_OPTIONSÚauto_featuresz%Override value of all 'auto' featuresr×   ÚbackendzBackend to user+   rÈ   rÀ  zBuild type to userÏ  )rÎ  rÏ  rÑ  rÓ  rÕ  r×  z*Enable debug symbols and other informationTÚdefault_libraryzDefault library typeÚshared)râ  ÚstaticÚboth)rN   rP   Ú	errorlogsz,Whether to print the logs from failing testsÚinstall_umaskz8Default umask to apply on permissions of installed filesÚ022ÚlayoutzBuild directory layoutÚmirrorÚflatrØ  zOptimization levelrÐ  )rÎ  rÐ  ÚgÚ1rÒ  rÔ  rÖ  Úprefer_staticz3Whether to try static linking before shared linkingÚstdsplitz$Split stdout and stderr in test logsr¿   zStrip targets on installÚunityzUnity buildÚoff)Úonrð  ÚsubprojectsÚ
unity_sizezUnity block size)rã   Né   rÆ  zCompiler warning level to userì  )rÐ  rì  rÒ  rÔ  Ú
everythingÚwerrorzTreat warnings as errorsr¹   r·  z	Wrap moderH  )rH  Ú
nofallbackÚ
nodownloadÚforcefallbackÚ	nopromoterÁ  z$Force fallback for those subprojectsÚrelocatableÚ	pkgconfig)Úmodulez'Generate pkgconfig files as relocatableÚinstall_envÚpythonz&Which python environment to install to)r×   r–  ÚsystemÚvenvÚ
platlibdirz5Directory for site-specific, platform-specific files.Ú
purelibdirz9Directory for site-specific, non-platform-specific files.ÚBUILTIN_CORE_OPTIONSr	  z1List of additional paths for pkg-config to searchr  z/List of additional prefixes for cmake to searchr¨  ú/usrz/etcz/varz
/var/local)r  z
/usr/localz/var/libz/var/local/libz#T.Dict[OptionKey, T.Dict[str, str]]r�  Úcleanzclean-ctlistz
clean-gcnoz
clean-gcdaÚcoveragezcoverage-textzcoverage-xmlzcoverage-htmlÚphonyÚPHONYÚallrJ  Ú	benchmarkÚinstallÚ	uninstallzbuild.ninjaz
scan-build)ÚreconfigureÚdistÚ	distcheck)rf  r9   r;   r9   )rf  r9   rC  rD  r;   r<   )rf  r9   rC  rD  )rC  rD  r;   r9   )r‚  r9   rƒ  r9   r;   rU   )rf  r9   r;   rB  )r�  rB  rf  r9   r;   r9   )rA  rž  r;   r<   r/  )rC  r£   r¢  r9   r;   rª  )rê  rD  r;   r<   )zÚ
__future__r   r½   r   r   r–  rq  rO  r|  Ú	itertoolsr   Úpathlibr   Úcollectionsr	   Úmesonlibr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úwrapr    rÃ   rÍ  ÚconfigparserÚenumr~  ÚtypingÚTÚTYPE_CHECKINGr"   Úcompilers.compilersr#   r$   Údependencies.detectr%   Úenvironmentr&   r'   r(   Úcmake.traceparserr)   ÚUnionÚDictr9   ÚOptionDictTypeÚMutableKeyedOptionDictTypeÚKeyedOptionDictTypeÚTupleÚCompilerCheckCacheKeyÚbytesÚPathLikeÚStrOrBytesPathrV  ÚbackendlistrS   ÚTypeVarr5   r7   ÚGenericrL   rl   rU   ru   ra   r�   r‘   r–   r¢   ÚListr³   rÔ   ÚEnumrâ   rñ   r  r.  r@  rB  ÚConfigParserr2  r<  re  ri  rq  rt  rw  r�  r‹  r�  r�  r©  r¬  r´  rµ  r°  rÞ  Ú__annotations__r  r(  rŽ  r¨  r�  ÚFORBIDDEN_TARGET_NAMESr\   rD   rC   ú<module>r2     s–  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð à„?ð OØÐÐÐÐÐØ<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø-Ð-Ð-Ð-Ð-Ð-Ø(Ð(Ð(Ð(Ð(Ð(Ø;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø2Ð2Ð2Ð2Ð2Ð2à”W˜QœV CÐ)<Ð$<Ô=Ð?RÐRÔS€NØ!"¤Ð(HÔ!IÐØœ'Ð"<Ð>QÐ"QÔRÐØœG A¤G¨C°¨HÔ$5°s¸LÈ!Ì'ÐRUÐWZÐRZÔJ[Ð]`Ð$`ÔaÐð ”W˜S %¨¬°SÔ)9¸2¼;ÀuÔ;MÐMÔN€Nð €àlÐlÐl€àÐ ð €Q„Yˆt�_„_€ð/ð /ð /ð /ð / Nñ /ô /ð /ð3ð 3ð 3ð 3ð 3�”˜2” ñ 3ô 3ð 3ð8ð ð ð ð �z #”ñ ô ð ðQð Qð Qð Qð Q˜
 4Ô(ñ Qô Qð Qð&fð fð fð fð f˜
 3œñ fô fð fð>ð ð ð ð ˆsñ ô ð ð7ð 7ð 7ð 7ð 7Ð'¨°A´G¸CÀ¸MÔ4JÔ)Kñ 7ô 7ð 7ð*ð ð ð ð �j ”oñ ô ð ð06)ð 6)ð 6)ð 6)ð 6)�j ¤¨¤Ô-ñ 6)ô 6)ð 6)ðr$ð $ð $ð $ð $˜ñ $ô $ð $ð"ð ð ð ð ˜$œ)ñ ô ð ð"%ð %ð %ð %ð %ñ %ô %ð %ð&Dð Dð Dð Dð Dñ Dô Dð DðN(ð (ð (ð (ð (ñ (ô (ð (ð8 €Q„Yˆt�_„_€ð_Tð _Tð _Tð _Tð _Tñ _Tô _Tð _TðBð ð ð ð ˜Ô1ñ ô ð ð9<ð 9<ð 9<ð 9<ð 9<ñ 9<ô 9<ð 9<ðvð ð ðDð Dð Dð DðTð Tð Tð Tð,ð ð ð ðð ð ð ð7ð 7ð 7ð 7ð[ð [ð [ð [ðð ð ð ðð ð ð ð"oð oð oð oðð ð ð ð ð ð  ð  ð  ð( €Q„Yˆt˜: bœ>Ð*Ñ*Ô*€ðGJð GJð GJð GJð GJ�A”I˜b "˜fÔ%ñ GJô GJð GJðX 5@°KØ€YˆxÑÔ = =Ð1AÐCXÐZhÐZhÑZjÔZjÑ#kÔ#kÐlØ€YˆxÑÔ = =Ð1AÐCYÐ[`Ñ#aÔ#aÐbØ€YˆyÑÔ = =Ð1AÐCXÐZiÐZiÑZkÔZkÑ#lÔ#lÐmØ€Yˆ|ÑÔ = =Ð1AÐCZÐ\nÐ\nÑ\pÔ\pÑ#qÔ#qÐrØ€YˆyÑÔ = =Ð1AÐCXÐZiÐZiÑZkÔZkÑ#lÔ#lÐmØ€YˆxÑÔ = =Ð1AÐCVÐXfÐXfÑXhÔXhÑ#iÔ#iÐjØ€Yˆ|ÑÔ = =Ð1AÐCaÐcuÐcuÑcwÔcwÑ#xÔ#xÐyØ€Yˆ{ÑÔ = =Ð1AÐCZÐ\mÐ\mÑ\oÔ\oÑ#pÔ#pÐqØ€YˆÑÔ = =Ð1AÐC^Ð`eÑ#fÔ#fÐgØ€YˆxÑÔ = =Ð1AÐCZÐ\jÐ\jÑ\lÔ\lÑ#mÔ#mÐnØ€YˆyÑÔ = =Ð1AÐC`ÐbqÐbqÑbsÔbsÑ#tÔ#tÐuØ€YÐÑ Ô  = =Ð1AÐClÐnsÑ#tÔ#tÐuØ€Yˆ|ÑÔ = =Ð1AÐC[Ð]oÐ]oÑ]qÔ]qÑ#rÔ#rÐsðAñ 5ô 5Ð ð ð ð ñ ð  6A°[Ø€YˆÑÔ = =Ð1BÐDkÐmsÑ#tÔ#tÐuØ€YˆyÑÔ = =°ÐBRÐT[ÐepÐ#qÑ#qÔ#qÐrØ€Yˆ{ÑÔ = =°ÐBUÐW^Ø9}Ð9}Ð9}ð$ñ $ô $ð @à€YˆwÑÔ = =Ð1BÐDpÐrvÑ#wÔ#wÐxØ€YÐ Ñ!Ô! = =°ÐBXÐZbð  mIð  mIð  mIØ:?ð$Añ $Aô $Að Bà€Yˆ{ÑÔ = =Ð1BÐDrÐtxÑ#yÔ#yÐzØ€YˆÑÔ = =°ÐB|ð  Dñ  $Eô  $Eð  FØ€YˆxÑÔ = =°ÐBZÐ\dÐowÐyð  oAð  $Bñ  $Bô  $Bð  CØ€Yˆ~ÑÔ = =°ÐBVÐX[ð  fMð  fMð  fMð  $Nñ  $Nô  $Nð  OØ€YˆÑÔ = =Ð1BÐDyð  |Añ  $Bô  $Bð  CØ€YˆzÑÔ = =Ð1BÐDjÐlpÑ#qÔ#qÐrØ€YˆwÑÔ = =Ð1BÐD^Ð`eÑ#fÔ#fÐgØ€YˆwÑÔ = =°À-ÐQVÐ`|Ð`|Ð`|Ð#}Ñ#}Ô#}Ð~Ø€Yˆ|ÑÔ = =Ð1BÐDVÐXdÑ#eÔ#eÐfØ€YˆÑÔ = =°ÐBaÐcfð  qSð  qSð  qSð  ^cð  $dñ  $dô  $dð  eØ€YˆxÑÔ = =Ð1BÐD^Ð`eÐpuÐ#vÑ#vÔ#vÐwØ€Yˆ{ÑÔ = =°À+Èyð  chð  chð  chð  $iñ  $iô  $ið  jØ€YÐ#Ñ$Ô$ m m°OÐEkÐmoÑ&pÔ&pÐqð €Yˆ} [Ð1Ñ1Ô1Ø€]Ð$Ð&OÐQVÑWÔWðYð €Yˆ} XÐ.Ñ.Ô.Ø€]�?Ð$LÈhð  aEð  aEð  aEð  Fñ  Fô  FðGà€Yˆ| HÐ-Ñ-Ô-Ø€]Ð#Ð%\Ð^`ÑaÔaðcà€Yˆ| HÐ-Ñ-Ô-Ø€]Ð#Ð%`ÐbdÑeÔeðgð?!Bñ !6ô !6Ð ð !ð !ð !ñ !ðF �+˜e˜eÐ$7×$=Ò$=Ñ$?Ô$?ÐAU×A[ÒA[ÑA]ÔA]Ñ^Ô^Ñ_Ô_€à<G¸KØ€YÐ Ñ!Ô! = =°ÐBuÐwyÑ#zÔ#zÐ{Ø€YÐ"Ñ#Ô# ] ]°?ÐDuÐwyÑ%zÔ%zÐ{ðIñ =ô =Ð ð ð ð ñ ð €IˆlÑÔ &¨&Ð!1Ø€IˆoÑÔ¨&ÀLÐ!QÐ!QØ€IÐÑÔ¨*ÐDTÐ!UÐ!UØ€Iˆl 8Ð,Ñ,Ô,¨bØ€Iˆl 8Ð,Ñ,Ô,¨bðEÐ ð ð ð ñ ð˜' 4ð Ø(¨$ðà&¨ðð '¨ðð % dð	ð
 *¨4ðð )¨$ðð *¨4ðð " 4ðð " 4ðð   ðð ! $ðð & tðð $ Tðð & tðð (¨ðð  '¨ð!ð" *.Ø"&Ø'+ð'ð ð Ð Ð Ð rD   