
    \h(&                    H   % S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  SS	KJr  SS
KJrJrJrJrJrJrJrJr J!r"J#r$J%r&J'r(J)r*J+r,J-r.J/r0J1r2J3r4J5r6J7r8J9r:J;r<J=r>J?r@JArB  / SQrC/ SQrDS rESrFS rGS rH\R                  R                  SS5      R                  5       rLSrMSrN\LS;   a  \G" \L5      rM\Mb  SrLOSrL\LS;   a  \H" \L5      rN\Nb  SrLOSrL\LS;  a
  \" S5        SrLSS\" \5      -  S-
  -  S-
  rOS\PS'   \LS:X  Gab  \Nc   eSrQ\NrRSrSSrT\U\V" \RR                  S 5      5      4rX\RR                  rY\RR                  r[\RR"                  r\RR&                  r\RR*                  r\RR                  r\RR                  r\RRF                  r#\RR                  r\RR:                  r\RR>                  r\RRB                  r!\RRJ                  r%\RRN                  r'\RRR                  r)\RRV                  r+S r-\RR^                  r/\RRb                  r1\RRf                  r3\RRj                  r5\RRn                  r7\RRr                  r9\RRv                  r;\RRz                  r=\RR~                  r?\RR                  rAg\LS:X  am  \Mc   e\MrQSrRS rSSrT\U\QR                  4rX\QR                  rY\QR                  r[\r\r\r\rS rS  r#S! rS" rS# r\"r!\&r%\(r'S$ r)\,r+S% r-\0r/\2r1\4r3\6r5\8r7\:r9\<r;\>r=\@r?\BrAg\LS:X  aB  SrQSrRS rSSrT\U4rX\UrY\r[\r\r\r\r\r\$r#\r\r\ r\"r!\&r%\(r'\*r)\,r+\.r-\0r/\2r1\4r3\6r5\8r7\:r9\<r;\>r=\@r?\BrAg e)&    )annotationsN)c_longsizeof)reduce)Type)warn)import_module   )	PythonMPQ)	bit_scan1	bit_scan0remove	factorialsqrtsqrtremgcdlcmgcdext	is_squareinvertlegendrejacobi	kroneckerirootis_fermat_prpis_euler_prpis_strong_prpis_fibonacci_prpis_lucas_prpis_selfridge_prpis_strong_lucas_prpis_strong_selfridge_prpis_bpsw_prpis_strong_bpsw_prp)GROUND_TYPESHAS_GMPY
SYMPY_INTSMPQMPZr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   )z0.6z0.7z0.8z0.9z0.10c                N    U R                  S5      S S u  pU SU 3nU[        ;   $ )N.   )split_PYTHON_FLINT_VERSION_NEEDED)flint_versionmajorminor	flint_vers       K/var/www/auris/envauris/lib/python3.13/site-packages/sympy/external/gmpy.py_flint_version_okayr4   c   s7     &&s+BQ/LE'5'"I444    z2.0.0c                    U S;  a  g  SS K nSSK Jn  [	        U5      (       a  U$ U S:X  a  g [        SU S[
         S	35        U$ ! [         a    U S:X  a  [        S5         g f = f)
Nautoflintr   )__version__r9   zjSYMPY_GROUND_TYPES was set to flint but python-flint is not installed. Falling back to other ground types.r8   zUsing python-flint zp because SYMPY_GROUND_TYPES is set to flint but this version of SymPy is only tested with python-flint versions r+   )r9   r:   ImportErrorr   r4   r.   )sympy_ground_typesr9   _flint_versions      r3   
_get_flintr>   n   s    !227 >**	v	%">"2 3++G*HK 	L   ( B C	s   
A A"!A"c                \    U S;  a  g [        S[        SSS9nU S:w  a  Uc  [        S5        U$ )Nr8   gmpygmpy2rB   version )min_module_versionmodule_version_attrmodule_version_attr_call_argsr8   zBgmpy2 library is not installed, switching to 'python' ground types)r	   _GMPY2_MIN_VERSIONr   )r<   rA   s     r3   
_get_gmpy2rI      s?    !::5G )MD V#QRKr5   SYMPY_GROUND_TYPESr8   r7   r9   r@   rA   python)r9   rA   rK   zmSYMPY_GROUND_TYPES environment variable unrecognised. Should be 'auto', 'flint', 'gmpy', 'gmpy2' or 'python'.   ztuple[Type, ...]r'   r,   c                V    U[         ::  a  [        R                  X5      $ [        X5      $ N)LONG_MAXrA   r   python_iroot)xns     r3   r   r      s%     =::a##A!!r5   c                H    [         R                  U 5      R                  5       $ rN   )r9   fmpzisqrtrQ   s    r3   r   r     s    zz!}""$$r5   c                b    U S:  a  g[         R                  U 5      R                  5       S   S:H  $ )Nr   Fr
   r9   rT   r   rV   s    r3   r   r     s-    q5zz!}$$&q)Q..r5   c                H    [         R                  U 5      R                  5       $ rN   rX   rV   s    r3   r   r     s    zz!}$$&&r5   c                 r    [        [        R                  R                  U [        R                  S5      5      $ )Nr   )r   r9   rT   r   argss    r3   r   r     !    ejjnndEJJqM::r5   c                 r    [        [        R                  R                  U [        R                  S5      5      $ )Nr
   )r   r9   rT   r   r[   s    r3   r   r     r]   r5   c                    US::  d
  US-  (       d  [        S5      e[        R                  U 5      R                  U5      $ )Nr   r,   z#y should be an odd positive integer)
ValueErrorr9   rT   r   )rQ   ys     r3   r   r     s4    6QBCCzz!}##A&&r5   c                    U[         ::  a-  [        R                  U 5      R                  U5      nX"U-  U :H  4$ [	        X5      $ rN   )rO   r9   rT   rootrP   )rQ   rR   ra   s      r3   r   r     s<    =

1""1%Adai<A!!r5   )a
__future__r   osctypesr   r   	functoolsr   typingr   warningsr   sympy.externalr	   	pythonmpqr   ntheoryr   python_bit_scan1r   python_bit_scan0r   python_remover   python_factorialr   python_sqrtr   python_sqrtremr   
python_gcdr   
python_lcmr   python_gcdextr   python_is_squarer   python_invertr   python_legendrer   python_jacobir   python_kroneckerr   rP   r   python_is_fermat_prpr   python_is_euler_prpr   python_is_strong_prpr   python_is_fibonacci_prpr   python_is_lucas_prpr    python_is_selfridge_prpr!   python_is_strong_lucas_prpr"   python_is_strong_selfridge_prpr#   python_is_bpsw_prpr$   python_is_strong_bpsw_prp__all__r.   r4   rH   r>   rI   environgetlower_SYMPY_GROUND_TYPES_flint_gmpyrO   __annotations__r9   rA   r&   r%   inttypempzr'   r)   mpqr(   facrU   	isqrt_remrT   fmpqrD   r5   r3   <module>r      s   " 	 !    (        :0n  D 5  2
  jjnn%96BHHJ 	 +++,F%$33*+E$&99 
C D" !F6N"Q&'1,  & EDHLtDHHQK()J
((C
((CII[[FI::DInnG
((C
((C[[F[[F}}H[[FI" &&M$$L&&M,,$$L,,22"::""K00G#EDHLuzz"J
**C
**C I IF I%/
';; FFH'
 !I" )M&L(M.&L.4<$K2H$EDHLJ
C
C I IF ID IG
C
CFFHF IE(M&L(M.&L.4<$K2 5r5   