
    i                    :   S r SSKJr  SSKJrJr  SSKJrJrJ	r	J
r
Jr  SSKJr  SSKJrJr  SSKJr  SS	KJrJr  SS
KJrJr  \(       a.  SSKJr  SSKJr  \" S\\4S9 " S S\R<                  5      5       rO\R<                  rSr \" S5      r! " S S\\	\!   \S9r"g)z%RootModel class and type definitions.    )annotations)copydeepcopy)TYPE_CHECKINGAnyGenericLiteralTypeVar)PydanticUndefined)Selfdataclass_transform   )PydanticUserError)_model_construction_repr)	BaseModel_object_setattr)Field)PrivateAttrF)kw_only_defaultfield_specifiersc                      \ rS rSrSrg)_RootModelMetaclass    N)__name__
__module____qualname____firstlineno____static_attributes__r       [/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/pydantic/root_model.pyr   r      s    CFr!   r   )	RootModelRootModelRootTypec                  .  ^  \ rS rSr% SrSrSrSrS\S'   U 4S jr	\
4SS jjrS\l        \SSU 4S	 jjj5       rSS
 jrSS jrSS jrSSS jjr\(       a-  SSSSSSSSSSSSS.                         SS jjrSU 4S jjrSS jrSrU =r$ )r#       a  !!! abstract "Usage Documentation"
    [`RootModel` and Custom Root Types](../concepts/models.md#rootmodel-and-custom-root-types)

A Pydantic `BaseModel` for the root object of the model.

Attributes:
    root: The root object of the model.
    __pydantic_root_model__: Whether the model is a RootModel.
    __pydantic_private__: Private fields in the model.
    __pydantic_extra__: Extra fields in the model.

TNr$   rootc                v   > U R                   R                  S5      nUb
  [        SSS9e[        TU ]  " S0 UD6  g )Nextraz<`RootModel` does not support setting `model_config['extra']`zroot-model-extra)coder   )model_configgetr   super__init_subclass__)clskwargsr)   	__class__s      r"   r.   RootModel.__init_subclass__4   sD      $$W-#NUg  	!+F+r!   c               t    SnU(       a  U[         La  [        S5      eUnU R                  R                  XS9  g )NTz_"RootModel.__init__" accepts either a single positional argument or arbitrary keyword arguments)self_instance)r   
ValueError__pydantic_validator__validate_python)selfr'   data__tracebackhide__s       r"   __init__RootModel.__init__<   sB     ,, u  D##33D3Mr!   c                   > [         TU ]  XS9$ )a  Create a new model using the provided root object and update fields set.

Args:
    root: The root object of the model.
    _fields_set: The set of fields to be updated.

Returns:
    The new model.

Raises:
    NotImplemented: If the model is not a subclass of `RootModel`.
)r'   _fields_set)r-   model_construct)r/   r'   r>   r1   s      r"   r?   RootModel.model_constructH   s     w&D&JJr!   c                4    U R                   U R                  S.$ )N__dict____pydantic_fields_set__rB   r8   s    r"   __getstate__RootModel.__getstate__X   s    '+'C'C
 	
r!   c                D    [        U SUS   5        [        U SUS   5        g )NrD   rC   )r   )r8   states     r"   __setstate__RootModel.__setstate__^   s&    7?X9YZj%
*;<r!   c                    [        U 5      nUR                  U5      n[        US[        U R                  5      5        [        US[        U R
                  5      5        U$ )z$Returns a shallow copy of the model.rC   rD   )type__new__r   r   rC   rD   )r8   r/   ms      r"   __copy__RootModel.__copy__b   sK    4jKK:tDMM':;4d4;W;W6XYr!   c           	         [        U 5      nUR                  U5      n[        US[        U R                  US95        [        US[        U R                  5      5        U$ )z!Returns a deep copy of the model.rC   )memorD   )rM   rN   r   r   rC   r   rD   )r8   rS   r/   rO   s       r"   __deepcopy__RootModel.__deepcopy__j   sO    4jKK:xD'IJ 	4d4;W;W6XYr!   pythonF)modeincludeexcludecontextby_aliasexclude_unsetexclude_defaultsexclude_noneexclude_computed_fields
round_tripwarningsserialize_as_anyc                   g)a  This method is included just to get a more accurate return type for type checkers.
It is included in this `if TYPE_CHECKING:` block since no override is actually necessary.

See the documentation of `BaseModel.model_dump` for more details about the arguments.

Generally, this method will have a return type of `RootModelRootType`, assuming that `RootModelRootType` is
not a `BaseModel` subclass. If `RootModelRootType` is a `BaseModel` subclass, then the return
type will likely be `dict[str, Any]`, as `model_dump` calls are recursive. The return type could
even be something different, in the case of a custom serializer.
Thus, `Any` is used here to catch all of these cases.
Nr   )r8   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   s                r"   
model_dumpRootModel.model_dumpv   s    6 r!   c                   > [        U[        5      (       d  [        $ U R                  S   R                  UR                  S   R                  :H  =(       a    [
        TU ]  U5      $ Nr'   )
isinstancer#   NotImplemented__pydantic_fields__
annotationr-   __eq__)r8   otherr1   s     r"   rl   RootModel.__eq__   sZ    %++!!''/::e>W>W?

* /.	/r!   c              #  ,   #    SU R                   4v   g 7frg   )r'   rE   s    r"   __repr_args__RootModel.__repr_args__   s     diis   r   )r'   r$   returnNone)N)r'   r$   r>   zset[str] | Nonerr   r   )rr   dict[Any, Any])rI   rt   rr   rs   )rr   r   )rS   zdict[int, Any] | Nonerr   r   )rW   zLiteral['json', 'python'] | strrX   r   rY   r   rZ   zdict[str, Any] | Noner[   zbool | Noner\   boolr]   ru   r^   ru   r_   ru   r`   ru   ra   z'bool | Literal['none', 'warn', 'error']rb   ru   rr   r   )rm   r   rr   ru   )rr   z_repr.ReprArgs)r   r   r   r   __doc____pydantic_root_model____pydantic_private____pydantic_extra____annotations__r.   r   r;   __pydantic_base_init__classmethodr?   rF   rJ   rP   rT   r   rd   rl   rp   r    __classcell__)r1   s   @r"   r#   r#       s,    #
, 5F N '+H#K K K
= 
 5=-1$("'%*!&,1$@D%*	 2	 		
 	 +	 "	  	 #	 	 &*	 	 >	 #	 	:/   r!   r#   )	metaclassN)#rv   
__future__r   _annotationsr   r   typingr   r   r   r	   r
   pydantic_corer   typing_extensionsr   r    r   	_internalr   r   mainr   r   fieldsr   PydanticModelFieldr   PydanticModelPrivateAttrModelMetaclassr   __all__r$   r#   r   r!   r"   <module>r      s    + 2  @ @ + 7  1 ,3?
 BTVnAopF1@@F qF-<<
/0 { 	7#45AT { r!   