o
    "“i	  ã                   @   s0  d Z ddlmZ ddlmZmZ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 dd	lmZmZmZ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�Z0G dd„ deƒZ1eej Z2g d¢Z3de4defdd„Z5e5e6ƒZ7dS )z
Classes Without Boilerplate
é    )Úpartial)ÚCallableÚLiteralÚProtocolé   )Ú
convertersÚ
exceptionsÚfiltersÚsettersÚ
validators)Ú	cmp_using)Úget_run_validatorsÚset_run_validators)ÚasdictÚassocÚastupleÚhasÚresolve_types)ÚNOTHINGÚ	AttributeÚ	ConverterÚFactoryÚ_NothingÚattribÚattrsÚevolveÚfieldsÚfields_dictÚ
make_classÚvalidate)ÚdefineÚfieldÚfrozenÚmutable)ÚVersionInfoT)Úauto_attribsc                   @   s   e Zd ZdS )ÚAttrsInstanceN)Ú__name__Ú
__module__Ú__qualname__© r*   r*   úM/var/www/html/premium_crap/venv/lib/python3.10/site-packages/attr/__init__.pyr&   %   s    r&   )"r   r   r&   r   r   ÚNothingTyper   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.
    Únamer2   c                    sR   | dvrdˆ › d| › �}t |ƒ‚ddlm} |dƒ}| dkr%t |d ¡S |d S )	N)Ú__version__Ú__version_info__zmodule z has no attribute r   )Úmetadatar   r5   Úversion)ÚAttributeErrorÚimportlib.metadatar6   r$   Ú_from_version_string)r3   Úmsgr6   Úmeta©r1   r*   r+   Ú__getattr__W   s   z"_make_getattr.<locals>.__getattr__)Ústr)r1   r>   r*   r=   r+   Ú_make_getattrQ   s   r@   N)8Ú__doc__Ú	functoolsr   Útypingr   r   r   Ú r   r   r	   r
   r   Ú_cmpr   Ú_configr   r   Ú_funcsr   r   r   r   r   Ú_maker   r   r   r   r   r   r   r   r   r   r   r   Ú	_next_genr    r!   r"   r#   Ú_version_infor$   r0   r.   r/   r-   Ú	dataclassr&   r,   Ú__all__r?   r@   r'   r>   r*   r*   r*   r+   Ú<module>   s$   8
&