Ë Ö rñ†Ö)ã óú—dZddlmZddlZddlZ eiZiZ iZ iZ Gd„de «Z d„Zd„ZGd„d e «ZGd „d e«ZGd „d e«ZGd„de«ZGd„de«ZGd„de«Ze«Ze«Ze«Ze«Ze«Ze«Ze«Ze«Zegd¢«Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&dZ'ejPddjSe'«z«Z*ejPd «Z+ejXfd!„Z-d"„Z.d#„Z/ejXfd$„Z0ejXfd%„Z1ejXfd&„Z2d'„Z3e d(d)«Z4e d*d+«Z5e d,d-«Z6e d.d/«Z7e d0d1«Z8e d2d3«Z9e d4d4«Z:ee4«ee5«ee6«ee7«ee8«ee9«ee:«ie d5<ie d6<ie d7<ee4d8e«ee4d9e«ee4d:e«ee4d;e«ee4de«ee4d?e«ee4d@e«ee4dAe«ee4dBe«ee4dCe«ee4dDe«ee4dEe«ee4dFe«ee4dGe«ee4dHe«ee4dIe«ee4dJe«ee4dKe«ee4dLe«ee4dMe«ee4dNe«ee4dOe«ee4dPe«ee4dQe«ee4dRe«ee4dSe«ee4dTe«ee4dUe«ee4dVe«ee4dWe«ee4dXe«ee4dYe«ee4dZegd[¢««ee4d\egd]¢««ee4d^egd_¢««ee4d`egda¢««ee4dbegdc¢««ee4ddegde¢««ee4dfegdg¢««ee4dhegdi¢djg¬k««ee4dlegdm¢dng¬k««ee4doegdp¢««ee4dqegdr¢««ee4dsegdt¢dug¬k««ee4dvegdw¢««ee4dxegdy¢««ee4dzegd{¢««ee4d|egd}¢d~g¬k««e e4dd€e«e e4d�d‚e«e e4dƒd„e«e e4d…d†e«e e4d‡dˆe«e e4d‰dŠe«e e4dŠd‹e«e e4dŒd�egdŽ¢««e e4d�d�e«e%e4d‘d’«e#e4d“e«e#e4d”e«e$e4d•e«e$e4d–egd—d˜g¬k««e$e4d™e«e$e4dše«e$e4d›e«e$e4dœe«e$e4d�e«e$e4dže«e$e4dŸe«e&e4d «ee5d¡e«ee5d¢e«ee5d£e«ee5d9e«ee5d¤e«ee5d¥e«ee5d¦e«ee5d§e«ee5d¨e«ee5d©e«ee5dªe«ee5d«e«ee5d¬e«ee5d­e«ee5d®e«ee5d¯e«ee5d°e«ee5d±e«ee5d²e«ee5d³e«ee5d´e«ee5dµe«ee5d¶e«ee5d·e«ee5d¸e«ee5d¹e«ee5dºe«ee5d»e«ee5d¼e«ee5d½e«ee5d¾e«ee5d¿e«ee5dÀe«ee5dÁe«ee5dÂe«ee5dÃe«ee5dÄe«ee5dÅe«ee5dÆe«ee5dÇe«ee5dÈe«ee5dÉe«ee5dÊe«ee5dRe«ee5dËe«ee5dÌe«ee5dÍe«ee5dÎe«ee5dÏe«ee5dÐe«ee5dÑe«ee5dÒe«ee5dÓe«ee5dÔe«ee5dÕe«ee5dÖe«egd×¢dØg¬k«Z;egdÙ¢«Z<ee5dÚegdÛ¢««ee5dÜegdÝ¢««ee5dÞegdߢ««ee5dàegd¢««ee5dáegd⢫«ee5dãegd䢫«ee5dåegdæ¢gd碬k««ee5dèe;«ee5dée<«ee5dêegd뢫«ee5dìe«ee5díe«e e5dhdîegdï¢dðg¬k««e e5dñdòe«e e5dódôe«e e5dõdöe«e!e5d÷d5e«e!e5død5e«e!e5dùd5e«e!e5dúd6e«e!e5dûd6e«e#e5düe«e#e5d”e«e$e5d•e«e$e5dýe«e$e5dþe«e$e5dÿe«e$e5�de«e$e5�de«e$e5d�e«e$e5�de«e$e5�de«e$e5�de«e$e5�degg�d¢¬k««e$e5�degg�d¢¬k««e$e5�d egg�d ¢¬k««ee7d9e«ee7d8e«ee7�d e�d �¬ ««ee7dHe«ee7dLe«ee7�de«ee7dåe«ee7dRe«ee7dUe«e$e7�de«e$e7d�e«ee6d8e«ee6d9e«ee6�de«ee6�de«ee6�de«ee6�de«ee6�de«ee6�de«ee6�de«ee6�de«ee6�de«ee6dHe«ee6�de«ee6�de«ee6�de«ee6dLe«ee6�de«ee6�de«ee6dRe«ee6�de«ee6dUe«ee6d�e«ee6�deg�d ¢««ee6�d!eg�d"¢««ee6�d#eg�d$¢««ee6dzeg�d%¢««ee6d|eg�d&¢««e e6�d'�d(e«e e6�d)�d*e«e$e6�d+e«e$e6�d,e«e$e6�d-eg�d.�d/g¬k««e$e6�d0eg�d.�d/g¬k««e$e6�d1e«e$e6�d2e«e$e6�d3e«e$e6d�e«e$e6�d4eg�d5�d6g¬k««ee8d¡e«ee8d¢e«ee8d9e«ee8�d7e«ee8d®e«ee8d´e«ee8dòe«ee8d¿e«ee8dÀe«ee8dRe«ee8d”e«ee8dãe«ee8dée<«e!e8dúd6e«e$e8�d8e«e$e8dhegg�d9¢¬k««e$e8dìe«e$e8�d:e«e$e8�d;e«e$e8dèe;«e$e8d�e«e$e8�de«ee9d9e«ee9�d?e«ee9�d@e«ee9�dAe«ee9�dBe«ee9�dCe«ee9�dDe«ee9�dEe«ee9dRe«ee9dÍe«ee9�dFe«ee9�dGe«ee9�dHe«e"e9�dId7�de«e!e9�dJd5e«e#e9�dKe«e#e9�dLe«e#e9d”e«e$e9�dMe«e$e9�dNe«e$e9�dOe«e$e9�dPe«e$e9�dQe«e$e9d�e«ee:�dRe«y#e$reZY� ŒåwxYw(Sa9Code to validate and convert settings of the Microsoft build tools. This file contains code to validate and convert settings of the Microsoft build tools. The function ConvertToMSBuildSettings(), ValidateMSVSSettings(), and ValidateMSBuildSettings() are the entry points. This file was created by comparing the projects created by Visual Studio 2008 and Visual Studio 2010 for all available settings through the user interface. The MSBuild schemas were also considered. They are typically found in the MSBuild install directory, e.g. c:\Program Files (x86)\MSBuild é)Úprint_functionNcó—eZdZdZd„Zy)Ú_Toolz Represents a tool used by MSVS or MSBuild. Attributes: msvs_name: The name of the tool in MSVS. msbuild_name: The name of the tool in MSBuild. có —||_||_y©N)Ú msvs_nameÚ msbuild_name)Úselfrr s ú5/usr/lib/python3.12/site-packages/gyp/MSVSSettings.pyÚ__init__z_Tool.__init__3s€Ø€D„NØ$€DÕóN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r ©r r rr+s „ñó%r rcó°—it|j<it|j<it|j<|jt |j<y)z·Adds a tool to the four dictionaries used to process settings. This only defines the tool. Each setting also needs to be added. Args: tool: The _Tool object to be added. N)Ú_msvs_validatorsrÚ_msbuild_validatorsr Ú_msvs_to_msbuild_convertersÚ_msbuild_name_of_tool)Útools r Ú_AddToolr8sH€ð&(Ô�4—>‘>Ñ"Ø+-Ô�d×'Ñ'Ñ(Ø02Ô˜dŸn™nÑ-Ø*.×*;Ñ*;Ô˜Ÿ™Ò'r có:—|j|ji«S)z:Returns an MSBuild tool dictionary. Creates it if needed.©Ú setdefaultr )Úmsbuild_settingsrs r Ú_GetMSBuildToolSettingsrFs€à × $Ñ $ T×%6Ñ%6¸Ó ;Ð;r có"—eZdZdZd„Zd„Zd„Zy)Ú_TypezType of settings (Base class).có—y)z§Verifies that the value is legal for MSVS. Args: value: the value to check for this type. Raises: ValueError if value is not valid for MSVS. Nr©r Úvalues r Ú ValidateMSVSz_Type.ValidateMSVSNó�r có—y)z­Verifies that the value is legal for MSBuild. Args: value: the value to check for this type. Raises: ValueError if value is not valid for MSBuild. Nrr"s r ÚValidateMSBuildz_Type.ValidateMSBuildXr%r có—|S)zÐReturns the MSBuild equivalent of the MSVS value given. Args: value: the MSVS value to convert. Returns: the MSBuild equivalent. Raises: ValueError if value is not valid. rr"s r ÚConvertToMSBuildz_Type.ConvertToMSBuildbs €ð €Lr N©rrrrr$r'r)rr r r r Ks„Ù&òòó r r có"—eZdZdZd„Zd„Zd„Zy)Ú_StringzA setting that's just a string.có@—t|t«std|z«‚y©Nzexpected string; got %r©Ú isinstanceÚ basestringÚ ValueErrorr"s r r$z_String.ValidateMSVStó"€Ü �eœZÔ (Ü Ð0°5Ñ8Ó 9Ð9ð )r có@—t|t«std|z«‚yr.r/r"s r r'z_String.ValidateMSBuildxr3r có—t|«Sr)ÚConvertVCMacrosToMSBuildr"s r r)z_String.ConvertToMSBuild|s €ä # EÓ *Ð*r Nr*rr r r,r,qs„Ù'ò:ò:ó+r r,có"—eZdZdZd„Zd„Zd„Zy)Ú _StringListz$A settings that's a list of strings.cób—t|t«st|t«std|z«‚yy©Nzexpected string list; got %r©r0r1Úlistr2r"s r r$z_StringList.ValidateMSVS„ó/€Ü �eœZÔ (´¸EÄ4Ô1HÜ Ð5¸Ñ=Ó >Ð>ð2IÐ (r cób—t|t«st|t«std|z«‚yyr:r;r"s r r'z_StringList.ValidateMSBuildˆr=r cót—t|t«r|D�cgc] }t|«‘Œc}St|«Scc}wr)r0r<r6)r r#Úis r r)z_StringList.ConvertToMSBuildŒs7€ä�%œÔÙ38Ó 9±5¨aÔ& qÕ)°5Ñ 9Ð9ä % eÓ ,Ð,ùò:s•5Nr*rr r r8r8�s„Ù,ò?ò?ó-r r8có(—eZdZdZd„Zd„Zd„Zd„Zy)Ú_Booleanz8Boolean settings, can have the values 'false' or 'true'.có6—|dk7r|dk7rtd|z«‚yy)NÚtrueÚfalsezexpected bool; got %r)r2r"s r Ú _Validatez_Boolean._Validate—s(€Ø �‚˜5 GÒ+Ü Ð.°Ñ6Ó 7Ð7ð,€r có&—|j|«yr©rFr"s r r$z_Boolean.ValidateMSVS›ó€Ø‡N�N�5Õr có&—|j|«yrrHr"s r r'z_Boolean.ValidateMSBuildžrIr có(—|j|«|SrrHr"s r r)z_Boolean.ConvertToMSBuild¡s€Ø‡N�N�5ÔØ €Lr N)rrrrrFr$r'r)rr r rBrB”s„Ù@ò8òòór rBcó*—eZdZdZdd„Zd„Zd„Zd„Zy)Ú_IntegerzInteger settings.có<—tj|«||_yr)r r Ú _msbuild_base)r Ú msbuild_bases r r z_Integer.__init__©s€Ü ‡N�N�4ÔØ%€DÕr có&—|j|«yr©r)r"s r r$z_Integer.ValidateMSVS­ó€à×ј%Õ r có0—t||j«yr)ÚintrOr"s r r'z_Integer.ValidateMSBuild±s€äˆˆt×!Ñ!Õ"r cóL—|jdk(xrdxsd}|t|«zS)Né z%dz0x%04x)rOrU)r r#Úmsbuild_formats r r)z_Integer.ConvertToMSBuildµs+€Ø×(Ñ(¨BÑ.Ò8°DÒD¸H€NØ œC ›JÑ &Ð&r N)rW©rrrrr r$r'r)rr r rMrM¦s„Ùó&ò!ò#ó'r rMcó*—eZdZdZdd„Zd„Zd„Zd„Zy)Ú _EnumerationaÅType of settings that is an enumeration. In MSVS, the values are indexes like '0', '1', and '2'. MSBuild uses text labels that are more representative, like 'Win32'. Constructor args: label_list: an array of MSBuild labels that correspond to the MSVS index. In the rare cases where MSVS has skipped an index value, None is used in the array to indicate the unused spot. new: an array of labels that are new to MSBuild. Ncó¦—tj|«||_td„|D««|_|�|jj |«yy)Nc3ó$K—|]}|�|–—Œ y­wrr)Ú.0r#s r Ú z(_Enumeration.__init__..Êsèø€ð5±*¨Ø"'Ð"3ô %±*ùs‚)r r Ú _label_listÚsetÚ_msbuild_valuesÚupdate)r Ú label_listÚnews r r z_Enumeration.__init__ÇsM€Ü ‡N�N�4ÔØ!€DÔÜñ5±*ó5ó5€DÔà €Ø ×Ñ×!Ñ! #Õ&ðr có&—|j|«yrrRr"s r r$z_Enumeration.ValidateMSVSÏrSr có<—||jvrtd|z«‚y)Nz unrecognized enumerated value %s)rbr2r"s r r'z_Enumeration.ValidateMSBuildÓs&€Ø �D×(Ñ(Ñ(Ü Ð9¸EÑAÓ BÐBð)r cóÚ—t|«}|dks|t|j«k\r#td|t|j«fz«‚|j|}|€td|z«‚|S)Nrz.index value (%d) not in expected range [0, %d)z%converted value for %s not specified.)rUÚlenr`r2)r r#ÚindexÚlabels r r)z_Enumeration.ConvertToMSBuild×sw€Ü �‹J€EØ ˆq‚y�EœS ×!1Ñ!1Ó2Ò2Ü ÐGØœs 4×#3Ñ#3Ó4Ð5ñ6ó 7ð7à × Ñ ˜UÑ #€EØ €}Ü Ð>ÀÑFÓ GÐGØ €Lr rrYrr r r[r[ºs„ñ ó'ò!òCór r[)ÚrErDcó —t||||«y)zæDefines a setting that has the same name in MSVS and MSBuild. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. name: the name of the setting. setting_type: the type of this setting. N)Ú_Renamed)rÚnameÚ setting_types r Ú_Samerqñs€ô ˆ4��t˜\Õ*r có懇—ˆˆˆfd„}‰jt‰j|<‰jt‰j ‰<|t ‰j|<y)aDefines a setting for which the name has changed. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. msvs_name: the name of the MSVS setting. msbuild_name: the name of the MSBuild setting. setting_type: the type of this setting. cóF•—t|‰«}‰j|«|‰<yr)rr))r#rÚmsbuild_tool_settingsr rprs €€€r Ú _Translatez_Renamed.._Translates'ø€Ü3Ð4DÀdÓKÐØ*6×*GÑ*GÈÓ*NИ,Ò'r N)r$rrr'rr r)rrr rprus` `` r rnrnüsWú€öOð1=×0IÑ0IÔ�4—>‘>Ñ" 9Ñ-à×"Ñ"ô�d×'Ñ'Ñ(¨Ñ6à;EÔ˜dŸn™nÑ-¨iÒ8r có"—t|||||«yr)Ú_MovedAndRenamed)rÚ settings_nameÚmsbuild_tool_namerps r Ú_Movedrzs€Ü�4˜Ð(9¸=Øõ!r c󴇇‡—ˆˆˆfd„}‰jt|j|<‰j}|t‰‰<|t |j|<y)aDefines a setting that may have moved to a new section. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. msvs_settings_name: the MSVS name of the setting. msbuild_tool_name: the name of the MSBuild tool to place the setting under. msbuild_settings_name: the MSBuild name of the setting. setting_type: the type of this setting. cóR•—|j‰i«}‰j|«|‰<yr)rr))r#rÚ tool_settingsÚmsbuild_settings_nameryrps €€€r ruz$_MovedAndRenamed.._Translate!s,ø€Ø$×/Ñ/Ð0AÀ2ÓF€MØ+7×+HÑ+HÈÓ+O€MÐ'Ò(r N)r$rrr'rr)rÚmsvs_settings_nameryr~rpruÚ validators ``` r rwrwsZú€öPð ×Ñô�4—>‘>Ñ"Ð#5Ñ6à×*Ñ*€)ØBKÔÐ'Ñ(Ð)>Ñ?ØDNÔ˜dŸn™nÑ-Ð.@ÒAr cóv—d„}|jt|j|<|t|j|<y)zÖDefines a setting that is only found in MSVS. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. name: the name of the setting. setting_type: the type of this setting. có—yrr)Ú unused_valueÚunused_msbuild_settingss r ruz_MSVSOnly.._Translate5s€àr N)r$rrr©rrorprus r Ú _MSVSOnlyr†,s7€ò ð,8×+DÑ+DÔ�4—>‘>Ñ" 4Ñ(Ø6@Ô˜dŸn™nÑ-¨dÒ3r c󀇇—ˆˆfd„}|jt‰j‰<|t‰j‰<y)zÙDefines a setting that is only found in MSBuild. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. name: the name of the setting. setting_type: the type of this setting. cóH•—|j‰ji«}||‰<yrr)r#rr}rors €€r ruz _MSBuildOnly.._TranslateFs%ø€à$×/Ñ/°×0AÑ0AÀ2ÓF€MØ€M�$Òr N)r'rr rrr…s`` r Ú _MSBuildOnlyr‰=s:ù€õ ð 2>×1MÑ1MÔ�d×'Ñ'Ñ(¨Ñ.Ø6@Ô˜dŸn™nÑ-¨dÒ3r c󈇇—ˆˆfd„}tjt‰j|<|t‰j|<y)a+Defines a setting that's handled via a command line option in MSBuild. Args: tool: a dictionary that gives the names of the tool for MSVS and MSBuild. msvs_name: the name of the MSVS setting that if 'true' becomes a flag flag: the flag to insert at the end of the AdditionalOptions cóV•—|dk(r#t|‰«}d|vr |d›d‰›�}n‰}||d<yy)NrDÚAdditionalOptionsÚ )r)r#rr}Ú new_flagsÚflagrs €€r ruz0_ConvertedToAdditionalOption.._TranslateXsDø€Ø �‚Ü-Ð.>ÀÓE€mØ   Ñ -Ø,Ð-@ÓAÁ4ÐH‰ àˆ Ø+4€mÐ'Ò(ð r N)Ú_booleanr$rrr)rrr�rus` ` r Ú_ConvertedToAdditionalOptionr‘Os8ù€õ5ô19×0EÑ0EÔ�4—>‘>Ñ" 9Ñ-Ø;EÔ˜dŸn™nÑ-¨iÒ8r cóð‡—ˆfd„}tgd¢«j}|t‰j|<tj }t ‰j}||d<||d<|t‰j|<y)Nc󘕗t|‰«}|dk(r d|d<d|d<y|dk(r d|d<d|d<y|dk(r d|d<d|d<ytd|z«‚) NÚ0rEÚPreprocessToFileÚPreprocessSuppressLineNumbersÚ1rDÚ2z&value must be one of [0, 1, 2]; got %s)rr2)r#rr}rs €r ruz3_CustomGeneratePreprocessedFile.._Translateesxø€Ü+Ð,<¸dÓC€MØ �‚|Ø*1€mÐ&Ñ'Ø7>€mÐ3Ò4Ø �#ŠØ*0€mÐ&Ñ'Ø7>€mÐ3Ò4Ø �#ŠØ*0€mÐ&Ñ'Ø7=€mÐ3Ò4ä Ð?À%ÑGÓ HÐHr )ÚaÚbÚcr•r–) r[r$rrr�r'rr r)rrruÚmsvs_validatorÚmsbuild_validatorÚmsbuild_tool_validatorss` r Ú_CustomGeneratePreprocessedFilerŸdsxø€ô Iô ¢Ó0×=Ñ=€.Ø0>Ô�4—>‘>Ñ" 9Ñ-Ü×.Ñ.ÐÜ/°×0AÑ0AÑBÐØ0AÐÐ,Ñ-Ø=NÐÐ9Ñ:Ø;EÔ˜dŸn™nÑ-¨iÒ8r )ÚIntDirÚOutDirz(\$\((?:%s)\))(?:[\\/]+)Ú|z^(.*)_excluded$cóŠ—d}tjt|«}|r|jd«}||v}|rt ||¬«yy)a§Verify that 'setting' is valid if it is generated from an exclusion list. If the setting appears to be generated from an exclusion list, the root name is checked. Args: setting: A string that is the setting name to validate settings: A dictionary where the keys are valid settings error_msg: The message to emit in the event of error stderr: The stream receiving the error messages. Té©ÚfileN)ÚreÚmatchÚ_EXCLUDED_SUFFIX_REÚgroupÚprint)ÚsettingÚsettingsÚ error_msgÚstderrÚ unrecognizedÚmÚ root_settings r Ú_ValidateExclusionSettingr³…sF€ð€,܇h�hÔ" GÓ,€!ÙØ—7‘7˜1“:€LØ xÐ/€Láä ˆ)˜&Ö!ðr có:—d|vrtjd|«}|S)aReplace macros which have excessive following slashes. These macros are known to have a built-in trailing slash. Furthermore, many scripts hiccup on processing paths with extra slashes in the middle. This list is probably not exhaustive. Add as needed. Ú$z\1)Úfix_vc_macro_slashes_regexÚsub)Úss r ÚFixVCMacroSlashesr¹žs"€ð ˆA�XÜ"×&Ñ& u¨aÓ0€AØ €(r c ó�—d|vrAdddddddd dd œ }|j«D]\}}|j||«}Œt|«}|S) z†Convert the the MSVS macros found in the string to the MSBuild equivalent. This list is probably not exhaustive. Add as needed. rµz$(Configuration)z%(RelativeDir)z %(Extension)z%(Filename)%(Extension)z %(Filename)z %(Identity)z$(ProjectFileName)z $(Platform)) z$(ConfigurationName)z $(InputDir)z $(InputExt)z$(InputFileName)z $(InputName)z $(InputPath)z $(ParentName)z$(PlatformName)z$(SafeInputName))ÚitemsÚreplacer¹)r¸Ú replace_mapÚoldres r r6r6«se€ð  ˆA�Xà 2Ø'Ø%Ø5Ø%Ø%Ø-Ø(Ø)ñ €Kð ×%Ñ%Ö'‰ˆˆSØ �)‰)�C˜Ó �að(ä˜!Ó€AØ €(r c óT—i}|j«D]f\}}|tvrIt|}|j«D],\}}||vr ||||«Œt ||d|›d|›d�|«Œ.ŒWtd|z|¬«Œh|S#t$r }td|›d|›d|›�|¬«Yd}~Œhd}~wwxYw) aùConverts MSVS settings (VS2008 and earlier) to MSBuild settings (VS2010+). Args: msvs_settings: A dictionary. The key is the tool name. The values are themselves dictionaries of settings and their values. stderr: The stream receiving the error messages. Returns: A dictionary of MSBuild settings. The key is either the MSBuild tool name or the empty string (for the global settings). The values are themselves dictionaries of settings and their values. zWarning: while converting Ú/z to MSBuild, r¥NúWarning: unrecognized setting z while converting to MSBuild.z:Warning: unrecognized tool %s while converting to MSBuild.)r»rr2r«r³) Ú msvs_settingsr¯rÚmsvs_tool_nameÚmsvs_tool_settingsÚ msvs_toolÚ msvs_settingÚ msvs_valueÚes r ÚConvertToMSBuildSettingsrÉÂsâ€ðÐØ,9×,?Ñ,?Ö,AÑ(€nÐ(ØÔ4Ñ4Ü-¨nÑ=€iØ&8×&>Ñ&>Ö&@Ñ "ˆ,˜ Ø ˜9Ñ $ð +Ø #ˆI�lÑ # JÐ0@Õ Aô $ LÙ$-ò'5²lð&Dð%+õ  ,ñ'Aô" ð#Ø%3ñ4Ø;AöCð)-Bð, Ðøôò +Ý Ú&4²lÁAðGà#)÷ +ò +ûð +úsÁ A>Á> B'ÂB"Â"B'có&—tt||«y)aValidates that the names of the settings are valid for MSVS. Args: settings: A dictionary. The key is the tool name. The values are themselves dictionaries of settings and their values. stderr: The stream receiving the error messages. N)Ú_ValidateSettingsr©r­r¯s r ÚValidateMSVSSettingsrÍés€ôÔ$ h°Õ7r có&—tt||«y)a Validates that the names of the settings are valid for MSBuild. Args: settings: A dictionary. The key is the tool name. The values are themselves dictionaries of settings and their values. stderr: The stream receiving the error messages. N)rËrrÌs r ÚValidateMSBuildSettingsrÏôs€ôÔ'¨°6Õ:r c ó—|D]\}||vrF||}||j«D]*\}}||vr |||«Œt||d|›d|›�|«Œ,ŒMtd|z|¬«Œ^y#t$r }td|›d|›d|›�|¬«Yd}~Œed}~wwxYw)a�Validates that the settings are valid for MSBuild or MSVS. We currently only validate the names of the settings, not their values. Args: validators: A dictionary of tools and their validators. settings: A dictionary. The key is the tool name. The values are themselves dictionaries of settings and their values. stderr: The stream receiving the error messages. z Warning: for rÀz, r¥NrÁzWarning: unrecognized tool %s)r»r2r«r³)Ú validatorsr­r¯Ú tool_nameÚtool_validatorsr¬r#rÈs r rËrËÿs¹€ó€iØ�JÑØ" 9Ñ-€oØ$ YÑ/×5Ñ5Ö7‰.ˆ'�5Ø �oÑ %ð EØ $ˆO˜GÑ $ UÕ +ô $ GÙ$3â&/±ð&:à$*õ  ,ñ8ô Ð ,¨yÑ 8ÀÖGñ%øôò EÝ Ú(ª'±1ð6Ø=C÷ Eò Eûð Eús­ A#Á# B Á,BÂB ÚVCCLCompilerToolÚ ClCompileÚ VCLinkerToolÚLinkÚ VCMIDLToolÚMidlÚVCResourceCompilerToolÚResourceCompileÚVCLibrarianToolÚLibÚVCManifestToolÚManifestÚMASMrlÚProjectReferenceÚManifestResourceCompileÚAdditionalIncludeDirectoriesrŒÚAdditionalUsingDirectoriesÚAssemblerListingLocationÚBrowseInformationFileÚBufferSecurityCheckÚDisableLanguageExtensionsÚDisableSpecificWarningsÚEnableFiberSafeOptimizationsÚ EnablePREfastÚExpandAttributedSourceÚFloatingPointExceptionsÚForceConformanceInForLoopScopeÚForcedIncludeFilesÚForcedUsingFilesÚGenerateXMLDocumentationFilesÚIgnoreStandardIncludePathÚMinimalRebuildÚOmitDefaultLibNameÚOmitFramePointersÚPreprocessorDefinitionsÚProgramDataBaseFileNameÚRuntimeTypeInfoÚ ShowIncludesÚSmallerTypeCheckÚ StringPoolingÚSuppressStartupBannerÚTreatWChar_tAsBuiltInTypeÚ"UndefineAllPreprocessorDefinitionsÚUndefinePreprocessorDefinitionsÚ UseFullPathsÚWholeProgramOptimizationÚXMLDocumentationFileNameÚCompileAsWinRTÚAssemblerOutput)Ú NoListingÚ AssemblyCodeÚAllÚAssemblyAndMachineCodeÚAssemblyAndSourceCodeÚBasicRuntimeChecks)ÚDefaultÚStackFrameRuntimeCheckÚUninitializedLocalUsageCheckÚEnableFastChecksÚBrowseInformation)rErDrDÚCallingConvention)ÚCdeclÚFastCallÚStdCallÚ VectorCallÚ CompileAs)r Ú CompileAsCÚ CompileAsCppÚDebugInformationFormat)rlÚOldStyleNÚProgramDatabaseÚEditAndContinueÚEnableEnhancedInstructionSet)ÚNotSetÚStreamingSIMDExtensionsÚStreamingSIMDExtensions2ÚAdvancedVectorExtensionsÚ NoExtensionsÚAdvancedVectorExtensions2ÚErrorReporting)ÚNoneÚPromptÚQueueÚSend)reÚExceptionHandling)rEÚSyncÚAsyncÚ SyncCThrowÚFavorSizeOrSpeed)ÚNeitherÚSpeedÚSizeÚFloatingPointModel)ÚPreciseÚStrictÚFastÚInlineFunctionExpansion)r ÚOnlyExplicitInlineÚ AnySuitableÚDisabledÚ Optimization)r7ÚMinSpaceÚMaxSpeedÚFullÚRuntimeLibrary)Ú MultiThreadedÚMultiThreadedDebugÚMultiThreadedDLLÚMultiThreadedDebugDLLÚStructMemberAlignment)r Ú1ByteÚ2BytesÚ4BytesÚ8BytesÚ16BytesÚ WarningLevel)ÚTurnOffAllWarningsÚLevel1ÚLevel2ÚLevel3ÚLevel4ÚEnableAllWarningsÚEnableFunctionLevelLinkingÚFunctionLevelLinkingÚEnableIntrinsicFunctionsÚIntrinsicFunctionsÚ KeepCommentsÚPreprocessKeepCommentsÚ ObjectFileÚObjectFileNameÚOpenMPÚ OpenMPSupportÚPrecompiledHeaderThroughÚPrecompiledHeaderFileÚPrecompiledHeaderOutputFileÚUsePrecompiledHeaderÚPrecompiledHeader)ÚNotUsingÚCreateÚUseÚ WarnAsErrorÚTreatWarningAsErrorÚDefaultCharIsUnsignedz/JÚDetect64BitPortabilityProblemsÚUseUnicodeResponseFilesÚ BuildingInIDEÚCompileAsManagedrErDÚCreateHotpatchableImageÚMultiProcessorCompilationÚPreprocessOutputPathÚProcessorNumberÚTrackerLogDirectoryÚTreatSpecificWarningsAsErrorsÚUseUnicodeForAssemblerListingÚGeneratePreprocessedFileÚAdditionalDependenciesÚAdditionalLibraryDirectoriesÚAdditionalManifestDependenciesÚAddModuleNamesToAssemblyÚAllowIsolationÚAssemblyLinkResourceÚ BaseAddressÚCLRUnmanagedCodeCheckÚ DelayLoadDLLsÚ DelaySignÚEmbedManagedResourceFileÚ EnableUACÚEntryPointSymbolÚForceSymbolReferencesÚ FunctionOrderÚGenerateDebugInformationÚGenerateMapFileÚHeapCommitSizeÚHeapReserveSizeÚIgnoreAllDefaultLibrariesÚIgnoreEmbeddedIDLÚ ImportLibraryÚ KeyContainerÚKeyFileÚ ManifestFileÚ MapExportsÚ MapFileNameÚMergedIDLBaseFileNameÚ MergeSectionsÚMidlCommandFileÚModuleDefinitionFileÚ OutputFileÚPerUserRedirectionÚProfileÚProfileGuidedDatabaseÚProgramDatabaseFileÚRegisterOutputÚ SetChecksumÚStackCommitSizeÚStackReserveSizeÚStripPrivateSymbolsÚSupportUnloadOfDelayLoadedDLLÚ SwapRunFromCDÚTurnOffAssemblyGenerationÚTypeLibraryFileÚTypeLibraryResourceIDÚ UACUIAccessÚVersionÚEnableCOMDATFoldingÚFixedBaseAddressÚLargeAddressAwareÚOptimizeReferencesÚRandomizedBaseAddressÚTerminalServerAware) rÚConsoleÚWindowsÚNativezEFI ApplicationzEFI Boot Service DriverzEFI ROMz EFI RuntimeÚ WindowsCEÚPOSIX)rÚ MachineX86NÚ MachineARMÚ MachineEBCÚ MachineIA64NÚ MachineMIPSÚ MachineMIPS16ÚMachineMIPSFPUÚMachineMIPSFPU16NNNÚ MachineSH4NÚ MachineTHUMBÚ MachineX64Ú AssemblyDebug)rlrDrEÚ CLRImageType)r Ú ForceIJWImageÚForcePureILImageÚForceSafeILImageÚCLRThreadAttribute)ÚDefaultThreadingAttributeÚMTAThreadingAttributeÚSTAThreadingAttributeÚDataExecutionPreventionÚDriver)rr¿ÚUpOnlyÚWDMÚLinkTimeCodeGeneration)r ÚUseLinkTimeCodeGenerationÚ PGInstrumentÚPGOptimizationÚPGUpdateÚ ShowProgress)rÚ LinkVerboseÚLinkVerboseLib)ÚLinkVerboseICFÚLinkVerboseREFÚLinkVerboseSAFESEHÚLinkVerboseCLRÚ SubSystemÚ TargetMachineÚUACExecutionLevel)Ú AsInvokerÚHighestAvailableÚRequireAdministratorÚMinimumRequiredVersionÚTreatLinkerWarningAsErrorsÚLinkErrorReporting)Ú NoErrorReportÚPromptImmediatelyÚQueueForNextLoginÚSendErrorReportÚIgnoreDefaultLibraryNamesÚIgnoreSpecificDefaultLibrariesÚResourceOnlyDLLÚ NoEntryPointÚSwapRunFromNetÚSwapRunFromNETÚGenerateManifestÚIgnoreImportLibraryÚLinkIncrementalÚLinkLibraryDependenciesÚUseLibraryDependencyInputsÚOptimizeForWindows98ÚImageHasSafeExceptionHandlersÚLinkDLLÚ LinkStatusÚPreventDllBindingÚSupportNobindOfDelayLoadedDLLÚMSDOSStubFileNameÚSectionAlignmentÚSpecifySectionAttributesÚForceFileOutput)ÚEnabledÚMultiplyDefinedSymbolOnlyÚUndefinedSymbolOnlyÚCreateHotPatchableImage)rðÚX86ImageÚX64ImageÚ ItaniumImageÚCLRSupportLastError)rðr7Ú SystemDllsÚCultureé)rPÚResourceOutputFileNameÚNullTerminateStringsÚCPreprocessOptionsÚErrorCheckAllocationsÚErrorCheckBoundsÚErrorCheckEnumRangeÚErrorCheckRefPointersÚErrorCheckStubDataÚGenerateStublessProxiesÚGenerateTypeLibraryÚHeaderFileNameÚInterfaceIdentifierFileNameÚMkTypLibCompatibleÚOutputDirectoryÚ ProxyFileNameÚRedirectOutputAndErrorsÚTypeLibraryNameÚDefaultCharType)ÚUnsignedÚSignedÚAsciiÚTargetEnvironment)rÚWin32ÚItaniumÚX64ÚEnableErrorChecks)Ú EnableCustomr$r)rr—r˜Ú4Ú8)r”r—r˜Ú3rÚDLLDataFileNameÚDllDataFileNameÚValidateParametersÚValidateAllParametersÚApplicationConfigurationModeÚClientStubFileÚGenerateClientFilesÚStubr$ÚGenerateServerFilesÚLocaleIDÚServerStubFileÚSuppressCompilerWarningsÚ TypeLibFormatÚ NewFormatÚ OldFormatÚExportNamedFunctionsÚDisplayLibrary)rØrÙrÚr×ÚNameÚ RemoveObjectsÚTreatLibWarningAsErrorsÚVerboseÚAdditionalManifestFilesÚAssemblyIdentityÚComponentFileNameÚGenerateCatalogFilesÚInputResourceManifestsÚOutputManifestFileÚRegistrarScriptFileÚReplacementsFileÚUpdateFileHashesÚUpdateFileHashesSearchPathÚ VerboseOutputÚManifestResourceFileÚ EmbedManifestÚDependencyInformationFileÚUseFAT32WorkaroundÚEnableDPIAwarenessÚGenerateCategoryTagsÚManifestFromManagedAssemblyÚOutputResourceManifestsÚSuppressDependencyElementÚUseSafeExceptionHandlers)=rÚ __future__rÚsysr§r1Ú NameErrorÚstrrrrrÚobjectrrrr r,r8rBrMr[r�Ú_integerÚ_stringÚ _file_nameÚ _folder_nameÚ _file_listÚ _folder_listÚ _string_listÚ_newly_booleanrqrnrzrwr†r‰r‘rŸÚfix_vc_macro_slashes_regex_listÚcompileÚjoinr¶r©r¯r³r¹r6rÉrÍrÏrËÚ_compileÚ_linkÚ_midlÚ_rcÚ_libÚ _manifestÚ_masmÚ_subsystem_enumerationÚ_target_machine_enumerationrr r Úr\sÆðñ õ&ã Û ðá ð ÐØÐð !ÐðÐô %ˆFô %ò <ò<ô #ˆFô#ôL +ˆeô +ô -�%ô-ô&ˆuôô$'ˆuô'ô(%�5ô%ñR ‹:€Ù ‹:€á ‹)€Ù ‹Y€ Ù‹y€ Ù ‹]€ Ù‹}€ Ù‹}€ ñÒ3Ó4€ò+òFò(!ò Oò.Aò"Aò$Fò*Fð0#7ÐØ'˜RŸZ™ZØ §¡Ð)HÓ IÑIóÐð !�b—j‘jÐ!2Ó3ÐðDGÇ:Á:ó"ò2  ò ð.47·:±:ó$ðN+.¯*©*ó8ð.1¯Z©Zó;òHñB Ð# [Ó 1€Ù ˆn˜fÓ%€Ù ˆl˜FÓ#€Ù Ð $Ð&7Ó8€Ù Ð  Ó&€Ù Ð" JÓ /€ Ù ˆf�fÓ€ñ ˆÔÙˆ„Ùˆ„Ùˆ„ Ùˆ„ÙˆÔÙˆ„àÐ�BÑØ*,ÐÐ&Ñ'Ø13ÐÐ-Ñ.ñ€hÐ.° Ô=Ù€hÐ# \Ô2Ù€hÐ,¨lÔ;Ù€hÐ*¨JÔ7Ù€hÐ'¨Ô4Ù€hÐ% xÔ0Ù€hÐ+¨XÔ6Ù€hÐ)¨<Ô8Ù€hÐ.°Ô9Ù€h� Ô*Ù€hÐ(¨(Ô3Ù€hÐ)¨8Ô4Ù€hÐ0°(Ô;Ù€hÐ$ jÔ1Ù€hÐ" JÔ/Ù€hÐ/°Ô:Ù€hÐ+¨XÔ6Ù€hÐ  (Ô+Ù€hÐ$ hÔ/Ù€hÐ# XÔ.Ù€hÐ)¨<Ô8Ù€hÐ)¨:Ô6Ù€hÐ! 8Ô,Ù€h� Ô)Ù€hÐ" HÔ-Ù€h� Ô*Ù€hÐ'¨Ô2Ù€hÐ+¨XÔ6Ù€hÐ4°hÔ?Ù€hÐ1°<Ô@Ù€h� Ô)Ù€hÐ*¨HÔ5Ù€hÐ*¨JÔ7Ù€hÐ  (Ô+á€hÐ!Ùò-ó.ô/ñ €hÐ$Ùò(ó)ô*ñ €hÐ#Ùòóôñ€hÐ#Ùò"ó#ô$ñ €h� Ùò$ó%ô&ñ€hÐ(Ùò'ó(ô)ñ €hÐ.Ùòóôñ€hÐ Ùòð�xô!ô"ñ €hÐ#Ùòð%�~ô'ô(ñ €hÐ"Ùòóôñ€hÐ$Ùòóôñ€hÐ)Ùò#ð#�|ô%ô&ñ €h�Ùòóôñ €hÐ Ùò-ó.ô/ñ €hÐ'Ùòó ô!ñ€h�Ùòð ,Ð,ô .ô/ñ ˆÐ/Ð1GØ ôáˆÐ-Ð/CØ ôáˆ�>Ð#;¸XÔFÙˆ�<Ð!1°:Ô>Ùˆ�8˜_¨hÔ7ÙˆÐ-Ð/FØ ôáˆÐ*Ð,IØ ôáˆÐ)Ð+>Ù òó ô ñ ˆ�=Ð"7¸ÔBá˜XÐ'>ÀÔEñ ˆ(Ð4°hÔ?Ù ˆ(Ð-¨xÔ8ñ ˆX�¨Ô1Ù ˆXÐ)Ù ˜" 7Ø#)ð#+ô,ô-ñ ˆXÐ0°(Ô;Ù ˆXÐ2°HÔ=Ù ˆXÐ-¨wÔ7Ù ˆXÐ(¨(Ô3Ù ˆXÐ,¨lÔ;Ù ˆXÐ6¸ ÔEÙ ˆXÐ6¸ÔAñ  Ð*DÔEñ€eÐ % zÔ2Ù€eÐ +¨\Ô:á€eÐ -¨zÔ:Ù€eÐ  ,Ô/Ù€eÐ '¨Ô4Ù€eÐ ˜xÔ(Ù€eÐ # ZÔ0Ù€eˆ]˜GÔ$Ù€eÐ $ hÔ/Ù€eˆ_˜jÔ)Ù€eˆ[˜(Ô#Ù€eÐ '¨Ô4Ù€eˆ[˜(Ô#Ù€eÐ  Ô)Ù€eÐ $ jÔ1Ù€eˆ_˜jÔ)Ù€eÐ '¨Ô2Ù€eÐ  Ô)Ù€eÐ ˜wÔ'Ù€eÐ  Ô(Ù€eÐ (¨(Ô3Ù€eÐ  (Ô+Ù€eˆ_˜jÔ)Ù€eˆ^˜ZÔ(Ù€eˆY˜ Ô#Ù€eˆ^˜ZÔ(Ù€eˆ\˜8Ô$Ù€eˆ]˜JÔ'Ù€eÐ $ jÔ1Ù€eˆ_˜gÔ&Ù€eÐ   Ô+Ù€eÐ # ZÔ0Ù€eˆ\˜:Ô&Ù€eÐ ! 8Ô,Ù€eˆY˜Ô!Ù€eÐ $ jÔ1Ù€eÐ " JÔ/Ù€eÐ ˜xÔ(Ù€eˆ]˜HÔ%Ù€eÐ  Ô(Ù€eÐ  Ô)Ù€eÐ " JÔ/Ù€eÐ ,¨hÔ7Ù€eÐ $ hÔ/Ù€eˆ_˜hÔ'Ù€eÐ (¨(Ô3Ù€eÐ   Ô+Ù€eÐ $ hÔ/Ù€eˆ]˜HÔ%Ù€eˆY˜Ô á€eÐ " NÔ3Ù€eÐ  Ô0Ù€eÐ  .Ô1Ù€eÐ ! >Ô2Ù€eÐ $ nÔ5Ù€eÐ " NÔ3á%òð ˆ ô Ðñ+òóÐñ(€eˆ_Ùòóôñ€eˆ^Ùò(ó)ô*ñ €eÐ !Ùò-ó.ô/ñ€eÐ &Ùòóôñ€eˆXÙòóôñ €eÐ %Ùò ó!ô"ñ €eˆ^Ùò&ò*ô+ô,ñ€eˆ[Ð0Ô1Ù€eˆ_Ð9Ô:Ù€eÐ Ùò,ó-ô.ñ€eÐ % wÔ/Ù€eÐ )¨8Ô4ñ ˆÐ Ð"6Ù ò,ð-Ð-ô /ô0ñ  ˆÐ+Ð-MØ ôáˆÐ! >°8Ô<وРÐ"2°HÔ=á€uÐ  " hÔ/Ù€uÐ# R¨Ô2Ù€uР ^Ô4Ù€uÐ'Ð);¸XÔFÙ€uÐ*Ð,>ÀÔIñ ˆ%Ð'¨Ô8Ù ˆ%Ð*¨HÔ5ñ ˆU�O XÔ.Ù ˆUÐ3°XÔ>Ù ˆU�I˜xÔ(Ù ˆU�L (Ô+Ù ˆUÑ'¨Ô2Ù ˆUÑ3°XÔ>Ù ˆUÐ)¨<Ô8Ù ˆUÑ'¨Ô4Ù ˆUÑ&¨Ô1Ù ˆUÑ.°Ô8Ù ˆUÑ%Ù ˜"ó#:ô;ô<ñ  ˆUÑ-Ù ˜"ó#3ô4ô5ñ  ˆUÑ)Ù ˜"ó#1ô2ô3ñ€cÐ   Ô-Ù€cÐ )¨<Ô8Ù€c‰9‘h©BÕ/Ô0Ù€cÐ &¨Ô1Ù€cÐ $ lÔ3Ù€cÑ # WÔ-Ù€cˆ>˜8Ô$ñ€cÐ " HÔ-Ù€cÐ ,¨lÔ;ñ ˆSÑ(¨(Ô3Ù ˆSÐ'¨Ô6ñ€eÐ +¨\Ô:Ù€eÐ  ,Ô/Ù€eÑ ! 7Ô+Ù€eÑ $ hÔ/Ù€eÑ  Ô*Ù€eÑ " HÔ-Ù€eÑ $ hÔ/Ù€eÑ ! 8Ô,Ù€eÑ &¨Ô1Ù€eÑ " HÔ-Ù€eÑ ˜zÔ*Ù€eÐ (¨(Ô3Ù€eÑ *¨JÔ7Ù€eÑ ! 8Ô,Ù€eÑ  Ô(Ù€eÐ &¨ Ô5Ù€e‰_˜jÔ)Ù€eÑ &¨ Ô3Ù€eÐ $ hÔ/Ù€eÑ   Ô+Ù€eÐ .° Ô=Ù€eˆ]˜HÔ%á€eÑ Ùóóôñ€eÑ Ùóóôñ €eÑ Ùóóôñ€eÐ $Ùóóôñ €eˆ^Ùóóôñ ˆÑ!Ñ#4°jÔAÙˆÑ$Ñ&=Ø ôñ ˆUÑ2°HÔ=Ù ˆUÑ$ jÔ1Ù ˆUÑ)Ù ˜"¡6Ù#)ð#+ô,ô-ñ ˆUÑ)Ù ˜"¡6Ù#)ð#+ô,ô-ñ ˆU‘J Ô)Ù ˆUÑ$ jÔ1Ù ˆUÑ.°Ô9Ù ˆUÐ)¨<Ô8Ù ˆU‘OÙ ˜"¡;Ù#.ð#0ô1ô2ñ€dÐ $ jÔ1Ù€dÐ *¨LÔ9Ù€dÐ  Ô.Ù€dÑ " LÔ1Ù€dÐ # WÔ-Ù€dÐ '¨Ô2Ù€dÐ ,¨jÔ9Ù€dÐ " JÔ/Ù€dˆL˜*Ô%Ù€dÐ # XÔ.Ù€dÐ % xÔ0Ù€dÐ $ hÔ/Ù€dˆOÐ8Ô9ñ€tÐ &Ð(:¸HÔEá ˆTÑ# WÔ-Ù ˆTÐ#Ù ˜"ó#4ô5ô6ñ  ˆTÐ+¨WÔ5Ù ˆT‘6˜:Ô&Ù ˆT‘? JÔ/Ù ˆT�;Ð 6Ô7Ù ˆTÐ(¨,Ô7Ù ˆTÑ,¨hÔ7Ù ˆT‘9˜hÔ'ñ€iÑ*¨JÔ7Ù€iÐ$ lÔ3Ù€iÑ# WÔ-Ù€iÑ$ jÔ1Ù€iÑ'¨Ô2Ù€iÑ)¨7Ô3Ù€iÑ% zÔ2Ù€iÑ&¨ Ô3Ù€iÑ# ZÔ0Ù€iÐ(¨(Ô3Ù€iÐ" JÔ/Ù€iÑ# XÔ.Ù€iÑ-¨zÔ:Ù€i‘ (Ô+ñ�Ñ2Ø*Ù)Øôñ€y‘/ 2 xÔ0ñ ˆ)Ñ0°*Ô=Ù ˆ)Ñ)¨8Ô4Ù ˆ)Ð.°Ô9ñ ˆYÑ,¨hÔ7Ù ˆYÑ.°Ô9Ù ˆYÑ5Ø ôá ˆYÑ1°7Ô;Ù ˆYÑ3°XÔ>Ù ˆYÐ-¨|Ô<ñ€eÑ '¨Õ2øðs!ò؃*ðús’w/÷/w:÷9w: