+
    i                     r   R t ^ RIHtHt ^ RIHtHtHtHtH	t	H
t
Ht ^ RIHtHtHtHtHtHtHtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^RIHtHtH t H!t! R t"]PF                  ! ]4      R	 4       t$]PF                  ! ]4      R
 4       t$]PF                  ! ]	4      R 4       t$]PF                  ! ]
4      R 4       t$]PF                  ! ]4      R 4       t$]PJ                  ! ]]]]4      R 4       t$]PF                  ! ]4      R 4       t$]PF                  ! ]4      R 4       t$]PF                  ! ]4      R 4       t$]PF                  ! ]4      R 4       t$]PF                  ! ]4      R 4       t$R t&] PF                  ! ]4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]	4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]
4      R 4       t$] PF                  ! ]4      R 4       t$] PJ                  ! ]]]]4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]4      R 4       t$] PF                  ! ]4      R  4       t$]!PF                  ! ]4      R! 4       t$]!PF                  ! ]4      R" 4       t$R## )$zD
Handlers for keys related to number theory: prime, even, odd, etc.
)Qask)AddBasicExprFloatMulPowS)ImaginaryUnitInfinityIntegerNaNNegativeInfinityNumberSymbolRational
int_valued)Absimreisprime)MDNotImplementedError)PrimePredicateCompositePredicateEvenPredicateOddPredicatec                     V P                  \        4      '       * p \        V P                  4       4      pW,
          P	                  ^ 4      RJ d   \
        h T'       d   \        T4      # R#   \
         d     R# i ; i)    FN)atomsr   introundequals	TypeErrorr   )exprassumptionsexactis   &&  `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/assumptions/handlers/ntheory.py_PrimePredicate_numberr)      so    

5!!E

HQ5(O ) qz   s   :A, ,A;:A;c                 2    V P                   pVf   \        hV# N)is_primer   r$   r%   rets   && r(   _r/   "   s    
--C
{##J    c                 @    V P                   '       d   \        W4      # R # r+   )	is_numberr)   r$   r%   s   &&r(   r/   r/   )   s    ~~~%d88 r0   c                 0   V P                   '       d   \        W4      # V P                   F,  p\        \        P
                  ! V4      V4      '       d   K+   R # 	  V P                   F,  pVP                   '       g   K  VP                  '       g   K+   R# 	  R # NF)r2   r)   argsr   r   integeris_composite)r$   r%   args   && r(   r/   r/   .   sc    ~~~%d88yy199S>;//  yy===S--- r0   c                   V P                   '       d   \        W4      # \        \        P                  ! V P
                  4      V4      '       d   \        \        P                  ! V P                  4      V4      '       dx   \        \        P                  ! V P                  4      V4      pVRJ d   R# \        \        P                  ! V P
                  ^4      V4      pVRJ d   R# VRJ d   VRJ d   R# R# R# R# R# )z 
Integer**Integer     -> !Prime
FTN)	r2   r)   r   r   r7   expbaseprimeeq)r$   r%   
prime_base
is_exp_ones   &&  r(   r/   r/   9   s    
 ~~~%d88
199TXX,,		$))$k22+[9
dhh*K8
*"4 #5 3 -r0   c                     \        V 4      # r+   r   r3   s   &&r(   r/   r/   K   s    4=r0   c                     R # F r3   s   &&r(   r/   r/   O       r0   c                     \        W4      # r+   r)   r3   s   &&r(   r/   r/   S       !$44r0   c                     \        W4      # r+   rG   r3   s   &&r(   r/   r/   W   rH   r0   c                     R # r+   rD   r3   s   &&r(   r/   r/   [       r0   c                 2    V P                   pVf   \        hV# r+   )r8   r   r-   s   && r(   r/   r/   b   s    


C
{##Jr0   c                 f   \        \        P                  ! V 4      V4      pV'       d   \        \        P                  ! V 4      V4      pV'       d_   \        \        P                  ! V 4      V4      pVf   R # \        \        P
                  ! V ^4      V4      pV'       d   R# Vf   R # V'       * # V# V# r5   )r   r   positiver7   r=   r>   )r$   r%   	_positive_integer_prime_is_ones   &&    r(   r/   r/   i   s    AJJt$k2Iqyy44F~ !$$tQ-5G:Or0   c                    \        V \        \        34      '       d   \        V 4      '       d   R # R#  \	        V P                  4       4      pY,
          P                  ^ 4      '       g   R# T^,          ^ 8H  #   \         d     R# i ; ir5   )
isinstancefloatr   r   r    r!   r#   r"   )r$   r%   r'   s   && r(   _EvenPredicate_numberrV      ss    $''d

 HQq5A:	  s   A7 7BBc                 2    V P                   pVf   \        hV# r+   )is_evenr   r-   s   && r(   r/   r/      s    
,,C
{##Jr0   c                 @    V P                   '       d   \        W4      # R # r+   )r2   rV   r3   s   &&r(   r/   r/      s    ~~~$T77 r0   c                   V P                   '       d   \        W4      # Rw  r#rEV P                   F  p\        \        P
                  ! V4      V4      '       d   \        \        P                  ! V4      V4      '       d   RpM\        \        P                  ! V4      V4      '       d   V^,          pMuV'       g6   V^8w  d/   \        \        P                  ! WV,           4      V4      '       d   RpM7\        \        P                  ! V4      V4      '       d   V'       d    R# RpM R# TpK  	  V'       d   R# V'       d   R# V\        V P                  4      8X  d   R# R# )z
Even * Integer    -> Even
Even * Odd        -> Even
Integer * Odd     -> ?
Odd * Odd         -> Odd
Even * Even       -> Even
Integer * Integer -> Even if Integer + Integer = Odd
otherwise         -> ?
FTN)Fr   F   )
r2   rV   r6   r   r   r7   evenodd
irrationallen)r$   r%   r\   r]   r^   accr9   s   &&     r(   r/   r/      s     ~~~$T77!3Dzyyqyy~{++166#;,,QUU3Z--qcQhquuSY'55Dc"K00 J% ( #dii.  !r0   c                   V P                   '       d   \        W4      # RpV P                   F[  p\        \        P
                  ! V4      V4      '       d   K+  \        \        P                  ! V4      V4      '       d
   V'       * pKZ   R# 	  V# )z=
Even + Odd  -> Odd
Even + Even -> Even
Odd  + Odd  -> Even

TN)r2   rV   r6   r   r   r\   r]   )r$   r%   _resultr9   s   &&  r(   r/   r/      si     ~~~$T77Gyyqvvc{K((s[))!kG  r0   c                 H   V P                   '       d   \        W4      # \        \        P                  ! V P
                  4      V4      '       d   \        \        P                  ! V P
                  4      V4      '       d+   \        \        P                  ! V P                  4      V4      # \        \        P                  ! V P
                  4      ( \        P                  ! V P                  4      ,          V4      '       d   R # V P                  \        P                  J d   R # R# R# )FN)r2   rV   r   r   r7   r;   rN   r\   r<   negativer]   r
   NegativeOner3   s   &&r(   r/   r/      s    ~~~$T77
199TXX,,qzz$((#[11qvvdii(+66!**TXX&&tyy)99;GGYY!--' ( -r0   c                 D    \        V P                  ^,          4      '       * # )r[   )boolpr3   s   &&r(   r/   r/      s    DFFQJr0   c                     R # rC   rD   r3   s   &&r(   r/   r/      rE   r0   c                     \        W4      # r+   )rV   r3   s   &&r(   r/   r/      s     33r0   c                     \        \        P                  ! V P                  ^ ,          4      V4      '       d2   \        \        P                  ! V P                  ^ ,          4      V4      # R# r   Nr   r   realr6   r\   r3   s   &&r(   r/   r/      C    
166$))A,--166$))A,'55 .r0   c                     \        \        P                  ! V P                  ^ ,          4      V4      '       d2   \        \        P                  ! V P                  ^ ,          4      V4      # R# rl   rm   r3   s   &&r(   r/   r/      ro   r0   c                 x    \        \        P                  ! V P                  ^ ,          4      V4      '       d   R# R# )r   TN)r   r   rn   r6   r3   s   &&r(   r/   r/      s(    
166$))A,-- .r0   c                     R # r+   rD   r3   s   &&r(   r/   r/     rK   r0   c                 2    V P                   pVf   \        hV# r+   )is_oddr   r-   s   && r(   r/   r/     s    
++C
{##Jr0   c                     \        \        P                  ! V 4      V4      pV'       d.   \        \        P                  ! V 4      V4      pVf   R # V'       * # V# r+   )r   r   r7   r\   )r$   r%   rP   _evens   &&  r(   r/   r/     sB    199T?K0HAFF4L+.=yOr0   N)'__doc__sympy.assumptionsr   r   
sympy.corer   r   r   r   r   r	   r
   sympy.core.numbersr   r   r   r   r   r   r   r   sympy.functionsr   r   r   sympy.ntheoryr   sympy.multipledispatchr   predicates.ntheoryr   r   r   r   r)   registerr/   register_manyrV   rD   r0   r(   <module>r      s_   % ; ; ;: : : ' ' ! 8! !
   9  9    " ! " h2BMR S 5  5 &5 '5   T" # U# $0   8 8 & &P  ( 	 	    !  Xx1A=Q R %4 &4 6 6 6 6     t  u r0   