Ë
    èÿæiE�  ã                   ó„  — d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZmZ d dlm Z  d d	l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d d
l(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/  eej`                  «      d„ «       Z1 eejd                  ejf                  ejf                  «      d„ «       Z4 eejj                  ejf                  ejf                  «      d„ «       Z6 eejj                  ejn                  ejn                  «      d„ «       Z8 eejj                  ejr                  ejr                  «      d„ «       Z: eejv                  ejx                  ejx                  «       eejv                  ejz                  ejz                  «      d„ «       «       Z> eej~                  ejx                  ejx                  «       eej~                  ejz                  ejz                  «      d„ «       «       Z@d„ ZA  eejv                  «       eAd«      «         eej~                  «       eAd«      «        eej„                  «      d„ «       ZC eejf                  ej„                  «       eejˆ                  ej„                  «       eejr                  ej„                  «      d„ «       «       «       ZE eej„                  ejf                  «       eej„                  ejr                  «       eej„                  ejˆ                  «      d„ «       «       «       ZF eejŽ                  ej�                  ej’                  «      d„ «       ZJ eej–                  ej�                  ej’                  ejf                  «      d„ «       ZLd„ ZM eeNejž                  «      d„ «       ZP eeN ej¢                  ejf                  «      «      d„ «       ZR eeSejž                  «      d„ «       ZT eeS ej¢                  ejf                  «      «      d „ «       ZUd!„ ZV eeWej°                  «      d"„ «       ZY eeWej°                  ej’                  «      d#„ «       ZZ ee[ejf                  «       ee\ejf                  «      d$„ «       «       Z] ee\ej¼                  «      d%„ «       Z_ ee` ej¢                  ejf                  «      «      d&„ «       Za eejÄ                  ejf                  «      d'„ «       Zc eejÈ                  «      d(„ «       Ze eejÌ                  «      d)„ «       Zg eejˆ                  «      d*„ «       Zh eeiejf                  «      d+„ «       Zj eekejØ                  «      d,„ «       Zm eenejÞ                  «      d-„ «       Zp ed.ejf                  ejf                  «      d/„ «       Zq eerejæ                  «      d0„ «       Zt eeuejì                  «      d1„ «       Zw eex«      d2„ «       Zy eexejž                  «      d3„ «       Zz eeu«      d4„ «       Z{ eeud5¬6«      d7„ «       Z|d8„ Z}d9„ Z~ e*e~«       e*e}«       G d:„ d;e)«      «       «       Z ee~ejÄ                  «       ee~e�j                   «      d<„ «       «       Z� ee}ejÄ                  «       ee}e�j                   «      d=„ «       «       Z‚d d>lƒm„Z„m…Z… d d?l†mZm‡Z‡  ee„e�j                  e�j                  «       ee„e�j                  e�j                  «      d@„ «       «       Z‹ eeS«      dA„ «       ZŒ eeS«      dB„ «       Z� eeN«      dC„ «       ZŽ eeN«      dD„ «       Z� e‡dE„ «      Z� e‡dF„ «      Z‘e‡dG„ «       Z’ eeS«      dH„ «       Z“ eeN«      dI„ «       Z” ee�j*                   ej¢                  ejf                  «      «      dJ„ «       Z– ee—«      d[dK„«       Z˜ ee™«      dL„ «       Zš ee›«      dM„ «       Zœ ee�«      dN„ «       ZždO„ ZŸ eeŸ«      dP„ «       Z edQ„ «       Z¡ edRdS«      Z¢ e¢«       Z£ ee¤d¬T«      dU„ «       Z¥ ee¤«      dV„ «       Z¦edW„ «       Z§ ee¨«      dX„ «       Z© eeª«      dY„ «       Z« ee¬«      d\dZ„«       Z­y)]é    )Ú
namedtupleN)Úreduce)Úir)Úlower_builtinÚlower_getattrÚlower_getattr_genericÚ
lower_castÚlower_constantÚiternext_implÚcall_getiterÚcall_iternextÚimpl_ret_borrowedÚimpl_ret_untrackedÚnumba_typeref_ctor)ÚtypingÚtypesÚutilsÚcgutils)ÚoverloadÚ	intrinsic)Ú
Conversion)ÚTypingErrorÚLoweringErrorÚNumbaExperimentalFeatureWarningÚNumbaTypeErrorÚRequireLiteralValueÚNumbaPerformanceWarning)ÚAbstractTemplateÚinfer_globalÚ	signature)Úliteral_unroll)Úas_numba_typec                 óB   — t        | t        j                  «      rd„ }|S y )Nc                 ó   — | S ©N© )Úvals    úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/cpython/builtins.pyÚimplzol_truth.<locals>.impl    s   € ØˆJó    ©Ú
isinstancer   ÚBoolean)r'   r)   s     r(   Úol_truthr.      s   € ä�#”u—}‘}Ô%ò	àˆð &r*   c                 ór   — | j                  t        j                  |«      }|j                   |||«      «      S )z3
    Implement `x is not y` as `not (x is y)`.
    )Úget_functionÚoperatorÚis_Únot_)ÚcontextÚbuilderÚsigÚargsÚis_impls        r(   Úgeneric_is_notr9   %   s0   € ð
 ×"Ñ"¤8§<¡<°Ó5€GØ�<‰<™ ¨Ó.Ó/Ð/r*   c                 ó  — |j                   \  }}||k(  rC|j                  rd}t        |«      ‚	 | j                  t        j
                  |«      } |||«      S t        j                  S # t        $ r t        j                  cY S w xY w)z-
    Default implementation for `x is y`
    zno default `is` implementation)	r7   Úmutabler   r0   r1   ÚeqÚNotImplementedErrorr   Ú	false_bit)r4   r5   r6   r7   Úlhs_typeÚrhs_typeÚmsgÚeq_impls           r(   Ú
generic_isrC   .   s†   € ð
 Ÿ™Ñ€Hˆhà�8Òà×ÒØ6�Ü# CÓ(Ð(ð2Ø%×2Ñ2´8·;±;ÀÓD�Gñ
 # 7¨DÓ1Ð1ä× Ñ Ð øô +ò -ä"×,Ñ,Ò,ð-ús   ¯ A( Á(BÂBc                 óü   — |j                   \  }}||k(  rY|j                  |d   t        j                  «      }|j                  |d   t        j                  «      }|j	                  d||«      S t        j
                  S )z7
    Implementation for `x is y` for Opaque types.
    r   é   z==)r7   Úptrtointr   Úintp_tÚicmp_unsignedr>   )r4   r5   r6   r7   r?   r@   Úlhs_ptrÚrhs_ptrs           r(   Ú	opaque_isrK   H   so   € ð
 Ÿ™Ñ€Hˆhà�8ÒØ×"Ñ" 4¨¡7¬G¯N©NÓ;ˆØ×"Ñ" 4¨¡7¬G¯N©NÓ;ˆà×$Ñ$ T¨7°GÓ<Ð<ä× Ñ Ð r*   c                 ó†  — |\  }}|j                   \  }}| j                  |||t        j                  «      }| j                  |||t        j                  «      }	| j	                  t
        j                  t        j                  t        j                  t        j                  t        j                  «      «      }
 |
|||	f«      S )zà
    Implementation for `x is y` for types derived from types.Boolean
    (e.g. BooleanLiteral), and cross-checks between literal and non-literal
    booleans, to satisfy Python's behavior preserving identity for bools.
    )	r7   Úcastr   Úbooleanr0   r1   r<   r   r    )r4   r5   r6   r7   Úarg1Úarg2Ú	arg1_typeÚ	arg2_typeÚ_arg1Ú_arg2rB   s              r(   Úbool_is_implrU   X   s“   € ð �J€Dˆ$ØŸ8™8Ñ€IˆyØ�L‰L˜ $¨	´5·=±=ÓA€EØ�L‰L˜ $¨	´5·=±=ÓA€EØ×"Ñ"Ü�‰Ü×ÑœŸ™¬¯©´u·}±}ÓEó€Gñ �7˜U E˜NÓ+Ð+r*   c                 óÜ   — |j                   \  }}d}|j                  |j                  k(  rd}t        j                  t        j                  d«      |«      }t        | ||j                  |«      S ©Nr   rE   ©r7   Úliteral_valuer   ÚConstantÚIntTyper   Úreturn_type©r4   r5   r6   r7   rO   rP   r'   Úress           r(   Úconst_eq_implr_   k   ó\   € ð —‘�J€Dˆ$Ø
€CØ×Ñ˜T×/Ñ/Ò/ØˆÜ
�+‰+”b—j‘j “m SÓ
)€CÜ˜g w°·±ÀÓEÐEr*   c                 óÜ   — |j                   \  }}d}|j                  |j                  k7  rd}t        j                  t        j                  d«      |«      }t        | ||j                  |«      S rW   rX   r]   s           r(   Úconst_ne_implrb   w   r`   r*   c                 ó   ‡ — ˆ fd„}|S )Nc                 óœ   •— t        | t        j                  «      }t        |t        j                  «      }|r	|rˆfd„}|S ||z  rˆfd„}|S y )Nc                 ó   •— ‰S r%   r&   ©ÚaÚbr'   s     €r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.impl‡   s   ø€ Ø�
r*   c                 ó
   •— ‰ S r%   r&   rf   s     €r(   r)   z/gen_non_eq.<locals>.none_equality.<locals>.impl‹   s
   ø€ Ø�w�r*   ©r,   r   ÚNoneType)rg   rh   Úa_noneÚb_noner)   r'   s        €r(   Únone_equalityz!gen_non_eq.<locals>.none_equalityƒ   sH   ø€ Ü˜AœuŸ~™~Ó.ˆÜ˜AœuŸ~™~Ó.ˆÙ‘fôàˆKØ�fŠ_ôàˆKð r*   r&   )r'   rn   s   ` r(   Ú
gen_non_eqro   ‚   s   ø€ ô
ð Ðr*   TFc                 ó†   — |j                  «       }| j                  ||||«      }| j                  ||«      } || ||||«      S )z>
    Deferred.__getattr__ => redirect to the actual type.
    )ÚgetrM   Úget_getattr)r4   r5   ÚtypÚvalueÚattrÚ
inner_typer'   Úimps           r(   Údeferred_getattrrx   •   sH   € ð
 —‘“€JØ
�,‰,�w  s¨JÓ
7€CØ
×
Ñ
˜j¨$Ó
/€CÙˆw˜ ¨S°$Ó7Ð7r*   c                 ó¦   — | j                  ||||j                  «       «      }| j                  |   }|j                  ||j	                  «       |«      S r%   )rM   rq   Údata_model_managerÚsetÚmake_uninitialized)r4   r5   ÚfromtyÚtotyr'   ÚactualÚmodels          r(   Úany_to_deferredr�   Ÿ   sJ   € ð �\‰\˜' 3¨°·±³
Ó;€FØ×&Ñ& tÑ,€EØ�9‰9�W˜e×6Ñ6Ó8¸&ÓAÐAr*   c                 óˆ   — | j                   |   }|j                  ||«      }| j                  |||j                  «       |«      S r%   )rz   rq   rM   )r4   r5   r}   r~   r'   r€   s         r(   Údeferred_to_anyrƒ   §   s?   € ð ×&Ñ& vÑ.€EØ
�)‰)�G˜SÓ
!€CØ�<‰<˜  f§j¡j£l°DÓ9Ð9r*   c                 ó„   — |\  }}|j                  ||g«      }|j                  |«      }t        | ||j                  |«      S r%   )ÚgepÚloadr   r\   )r4   r5   r6   r7   Úbase_ptrÚidxÚelem_ptrr^   s           r(   Úgetitem_cpointerrŠ   ²   s@   € à�M€HˆcØ�{‰{˜8 c UÓ+€HØ
�,‰,�xÓ
 €CÜ˜W g¨s¯©ÀÓDÐDr*   c                 óZ   — |\  }}}|j                  ||g«      }|j                  ||«       y r%   )r…   Ústore)r4   r5   r6   r7   r‡   rˆ   r'   r‰   s           r(   Úsetitem_cpointerr�   º   s.   € àÑ€Hˆc�3Ø�{‰{˜8 c UÓ+€HØ‡M�M�#�xÕ r*   c                 ó°   ‡ ‡‡— t        |«      t        |«      k(  s	J ||f«       ‚t        |«      dkD  sJ ‚ˆˆˆ fd„}t        ||«      }t        ||«      \  }}|S )Nr   c                 óZ  •— | \  }}|\  }}‰j                   j                  ||«      }|€J ‚‰j                  ‰|||«      }‰j                  ‰|||«      }t        j                  t
        j                  ||«      }‰j                  ‰|«      } |‰||f«      }	‰j                  |	||«      }
||
fS r%   )	Útyping_contextÚunify_typesrM   r   r    r   rN   r0   Úselect)Úaccumulatorrt   ÚacctyÚaccÚvtyÚvÚtyÚcmpsigÚgeÚpredr^   r5   Úcmpopr4   s              €€€r(   Úbinary_minmaxz do_minmax.<locals>.binary_minmaxÇ   s¶   ø€ ð !‰
ˆˆsØ‰ˆˆQØ×#Ñ#×/Ñ/°°sÓ;ˆØˆ~Ðˆ~Ø�l‰l˜7 C¨°Ó3ˆØ�L‰L˜ ! S¨"Ó-ˆÜ×!Ñ!¤%§-¡-°°RÓ8ˆØ×!Ñ! %¨Ó0ˆÙ�'˜A˜s˜8Ó$ˆØ�n‰n˜T 1 cÓ*ˆØ�3ˆwˆr*   )ÚlenÚzipr   )	r4   r5   Úargtysr7   rœ   r�   ÚtypvalsÚrestyÚresvals	   ``  `    r(   Ú	do_minmaxr¤   Ã   sZ   ú€ Üˆv‹;œ#˜d›)Ò#Ð3 f¨d ^Ó3Ð#Üˆt‹9�qŠ=Ðˆ=öô �&˜$Ó€GÜ˜=¨'Ó2�M€Eˆ6Ø€Mr*   c                 óž   — t        |j                  d   «      }t        j                  ||d   «      }t	        | |||t
        j                  «      S ©Nr   )Úlistr7   r   Úunpack_tupler¤   r1   Úgt©r4   r5   r6   r7   r    s        r(   Úmax_iterabler«   Û   óA   € ä�#—(‘(˜1‘+Ó€FÜ×Ñ ¨¨a©Ó1€DÜ�W˜g v¨t´X·[±[ÓAÐAr*   c                 óP   — t        | ||j                  |t        j                  «      S r%   )r¤   r7   r1   r©   ©r4   r5   r6   r7   s       r(   Ú
max_varargr¯   á   ó   € ä�W˜g s§x¡x°´x·{±{ÓCÐCr*   c                 óž   — t        |j                  d   «      }t        j                  ||d   «      }t	        | |||t
        j                  «      S r¦   )r§   r7   r   r¨   r¤   r1   Últrª   s        r(   Úmin_iterabler³   å   r¬   r*   c                 óP   — t        | ||j                  |t        j                  «      S r%   )r¤   r7   r1   r²   r®   s       r(   Ú
min_varargrµ   ë   r°   r*   c                 ó"   — d| j                   fz  S )Nzllvm.rint.f%d)Úbitwidth)Útps    r(   Ú_round_intrinsicr¹   ð   s   € à˜bŸk™k˜^Ñ+Ð+r*   c                 ór  — |j                   d   }| j                  |«      }|j                  }t        j                  ||g«      }t        j                  ||t        |«      «      }|j                  ||«      }	|j                  |	| j                  |j                  «      «      }	t        | ||j                  |	«      S r¦   )r7   Úget_value_typeÚmoduler   ÚFunctionTyper   Úget_or_insert_functionr¹   ÚcallÚfptosir\   r   )
r4   r5   r6   r7   ÚflttyÚlltyr¼   ÚfntyÚfnr^   s
             r(   Úround_impl_unaryrÅ   ô   s˜   € à�H‰H�Q‰K€EØ×!Ñ! %Ó(€DØ�^‰^€FÜ�?‰?˜4 $ Ó(€DÜ	×	'Ñ	'¨°Ô6FÀuÓ6MÓ	N€BØ
�,‰,�r˜4Ó
 €Cà
�.‰.˜˜g×4Ñ4°S·_±_ÓEÓ
F€CÜ˜g w°·±ÀÓEÐEr*   c                 óê   ‡— |j                   d   }t        j                  t        |«      t	        j
                  ||«      «      Šˆfd„}| j                  ||||«      }t        | ||j                  |«      S )Nr   c                 ó  •— t        j                  | «      st        j                  | «      r| S |dk\  rD|dkD  rd|dz
  z  }d}nd|z  }d}| |z  |z  }t        j                  |«      r| S  ‰|«      |z  |z  S d| z  }| |z  } ‰|«      |z  S )Nr   é   g      $@g’ÕMÏð€Dg      ð?)ÚmathÚisinfÚisnan)ÚxÚndigitsÚpow1Úpow2ÚyÚ_rounds        €r(   Úround_ndigitsz(round_impl_binary.<locals>.round_ndigits  s¦   ø€ Ü�:‰:�aŒ=œDŸJ™J qœMØˆHà�aŠ<Ø˜Š|ð  ¨"¡Ñ-�Ø‘à˜w‘�Ø�Ø�T‘˜TÑ!ˆAÜ�z‰z˜!Œ}Ø�Ù˜1“I Ñ$¨Ñ,Ð,ð ˜W˜HÑ%ˆDØ�D‘ˆAÙ˜!“9˜tÑ#Ð#r*   )	r7   r   ÚExternalFunctionr¹   r   r    Úcompile_internalr   r\   )r4   r5   r6   r7   rÁ   rÒ   r^   rÑ   s          @r(   Úround_impl_binaryrÕ      sl   ø€ à�H‰H�Q‰K€Eô ×#Ñ#Ü˜Ó¤×!1Ñ!1°%¸Ó!?óA€Fô$ð. ×
"Ñ
" 7¨M¸3ÀÓ
E€CÜ˜g w°·±ÀÓEÐEr*   c                 ó’   — |j                   \  }|\  }| j                  ||||j                  «      }t        | ||j                  |«      S r%   )r7   rM   r\   r   )r4   r5   r6   r7   r˜   r'   r^   s          r(   Úint_implr×   &  sC   € ð �8‰8�D€RØ�E€SØ
�,‰,�w  R¨¯©Ó
9€CÜ˜g w°·±ÀÓEÐEr*   c                 ó¬   — |j                   \  }| j                  |j                  t        |j                  «      «      }t        | ||j                  |«      S r%   )r7   Úget_constantr\   ÚfloatrY   r   )r4   r5   r6   r7   r˜   r^   s         r(   Úfloat_literal_implrÛ   /  sC   € à�8‰8�D€RØ
×
Ñ
˜sŸ™´°b×6FÑ6FÓ0GÓ
H€CÜ˜g w°·±ÀÓEÐEr*   c                 ó˜  — |j                   }|j                  }t        |j                  «      dk(  r|j                  \  }|\  }t	        |t
        j                  «      r,| j                  ||||«      }t        | ||j                   |«      S | j                  ||||«      }	| j                  |d«      }
nTt        |j                  «      dk(  r<|j                  \  }}|\  }	}
| j                  ||	||«      }	| j                  ||
||«      }
| j                  ||«      }	|_        
|_        |j                  «       }t        | ||j                   |«      S )NrE   r   é   )r\   Úunderlying_floatrž   r7   r,   r   ÚComplexrM   r   rÙ   Úmake_complexÚrealÚimagÚ	_getvalue)r4   r5   r6   r7   Úcomplex_typeÚ
float_typeÚargtyÚargr^   rá   râ   ÚrealtyÚimagtyÚcmplxs                 r(   Úcomplex_implrë   6  s%  € à—?‘?€LØ×.Ñ.€JÜ
ˆ3�8‰8ƒ}˜ÒØ—(‘(‰ˆØ‰ˆÜ�eœUŸ]™]Ô+à—,‘,˜w¨¨U°LÓAˆCÜ% g¨w¸¿¹ÈÓMÐMà—<‘< ¨¨e°ZÓ@ˆDØ×'Ñ'¨
°AÓ6‰Dä	ˆS�X‰X‹˜!Ò	ØŸ8™8Ñˆ�Ø‰ˆˆtØ�|‰|˜G T¨6°:Ó>ˆØ�|‰|˜G T¨6°:Ó>ˆà× Ñ  ¨,Ó7€EØ€E„JØ€E„JØ
�/‰/Ó
€CÜ˜g w°·±ÀÓEÐEr*   c                 ó:  ‡— t        |j                  t        j                  «      rG|j                  j                  Šˆfd„}| j                  ||||«      }t        | ||j                  |«      S |\  }|j                  \  }| j                  ||||j                  «      S )z1
    Call a number class, e.g. np.int32(...)
    c                  ó2   •— t        j                  | ‰¬«      S )N)Údtype)ÚnpÚarray)Úarg_hackÚdts    €r(   Úfooznumber_constructor.<locals>.fooZ  s   ø€ Ü—8‘8˜H¨BÔ/Ð/r*   )	r,   r\   r   ÚArrayrî   rÔ   r   r7   rM   )	r4   r5   r6   r7   ró   r^   r'   Úvaltyrò   s	           @r(   Únumber_constructorrö   R  sƒ   ø€ ô
 �#—/‘/¤5§;¡;Ô/à�_‰_×"Ñ"ˆô	0à×&Ñ& w°°S¸$Ó?ˆÜ! '¨7°C·O±OÀSÓIÐIð ‰ˆØ—(‘(‰ˆØ�|‰|˜G S¨%°·±ÓAÐAr*   c                 ó"   — | j                  «       S r%   ©Úget_dummy_value©r4   r5   r˜   Úpyvals       r(   Úconstant_dummyrü   h  s   € ð ×"Ñ"Ó$Ð$r*   c                 ó    — | j                  |«      }| j                  ||j                  |«      t        |«      ¬«      }|j	                  ||«      S )N)Úinfo)Úget_function_pointer_typeÚadd_dynamic_addrÚget_pointerÚstrÚbitcast)r4   r5   r˜   rû   ÚptrtyÚptrvals         r(   Úconstant_function_pointerr  m  sL   € à×-Ñ-¨bÓ1€EØ×%Ñ% g¨r¯~©~¸eÓ/DÜ+.¨u«:ð &ó 7€Fà�?‰?˜6 5Ó)Ð)r*   c                 óx   — |€| j                  ||j                  «      S | j                  ||j                  |«      S r%   )Úmake_optional_noneÚtypeÚmake_optional_valuerú   s       r(   Úconstant_optionalr  u  s7   € à€}Ø×)Ñ)¨'°2·7±7Ó;Ð;à×*Ñ*¨7°B·G±G¸UÓCÐCr*   c                 ó"   — | j                  «       S )z&
    One-argument type() builtin.
    rø   r®   s       r(   Ú	type_implr    s   € ð
 ×"Ñ"Ó$Ð$r*   c                 óF   — |j                   \  }|\  }t        | |||«      }|S r%   )r7   r   )r4   r5   r6   r7   r˜   r'   Úitervals          r(   Ú	iter_implr  ‡  s)   € à
�(‰(�C€BØ�D€CÜ˜7 G¨R°Ó5€GØ€Nr*   c                 óL  — |j                   \  }|\  }t        | |||«      }|j                  |j                  |j	                  «       «      d¬«      5  | j
                  j                  |t        d«       d d d «       |j                  «       S # 1 sw Y   |j                  «       S xY w)NF)Úlikelyr&   )	r7   r   Úif_thenr3   Úis_validÚ	call_convÚreturn_user_excÚStopIterationÚyielded_value)r4   r5   r6   r7   Úitertyr  r^   s          r(   Ú	next_implr  �  sŠ   € à�h‰h�G€FØ�H€Gä
˜ ¨&°'Ó
:€Cà	�‰˜Ÿ™ c§l¡l£nÓ5¸eˆÕ	DØ×Ñ×)Ñ)¨'´=À"ÔE÷ 
Eð ×ÑÓÐ÷ 
Eð ×ÑÓÐús   Á"BÂB#znot inc                 óR   — d„ }| j                  ||||«      }|j                  |«      S )Nc                 ó.   — t        j                  || «      S r%   )r1   Úcontains©rg   rh   s     r(   Úin_implznot_in.<locals>.in_impl   s   € Ü× Ñ   AÓ&Ð&r*   )rÔ   r3   )r4   r5   r6   r7   r  r^   s         r(   Únot_inr   ž  s.   € ò'ð ×
"Ñ
" 7¨G°S¸$Ó
?€CØ�<‰<˜ÓÐr*   c                 ó°   — |j                   \  }|j                  }| j                  |t        |j                  «      «      }t        | ||j                  |«      S r%   )r7   r\   rÙ   rž   r   r   )r4   r5   r6   r7   r˜   Úrettyr^   s          r(   Úconstsized_lenr#  ©  sE   € à�8‰8�D€RØ�O‰O€EØ
×
Ñ
˜u¤c¨"¯(©(£mÓ
4€CÜ˜g w°·±ÀÓEÐEr*   c                 ót   — |j                   \  }t        |«      rt        j                  S t        j                  S r%   )r7   rž   r   Útrue_bitr>   )r4   r5   r6   r7   r˜   s        r(   Ú
sized_boolr&  ±  s,   € à�8‰8�D€RÜ
ˆ2„wÜ×ÑÐä× Ñ Ð r*   c                 ól   — |j                   }| j                  |«      }t        | ||j                   |«      S r%   )r\   Úget_constant_undefr   )r4   r5   r6   r7   r"  r^   s         r(   Úlower_empty_tupler)  ¹  s0   € à�O‰O€EØ
×
$Ñ
$ UÓ
+€CÜ˜g w°·±ÀÓEÐEr*   c                 ó:   — |\  }t        | ||j                  |«      S r%   )r   r\   )r4   r5   r6   r7   r'   s        r(   Úlower_tupler+  ¿  s   € à�D€CÜ˜W g¨s¯©ÀÓDÐDr*   c                 óÞ   — t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  f}t        | |«      rd„ }|S y )Nc                 ó   — t        | «      dkD  S r¦   )rž   ©rÌ   s    r(   Ú	bool_implz bool_sequence.<locals>.bool_implÐ  s   € Ü�q“6˜A‘:Ðr*   )r   ÚCharSeqÚUnicodeCharSeqÚDictTypeÚListTypeÚUnicodeTypeÚSetr,   )rÌ   Úvalid_typesr/  s      r(   Úbool_sequencer7  Ä  sU   € ô 	�‰Ü×ÑÜ�‰Ü�‰Ü×ÑÜ�	‰	ð€Kô �!�[Ô!ò	àÐð "r*   Úalways)Úinlinec                 óB   — t        | t        j                  «      s| €d„ S y )Nc                  ó   — y©NFr&   r.  s    r(   Ú<lambda>zbool_none.<locals>.<lambda>×  s   € ˜r*   rj   r.  s    r(   Ú	bool_noner>  Ô  s   € ä�!”U—^‘^Ô$¨¨	ÙÐð )2r*   c                 ó¸   — t        | t        j                  «      rt        j                  S t        | t        j
                  «      r| j                  S t        d«      ‚©NzUnsupported type)r,   r   ÚFloatrï   ÚinfÚIntegerÚmaxvalr=   ©rs   s    r(   Úget_type_max_valuerF  Û  s=   € Ü�#”u—{‘{Ô#Ü�v‰vˆÜ�#”u—}‘}Ô%Ø�z‰zÐÜ
Ð0Ó
1Ð1r*   c                 óº   — t        | t        j                  «      rt        j                   S t        | t        j
                  «      r| j                  S t        d«      ‚r@  )r,   r   rA  rï   rB  rC  Úminvalr=   rE  s    r(   Úget_type_min_valuerI  â  s?   € Ü�#”u—{‘{Ô#Ü—‘ˆwˆÜ�#”u—}‘}Ô%Ø�z‰zÐÜ
Ð0Ó
1Ð1r*   c                   ó   — e Zd Zd„ Zy)ÚMinValInferc                 ó¸   — |rJ ‚t        |«      dk(  sJ ‚t        |d   t        j                  t        j                  f«      rt        |d   j                  g|¢­Ž S y )NrE   r   )rž   r,   r   ÚDTypeÚNumberClassr    rî   )Úselfr7   Úkwss      r(   ÚgenericzMinValInfer.genericì  sT   € ÙˆˆwÜ�4‹y˜AŠ~Ðˆ~Ü�d˜1‘g¤§¡¬U×->Ñ->Ð?Ô@Ü˜T !™WŸ]™]Ð2¨TÒ2Ð2ð Ar*   N)Ú__name__Ú
__module__Ú__qualname__rQ  r&   r*   r(   rK  rK  é  s   „ ó3r*   rK  c                 óJ  — |j                   d   j                  }t        |t        j                  «      rE|j
                  }t        j                  |«      }|j                  }t        j                  ||«      }�nt        |t        j                  «      r�|j
                  }|dk(  rt        j                  «       }n%|dk(  rt        j                  «       }nt        d«      ‚t        t        dj!                  |«      «      }	t        j                  |t        j"                   «      }ntt        |t        j$                  t        j&                  f«      rJd}t        j                  |«      }t        j(                  j                  dz   }t        j                  ||«      }t+        | |«      S )Nr   é    é@   ú+llvmlite only supports 32 and 64 bit floatsúfloat{}rE   )r7   rî   r,   r   rC  r·   r   r[   rH  rZ   rA  Ú	FloatTypeÚ
DoubleTyper=   Úgetattrrï   ÚformatrB  Ú
NPDatetimeÚNPTimedeltaÚint64r   ©
r4   r5   r6   r7   rs   ÚbwÚltyr'   r^   Únptys
             r(   Úlower_get_type_min_valuere  ò  s*  € ð �(‰(�1‰+×
Ñ
€Cä�#”u—}‘}Ô%Ø�\‰\ˆÜ�j‰j˜‹nˆØ�j‰jˆÜ�k‰k˜#˜sÓ#ŠÜ	�CœŸ™Ô	%Ø�\‰\ˆØ�Š8Ü—,‘,“.‰CØ�2ŠXÜ—-‘-“/‰Cä%Ð&SÓTÐTÜ”r˜9×+Ñ+¨BÓ/Ó0ˆÜ�k‰k˜#¤§¡˜wÓ'‰Ü	�Cœ%×*Ñ*¬E×,=Ñ,=Ð>Ô	?ØˆÜ�j‰j˜‹nˆÜ�k‰k× Ñ  1Ñ$ˆÜ�k‰k˜#˜sÓ#ˆÜ˜g w°°SÓ9Ð9r*   c                 óB  — |j                   d   j                  }t        |t        j                  «      rE|j
                  }t        j                  |«      }|j                  }t        j                  ||«      }�nt        |t        j                  «      r�|j
                  }|dk(  rt        j                  «       }n%|dk(  rt        j                  «       }nt        d«      ‚t        t        dj!                  |«      «      }	t        j                  |t        j"                  «      }nqt        |t        j$                  t        j&                  f«      rGd}t        j                  |«      }t        j(                  j                  }t        j                  ||«      }t+        | |«      S )Nr   rV  rW  rX  rY  )r7   rî   r,   r   rC  r·   r   r[   rD  rZ   rA  rZ  r[  r=   r\  rï   r]  rB  r^  r_  r`  r   ra  s
             r(   Úlower_get_type_max_valuerg    s#  € ð �(‰(�1‰+×
Ñ
€Cä�#”u—}‘}Ô%Ø�\‰\ˆÜ�j‰j˜‹nˆØ�j‰jˆÜ�k‰k˜#˜sÓ#ŠÜ	�CœŸ™Ô	%Ø�\‰\ˆØ�Š8Ü—,‘,“.‰CØ�2ŠXÜ—-‘-“/‰Cä%Ð&SÓTÐTÜ”r˜9×+Ñ+¨BÓ/Ó0ˆÜ�k‰k˜#œrŸv™vÓ&‰Ü	�Cœ%×*Ñ*¬E×,=Ñ,=Ð>Ô	?ØˆÜ�j‰j˜‹nˆÜ�k‰k× Ñ ˆÜ�k‰k˜#˜sÓ#ˆÜ˜g w°°SÓ9Ð9r*   )Ú
IndexValueÚIndexValueType)r   Úregister_jitablec                 ó˜   — |j                   }|\  }} t        j                  |«      | |«      }||_        ||_        |j                  «       S r%   )r\   r   Úcreate_struct_proxyÚindexrt   rã   )r4   r5   r6   r7   rs   rm  rt   Úindex_values           r(   Úimpl_index_valuero  -  sN   € ð �/‰/€CØ�L€Eˆ5Ø2”'×-Ñ-¨cÓ2°7¸GÓD€KØ€KÔØ€KÔØ× Ñ Ó"Ð"r*   c                 óP   — t        | t        «      rt        |t        «      rd„ }|S y y )Nc                 ó¤  — t        j                  | j                  «      r>t        j                  |j                  «      r| j                  |j                  k  r| S |S | S t        j                  |j                  «      r|S | j                  |j                  kD  r|S | j                  |j                  k(  r| j                  |j                  k  r| S |S | S r%   ©rï   rË   rt   rm  ©Úindval1Úindval2s     r(   Úmin_implzindval_min.<locals>.min_impl<  óœ   € Ü�x‰x˜Ÿ™Ô&Ü—8‘8˜GŸM™MÔ*à—}‘} w§}¡}Ò4Ø&˜à&˜ð #�NÜ—‘˜'Ÿ-™-Ô(à�Ø—‘ §¡Ò.Ø�Ø—‘ '§-¡-Ò/Ø—=‘= 7§=¡=Ò0Ø"�Nà"�NØˆNr*   ©r,   ri  )rt  ru  rv  s      r(   Ú
indval_minry  8  ó,   € ä�'œ>Ô*Ü�'œ>Ô*ò	ð, ˆð/ +ð +r*   c                 óx   — t        | t        j                  «      r t        |t        j                  «      rd„ }|S y y )Nc                 ó   — | xr |S r%   r&   ©Úval1Úval2s     r(   Úbool_min_implz"boolval_min.<locals>.bool_min_implY  s   € Ø’=˜DÐ r*   r+   )r~  r  r€  s      r(   Úboolval_minr�  U  s3   € ä�$œŸ™Ô&Ü�$œŸ™Ô&ò	!àÐð 'ð 'r*   c                 óP   — t        | t        «      rt        |t        «      rd„ }|S y y )Nc                 ó¤  — t        j                  | j                  «      r>t        j                  |j                  «      r| j                  |j                  k  r| S |S | S t        j                  |j                  «      r|S |j                  | j                  kD  r|S | j                  |j                  k(  r| j                  |j                  k  r| S |S | S r%   rr  rs  s     r(   Úmax_implzindval_max.<locals>.max_implb  rw  r*   rx  )rt  ru  r„  s      r(   Ú
indval_maxr…  ^  rz  r*   c                 óx   — t        | t        j                  «      r t        |t        j                  «      rd„ }|S y y )Nc                 ó   — | xs |S r%   r&   r}  s     r(   Úbool_max_implz"boolval_max.<locals>.bool_max_impl  s   € Ø’<˜4Ðr*   r+   )r~  r  rˆ  s      r(   Úboolval_maxr‰  {  s3   € ä�$œŸ™Ô&Ü�$œŸ™Ô&ò	 àÐð 'ð 'r*   c                 ó   — | |kD  S r%   r&   r  s     r(   r=  r=  „  s   € ¨Q°ªUr*   c                 ó   — | |k  S r%   r&   r  s     r(   r=  r=  …  s   € ¨!¨aª%r*   c                 óH   ‡— t        | t        j                  «      rˆfd„}|S y )Nc                 óZ   •— t        | «      }t        |«      }|D ]  } ‰||«      sŒ|}Œ |S r%   )ÚiterÚnext)ÚiterableÚitÚ
return_valr'   Úops       €r(   r)   zmin_max_impl.<locals>.impl‹  s6   ø€ Ü�h“ˆBÜ˜b›ˆJÛ�Ù�c˜:Õ&Ø!$‘Jð ð Ðr*   )r,   r   ÚIterableType)r�  r“  r)   s    ` r(   Úmin_max_implr•  ˆ  s$   ø€ ä�(œE×.Ñ.Ô/ô	ð ˆð 0r*   c                 ó"   — t        | t        «      S r%   )r•  Ú	less_than©r�  s    r(   Úiterable_minr™  •  s   € ä˜¤)Ó,Ð,r*   c                 ó"   — t        | t        «      S r%   )r•  Úgreater_thanr˜  s    r(   Úiterable_maxrœ  š  s   € ä˜¤,Ó/Ð/r*   c                 ó˜  — |j                   }d„ }t        j                  j                  |j                  «      }t        j                  |t        j                  |«      |«      }t        |«      dkD  r$| j                  «       | j                  |||«      f}n#| j                  «       | j                  ||d«      f}| j                  ||||«      S )ae  Redirect constructor implementation to `numba_typeref_ctor(cls, *args)`,
    which should be overloaded by the type's implementation.

    For example:

        d = Dict()

    `d` will be typed as `TypeRef[DictType]()`.  Thus, it will call into this
    implementation.  We need to redirect the lowering to a function
    named ``numba_typeref_ctor``.
    c                 ó   — t        | g|¢­Ž S r%   )r   )Úclsr7   s     r(   Ú	call_ctorz%redirect_type_ctor.<locals>.call_ctor®  s   € Ü! #Ð-¨Ò-Ð-r*   r   r&   )r\   r   ÚTupleÚ
from_typesr7   r   r    ÚTypeRefrž   rù   Ú
make_tuplerÔ   )r4   r5   r6   r7   rŸ  r   Ú	ctor_argss          r(   Úredirect_type_ctorr¦  Ÿ  sº   € ð �/‰/€Cò.ô —‘×&Ñ& s§x¡xÓ0€Iä
×
Ñ
˜3¤§¡¨cÓ 2°IÓ
>€CÜ
ˆ9ƒ~˜ÒØ×'Ñ'Ó)Ø×"Ñ" 7¨I°tÓ<ð>‰ð ×'Ñ'Ó)Ø×"Ñ" 7¨I°rÓ:ð<ˆð ×#Ñ# G¨Y¸¸TÓBÐBr*   c                 ó$  ‡— d }t        |t        j                  «      rd}n9t        |t        j                  «      rd}nt        |t        j                  «      rd}|� dj
                  |Ž }t        |«      ‚t        | t        j                  j                  t        j                  t        j                  t        j                  t        j                  f«      rt        Šn,t        | t        j                  j                  «      rt        Šny dˆfd„	}|S )N)ÚstringsÚ )Úbytesrh   )Ú	bytearrayrh   z/sum() can't sum {} [use {}''.join(seq) instead]c                 ó0   •— |} ‰| «      D ]  }||z   }Œ	 |S r%   r&   )r�  Ústartr•   rÌ   Úiterators       €r(   r)   zol_sum.<locals>.implÚ  s'   ø€ ØˆÙ˜(Ö#ˆAà˜‘'‰Cð $ð ˆ
r*   ©r   )r,   r   r4  ÚBytesÚ	ByteArrayr]  r   Ú
containersÚ_HomogeneousTupleÚListr3  rô   Ú	RangeTyperŽ  Ú_HeterogeneousTupler!   )r�  r­  ÚerrorrA   r)   r®  s        @r(   Úol_sumr¸  ¿  sÔ   ø€ ð €EÜ�%œ×*Ñ*Ô+Ø‰Ü	�Eœ5Ÿ;™;Ô	'Ø‰Ü	�Eœ5Ÿ?™?Ô	+Ø"ˆàÐØFÐ?×FÑFÈÐNˆÜ˜#ÓÐô �(œU×-Ñ-×?Ñ?ÄÇÁÜ"Ÿ^™^¬U¯[©[¼%¿/¹/ðKô Lä‰Ü	�Hœu×/Ñ/×CÑCÔ	Eô "‰àõð €Kr*   c                 ó   — d„ }|S )Nc              7   ó<   K  — t        |g|¢­Ž D ]	  } | |Ž –— Œ y ­wr%   )rŸ   )Úfuncr�  r7   rÌ   s       r(   r)   zol_map.<locals>.implé  s#   è ø€ Ü�XÐ% Õ%ˆAÙ˜�(‹Nñ &ùs   ‚r&   )r»  r�  r7   r)   s       r(   Úol_mapr¼  ç  s   € òð €Kr*   c                 óN   — | �t        | t        j                  «      rd„ }|S d„ }|S )Nc              3   ó(   K  — |D ]	  }|sŒ|–— Œ y ­wr%   r&   ©r»  r�  rÌ   s      r(   r)   zol_filter.<locals>.implò  s   è ø€ Û�ÚØ“Gñ ùs   ‚‹c              3   ó4   K  — |D ]  } | |«      sŒ|–— Œ y ­wr%   r&   r¿  s      r(   r)   zol_filter.<locals>.impl÷  s   è ø€ Û�Ù˜•7Ø“Gñ ùs   ‚‘rj   )r»  r�  r)   s      r(   Ú	ol_filterrÁ  ï  s,   € àˆœ D¬%¯.©.Ô9ò	ð €Kò		ð €Kr*   c                 ó	  — d„ }d„ }t        | «      }t        |t        j                  «      rd|› d�}t	        |«      ‚t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  t        j$                  t        j&                  t        j(                  t        j*                  t        j,                  t        j.                  t        j0                  t        j2                  t        j4                  f}t        ||«      sd|› d�}t	        |«      ‚|}t        |t        j                  «      r|j6                  d   }t        |t        j                  «      s|f}|D �]˜  }t        |t        j                  «      r|j6                  d   }	n)t        |t        j                   «      r|}	n|j6                  }	t8        t        j                  t:        t        j                  t<        t        j                  t        j                  ft>        t        j                  t@        t        jB                  tD        t        j                  i}
|	|
v rt        ||
|	   «      r|c S Œùt        |t        jF                  «      rD|	t        j                  t        j                  fvrd}t	        |«      ‚tI        |«      |	u r|c S |c S t        |	«      }||k(  r|c S t        |t        j2                  t        j4                  f«      rt        |tI        |«      «      s�Œ¬|c S t        |t        j                   «      rAt        |t        j$                  «      r'|j6                  |jJ                  j6                  k(  r|c S t        |t        jL                  «      s�Œ'|j6                  d   t        jN                  k(  s�ŒIt        ||jP                  «      s8t        |t        jB                  «      s�Œ{t        |t        jB                  «      s�Œ—|c S  |S )	Nc                  ó   — y)NTr&   ©ÚvarÚtypss     r(   Ú	true_implz ol_isinstance.<locals>.true_impl  s   € Ør*   c                  ó   — yr<  r&   rÄ  s     r(   Ú
false_implz!ol_isinstance.<locals>.false_impl  s   € Ør*   z1isinstance cannot handle optional types. Found: "Ú"z1isinstance() does not support variables of type "z".r   zLNumba type classes (except numba.typed.* container types) are not supported.))r"   r,   r   ÚOptionalr   ÚNumberr°  rµ  r2  ÚLiteralStrKeyDictr´  r3  r¡  ÚUniTupler5  ÚFunctionÚ	ClassTyper4  ÚClassInstanceTyperk   rô   r-   rA  r1  rß   r^  r_  Úkeyrª  ÚrangeÚdictr§   ÚtupleÚ	BaseTupler{   r£  r	  Úinstance_typeÚ	ContainerÚ	undefinedÚ	__class__)rÅ  rÆ  rÇ  rÉ  Úvar_tyrA   Úsupported_var_tyÚt_typsrs   rÒ  Útypes_not_registeredÚ	numba_typs               r(   Úol_isinstancerà  þ  s  € òòô ˜3Ó€Fä�&œ%Ÿ.™.Ô)ØAÀ&ÀÈÐKˆÜ˜SÓ!Ð!ô Ÿ™¤e§k¡k´5·?±?ÜŸ™¬×(?Ñ(?ÄÇÁÜŸ™¬¯©´U·^±^ÄUÇYÁYÜŸ™¬¯©¼×9JÑ9JÜ×/Ñ/´·±ÄÇÁÜŸ™¤u§{¡{´E×4HÑ4HÜŸ™¤u×'7Ñ'7¼×9JÑ9JðMÐô �fÐ.Ô/ØAÀ&ÀÈÐLˆÜ˜SÓ!Ð!à€Fô �&œ%Ÿ.™.Ô)à—*‘*˜Q‘-ˆä�fœeŸk™kÔ*Ø�ˆäˆä�cœ5Ÿ>™>Ô*Ø—'‘'˜!‘*‰CÜ˜œUŸ_™_Ô-Ø‰Cà—'‘'ˆCô
 ”5—;‘;Ü”5—?‘?Ü”5—>‘>¤5×#:Ñ#:Ð;Ü”%—*‘*Ü”5—?‘?Ü”—‘ð 
Ðð Ð&Ñ&Ü˜&Ð"6°sÑ";Ô<Ø Ò Øä�cœ5Ÿ=™=Ô)ð œ5Ÿ>™>¬5¯>©>Ð:Ñ:ð3�ä$ SÓ)Ð)ô !% V£°Ñ 3�9ÒC¸ÒCä% cÓ*ˆIØ˜Ò"Ø Ò Ü˜I¬×(8Ñ(8¼%×:KÑ:KÐ'LÔMÜ˜f¤d¨9£oÖ6Ø$Ò$Ü˜I¤u§¡Ô7Ü˜v¤u×'>Ñ'>Ô?Ø—J‘J )×"9Ñ"9×"=Ñ"=Ò=à Ò Ü˜I¤u§¡Ö7Ø—M‘M !Ñ$¬¯©Ô7ä˜f i×&9Ñ&9Ô:Ü ¬¯©Ö8Ü" 9¬e¯o©oÖ>Ø$Ò$ðk ðn Ðr*   c                  ó   — y r%   r&   ©ÚobjÚnames     r(   Ú_getattr_raise_attr_excrå  e  s   € ð 	r*   c                 ó†   ‡— t        |t        j                  «      st        d«      ‚|j                  }d| › d|› d�Šˆfd„}|S )Nú(argument 'name' must be a literal stringÚ'z' has no attribute 'c                 ó   •— t        ‰«      ‚r%   )ÚAttributeError)rã  rä  Úmessages     €r(   r)   z(ol__getattr_raise_attr_exc.<locals>.implr  s   ø€ Ü˜WÓ%Ð%r*   )r,   r   ÚStringLiteralr   rY   )rã  rä  Úlnamer)   rë  s       @r(   Úol__getattr_raise_attr_excrî  k  sI   ø€ ä�dœE×/Ñ/Ô0Ü!Ð"LÓMÐMØ×Ñ€EØ�#�Ð*¨5¨'°Ð3€Gô&à€Kr*   c                 óª  ‡‡‡‡‡	‡
‡— t        |t        j                  «      st        d«      ‚|j                  Š
| j                  ‰‰
«      Št        ‰t        j                  «      rd‰› d‰
› d‰› d�}t        |«      ‚‰€‹t        ‰t        j                  «      r‰j                  t        k(  s ‰‰|‰«      }ˆfd„}||fS | j                  t        «      Š	‰	j                  | ‰|fi «      Št        j                  ‰|‰«      }ˆ	ˆfd„}||fS  ‰‰|‰«      }t        ‰t        j                  «      r
ˆˆfd„}||fS | j                  ‰‰
«      Šˆˆˆ
ˆfd	„}||fS )
Nrç  zQReturning function objects is not implemented. getattr() was requested to return z from attribute 'z' of Ú.c                 óL   •— |d   }| j                   j                  |‰|«       |S ©Néÿÿÿÿ)ÚnrtÚincref)Úcgctxr5   r6   ÚllargsÚtmpÚdefaults        €r(   r)   zresolve_getattr.<locals>.implŒ  s'   ø€ Ø˜R‘j�Ø—	‘	× Ñ  ¨'°3Ô7Ø�
r*   c                 ó@   •— | j                  ‰‰«      } |||d d «      S rò  )r0   )rö  r5   r6   r÷  Únative_implrÃ   Ú	raise_sigs        €€r(   r)   zresolve_getattr.<locals>.impl•  s(   ø€ Ø#×0Ñ0°°yÓA�Ù" 7¨F°3°B¨KÓ8Ð8r*   c                 ó®   •— ‰j                   }| j                  ||d   ‰|«      }| j                  |||«      }| j                  j	                  |‰|«       |S r¦   )ÚthisrM   Úget_bound_functionrô  rõ  )	rö  r5   r6   Úll_argsÚ	cast_typeÚcastedr^   rÄ   rã  s	          €€r(   r)   zresolve_getattr.<locals>.impl�  sS   ø€ ØŸG™G�	ØŸ™ G¨W°Q©Z¸¸iÓH�Ø×.Ñ.¨w¸À	ÓJ�Ø—	‘	× Ñ  ¨"¨cÔ2Ø�
r*   c                 ó¬   •— | j                  ‰
‰	«      } || |‰
|d   ‰	«      }| j                  ||‰‰«      }| j                  j                  |‰|«       |S r¦   )rr   rM   rô  rõ  )rö  r5   r6   r   Ú	attr_implr^   r  ÚattrtyrÄ   rí  rã  s          €€€€r(   r)   zresolve_getattr.<locals>.impl§  sZ   ø€ Ø!×-Ñ-¨c°5Ó9�	Ù  w°°W¸Q±ZÀÓG�ØŸ™ G¨S°&¸"Ó=�Ø—	‘	× Ñ  ¨"¨fÔ5Ø�r*   )r,   r   rì  r   rY   Úresolve_getattrrÏ  r   Ú
NamedTupleÚinstance_classÚ_getattr_default_typeÚresolve_value_typerå  Úget_call_typeÚnoneÚBoundFunction)Útyctxrã  rä  rù  rA   r6   r)   r  rÄ   rÃ   rí  rü  s    ` `   @@@@@r(   r  r  w  sf  þ€ ä�dœE×/Ñ/Ô0Ü!Ð"LÓMÐMØ×Ñ€EØ	×	Ñ	˜s EÓ	*€Bô �"”e—n‘nÔ%ð4Ø46°4ð 8Ø�'˜˜s˜e 1ð&ˆô ˜#ÓÐà	€zô ˜7¤E×$4Ñ$4Ô5Ø×&Ñ&Ô*?Ò?á˜#˜t WÓ-ˆCôðB �ˆ9Ðð7 ×+Ñ+Ô,CÓDˆDØ×*Ñ*¨5°3¸°+¸rÓBˆIÜ—*‘*˜S $¨Ó0ˆCõ9ð0 �ˆ9Ðñ' ��d˜GÓ$ˆÜ�bœ%×-Ñ-Ô.õð  �ˆ9Ðð ×*Ñ*¨3°Ó6ˆF÷ð �ˆ9Ðr*   r	  r©  )Úprefer_literalc                 ó   — d„ }|S )Nc                 ó$   — t        | |t        «      S r%   )r  Ú_getattr_defaultrâ  s     r(   r)   zol_getattr_2.<locals>.implº  s   € Ü˜s DÔ*:Ó;Ð;r*   r&   ©rã  rä  r)   s      r(   Úol_getattr_2r  ¸  s   € ò<à€Kr*   c                 ó   — d„ }|S )Nc                 ó   — t        | ||«      S r%   )r  )rã  rä  rù  s      r(   r)   zol_getattr_3.<locals>.implÅ  s   € Ü˜s D¨'Ó2Ð2r*   r&   )rã  rä  rù  r)   s       r(   Úol_getattr_3r  Ã  s   € ò3à€Kr*   c                 ó  ‡— t        |t        j                  «      st        d«      ‚|j                  }| j                  ||«      Š‰€t        j                  d«      }nt        j                  d«      } |||«      }ˆfd„}||fS )Nrç  FTc                 óH   •— ‰€t         j                  S t         j                  S r%   )r   r>   r%  )rö  r5   r6   r   rÄ   s       €r(   r)   zresolve_hasattr.<locals>.implÛ  s   ø€ Ø#% :Œg×ÑÐC´7×3CÑ3CÐCr*   )r,   r   rì  r   rY   r  Úliteral)r  rã  rä  rí  r"  r6   r)   rÄ   s          @r(   Úresolve_hasattrr  Ê  s{   ø€ ä�dœE×/Ñ/Ô0Ü!Ð"LÓMÐMØ×Ñ€EØ	×	Ñ	˜s EÓ	*€Bð 
€zÜ—‘˜eÓ$‰ä—‘˜dÓ#ˆÙ
��TÓ
€CôDà�ˆ9Ðr*   c                 ó   — d„ }|S )Nc                 ó   — t        | |«      S r%   )r  râ  s     r(   r)   zol_hasattr.<locals>.implæ  s   € Ü˜s DÓ)Ð)r*   r&   r  s      r(   Ú
ol_hasattrr  ä  s   € ò*à€Kr*   c                 ó   ‡— d| › d�Šˆfd„}|S )Nz<object type:Ú>c                 óL   •— d}t        | |«      dk(  r t        | |«      «       S ‰S )NÚ__repr__T)Úhasattrr\  )rã  ru   Úmissing_repr_formats     €r(   r)   zol_repr_generic.<locals>.implî  s1   ø€ ØˆÜ�3˜Ó Ò%Ø%”7˜3 Ó%Ó'Ð'ð 'Ð&r*   r&   )rã  r)   r$  s     @r(   Úol_repr_genericr%  ë  s   ø€ à)¨#¨¨aÐ0Ðô'ð €Kr*   c                 ó   — dd„}|S )Nc                 ó\   — d}t        | |«      dk(  r t        | |«      «       S t        | «      S )NÚ__str__T)r#  r\  Úrepr)Úobjectru   s     r(   r)   zol_str_generic.<locals>.implû  s2   € ØˆÜ�6˜4Ó  DÒ(Ø(”7˜6 4Ó(Ó*Ð*ä˜“<Ðr*   ©r©  r&   )r*  r)   s     r(   Úol_str_genericr,  ù  s   € ó ð €Kr*   r¯  r+  )®Úcollectionsr   rÉ   Ú	functoolsr   Únumpyrï   r1   ÚwarningsÚllvmliter   Únumba.core.imputilsr   r   r   r	   r
   r   r   r   r   r   r   Ú
numba.corer   r   r   r   Únumba.core.extendingr   r   Únumba.core.typeconvr   Únumba.core.errorsr   r   r   r   r   r   Únumba.core.typing.templatesr   r   r    Únumba.misc.specialr!   Únumba.core.typing.asnumbatyper"   Útruthr.   Úis_notÚAnyr9   r2   rC   ÚOpaquerK   r-   rU   r<   ÚLiteralÚIntegerLiteralr_   Únerb   ro   ÚDeferredTyperx   rË  r�   rƒ   ÚgetitemÚCPointerrC  rŠ   Úsetitemr�   r¤   ÚmaxrÖ  r«   ÚVarArgr¯   Úminr³   rµ   r¹   ÚroundrA  rÅ   rÕ   ÚintrÚ   r×   rì  rÛ   Úcomplexrë   rN  rö   ÚDummyrü   ÚExternalFunctionPointerr  r  r	  r  rŽ  r”  r  r�  ÚIteratorTyper  r   rž   Ú
ConstSizedr#  ÚboolÚSizedr&  rÕ  r)  r+  r7  r>  rF  rI  rK  rM  re  rg  Únumba.core.typing.builtinsrh  ri  Únumba.extendingrj  ÚintpÚTypeÚuintpro  ry  r�  r…  r‰  r›  r—  r•  r™  rœ  r£  r¦  Úsumr¸  Úmapr¼  ÚfilterrÁ  r,   rà  rå  rî  r  r	  r  r\  r  r  r  r#  r  r)  r%  r  r,  r&   r*   r(   Ú<module>rY     s_	  ðÝ "Û Ý ã Û Û å ÷I÷ I÷ Iñ I÷
 5Ó 4ß 4Ý *÷8÷ 8÷4ñ 4å -Ý 7ñ 
ˆ(�.‰.Óñó ðñ ˆx�‰ §	¡	¨5¯9©9Ó5ñ0ó 6ð0ñ ˆx�|‰|˜UŸY™Y¨¯	©	Ó2ñ!ó 3ð!ñ2 ˆx�|‰|˜UŸ\™\¨5¯<©<Ó8ñ!ó 9ð!ñ ˆx�|‰|˜UŸ]™]¨E¯M©MÓ:ñ,ó ;ð,ñ$ ˆx�{‰{˜EŸM™M¨5¯=©=Ó9Ùˆx�{‰{˜E×0Ñ0°%×2FÑ2FÓGñFó Hó :ðFñ ˆx�{‰{˜EŸM™M¨5¯=©=Ó9Ùˆx�{‰{˜E×0Ñ0°%×2FÑ2FÓGñFó Hó :ðFòð �ˆ�‰Ó ‘j Ó&Ô 'Ø �ˆ�‰Ó ‘j Ó'Ô (ñ �u×)Ñ)Ó*ñ8ó +ð8ñ ˆE�I‰I�u×)Ñ)Ó*ÙˆE�N‰N˜E×.Ñ.Ó/ÙˆE�M‰M˜5×-Ñ-Ó.ñBó /ó 0ó +ðBñ
 ˆE×Ñ §	¡	Ó*ÙˆE×Ñ §¡Ó.ÙˆE×Ñ §¡Ó/ñ:ó 0ó /ó +ð:ñ ˆx×Ñ §¡°·±Ó?ñEó @ðEñ ˆx×Ñ §¡°·±ÀÇ	Á	ÓJñ!ó Kð!òñ0 ˆs�E—O‘OÓ$ñBó %ðBñ
 ˆs�L�E—L‘L §¡Ó+Ó,ñDó -ðDñ ˆs�E—O‘OÓ$ñBó %ðBñ
 ˆs�L�E—L‘L §¡Ó+Ó,ñDó -ðDò,ñ ˆu�e—k‘kÓ"ñ	Fó #ð	Fñ ˆu�e—k‘k 5§=¡=Ó1ñFó 2ðFñJ ˆs�E—I‘IÓÙˆu�e—i‘iÓ ñFó !ó ðFñ ˆu�e×)Ñ)Ó*ñFó +ðFñ ˆw˜˜Ÿ™ U§Y¡YÓ/Ó0ñFó 1ðFñ6 ˆu× Ñ  %§)¡)Ó,ñBó -ðBñ* �—‘Óñ%ó ð%ñ �×-Ñ-Ó.ñ*ó /ð*ñ �—‘ÓñDó  ðDñ ˆt�U—Y‘YÓñ%ó  ð%ñ ˆt�U×'Ñ'Ó(ñó )ðñ ˆt�U×'Ñ'Ó(ñ	ó )ð	ñ ˆx˜Ÿ™ E§I¡IÓ.ñó /ðñ ˆs�E×$Ñ$Ó%ñFó &ðFñ ˆt�U—[‘[Ó!ñ!ó "ð!ñ ˆuÓñFó ðFñ
 ˆu�e—o‘oÓ&ñEó 'ðEñ 
ˆ$ƒñó ðñ 
ˆ$�xÔ ñó !ðò2ò2ñ Ð Ó!ÙÐ Ó!ô3Ð"ó 3ó "ó "ð3ñ Ð! 5×#4Ñ#4Ó5ÙÐ! 5§;¢;Ó/ñ:ó 0ó 6ð:ñ2 Ð! 5×#4Ñ#4Ó5ÙÐ! 5§;¢;Ó/ñ:ó 0ó 6ð:÷6 Bß 6áˆz˜5Ÿ:š: u§z¢zÓ2Ùˆz˜5Ÿ;š;¨¯
ª
Ó3ñ#ó 4ó 3ð#ñ 
ˆ#ƒñó ðñ8 
ˆ#ƒñó ðñ 
ˆ#ƒñó ðñ8 
ˆ#ƒñó ðñ  Ñ 2Ó3€ÙÑ/Ó0€	ð ñ	ó ð	ñ 
ˆ#ƒñ-ó ð-ñ 
ˆ#ƒñ0ó ð0ñ ˆu�}Š}˜l˜eŸl™l¨5¯9©9Ó5Ó6ñCó 7ðCñ> 
ˆ#ƒò ó ð ñN 
ˆ#ƒñó ðñ 
ˆ&Óñó ðñ 
ˆ*Óñaó ðaòL	ñ 
Ð
!Ó"ñó #ðð ñ5ó ð5ñr #Ð#:¸BÓ?Ð Ù(Ó*Ð ñ 
ˆ' $Ô'ñó (ðñ 
ˆ'Óñó ðð ñó ðñ2 
ˆ'Óñó ðñ 
ˆ$ƒñ
ó ð
ñ 
ˆ#ƒòó ñr*   