U
    ={fg
                     @  s   d dl mZ d dlZd dlmZmZ d dlmZm	Z	 ddl
mZ ddlmZ esTeZdZG d	d
 d
eZe	dedG dd dedZG dd deZe	dedG dd dedZdS )    )annotationsN)TYPE_CHECKINGAny)Literal
deprecated   )_config)PydanticDeprecatedSince20)
BaseConfigExtrac                   @  s   e Zd ZdddddZdS )_ConfigMetaclassstrr   itemreturnc              
   C  s^   zt j| }tt jt |W S  tk
rX } ztd| j d| |W 5 d }~X Y nX d S )Nztype object 'z' has no attribute )	r   Zconfig_defaultswarningswarnDEPRECATION_MESSAGEDeprecationWarningKeyErrorAttributeError__name__selfr   objexc r   Y/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/pydantic/deprecated/config.py__getattr__   s    
z_ConfigMetaclass.__getattr__N)r   
__module____qualname__r   r   r   r   r   r      s   r   z@BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.)categoryc                      s<   e Zd ZdZddd fddZddd fd	d
Z  ZS )r
   zThis class is only retained for backwards compatibility.

    !!! Warning "Deprecated"
        BaseConfig is deprecated. Use the [`pydantic.ConfigDict`][pydantic.ConfigDict] instead.
    r   r   r   c                   s   z t  |}ttjt |W S  tk
r~ } z@ztt	| |W  W Y (S  tk
rl   tt
||Y nX W 5 d }~X Y nX d S N)super__getattribute__r   r   r   r   r   r   getattrtyper   r   	__class__r   r   r   %   s    zBaseConfig.__getattr__None)kwargsr   c                   s   t tjt t jf |S r"   )r   r   r   r   r   r#   __init_subclass__)clsr*   r'   r   r   r+   1   s    zBaseConfig.__init_subclass__)r   r   r    __doc__r   r+   __classcell__r   r   r'   r   r
      s   r
   )	metaclassc                      s$   e Zd Zddd fddZ  ZS )
_ExtraMetar   r   )_ExtraMeta__namer   c                   s$   |dkrt jdtdd t |S )N>   forbidallowignorezX`pydantic.config.Extra` is deprecated, use literal values instead (e.g. `extra='allow'`)r   )
stacklevel)r   r   r   r#   r$   )r   r1   r'   r   r   r$   7   s    z_ExtraMeta.__getattribute__)r   r   r    r$   r.   r   r   r'   r   r0   6   s   r0   zFExtra is deprecated. Use literal values instead (e.g. `extra='allow'`)c                   @  s2   e Zd ZU dZded< dZded< dZded< dS )r   r3   zLiteral['allow']r4   zLiteral['ignore']r2   zLiteral['forbid']N)r   r   r    r3   __annotations__r4   r2   r   r   r   r   r   B   s   
r   )
__future__r   Z_annotationsr   typingr   r   Ztyping_extensionsr   r   	_internalr   r	   r   __all__r&   r   r
   r0   r   r   r   r   r   <module>   s"   

 