<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ž
7’ReÏ  c               @   sª  d  Z  d d l m Z d d l Z d d l m Z d d l Z d d l Z d d l Z d d l	 m
 Z
 m Z d d l m Z m Z m Z d d l m Z d d	 l m Z m Z d d
 l m Z m Z e j e ƒ Z Gd d „  d e
 ƒ Z Gd d „  d e
 ƒ Z Gd d „  d e
 ƒ Z Gd d „  d e
 ƒ Z d d d g Z d Z  d Z! e j" d ƒ Z# d d d d d d d d  d! d" d# f Z$ d d d d d$ d d d d  d! d" d# d% d& d' d( d) f Z% d' d( d) d% d& f Z& d d d d d$ d d d d  d! d" d* d+ d# d% d& d, d- d. d/ d0 d1 f Z' d. d/ d0 d, d1 d* d+ d- f Z( d d d d d$ d d d d  d! d" d* d+ d# d% d& d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 f Z) d2 d6 d3 d4 d5 f Z* e+ ƒ  Z, e, j- e$ ƒ e, j- e% ƒ e, j- e' ƒ e, j- e) ƒ e j" d7 ƒ Z. d8 d9 „  Z/ d: d; „  Z0 i d d< 6d d= 6d d> 6d d? 6d$ d@ 6d dA 6d dB 6d dC 6d  dD 6d! dE 6d" dF 6d* dG 6d+ dH 6d# dI 6d% dJ 6d& dK 6d, dL 6d. dM 6d/ dN 6d4 dO 6d0 dP 6d1 dQ 6d) dR 6d( dS 6d' dT 6d- dU 6d2 dV 6d3 dW 6d5 dX 6d6 dY 6Z1 d/ d, d. f Z2 d0 f Z3 d f Z4 d d% d' d) d( d, d. d/ d1 d- d$ d4 d6 d5 f Z5 d- f Z6 d f Z7 d! d* d d f Z8 e9 ƒ  Z: e j" dZ ƒ Z; e< d[ d\ „ Z= Gd] d^ „  d^ e9 ƒ Z> d_ Z? Gd` d „  d e9 ƒ Z@ d S(a   u   Implementation of the Metadata for Python packages PEPs.

Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental).
i    (   u   unicode_literalsN(   u   message_from_filei   (   u   DistlibExceptionu   __version__(   u   StringIOu   string_typesu	   text_type(   u	   interpret(   u   extract_by_keyu
   get_extras(   u
   get_schemeu   PEP426_VERSION_REc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataMissingErroru   A required metadata is missingN(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataMissingError   s   u   MetadataMissingErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataConflictErroru>   Attempt to read or write metadata fields that are conflictual.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataConflictError    s   u   MetadataConflictErrorc             B   s   |  Ee  Z d  Z d Z d S(   u    MetadataUnrecognizedVersionErroru    Unknown metadata version number.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu    MetadataUnrecognizedVersionError$   s   u    MetadataUnrecognizedVersionErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataInvalidErroru   A metadata value is invalidN(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataInvalidError(   s   u   MetadataInvalidErroru   Metadatau   PKG_INFO_ENCODINGu   PKG_INFO_PREFERRED_VERSIONu   utf-8u   1.1u
   
       \|u   Metadata-Versionu   Nameu   Versionu   Platformu   Summaryu   Descriptionu   Keywordsu	   Home-pageu   Authoru   Author-emailu   Licenseu   Supported-Platformu
   Classifieru   Download-URLu	   Obsoletesu   Providesu   Requiresu
   Maintaineru   Maintainer-emailu   Obsoletes-Distu   Project-URLu   Provides-Distu   Requires-Distu   Requires-Pythonu   Requires-Externalu   Private-Versionu   Obsoleted-Byu   Setup-Requires-Distu	   Extensionu   Provides-Extrau"   extra\s*==\s*("([^"]+)"|'([^']+)')c             C   sP   |  d k r t  S|  d k r  t S|  d k r0 t S|  d k r@ t St |  ƒ ‚ d  S(   Nu   1.0u   1.1u   1.2u   2.0(   u   _241_FIELDSu   _314_FIELDSu   _345_FIELDSu   _426_FIELDSu    MetadataUnrecognizedVersionError(   u   version(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _version2fieldlistf   s    u   _version2fieldlistc       	      C   s  d d „  } g  } xB |  j  ƒ  D]4 \ } } | g  d d f k rF q n  | j | ƒ q Wd d d d g } x® | D]¦ } | t k rž d | k rž | j d ƒ n  | t k rÆ d | k rÆ | j d ƒ n  | t k rî d | k rî | j d ƒ n  | t k rp d | k rp | j d ƒ qp qp Wt | ƒ d k r4| d	 St | ƒ d	 k rUt	 d
 ƒ ‚ n  d | k om| | t
 ƒ } d | k oˆ| | t ƒ } d | k o£| | t ƒ } t | ƒ t | ƒ t | ƒ d k rÛt	 d ƒ ‚ n  | r| r| rt | k rt Sn  | rd S| rd Sd S(   u5   Detect the best version depending on the fields used.c             S   s%   x | D] } | |  k r d Sq Wd S(   NTF(   u   Trueu   False(   u   keysu   markersu   marker(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _has_markert   s    u"   _best_version.<locals>._has_markeru   UNKNOWNu   1.0u   1.1u   1.2u   2.0i   i    u   Unknown metadata setu(   You used incompatible 1.1/1.2/2.0 fieldsN(   u   itemsu   Noneu   appendu   _241_FIELDSu   removeu   _314_FIELDSu   _345_FIELDSu   _426_FIELDSu   lenu   MetadataConflictErroru   _314_MARKERSu   _345_MARKERSu   _426_MARKERSu   intu   PKG_INFO_PREFERRED_VERSION(	   u   fieldsu   _has_markeru   keysu   keyu   valueu   possible_versionsu   is_1_1u   is_1_2u   is_2_0(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _best_versionr   sB    &u   _best_versionu   metadata_versionu   nameu   versionu   platformu   supported_platformu   summaryu   descriptionu   keywordsu	   home_pageu   authoru   author_emailu
   maintaineru   maintainer_emailu   licenseu
   classifieru   download_urlu   obsoletes_distu   provides_distu   requires_distu   setup_requires_distu   requires_pythonu   requires_externalu   requiresu   providesu	   obsoletesu   project_urlu   private_versionu   obsoleted_byu	   extensionu   provides_extrau   [^A-Za-z0-9.]+c             C   sG   | r9 t  j d |  ƒ }  t  j d | j d d ƒ ƒ } n  d |  | f S(   uh   Return the distribution name with version.

    If for_filename is true, return a filename-escaped form.u   -u    u   .u   %s-%s(   u	   _FILESAFEu   subu   replace(   u   nameu   versionu   for_filename(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _get_name_and_versionÞ   s    !u   _get_name_and_versionc             B   s—  |  Ee  Z d  Z d Z d= d= d= d 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 d „  Z d d „  Z d> d d „ Z d d „  Z d d „  Z d d  „  Z d! d" „  Z d> d# d$ „ Z d> d% d& „ Z d= d' d( „ Z d) d* „  Z e d+ d, „ Z d> d- d. „ Z d> d/ d0 „ Z d1 d2 „  Z d3 d4 „  Z d5 d6 „  Z  d7 d8 „  Z! d9 d: „  Z" d; d< „  Z# d= S(?   u   LegacyMetadataua  The legacy metadata of a release.

    Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can
    instantiate the class with one of these arguments (or none):
    - *path*, the path to a metadata file
    - *fileobj* give a file-like object with metadata as content
    - *mapping* is a dict-like object
    - *scheme* is a version scheme name
    u   defaultc             C   s³   | | | g j  d  ƒ d k  r- t d ƒ ‚ n  i  |  _ g  |  _ d  |  _ | |  _ | d  k	 rm |  j | ƒ nB | d  k	 r‰ |  j | ƒ n& | d  k	 r¯ |  j	 | ƒ |  j
 ƒ  n  d  S(   Ni   u'   path, fileobj and mapping are exclusive(   u   countu   Noneu	   TypeErroru   _fieldsu   requires_filesu   _dependenciesu   schemeu   readu	   read_fileu   updateu   set_metadata_version(   u   selfu   pathu   fileobju   mappingu   scheme(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __init__÷   s    				u   LegacyMetadata.__init__c             C   s   t  |  j ƒ |  j d <d  S(   Nu   Metadata-Version(   u   _best_versionu   _fields(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   set_metadata_version  s    u#   LegacyMetadata.set_metadata_versionc             C   s   | j  d | | f ƒ d  S(   Nu   %s: %s
(   u   write(   u   selfu   fileobju   nameu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _write_field
  s    u   LegacyMetadata._write_fieldc             C   s   |  j  | ƒ S(   N(   u   get(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getitem__  s    u   LegacyMetadata.__getitem__c             C   s   |  j  | | ƒ S(   N(   u   set(   u   selfu   nameu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __setitem__  s    u   LegacyMetadata.__setitem__c             C   sB   |  j  | ƒ } y |  j | =Wn t k
 r= t | ƒ ‚ Yn Xd  S(   N(   u   _convert_nameu   _fieldsu   KeyError(   u   selfu   nameu
   field_name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __delitem__  s
    u   LegacyMetadata.__delitem__c             C   s%   | |  j  k p$ |  j | ƒ |  j  k S(   N(   u   _fieldsu   _convert_name(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __contains__  s    u   LegacyMetadata.__contains__c             C   s8   | t  k r | S| j d d ƒ j ƒ  } t j | | ƒ S(   Nu   -u   _(   u   _ALL_FIELDSu   replaceu   loweru   _ATTR2FIELDu   get(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _convert_name  s    u   LegacyMetadata._convert_namec             C   s    | t  k s | t k r g  Sd S(   Nu   UNKNOWN(   u   _LISTFIELDSu   _ELEMENTSFIELD(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _default_value$  s    u   LegacyMetadata._default_valuec             C   s   t  j d | ƒ S(   Nu   
(   u   _LINE_PREFIXu   sub(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _remove_line_prefix)  s    u"   LegacyMetadata._remove_line_prefixc             C   s$   | t  k r |  | St | ƒ ‚ d  S(   N(   u   _ATTR2FIELDu   AttributeError(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getattr__,  s    u   LegacyMetadata.__getattr__c             C   s   t  |  d |  d | ƒ S(   uh   Return the distribution name with version.

        If filesafe is true, return a filename-escaped form.u   Nameu   Version(   u   _get_name_and_version(   u   selfu   filesafe(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   get_fullname7  s    u   LegacyMetadata.get_fullnamec             C   s   |  j  | ƒ } | t k S(   u+   return True if name is a valid metadata key(   u   _convert_nameu   _ALL_FIELDS(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   is_field=  s    u   LegacyMetadata.is_fieldc             C   s   |  j  | ƒ } | t k S(   N(   u   _convert_nameu   _LISTFIELDS(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   is_multi_fieldB  s    u   LegacyMetadata.is_multi_fieldc          
   C   s;   t  j | d d d ƒ} z |  j | ƒ Wd | j ƒ  Xd S(   u*   Read the metadata values from a file path.u   ru   encodingu   utf-8N(   u   codecsu   openu	   read_fileu   close(   u   selfu   filepathu   fp(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   readF  s    u   LegacyMetadata.readc             C   sß   t  | ƒ } | d |  j d <x± t D]© } | | k r< q$ n  | t k r˜ | j | ƒ } | t k r… | d k	 r… d d „  | Dƒ } n  |  j | | ƒ q$ | | } | d k	 r$ | d k r$ |  j | | ƒ q$ q$ W|  j ƒ  d S(   u,   Read the metadata values from a file object.u   metadata-versionu   Metadata-Versionc             S   s%   g  |  ] } t  | j d  ƒ ƒ ‘ q S(   u   ,(   u   tupleu   split(   u   .0u   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>[  s   	 u,   LegacyMetadata.read_file.<locals>.<listcomp>u   UNKNOWNN(	   u   message_from_fileu   _fieldsu   _ALL_FIELDSu   _LISTFIELDSu   get_allu   _LISTTUPLEFIELDSu   Noneu   setu   set_metadata_version(   u   selfu   fileobu   msgu   fieldu   valuesu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu	   read_fileN  s    
u   LegacyMetadata.read_filec          
   C   s>   t  j | d d d ƒ} z |  j | | ƒ Wd | j ƒ  Xd S(   u&   Write the metadata fields to filepath.u   wu   encodingu   utf-8N(   u   codecsu   openu
   write_fileu   close(   u   selfu   filepathu   skip_unknownu   fp(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   writed  s    u   LegacyMetadata.writec             C   s	  |  j  ƒ  xø t |  d ƒ D]æ } |  j | ƒ } | rT | d g  d g f k rT q n  | t k r‚ |  j | | d j | ƒ ƒ q n  | t k r» | d k r¯ | j d d ƒ } n  | g } n  | t k rÝ d d „  | Dƒ } n  x! | D] } |  j | | | ƒ qä Wq Wd	 S(
   u0   Write the PKG-INFO format data to a file object.u   Metadata-Versionu   UNKNOWNu   ,u   Descriptionu   
u	   
       |c             S   s   g  |  ] } d  j  | ƒ ‘ q S(   u   ,(   u   join(   u   .0u   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>}  s   	 u-   LegacyMetadata.write_file.<locals>.<listcomp>N(	   u   set_metadata_versionu   _version2fieldlistu   getu   _ELEMENTSFIELDu   _write_fieldu   joinu   _LISTFIELDSu   replaceu   _LISTTUPLEFIELDS(   u   selfu
   fileobjectu   skip_unknownu   fieldu   valuesu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   write_filel  s     
u   LegacyMetadata.write_filec                s°   ‡  f d d †  } | s n^ t  | d ƒ rU xL | j ƒ  D] } | | | | ƒ q7 Wn$ x! | D] \ } } | | | ƒ q\ W| r¬ x* | j ƒ  D] \ } } | | | ƒ qŒ Wn  d S(   u…  Set metadata values from the given iterable `other` and kwargs.

        Behavior is like `dict.update`: If `other` has a ``keys`` method,
        they are looped over and ``self[key]`` is assigned ``other[key]``.
        Else, ``other`` is an iterable of ``(key, value)`` iterables.

        Keys that don't match a metadata field or that have an empty value are
        dropped.
        c                s2   |  t  k r. | r. ˆ  j ˆ  j |  ƒ | ƒ n  d  S(   N(   u   _ATTR2FIELDu   setu   _convert_name(   u   keyu   value(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _setŒ  s    u#   LegacyMetadata.update.<locals>._setu   keysN(   u   hasattru   keysu   items(   u   selfu   otheru   kwargsu   _setu   ku   v(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   update‚  s    
u   LegacyMetadata.updatec             C   s  |  j  | ƒ } | t k s' | d k rt t | t t f ƒ rt t | t ƒ rk d d „  | j d ƒ Dƒ } qº g  } nF | t k rº t | t t f ƒ rº t | t ƒ r± | g } qº g  } n  t j	 t
 j ƒ rÏ|  d } t |  j ƒ } | t k rF| d k	 rFxÌ | D]; } | j | j d ƒ d ƒ st j d | | | ƒ qqWqÏ| t k r‰| d k	 r‰| j | ƒ sÌt j d	 | | | ƒ qÌqÏ| t k rÏ| d k	 rÏ| j | ƒ sÌt j d	 | | | ƒ qÌqÏn  | t k rü| d
 k rü|  j | ƒ } qün  | |  j | <d S(   u"   Control then set a metadata field.u   Platformc             S   s   g  |  ] } | j  ƒ  ‘ q S(    (   u   strip(   u   .0u   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>¥  s   	 u&   LegacyMetadata.set.<locals>.<listcomp>u   ,u   Nameu   ;i    u   %r: %r is not valid (field %r)u(   %r: %r is not a valid version (field %r)u   DescriptionN(   u   _convert_nameu   _ELEMENTSFIELDu
   isinstanceu   listu   tupleu   string_typesu   splitu   _LISTFIELDSu   loggeru   isEnabledForu   loggingu   WARNINGu
   get_schemeu   schemeu   _PREDICATE_FIELDSu   Noneu   is_valid_matcheru   warningu   _VERSIONS_FIELDSu   is_valid_constraint_listu   _VERSION_FIELDSu   is_valid_versionu   _UNICODEFIELDSu   _remove_line_prefixu   _fields(   u   selfu   nameu   valueu   project_nameu   schemeu   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   setž  s@    		
		u   LegacyMetadata.setc             C   s  |  j  | ƒ } | |  j k r@ | t k r< |  j | ƒ } n  | S| t k r] |  j | } | S| t k rØ |  j | } | d k r† g  Sg  } xE | D]= } | t k rµ | j | ƒ q“ | j | d | d f ƒ q“ W| S| t	 k r|  j | } t
 | t ƒ r| j d ƒ Sn  |  j | S(   u   Get a metadata field.i    i   u   ,N(   u   _convert_nameu   _fieldsu   _MISSINGu   _default_valueu   _UNICODEFIELDSu   _LISTFIELDSu   Noneu   _LISTTUPLEFIELDSu   appendu   _ELEMENTSFIELDu
   isinstanceu   string_typesu   split(   u   selfu   nameu   defaultu   valueu   resu   val(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   getÊ  s.    u   LegacyMetadata.getc                sx  |  j  ƒ  g  g  } } x* d D]" } | |  k r | j | ƒ q q W| rx | g  k rx d d j | ƒ } t | ƒ ‚ n  x* d D]" } | |  k r | j | ƒ q q W|  d d k r¿ | | f St |  j ƒ ‰  ‡  f d	 d
 †  } x‹ t | f t ˆ  j f t	 ˆ  j
 f f D]b \ } } xS | D]K }	 |  j |	 d ƒ }
 |
 d k	 r| |
 ƒ r| j d |	 |
 f ƒ qqWqW| | f S(   uk   Check if the metadata is compliant. If strict is True then raise if
        no Name or Version are providedu   Nameu   Versionu   missing required metadata: %su   , u	   Home-pageu   Authoru   Metadata-Versionu   1.2c                s5   x. |  D]& } ˆ  j  | j d ƒ d ƒ s d Sq Wd S(   Nu   ;i    FT(   u   is_valid_matcheru   splitu   Falseu   True(   u   valueu   v(   u   scheme(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   are_valid_constraints  s    u3   LegacyMetadata.check.<locals>.are_valid_constraintsu   Wrong value for %r: %s(   u   Nameu   Version(   u	   Home-pageu   AuthorN(   u   set_metadata_versionu   appendu   joinu   MetadataMissingErroru
   get_schemeu   schemeu   _PREDICATE_FIELDSu   _VERSIONS_FIELDSu   is_valid_constraint_listu   _VERSION_FIELDSu   is_valid_versionu   getu   None(   u   selfu   strictu   missingu   warningsu   attru   msgu   are_valid_constraintsu   fieldsu
   controlleru   fieldu   value(    (   u   schemeu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   checkç  s2    

	"u   LegacyMetadata.checkc             C   s0  |  j  ƒ  dB } i  } x; | D]3 \ } } | s? | |  j k r |  | | | <q q W|  d d k rÕ dK } x¿ | D]] \ } } | s“ | |  j k rq | d& k r° |  | | | <qÎ d, d- „  |  | Dƒ | | <qq qq WnW |  d d. k r,dO } x> | D]3 \ } } | s| |  j k rò |  | | | <qò qò Wn  | S(P   uº   Return fields as a dict.

        Field names will be converted to use the underscore-lowercase style
        instead of hyphen-mixed case (i.e. home_page instead of Home-page).
        u   metadata_versionu   Metadata-Versionu   nameu   Nameu   versionu   Versionu   summaryu   Summaryu	   home_pageu	   Home-pageu   authoru   Authoru   author_emailu   Author-emailu   licenseu   Licenseu   descriptionu   Descriptionu   keywordsu   Keywordsu   platformu   Platformu
   classifieru
   Classifieru   download_urlu   Download-URLu   1.2u   requires_distu   Requires-Distu   requires_pythonu   Requires-Pythonu   requires_externalu   Requires-Externalu   provides_distu   Provides-Distu   obsoletes_distu   Obsoletes-Distu   project_urlu   Project-URLu
   maintaineru
   Maintaineru   maintainer_emailu   Maintainer-emailc             S   s   g  |  ] } d  j  | ƒ ‘ q S(   u   ,(   u   join(   u   .0u   u(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>@  s   	 u)   LegacyMetadata.todict.<locals>.<listcomp>u   1.1u   providesu   Providesu   requiresu   Requiresu	   obsoletesu	   Obsoletes(   u   metadata_versionu   Metadata-Version(   u   nameu   Name(   u   versionu   Version(   u   summaryu   Summary(   u	   home_pageu	   Home-page(   u   authoru   Author(   u   author_emailu   Author-email(   u   licenseu   License(   u   descriptionu   Description(   u   keywordsu   Keywords(   u   platformu   Platform(   u
   classifieru
   Classifier(   u   download_urlu   Download-URL(   (   u   metadata_versionu   Metadata-Version(   u   nameu   Name(   u   versionu   Version(   u   summaryu   Summary(   u	   home_pageu	   Home-page(   u   authoru   Author(   u   author_emailu   Author-email(   u   licenseu   License(   u   descriptionu   Description(   u   keywordsu   Keywords(   u   platformu   Platform(   u
   classifieru
   Classifier(   u   download_urlu   Download-URL(   u   requires_distu   Requires-Dist(   u   requires_pythonu   Requires-Python(   u   requires_externalu   Requires-External(   u   provides_distu   Provides-Dist(   u   obsoletes_distu   Obsoletes-Dist(   u   project_urlu   Project-URL(   u
   maintaineru
   Maintainer(   u   maintainer_emailu   Maintainer-email(   (   u   requires_distu   Requires-Dist(   u   requires_pythonu   Requires-Python(   u   requires_externalu   Requires-External(   u   provides_distu   Provides-Dist(   u   obsoletes_distu   Obsoletes-Dist(   u   project_urlu   Project-URL(   u
   maintaineru
   Maintainer(   u   maintainer_emailu   Maintainer-email(   u   providesu   Provides(   u   requiresu   Requires(   u	   obsoletesu	   Obsoletes(   (   u   providesu   Provides(   u   requiresu   Requires(   u	   obsoletesu	   Obsoletes(   u   set_metadata_versionu   _fields(   u   selfu   skip_missingu   mapping_1_0u   datau   keyu
   field_nameu   mapping_1_2u   mapping_1_1(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   todict  sP    
                   %  u   LegacyMetadata.todictc             C   sL   |  d d k r: x' d D] } | |  k r |  | =q q Wn  |  d | 7<d  S(   Nu   Metadata-Versionu   1.1u	   Obsoletesu   Requiresu   Providesu   Requires-Dist(   u	   Obsoletesu   Requiresu   Provides(    (   u   selfu   requirementsu   field(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   add_requirementsN  s
    u   LegacyMetadata.add_requirementsc             C   s   t  t |  d ƒ ƒ S(   Nu   Metadata-Version(   u   listu   _version2fieldlist(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   keysY  s    u   LegacyMetadata.keysc             c   s    x |  j  ƒ  D] } | Vq Wd  S(   N(   u   keys(   u   selfu   key(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __iter__\  s    u   LegacyMetadata.__iter__c                s   ‡  f d d †  ˆ  j  ƒ  Dƒ S(   Nc                s   g  |  ] } ˆ  | ‘ q S(    (    (   u   .0u   key(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>a  s   	 u)   LegacyMetadata.values.<locals>.<listcomp>(   u   keys(   u   self(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   values`  s    u   LegacyMetadata.valuesc                s   ‡  f d d †  ˆ  j  ƒ  Dƒ S(   Nc                s    g  |  ] } | ˆ  | f ‘ q S(    (    (   u   .0u   key(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>d  s   	 u(   LegacyMetadata.items.<locals>.<listcomp>(   u   keys(   u   self(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   itemsc  s    u   LegacyMetadata.itemsc             C   s   d |  j  j |  j |  j f S(   Nu
   <%s %s %s>(   u	   __class__u   __name__u   nameu   version(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __repr__f  s    u   LegacyMetadata.__repr__NF($   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   set_metadata_versionu   _write_fieldu   __getitem__u   __setitem__u   __delitem__u   __contains__u   _convert_nameu   _default_valueu   _remove_line_prefixu   __getattr__u   Falseu   get_fullnameu   is_fieldu   is_multi_fieldu   readu	   read_fileu   writeu
   write_fileu   updateu   setu   _MISSINGu   getu   checku   todictu   add_requirementsu   keysu   __iter__u   valuesu   itemsu   __repr__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   LegacyMetadataë   s>   		,,;u   LegacyMetadatau   pydist.jsonc             B   sÌ  |  Ee  Z d  Z d Z e j d ƒ Z e j d e j ƒ Z e	 Z
 e j d ƒ Z d Z d e Z i f  d 6f  d 6dQ d
 6Z d Z d Z i e f  f d 6e dR f d 6e
 dS f d 6e dT f d
 6Z dU Z dP dP dP d d d „ Z e dV ƒ Z dP e f Z dP e f Z i d e f d 6d e f d 6e d 6e d 6e d 6d e f d 6e d 6e d  6e d! 6e d" 6d# e f d$ 6dW d& 6dX d 6Z [ [ d( d) „  Z dP d* d+ „ Z d, d- „  Z e  d. d/ „  ƒ Z! e  d0 d1 „  ƒ Z" e" j# d2 d1 „  ƒ Z" dP dP d3 d4 „ Z$ e  d5 d6 „  ƒ Z% e  d7 d8 „  ƒ Z& e& j# d9 d8 „  ƒ Z& d: d; „  Z' d< d= „  Z( d> d? „  Z) d@ dA „  Z* i dB d 6dC d 6dD d 6dE d
 6dF dG 6d# d$ 6Z+ dH dI „  Z, dP dP dY dZ dJ dK „ Z/ dL dM „  Z0 dN dO „  Z1 dP S([   u   MetadatauÊ   
    The metadata of a release. This implementation uses 2.0 (JSON)
    metadata where possible. If not possible, it wraps a LegacyMetadata
    instance which handles the key-value metadata format.
    u   ^\d+(\.\d+)*$u!   ^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$u	   .{1,2047}u   2.0u   distlib (%s)u   nameu   versionu   legacyu   summaryuq   name version license summary description author author_email keywords platform home_page classifiers download_urluw   extras run_requires test_requires build_requires dev_requires provides meta_requires obsoleted_by supports_environmentsu   metadata_versionu   _legacyu   _datau   schemeu   defaultc             C   sª  | | | g j  d  ƒ d k  r- t d ƒ ‚ n  d  |  _ d  |  _ | |  _ | d  k	 r« y |  j | | ƒ | |  _ Wq¦t k
 r§ t d | d | ƒ |  _ |  j	 ƒ  Yq¦Xnû d  } | rÞ t
 | d ƒ  } | j ƒ  } Wd  QXn | ró | j ƒ  } n  | d  k ri |  j d 6|  j d 6|  _ n‡ t | t ƒ s@| j d ƒ } n  y) t j | ƒ |  _ |  j |  j | ƒ Wn: t k
 r¥t d	 t | ƒ d | ƒ |  _ |  j	 ƒ  Yn Xd  S(
   Ni   u'   path, fileobj and mapping are exclusiveu   mappingu   schemeu   rbu   metadata_versionu	   generatoru   utf-8u   fileobj(   u   countu   Noneu	   TypeErroru   _legacyu   _datau   schemeu   _validate_mappingu    MetadataUnrecognizedVersionErroru   LegacyMetadatau   validateu   openu   readu   METADATA_VERSIONu	   GENERATORu
   isinstanceu	   text_typeu   decodeu   jsonu   loadsu
   ValueErroru   StringIO(   u   selfu   pathu   fileobju   mappingu   schemeu   datau   f(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __init__˜  s>    			
u   Metadata.__init__u   licenseu   keywordsu   Requires-Distu   run_requiresu   Setup-Requires-Distu   build_requiresu   dev_requiresu   test_requiresu   meta_requiresu   Provides-Extrau   extrasu   modulesu
   namespacesu   exportsu   commandsu
   Classifieru   classifiersu   Download-URLu
   source_urlu   Metadata-Versionc             C   s  t  j |  d ƒ } t  j |  d ƒ } | | k r» | | \ } } |  j rˆ | d  k rs | d  k rg d  n | ƒ  } q¸ |  j j | ƒ } q| d  k rš d  n | ƒ  } |  j j | | ƒ } nQ | | k rÜ t  j |  | ƒ } n0 |  j rú |  j j | ƒ } n |  j j | ƒ } | S(   Nu   common_keysu   mapped_keys(   u   objectu   __getattribute__u   _legacyu   Noneu   getu   _data(   u   selfu   keyu   commonu   mappedu   lku   makeru   resultu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getattribute__Ü  s     		u   Metadata.__getattribute__c             C   so   | |  j  k rk |  j  | \ } } | p. |  j | k rk | j | ƒ } | sh t d | | f ƒ ‚ qh qk n  d  S(   Nu*   %r is an invalid value for the %r property(   u   SYNTAX_VALIDATORSu   schemeu   matchu   MetadataInvalidError(   u   selfu   keyu   valueu   schemeu   patternu
   exclusionsu   m(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _validate_valueñ  s    u   Metadata._validate_valuec             C   s"  |  j  | | ƒ t j |  d ƒ } t j |  d ƒ } | | k rŽ | | \ } } |  j r~ | d  k rn t ‚ n  | |  j | <q| |  j | <n | | k r° t j |  | | ƒ nn | d k rø t | t	 ƒ rø | j
 ƒ  } | rì | j ƒ  } qõ g  } qø n  |  j r| |  j | <n | |  j | <d  S(   Nu   common_keysu   mapped_keysu   keywords(   u   _validate_valueu   objectu   __getattribute__u   _legacyu   Noneu   NotImplementedErroru   _datau   __setattr__u
   isinstanceu   string_typesu   stripu   split(   u   selfu   keyu   valueu   commonu   mappedu   lku   _(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __setattr__û  s*    			u   Metadata.__setattr__c             C   s   t  |  j |  j d ƒ S(   NT(   u   _get_name_and_versionu   nameu   versionu   True(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   name_and_version  s    u   Metadata.name_and_versionc             C   sd   |  j  r |  j  d } n |  j j d g  ƒ } d |  j |  j f } | | k r` | j | ƒ n  | S(   Nu   Provides-Distu   providesu   %s (%s)(   u   _legacyu   _datau
   setdefaultu   nameu   versionu   append(   u   selfu   resultu   s(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   provides  s    	u   Metadata.providesc             C   s*   |  j  r | |  j  d <n | |  j d <d  S(   Nu   Provides-Distu   provides(   u   _legacyu   _data(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   provides%  s    	c       
   	   C   sL  |  j  r | } n6g  } t | p$ g  |  j ƒ } x£ | D]› } d | k r^ d | k r^ d } nZ d | k rs d } n | j d ƒ | k } | r¸ | j d ƒ } | r¸ t | | ƒ } q¸ n  | r7 | j | d ƒ q7 q7 Wxo d D]g } d | }	 |	 | k rÝ | j |	 ƒ |  j j d | g  ƒ } | j |  j	 | d	 | d
 | ƒƒ qÝ qÝ W| S(   u‹  
        Base method to get dependencies, given a set of extras
        to satisfy and an optional environment context.
        :param reqts: A list of sometimes-wanted dependencies,
                      perhaps dependent on extras and environment.
        :param extras: A list of optional components being requested.
        :param env: An optional environment for marker evaluation.
        u   extrau   environmentu   requiresu   buildu   devu   testu   :%s:u   %s_requiresu   extrasu   envT(   u   buildu   devu   test(
   u   _legacyu
   get_extrasu   extrasu   Trueu   getu	   interpretu   extendu   removeu   _datau   get_requirements(
   u   selfu   reqtsu   extrasu   envu   resultu   du   includeu   markeru   keyu   e(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   get_requirements,  s0    					
u   Metadata.get_requirementsc             C   s   |  j  r |  j ƒ  S|  j S(   N(   u   _legacyu   _from_legacyu   _data(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   dictionaryV  s    	
u   Metadata.dictionaryc             C   s)   |  j  r t ‚ n t |  j |  j ƒ Sd  S(   N(   u   _legacyu   NotImplementedErroru   extract_by_keyu   _datau   DEPENDENCY_KEYS(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   dependencies\  s    		u   Metadata.dependenciesc             C   s&   |  j  r t ‚ n |  j j | ƒ d  S(   N(   u   _legacyu   NotImplementedErroru   _datau   update(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   dependenciesc  s    		c       	      C   sÑ   | j  d ƒ |  j k r$ t ƒ  ‚ n  g  } xH |  j j ƒ  D]7 \ } } | | k r: | | k rq | j | ƒ qq q: q: W| r d d j | ƒ } t | ƒ ‚ n  x- | j ƒ  D] \ } } |  j | | | ƒ qª Wd  S(   Nu   metadata_versionu   Missing metadata items: %su   , (	   u   getu   METADATA_VERSIONu    MetadataUnrecognizedVersionErroru   MANDATORY_KEYSu   itemsu   appendu   joinu   MetadataMissingErroru   _validate_value(	   u   selfu   mappingu   schemeu   missingu   keyu
   exclusionsu   msgu   ku   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _validate_mappingj  s    u   Metadata._validate_mappingc             C   s`   |  j  rF |  j  j d ƒ \ } } | s- | r\ t j d | | ƒ q\ n |  j |  j |  j ƒ d  S(   Nu#   Metadata: missing: %s, warnings: %sT(   u   _legacyu   checku   Trueu   loggeru   warningu   _validate_mappingu   _datau   scheme(   u   selfu   missingu   warnings(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   validatex  s    		u   Metadata.validatec             C   s6   |  j  r |  j  j d ƒ St |  j |  j ƒ } | Sd  S(   NT(   u   _legacyu   todictu   Trueu   extract_by_keyu   _datau
   INDEX_KEYS(   u   selfu   result(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   todict  s    	u   Metadata.todictc       
      C   s-  |  j  r |  j s t ‚ i |  j d 6|  j d 6} |  j  j d ƒ } xF d D]> } | | k rL | d k rs d	 } n | } | | | | <qL qL W| j d
 g  ƒ } | d g k r¸ g  } n  | | d <d } xE | D]= \ } } | | k rÏ | | rÏ i | | d 6g | | <qÏ qÏ W|  j | d <i  } i  }	 | S(   Nu   metadata_versionu	   generatoru   nameu   versionu   licenseu   summaryu   descriptionu
   classifieru   classifiersu   Keywordsu    u   keywordsu   requires_distu   run_requiresu   setup_requires_distu   build_requiresu   requiresu   providesT(   u   nameu   versionu   licenseu   summaryu   descriptionu
   classifier(   u   requires_distu   run_requires(   u   setup_requires_distu   build_requires(   (   u   requires_distu   run_requires(   u   setup_requires_distu   build_requires(	   u   _legacyu   _datau   AssertionErroru   METADATA_VERSIONu	   GENERATORu   todictu   Trueu   getu   provides(
   u   selfu   resultu   lmdu   ku   nku   kwu   keysu   oku   authoru
   maintainer(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _from_legacyˆ  s2    

		
 u   Metadata._from_legacyu   Nameu   Versionu   Licenseu   Summaryu   Descriptionu   descriptionc             C   sã   d d „  } |  j  r |  j s% t ‚ t ƒ  } |  j  } x: |  j j ƒ  D]) \ } } | | k rG | | | | <qG qG W| |  j |  j ƒ } | |  j |  j	 ƒ } |  j
 r¿ t |  j
 ƒ | d <n  t | ƒ | d <t | ƒ | d <| S(   Nc             S   sÒ   t  ƒ  } xÂ |  D]º } | j d ƒ } | j d ƒ } | d } x‰ | D] } | ri | ri | j | ƒ qE d } | r‚ d | } n  | rª | r¡ d | | f } qª | } n  | j d j | | f ƒ ƒ qE Wq W| S(   Nu   extrau   environmentu   requiresu    u   extra == "%s"u   (%s) and %su   ;(   u   setu   getu   addu   join(   u   entriesu   reqtsu   eu   extrau   envu   rlistu   ru   marker(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   process_entries¯  s"    	
	$u,   Metadata._to_legacy.<locals>.process_entriesu   Provides-Extrau   Requires-Distu   Setup-Requires-Dist(   u   _datau   _legacyu   AssertionErroru   LegacyMetadatau   LEGACY_MAPPINGu   itemsu   run_requiresu   meta_requiresu   build_requiresu   dev_requiresu   extrasu   sorted(   u   selfu   process_entriesu   resultu   nmdu   nku   oku   r1u   r2(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   _to_legacy®  s    			u   Metadata._to_legacyc             C   s  | | g j  d  ƒ d k r* t d ƒ ‚ n  |  j ƒ  | r |  j rO |  j } n |  j ƒ  } | rw | j | d | ƒq| j | d | ƒnŒ |  j r¥ |  j ƒ  } n	 |  j	 } | rÙ t
 j | | d d
 d d d d
 ƒn@ t j | d d	 ƒ ) } t
 j | | d d
 d d d d
 ƒWd  QXd  S(   Ni   u)   Exactly one of path and fileobj is neededu   skip_unknownu   ensure_asciiu   indenti   u	   sort_keysu   wu   utf-8T(   u   countu   Noneu
   ValueErroru   validateu   _legacyu
   _to_legacyu   writeu
   write_fileu   _from_legacyu   _datau   jsonu   dumpu   Trueu   codecsu   open(   u   selfu   pathu   fileobju   legacyu   skip_unknownu	   legacy_mdu   du   f(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   writeÓ  s&    
			
u   Metadata.writec             C   sÄ   |  j  r |  j  j | ƒ n¤ |  j j d g  ƒ } d  } x0 | D]( } d | k r> d | k r> | } Pq> q> W| d  k r– i | d 6} | j d | ƒ n* t | d ƒ t | ƒ B} t | ƒ | d <d  S(   Nu   run_requiresu   environmentu   extrau   requiresi    (   u   _legacyu   add_requirementsu   _datau
   setdefaultu   Noneu   insertu   setu   sorted(   u   selfu   requirementsu   run_requiresu   alwaysu   entryu   rset(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   add_requirementsí  s    	u   Metadata.add_requirementsc             C   s;   |  j  p d } |  j p d } d |  j j |  j | | f S(   Nu	   (no name)u
   no versionu   <%s %s %s (%s)>(   u   nameu   versionu	   __class__u   __name__u   metadata_version(   u   selfu   nameu   version(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __repr__þ  s    u   Metadata.__repr__N(   u   legacy(   u   legacy(   u   legacy(   u   legacy(   u   _legacyu   _datau   scheme(   u   nameu   versionu   licenseu   keywordsu   summary(   u   Download-URLN(   u   Metadata-VersionNFT(2   u   __name__u
   __module__u   __qualname__u   __doc__u   reu   compileu   METADATA_VERSION_MATCHERu   Iu   NAME_MATCHERu   PEP426_VERSION_REu   VERSION_MATCHERu   SUMMARY_MATCHERu   METADATA_VERSIONu   __version__u	   GENERATORu   MANDATORY_KEYSu
   INDEX_KEYSu   DEPENDENCY_KEYSu   SYNTAX_VALIDATORSu	   __slots__u   Noneu   __init__u   setu   common_keysu   listu	   none_listu   dictu	   none_dictu   mapped_keysu   __getattribute__u   _validate_valueu   __setattr__u   propertyu   name_and_versionu   providesu   setteru   get_requirementsu
   dictionaryu   dependenciesu   _validate_mappingu   validateu   todictu   _from_legacyu   LEGACY_MAPPINGu
   _to_legacyu   Falseu   Trueu   writeu   add_requirementsu   __repr__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   Metadatan  s€   

	,

*	
%(A   u   __doc__u
   __future__u   unicode_literalsu   codecsu   emailu   message_from_fileu   jsonu   loggingu   reu    u   DistlibExceptionu   __version__u   compatu   StringIOu   string_typesu	   text_typeu   markersu	   interpretu   utilu   extract_by_keyu
   get_extrasu   versionu
   get_schemeu   PEP426_VERSION_REu	   getLoggeru   __name__u   loggeru   MetadataMissingErroru   MetadataConflictErroru    MetadataUnrecognizedVersionErroru   MetadataInvalidErroru   __all__u   PKG_INFO_ENCODINGu   PKG_INFO_PREFERRED_VERSIONu   compileu   _LINE_PREFIXu   _241_FIELDSu   _314_FIELDSu   _314_MARKERSu   _345_FIELDSu   _345_MARKERSu   _426_FIELDSu   _426_MARKERSu   setu   _ALL_FIELDSu   updateu   EXTRA_REu   _version2fieldlistu   _best_versionu   _ATTR2FIELDu   _PREDICATE_FIELDSu   _VERSIONS_FIELDSu   _VERSION_FIELDSu   _LISTFIELDSu   _LISTTUPLEFIELDSu   _ELEMENTSFIELDu   _UNICODEFIELDSu   objectu   _MISSINGu	   _FILESAFEu   Falseu   _get_name_and_versionu   LegacyMetadatau   METADATA_FILENAMEu   Metadata(    (    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   <module>	   sÚ   																		8
									ÿ 