U
    	f                     @  s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZ d dlZd dlmZ ddlmZ ed	Zed
ejdZejdZer
dddddZdddddZdddddZdddddZdddd d!Zddd"d#d$Zddd"d%d&Z n`er>d d'l!mZmZmZm Z mZ d d(l"mZmZ n,d d'l#mZmZmZm Z mZ d d(l$mZmZ er~d d)lm%Z% nerd d)lm%Z% ndZ%d*d+d
d,d-d.Z&d/dd0d1d2Z'd/d3d0d4d5Z(d/d3d0d6d7Z)d8d3d9d:d;Z*d8d<d9d=d>Z+d
d
d9d?d@Z,ddAdBdCdDdEdFdGZ-dHdHdIdBdddJdKdLdMZ.d*d3d
dNdOdPZ/erhG dQdR dRejZ0n:erG dSdR dRejZ0n d dl1ZG dTdR dRej2j0ejZ0ere3Z4G dUdV dVee Z5n8zd dWl6m4Z4 W n" e7k
r   d dWl4m4Z4 Y nX e4Z5dS )X    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfN)	FieldInfo   )StrBytesIntFloat_T_ModelT)boundz2.zdate | StrBytesIntFloatr   )valuereturnc                 C  s   d S N r   r   r   O/var/www/html/apigroqsegura/apigroq/lib/python3.8/site-packages/groq/_compat.py
parse_date   s    r   z!Union[datetime, StrBytesIntFloat]r   c                 C  s   d S r   r   r   r   r   r   parse_datetime   s    r   	type[Any]ztuple[Any, ...])tr   c                 C  s   d S r   r   r   r   r   r   get_args   s    r   type[Any] | Nonebool)tpr   c                 C  s   d S r   r   )r"   r   r   r   is_union"   s    r#   c                 C  s   d S r   r   r   r   r   r   
get_origin%   s    r$   )type_r   c                 C  s   d S r   r   r%   r   r   r   is_literal_type(   s    r'   c                 C  s   d S r   r   r&   r   r   r   is_typeddict+   s    r(   )r   r#   r$   r(   r'   )r   r   )
ConfigDictztype[_ModelT]object)modelr   r   c                 C  s"   t r| |S tt| |S d S r   )PYDANTIC_V2model_validater	   r   	parse_obj)r+   r   r   r   r   r.   O   s    
r.   r   )fieldr   c                 C  s   t r|  S | jS r   )r,   is_requiredrequiredr/   r   r   r   field_is_requiredV   s    r3   r   c                 C  s,   |   }tr(ddlm} ||kr$d S |S |S )Nr   )PydanticUndefined)get_defaultr,   pydantic_corer4   )r/   r   r4   r   r   r   field_get_default\   s    r7   c                 C  s   t r
| jS | jS r   )r,   
annotationouter_type_r2   r   r   r   field_outer_typeg   s    r:   ztype[pydantic.BaseModel])r+   r   c                 C  s   t r
| jS | jS r   )r,   model_config
__config__r+   r   r   r   get_model_configm   s    r>   zdict[str, FieldInfo]c                 C  s   t r
| jS | jS r   )r,   model_fields
__fields__r=   r   r   r   get_model_fieldss   s    rA   c                 C  s   t r|  S |  S r   )r,   
model_copycopyr=   r   r   r   rB   y   s    rB   indentzpydantic.BaseModelz
int | Nonestr)r+   rE   r   c                C  s   t r| j|dS | j|dS )NrD   )r,   model_dump_jsonjson)r+   rE   r   r   r   
model_json   s    rI   Fexclude_unsetexclude_defaultsdict[str, Any])r+   rK   rL   r   c                C  s&   t r| j||dS td| j||dS )NrJ   rM   )r,   
model_dumpr	   dict)r+   rK   rL   r   r   r   rN      s    rN   )r+   datar   c                 C  s   t r| |S | |S r   )r,   r-   r.   )r+   rP   r   r   r   model_parse   s    
rQ   c                   @  s   e Zd ZdS GenericModelN__name__
__module____qualname__r   r   r   r   rS      s   rS   c                   @  s   e Zd ZdS rR   rT   r   r   r   r   rS      s   c                   @  s   e Zd ZdS rR   rT   r   r   r   r   rS      s   c                   @  s   e Zd ZU ded< ded< dddddZeddd
ddddZeddd
ddddZddd
ddddZddddddZddddddZd	S )typed_cached_propertyzCallable[[Any], _T]funcz
str | NoneattrnameNone)rY   r   c                 C  s   d S r   r   )selfrY   r   r   r   __init__   s    ztyped_cached_property.__init__Nr    r   )instanceownerr   c                 C  s   d S r   r   r\   r^   r_   r   r   r   __get__   s    ztyped_cached_property.__get__r*   r   c                 C  s   d S r   r   r`   r   r   r   ra      s    z	_T | Selfc                 C  s
   t  d S r   )NotImplementedErrorr`   r   r   r   ra      s    r   rF   )r_   namer   c                 C  s   d S r   r   )r\   r_   rc   r   r   r   __set_name__   s    z"typed_cached_property.__set_name__)r^   r   r   c                 C  s   d S r   r   )r\   r^   r   r   r   r   __set__   s    ztyped_cached_property.__set__)N)N)N)	rU   rV   rW   __annotations__r]   r
   ra   rd   re   r   r   r   r   rX      s   
rX   )cached_property)8
__future__r   typingr   r   r   r   r   r   r	   r
   r   r   typing_extensionsr   pydanticpydantic.fieldsr   _typesr   r   	BaseModelr   VERSION
startswithr,   r   r   r   r#   r$   r'   r(   Zpydantic.v1.typingZpydantic.v1.datetime_parseZpydantic.typingZpydantic.datetime_parser)   r.   r3   r7   r:   r>   rA   rB   rI   rN   rQ   rS   pydantic.genericsgenericspropertyrg   rX   	functoolsImportErrorr   r   r   r   <module>   sj   (	
