a
    _g                     @  sB  U d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
Z
ddlmZmZmZ ejrddlmZ dd	lmZmZ eeeef Zeje	eef ddf Zejd
ddZdZded< ejZd(dddddddddd	ddZ d)d
dddddd
dddZ!ej"ddddddddddd
d d!Z#d*dd"d"dd#d$d%d&d'Z$dS )+    )annotationsN)deepcopy)Enum)AnyTuple   )_model_construction_typing_extra_utils	BaseModel)AbstractSetIntStrMappingIntStrAnyModelr   )boundz<set[int] | set[str] | dict[int, Any] | dict[str, Any] | Noneztyping_extensions.TypeAliasIncExFboolz+AbstractSetIntStr | MappingIntStrAny | NoneTupleGenerator)	selfto_dictby_aliasincludeexcludeexclude_unsetexclude_defaultsexclude_nonereturnc                 c  s   |d ur&t jdd | j D |}|d urLt jjdd | jD |dd}t| |||d}|d u r|s|s|s|s|s| j E d H  | jr| j E d H  d S |d urt | |nd }	|d urt | |nd }
| jd u r| j }nt| j t| j  }|D ]\}}|d ur$||vs|r8|d u r8q|r|z| j| }W n t	y`   Y n0 |
 s||j|kr|q|r|| jv r| j| jp|}n|}|s|
s|	rtt| ||||
o|
||	o|	||||d	}||fV  qd S )Nc                 S  s"   i | ]\}}|j d ur||j qS )N)r   .0kv r!   p/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py
<dictcomp>+       z_iter.<locals>.<dictcomp>c                 S  s   i | ]
}|d qS )Tr!   )r   r   r!   r!   r"   r#   /   r$   T)Z	intersect)r   r   r   )r   r   r   r   r   r   r   )r
   
ValueItemsmergeZ__pydantic_fields__items_calculate_keys__dict____pydantic_extra__listKeyErrorZis_requireddefaultalias
_get_valuetypefor_element)r   r   r   r   r   r   r   r   Zallowed_keysvalue_excludevalue_includer'   Z	field_keyr    fieldZdict_keyr!   r!   r"   _iter   sV    
$r5   zdict[str, Any]zset[str]zdict[str, Any] | None)r   values
fields_setextraprivatedeepr   c                C  s`   |rt |}t |}t |}| j}||}t|d| t|d| t|d| t|d| |S )Nr)   r*   __pydantic_fields_set__Z__pydantic_private__)r   	__class____new___object_setattr)r   r6   r7   r8   r9   r:   clsmr!   r!   r"   _copy_and_set_valuesb   s    	
rA   ztype[BaseModel]r   )
r?   r    r   r   r   r   r   r   r   r   c	                   s  ddl m}	 t||	r>r0|j ||dS |j||dS |rNt||nd |rbt||nd t|tr fdd| D S t	|r fddt
|D }
t|jr|j|
 S ||
S t|trtjd	d
r|jS |S d S )Nr   r   )r   r   r   r   r   r   )r   r   c                   s\   i | ]T\}}r |sr(|r|t| oD|oP|d 	qS )r   r   r   r   r   r   r   Zis_excludedZis_includedr/   r1   )r   Zk_v_r   r?   r   r   r   r   r2   r3   r!   r"   r#      s   z_get_value.<locals>.<dictcomp>c                 3  s\   | ]T\}}r |sr&|rt| o@|oL|d 	V  qdS )rB   NrC   )r   irD   rE   r!   r"   	<genexpr>   s   z_get_value.<locals>.<genexpr>Zuse_enum_valuesF) r   
isinstanceZ
model_dumpcopyr
   r%   dictr'   Zsequence_like	enumerater	   is_namedtupler<   r   getattrZmodel_configvalue)r?   r    r   r   r   r   r   r   r   r   Zseq_argsr!   rE   r"   r/   {   s4    
	

 r/   zMappingIntStrAny | Noneztyping.Dict[str, Any] | Noneztyping.AbstractSet[str] | None)r   r   r   r   updater   c                 C  s   |d u r|d u r|du rd S |r,| j  }n t| j }|| jpDi  B }|d ur`|| M }|rp|| 8 }|r|dd | D 8 }|S )NFc                 S  s    h | ]\}}t j|r|qS r!   )r
   r%   Zis_truer   r!   r!   r"   	<setcomp>   r$   z"_calculate_keys.<locals>.<setcomp>)r;   rJ   setr)   keysr*   r'   )r   r   r   r   rP   rS   r!   r!   r"   r(      s    r(   )FFNNFFF)NN)N)%
__future__r   Z_annotationstypingrJ   r   enumr   r   r   Ztyping_extensions	_internalr   r	   r
   TYPE_CHECKINGrH   r   Z_internal._utilsr   r   classmethodZAnyClassMethod	Generatorstrr   TypeVarr   r   __annotations__Zobject_setattrr>   r5   rA   no_type_checkr/   r(   r!   r!   r!   r"   <module>   s:           I  "O 