Ë
    ñEjŠ4  ã                  ó  — d Z ddlmZ ddlZddlZddlZddlmZm	Z	m
Z
mZmZmZmZ ddlmZmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ erddl m!Z! dZ" ed«      Z#ejH                  dk\  r‡ eejJ                  ef¬«      edddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"d„«       «       Z& eejJ                  ef¬«      edddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#d„«       «       Z&nz eejJ                  ef¬«      edddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d$d„«       «       Z& eejJ                  ef¬«      edddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%d„«       «       Z& eejJ                  ef¬«      	 d&dddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd„«       Z& ee'«      Z(dejH                  cxk  rdk  rn nd(d„Z)e)ejT                  _+        dddddœ	 	 	 	 	 	 	 	 	 	 	 d)d „Z,d*d!„Z-y)+z7Provide an enhanced dataclass that performs validation.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚCallableÚGenericÚNoReturnÚTypeVarÚoverload)ÚLiteralÚ	TypeGuardÚdataclass_transformé   )Ú_configÚ_decoratorsÚ_typing_extra)Ú_dataclasses)Úgetattr_migration)Ú
ConfigDict)ÚFieldÚ	FieldInfo)ÚPydanticDataclass)Ú	dataclassÚrebuild_dataclassÚ_T©é   é
   )Úfield_specifiersFT.©
ÚinitÚreprÚeqÚorderÚunsafe_hashÚfrozenÚconfigÚvalidate_on_initÚkw_onlyÚslotsc        
         ó   — y ©N© r   s
             úW/var/www/html/peoplehubportal/venv/lib/python3.12/site-packages/pydantic/dataclasses.pyr   r      s   € ð 	ó    c       
         ó   — y r+   r,   )Ú_clsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   s              r-   r   r   +   s   € ð  	r.   ©r    r!   r"   r#   r$   r%   r&   r'   c                 ó   — y r+   r,   r1   s           r-   r   r   ?   s   € ð 	r.   c                ó   — y r+   r,   )	r0   r    r!   r"   r#   r$   r%   r&   r'   s	            r-   r   r   N   s   € ð 	r.   c       
   	     ó¾   ‡‡‡‡‡‡‡‡— |du sJ d«       ‚|dusJ d«       ‚t         j                  dk\  rt        |	|
¬«      Šni Šdd„Šd	ˆˆˆˆˆˆˆˆfd„}| €|S  || «      S )
aS  Usage docs: https://docs.pydantic.dev/2.7/concepts/dataclasses/

    A decorator used to create a Pydantic-enhanced dataclass, similar to the standard Python `dataclass`,
    but with added validation.

    This function should be used similarly to `dataclasses.dataclass`.

    Args:
        _cls: The target `dataclass`.
        init: Included for signature compatibility with `dataclasses.dataclass`, and is passed through to
            `dataclasses.dataclass` when appropriate. If specified, must be set to `False`, as pydantic inserts its
            own  `__init__` function.
        repr: A boolean indicating whether to include the field in the `__repr__` output.
        eq: Determines if a `__eq__` method should be generated for the class.
        order: Determines if comparison magic methods should be generated, such as `__lt__`, but not `__eq__`.
        unsafe_hash: Determines if a `__hash__` method should be included in the class, as in `dataclasses.dataclass`.
        frozen: Determines if the generated class should be a 'frozen' `dataclass`, which does not allow its
            attributes to be modified after it has been initialized.
        config: The Pydantic config to use for the `dataclass`.
        validate_on_init: A deprecated parameter included for backwards compatibility; in V2, all Pydantic dataclasses
            are validated on init.
        kw_only: Determines if `__init__` method parameters must be specified by keyword only. Defaults to `False`.
        slots: Determines if the generated class should be a 'slots' `dataclass`, which does not allow the addition of
            new attributes after instantiation.

    Returns:
        A decorator that accepts a class as its argument and returns a Pydantic `dataclass`.

    Raises:
        AssertionError: Raised if `init` is not `False` or `validate_on_init` is `False`.
    Fz7pydantic.dataclasses.dataclass only supports init=Falsez-validate_on_init=False is no longer supportedr   )r(   r)   c                ó¼  — | j                   D ]Í  }t        |dg «      }|D ]¹  }t        | |d«      }t        |t        «      sŒ!d|i}t        j
                  dk\  r|j                  rd|d<   |j                  dur|j                  |d<   t        | |t        j                  di |¤Ž«       | j                  j                  d«      €i | _        ||   | j                  |<   Œ» ŒÏ y)	a  Make sure that stdlib `dataclasses` understands `Field` kwargs like `kw_only`
        To do that, we simply change
          `x: int = pydantic.Field(..., kw_only=True)`
        into
          `x: int = dataclasses.field(default=pydantic.Field(..., kw_only=True), kw_only=True)`
        Ú__annotations__NÚdefaultr   Tr(   r!   r,   )Ú__mro__ÚgetattrÚ
isinstancer   ÚsysÚversion_infor(   r!   ÚsetattrÚdataclassesÚfieldÚ__dict__Úgetr6   )ÚclsÚannotation_clsr   Ú
field_nameÚfield_valueÚ
field_argss         r-   Úmake_pydantic_fields_compatiblez2dataclass.<locals>.make_pydantic_fields_compatible•   só   € ð "Ÿk™kò 	JˆNô " .Ð2CÀRÓHˆKØ)ò J�
Ü% c¨:°tÓ<�ä! +¬yÔ9Øð %.¨{Ð#;�
ô ×#Ñ# wÒ.°;×3FÒ3FØ,0�J˜yÑ)ð ×#Ñ#¨4Ñ/Ø)4×)9Ñ)9�J˜vÑ&ä˜˜Z¬×):Ñ):Ñ)H¸ZÑ)HÔIð —<‘<×#Ñ#Ð$5Ó6Ð>Ø*,�CÔ'Ø2=¸jÑ2I�×#Ñ# JÒ/ñ-Jñ		Jr.   c           
     óf  •— | }‰
}|€t        | dd«      }|�|}t        j                  |«      }t        j                  j                  | «      }| j                  }t        j                  | «      rNd}| f}t        | t        «      rt        | j                     }||fz   }t        j                  | j                  |«      }  ‰| «       t        j                   | fd‰‰‰‰‰dœ‰¤Ž} || _        || _        |j$                  | _        |j&                  | _        t        j(                  | |dd¬«      }	|	| _        | S )zÃCreate a Pydantic dataclass from a regular dataclass.

        Args:
            cls: The class to create the Pydantic dataclass from.

        Returns:
            A Pydantic dataclass.
        NÚ__pydantic_config__T)r    r!   r"   r#   r$   r%   F©Úraise_errorsÚtypes_namespace)r9   r   ÚConfigWrapperr   ÚDecoratorInfosÚbuildÚ__doc__Ú_pydantic_dataclassesÚis_builtin_dataclassÚ
issubclassr   Ú__parameters__ÚtypesÚ	new_classÚ__name__r>   r   Ú__pydantic_decorators__Ú
__module__Ú__qualname__Úcomplete_dataclassÚ__pydantic_complete__)rB   Úoriginal_clsÚconfig_dictÚ
cls_configÚconfig_wrapperÚ
decoratorsÚoriginal_docÚbasesÚgeneric_baseÚpydantic_completer&   r"   r%   ÚkwargsrG   r#   r!   r$   s             €€€€€€€€r-   Úcreate_dataclassz#dataclass.<locals>.create_dataclass¸   sK  ø€ ð ˆàˆØÐä  Ð&;¸TÓBˆJØÐ%Ø(�Ü ×.Ñ.¨{Ó;ˆÜ ×/Ñ/×5Ñ5°cÓ:ˆ
ð
 —{‘{ˆä ×5Ñ5°cÔ:ð  ˆLð
 �FˆEÜ˜#œwÔ'Ü& s×'9Ñ'9Ñ:�Ø  Ñ/�Ü—/‘/ #§,¡,°Ó6ˆCá'¨Ô,ä×#Ñ#Øð

ð ØØØØ#Øñ

ð ñ

ˆð '1ˆÔ#Ø"ˆŒØ%×0Ñ0ˆŒØ'×4Ñ4ˆÔÜ1×DÑDØ�¨eÀTô
Ðð %6ˆÔ!Øˆ
r.   )rB   ú	type[Any]ÚreturnÚNone)rB   rh   ri   útype[PydanticDataclass])r;   r<   Údict)r0   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   rg   rf   rG   s     ``````    @@r-   r   r   _   su   ÿ€ ð\ �5‰=ÐSÐSÓSˆ=Ø 5Ñ(ÐYÐ*YÓYÐ(ä
×Ñ˜7Ò"Ü˜g¨UÔ3‰àˆó!J÷F=ô =ð~ €|ØÐá˜DÓ!Ð!r.   )r   é   )r   é   c                 ó   — t        d«      ‚)a9  This function does nothing but raise an error that is as similar as possible to what you'd get
        if you were to try calling `InitVar[int]()` without this monkeypatch. The whole purpose is just
        to ensure typing._type_check does not error if the type hint evaluates to `InitVar[<parameter>]`.
        z 'InitVar' object is not callable)Ú	TypeError)Úargsrf   s     r-   Ú_call_initvarrr     s   € ô
 Ð:Ó;Ð;r.   é   )ÚforcerK   Ú_parent_namespace_depthÚ_types_namespacec               ó*  — |s| j                   ry|�|j                  «       }n:|dkD  rt        j                  |¬«      xs i }|}ni }t        j                  | |«      }t        j                  | t        j                  | j                  d¬«      ||¬«      S )ax  Try to rebuild the pydantic-core schema for the dataclass.

    This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
    the initial attempt to build the schema, and automatic rebuilding fails.

    This is analogous to `BaseModel.model_rebuild`.

    Args:
        cls: The class to rebuild the pydantic-core schema for.
        force: Whether to force the rebuilding of the schema, defaults to `False`.
        raise_errors: Whether to raise errors, defaults to `True`.
        _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
        _types_namespace: The types namespace, defaults to `None`.

    Returns:
        Returns `None` if the schema is already "complete" and rebuilding was not required.
        If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
    Nr   )Úparent_depthF)ÚcheckrJ   )
r\   Úcopyr   Úparent_frame_namespaceÚget_cls_types_namespacerQ   r[   r   rM   rI   )rB   rt   rK   ru   rv   rL   Úframe_parent_nss          r-   r   r     s•   € ñ4 �S×.Ò.ØàÐ'Ø5E×5JÑ5JÓ5L‰Oà&¨Ò*Ü"/×"FÑ"FÐTkÔ"lÒ"rÐpr�ð #2‘à"$�ä+×CÑCÀCÈÓYˆOÜ$×7Ñ7ØÜ×!Ñ! #×"9Ñ"9ÀÔGØ%Ø+ô	
ð 	
r.   c                óL   — t        j                  | «      xr d| j                  v S )z¨Whether a class is a pydantic dataclass.

    Args:
        __cls: The class.

    Returns:
        `True` if the class is a pydantic dataclass, `False` otherwise.
    Ú__pydantic_validator__)r>   Úis_dataclassr@   )Ú__clss    r-   Úis_pydantic_dataclassr‚   >  s$   € ô ×#Ñ# EÓ*ÒYÐ/GÈ5Ï>É>Ð/YÐYr.   )r    úLiteral[False]r!   Úboolr"   r„   r#   r„   r$   r„   r%   r„   r&   ú ConfigDict | type[object] | Noner'   úbool | Noner(   r„   r)   r„   ri   ú-Callable[[type[_T]], type[PydanticDataclass]])r0   útype[_T]r    rƒ   r!   r„   r"   r„   r#   r„   r$   r„   r%   r„   r&   r…   r'   r†   r(   r„   r)   r„   ri   rk   )r    rƒ   r!   r„   r"   r„   r#   r„   r$   r„   r%   r„   r&   r…   r'   r†   ri   r‡   )r0   rˆ   r    rƒ   r!   r„   r"   r„   r#   r„   r$   r„   r%   r„   r&   r…   r'   r†   ri   rk   r+   )r0   ztype[_T] | Noner    rƒ   r!   r„   r"   r„   r#   r„   r$   r„   r%   r„   r&   r…   r'   r†   r(   r„   r)   r„   ri   zGCallable[[type[_T]], type[PydanticDataclass]] | type[PydanticDataclass])rq   r   rf   r   ri   r   )rB   rk   rt   r„   rK   r„   ru   Úintrv   zdict[str, Any] | Noneri   r†   )r�   rh   ri   z"TypeGuard[type[PydanticDataclass]]).rP   Ú
__future__r   Ú_annotationsr>   r;   rU   Útypingr   r   r   r   r   r	   r
   Útyping_extensionsr   r   r   Ú	_internalr   r   r   r   rQ   Ú
_migrationr   r&   r   Úfieldsr   r   Ú_internal._dataclassesr   Ú__all__r   r<   r?   r   rW   Ú__getattr__rr   ÚInitVarÚ__call__r   r‚   r,   r.   r-   ú<module>r–      su  ðÙ =Ý 2ã Û 
Û ß U× UÑ Uç EÑ Eç :Ñ :Ý <Ý )Ý ß $áÝ9à
*€áˆTƒ]€à×Ñ�wÒá¨;×+<Ñ+<¸eÐ*DÔEØð  %ØØØØ!ØØ37Ø(,ØØñàðð ðð ð	ð
 ðð ðð ðð 1ðð &ðð ðð ðð 
7òó ó Fðñ ¨;×+<Ñ+<¸eÐ*DÔEØð  %ØØØØ!ØØ37Ø(,ØØñØðð ðð ð	ð
 ðð ðð ðð ðð 1ðð &ðð ðð ðð 
!òó ó Fññ$ ¨;×+<Ñ+<¸eÐ*DÔEØð  %ØØØØ!ØØ37Ø(,ñàðð ðð ð	ð
 ðð ðð ðð 1ðð &ðð 
7òó ó Fðñ ¨;×+<Ñ+<¸eÐ*DÔEØð  %ØØØØ!ØØ37Ø(,ñØðð ðð ð	ð
 ðð ðð ðð ðð 1ðð &ðð 
!òó ó Fðñ  {×'8Ñ'8¸%Ð&@ÔAà ðZ"ð !ØØØØØØ/3Ø$(ØØñZ"Ø
ðZ"ð ðZ"ð ð	Z"ð
 	ðZ"ð ðZ"ð ðZ"ð ðZ"ð -ðZ"ð "ðZ"ð ðZ"ð ðZ"ð MòZ"ó BðZ"ñz   Ó)€à	ˆS×ÑÔ' Õ'ó<ð $1€K×ÑÔ ð ØØ#$Ø.2ñ.
Ø	 ð.
ð ð.
ð ð	.
ð
 !ð.
ð ,ð.
ð ó.
ôb	Zr.   