
    ei+(                        U d dl Z d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZ ddlmZ ddlmZ dd	lmZ g d
ZdZd ZdZd Zd Ze j                            dd                                          ZdZdZedv r ee          ZedZndZedv r ee          ZedZndZedvr ed           dZdd ee          z  dz
  z  dz
  Zee	df         e d<   edk    rCeJ dZ!eZ"dZ#dZ$e% e&e"'                    d                     fZ(e"j'        Z)e"j*        Z+e"j        ZdS edk    r'eJ eZ!dZ"d Z#dZ$e%e!j,        fZ(e!j,        Z)e!j-        Z+eZdS edk    rdZ!dZ"d Z#dZ$e%fZ(e%Z)eZ+eZdS J )    N)c_longsizeof)reduce)TupleType)warn   )import_module)	PythonMPQ)gcdext)GROUND_TYPESHAS_GMPY
SYMPY_INTSMPQMPZr   z0.6.*c                     |                      d          d d         }t                               d          d d         }||k    S )N.   )split_PYTHON_FLINT_VERSION_NEEDED)flint_version	flint_ver
needed_vers      j/var/www/html/volatility/venv/lib/python3.11/site-packages/ccxt/static_dependencies/sympy/external/gmpy.py_flint_version_okayr   b   sE    ##C((!,I-33C88!<J
""    z2.0.0c                    | dvrd S 	 dd l }ddl m} n&# t          $ r | dk    rt          d           Y d S w xY wt	          |          r|S | dk    rt          d| dt
           d	           d S t          d
| dt
           d           |S )Nautoflintr   )__version__r    zjSYMPY_GROUND_TYPES was set to flint but python-flint is not installed. Falling back to other ground types.r   zpython-flint z is installed but only version z| will be used by default. Falling back to other ground types. Use SYMPY_GROUND_TYPES=flint to force the use of python-flint.zUsing python-flint zm because SYMPY_GROUND_TYPES is set to flint but this version of SymPy has only been tested with python-flint r   )r    r!   ImportErrorr   r   r   )sympy_ground_typesr    _flint_versions      r   
_get_flintr%   m   s*   !222t7777777   (( B C C Ctt	 >** 	v	%	% K^ K K,K K K 	L 	L 	L t B> B B">B B B 	C 	C 	C s   
 66c                 p    | dvrd S t          dt          dd          }| dk    r|t          d           |S )Nr   gmpygmpy2r)   version )min_module_versionmodule_version_attrmodule_version_attr_call_argsr   zBgmpy2 library is not installed, switching to 'python' ground types)r
   _GMPY2_MIN_VERSIONr   )r#   r(   s     r   
_get_gmpy2r0      sY    !:::t5G )M M MD V##QRRRKr   SYMPY_GROUND_TYPESr   r   r    r'   r(   python)r    r(   r2   zmSYMPY_GROUND_TYPES environment variable unrecognised. Should be 'auto', 'flint', 'gmpy', 'gmpy2' or 'python'.   .r   r   ).osctypesr   r   	functoolsr   typingr   tTupler   warningsr   importtoolsr
   	pythonmpqr   ntheoryr   python_gcdext__all__r   r   r/   r%   r0   environgetlower_SYMPY_GROUND_TYPES_flint_gmpyLONG_MAX__annotations__r    r(   r   r   inttypempzr   r   mpqr   fmpzfmpqr+   r   r   <module>rM      s   					 ! ! ! ! ! ! ! !       ( ( ( ( ( ( ( (       & & & & & &                 :0 0 0n  ' # # #    :
 
 
  jnn%96BBHHJJ 	 +++Z+,,F%$333J*++E$&999D 
C D D D" !FF6NN"Q&'1, 49   &  EDHLttDHHQKK(()J
(C
(C [FFF0 G##EDHLuz"J
*C
*C0 FFF8 H$$EDHLJ
C
C FFF$ Lr   