a
    {3e                     @   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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Z-g dZ.e/edddZ0e0e1Z2dS )z
Classes Without Boilerplate
    )partial)Callable   )
converters
exceptionsfilterssetters
validators)	cmp_using)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%   @/home/pi/bot/my_env/lib/python3.9/site-packages/attr/__init__.pyr!   "   s   r!   ) 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
}| |  vr:td  d|  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v 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   )      )metadatar6   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<   MITr4   z"Copyright (c) 2015 Hynek Schlawack)r8   r9   zProject-URL r   r:   zAuthor-emailr;   <)keysAttributeErrorsyswarningsversion_infoZimportlib_metadatar?   importlib.metadatawarnDeprecationWarningsplitr    Z_from_version_stringrsplit)r-   Zdunder_to_metadatarI   rJ   r?   metar+   r%   r&   __getattr__P   sL    


z"_make_getattr.<locals>.__getattr__)str)r+   rS   r%   rR   r&   _make_getattrJ   s    1rU   N)3__doc__	functoolsr   typingr   r/   r   r   r   r   r	   _cmpr
   _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__rT   rU   r"   rS   r%   r%   r%   r&   <module>   s     ,$: