U
    kuf                      @   s\  d Z ddlmZ ddlmZ ddl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mZ dd	lmZmZmZmZmZmZ dd
lmZmZmZmZmZmZm Z m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) e Z*Z+e Z,Z-eeddZ.G dd deZ/ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g Z0e1ed0d1d2Z2e2e3Z4d3S )4z
Classes Without Boilerplate
    )partial)Callable   )
converters
exceptionsfilterssetters
validators)	cmp_using)Protocol)get_run_validatorsset_run_validators)asdictassocastupleevolvehasresolve_types)	NOTHING	AttributeFactoryattribattrsfieldsfields_dict
make_classvalidate)definefieldfrozenmutable)VersionInfoT)Zauto_attribsc                   @   s   e Zd ZdS )AttrsInstanceN)__name__
__module____qualname__ r&   r&   1/tmp/pip-unpacked-wheel-563mi0su/attr/__init__.pyr"   #   s   r"   r   r   r   r   r   r   attrr   
attributesr   r
   r   r   r   r   r   r   r   r   r   r   r   ibr   r    r   sr   r   r   r	   )mod_namereturnc                    s   t t d fdd}|S )zp
    Create a metadata proxy for packaging information that uses *mod_name* in
    its warnings and errors.
    )namer-   c                    s6  ddddddddddd
}| |kr:d  d|  }t |d	d l}d	d l}|jd
k rbd	dlm} nd	dlm} | dkr|jd  d|  dtdd |d}| dkrdS | dkrdS | dkr|d 	ddd S | dkrt
|d S | dkr|d ddd	 S | dkr*|d d dd d d S |||   S )!NName versionsummarylicense)
	__title____copyright____version____version_info____description____uri____url__
__author__	__email____license__zmodule z has no attribute r   )      )metadata)r6   r7   z
Accessing .z is deprecated and will be removed in a future release. Use importlib.metadata directly to query for attrs's packaging metadata.   )
stacklevelr   r=   MITr5   z"Copyright (c) 2015 Hynek Schlawack)r9   r:   zProject-URL r   r7   r;   zAuthor-emailr<   <)AttributeErrorsyswarningsversion_infoZimportlib_metadatar@   importlib.metadatawarnDeprecationWarningsplitr!   Z_from_version_stringrsplit)r.   Zdunder_to_metadatamsgrI   rJ   r@   metar,   r&   r'   __getattr__Q   sN    


z"_make_getattr.<locals>.__getattr__)str)r,   rT   r&   rS   r'   _make_getattrK   s    2rV   N)5__doc__	functoolsr   typingr   r0   r   r   r   r   r	   Z_cmpr
   _compatr   _configr   r   Z_funcsr   r   r   r   r   r   _maker   r   r   r   r   r   r   r   r   Z	_next_genr   r   r   r    Z_version_infor!   r+   r)   r*   r(   Z	dataclassr"   __all__rU   rV   r#   rT   r&   r&   r&   r'   <module>   sb    ,$;