o
    yAf                     @   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/g dZ0de1defddZ2e2e3Z4dS )z
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&   2/usr/lib/python3.10/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   dt dt f fdd}|S )zp
    Create a metadata proxy for packaging information that uses *mod_name* in
    its warnings and errors.
    namer-   c                    s2  ddddddddddd
}| |vrd  d|  }t |d	d l}d	d l}|jd
k r1d	dlm} nd	dlm} | dvrJ|jd  d|  dtdd |d}| dkrTdS | dkrZdS | dv rh|d 	ddd S | dkrst
|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	   _cmpr
   Z_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(   	dataclassr"   __all__rU   rV   r#   rT   r&   r&   r&   r'   <module>   s$    ,$;