
    shɧ                     >   S 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JrJrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJr  S rS r " S S\ 5      r! " S S\!5      r" " S S\!5      r# " S S\!5      r$S r%\" \&\RN                  5      S 5       r(\" \&5      S 5       r(\" \)\RT                  5      S 5       r+\" S\RT                  5      S 5       r,\" S\RZ                  5      \" \R\                  5      S 5       5       r/\" \R`                  \RT                  \Rb                  5      S 5       r2\" \Rf                  \RT                  \Rb                  \Rh                  5      S 5       r5\" \R`                  \RT                  \Rl                  5      S 5       r7\" \Rf                  \RT                  \Rl                  \Rh                  5      S  5       r5\" \Rp                  \RT                  \Rb                  5      S! 5       r9\" \Rp                  \RT                  \Rl                  5      S" 5       r:\" \Rv                  \Rx                  \Rh                  5      S# 5       r=\" \>\Rx                  5      S$ 5       r?\" \R                  5      S% 5       rA\" \R                  \RT                  \RT                  5      S& 5       rC\" \R                  \RT                  \RT                  5      S' 5       rE\" \R                  \RT                  \Rb                  5      \" \R                  \Rb                  \RT                  5      S( 5       5       rG\" \R                  \RT                  \Rb                  5      S) 5       rI\" \R                  \RT                  \RT                  5      S* 5       rK\" \R                  \RT                  \RT                  5      S+ 5       rMS, rN\" \R                  5      S- 5       rP\" \R                  5      S. 5       rR\" \R                  5      S/ 5       rT\" \R                  5      S0 5       rV\" \R                  5      S1 5       rX\" S2\RT                  \Rh                  5      S3 5       rY\" S4\RT                  5      S5 5       rZ\" \RT                  S65      S7 5       r[\" \RT                  S85      S9 5       r\S: r]\" S;\RT                  \RN                  5      S< 5       r^\R                  (       a  \R                  R                  rbO\R                  R                  rb\" \RT                  S=5      S\b4S> j5       rd\" S?\RT                  \Rb                  \Rh                  5      S@ 5       re\" SA\RT                  5      SB 5       rf\" SA\RT                  \Rb                  5      SC 5       rf\" \RT                  SD5      SE 5       rg\" \RT                  SF5      SG 5       rhSH rW\R                  " 5       R                  rk\R                  " \WSI9R                  rl\R                  " SJSJSK9R                  rm\R                  " SJ\WSJSL9R                  rnSM roSN rp\" \RT                  SO5      SjSP j5       rq\" \r5      SjSQ j5       rs\" \RT                  \RT                  5      SR 5       rt\
R                  " SS5      rv\" \R                  ST5      SU 5       rx\" \R                  SV5      SW 5       ry\" \R                  SX5      SY 5       rz\" \R                  SD5      SZ 5       r{\" \R                  S[5      SkS\ j5       r|\" \R                  S]5      S^ 5       r}\" \R                  SO5      SjS_ j5       r~\" \R                  SF5      S` 5       r\R                  (       a  \R                  R                  rO\R                  R                  r\" \R                  S=5      S\4Sa j5       r\" \R                  S85      Sb 5       r\" \R                  S65      Sc 5       r\" \Rp                  5      Sd 5       r\" \Rf                  5      Se 5       r\" \R`                  5      Sf 5       r\" \)5      Sg 5       r\" \Rv                  5      Sh 5       r\" \R                  \R                  5      Si 5       rg)lz'
Support for native homogeneous lists.
    N)cached_property)ir)typestypingerrorscgutilsconfig)lower_builtin
lower_castiternext_implimpl_ret_borrowedimpl_ret_new_refimpl_ret_untrackedRefType)overload_methodoverload)	quicksort)slicingliteral_unrollc                     [         R                  " U5      nU R                  R                  XR                  5      nU R                  U5      R                  5       nUR                  XV5      nU R                  XUS9$ )zm
Given a list value and type, get its payload structure (as a
reference, so that mutations are seen by all).
ref)	r   ListPayloadnrtmeminfo_datameminfoget_data_type
as_pointerbitcastmake_data_helper)contextbuilder	list_typevaluepayload_typepayloadptrtys          i/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cpython/listobj.pyget_list_payloadr*      si    
 $$Y/Lkk&&w>G!!,/::<Eoog-G##Gw#GG    c                 Z    U R                  UR                  5      nU R                  U5      $ )z/
Return the item size for the given list type.
)r   dtypeget_abi_sizeof)r"   r$   lltys      r)   get_itemsizer0   "   s)       1D!!$''r+   c                       \ rS rSr\S 5       r\R                  S 5       r\S 5       r\S 5       rS r	S r
S rS	 rS
 rS rS rS rS rSrg)_ListPayloadMixin*   c                 .    U R                   R                  $ N_payloadsizeselfs    r)   r8   _ListPayloadMixin.size,   s    }}!!!r+   c                 $    XR                   l        g r5   r6   r:   r%   s     r)   r8   r;   0   s    "r+   c                 .    U R                   R                  $ r5   )r7   dirtyr9   s    r)   r?   _ListPayloadMixin.dirty4   s    }}"""r+   c                 8    U R                   R                  S5      $ )Ndata)r7   _get_ptr_by_namer9   s    r)   rB   _ListPayloadMixin.data8   s    }}--f55r+   c                 Z    [         R                  " U R                  U R                  U5      $ r5   )r   gep_builderrB   r:   idxs     r)   _gep_ListPayloadMixin._gep<   s    {{4==$))S99r+   c                     U R                  U5      nU R                  R                  U5      nU R                  R	                  U R                  U5      $ r5   )rJ   rG   load
_datamodel	from_data)r:   rI   ptr	data_items       r)   getitem_ListPayloadMixin.getitem?   s>    iinMM&&s+	((	BBr+   c                     U R                   R                  SU[        R                  " UR                  S5      5      nU R                   R                  XR                  5      nU R                   R                  X#U5      $ )zX
Fix negative indices by adding the size to them.  Positive
indices are left untouched.
<r   )rG   icmp_signedr   Constanttypeaddr8   select)r:   rI   is_negativewrapped_indexs       r)   	fix_index_ListPayloadMixin.fix_indexD   s^    
 mm//S02CHHa0HJ))#yy9}}##KDDr+   c                     U R                   R                  SU[        R                  " UR                  S5      5      nU R                   R                  SXR
                  5      nU R                   R                  X#5      $ )z,
Return whether the index is out of bounds.
rU   r   >=)rG   rV   r   rW   rX   r8   or_)r:   rI   	underflowoverflows       r)   is_out_of_bounds"_ListPayloadMixin.is_out_of_boundsN   s^     MM--c3.0kk#((A.FH	==,,T3		B}}  55r+   c                    U R                   n[        R                  " X!5      n[        R                  " UR
                  S5      nU R                  nU R                   R                  SX5      nUR                  USS9   UR                  XC5        SSS5        U R                   R                  SX5      nUR                  USS9   UR                  XS5        SSS5        UR                  U5      $ ! , (       d  f       Ne= f! , (       d  f       N0= f)z
Clamp the index in [0, size].
r   rU   FlikelyNr`   )rG   r   alloca_once_valuer   rW   rX   r8   rV   if_thenstorerM   )r:   rI   r#   idxptrzeror8   rb   rc   s           r)   clamp_index_ListPayloadMixin.clamp_indexW   s     --**78{{388Q'yyMM--c3=	__Yu_5MM$' 6==,,T3=__Xe_4MM$' 5 ||F## 65 54s   <C-C>-
C;>
Dc                     U R                   R                  U R                  U5      SS9   U R                  R                  R                  U R                   [        U45        SSS5        g! , (       d  f       g= f)z/
Raise an error if the index is out of bounds.
Frg   N)rG   rj   rd   _context	call_convreturn_user_exc
IndexError)r:   rI   msgs      r)   guard_index_ListPayloadMixin.guard_indexj   sY     ]]""4#8#8#=e"LMM##33DMM4>H MLLs   7A**
A8c                 X    [         R                  " U R                  XR                  5      $ )zW
Fix slice start and stop to be valid (inclusive and exclusive, resp)
indexing bounds.
)r   	fix_slicerG   r8   )r:   slices     r)   ry   _ListPayloadMixin.fix_slicer   s    
   yyAAr+   c                 z    U R                   R                  R                  U R                  U R                  U5        g)zIncref an element valueN)rq   r   increfrG   r-   r:   vals     r)   incref_value_ListPayloadMixin.incref_valuey   &      

C@r+   c                 z    U R                   R                  R                  U R                  U R                  U5        g)zDecref an element valueN)rq   r   decrefrG   r-   r~   s     r)   decref_value_ListPayloadMixin.decref_value}   r   r+    N)__name__
__module____qualname____firstlineno__propertyr8   setterr?   rB   rJ   rR   r]   rd   rn   rv   ry   r   r   __static_attributes__r   r+   r)   r2   r2   *   s    " " 
[[# # # # 6 6:C
E6$&HBAAr+   r2   c                       \ rS rSrSrS rSrg)ListPayloadAccessor   zV
A helper object to access the list attributes given the pointer to the
payload type.
c                    Xl         X l        X0l        UR                  UR                     U l        [        R                  " U5      nUR                  U5      R                  5       nUR                  XF5      nUR                  X%US9nXpl        g )Nr   )rq   rG   _tydata_model_managerr-   rN   r   r   r   r   r    r!   r7   )r:   r"   r#   r$   payload_ptrr&   r(   r'   s           r)   __init__ListPayloadAccessor.__init__   s}    !44Y__E((3%%l3>>@ook9**7/: + <r+   )rG   rq   rN   r7   r   N)r   r   r   r   __doc__r   r   r   r+   r)   r   r      s    
 r+   r   c                       \ rS rSrS r\S 5       r\S 5       r\S 5       r\R                  S 5       r\S 5       r
\S 5       rS	 rS
 rSS jrSS jrS r\S 5       rS rS r\S 5       r\S 5       rS rS rSrg)ListInstance   c                     Xl         X l        X0l        UR                  X#U5      U l        [        X5      U l        UR                  UR                     U l	        g r5   )
rq   rG   r   make_helper_listr0   	_itemsizer   r-   rN   )r:   r"   r#   r$   list_vals        r)   r   ListInstance.__init__   sG    ((XF
%g9!44Y__Er+   c                 .    U R                   R                  $ r5   )r   r-   r9   s    r)   r-   ListInstance.dtype   s    xx~~r+   c                 n    [        U R                  U R                  U R                  U R                  5      $ r5   )r*   rq   rG   r   r   r9   s    r)   r7   ListInstance._payload   s%      t}}dhh

SSr+   c                 .    U R                   R                  $ r5   r   parentr9   s    r)   r   ListInstance.parent   s    zz   r+   c                 $    XR                   l        g r5   r   r=   s     r)   r   r      s    !

r+   c                 6    U R                   R                  5       $ r5   )r   	_getvaluer9   s    r)   r%   ListInstance.value       zz##%%r+   c                 .    U R                   R                  $ r5   )r   r   r9   s    r)   r   ListInstance.meminfo   s    zz!!!r+   c                     U R                   R                  (       a7  U(       a  [        R                  O[        R                  U R
                  l        g g r5   )r   	reflectedr   true_bit	false_bitr7   r?   r~   s     r)   	set_dirtyListInstance.set_dirty   s0    8869'"2"2w?P?PDMM r+   c           	          U R                  U R                  U5      5        U R                  XR                  R	                  XR                  S5      5      5        g)z)Remove the value at the location
           N)r   rR   zfillrG   rY   rX   rH   s     r)   clear_valueListInstance.clear_value   s>     	$,,s+,

3))#xx{;<r+   c                 J   U(       a   U R                  U R                  U5      5        U R                  U5      nU R                  R	                  U R
                  U5      nU R
                  R                  Xe5        U R                  S5        U(       a  U R                  U5        g g )NT)	r   rR   rJ   rN   as_datarG   rk   r   r   )r:   rI   r   r}   decref_old_valuerP   rQ   s          r)   setitemListInstance.setitem   sw    dll3/0iinOO++DMM3?	I+tc" r+   c                     U R                  U5      nU R                  R                  U R                  U5      nU R                  R	                  XT5        U(       a  U R                  U5        g g r5   )rJ   rN   r   rG   rk   r   )r:   rI   r   r}   rP   rQ   s         r)   inititemListInstance.inititem   sQ    iinOO++DMM3?	I+c" r+   c                 v   U R                   nU R                  U5      nU R                  U5      nU R                  R                  [        R
                  5      nUR                  UR                  XV5      UR                  XF5      5      n[        R                  " X4U[        R                  " S5      " S5      5        g)zZZero-fill the memory at index *start* to *stop*

*stop* MUST not be smaller than *start*.
   r   N)rG   rJ   rq   get_value_typer   intpsubptrtointr   memsetr   IntType)r:   startstopr#   baseend	intaddr_tr8   s           r)   r   ListInstance.zfill   s    
 --yyiioMM00<	{{7++C;"++D<>wdBJJqM!,<=r+   c           	      .   UR                  [        R                  5      n[        U[        5      (       a  [
        R                  " XT5      nUR                  [        R                  " U5      5      nUR                  U5      n[        X5      nXx-  n[        R                  " U[        R                  5      n	U " XUS5      n
[        R                  " X$[
        R                  " XX5      [
        R                  " XW5      5      u  pUR                  USS9   UR!                  [        R"                  U	5        SSS5        UR                  UR%                  U	5      SS9   UR&                  R)                  X+U
R+                  5       S9nUR-                  [        R.                  " X-5      SS9 u  pU   UR!                  [        R"                  U	5        SSS5        U   XR0                  l        UR5                  [        R6                  5      U
R0                  l        XJR:                  l        [
        R                  " US5      U
R:                  l        [        R"                  U
R:                  l         U
RC                  U
R>                  RE                  S5      U5        SSS5        SSS5        SSS5        UR%                  U	5      U
4$ ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       NU= f! , (       d  f       N^= f! , (       d  f       Ng= f)z
Allocate a ListInstance with its storage.
Return a (ok, instance) tuple where *ok* is a LLVM boolean and
*instance* is a ListInstance object (the object's contents are
only valid when *ok* is true).
NFrg   T)r8   dtorr   )#r   r   r   
isinstanceintr   rW   r   r   r.   r0   r   ri   r   muladd_with_overflowrj   rk   r   rM   r   "meminfo_new_varsize_dtor_uncheckedget_dtorif_elseis_nullr   r   get_constant_nullpyobjectr   r7   	allocatedr8   r?   r   rX   )clsr"   r#   r$   nitemsintp_tr&   payload_sizeitemsizeokr:   	allocsizeovfr   if_errorif_oks                   r)   allocate_exListInstance.allocate_ex   s6    ''

3fc""[[0F,,U->->y-IJ--l;3 &&w0@0@A7Y5 !55g68kk&6S68kk&6WY	 __S_/MM'++R0 0 __W\\"-d_;kkDDdmmo E ?G!B(- ! /2C8MM'"3"3R8 )0JJ&(/(A(A%..(QDJJ%.4MM+)+VQ)?DMM&*1*;*;DMM'JJtyy~~a0&9 	/ <  ||B%%' 0/ XU	/ / <;sb   !K AL&K5+!K
K5B?K$K5L 
K
K!K5$
K2.K55
L	?L
Lc                 4   U R                   nU R                  nUR                  n[        R                  " [        R
                  " 5       [        R                  /5      n[        R                  " X4SR                  U R                  5      5      nUR                  (       d  U$ SUl        [        R                  " UR                  5       5      nUR                  S   n[!        XU R"                  U5      nUR$                  R&                  n[        R(                  " X(" S5      UR$                  U" S5      US9 u  pUR+                  U	5      nUR,                  R/                  X R                  U5        SSS5        UR1                  5         U$ ! , (       d  f       N = f)z,Define the destructor if not already definedz.dtor.list.{}linkonce_odrr   r   )r   r   stepr   N)rq   rG   moduler   FunctionTypeVoidTyper   	voidptr_tget_or_insert_functionformatr-   is_declarationlinkage	IRBuilderappend_basic_blockargsr   r   r8   rX   for_range_slicerR   r   r   ret_void)r:   r"   r#   modfntyfnbase_ptrr'   r   rI   _r   s               r)   define_dtorListInstance.define_dtor  s3   ----nnr{{}w/@/@.AB++C,;,B,B4::,NP  I#
,,r4467771: &g(K ||  $$tAwW\\Q&s//#&CKKw

C8	
 		 s   5:F		
Fc                 z    U R                  5       nU R                  R                  U[        R                  5      nU$ )z`"Get the element dtor function pointer as void pointer.

It's safe to be called multiple times.
)r   rG   r    r   r   )r:   r   
dtor_fnptrs      r)   r   ListInstance.get_dtor1  s4     !]]**41B1BC
r+   c                     U R                  XX45      u  pVUR                  UR                  U5      SS9   UR                  R	                  U[
        S5        SSS5        U$ ! , (       d  f       U$ = f)z
Allocate a ListInstance with its storage.  Same as allocate_ex(),
but return an initialized *instance*.  If allocation failed,
control is transferred to the caller using the target's current
call convention.
Frg   )zcannot allocate listN)r   rj   not_rr   rs   MemoryError)r   r"   r#   r$   r   r   r:   s          r)   allocateListInstance.allocate;  sg     ??7YG__W\\"-e_<--g{.GI =  =< s   "A  
A/c                     U " XUS5      nXER                   l        UR                  [        R                  5      UR                   l        UR                  R                  X#UR                  5        U$ )z
Allocate a new list instance pointing to an existing payload
(a meminfo pointer).
Note the parent field has to be filled by the caller.
N)	r   r   r   r   r   r   r   r}   r%   )r   r"   r#   r$   r   r:   s         r)   from_meminfoListInstance.from_meminfoI  sT     7Y5$

#55ennE

7tzz:r+   c                 ,  ^ ^	^
^^ U	U
UUU 4S jnT R                   m
T R                  m	UR                  m[        T
T R                  5      mT R
                  R                  n[        R                  " TS5      n[        R                  " TS5      nT	R                  SX15      nT	R                  ST	R                  X45      U5      nT	R                  USS9   U" U5        SSS5        T	R                  USS9   T	R                  UT	R                  UT	R                  X5      5      5      nU" U5        T R                  T R                  U5        SSS5        UT R
                  l        T R                  S	5        g! , (       d  f       N= f! , (       d  f       NB= f)
z5
Ensure the list is properly sized for the new size.
c           	      b  > TR                  [        R                  " T
R                  5      5      nTR	                  U5      nUT	-  n[
        R                  " TU [        R                  " TT	5      [        R                  " TU5      5      u  p4TR                  USS9   TR                  R                  T[        S5        S S S 5        TR                  R                  TT
R                  R                   US9n[
        R"                  " TTUS5        U T
R$                  l        g ! , (       d  f       Nh= f)NFrg   )cannot resize list)r8   r  )r   r   r   r   r.   r   r   r   rW   rj   rr   rs   r  r   !meminfo_varsize_realloc_uncheckedr   r   guard_memory_errorr7   r   )new_allocatedr&   r   r   r   rP   r#   r"   r   r   r:   s         r)   _payload_realloc-ListInstance.resize.<locals>._payload_realloc[  s    "001B1B4881LML"11,?LH$L$99FH-FL13NI U3!!11';2IK 4 ++??@D

@R@REN @ PC &&w';=&3DMM# 43s   "D  
D.   r   rU   >Frg   NT)rq   rG   rX   r0   r   r7   r   r   rW   rV   ashrrj   rY   r   r8   r   )r:   new_sizer  r   twoeightis_too_smallis_too_larger  r#   r"   r   r   s   `        @@@@r)   resizeListInstance.resizeW  sD   	4 	4* ----2MM++	kk&!$FA& **3	D**3Y0LhW__\%_8 X&	 9 __\%_8#KK(/H4;LL4O)QRM ]+JJtyy-0 9 &t 98 98s   	E43AF4
F
Fc                     U R                  U5      nU R                  U5      n[        R                  " U R                  XEX0R                  S9  U R                  S5        g)z5
Move `count` elements from `src_idx` to `dest_idx`.
)r   TN)rJ   r   raw_memmoverG   r   r   )r:   dest_idxsrc_idxcountdest_ptrsrc_ptrs         r)   moveListInstance.move  sK     99X&))G$DMM8!NN	< 	tr+   )rG   rq   rN   r   r   r   N)T)r   r   r   r   r   r   r-   r7   r   r   r%   r   r   r   r   r   r   classmethodr   r   r   r  r
  r  r%  r   r   r+   r)   r   r      s    F   T T ! ! ]]" " & & " "Q=##> -& -&^<    7r	r+   r   c                   ~    \ rS rSrS r\S 5       r\S 5       r\S 5       r	\S 5       r
\
R                  S 5       r
Srg	)
ListIterInstancei  c                     Xl         X l        X0l        UR                  X#U5      U l        UR
                  UR                     U l        g r5   )rq   rG   r   r   _iterr   
yield_typerN   )r:   r"   r#   	iter_typeiter_vals        r)   r   ListIterInstance.__init__  s=    ((XF
!44Y5I5IJr+   c                    [        XUR                  U5      nU " XUS 5      nUR                  [        R                  S5      n[
        R                  " X'5      UR                  l        UR                  UR                  l	        U$ Nr   )
r   	containerget_constantr   r   r   ri   r+  indexr   )r   r"   r#   r-  r   	list_instr:   r4  s           r)   	from_listListIterInstance.from_list  sh     93F3FQ	7Y5$$UZZ3"44WD

&..

r+   c                     [        U R                  U R                  U R                  R                  U R
                  5      $ r5   )r*   rq   rG   r   r2  r+  r9   s    r)   r7   ListIterInstance._payload  s2      t}} $ 2 2DJJ@ 	@r+   c                 6    U R                   R                  5       $ r5   )r+  r   r9   s    r)   r%   ListIterInstance.value  r   r+   c                 `    U R                   R                  U R                  R                  5      $ r5   )rG   rM   r+  r4  r9   s    r)   r4  ListIterInstance.index  s!    }}!!$**"2"233r+   c                 b    U R                   R                  XR                  R                  5        g r5   )rG   rk   r+  r4  r=   s     r)   r4  r=    s    E::#3#34r+   )rG   rq   rN   r+  r   N)r   r   r   r   r   r'  r6  r   r7   r%   r4  r   r   r   r+   r)   r)  r)    sr    K   @ @
 & & 4 4 \\5 5r+   r)  c                 @   [        U5      n[        R                  XX$5      nU R                  [        R
                  U5      Ul        [        U5       H4  u  pgUR                  U R                  [        R
                  U5      USS9  M6     [        XX%R                  5      $ )z=
Build a list of the given type, containing the given items.
Tr}   )lenr   r  r3  r   r   r8   	enumerater   r   r%   )r"   r#   r$   itemsr   instir   s           r)   
build_listrF    s~     ZF  9ED$$UZZ8DIE"W))%**a8#dK # GiDDr+   c                 ,    S nU R                  XX#5      $ )Nc                 ,    / nUR                  U 5        U$ r5   )extend)iterableress     r)   	list_impl#list_constructor.<locals>.list_impl  s    

8
r+   compile_internal)r"   r#   sigr   rL  s        r)   list_constructorrQ    s    
 ##GBBr+   c                 v    UR                   nSn[        R                  XXE5      n[        XXFR                  5      $ r1  )return_typer   r  r   r%   )r"   r#   rP  r   r$   list_lenrD  s          r)   rQ  rQ    s3    IH  9GDGiDDr+   c                 T    [        XUR                  S   US   5      nUR                  $ r1  )r   r   r8   r"   r#   rP  r   rD  s        r)   rT  rT    s&    #((1+tAw?D99r+   getiterc                     [         R                  XUR                  US   5      n[        XUR                  UR                  5      $ r1  )r)  r6  rS  r   r%   rV  s        r)   getiter_listrY    s5    %%gaQDWs

KKr+   iternextc                    [        XUR                  S   US   5      nUR                  nUR                  nUR	                  SXg5      nUR                  U5        UR                  U5         UR                  UR                  U5      5        UR                  X`R                  [        R                  S5      5      Ul        S S S 5        g ! , (       d  f       g = f)Nr   rU   r   )r)  r   r4  r8   rV   	set_validrj   yield_rR   rY   r3  r   r   )	r"   r#   rP  r   resultrD  r4  r   is_valids	            r)   iternext_listiterr`    s     Gchhqk47CDJJEYYF""36H
X		"dll5)*[[(<(<UZZ(KL
 
#	"	"s   *AC
Cc                     [        XUR                  S   US   5      nUS   nUR                  U5      nUR                  USS9  UR	                  U5      n[        XUR                  U5      $ )Nr   r   zgetitem out of rangeru   )r   r   r]   rv   rR   r   rS  )r"   r#   rP  r   rD  r4  r^  s          r)   getitem_listrc    sh    #((1+tAw?DGENN5!EU 67\\% FWsGGr+   c                     [        XUR                  S   US   5      nUS   nUS   nUR                  U5      nUR                  USS9  UR	                  XVSS9  U R                  5       $ )Nr   r   r  zsetitem out of rangerb  Tr@  )r   r   r]   rv   r   get_dummy_value)r"   r#   rP  r   rD  r4  r%   s          r)   setitem_listrf  	  so    #((1+tAw?DGEGENN5!EU 67LLdL+""$$r+   c                 H   [        XUR                  S   US   5      nU R                  XR                  S   US   5      n[        R                  " XUR                  S   U5        UR                  U5        [        R                  " X5      n[         R                  XUR                  U5      nXgl	        [        R                  " XR                  UR                  UR                  5       u  pU u  pUR                  U
5      nUR!                  XSS9  S S S 5        U	 u  pUR                  U
5      nUR!                  XSS9  S S S 5        S S S 5        [#        XUR                  UR$                  5      $ ! , (       d  f       Ne= f! , (       d  f       NH= f! , (       d  f       NQ= fNr   r   Tr@  )r   r   r   r   guard_invalid_slicery   get_slice_lengthr  rS  r8   r   for_range_slice_genericr   r   r   rR   r   r   r%   )r"   r#   rP  r   rD  rz   result_sizer^  	pos_range	neg_rangerI   r"  r%   s                r)   getslice_listro    sG   #((1+tAw?D!d1g>E#((1+uENN5 **7:K""7S__#.0FK		(	(++uzz).
58N,3LL%EOOEO6  ,3LL%EOOEO6 
5 Gcoov||LL Y Y
5 
5s<   )F.$E1
F$F F1
E?	;F
F	F
F!c           
      j	   [        XUR                  S   US   5      n[        XUR                  S   US   5      nU R                  XR                  S   US   5      n[        R                  " XUR                  S   U5        UR                  U5        UR                  n[        R                  " X5      nUR                  UR                  U5      n	[        R                  " U	R                  S5      n
[        R                  " U	R                  S5      nUR                  UR                  SUR                  U5      5       u  pU   UR                  UR                   U5      nUR                  UR                  U5      nUR#                  UR                  SX5      5         UR%                  UR                  UR                  U	5      5        UR'                  UR                  X5      UU5        S S S 5        UR#                  UR                  SX5      5         UR'                  UR                  X5      UU5        UR%                  UR                  UR                  U	5      5        S S S 5        UR                   n[(        R*                  " X5       nUR-                  UR.                  5      nUR1                  UR                  UR.                  U5      USS9  S S S 5        S S S 5        U   UR#                  UR                  S	X5      5         S
nU R2                  R5                  U[6        U45        S S S 5        [(        R8                  " XR                   UR:                  UR                  5       u  nnU u  nnUR-                  U5      nUR1                  UUSS9  S S S 5        U u  nnUR-                  U5      nUR1                  UUSS9  S S S 5        S S S 5        S S S 5        S S S 5        U R=                  5       $ ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNN= f! , (       d  f       GNX= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       U R=                  5       $ = f)Nr   r  r   ==r  rU   Tr@  !=z0cannot resize extended list slice with step != 1)r   r   r   r   ri  ry   r8   rj  r   r   rW   rX   r   rV   r   rY   r   rj   r  r%  r   	for_rangerR   r4  r   rr   rs   
ValueErrorrk  r   re  )r"   r#   rP  r   destsrcrz   src_size
avail_size
size_deltarm   onethen	otherwise	real_stop	tail_sizedest_offsetloopr%   ru   rm  rn  r4  r"  s                           r)   rf  rf  ,  s   #((1+tAw?D
w!d1g
>C!d1g>E#((1+uENN5xxH))'9JSXXz2J;;z*D
++jooq
)C	,,T5::sC	DHY  EKK<IDIIy9I!4!4S*!KLGKK		:>?		'++i<i#% M !4!4S*!KL		'++i<i#%GKK		:>?	 M  ++K""75DJJ/W[[[A5QUV 6- 4 !4!4T:!LMH!!11':vN N 00ejj%**>AW)Y.5%KK.ELLdL;  .5%KK.ELLdL; > 7 
ER ""$$A ML ML 65- T6 NM Y Y> > Y7 
E	DR ""$$s   ?RAP-AO7,)P-AP	#*P-APP-
R&"R%P?->R+Q31&Q	
Q3!&Q"	Q3RR7
PP-	
PP-
P*%P--
P<	7R?
Q	R
QQ3"
Q0,Q33
R=R
R	R
R2c                 ,    S nU R                  XX#5      $ )Nc                 &    U R                  U5        g r5   )pop)lstrE  s     r)   list_delitem_impl-delitem_list_index.<locals>.list_delitem_impll  s    
r+   rN  )r"   r#   rP  r   r  s        r)   delitem_list_indexr  i  s     ##GJJr+   c                    [        XUR                  S   US   5      nU R                  XR                  S   US   5      n[        R                  " XUR                  S   U5        UR                  U5        [        R                  " X5      n[        R                  " UR                  S5      nUR                  UR                  SUR                  U5      SS9   SnU R                  R                  U[        U45        S S S 5        UR                   n	UR#                  X5      n
[$        R&                  " XXR                  S5      5       u  pUR)                  UR+                  U5      5        S S S 5        UR-                  UR.                  U
5      nUR1                  XU5        UR3                  UR-                  UR.                  U5      5        U R5                  5       $ ! , (       d  f       N= f! , (       d  f       N= f)Nr   r   rr  Frg   z4unsupported del list[start:stop:step] with step != 1)r   r   r   r   ri  ry   rj  r   rW   rX   rj   rV   r   rr   rs   NotImplementedErrorr   rY   r   r   r   rR   r   r8   r%  r  re  )r"   r#   rP  r   rD  rz   	slice_lenrz  ru   r   r}  rI   r   r~  s                 r)   delitem_listr  r  s   #((1+tAw?D!d1g>E#((1+uENN5((8I
++inna
(C	,,T5::sCE	RD))'3FO 
S
 KKEE-I		 	 Izz!}
#$,,s+,
 DIIy1IIIe	*KKDIIy12""$$% 
S	R
 
s   %G#G-
G*-
G;c                 ,    S nU R                  XX#5      $ )Nc                 $    U  H
  nX!:X  d  M
    g   gNTFr   )r  r%   elems      r)   seq_contains_impl!in_seq.<locals>.seq_contains_impl  s    D}  r+   rN  )r"   r#   rP  r   r  s        r)   in_seqr    s     ##GJJr+   c                 ,    S nU R                  XX#5      $ )Nc                     [        U 5      S:g  $ r1  rA  seqs    r)   sequence_bool_impl)sequence_bool.<locals>.sequence_bool_impl  s    3x1}r+   rN  )r"   r#   rP  r   r  s        r)   sequence_boolr    s     ##GKKr+   c                 L    [        U [        R                  5      (       a  S nU$ g )Nc                     [        U 5      S:g  $ r1  r  r  s    r)   implsequence_truth.<locals>.impl  s    s8q= r+   )r   r   Sequence)r  r  s     r)   sequence_truthr    s"    #u~~&&	! 'r+   c                    [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  nUR                  nUR                  Xg5      n[         R	                  XUR
                  U5      n	Xl        [        R                  " X5       n
UR                  U
R                  5      nU R                  XUR                  U	R                  5      nU	R                  U
R                  USS9  S S S 5        [        R                  " X5       n
UR                  U
R                  5      nU R                  XUR                  U	R                  5      nU	R                  UR                  U
R                  U5      USS9  S S S 5        [        XUR
                  U	R                  5      $ ! , (       d  f       N= f! , (       d  f       N@= frh  )r   r   r8   rY   r  rS  r   rs  rR   r4  castr-   r   r   r%   )r"   r#   rP  r   aba_sizeb_sizer   ru  r  r%   s               r)   list_addr    sY   Wsxx{DG<AWsxx{DG<AVVFVVF[[(F  3??FKDI			7	+t		$**%WQWWdjjATZZt4 
, 
		7	+t		$**%WQWWdjjAW[[V4eDI 
,
 GcootzzJJ 
,	+ 
,	+s   !AF4A.G4
G
Gc                     UR                   S   R                  UR                  R                  :X  d   e[        XX#5      n[	        XUR                  UR
                  5      $ r1  )r   r-   rS  _list_extend_listr   r%   )r"   r#   rP  r   ru  s        r)   list_add_inplacer    sK    88A; 5 5555Ws9DWs

KKr+   c                 T   [        UR                  S   [        R                  5      (       a  Su  pEOSu  pE[	        XUR                  U   X4   5      nUR
                  nX5   n[        R                  " UR                  S5      n	UR                  [        R                  " X5      X5      nUR                  X5      n
[        R                  XUR                  U
5      nXl        [        R                  " XXSS9 u  p[        R                   " X5       nUR#                  UR$                  5      nUR'                  UR)                  UR$                  U5      USS9  S S S 5        S S S 5        [+        XUR                  UR,                  5      $ ! , (       d  f       N7= f! , (       d  f       N@= f)Nr   )r   r   )r   r   Tincr@  )r   r   r   Listr   r8   r   rW   rX   rZ   r   
is_neg_intmulr  rS  r   rs  rR   r4  r   rY   r   r%   )r"   r#   rP  r   list_idxint_idxrv  rw  multrm   r   ru  r  r   r  r%   s                   r)   list_mulr    sD    #((1+uzz** ' 
w();T^
LCxxH=D;;tyy!$D>>',,W;THD[[(F  3??FKDI		 	 d	KO_P[w1TKK

+ELLTZZ=uTLR 2 
L
 GcootzzJJ	 21 
L	Ks%   7FAFF
F	F
F'c                    [        XUR                  S   US   5      nUR                  nUS   n[        R                  " UR
                  S5      nUR                  [        R                  " X5      Xv5      nUR                  Xe5      nUR                  U5        [        R                  " XXSS9 u  p[        R                  " X5       nUR                  UR                  5      nUR                  UR!                  UR                  U	5      USS9  S S S 5        S S S 5        [#        XUR$                  UR&                  5      $ ! , (       d  f       N7= f! , (       d  f       N@= f)Nr   r   Tr  r@  )r   r   r8   r   rW   rX   rZ   r   r  r  r  r   rs  rR   r4  r   rY   r   rS  r%   )r"   r#   rP  r   rD  rw  r  rm   r   r  r   r  r%   s                r)   list_mul_inplacer    s	   #((1+tAw?DyyH7D;;tyy!$D>>',,W;THD[[(FKK		 	 F$	OScT_w1TLL,ELLTZZ=uTLR 2 
P
 Ws

KK	 21 
P	Os%   .EAD?E?
E		E
Ec                 B   [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  UR                  [        R
                  5      nUR                  UR                  [        R
                  5      nUR                  SXg5      $ Nr   r   rq  )r   r   r   r   r   r   rV   )r"   r#   rP  r   r  r  mambs           r)   list_isr    s}    Wsxx{DG<AWsxx{DG<A			!))W^^	4B			!))W^^	4BtR,,r+   c           	      `   UR                   u  pE[        XXCS   5      n[        XXSS   5      nUR                  nUR                  SXR                  5      n	[        R
                  " X5      n
UR                  U	5         [        R                  " X5       nUR                  UR                  5      nUR                  UR                  5      nU R                  U[        R                  UR                  UR                  4X45      nUR                  UR                  U5      5         UR                  [        R                   U
5        UR#                  5         S S S 5        S S S 5        S S S 5        UR%                  U
5      $ ! , (       d  f       N/= f! , (       d  f       N8= f! , (       d  f       NA= fr  )r   r   r8   rV   r   ri   rj   rs  rR   r4  generic_compareoperatoreqr-   r  rk   r   do_breakrM   )r"   r#   rP  r   atybtyr  r  r  	same_sizerK  r  vwitemress                  r)   list_eqr    s6   xxHCWsG4AWsG4AVVF##D&&&9I

#
#G
7C		#w/4		$**%A		$**%A--gx{{/2yy#)).DqfNGg!67g//5 8 0 
$ << 87 0/ 
$	#s=   <FBF#1E=FF=
FF
F	F
F-c            	      t    [        U  Vs/ s H  n[        U[        R                  5      PM     sn5      $ s  snf r5   )allr   r   r  )r   typs     r)   all_listr    s*    t<t
3

+t<==<s   $5c                 .    [        X5      (       d  g S nU$ )Nc                     X:X  + $ r5   r   r  r  s     r)   list_ne_impl"impl_list_ne.<locals>.list_ne_impl&  s
    |r+   r  )r  r  r  s      r)   impl_list_ner  !  s    A>> r+   c                 .    [        X5      (       d  g S nU$ )Nc                     [        U 5      n[        U5      n[        [        X#5      5       H  nX   X   :  a    gX   X   :  d  M    g   X#:*  $ r  rA  rangeminr  r  mnrE  s        r)   list_le_impl"impl_list_le.<locals>.list_le_impl0  sL    FFs1y!Atad{	 "
 vr+   r  )r  r  r  s      r)   impl_list_ler  +  s    A>> r+   c                 .    [        X5      (       d  g S nU$ )Nc                     [        U 5      n[        U5      n[        [        X#5      5       H  nX   X   :  a    gX   X   :  d  M    g   X#:  $ r  r  r  s        r)   list_lt_impl"impl_list_lt.<locals>.list_lt_implA  sL    FFs1y!Atad{	 "
 ur+   r  )r  r  r  s      r)   impl_list_ltr  <  s    A>> r+   c                 .    [        X5      (       d  g S nU$ )Nc                 
    X:*  $ r5   r   r  s     r)   list_ge_impl"impl_list_ge.<locals>.list_ge_implR  s	    vr+   r  )r  r  r  s      r)   impl_list_ger  M  s    A>> r+   c                 .    [        X5      (       d  g S nU$ )Nc                 
    X:  $ r5   r   r  s     r)   list_gt_impl"impl_list_gt.<locals>.list_gt_impl\  s	    ur+   r  )r  r  r  s      r)   impl_list_gtr  W  s    A>> r+   zlist.appendc                 "   [        XUR                  S   US   5      nUS   nUR                  nUR                  U[        R
                  " UR                  S5      5      nUR                  U5        UR                  XeSS9  U R                  5       $ rh  )
r   r   r8   rY   r   rW   rX   r  r   re  )r"   r#   rP  r   rD  itemr  r  s           r)   list_appendr  d  sx    #((1+tAw?D7D		A{{1bkk!&&!45HKKLLL&""$$r+   z
list.clearc                     [        XUR                  S   US   5      nUR                  U R                  [        R
                  S5      5        U R                  5       $ r1  )r   r   r  r3  r   r   re  rV  s        r)   
list_clearr  p  sH    #((1+tAw?DKK$$UZZ34""$$r+   copyc                     S nU$ )Nc                     [        U 5      $ r5   )listr  s    r)   list_copy_impl!list_copy.<locals>.list_copy_implz  s    Cyr+   r   )r  r  s     r)   	list_copyr  x  s     r+   r"  c                     S nU$ )Nc                 4    SnU  H  nX1:X  d  M
  US-  nM     U$ Nr   r   r   )r  r%   rK  r  s       r)   list_count_impl#list_count.<locals>.list_count_impl  s&    D}q  
r+   r   )r  r%   r  s      r)   
list_countr    s     r+   c                 6   [        XUR                  S   US   5      n[        XUR                  S   US   5      nUR                  nUR                  nUR                  Xg5      nUR	                  U5        Xl        [
        R                  " X5       n	UR                  U	R                  5      n
U R                  XUR                  UR                  5      n
UR                  UR                  U	R                  U5      U
SS9  S S S 5        U$ ! , (       d  f       U$ = f)Nr   r   Tr@  )r   r   r8   rY   r  r   rs  rR   r4  r  r-   r   )r"   r#   rP  r   rv  ru  rw  	dest_sizer   r  r%   s              r)   r  r    s    
w!d1g
>C#((1+tAw?DxxH		I[[-FKKI			7	-DJJ'WSYY

CW[[Y7tL 
.
 K 
.	-
 Ks   A.D		
Dzlist.extendc                     [        UR                  S   [        R                  5      (       a  [	        XX#5        U R                  5       $ S nU R                  XX#5      $ )Nr   c                 >    U R                   nU H  nU" U5        M     g r5   )append)r  rJ  methr  s       r)   list_extend list_extend.<locals>.list_extend  s    zzAG r+   )r   r   r   r  r  re  rO  )r"   r#   rP  r   r  s        r)   r  r    sN    #((1+uzz**'C6&&(( ##G#DDr+   r4  c                 P   [        U[        [        R                  [        R                  45      (       d  [
        R                  " SU 35      e[        U[        [        R                  [        R                  45      (       d  [
        R                  " SU 35      eS[        4S jnU$ )Nz$arg "start" must be an Integer. Got z#arg "stop" must be an Integer. Got r   c                     [        U 5      nUS:  a  X$-  nUS:  a  SnUS:  a  X4-  nX4:  a  Un[        X#5       H  nX   U:X  d  M  Us  $    [        S5      e)Nr   zvalue not in list)rA  r  rt  )r  r%   r   r   r  rE  s         r)   list_index_impl#list_index.<locals>.list_index_impl  sh    H19JEqy!8ID8Du#Av $ ,--r+   )r   r   r   IntegerOmittedr   TypingErrorintp_max)r  r%   r   r   r
  s        r)   
list_indexr    s     ec5==%--@AA  #Gw!OPPdS%--?@@  #Ftf!MNN*+( . r+   zlist.insertc                    [        XUR                  S   US   5      nUR                  US   5      nUR                  U5      nUS   nUR                  n[
        R                  " UR                  S5      nUR                  Xx5      n	UR                  U	5        UR                  UR                  XX5      XQR                  Xu5      5        UR                  XVSSS9  U R                  5       $ )Nr   r   r  TF)r}   r   )r   r   r]   rn   r8   r   rW   rX   rY   r  r%  r   r   re  )
r"   r#   rP  r   rD  r4  r%   r  rz  r  s
             r)   list_insertr    s     #((1+tAw?DNN47#EU#EGE		A
++affa
 C{{1"HKKIIgkk%%ukk!.CDLLdULC""$$r+   zlist.popc                    [        XUR                  S   US   5      nUR                  n[        R                  " XU[
        S45        UR                  U[        R                  " UR                  S5      5      nUR                  U5      nUR                  U5        UR                  U5        UR                  U5        [        XUR                  U5      $ )Nr   pop from empty listr   )r   r   r8   r   
guard_zerort   r   r   rW   rX   rR   r   r   r  r   rS  )r"   r#   rP  r   rD  r  rK  s          r)   list_popr    s    #((1+tAw?D		Aw"$9:<Ar{{1661-.A
,,q/CcQKKNGcoosCCr+   c                 R   [        XUR                  S   US   5      nUR                  US   5      nUR                  n[        R
                  " XU[        S45        UR                  US5        UR                  U5      n[        R                  " UR                  S5      nUR                  U[        R                  " UR                  S5      5      nUR                  XQR                  XX5      UR                  Xe5      5        UR                  U5        [!        XUR"                  U5      $ )Nr   r   r  zpop index out of range)r   r   r]   r8   r   r  rt   rv   rR   r   rW   rX   r   r%  rY   r  r   rS  )	r"   r#   rP  r   rD  rI   r  rK  rz  s	            r)   r  r    s    #((1+tAw?D
..a
!C		Aw"$9:<S23
,,s
C
++affa
 CAr{{1661-.AIIc;;s('++a*=>KKNGcoosCCr+   removec                     S nU$ )Nc                     [        [        U 5      5       H  nX   U:X  d  M  U R                  U5          g    [        S5      e)Nzlist.remove(x): x not in list)r  rA  r  rt  )r  r%   rE  s      r)   list_remove_impl%list_remove.<locals>.list_remove_impl  s9    s3xAv
 !
 899r+   r   )r  r%   r  s      r)   list_remover    s    : r+   reversec                     S nU$ )Nc                 h    [        S[        U 5      S-  5       H  nU* S-
  nX   X   sX'   X'   M     g )Nr   r  r   )r  rA  )r  r  r  s      r)   list_reverse_impl'list_reverse.<locals>.list_reverse_impl  s9    q#c(a-(AQA VSVNCFCF )r+   r   )r  r!  s     r)   list_reverser#    s    ,
 r+   c                 
    X:  $ r5   r   r  s     r)   gtr%    s	    5Lr+   )ltT)
is_argsortis_list)r'  r&  r(  c                 b   [        U [        R                  5      (       a  U R                  nO.[        U [        R                  5      (       a  U R
                  nOU n[        U[        R                  [        R                  [        [        45      (       d  SU -  n[        R                  " U5      eU$ )Nz2an integer is required for 'reverse' (got type %s))r   r   r  r%   OptionalrX   Booleanr  r   boolr   r  )r  rtyru   s      r)   _sort_check_reverser.  %  sy    '5==))mm	GU^^	,	,llcEMM5==#tDEEBWL  %%Jr+   c                    [        U [        R                  5      (       a  Sn[        R                  " U5      e[
        R                  " U 5      (       d8  [        U [        R                  5      (       d  Sn[        R                  " U5      eg g )NzoKey must concretely be None or a Numba JIT compiled function, an Optional (union of None and a value) was foundz1Key must be None or a Numba JIT compiled function)r   r   r*  r   r  r   is_nonelike
Dispatcher)keyru   s     r)   _sort_check_keyr3  2  sn    #u~~&&C  %%$$
38H8H(I(IA  %% )J$r+   sortc                    ^^^ [        U5        [        U5        [        R                  " U5      (       a  Sm[        m[
        mO-[        U[        R                  5      (       a  Sm[        m[        mSUUU4S jjnU$ )NFTc                    > TSL a  U  Vs/ s H
  o1" U5      PM     nnOU nUSL d  US:X  a	  T	" U5      nOT" U5      nTSL a  U Vs/ s H  o`U   PM	     snU S S & g g s  snf s  snf )NTFr   r   )
r  r2  r  x_lsttmprE  KEYsort_bsort_fs
          r)   r  ol_list_sort.<locals>.implK  sy    $;$'(CqCFCD(DDew!|,C,C$;&)*c!fc*CF  ) +s   AA!NF)r3  r.  r   r0  sort_forwardssort_backwardsr   r   r1  arg_sort_forwardsarg_sort_backwards)r  r2  r  r  r:  r;  r<  s       @@@r)   ol_list_sortrC  <  sh     C 3	C))	*	*"#
+ 
+ Kr+   c                 |    [        U [        R                  5      (       d  g[        U5        [	        U5        SS jnU$ )NFc                 :    [        U 5      nUR                  XS9  U$ )N)r2  r  )r  r4  )rJ  r2  r  r  s       r)   r  ol_sorted.<locals>.implb  s    8nS*
r+   r>  )r   r   IterableTyper3  r.  )rJ  r2  r  r  s       r)   	ol_sortedrH  Y  s6     h 2 233C  Kr+   c                 >    UR                   UR                   :X  d   eU$ r5   )r-   )r"   r#   fromtytotyr   s        r)   list_to_listrL  k  s     <<4::%%%Jr+   Cannot mutate a literal listr  c                     [         er5   _banned_error)r  objs     r)   literal_list_banned_appendrR  y      
r+   rI  c                     [         er5   rO  )r  rJ  s     r)   literal_list_banned_extendrU  ~  rS  r+   insertc                     [         er5   rO  )r  r4  rQ  s      r)   literal_list_banned_insertrX    rS  r+   c                     [         er5   rO  )r  r%   s     r)   literal_list_banned_removerZ    rS  r+   r  c                     [         er5   rO  r  r4  s     r)   literal_list_banned_popr]    rS  r+   clearc                     [         er5   rO  r  s    r)   literal_list_banned_clearr`    rS  r+   c                     [         er5   rO  )r  r2  r  s      r)   literal_list_banned_sortrb    rS  r+   c                     [         er5   rO  r  s    r)   literal_list_banned_reverserd    rS  r+   c                 r    [        U [        R                  5      (       a  Sn[        R                  " U5      eg )Nz+list.index is unsupported for literal listsr   r   LiteralListr   r  )r  r7  r   r   ru   s        r)   literal_list_indexrh    s2    
 #u(());  %% *r+   c                 L    [        U [        R                  5      (       a  S nU$ g )Nc                 F    Sn[        U 5       H  nX1:X  d  M
  US-  nM     U$ r  r   )r  r7  r"  r   s       r)   r   literal_list_count.<locals>.impl  s+    E%c*8QJE + Lr+   r   r   rg  )r  r7  r  s      r)   literal_list_countrm    s&    #u(())	  *r+   c                 L    [        U [        R                  5      (       a  S nU$ g )Nc                     U $ r5   r   r  s    r)   r  rk    s    Jr+   rl  )r  r  s     r)   rm  rm    s$    #u(())	 *r+   c                 N    [        U [        R                  5      (       a  [        eg r5   )r   r   rg  rP  r\  s     r)   literal_list_delitemrq    s     #u(()) *r+   c                 n    [        U [        R                  5      (       a  [        R                  " S5      eg )NrM  rf  )r  r4  r%   s      r)   literal_list_setitemrs    s,    #u(())  !?@@ *r+   c                 r    [        U [        R                  5      (       d  g Sn[        R                  " U5      e)NzRCannot __getitem__ on a literal list, return type cannot be statically determined.rf  )r  r   ru   s      r)   literal_list_getitemru    s0    c5,,--$C


S
!!r+   c                 h   ^ [        U [        R                  5      (       d  g U R                  mU4S j$ )Nc                    > T$ r5   r   r  ls    r)   <lambda>"literal_list_len.<locals>.<lambda>  s    qr+   )r   r   rg  r"  rx  s    @r)   literal_list_lenr|    s(    c5,,--		Ar+   c                 L    [        U [        R                  5      (       a  S nU$ g )Nc                 6    [        U 5       H
  nX!:X  d  M
    g   gr  r   )r  r  r   s      r)   r  #literal_list_contains.<locals>.impl  s    %c*; + r+   rl  )r  r  r  s      r)   literal_list_containsr    s&    #u(())	
  *r+   c                    [        U5      [        U5      :w  a  [        e[        R                  " X[        U5      5      n[	        XRU5       VVVs/ s H  u  pgnU R                  XXx5      PM     n	nnnU R                  XU	5      $ s  snnnf r5   )rA  r  r   unpack_tuplezipr  
make_tuple)
r"   r#   rJ  rK  r   olditemsr  ftrC  s
             r)   literallist_to_literallistr    s|    
6{c$i!!##G#f+>H$797q \\'a+7 
 9gU339s   Br>  ))r   mathr  	functoolsr   llvmliter   
numba.corer   r   r   r   r	   numba.core.imputilsr
   r   r   r   r   r   r   numba.core.extendingr   r   
numba.miscr   numba.cpythonr   numbar   r*   r0   objectr2   r   r   r)  rF  r  rG  rQ  rA  r  rT  rY  ListIterBORROWEDr`  rR   r  rc  r   Anyrf  	SliceTypero  delitemr  r  containsr  r  r,  r  truthr  rY   r  iaddr  r  r  imulr  is_r  r  r  r  ner  ler  r&  r  ger  r%  r  r  r  r  r  r  r  USE_LEGACY_TYPE_SYSTEMr   maxvalr  py_intr  r  r  r  r#  make_jit_quicksortrun_quicksortr?  r@  rA  rB  r.  r3  rC  sortedrH  rL  r  rP  rg  rR  rU  rX  rZ  r]  r`  rb  rd  
_index_endrh  rm  rq  rs  ru  r|  r  r  r   r+   r)   <module>r     sY	  
   %  = =- - - ;   !  	H(UA UAp +  $E$ EN"5( "5PE tU''(C )C tE E sEJJ   y%**%L &L z5>>*w 
M ! +
M xU]];H <H xU]]EIIF% G% xU__=M >M, xU__eiiH8% I8%x xU]];K <K xU__=% >%D x  %..%))<K =K tU^^$L %L 
(..  x||UZZ4K 5K* x}}ejj%**5L 6L x||UZZ7x||U]]EJJ7K 8 8K. x}}ejj%--8L 9L, x||UZZ4- 5- x{{EJJ

3 40> 
(++  
(++   
(++   
(++  
(++  }ejj%))4	% 5	% |UZZ(% )% V$ % W%	 &	" }ejj%*<*<=E >E 
  zz  H||""H W%!"  &2 }ejj%--99%% z5::&D 'D z5::u}}5D 6D" X&
 '
 Y' ( ,,.<<--4BB00D9=??L} 11Tb:>@@M 
& V$ %8 
& " EJJ

# $ ""#AB ""H- . ""H- . ""H- . ""H- . ""E* + ""G, - ""F+ , ""I. / 
  ""J$$J""G,%&J & -& ""G, - ""F+ , 
(

  
(

A A 
(

" " 
#  
(

  Eu0014 24r+   