
    o i                    `    d Z ddlmZ ddlZddlmZ dZdZ		 dZ
dd
ZddZddZddZddZdS )z@The `version` module holds the version information for Pydantic.    )annotationsN)__version__)VERSIONversion_infoz2.12.3z2.41.4returnstrc                 l    d                     t                              d          dd                   S )zmReturn the `major.minor` part of Pydantic version.

    It returns '2.1' if Pydantic version is '2.1.1'.
    .N   )joinr   split     G/var/www/findabus/venv/lib/python3.11/site-packages/pydantic/version.pyversion_shortr      s+    
 88GMM#&&rr*+++r   c                    ddl } ddl}ddlm} ddlm} ddlm} h d}g }| j        	                                D ]2}|j        d         }||v r|
                    | d|j                    3 |t                    j        d                                         }	|                    |	          r)|                                r|                    |	          nd	}
t$          t&          t)          |d
d          p|j        t,          j        |                                d                    |          |
d}d                    d |                                D                       S )zFReturn complete version information for Pydantic and its dependencies.r   N)Path   )_git>   email-validatorpydantic-settingspydantic-extra-typesmypyfastapipyrighttyping_extensionsName-unknown
build_info )zpydantic versionzpydantic-core versionzpydantic-core buildzpython versionplatformzrelated packagescommit
c              3     K   | ]A\  }}d                      |dz   t          |                              dd                    V  BdS )z	{:>30} {}:r$   r!   N)formatr   replace).0kvs      r   	<genexpr>zversion_info.<locals>.<genexpr>J   sQ      eePTPQST[''CQc1J1JKKeeeeeer   )importlib.metadatar"   pathlibr   pydantic_core._pydantic_core_pydantic_core	_internalr   metadatadistributionsappendversion__file__parentsresolveis_git_repohave_gitgit_revisionr   __pydantic_core_version__getattrbuild_profilesysr   items)	importlibr"   r   pdcgitpackage_namesrelated_packagesdistnamepydantic_dirmost_recent_commitinfos               r   r   r   !   s   OOO......&&&&&&  M "0022 > >}V$=  ##t$<$<dl$<$<===4>>)!,4466L*-//,*G*GiCLLNNi&&&`i 
 $!:&sL$??T3CT+%%''HH%566$ D 99eeX\XbXbXdXdeeeeeer   boolc                 "    t           t          k    S )zBCheck that the installed `pydantic-core` dependency is compatible.)r<   !_COMPATIBLE_PYDANTIC_CORE_VERSIONr   r   r   check_pydantic_core_versionrN   M   s    $(IIIr   Nonec                     t                      sld} t          j        dk    r8ddlm}  |d          }t          t          |j        dd           dd          rd} | r"t          d	t           d
t           d          d S d S )NT)      r   )distributionpydanticdir_infoeditableFz%The installed pydantic-core version (zD) is incompatible with the current pydantic version, which requires zZ. If you encounter this error, make sure that you haven't upgraded pydantic-core manually.)
rN   r?   r   r-   rS   r=   originSystemErrorr<   rM   )raise_errorrS   rF   s      r   _ensure_pydantic_core_versionrZ   R   s    &(( w&&777777<
++Dwt{J==z5QQ $# 	k8Q k kEfk k k   	 	r   r5   tuple[int, int, int]c                    t          t          t          |                     d          d                             d                              S )a>  Parse `mypy` string version to a 3-tuple of ints.

    It parses normal version like `1.11.0` and extra info followed by a `+` sign
    like `1.11.0+dev.d6d9d8cd4f27c52edac1f537e236ec48a01e54cb.dirty`.

    Args:
        version: The mypy version string.

    Returns:
        A triple of ints, e.g. `(1, 11, 0)`.
    +r   r
   )tuplemapint	partitionr   )r5   s    r   parse_mypy_versionrb   e   s=     S'++C00399#>>??@@@r   )r   r   )r   rK   )r   rO   )r5   r   r   r[   )__doc__
__future__r   _annotationsr?   pydantic_corer   r<   __all__r   rM   r   r   rN   rZ   rb   r   r   r   <module>rh      s    F F 2 2 2 2 2 2 



 B B B B B B
#
 %- !, , , ,)f )f )f )fXJ J J J
   &A A A A A Ar   