
    sh                        S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
JrJrJrJrJr  S SKJrJrJrJr  S SKJr  S SKJr  S rS	 rS
 rS rS rS rS r\" \ \RB                  \RB                  5      S 5       r"\" \RF                  \RB                  \RB                  5      \" \RH                  \RB                  \RB                  5      S 5       5       r%\" \RL                  \RB                  \RB                  5      \" \RN                  \RB                  \RB                  5      S 5       5       r(\" \RR                  \RB                  \RB                  5      \" \RT                  \RB                  \RB                  5      S 5       5       r+S r,S r-\" \R\                  \RB                  \R^                  5      \" \R`                  \RB                  \R^                  5      \" \R\                  \Rb                  \R^                  5      \" \R`                  \Rb                  \R^                  5      S 5       5       5       5       r2S r3S r4S r5S r6S r7S r8S r9S r:S r;S r<S  r=S! r>S" r?S# r@S$ rAS% rBS& rCS' rDS( rES) rFS* rGS+ rHS, rIS- rJS. rK\" \R                  \R                  \R                  5      " \;5        \" \R                  \R                  \R                  5      " \<5        \" \R                  \R                  \R                  5      " \75        \" \R                  \R                  \R                  5      " \85        \" \R                  \R                  \R                  5      " \95        \" \R                  \R                  \R                  5      " \:5        \" \R                  \R                  5      " \J5        \" \R                  \R                  5      " \K5        S/ rUS0 rV\U" 5         \V" 5         S1 rWS2 rXS3 rYS4 rZS5 r[S6 r\\" \ \Rb                  \Rb                  5      SoS7 j5       r]SoS8 jr^SoS9 jr_S: r`S; raS< rbS= rcS> rdS? reS@ rfSA rgSB rhSC riSD rj\Rb                  rk\" \R                  \k\k5      " \W5        \" \R                  \k\k5      " \W5        \" \R                  \k\k5      " \X5        \" \R                  \k\k5      " \X5        \" \R                  \k\k5      " \Y5        \" \R                  \k\k5      " \Y5        \" \RF                  \k\k5      " \_5        \" \RH                  \k\k5      " \_5        \" \RL                  \k\k5      " \Z5        \" \RN                  \k\k5      " \Z5        \" \RR                  \k\k5      " \^5        \" \RT                  \k\k5      " \^5        \" \R\                  \k\k5      " \`5        \" \R`                  \k\k5      " \`5        \" \.\k\k5      " \`5        \" \R                  \k\k5      " \e5        \" \R                  \k\k5      " \f5        \" \R                  \k\k5      " \a5        \" \R                  \k\k5      " \b5        \" \R                  \k\k5      " \c5        \" \R                  \k\k5      " \d5        \" \r\k5      " \g5        \" \R                  \k5      " \h5        \" \R                  \k5      " \i5        Ck\" \R                  SE5      SF 5       rt\" \R                  SG5      SH 5       ru\" SI\R                  5      SJ 5       rvSK rwSL rxSM ry\Rb                  \RB                  4 H0  rz\" \zSE5      " \w5        \" \zSG5      " \x5        \" SI\z5      " \y5        M2     \" \R\                  \R                  \R                  5      \" \R`                  \R                  \R                  5      \" \.\R                  \R                  5      SN 5       5       5       r{SO r|SP r}SQ r~\" SR5      rSS rST rSU rSV rSW rSX r\R                  rk\" \R                  \k\k5      " \|5        \" \R                  \k\k5      " \|5        \" \R                  \k\k5      " \}5        \" \R                  \k\k5      " \}5        \" \R                  \k\k5      " \~5        \" \R                  \k\k5      " \~5        \" \RL                  \k\k5      " \5        \" \RN                  \k\k5      " \5        \" \R                  \k5      " \5        \" \R                  \k5      " \5        \" \R                  \k\k5      " \5        \" \R                  \k\k5      " \5        \" \r\k5      " \5        Ck\" SY\GR                  5      \" SY\GR                  5      SZ 5       5       rS[ r\" \\GR                  5      S\ 5       r\" \\RB                  5      S] 5       r\" \\Rb                  5      S^ 5       r\" \\R                  5      S_ 5       r\RB                  \Rb                  \R                  4 H  rk\" \GR                   \k5      " \5        M     \" \GR                   \R                  5      " \5        \" \R^                  \RB                  5      \" \R^                  \Rb                  5      \" \R^                  \R                  5      S` 5       5       5       r\" \RB                  \RB                  5      Sa 5       r\" \RB                  \GR&                  5      Sb 5       r\" \Rb                  \Rb                  5      Sc 5       r\" \RB                  \Rb                  5      Sd 5       r\" \Rb                  \RB                  5      Se 5       r\" \Rb                  \R                  5      \" \RB                  \R                  5      Sf 5       5       r\" \R                  \R                  5      Sg 5       r\" \GR4                  \GR                  5      Sh 5       r\" \GR                  \GR                  5      Si 5       r\" \R^                  \GR                  5      \" \GR:                  \GR                  5      Sj 5       5       r\" \R                  5      Sk 5       r\" \RB                  5      \" \Rb                  5      \" \GR                  5      Sl 5       5       5       rSm r\" \Rb                  Sn5      " \5        \" \RB                  Sn5      " \5        g)p    N)ir)Constant)lower_builtinlower_getattr
lower_castlower_constantimpl_ret_untracked)typingtypeserrorscgutils)overload_methodviewerc                 .    U R                   (       a  S/$ / $ )z3
Return the modifier flags for integer arithmetic.
nsw)signed)rettypes    m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/new_numbers.py_int_arith_flagsr      s     ~~ w	    c                 
   Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X[	        UR                  5      S9n
[        XUR                  U
5      $ N)flags)argscastreturn_typeaddr   r	   contextbuildersigr   vavbtatbabress              r   int_add_implr*   #   k    HRxxHRW"oo6AW"oo6A
++a"23??"C+
DCgEEr   c                 
   Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X[	        UR                  5      S9n
[        XUR                  U
5      $ r   )r   r   r   subr   r	   r   s              r   int_sub_implr.   ,   r+   r   c                 
   Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	UR                  X[	        UR                  5      S9n
[        XUR                  U
5      $ r   )r   r   r   mulr   r	   r   s              r   int_mul_implr1   5   r+   r   c           
         UR                   UR                   :X  d   eUR                  S5      nUR                  S5      n[        R                  " X5      n[        R                  " X5      nUR                  UR	                  SX3R                  UR
                  5      5      UR	                  SXDR                  S5      5      5      n	UR                  UR                  U	5      SS9   UR                  X45      n
UR                  X45      nUR	                  SUR                  XK5      U5      nUR	                  SX5      nUR                  X5      nUR                  U5       u  nnU   UR                  X5        UR                  X5        S	S	S	5        U   UR                  UR                  X5      U5        UR                  UR                  X5      U5        S	S	S	5        S	S	S	5        S	S	S	5        UR                  U5      UR                  U5      4$ ! , (       d  f       N= f! , (       d  f       NQ= f! , (       d  f       NZ= f! , (       d  f       Nc= f)
a   
Reference Objects/intobject.c
xdivy = x / y;
xmody = (long)(x - (unsigned long)xdivy * y);
/* If the signs of x and y differ, and the remainder is non-0,
 * C89 doesn't define whether xdivy is now the floor or the
 * ceiling of the infinitely precise quotient.  We want the floor,
 * and we have it iff the remainder's sign matches y's.
 */
if (xmody && ((y ^ xmody) < 0) /* i.e. and signs differ */) {
    xmody += y;
    --xdivy;
    assert(xmody && ((y ^ xmody) >= 0));
}
*p_xdivy = xdivy;
*p_xmody = xmody;
r      ==Tlikely<!=N)typer   alloca_once_valueand_icmp_signedminvalif_thennot_sdivsremxorif_elsestorer-   r   load)r    r!   tyxyZEROONEresdivresmodis_overflowxdivyxmodyy_xor_xmody_ltzxmody_istruecondif_different_signsif_same_signss                    r   int_divmod_signedrV   >   s   $ 66QVV66!9D
&&)C &&w5F&&w5F,,D!VVBII%67D!VVBZ02K 
k24	@ Q"Q"!--c7;;q3H$O**4=||L:__T"&I'9=e,e,  $gkk%5v>gkk%3V< $ # 
A& <<f!555  $# #" 
A	@sV   $A9I H/##H
H/AHH/I 
HH/
H,(H//
H=	9I  
Ic                     UR                   (       a  [        XX#U5      $ UR                  X45      UR                  X45      4$ )z<
Integer divmod(x, y).  The caller must ensure that y != 0.
)r   rV   udivurem)r    r!   rG   rH   rI   s        r   
int_divmodrZ   w   s7     
yy 2!<<||A!7<<#555r   c           	      @   Uu  pVUR                   u  pxUR                  n	[        U	[        R                  5      (       a  U	R
                  n	U R                  XXy5      n
U R                  XX5      n[        R                  " XR                  SS9n[        R                  " XR                  SS9nUR                  [        R                  " X5      SS9 u  pU   U R                  R                  X45      (       d"  UR                  X5        UR                  X5        S S S 5        U   [        XXU5      u  nnUR                  UU5        UR                  UU5        S S S 5        S S S 5        X4$ ! , (       d  f       NX= f! , (       d  f       N*= f! , (       d  f       X4$ = f)NquotnameremFr6   )r   r   
isinstancer   UniTupledtyper   r   alloca_oncer:   rD   is_scalar_zeroerror_modelfp_zero_divisionrE   rZ   )r    r!   r"   r   zerodiv_messager#   r$   r%   r&   rG   r'   r(   r\   r_   if_zeroif_non_zeroqrs                     r   _int_divmod_implrl      sR   FBXXFB	B"enn%%XXW")AW")AwV<D


gvvE
:C	//;E 
4w&&77+- -
 a&a%  gq9DAqMM!T"MM!S! 
 9 W [
 
 9s=   FAE+
F#5E<F+
E9	5F<
F
	F
Fc                     [        XX#S5      u  pE[        R                  " UUR                  U5      UR                  U5      45      $ )Nzinteger divmod by zero)rl   r   
pack_arrayrF   r    r!   r"   r   r\   r_   s         r   int_divmod_implrp      sH     3!9;ID g&||D17<<3DEG Gr   c                 B    [        XX#S5      u  pEUR                  U5      $ )Nzinteger division by zerorl   rF   ro   s         r   int_floordiv_implrs      s&     !3!;=ID<<r   c                 ~   Uu  pEUR                   u  pgU R                  XXbR                  5      nU R                  XXrR                  5      n	[        R                  " X5         U R
                  R                  US5        S S S 5        UR                  X5      n
[        XUR                  U
5      $ ! , (       d  f       N6= f)Nzdivision by zero)	r   r   r   r   rh   re   rf   fdivr	   r   s              r   int_truediv_implrw      s     HRxxHRW"oo6AW"oo6A		$,,W6KL 
%
,,q
CgEE 
%	$s   !B..
B<c                 B    [        XX#S5      u  pEUR                  U5      $ )Nzinteger modulo by zerorr   ro   s         r   int_rem_implry      s&     !3!9;ID<<r   c                     [        U[        R                  5      (       a-  U R                  R                  (       d  SUR
                  S-
  -  $ g)Nr5   r3   F)r`   r   Integerre   raise_on_fp_zero_divisionbitwidth)r    r   s     r   _get_power_zerodiv_returnr~      s;    ;..##==k**Q.//r   c                    ^^^ [        UR                  S   [        R                  5      mUR                  m[        U T5      mUUU4S jnU R                  XX#5      n[        XUR                  U5      $ )z8
a ^ b, where a is an integer or real, and b an integer
r   c                 j  > T" S5      nT" U 5      n US:  a@  SnU* nUS:  a  [         eT(       a'  U S:X  a  T(       a  T$ [        S5      eU S:w  a  U S:w  a  gOSnUnUS:  a   [        R                  " U [	        U5      5      $ US:w  a  US-  (       a  X -  nUS-  nX -  n US:w  a  M  U(       a  SU-  $ U$ )	Nr3   r   T&0 cannot be raised to a negative powerr5   F         ?)OverflowErrorZeroDivisionErrormathpowfloat)r'   r(   rk   invertexp
is_integertpzerodiv_returns        r   	int_power!int_power_impl.<locals>.int_power   s    qEqEq5F"CQw##6%--/0XYY6a2gFC=88AuQx((QhQwAICFA	 Qh !sQw'a'r   )r`   r   r   r{   r   r~   compile_internalr	   )	r    r!   r"   r   r   r)   r   r   r   s	         @@@r   int_power_implr      s^     CHHQK7J	B.w;N(> 
"
"7s
ACgEEr   c                   ^^^ UR                   S   R                  n[        U[        R                  5      (       d  [
        e[        U5      S:  a  [
        eUS:  n[        U5      nUR                  n[        U[        R                  5      m[        X5      mU R                  TUS   UR                   S   U5      nUR                  nUU4S jn	U" S5      n
UnUS:w  a'  US-  (       a  U	" X5      n
US-  nU	" Xw5      nUS:w  a  M'  U(       a:  T(       a  U4S jnOS nU R                  TU[        R                  " Xf5      U
45      n
U
$ )z@
a ^ b, where a is an integer or real, and b a constant integer
r3   r   r   c                 V   > T(       a  TR                  X5      $ TR                  X5      $ N)r0   fmul)r'   r(   r!   r   s     r   r0   static_power_impl.<locals>.mul  s$    ;;q$$<<%%r   c                 V   > U S:X  a  T(       a  T$ [        S5      eU S:w  a  U S:w  a  gU $ )Nr   r   r3   r5   )r   )r'   r   s    r   invert_impl&static_power_impl.<locals>.invert_impl$  s4    6%--/0XYY6a2gHr   c                     SU -  $ )Nr    )r'   s    r   r   r   1  s    Qwr   )r   valuer`   numbersIntegralNotImplementedErrorabsr   r   r{   r~   r   r:   r   r
   	signature)r    r!   r"   r   r   r   r   valltyr0   r)   r'   r   r   r   s    `           @@r   static_power_implr      s*    ((1+

Cc7++,,!!
3x'!!1WF
c(C	BB.J.w;N
,,wQ!b
9C
((C& a&CA
(7c-C	#m	 ( 	 &&w'-'7'7'?#I Jr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nr8   r=   r	   r   r    r!   r"   r   r)   s        r   int_slt_implr   :  *    


c
)D
)CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nz<=r   r   s        r   int_sle_implr   ?  *    


d
*T
*CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ N>r   r   s        r   int_sgt_implr   D  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nz>=r   r   s        r   int_sge_implr   I  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   icmp_unsignedr	   r   r   s        r   int_ult_implr   N  *    



+d
+CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r   r   s        r   int_ule_implr   S  *    



,t
,CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r   r   s        r   int_ugt_implr   X  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r   r   s        r   int_uge_implr   ]  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nr4   r   r   s        r   int_eq_implr   b  r   r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ Nr9   r   r   s        r   int_ne_implr   g  r   r   c                    ^  U 4S jnU$ )Nc                   > Uu  pEUR                  SU[        UR                  S5      5      nUR                  T
U[        UR                  S5      5      nUR                  T
XE5      nUR	                  XgU5      n	[        XUR                  U	5      $ Nr8   r   r=   r   r:   r   selectr	   r   r    r!   r"   r   leftrightcmp_zerolt_zeroge_zeror)   ops             r   impl%int_signed_unsigned_cmp.<locals>.implm  s     &&sD(499a2HI%%b$A0FG''D8nnX8!'COOSIIr   r   r   r   s   ` r   int_signed_unsigned_cmpr   l  s    J  Kr   c                    ^  U 4S jnU$ )Nc                   > Uu  pEUR                  SU[        UR                  S5      5      nUR                  T
[        UR                  S5      U5      nUR                  T
XE5      nUR	                  XgU5      n	[        XUR                  U	5      $ r   r   r   s             r   r   %int_unsigned_signed_cmp.<locals>.impl  s}    &&sE8EJJ3JK%%b(5::q*A5I''D8nnX8!'COOSIIr   r   r   s   ` r   int_unsigned_signed_cmpr     s    J Kr   c                     Uu  n[        UR                  S 5      nUR                  SXE5      nUR                  U5      nUR	                  XgU5      n[        XUR                  U5      $ r   )r   r:   r=   negr   r	   r   )	r    r!   r"   r   rH   rJ   ltznegatedr)   s	            r   int_abs_implr     s[    
CQAFFD!D


c1
+Ckk!nG
..q
)CgEEr   c                 8    Uu  n[        XUR                  U5      $ r   r	   r   )r    r!   r"   r   rH   s        r   uint_abs_implr     s    
CQgCCr   c                     UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      nUR                  Xg5      n[	        XUR                  U5      $ r   )r   r   r   shlr	   	r    r!   r"   r   valtyamttyr   amtr)   s	            r   int_shl_implr     s]    XXNUJS
,,wUOO
<C
,,wUOO
<C
++c
CgEEr   c                 @   UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      nUR                  R                  (       a  UR	                  Xg5      nOUR                  Xg5      n[        XUR                  U5      $ r   )r   r   r   r   ashrlshrr	   r   s	            r   int_shr_implr     sx    XXNUJS
,,wUOO
<C
,,wUOO
<C
ll3$ll3$gEEr   c                     UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X5      n
[	        XUR                  U
5      $ r   )r   r   r   r<   r	   r    r!   r"   r   atbtavbvcavcbcr)   s              r   int_and_implr     s]    xxHRHR
,,wB
8C
,,wB
8C
,,s
 CgEEr   c                     UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X5      n
[	        XUR                  U
5      $ r   )r   r   r   or_r	   r   s              r   int_or_implr     ]    xxHRHR
,,wB
8C
,,wB
8C
++c
CgEEr   c                     UR                   u  pEUu  pgU R                  XXBR                  5      nU R                  XXRR                  5      n	UR                  X5      n
[	        XUR                  U
5      $ r   )r   r   r   rC   r	   r   s              r   int_xor_implr     r   r   c                     UR                   u  nUu  nUR                  U5      nU R                  XXBR                  5      n[	        XUR                  U5      $ r   )r   r   r   r   r	   r    r!   r"   r   typr   r)   s          r   int_negate_implr    sI    HHESES
++c
C
,,wS//
:CgEEr   c                     UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r   r   r   r   r	   r   s          r   int_positive_implr    ;    HHESES
,,wS//
:CgEEr   c           
         UR                   u  nUu  nUR                  U[        UR                  [	        SUR                  R
                  -  S5      5      5      nU R                  XXBR                  5      n[        XUR                  U5      $ )N1   )	r   rC   r   r:   intwidthr   r   r	   r   s          r   int_invert_implr    sj    HHESES
++c8CHHc#2F.JK
LC
,,wS//
:CgEEr   c                    Uu  n[        UR                  S5      n[        UR                  S5      n[        UR                  S5      nUR                  SXG5      nUR                  SXG5      n	[        R
                  " XR                  5      n
UR                  S5      nUR                  S5      nUR                  S5      nUR                  S	5      nUR                  S
5      nUR                  XU5        UR                  U5         UR                  Xz5        UR                  U5        SSS5        UR                  U5         UR                  XU5        SSS5        UR                  U5         UR                  XZ5        UR                  U5        SSS5        UR                  U5         UR                  Xj5        UR                  U5        SSS5        UR                  U5        UR                  U
5      n[        XUR                  U5      $ ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nz= f)z
np.sign(int)
r3   r5   r   r4   r   z.zeroz.postestz.posz.negz.exitN)r   r:   r   r=   r   rc   append_basic_blockcbranch
goto_blockrE   branchposition_at_endrF   r	   r   )r    r!   r"   r   rH   POSNEGrJ   r   cmp_pospresultbb_zero
bb_postestbb_posbb_negbb_exitr)   s                    r   int_sign_implr    s    CQ
1661
C
1662
CAFFAD$$T13H!!#q/G!!'662G((1G++J7J''/F''/F((1GOOHz2			G	$d$w 
% 
		J	'0 
( 
		F	#c#w 
$ 
		F	#c#w 
$ G$
,,w
CgEE# 
%	$ 
(	' 
$	# 
$	#s0   #H?H+#H-'#H>
H
H*-
H;>
Ic                     UR                   u  nUu  nU R                  XXBR                  5      nUR                  U5      n[	        XUR                  U5      $ r   )r   r   r   r   r	   r   s          r   bool_negate_implr    sI    HHESES
,,wS//
:C
++c
CgEEr   c                     UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r   r  r   s          r   bool_unary_positive_implr    r  r   c                  n   [         R                  n [        [        R                  X 5      " [
        5        [        [        R                  X 5      " [
        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [         5        [        [        R"                  X 5      " [$        5        [        [        R&                  X 5      " [$        5        [        [        R(                  X 5      " [*        5        [        [        R,                  X 5      " [*        5        [        [        R.                  U 5      " [0        5        [        [        R2                  U 5      " [4        5        [        [        R6                  X 5      " [8        5        [        [        R:                  X 5      " [8        5        [        [6        X 5      " [8        5        [         R<                   GH=  n [        [        R>                  X 5      " [@        5        [        [        RB                  X 5      " [D        5        [        [        RF                  X 5      " [H        5        [        [        RJ                  X 5      " [L        5        [        [        R6                  [         RN                  U 5      " [8        5        [        [        R:                  [         RN                  U 5      " [8        5        [        [6        [         RN                  U 5      " [8        5        [        [P        U 5      " [R        5        GM@     [        [        R>                  [         RT                  [         RT                  5      " [V        5        [        [        RF                  [         RT                  [         RT                  5      " [V        5        [        [        RB                  [         RT                  [         RT                  5      " [V        5        [        [        RJ                  [         RT                  [         RT                  5      " [V        5        [X        RZ                  " [         R\                  [         R^                  5       GH=  n [        [        R>                  X 5      " [V        5        [        [        RB                  X 5      " [`        5        [        [        RF                  X 5      " [b        5        [        [        RJ                  X 5      " [d        5        [        [        R6                  [         RN                  U 5      " [8        5        [        [        R:                  [         RN                  U 5      " [8        5        [        [6        [         RN                  U 5      " [8        5        [        [P        U 5      " [f        5        GM@     g r   )4r   r{   r   operatorr   r*   iaddr-   r.   isubr0   r1   imuleqr   ner   lshiftr   ilshiftrshiftr   irshiftr   r  posr  r   r   ipownp_unsigned_domainltr   ler   gtr   ger   Floatr   r   IntegerLiteralr   	itertoolschainpy_signed_domainnp_signed_domainr   r   r   r   rG   s    r   _implement_integer_operatorsr9  &  sM   	B(,,'5(--(6(,,'5(--(6(,,'5(--(6(++r&{3(++r&{3(//2*<8(""B+L9(//2*<8(""B+L9(,,#O4(,,#$56(,,'7(--(8#r~.&&hkk2*<8hkk2*<8hkk2*<8hkk2*<8hllEKK4^DhmmU[["5nEc5;;+N;c2}- ' (++u33U5I5IJ<X(++u33U5I5IJ<X(++u33U5I5IJ<X(++u33U5I5IJ<Xooe44#446hkk2*<8hkk2*<8hkk2*<8hkk2*<8hllEKK4^DhmmU[["5nEc5;;+N;c2|,6r   c                  N   [         R                  [         R                  4 GH   n [        [        R
                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  X 5      " [        5        [        [        R                  U 5      " [        5        GM     g r   )r   Booleanr{   r   r!  r<   r   iandr   r   iorrC   r   ixorr   r  r8  s    r   _implement_bitwise_operatorsr?  W  s    }}emm,hmmR,\:hmmR,\:hllB+K8hllB+K8hllB+L9hmmR,\:hoor*?; -r   c                 N    UR                   " U6 n[        XUR                  U5      $ r   )faddr	   r   r   s        r   real_add_implrB  g  #    
,,
CgEEr   c                 N    UR                   " U6 n[        XUR                  U5      $ r   )fsubr	   r   r   s        r   real_sub_implrF  l  rC  r   c                 N    UR                   " U6 n[        XUR                  U5      $ r   )r   r	   r   r   s        r   real_mul_implrH  q  rC  r   c                     [         R                  " XS   5         U R                  R                  US5        S S S 5        UR                  " U6 n[        XUR                  U5      $ ! , (       d  f       N4= f)Nr3   ru   )r   rh   re   rf   rv   r	   r   r   s        r   real_div_implrJ  v  sX    	q'	*,,W6KL 
+
,,
CgEE 
+	*s   A%%
A3c                    UR                   UR                   :X  d   eUR                   nUR                  nU R                  SUR                   /5      n[        R                  " XDU[        R
                  " U5      45      n[        R                  " XWU5      nUR                  (       ak  SUl	        [        R                  " UR                  S5      5      n	UR                  u  pn[        X	X5      u  pU	R                  X5        U	R                  U5        [        R                   " X5      nUR#                  XX<45      nXR%                  U5      4$ )Nz.numba.python.remlinkonce_odrentry)r:   modulemanglerr   FunctionTypePointerTyper   get_or_insert_functionis_declarationlinkage	IRBuilderr  r   real_divmod_func_bodyrE   retrc   callrF   )r    r!   rH   rI   floattyrN  fnamefntyfn	fnbuilderfxfypmoddivmodquotients                   r   real_divmodrd  }  s   66QVVffG^^FOO/!&&:E??7gr~~g7N$OPD		'	'e	<B	#
LL!6!6w!?@	ww(RD"cw0D||BA-H\\$'''r   c           	         [         R                  " XR                  5      n[         R                  " XR                  5      n[         R                  " XR                  5      nUR                  X#5      nUR	                  UR                  X'5      U5      nUR                  Xt5        UR                  X5        UR                  S5      n	UR                  S5      n
UR                  S5      nUR                  SXy5      nUR                  SX95      nUR                  SXy5      nUR                  USS9 u  nnU   UR                  SX5      nUR                  U5         UR                  UR                  X5      U5        UR                  UR                  Xs5      U5        S S S 5        S S S 5        U   UR                  XU	5      nUR                  Xt5        S S S 5        S S S 5        AAUR                  U5      nUR                  SX5      nUR                  U5         [        R                   [        R"                  S.nU[%        UR                  5         nU R'                  [(        R*                  [,        R.                  " UU5      5      nU" X/5      nUR                  UU5      nUR                  UU5      n[1        UR                  S	5      nUR                  S
UU5      nUR                  UUU5      nUR                  UU5        S S S 5        [         R2                  " UU5         UR5                  X5      nUR                  X5        UR	                  UR5                  X5      U5      nUR                  UU5        S S S 5        UR                  U5      UR                  U5      4$ ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)N        g       r   r9   r8   Tr6   )r   doubleg      ?r   )r   rc   r:   fremrv   rE  rE   fcmp_unorderedfcmp_orderedrD   r   r?   rA  r   rF   r   float32float64strget_functionr   floorr
   r   r   ifnotr   )r    r!   vxwxr`  pdiv	pfloordivrb  ra  rJ   NZEROrK   
mod_istruewx_ltzmod_ltzif_nonzero_modif_zero_modwx_ltz_ne_mod_ltz
div_istruerealtypemaprealtypefloorfnfloordivfloordivdifffloordivincrHALFpreds                              r   rV  rV    s    \ w0Dw0D##GWW5I
,,r
C
,,w||B,b
1CMM#MM# 773<DGGDME
''#,C''c8J!!#r0F""32G	D	15Rnk !( 5 5dF L!23gll34d;gll33T: 4   ..5CMM#$	  
2  	S
,,t
C%%dC6J		$ %!&0s277|,&&tzz'-'7'7('KM7E*||C2||Hc2%##Ct<>>$h?h	* 
% 
w
	+ll3$c <<S 5r:h	*	 
, <<	"GLL$666G 43 ^ [ 
2	1* 
%	$ 
,	+so   .O4$N2AN N2#
O-$OOC*O( AO9 
N/*N22
O	<O
O	O
O%(
O69
Pc                    Uu  pV[         R                  " XR                  SS9n[         R                  " XR                  SS9nUR                  [         R                  " X5      SS9 u  pU	   U R
                  R                  USU5      (       dD  UR                  XV5      nUR                  XV5      nUR                  X5        UR                  X5        S S S 5        U
   [        XXV5      u  pUR                  X5        UR                  X5        S S S 5        S S S 5        [         R                  " UUR                  U5      UR                  U5      45      $ ! , (       d  f       N= f! , (       d  f       N^= f! , (       d  f       Ng= f)Nr\   r]   r_   Fr6   zmodulo by zero)r   rc   r:   rD   rd   re   rf   rv   rh  rE   rd  rn   rF   )r    r!   r"   r   locrH   rI   r\   r_   rh   ri   rj   rk   s                r   real_divmod_implr    s9   DAwV<D


gvvE
:C	//;E 
4w&&77,c3 3 LL&LL&a&a%  w6DAMM!"MM!! 
  g&||D17<<3DEG G W [
 
s=   'E7,A'E
E71E&E7
E#	E7&
E4	0E77
Fc                 L   Uu  pV[         R                  " XR                  5      nUR                  [         R                  " X5      SS9 u  pU   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X5        S S S 5        U	   [        XXV5      u  pUR                  X5        S S S 5        S S S 5        [        XUR                  UR                  U5      5      $ ! , (       d  f       Nf= f! , (       d  f       NM= f! , (       d  f       NV= f)NFr6   r  )r   rc   r:   rD   rd   re   rf   rh  rE   rd  r	   r   rF   )r    r!   r"   r   r  rH   rI   r)   rh   ri   r_   _s               r   real_mod_implr    s    DA


gvv
.C	//;E 
4w&&77,c3 3 ll1(c'   18FAMM## 
 g%ll3/1 1 W [
 
=   	DAC3
D D=D3
D	=D
D	D
D#c                 L   Uu  pV[         R                  " XR                  5      nUR                  [         R                  " X5      SS9 u  pU   U R
                  R                  USU5      (       d"  UR                  XV5      n
UR                  X5        S S S 5        U	   [        XXV5      u  pUR                  X5        S S S 5        S S S 5        [        XUR                  UR                  U5      5      $ ! , (       d  f       Nf= f! , (       d  f       NM= f! , (       d  f       NV= f)NFr6   ru   )r   rc   r:   rD   rd   re   rf   rv   rE   rd  r	   r   rF   )r    r!   r"   r   r  rH   rI   r)   rh   ri   r\   r  s               r   real_floordiv_implr  ,  s    DA


gvv
.C	//;E 
4w&&77.5 5 ||A)d(  !'A9GDMM$$ 
 g%ll3/1 1 W [
 
r  c                 $   Uu  pEUR                   nU R                  (       a)  U R                  [        R                  U5      nU" X5      nO0UR                  SUR                  /5      n	UR                  XU45      n[        XUR                  U5      $ )Nzllvm.pow)
rN  implement_powi_as_math_callrn  r   r   declare_intrinsicr:   rX  r	   r   )
r    r!   r"   r   rH   rI   rN  impr)   r\  s
             r   real_power_implr  ?  sx    DA^^F**""488S1' %%j166(;ll21v&gEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   rj  r	   r   r   s        r   real_lt_implr  K  *    


s
*T
*CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_le_implr  P  *    


t
+d
+CgEEr   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_gt_implr  U  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_ge_implr  Z  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   r  r   s        r   real_eq_implr  _  r  r   c                 V    UR                   " S/UQ76 n[        XUR                  U5      $ r   )ri  r	   r   r   s        r   real_ne_implr  d  s*    

 
 
-
-CgEEr   c                     UR                   u  n[        R                  " XD5      nU R                  [        R
                  U5      nU" X5      $ r   )r   r
   r   rn  r   fabs)r    r!   r"   r   rG   r   s         r   real_abs_implr  i  s>    88DR


2
"C		3/Dr   c                 d    SSK Jn  UR                  XS   5      n[        XUR                  U5      $ Nr   mathimpl)numba.cpythonr  negate_realr	   r   )r    r!   r"   r   r  r)   s         r   real_negate_implr  p  s,    &


wQ
0CgEEr   c                     UR                   u  nUu  nU R                  XXBR                  5      n[        XUR                  U5      $ r   r  r   s          r   real_positive_implr  v  r  r   c           	      `   Uu  n[        UR                  S5      n[        UR                  S5      n[        UR                  S5      n[        R                  " XR                  5      nUR	                  SXG5      n	UR	                  SXG5      n
UR                  U	5       u  pU   UR                  XX5        SSS5        U   UR                  U
5       u  pU   UR                  Xh5        SSS5        U   UR                  XH5        SSS5        SSS5        SSS5        SSS5        UR                  U5      n[        XUR                  U5      $ ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       Np= f! , (       d  f       Ny= f! , (       d  f       N= f! , (       d  f       N= f)z
np.sign(float)
r3   r5   r   r   r8   N)
r   r:   r   rc   rj  rD   rE   rF   r	   r   )r    r!   r"   r   rH   r  r  rJ   r  is_posis_neggt_zeronot_gt_zeror   not_lt_zeror)   s                   r   real_sign_implr  }  s8    CQ
1661
C
1662
CAFFAD!!'662G!!#q/F!!#q/F		 $:WMM#' (,BWMM#/   MM!- ! )  
! ,,w
CgEE W W [ )( [ 
!	 s   F!E
3
F=FE=E	&
E=0E,	E=
FF

E	F
E)%E=,
E:6E==
FF
F	F
F-realc                 R    U R                  XUS9nUR                  n[        XX%5      $ Nr   )make_complexr  r	   r    r!   r   r   cplxr)   s         r   complex_real_implr    -    E:D
))Cg99r   imagc                 R    U R                  XUS9nUR                  n[        XX%5      $ r  )r  r  r	   r  s         r   complex_imag_implr    r  r   zcomplex.conjugatec                     SSK Jn  U R                  XR                  S   US   5      nUR	                  XR
                  5      Ul        UR                  5       n[        XUR                  U5      $ r  )	r  r  r  r   r  r  	_getvaluer	   r   )r    r!   r"   r   r  zr)   s          r   complex_conjugate_implr    sW    &Whhqk47;A!!'662AF
++-CgEEr   c                     [        XX#5      $ r   )r	   )r    r!   r   r   s       r   real_real_implr    s    g;;r   c                 Z    [         R                  " UR                  5      n[        XX$5      $ r   )r   get_null_valuer:   r	   )r    r!   r   r   r)   s        r   real_imag_implr    s#    

 
 
,Cg99r   c                 6    [        XUR                  US   5      $ Nr   r   r    r!   r"   r   s       r   real_conjugate_implr    s    gaIIr   c           	         Uu  pEUR                   S   nUR                  nU R                  XUS9nU R                  XUS9n	U R                  X5      n
UR                  nUR	                  5       nU	R	                  5       nU
R	                  5       nU R                  US5      nU R                  US5      nUR                  SU	R                  U5      nUR                  SU	R                  U5      nUR                  UU5      nUR                  U5       u  nnU   [        XX$U45      nU R                  XUS9nUR                  U
l        UR                  U
l        S S S 5        U   [        R                  S[        R                  S0U   n[        R                   " [        R"                  " 5       UR$                  /S-  5      n[&        R(                  " UUU5      nUR+                  UXU45        S S S 5        S S S 5        UR-                  U5      n[/        XUR0                  U5      $ ! , (       d  f       N= f! , (       d  f       NO= f! , (       d  f       NX= f)Nr   r  r  r4   numba_cpowf
numba_cpow   )r   underlying_floatmake_helperrN  _getpointerget_constantrj  r  r  r<   rD   complex_mul_implr   	complex64
complex128r   rP  VoidTyper:   r   rR  rX  rF   r	   r   )r    r!   r"   r   cacbrG   ftyr'   r(   crN  papbpcTWOrJ   b_real_is_twob_imag_is_zerob_is_twothen	otherwiser)   cres	func_namer[  cpows                              r   complex_power_implr    s    HR	!B


CGr2AGr2AG(A^^F	
B	
B	
B 

sA
&CQ'D((qvvs;M))$=N||M>:H		"&7tY"7Sr(CC&&w#&>DYYAFYYAF     , I ??2;;=277)a-@D11&$	JDLL|,  
#$ ,,r
CgEE% T Y 
#	"s>   IAH!
IB
H2)I!
H/	+I2
I 	<I
Ic                    Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X5      U	l        UR	                  X5      U	l        U	R                  5       n[        XUR                  U5      $ Nr   r  )r   r  r  r  rA  r  r	   r   r    r!   r"   r   cxcyrG   rH   rI   r  r'   r(   r  dr)   s                  r   complex_add_implr        HR	!BW3AW3AW)A	A	A	A	A\\!AF\\!AF
++-CgEEr   c                    Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X5      U	l        UR	                  X5      U	l        U	R                  5       n[        XUR                  U5      $ r  )r   r  r  r  rE  r  r	   r   r  s                  r   complex_sub_implr    r  r   c                    Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nU R                  X5      n	UR                  n
UR                  nUR                  nUR                  nUR	                  X5      nUR	                  X5      nUR	                  X5      nUR	                  X5      nUR                  X5      U	l        UR                  UU5      U	l        U	R                  5       n[        XUR                  U5      $ )z
(a+bi)(c+di)=(ac-bd)+i(ad+bc)
r   r  )
r   r  r  r  r   rE  rA  r  r	   r   )r    r!   r"   r   r  r  rG   rH   rI   r  r'   r(   r  r  acbdadbcr)   s                      r   r  r  ,  s     HR	!BW3AW3AW)A	A	A	A	A	a	B	a	B	a	B	a	B\\"!AF\\"b!AF
++-CgEEr   nanc                 Z    S nU R                  XX#5      n[        XUR                  U5      $ )Nc                     U R                   nU R                  nUR                   nUR                  nU(       d  U(       d  [        S5      e[        U5      [        U5      :  aB  U(       d  [	        [
        [
        5      $ XT-  nXEU-  -   n[	        X#U-  -   U-  X2U-  -
  U-  5      $ U(       d  [	        [
        [
        5      $ XE-  nXF-  U-   n[	        U R                   U-  U R                  -   U-  U R                  U-  U R                   -
  U-  5      $ )Nzcomplex division by zero)r  r  r   r   complexNAN)r'   r(   arealaimagbrealbimagratiodenoms           r   complex_div%complex_div_impl.<locals>.complex_divF  s    U#$>??u:U#sC((MEEM)E&%/&%/1 1
 sC((MEME)E%!&&(E1%!&&(E13 3r   r   r	   r   )r    r!   r"   r   r  r)   s         r   complex_div_implr	  E  s.    36 
"
"7
CCgEEr   c                 B   SSK Jn  UR                  u  nUu  nU R                  XUS9nU R                  X5      nUR	                  XR
                  5      Ul        UR	                  XR                  5      Ul        UR                  5       n[        XUR                  U5      $ )Nr   r  r  )
r  r  r   r  r  r  r  r  r	   r   )	r    r!   r"   r   r  r   r   cmplxr)   s	            r   complex_negate_implr  e  s    &HHESES  S 9E


w
,C##GZZ8CH##GZZ8CH
--/CgEEr   c                 8    Uu  n[        XUR                  U5      $ r   r   r    r!   r"   r   r   s        r   complex_positive_implr  q  s    ESgEEr   c                 T   Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nUR                  SUR                  UR                  5      n	UR                  SUR                  UR                  5      n
UR                  X5      n[        XUR                  U5      $ )Nr   r  r4   )r   r  rj  r  r  r<   r	   r   )r    r!   r"   r   r  r  r   rH   rI   reals_are_eqimags_are_eqr)   s               r   complex_eq_implr  v  s    HR
((1+CW4AW4A''affaff=L''affaff=L
,,|
2CgEEr   c                 T   Uu  pEUR                   S   nU R                  XUS9nU R                  XUS9nUR                  SUR                  UR                  5      n	UR                  SUR                  UR                  5      n
UR                  X5      n[        XUR                  U5      $ )Nr   r  r9   )r   r  ri  r  r  r   r	   r   )r    r!   r"   r   r  r  r   rH   rI   reals_are_neimags_are_ner)   s               r   complex_ne_implr    s    HR
((1+CW4AW4A))$?L))$?L
++l
1CgEEr   c                 Z    S nU R                  XX#5      n[        XUR                  U5      $ )z!
abs(z) := hypot(z.real, z.imag)
c                 X    [         R                  " U R                  U R                  5      $ r   )r   hypotr  r  )r  s    r   complex_abs%complex_abs_impl.<locals>.complex_abs  s    zz!&&!&&))r   r  )r    r!   r"   r   r  r)   s         r   complex_abs_implr    s.    * 
"
"7
CCgEEr   znumber.itemc                     US   $ )z3
The no-op .item() method on booleans and numbers.
r   r   r  s       r   number_item_implr    s     7Nr   c                     UR                   u  nUu  nU R                  XXBR                  5      nUR                  U5      n[	        XUR                  U5      $ r   )r   r   r   r@   r	   )r    r!   r"   r   r   r   istruer)   s           r   number_not_implr"    sI    HHESES\\'__=F
,,v
CgEEr   c                     Uu  nU$ r   r   r  s        r   bool_as_boolr$    s    ESJr   c                 X    Uu  nUR                  SU[        UR                  S5      5      $ )Nr9   r   )r   r   r:   r  s        r   int_as_boolr&    s)    ES  sHSXXq,ABBr   c                 X    Uu  nUR                  SU[        UR                  S5      5      $ )Nr9   rf  )ri  r   r:   r  s        r   float_as_boolr(    s)    ES!!$Xchh-DEEr   c                    UR                   u  nUu  nU R                  XU5      nUR                  UR                  p[	        UR
                  S5      n	UR                  SXy5      n
UR                  SX5      nUR                  X5      $ )Nrf  r9   )r   r  r  r  r   r:   ri  r   )r    r!   r"   r   r   r   r  r  r  zeroreal_istrueimag_istrues               r   complex_as_boolr-    sx    HHESES  s3EUZZ$DIIs#D((t:K((t:K;;{00r   c                     U R                  UUR                  UR                  5      nU R                  XUR                  U5      $ r   )get_constant_genericliteral_typeliteral_valuer   r    r!   fromtytotyr   lits         r   literal_int_to_numberr6    sD     
&
&
C
 <<f&9&94@@r   c                 P   UR                   UR                   :X  a  U$ UR                   UR                   :  a   UR                  X@R                  U5      5      $ UR                  (       a   UR	                  X@R                  U5      5      $ UR                  X@R                  U5      5      $ r   )r}   truncget_value_typer   sextzextr    r!   r3  r4  r   s        r   integer_to_integerr=    s~    }}'
		(}}S"8"8">??	||C!7!7!=>> ||C!7!7!=>>r   c                 B    UR                  X@R                  U5      5      $ r   )inttoptrr9  r<  s        r   integer_to_voidptrr@    s    C!7!7!=>>r   c                     U R                  U5      nUR                  UR                  :  a  UR                  XE5      $ UR                  XE5      $ r   )r9  r}   fpextfptruncr    r!   r3  r4  r   r   s         r   float_to_floatrE  	  s@    

 
 
&C&}}S&&s((r   c                     U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r   )r9  r   sitofpuitofprD  s         r   integer_to_floatrI    s7    

 
 
&C}}~~c''~~c''r   c                     U R                  U5      nUR                  (       a  UR                  XE5      $ UR                  XE5      $ r   )r9  r   fptosifptouirD  s         r   float_to_integerrM    s7    

 
 
&C{{~~c''~~c''r   c                     U R                  XX#R                  5      nU R                  UR                  S5      nU R                  X5      nXWl        Xgl        UR                  5       $ r  )r   r  r  r  r  r  r  )r    r!   r3  r4  r   r  r  r  s           r   non_complex_to_complexrO  !  sY     <<f.C.CDD 5 5q9D  /EJJ??r   c                    UR                   nUR                   nU R                  XUS9nU R                  X5      nU R                  XR                  XV5      Ul        U R                  XR                  XV5      Ul        UR                  5       $ r  )r  r  r   r  r  r  )	r    r!   r3  r4  r   srctydsttysrcdsts	            r   complex_to_complexrU  ,  su    ##E!!E


wc

:C


w
-C||GXXu<CH||GXXu<CH==?r   c                 &    U R                  XU5      $ r   )is_truer<  s        r   any_to_booleanrX  7  s    ??7C00r   c                     UR                  U[        R                  " S5      5      nU R                  X[        R
                  U5      $ )N    )r;  r   IntTyper   r   int32)r    r!   r3  r4  r   asints         r   boolean_to_anyr^  ;  s3     LLbjjn-E<<T::r   c                     U R                  UUR                  UR                  5      nU R                  XR                  U5      $ r   )r/  r0  r1  rW  r2  s         r   literal_int_to_booleanr`  A  sB     
&
&
C
 ??7$7$7==r   c                     UR                   nU R                  XUR                  5      nU R                  XUR                  5      n[        R
                  " XV45      $ r   )r  r/  r  r  r   literal_struct)r    r!   rG   pyvalr  r  r  s          r   constant_complexrd  N  sL    


C''ejjAD''ejjAD""D<00r   c                     [        U[        R                  5      (       a  [        U5      nU R	                  U5      nU" U5      $ r   )r`   npbool_boolr9  )r    r!   rG   rc  r   s        r   constant_integerri  U  s8     %""U

 
 
$Cu:r   c                 4   [        U [        R                  [        R                  45      (       ai  [        U[        R                  R
                  5      (       a?  U R                  UR                  R                  :w  a  [        R                  " S5      eS nU$ gg)z(Typing for the np scalar 'view' method. zOChanging the dtype of a 0d array is only supported if the itemsize is unchangedc                     [        X5      $ r   r   )scalarviewtys     r   r   scalar_view.<locals>.implo  s    &))r   N)
r`   r   r2  r{   abstract	DTypeSpecr}   rb   r   TypingError)rl  rm  r   s      r   scalar_viewrr  f  su    6EKK78865>>#;#;<<??fll333$$() )	* = 	9r   viewr   )r   r   r4  numpyrf  r!  llvmliter   llvmlite.irr   numba.core.imputilsr   r   r   r   r	   
numba.corer
   r   r   r   numba.core.extendingr   numba.cpython.unsafe.numbersr   r   r*   r.   r1   rV   rZ   rl   divmodr{   rp   r  	ifloordivrs   truedivitruedivrw   rb  imodry   r~   r   r   r3  r,  r2  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r%  py_boolr&  r.  r/  r0  r1  r   r+  r9  r?  rB  rF  rH  rJ  rd  rV  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rG   r   r"  r-   r#  r0   r$  r   Complexr  r  r  r  r  r  clsr  r  r  r  r   r  r	  r  r  r  r  r  r;  Numberr  r"  rh  r$  r&  r(  r-  r@   r6  r=  voidptrr@  rE  rI  rM  rO  rU  AnyrX  r^  BooleanLiteralr`  rd  ri  rr  r   r   r   <module>r     s          5 5 6 5 0 /"FFF66r6< vu}}emm4G 5G x  %--?x!!5==%--@ A @ x>x  %--?F @ ?F x||U]]EMM:x}}emmU]]; < ;(FV x||U]]E,@,@Ax}}emmU-A-ABx||U[[%*>*>?x}}ekk5+?+?@: A @ C B:zF
F
F
F
F
F
F
F
F
F
(	FD
F	FFFFFFF'FTFF hkk5==%-- 8 E hkk5==%-- 8 E hkk5==%-- 8 F hkk5==%-- 8 F hkk5==%-- 8 F hkk5==%-- 8 F hllEMM *+; < hllEMM *+C D/-b	<    F
F
F
F(,i7X vu{{EKK0G 1G21&1&	FF
F
F
F
F
F
FFF< [[ hllB #M 2 hmmR $] 3 hllB #M 2 hmmR $] 3 hllB #M 2 hmmR $] 3 hR (); < h  "b )*< = hB ' 6 hR ( 7 hllB #M 2 hmmR $] 3 hllB #O 4 hmmR $_ 5 c2r ? + hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 hkk2r "< 0 c2 } % hllB  0 1 hllB  2 3 u}}f%: &:
 u}}f%: &:
 "EMM2F 3F<:J KK'C#v~.#v~.%s+,?@ ( x||U]]EMM:x}}emmU]];sEMM5==1'F 2 < ;'FRF F F. ElF@	FF
	F	FF ]] hllB #$4 5 hmmR $%5 6 hllB #$4 5 hmmR $%5 6 hllB #$4 5 hmmR $%5 6 hB '(8 9 hR ()9 : hllB  3 4 hllB  5 6 hkk2r "? 3 hkk2r "? 3 c2 ' ( }emm,}ell+ , -F tU]]# $ tU]]#C $C tU[[!F "F tU]]#1 $1 ==%++u}}
5B(--$_5 6 hmmU]] +O < E  %--0E  %++.E  %--0A 1 / 1A EMM5==)? *? EMM5==)? *? EKK%) &) EMM5;;'( (( EKK'( (( EKK'EMM5==) * ( EMM5==) * EIIu}}%1 &1 EMM5<<(; );
 E  %--0E  %--0> 1 1> 1 1     V $[ 1 v &{ 3r   