§
    ƒnócJ  ã                  óv  — d dl mZ 	 d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	 ddl
mZmZ ddl
mZ d	d
lmZmZ d	dlmZmZmZmZmZmZmZmZ d	dlmZ d	dlmZ d	dlmZ d„ Z dZ!e"ej#        ej$        ej%        fZ& G d„ d¦  «        Z' G d„ de¦  «        Z( G d„ dej$        ¦  «        Z) G d„ de¦  «        Z*d„ Z+dS )é    )ÚannotationsN)Úmesonlib)ÚmlogÚbuild)ÚMesonExceptioné   )ÚModuleReturnValueÚ
ModuleInfo)ÚExtensionModuleé   )Ú
DependencyÚInternalDependency)ÚInvalidArgumentsÚ	noPosargsÚnoKwargsÚtyped_kwargsÚFeatureDeprecatedÚContainerTypeInfoÚ	KwargInfoÚtyped_pos_args)ÚCustomTargetHolder)ÚNoneType)ÚExternalProgramc                ó6   — t          | t          ¦  «        s| gS | S ©N)Ú
isinstanceÚlist)Úvalues    ú;/usr/lib/python3/dist-packages/mesonbuild/modules/hotdoc.pyÚensure_listr    $   s    € Ý�e�TÑ"Ô"ð ØˆwˆØ€Ló    z0.8.100c                  ó‚   — e Zd Zd„ Zdd„Zd„ Zd„ Zd„ Z	 	 dd„Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚHotdocTargetBuilderc                ób  — || _         |                     dd¦  «        | _        || _        || _        || _        || _        t          j        ¦   «         | _	        |j
                             ¦   «         | _        |j
                             ¦   «         | _        |j        | _        |j
                             ¦   «         | _        dd|ddt$          j                             | j        | j        | j        dz   ¦  «        g| _        t-          ¦   «         | _        t-          ¦   «         | _        g | _        g | _        d S )NÚbuild_by_defaultFÚconfz--project-namez--disable-incremental-buildz--outputú-doc)ÚhotdocÚpopr%   ÚkwargsÚnameÚstateÚinterpreterr   Ú
OrderedSetÚinclude_pathsÚenvironmentÚget_build_dirÚbuilddirÚget_source_dirÚ	sourcedirÚsubdirÚget_build_commandÚbuild_commandÚosÚpathÚjoinÚcmdÚsetÚ_extra_extension_pathsÚextra_assetsÚextra_dependsÚ_subprojects)Úselfr+   r,   r(   r-   r*   s         r   Ú__init__zHotdocTargetBuilder.__init__1   s  € ØˆŒØ &§
¢
Ð+=¸uÑ EÔ EˆÔØˆŒØˆŒ	ØˆŒ
Ø&ˆÔÝ%Ô0Ñ2Ô2ˆÔàÔ)×7Ò7Ñ9Ô9ˆŒØÔ*×9Ò9Ñ;Ô;ˆŒØ”lˆŒØ"Ô.×@Ò@ÑBÔBˆÔàÐ,¨dÐ4QØ¥¤§¢¨T¬]¸D¼KÈÌÐU[ÑI[Ñ \Ô \ð^ˆŒõ '*¡e¤eˆÔ#Ý™EœEˆÔØˆÔØˆÔÐÐr!   Nc                óÚ   — |s)|                      d¦  «                             dd¦  «        }| j                             |¦  «        }|�|r ||¦  «        }|                      ||¦  «         d S )Nú-Ú_)ÚstripÚreplacer*   r)   Úset_arg_value)rA   ÚoptionÚargnameÚvalue_processorr   s        r   Úprocess_known_argz%HotdocTargetBuilder.process_known_argG   st   € Øð 	:Ø—l’l 3Ñ'Ô'×/Ò/°°SÑ9Ô9ˆGà”—’ Ñ(Ô(ˆØÐ ÐØ#�O EÑ*Ô*ˆEà×Ò˜6 5Ñ)Ô)Ð)Ð)Ð)r!   c                óN  — |€d S t          |t          ¦  «        r |r| j                             |¦  «         d S d S t          |t          ¦  «        rƒ|rg }|D ]<}t          |t
          ¦  «        r|                     d¦  «        r
|d|z  gz  }Œ6||gz  }Œ=|r | j                             |g|z   ¦  «         d S | j                             |¦  «         d S d S t          |t
          ¦  «        r"| j                             |› d|› �g¦  «         d S | j                             ||g¦  «         d S )NrD   z %sú=)r   Úboolr;   Úappendr   ÚstrÚ
startswithÚextend)rA   rI   r   Úescaped_valueÚes        r   rH   z!HotdocTargetBuilder.set_arg_valueQ   si  € Øˆ=ØˆFå�e�TÑ"Ô"ð 	1Øð (Ø”—’ Ñ'Ô'Ð'Ð'Ð'ð(ð (å˜�tÑ$Ô$ð 	1àð 3ð
 !#�Øð -ð -�AÝ! !¥SÑ)Ô)ð -¨a¯lªl¸3Ñ.?Ô.?ð -Ø%¨%°!©)¨Ñ4˜˜à%¨!¨Ñ,˜˜Øð 3Ø”H—O’O V H¨}Ñ$<Ñ=Ô=Ð=Ð=Ð=à”H—O’O MÑ2Ô2Ð2Ð2Ð2ð3ð 3õ& ˜%¥Ñ%Ô%ð 1Ø”—’ FÐ!4Ð!4¨UÐ!4Ð!4Ð 5Ñ6Ô6Ð6Ð6Ð6à”—’ ¨ Ñ0Ô0Ð0Ð0Ð0r!   c                óp  — t          |t          ¦  «        r|D ]}|                      ||¦  «         Œd S t          t          t
          j        t          j        t          j	        t          j
        t          j        f}t          ||¦  «        s.t          d                     ||d„ |D ¦   «         ¦  «        ¦  «        ‚d S )Nz'Argument "{}={}" should be of type: {}.c                ó   — g | ]	}|j         ‘Œ
S © )Ú__name__)Ú.0Úts     r   ú
<listcomp>z<HotdocTargetBuilder.check_extra_arg_type.<locals>.<listcomp>{   s   € Ð=Ð=Ð=¨A˜QœZÐ=Ð=Ð=r!   )r   r   Úcheck_extra_arg_typerQ   rO   r   ÚFiler   ÚIncludeDirsÚCustomTargetÚCustomTargetIndexÚBuildTargetr   Úformat)rA   Úargr   ÚvÚvalid_typess        r   r]   z(HotdocTargetBuilder.check_extra_arg_typer   sÉ   € Ý�e�TÑ"Ô"ð 	Øð 2ð 2�Ø×)Ò)¨#¨qÑ1Ô1Ð1Ð1ØˆFå�D¥(¤-µÔ1BÅEÔDVÕX]ÔXoÕqvô  rCð  DˆÝ˜% Ñ-Ô-ð 	@Ý"Ð#L×#SÒ#SØ�UÐ=Ð=°Ð=Ñ=Ô=ñ$?ô $?ñ @ô @ð @ð	@ð 	@r!   c                óÎ   — | j                              ¦   «         D ]J\  }}d|                     dd¦  «        z   }|                      ||¦  «         |                      ||¦  «         ŒKd S )Nz--rE   rD   )r*   ÚitemsrG   r]   rH   )rA   rd   r   rI   s       r   Úprocess_extra_argsz&HotdocTargetBuilder.process_extra_args}   st   € Øœ+×+Ò+Ñ-Ô-ð 	.ð 	.‰JˆC�Ø˜CŸKšK¨¨SÑ1Ô1Ñ1ˆFØ×%Ò% c¨5Ñ1Ô1Ð1Ø×Ò˜v uÑ-Ô-Ð-Ð-ð	.ð 	.r!   Fc                ó‚  — t          |t          ¦  «        s|g}	 | j                             |¦  «        x}}|r ||¦  «        }|D ]6}	t          ||	¦  «        r$|rt          |t          ¦  «        s|g|fc S ||fc S Œ7t	          |› d|› d|› �¦  «        ‚# t
          $ r |rt	          |› d�¦  «        ‚|�||fcY S Y nw xY wdS )Nz field value z is not valid, valid types are z mandatory field not found©NN)r   r   r*   r)   r   ÚKeyError)
rA   ÚtypesrJ   ÚdefaultrK   Ú	mandatoryÚ
force_listÚuvaluer   r[   s
             r   Ú	get_valuezHotdocTargetBuilder.get_valueƒ   sJ  € å˜%¥Ñ&Ô&ð 	Ø�GˆEð	(Ø!œ[Ÿ_š_¨WÑ5Ô5Ð5ˆF�UØð /Ø'˜¨Ñ.Ô.�àð )ð )�Ý˜e QÑ'Ô'ð )Ø!ð /­*°U½DÑ*AÔ*Að /Ø %˜w¨˜Ð.Ð.Ð.Ø  &˜=Ð(Ð(Ð(ð)õ ! Gð "=ð "=¸%ð "=ð "=Ø5:ð"=ð "=ñ >ô >ð >øåð 	(ð 	(ð 	(Øð MÝ$¨Ð%KÐ%KÐ%KÑLÔLÐLàÐ"Ø Ð'Ð'Ð'Ð'ð #Ð"ð		(øøøð ˆzs   šAB Á5B Á;B Â$B<Â;B<c                ó�   — |D ]B}|| j         v rŒ| j                              |¦  «         | j                             d|g¦  «         ŒCd S )Nz--extra-extension-path)r=   Úaddr;   rS   )rA   Úpathsr9   s      r   Úadd_extension_pathsz'HotdocTargetBuilder.add_extension_pathsœ   s`   € Øð 	>ð 	>ˆDØ�tÔ2Ð2Ð2ØàÔ'×+Ò+¨DÑ1Ô1Ð1ØŒH�OŠOÐ5°tÐ<Ñ=Ô=Ð=Ð=ð	>ð 	>r!   c                ój   — |                      d| j        ¦  «                              d| j        ¦  «        S )Nz@SOURCE_ROOT@z@BUILD_ROOT@)rG   r4   r2   )rA   Ústrings     r   Úreplace_dirs_in_stringz*HotdocTargetBuilder.replace_dirs_in_string¤   s,   € Ø�~Š~˜o¨t¬~Ñ>Ô>×FÒFÀ~ÐW[ÔWdÑeÔeÐer!   c                ó†  — | j                              dg¦  «        dk    rd S | j                             d¦  «        }|                     t
          j                             | j        | j	        j
        ¦  «        t
          j                             | j        | j	        j
        ¦  «        g¦  «         | xj        dg|z   z  c_        d S )Nz--has-extension=gi-extensionr   Úgi_c_source_rootsz--gi-c-source-roots)r(   Ú
run_hotdocr*   r)   rS   r8   r9   r:   r4   r,   Úroot_subdirr2   r;   ©rA   r   s     r   Úprocess_gi_c_source_rootsz-HotdocTargetBuilder.process_gi_c_source_roots§   s¨   € ØŒ;×!Ò!Ð#AÐ"BÑCÔCÀqÒHÐHØˆFà”—’Ð 3Ñ4Ô4ˆØ�ŠÝŒG�LŠL˜œ¨¬Ô)?Ñ@Ô@ÝŒG�LŠL˜œ¨¬
Ô(>Ñ?Ô?ð
ñ 	ô 	ð 	ð
 	ˆŒÐ*Ð+¨eÑ3Ñ3ˆŒˆˆr!   c                óž  ‡ — t          ¦   «         }t          j        t          |¦  «        ¦  «        D �]}t	          |t
          ¦  «        rÈ‰ j                             |j        ¦  «        }| 	                    ˆ fd„|D ¦   «         ¦  «         | 	                    ‰  
                    |j        ¦  «        ¦  «         | 	                    ‰  
                    |j        ¦  «        ¦  «         | 	                    ‰  
                    |j        ¦  «        ¦  «         Œàt	          |t          ¦  «        r)| 	                    |                     ¦   «         ¦  «         �Œt	          |t           j        t           j        f¦  «        rZ‰ j                             |¦  «         |                     ¦   «         D ])}| 	                    |                     ¦   «         ¦  «         Œ*�Œžt	          |t.          ¦  «        râ‰  
                    |                     ¦   «         ¦  «         ‰ j                             |j        ¦  «         ‰  
                    |j        ¦  «         ‰ j                             t<          j                              ‰ j!        |j"        j#        ¦  «        ¦  «         ‰ xj$        d„ |j%        D ¦   «         z  c_$        ‰  &                    |j'        ¦  «         �Œ•t	          |t           j(        t           j)        f¦  «        r‰ j                             |¦  «         �Œ×t	          |t           j*        ¦  «        r‰ j                             |j+        ¦  «         �Œd„ |D ¦   «         S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS rX   )ry   )rZ   ÚxrA   s     €r   r\   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>¸   s7   ø€ ð 2ð 2ð 2Ø#$ð  $×:Ò:¸1Ñ=Ô=ð 2ð 2ð 2r!   c                ó   — g | ]}d |z   ‘ŒS )z--extra-assets=rX   )rZ   Úps     r   r\   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>É   s   € ÐMÐMÐM°qÐ.°Ñ2ÐMÐMÐMr!   c                ó8   — g | ]}|                      d ¦  «        ‘ŒS )z-I)rF   )rZ   Úfs     r   r\   z<HotdocTargetBuilder.process_dependencies.<locals>.<listcomp>Ð   s"   € Ð.Ð.Ð. !�—’˜‘”Ð.Ð.Ð.r!   ),r<   r   Úlistifyr    r   r   r,   Úget_include_argsÚinclude_directoriesÚupdateÚprocess_dependenciesÚ	librariesÚsourcesÚext_depsr   Úget_compile_argsr   ÚStaticLibraryÚSharedLibraryr?   rP   Úget_include_dirsÚget_incdirsÚHotdocTargetÚget_target_dependenciesr@   rS   Úsubprojectsr/   rt   r8   r9   r:   r2   Úhotdoc_confr5   r;   r>   rv   Úextra_extension_pathsr`   rb   ra   Útarget)rA   ÚdepsÚcflagsÚdepÚinc_argsÚincds   `     r   r‹   z(HotdocTargetBuilder.process_dependencies³   së  ø€ Ý‘”ˆÝÔ#¥K°Ñ$5Ô$5Ñ6Ô6ð 	6ñ 	6ˆCÝ˜#Õ1Ñ2Ô2ð 6Øœ:×6Ò6°sÔ7NÑOÔO�Ø—’ð 2ð 2ð 2ð 2Ø(0ð2ñ 2ô 2ñ 3ô 3ð 3à—’˜d×7Ò7¸¼ÑFÔFÑGÔGÐGØ—’˜d×7Ò7¸¼ÑDÔDÑEÔEÐEØ—’˜d×7Ò7¸¼ÑEÔEÑFÔFÐFÐFÝ˜C¥Ñ,Ô,ð 6Ø—’˜c×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ñ5Ý˜C¥%Ô"5µuÔ7JÐ!KÑLÔLð 6ØÔ"×)Ò)¨#Ñ.Ô.Ð.Ø×0Ò0Ñ2Ô2ð 6ð 6�DØ—M’M $×"2Ò"2Ñ"4Ô"4Ñ5Ô5Ð5Ð5ñ6å˜C¥Ñ.Ô.ð 6à×)Ò)¨#×*EÒ*EÑ*GÔ*GÑHÔHÐHØÔ!×(Ò(¨¬Ñ9Ô9Ð9Ø×)Ò)¨#¬/Ñ:Ô:Ð:ØÔ"×&Ò&¥r¤w§|¢|°D´MÀ3Ä?ÔCYÑ'ZÔ'ZÑ[Ô[Ð[Ø�”ÐMÐM¸CÔ<LÐMÑMÔMÑM�”Ø×(Ò(¨Ô)BÑCÔCÐCÑCÝ˜C¥%Ô"4µeÔ6GÐ!HÑIÔIð 6ØÔ"×)Ò)¨#Ñ.Ô.Ð.Ñ.Ý˜C¥Ô!8Ñ9Ô9ð 6ØÔ"×)Ò)¨#¬*Ñ5Ô5Ð5ùà.Ð. vÐ.Ñ.Ô.Ð.r!   c                ó�   — | j                              d¦  «        | _        | j        D ]}| j                             d|g¦  «         Œd S )Nr>   z--extra-assets)r*   r)   Ú_extra_assetsr;   rS   )rA   Úassets_paths     r   Úprocess_extra_assetsz(HotdocTargetBuilder.process_extra_assetsÒ   sQ   € Ø!œ[Ÿ_š_¨^Ñ<Ô<ˆÔàÔ-ð 	=ð 	=ˆKØŒH�OŠOÐ-¨{Ð;Ñ<Ô<Ð<Ð<ð	=ð 	=r!   c                ó˜   — | j                              d¦  «        }|                      |¦  «         | j                             |¦  «         d S ©Nr–   )r*   r)   r‹   r@   rS   r~   s     r   Úprocess_subprojectsz'HotdocTargetBuilder.process_subprojectsØ   sF   € Ø”—’ Ñ.Ô.ˆà×!Ò! %Ñ(Ô(Ð(ØÔ× Ò  Ñ'Ô'Ð'Ð'Ð'r!   c           	     óJ  — g }t          j        | j        d¬¦  «        D �]}t          |t           j        ¦  «        rP|                     | j        j                             ¦   «         | j        j         	                    ¦   «         ¦  «        }�n�t          |t          j        ¦  «        r¯|                     ¦   «         D ]˜}|                     t          j                             | j        |                     ¦   «         |¦  «        ¦  «         |                     t          j                             | j        |                     ¦   «         |¦  «        ¦  «         Œ™�Œ6t          |t          j        t          j        f¦  «        r:| j                             |¦  «         | j        j                             |¦  «        }nXt          |t          j        ¦  «        r>| j                             |j        ¦  «         | j        j                             |¦  «        }|                     |¦  «         �Œ|S )NT)Úflatten)r   r‡   r;   r   r^   Úabsolute_pathr,   r0   r3   r1   r   r_   r“   rP   r8   r9   r:   r4   Ú
get_curdirr2   rb   r`   r?   r-   ÚbackendÚget_target_filename_absra   r™   )rA   r;   rd   Úinc_dirs       r   Úflatten_config_commandz*HotdocTargetBuilder.flatten_config_commandÞ   sÂ  € ØˆÝÔ# D¤H°dÐ;Ñ;Ô;ð 	ñ 	ˆCÝ˜#�xœ}Ñ-Ô-ð LØ×'Ò'¨¬
Ô(>×(MÒ(MÑ(OÔ(OØ(,¬
Ô(>×(LÒ(LÑ(NÔ(NñPô P�‘å˜C¥Ô!2Ñ3Ô3ð LØ"ŸšÑ0Ô0ð Wð W�GØ—J’J�rœwŸ|š|¨D¬N¸C¿NºNÑ<LÔ<LÈgÑVÔVÑWÔWÐWØ—J’J�rœwŸ|š|¨D¬M¸3¿>º>Ñ;KÔ;KÈWÑUÔUÑVÔVÐVÐVáÝ˜C¥%Ô"3µUÔ5GÐ!HÑIÔIð LØÔ"×)Ò)¨#Ñ.Ô.Ð.ØÔ&Ô.×FÒFÀsÑKÔK��Ý˜C¥Ô!8Ñ9Ô9ð LØÔ"×)Ò)¨#¬*Ñ5Ô5Ð5ØÔ&Ô.×FÒFÀsÑKÔK�à�JŠJ�s‰OŒOˆO‰Oàˆ
r!   c                ó¬  — t           j                             t           j        ¦  «        }t           j                             | j        | j        ¦  «        }t          j        dt          j	        | j
        ¦  «        ¦  «         t          j        |¦  «         | j                             |                      ¦   «         ¦  «         t          j        |¦  «         d S )Nz%Generating Hotdoc configuration for: )r8   r9   ÚabspathÚcurdirr:   r4   r5   r   ÚlogÚboldr+   Úchdirr(   r|   r­   )rA   ÚcwdÚncwds      r   Úgenerate_hotdoc_configz*HotdocTargetBuilder.generate_hotdoc_configõ   s�   € ÝŒg�oŠo�bœiÑ(Ô(ˆÝŒw�|Š|˜DœN¨D¬KÑ8Ô8ˆÝŒÐ8½$¼)ÀDÄIÑ:NÔ:NÑOÔOÐOÝ
Œ�‰ŒˆØŒ×Ò˜t×:Ò:Ñ<Ô<Ñ=Ô=Ð=Ý
Œ�‰Œˆˆˆr!   c                ó  — t          |t          ¦  «        r1g }|D ]*}|                     |                      |¦  «        ¦  «         Œ+|S t          |t          ¦  «        r+t
          j                             | j        | j	        |¦  «        S |S r   )
r   r   rP   Úensure_filerQ   r   r^   Úfrom_source_filer4   r5   )rA   r   ÚresÚvals       r   r¸   zHotdocTargetBuilder.ensure_fileý   s†   € Ý�e�TÑ"Ô"ð 	ØˆCØð 2ð 2�Ø—
’
˜4×+Ò+¨CÑ0Ô0Ñ1Ô1Ð1Ð1ØˆJå�e�SÑ!Ô!ð 	VÝ”=×1Ò1°$´.À$Ä+ÈuÑUÔUÐUàˆr!   c                ó�  — t           j                             |¦  «        r|}n+t           j                             | j        | j        |¦  «        }t           j                             |¦  «        st          d|› d�¦  «        ‚t           j                             |t           j                             | j	        | j        ¦  «        ¦  «        S )Nú"z" is not a directory.)
r8   r9   Úisabsr:   r4   r5   Úisdirr   Úrelpathr2   )rA   r   Ú_dirs      r   Ú
ensure_dirzHotdocTargetBuilder.ensure_dir	  s–   € ÝŒ7�=Š=˜ÑÔð 	DØˆDˆDå”7—<’< ¤°´¸UÑCÔCˆDåŒw�}Š}˜TÑ"Ô"ð 	DÝ"Ð#B tÐ#BÐ#BÐ#BÑCÔCÐCåŒw�Š˜t¥R¤W§\¢\°$´-ÀÄÑ%MÔ%MÑNÔNÐNr!   c                óH   — dD ]}|| j         v rt          d|› d�¦  «        ‚Œd S )N)Ú	conf_filez
Argument "z" is forbidden.)r*   r   )rA   rd   s     r   Úcheck_forbidden_argsz(HotdocTargetBuilder.check_forbidden_args  sK   € Ø ð 	Jð 	JˆCØ�d”kÐ!Ð!Ý&Ð'H°CÐ'HÐ'HÐ'HÑIÔIÐIð "ð	Jð 	Jr!   c                ó>
  ‡ — ‰                       ¦   «          ‰                      d‰ j        ¬¦  «         ‰                      d¦  «         ‰                      d‰ j        ¬¦  «         ‰                      d‰ j        ¬¦  «         ‰ j                             ˆ fd„‰ j                             d¦  «        D ¦   «         ¦  «         ‰                      dd	‰ j        ¬
¦  «         ‰  	                    ¦   «          ‰  
                    ¦   «          ‰                      ‰ j                             d¦  «        ¦  «         ‰                      ¦   «          ‰ j                             ‰ j                             d¦  «        ¦  «         ‰ j                             d¦  «        }‰                      ¦   «          ‰ j        dz   }|dz   }t"          j                             ‰ j        ‰ j        |¦  «        }t-          |dd¬¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   ‰ xj        d|gz  c_        ‰ j                             t"          j                             ‰ j        ‰ j        ¦  «        ¦  «         ‰ j                             t"          j                             ‰ j        ‰ j        ¦  «        ¦  «         t"          j                             ‰ j        ‰ j        ‰ j        dz   ¦  «        }‰ xj        d|gz  c_        ‰ j        D ]}‰ j                             d|g¦  «         Œ‰ j        j        j                             t?          j         d‰ j        j!        ¬¦  «        ¦  «        r‰ j         "                    d¦  «         ‰  #                    ¦   «          ‰ j$        ddgz   ‰ j%         &                    ¦   «         z   dd|gz   dt"          j                             ‰ j        ‰ j        ¦  «        gz   }tO          |‰ j        ‰ j        j!        ‰ j        j        t>          j(         )                    ‰ j        |¦  «        ‰ j*        ‰ j+        ‰ j,        |‰ j        |gg t"          j         -                    |¦  «        ‰ j.        ¬¦  «        }	d }
|r¡‰ j        j/         0                    ‰ j$        ddd t"          j                             |d!¦  «        d"‰ j        dt"          j                             ‰ j        ‰ j        ¦  «        gz   ‰ j%         &                    ¦   «         z   dd|gz   ¦  «        }
d#|
_1        |	|
fS )$Nz--index)rK   z--project-versionz	--sitemapz--html-extra-themec              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r   )rÂ   )rZ   re   rA   s     €r   ú	<genexpr>z3HotdocTargetBuilder.make_targets.<locals>.<genexpr>  s/   øè è € Ð!_Ð!_¸ $§/¢/°!Ñ"4Ô"4Ð!_Ð!_Ð!_Ð!_Ð!_Ð!_r!   r/   z--c-include-directoriesÚdependencies)rJ   rK   r˜   ÚdependsÚinstallr'   z.jsonÚwzutf-8)Úencodingz{}z--conf-filez.depsz--deps-file-destz--include-pathÚwerror)Ú
subprojectz--fatal-warningsz
--internalr(   Úrunz
--builddir)r5   rÏ   r0   r—   r˜   r>   r–   Úcommandr?   Úoutputsr�   Údepfiler%   z	--installÚhtmlz--nameÚdoc)2rÅ   rL   r¸   rÂ   r/   rŠ   r*   r)   r‹   r   r¢   rv   r¥   r?   rS   ri   r+   r8   r9   r:   r2   r5   ÚopenÚwriter;   rt   r4   r,   r0   ÚcoredataÚ
get_optionr   Ú	OptionKeyrÏ   rP   r¶   r7   r(   Úget_commandr”   r^   Úfrom_built_filer=   r    r@   Úbasenamer%   rª   Úget_executable_serialisationÚtag)rA   rË   ÚfullnameÚhotdoc_config_nameÚhotdoc_config_pathr†   rÓ   r9   Ú
target_cmdr™   Úinstall_scripts   `          r   Úmake_targetsz HotdocTargetBuilder.make_targets  sù  ø€ Ø×!Ò!Ñ#Ô#Ð#Ø×Ò˜y¸$Ô:JÐÑKÔKÐKØ×ÒÐ2Ñ3Ô3Ð3Ø×Ò˜{¸DÔ<LÐÑMÔMÐMØ×ÒÐ3ÀTÄ_ÐÑUÔUÐUØÔ×!Ò!Ð!_Ð!_Ð!_Ð!_¸d¼k¿oºoÈoÑ>^Ô>^Ð!_Ñ!_Ô!_Ñ_Ô_Ð_Ø×ÒÐ8À.ÐbfÔb{ÐÑ|Ô|Ð|Ø×&Ò&Ñ(Ô(Ð(Ø×!Ò!Ñ#Ô#Ð#Ø× Ò  ¤§¢Ð1HÑ!IÔ!IÑJÔJÐJØ× Ò Ñ"Ô"Ð"ØÔ×!Ò! $¤+§/¢/°)Ñ"<Ô"<Ñ=Ô=Ð=à”+—/’/ )Ñ,Ô,ˆØ×ÒÑ!Ô!Ð!à”9˜vÑ%ˆØ%¨Ñ/ÐÝœWŸ\š\ØŒM˜4œ;Ð(:ñ<ô <ÐåÐ$ c°GÐ<Ñ<Ô<ð 	ÀØ�GŠG�D‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ˆŒ�]Ð$6Ð7Ñ7ˆŒØÔ×Ò�rœwŸ|š|¨D¬M¸4¼;ÑGÔGÑHÔHÐHØÔ×Ò�rœwŸ|š|¨D¬N¸D¼KÑHÔHÑIÔIÐIå”'—,’,˜tœ}¨d¬k¸4¼9ÀwÑ;NÑOÔOˆØˆŒÐ'¨Ð1Ñ1ˆŒàÔ&ð 	6ð 	6ˆDØŒH�OŠOÐ-¨tÐ4Ñ5Ô5Ð5Ð5àŒ:Ô!Ô*×5Ò5µhÔ6HÈÐ^bÔ^hÔ^sÐ6tÑ6tÔ6tÑuÔuð 	0ØŒH�OŠOÐ.Ñ/Ô/Ð/Ø×#Ò#Ñ%Ô%Ð%àÔ'¨<¸Ð*BÑBØŒK×#Ò#Ñ%Ô%ñ&Ø).°Ð?QÐ(RñSà�2œ7Ÿ<š<¨¬°t´{ÑCÔCÐDñEˆ
õ ˜hØ%)¤[Ø)-¬Ô)>Ø*.¬*Ô*@Ý*2¬-×*GÒ*GØ"&¤+Ð/Añ+Cô +Cà48Ô4OØ+/Ô+=Ø*.Ô*;Ø&0Ø,0Ô,>Ø'/ jØ&(Ý&(¤g×&6Ò&6°wÑ&?Ô&?Ø/3Ô/DðFñ Fô Fˆð  ˆØð 	'Ø!œZÔ/×LÒLÈTÔM_Ø˜hØ�RœWŸ\š\¨(°FÑ;Ô;Ø˜$œ)Ø�bœgŸlšl¨4¬=¸$¼+ÑFÔFð	cHñ NHð
 ”×'Ò'Ñ)Ô)ñN*ð ˜Ð'9Ð:ñN;ñ <ô <ˆNð "'ˆNÔà˜Ð'Ð's   Ç/HÈHÈHrk   )NNFF)rY   Ú
__module__Ú__qualname__rB   rL   rH   r]   ri   rr   rv   ry   r   r‹   r¢   r¥   r­   r¶   r¸   rÂ   rÅ   rå   rX   r!   r   r#   r#   /   sH  € € € € € ðð ð ð,*ð *ð *ð *ð1ð 1ð 1ðB	@ð 	@ð 	@ð.ð .ð .ð GKØ.3ðð ð ð ð2>ð >ð >ðfð fð fð
4ð 
4ð 
4ð/ð /ð /ð>=ð =ð =ð(ð (ð (ðð ð ð.ð ð ð
ð 
ð 
ð	Oð 	Oð 	OðJð Jð Jð
E(ð E(ð E(ð E(ð E(r!   r#   c                  óD   ‡ — e Zd Zˆ fd„Zeed„ ¦   «         ¦   «         Zˆ xZS )ÚHotdocTargetHolderc                óŽ   •— t          ¦   «                              ||¦  «         | j                             d| j        i¦  «         d S )NÚconfig_path)ÚsuperrB   ÚmethodsrŠ   Úconfig_path_method)rA   r™   ÚinterpÚ	__class__s      €r   rB   zHotdocTargetHolder.__init__b  sA   ø€ Ý‰Œ×Ò˜ Ñ(Ô(Ð(ØŒ×Ò˜]¨DÔ,CÐDÑEÔEÐEÐEÐEr!   c                ó‚   — | j         j                             | j        j        j        | j        j        j        ¦  «        }|S r   )Úheld_objectr—   r¨   r-   r0   Ú
source_dirÚ	build_dir)rA   Úargsr*   r&   s       r   rî   z%HotdocTargetHolder.config_path_methodf  s=   € ð ÔÔ+×9Ò9¸$Ô:JÔ:VÔ:aØ:>Ô:JÔ:VÔ:`ñbô bˆàˆr!   )rY   ræ   rç   rB   r   r   rî   Ú__classcell__©rð   s   @r   ré   ré   a  sb   ø€ € € € € ðFð Fð Fð Fð Fð Øðð ñ „Xñ „Yðð ð ð ð r!   ré   c                  ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )r”   c	                ó‚   •—  t          ¦   «         j        ||||fi |	¤ddi¤Ž || _        || _        || _        || _        d S )NÚabsolute_pathsT)rì   rB   r—   r˜   r>   r–   )rA   r+   r5   rÏ   r—   r˜   r>   r–   r0   r*   rð   s             €r   rB   zHotdocTarget.__init__o  sZ   ø€ à�‰ŒÔ˜˜v z°;Ð^Ð^À&Ð^Ð^ÐY]Ð^Ð^Ð^Ð^Ø&ˆÔØ%:ˆÔ"Ø(ˆÔØ&ˆÔÐÐr!   c                óB   — | j                              ¦   «         }g |d<   |S r¤   )Ú__dict__Úcopy)rA   rº   s     r   Ú__getstate__zHotdocTarget.__getstate__w  s$   € àŒm× Ò Ñ"Ô"ˆØˆˆMÑàˆ
r!   )rY   ræ   rç   rB   rþ   rö   r÷   s   @r   r”   r”   n  sG   ø€ € € € € ð'ð 'ð 'ð 'ð 'ðð ð ð ð ð ð r!   r”   c                  óâ  ‡ — e Zd Z edd¦  «        Zˆ fd„Ze eded¬¦  «        d„ ¦   «         ¦   «         Z	 ede¦  «         e
d ed	ed
¬¦  «         eded
¬¦  «         eded
¬¦  «         edeef¦  «         ed eee¦  «        d
g ¬¦  «         ed eeeej        ej        ej        ej        f¦  «        d
g ¬¦  «         ed eeej        ej        f¦  «        d
g d¬¦  «         ed eee¦  «        d
g ¬¦  «         ed eee¦  «        d
g ¬¦  «         ed eee¦  «        d
g ¬¦  «         ed eee¦  «        d
g ¬¦  «         eded¬¦  «        d
¬¦  «        d„ ¦   «         ¦   «         Zˆ xZS )ÚHotDocModuler(   z0.48.0c                óÒ  •‡ — t          ¦   «                              |¦  «         t          d¦  «        ‰ _        ‰ j                             ¦   «         st          d¦  «        ‚‰ j                             |¦  «        }t          j        |dt          › �¦  «        st          dt          › d�¦  «        ‚ˆ fd„}|‰ j        _
        ‰ j                             ‰ j        ‰ j        dœ¦  «         d S )Nr(   zhotdoc executable not foundz>=zhotdoc z required but not found.)c                ó‚   •— t          j        ‰j                             ¦   «         | z   t           j        ¬¦  «        j        S )N)Ústdout)Ú
subprocessrÐ   r(   rÛ   ÚDEVNULLÚ
returncode)r;   rA   s    €r   r|   z)HotDocModule.__init__.<locals>.run_hotdocŒ  s1   ø€ Ý”> $¤+×"9Ò"9Ñ";Ô";¸cÑ"AÍ*ÔJ\Ð]Ñ]Ô]ÔhÐhr!   )Úhas_extensionsÚgenerate_doc)rì   rB   r   r(   Úfoundr   Úget_versionr   Úversion_compareÚMIN_HOTDOC_VERSIONr|   rí   rŠ   r  r  )rA   r-   Úversionr|   rð   s   `   €r   rB   zHotDocModule.__init__ƒ  s  øø€ Ý‰Œ×Ò˜Ñ%Ô%Ð%Ý% hÑ/Ô/ˆŒØŒ{× Ò Ñ"Ô"ð 	@Ý Ð!>Ñ?Ô?Ð?Ø”+×)Ò)¨+Ñ6Ô6ˆÝÔ'¨Ð1JÕ6HÐ1JÐ1JÑKÔKð 	ZÝ Ð!XÕ+=Ð!XÐ!XÐ!XÑYÔYÐYð	ið 	ið 	ið 	ið 	ið ",ˆŒÔØŒ×ÒØ"Ô1Ø Ô-ð
ð 
ñ 	ô 	ð 	ð 	ð 	r!   zhotdoc.has_extensionsr   )ÚvarargsÚmin_varargsc                ó^   — | j                              d„ |d         D ¦   «         ¦  «        dk    S )Nc                ó   — g | ]}d |› �‘ŒS )z--has-extension=rX   )rZ   Ú	extensions     r   r\   z/HotDocModule.has_extensions.<locals>.<listcomp>˜  s!   € Ð&_Ð&_Ð&_È)Ð'E¸)Ð'EÐ'EÐ&_Ð&_Ð&_r!   r   )r(   r|   )rA   r,   rõ   r*   s       r   r  zHotDocModule.has_extensions•  s6   € ð Œ{×%Ò%Ð&_Ð&_ÐW[Ð\]ÔW^Ð&_Ñ&_Ô&_Ñ`Ô`ÐdeÒeÐer!   zhotdoc.generate_docÚsitemapT)ÚrequiredÚindexÚproject_versionÚhtml_extra_themer/   )r‡   rn   rÉ   rÊ   ú0.64.1)r‡   rn   Úsincer{   r>   r˜   r–   rË   F)rn   )Úallow_unknownc                ó\  — |d         }t          d„ |d         D ¦   «         ¦  «        r"t          j        dd|j        d|j        ¦  «         t          ||| j        | j        |¦  «        }|                     ¦   «         \  }}|g}|r| 	                    |¦  «         t          |d         |¦  «        S )Nr   c              3  ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S r   )r   r   r`   ra   )rZ   r‚   s     r   rÈ   z,HotDocModule.generate_doc.<locals>.<genexpr>º  s8   è è € ÐlÐlÐPQ�z˜!�eÔ0µ%Ô2IÐJÑKÔKÐlÐlÐlÐlÐlÐlr!   rÉ   z<hotdoc.generate_doc dependencies argument with custom_targetr  zuse `depends`)Úanyr   Ú
single_userÏ   Úcurrent_noder#   r(   r-   rå   rP   r	   )	rA   r,   rõ   r*   Úproject_nameÚbuilderr™   rä   Útargetss	            r   r  zHotDocModule.generate_docš  sÅ   € ð> ˜A”wˆÝÐlÐlÐU[Ð\jÔUkÐlÑlÔlÑlÔlð 	jÝÔ(Ð)gØ)1°5Ô3CÀ_ÐV[ÔVhñjô jð jå% l°E¸4¼;ÈÔHXÐZ`ÑaÔaˆØ!(×!5Ò!5Ñ!7Ô!7Ñˆ�Ø�(ˆØð 	+Ø�NŠN˜>Ñ*Ô*Ð*å  ¨¤¨WÑ5Ô5Ð5r!   )rY   ræ   rç   r
   ÚINFOrB   r   r   rQ   r  r   r   Ú
file_typesr   r   r   r   r   r�   r‘   r`   ra   r”   rO   r  rö   r÷   s   @r   r   r     s�  ø€ € € € € àˆ:�h Ñ)Ô)€Dðð ð ð ð ð$ Ø€^Ð+°SÀaÐHÑHÔHðfð fñ IÔHñ „Xðfð €^Ð)¨3Ñ/Ô/Ø€\ØØˆ	�)˜Z°$Ð7Ñ7Ô7Øˆ	�'˜:°Ð5Ñ5Ô5Øˆ	Ð# S°4Ð8Ñ8Ô8Øˆ	Ð$ s¨H oÑ6Ô6Øˆ	�/Ð#4Ð#4°T¸3Ñ#?Ô#?ÈÐWYÐZÑZÔZàˆ	ØØÐ˜d Z°Ô1DÀeÔFYØ%*Ô%7¸Ô9Pð%Rñ Sô SàØð	
ñ 	
ô 	
ð 	ˆ	ØØÐ˜d UÔ%7¸Ô9PÐ$QÑRÔRØØØð	
ñ 	
ô 	
ð 	ˆ	Ð%Ð'8Ð'8¸¸sÑ'CÔ'CÈTÐ[]Ð^Ñ^Ô^Øˆ	�.Ð"3Ð"3°D¸#Ñ">Ô">ÈÐVXÐYÑYÔYØˆ	Ð)Ð+<Ð+<¸TÀ3Ñ+GÔ+GÐQUÐ_aÐbÑbÔbØˆ	�-Ð!2Ð!2°4¸Ñ!FÔ!FÐPTÐ^`ÐaÑaÔaØˆ	�)˜T¨5Ð1Ñ1Ô1Øð7ñ ô ð:6ð 6ñ;ô ñ 0Ô/ð<6ð 6ð 6ð 6ð 6r!   r   c                ón   — t          | ¦  «        }|j                             t          t          ¦  «         |S r   )r   r-   Úappend_holder_mapr”   ré   )r-   Úmods     r   Ú
initializer(  Æ  s-   € Ý
�{Ñ
#Ô
#€CØ„O×%Ò%¥lÕ4FÑGÔGÐGØ€Jr!   ),Ú
__future__r   r8   r  Ú
mesonbuildr   r   r   Úmesonbuild.coredatar   Ú r	   r
   r   rÉ   r   r   Úinterpreterbaser   r   r   r   r   r   r   r   r-   r   Úinterpreter.type_checkingr   Úprogramsr   r    r  rQ   r^   r`   ra   r$  r#   ré   r”   r   r(  rX   r!   r   ú<module>r0     sM  ðð #Ð "Ð "Ð "Ð "Ð "à Uà 	€	€	€	Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø .Ð .Ð .Ð .Ð .Ð .Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð Ð à�8”= %Ô"4°eÔ6MÐN€
ðo(ð o(ð o(ð o(ð o(ñ o(ô o(ð o(ðd	
ð 
ð 
ð 
ð 
Ð+ñ 
ô 
ð 
ðð ð ð ð �5Ô%ñ ô ð ð"D6ð D6ð D6ð D6ð D6�?ñ D6ô D6ð D6ðNð ð ð ð r!   