�
�"Kbp0 � �4 � d Z ddlZddlZddlZddlZ ddlZej Zn# e $ r ddlZej
ZY nw xY w e n# e$ r d� ZY nw xY w ej
� � ddd�Zdd�Z G d � d
e� � Z G d� de� � Z G d
� de� � Z G d� de� � ZdS )z7New implementation of Visual Studio project generation.� Nc � � | |k | |k z
S �N� )�a�bs �-/usr/lib/python3/dist-packages/gyp/MSVSNew.py�cmpr s � �
��E�a�!�e��� z&{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}z&{2150E333-8FDC-42A3-9474-1A3956D46DE8})�project�folder�msvs_newc �d � t |� � t | � � z }|� d� � }t |� � � � � � � � }d|dd� z dz |dd� z dz |dd� z dz |dd� z dz |dd � z d
z }|S )a# Returns a GUID for the specified target name.
Args:
name: Target name.
seed: Seed for MD5 hash.
Returns:
A GUID-line string calculated from the name and seed.
This generates something which looks like a GUID, but depends only on the
name and seed. This means the same name/seed will always generate the same
GUID, so that projects and solutions which refer to each other can explicitly
determine the GUID to refer to explicitly. It also means that the GUID will
not change when the project for a target is rebuilt.
zutf-8�{N� �-� � � � �})�str�encode�_new_md5� hexdigest�upper)�name�seed�to_hash�d�guids r �MakeGuidr! - s� � �
��I�I��D� � �!�'��N�N�7�#�#�'��w���!�!�#�#�)�)�+�+�!�
��"�1�"��+��
�a��"��g�
%��
+�a��2��h�
6��
<�q��B��x�
G����B�r�E�(�� �!�$�
�+r
c � � e Zd Zd� Zd� ZdS )�MSVSSolutionEntryc � � t | j | � � � f|j |� � � f� � S r )r r �get_guid��self�others r �__cmp__zMSVSSolutionEntry.__cmp__J s2 � ��� �4�=�=�?�?�+�e�j�%�.�.�:J�:J�-K�L�L�Lr
c �r � | j | � � � f|j |� � � fk S r )r r% r& |