
    Nh              
         S SK Jr  S SKrS SKrS SKJr  S SKrS SKJr  S SK	J
r
  \(       a  S SKr0 SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_0 S&S'_S(S)_S*S+_S,S-_S.S/_S0S1_S2S3_S4S_S5S6_S7S_S8S9_S:S;_S<S=_S>S?_S@S_SASB_SCSD_ES)SESFSGSH.ErSISJSKSLS$SMS4SNSOSP.	rSSSQ jr   ST       SUSR jjrg)V    )annotationsN)TYPE_CHECKING)find_stack_level)Versionzadbc-driver-postgresqlz0.8.0zadbc-driver-sqlitebs4z4.11.2bloscz1.21.3
bottleneckz1.3.6zdataframe-api-compatz0.1.7fastparquetz	2022.12.0fsspecz	2022.11.0html5libz1.1
hypothesisz6.46.1gcsfsjinja2z3.1.2
lxml.etreez4.9.2
matplotlibz3.6.3numbaz0.56.4numexprz2.8.4odfpyz1.4.1openpyxlz3.1.0
pandas_gbqz0.19.0psycopg2z2.9.6pymysqlz1.0.2pyarrowz10.0.1
pyreadstatz1.2.0pytestz7.3.2zpython-calaminepyxlsbz1.0.10s3fsscipyz1.10.0
sqlalchemyz2.0.0tablesz3.8.0tabulatez0.9.0xarrayxlrdz2.0.1
xlsxwriterz3.0.5z2022.7z2.3.0z5.15.9)	zstandardtzdataqtpypyqt5beautifulsoup4
BottleneckJinja2lxmlz
pandas-gbq
SQLAlchemypytables)	r   r	   r   r   odfr   python_calaminer   r    c                    [        U SS 5      nUc  [        SU R                   35      eU R                  S:X  a  UR                  5       S   nU$ )N__version__zCan't determine version for r   r   )getattrImportError__name__split)moduleversions     I/var/www/html/env/lib/python3.13/site-packages/pandas/compat/_optional.pyget_versionr:   J   sN    fmT2G88IJKK*$--/!$N    c                \   US;   d   e[         R                  U 5      nUb  UOU nSU SU SU S3n [        R                  " U 5      nU R                  S5      S   nX:w  a  Un[        R                  U   n	OUn	Ub  UO[        R                  U5      n
U
(       aq  [        U	5      nU(       a_  [        U5      [        U
5      :  aG  S	U
 S
U SU S3nUS:X  a#  [        R                  " U[        [        5       S9  gUS:X  a  [	        U5      egU$ ! [         a    US:X  a  [	        U5      e gf = f)a  
Import an optional dependency.

By default, if a dependency is missing an ImportError with a nice
message will be raised. If a dependency is present, but too old,
we raise.

Parameters
----------
name : str
    The module name.
extra : str
    Additional text to include in the ImportError message.
errors : str {'raise', 'warn', 'ignore'}
    What to do when a dependency is not found or its version is too old.

    * raise : Raise an ImportError
    * warn : Only applicable when a module's version is to old.
      Warns that the version is too old and returns None
    * ignore: If the module is not installed, return None, otherwise,
      return the module, even if the version is too old.
      It's expected that users validate the version locally when
      using ``errors="ignore"`` (see. ``io/html.py``)
min_version : str, default None
    Specify a minimum version that is different from the global pandas
    minimum version required.
Returns
-------
maybe_module : Optional[ModuleType]
    The imported module, when found and the version is correct.
    None is returned when the package is not found and `errors`
    is False, or when the package's version is too old and `errors`
    is ``'warn'`` or ``'ignore'``.
>   warnraiseignoreNzMissing optional dependency 'z'. z Use pip or conda to install .r>   r   zPandas requires version 'z' or newer of 'z' (version 'z' currently installed).r=   )
stacklevel)INSTALL_MAPPINGget	importlibimport_moduler4   r6   sysmodulesVERSIONSr:   r   warningsr=   UserWarningr   )nameextraerrorsmin_versionpackage_nameinstall_namemsgr7   parentmodule_to_getminimum_versionr8   s               r9   import_optional_dependencyrU   U   sb   P 0000"&&t,L#/#;<L (~S @''3nA	7 ((. ZZ_QF~L1%0%<k(,,vBVOm,ww''/*BB+O+<OF8 T$I%<>  /1
 7"!#&&MA  Wc""s   D D+*D+)r7   ztypes.ModuleTypereturnstr) r>   N)rK   rW   rL   rW   rM   rW   rN   z
str | None)
__future__r   rD   rF   typingr   rI   pandas.util._exceptionsr   pandas.util.versionr   typesrH   rB   r:   rU    r;   r9   <module>r_      s9   "  
    4 ''g''' 
8' X	'
 '' G' ;' k' ' (' [' g' '' '' X'  w!'" W#'$ %'& (''( )'* w+', x-'. '/'0 g1'2 w3'4 h5'6 K7'8 X9': ';'< g='> ?'@ kA'B GC'D 'E'F M'Z (
 "	S
SS S 	Sr;   