Ë Ù¸;€©RÓ!ãó^—dZddlZddlmZGd„de«ZGd„de«ZGd„de«Zy) z$Visual Studio project reader/writer.éNcó—eZdZdZdd„Zd„Zy)ÚToolzVisual Studio tool.Ncó8—|xsi|_||jd<y)zoInitializes the tool. Args: name: Tool name. attrs: Dict of tool attributes; may be None. ÚNameN©Ú_attrs)ÚselfÚnameÚattrss ú4/usr/lib/python3.12/site-packages/gyp/MSVSProject.pyÚ__init__z Tool.__init__s€ð’+˜2€D„KØ€D‡K�K�Òócó—d|jgS)z]Creates an element for the tool. Returns: A new xml.dom.Element for the tool. rr)r s r Ú_GetSpecificationzTool._GetSpecifications€ð �D—K‘KÐ Ð r©N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r r©rr rr s„Ùóó!rrcó—eZdZdZdd„Zy)ÚFilterz1Visual Studio filter - that is, a virtual folder.Ncó:—||_t|xsg«|_y)zŒInitializes the folder. Args: name: Filter (folder) name. contents: List of filenames and/or Filter objects contained. N)r ÚlistÚcontents)r r rs r r zFilter.__init__%s€ð€D„Iܘš RÓ(€D…Mrr)rrrrr rrr rr"s „Ù9ô)rrcóF—eZdZdZd d„Zd„Zd„Zd d„Zd„Zd„Z d d „Z d „Z y) ÚWriterz!Visual Studio XML project writer.Ncóð—||_||_||_||_|sdg}dg|_|D]!}|jj dd|ig«Œ#dg|_dg|_dg|_t«|_ y) aInitializes the project. Args: project_path: Path to the project file. version: Format version to emit. name: Name of the project. guid: GUID to use for project, if not None. platforms: Array of string, the supported platforms. If null, ['Win32'] ÚWin32Ú PlatformsÚPlatformrÚ ToolFilesÚConfigurationsÚFilesN) Ú project_pathÚversionr ÚguidÚplatform_sectionÚappendÚtool_files_sectionÚconfigurations_sectionÚ files_sectionÚdictÚ files_dict)r r%r&r r'Ú platformsÚplatforms r r zWriter.__init__6s‹€ð%€DÔØ€D„LØ€D„IØ€D„Iñ Ø�)€ið)˜M€DÔÛˆØ ×Ñ×"Ñ" J°¸Ð0BÐ#CÕDðà*˜m€DÔØ#3Ð"4€DÔØ!˜€DÔô“f€D…OrcóB—|jjdd|ig«y)zeAdds a tool file to the project. Args: path: Relative path from project to tool file. ÚToolFileÚ RelativePathN)r*r))r Úpaths r Ú AddToolFilezWriter.AddToolFileTs"€ð  ×Ñ×"Ñ" J°ÀÐ0FÐ#GÕHrcó —|si}|sg}|j«}||d<||g}|r_|D]Z}t|t«r |j|j ««Œ3|jt|«j ««Œ\|S)a Returns the specification for a configuration. Args: config_type: Type of configuration node. config_name: Configuration name. attrs: Dict of configuration attributes; may be None. tools: List of tools (strings or Tool objects); may be None. Returns: r)ÚcopyÚ isinstancerr)r)r Ú config_typeÚ config_namer ÚtoolsÚ node_attrsÚ specificationÚts r Ú_GetSpecForConfigurationzWriter._GetSpecForConfiguration\sˆ€ñ Ø€e٠؀eð—‘“€JØ$€JˆvÑØ  *Ð-€Mñ Ûˆ!Ü �aœÔ Ø × Ñ ˜q×2Ñ2Ó4Õ 5à × Ñ œt A›w×8Ñ8Ó:Õ ;ð ð Ðrcób—|jd|||«}|jj|«y)zÓAdds a configuration to the project. Args: name: Configuration name. attrs: Dict of configuration attributes; may be None. tools: List of tools (strings or Tool objects); may be None. Ú ConfigurationN)r?r+r))r r r r;Úspecs r Ú AddConfigzWriter.AddConfig{s.€ð × (Ñ (¨¸$ÀÀuÓ M€DØ×Ñ×&Ñ& tÕ,rcóØ—|D]e}t|t«r-dd|jig}|j||j«ndd|ig}||j |<|j |«Œgy)zðAdds files and/or filters to the parent node. Args: parent: Destination node files: A list of Filter objects and/or relative paths to files. Will call itself recursively, if the files list contains Filter objects. rrÚFiler3N)r8rr Ú_AddFilesToNoderr.r))r ÚparentÚfilesÚfÚnodes r rFzWriter._AddFilesToNode†sh€óˆÜ �A”vÔ Ø˜6 1§6¡6Ð*Ð+ˆØ ×јT 1§:¡:Õ.à˜¨Ð+Ð,ˆØ!ˆ�‰˜ÑØ ‡m�m�DÕñrcó<—|j|j|«y)aKAdds files to the project. Args: files: A list of Filter objects and/or relative paths to files. This makes a copy of the file/filter tree at the time of this call. If you later add files to a Filter object which was passed into a previous call to AddFiles(), it will not be reflected in this project. N)rFr,)r rHs r ÚAddFileszWriter.AddFiles˜s€ð ×ј×+Ñ+¨UÕ3rcó¤—|jj|«}|std|z«‚|jd|||«}|j |«y)a\Adds a configuration to a file. Args: path: Relative path to the file. config: Name of configuration to add. attrs: Dict of configuration attributes; may be None. tools: List of tools (strings or Tool objects); may be None. Raises: ValueError: Relative path does not match any file added via AddFiles(). z(AddFileConfig: file "%s" not in project.ÚFileConfigurationN)r.ÚgetÚ ValueErrorr?r))r r4Úconfigr r;rGrBs r Ú AddFileConfigzWriter.AddFileConfig¦sT€ð�_‰_× Ñ  Ó &€FÙ Ü ÐAÀDÑHÓ IÐIð × (Ñ (Ð)<¸fÀeØ).ó 0€Dà ‡M�M�$Õrcó*—dd|jj«|j|j|jddœ|j|j |j dg|jdgg}tj||jd¬«y ) zWrites the project file.ÚVisualStudioProjectz Visual C++Ú Win32Proj)Ú ProjectTypeÚVersionrÚ ProjectGUIDÚ RootNamespaceÚKeywordÚ ReferencesÚGlobalsz Windows-1252)ÚencodingN) r&ÚProjectVersionr r'r(r*r+r,Úeasy_xmlÚWriteXmlIfChangedr%)r Úcontents r ÚWriteIfChangedzWriter.WriteIfChanged¼s‹€ð Ø$Ø—L‘L×/Ñ/Ó1Ø—‘ØŸ ™ ØŸ)™)Øñ  ð ×ÑØ ×ÑØ ×#Ñ#Ø ˆØ ×ÑØ ˆ ð€Gô  ×јw¨×(9Ñ(9Ø(6ö8r)NN) rrrrr r5r?rCrFrLrRrbrrr rr3s.„Ù)óò<Iòó> -òò$ 4óó,8rr) rÚ gyp.commonÚgypÚ gyp.easy_xmlr_Úobjectrrrrrr Úrgs6ðñ +ãÝô !ˆ6ô!ô* )ˆVô )ô"]8ˆVõ]8r