
    xKgŇ                     &   d Z ddlZddlZddlmZ ddlmZmZ ddl	m
Z
mZmZmZmZ ddlmZ ddlmZ  ej&                  d      Zej*                  d	k(  sJ  ej,                  ej.                  d	d
d      Z ej&                  d      Zej*                  Zej.                  ej6                  ej8                  de   Zej<                  ej>                  ej@                  de   Z!d Z"ed        Z#ed        Z$ed        Z% ed      d        Z&ed        Z' ed      d        Z(ed        Z)ed        Z*d Z+d Z,d Z-d Z.ed        Z/ eej,                  ej`                        d        Z1d  Z2 eej`                  ej,                        d!        Z3 eejh                  ej,                        d"        Z5ed#        Z6 eejh                  ejn                        d$        Z8 e
ejr                        d%        Z: e
e;      d&        Z< e
ejz                         e
ej|                        d'               Z? e
ej                        d(        ZA e
ej                        d)        ZC e
ej                        d*        ZE e
ej                        d+        ZG e
ej                        d,        ZI e
ej                        d-        ZK e
ej                        d.        ZM e
ej                        d/        ZO e
ej                        d0        ZQ eejn                  d1       eej`                  d1       eej,                  d1      d2                      ZR eejn                  d3       eej`                  d3      d4               ZS eejh                  d5      d6        ZT eej`                  d7       eej,                  d7      d8               ZU eejn                  d9      d:        ZV e
eW      d;        ZX eejn                  d<      d=        ZY eej`                  d<      d>        ZZ eejn                  d?      d@        Z[ eej`                  d?      dA        Z\ eejn                  dB      dC        Z] eej`                  dB      dD        Z^ eejn                  dE       eej`                  dE       eej,                  dE      dF                      Z_ eejn                  dG       eej`                  dG       eej,                  dG      dH                      Z` eejn                  dI       eej`                  dI       eej,                  dI      dJ                      Za eejn                  dK       eej`                  dK       eej,                  dK      dL                      ZbedM        Zc eejn                  dN       eej`                  dN       eej,                  dN      d`dO                     Zd eejn                  dP       eej`                  dP       eej,                  dP      dadQ                     Ze eejn                  dR       eej`                  dR       eej,                  dR      dadS                     Zf eejn                  dT       eej`                  dT       eej,                  dT      dadU                     Zg eejn                  dV       eej`                  dV       eej,                  dV      dW                      Zh eejn                  dX       eej`                  dX       eej,                  dX      dbdY                     Zi eejn                  dZ       eej`                  dZ       eej,                  dZ      dbd[                     Zj eejn                  d\       eej`                  d\       eej,                  d\      dbd]                     Zk eejn                  d^       eej`                  d^       eej,                  d^      d_                      Zly)cz=Implements operations on bytes and str (unicode) array items.    N)ir)typescgutils)overload	intrinsicoverload_method
lower_castregister_jitable)is_nonelike)unicodeS1   CT)readonlyU1)r         c                       fd}|S )Nc                 0   |\  }}t        j                  ||      }|j                  |t        j                  	      j                               }|j                  |j                  ||g            }|j                  |t        j                  d            S )Nvalue    )	r   alloca_once_valuebitcastr   IntType
as_pointerloadgepzext)
contextbuilder	signatureargsdataidxrawptrptrchbitsizes
            Y/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cpython/charseq.pycodegenz#make_deref_codegen.<locals>.codegen%   st    	c**7$?oofbjj&9&D&D&FG\\'++cC512||B

2//     )r)   r+   s   ` r*   make_deref_codegenr.   $   s    0 Nr,   c                 d    t        j                  |t         j                        }|t        d      fS )N   r   uint32intpr.   	typingctxr$   offsetsigs       r*   deref_uint8r8   .   s'    
,,tUZZ
(C"1%%%r,   c                 d    t        j                  |t         j                        }|t        d      fS )N   r1   r4   s       r*   deref_uint16r;   4   '    
,,tUZZ
(C"2&&&r,   c                 d    t        j                  |t         j                        }|t        d      fS )Nr   r1   r4   s       r*   deref_uint32r>   :   r<   r,   F)_nrtc                     t        | |      S )z6Access i-th item of CharSeq object via code value
    )r8   ais     r*   charseq_get_coderD   @   s     q!r,   c                 >    t        | |      }|dk(  rt        d      |S )zcAccess i-th item of CharSeq object via code value.

    null code is interpreted as IndexError
    r   index out of range)rD   
IndexErrorrB   rC   codes      r*   charseq_get_valuerJ   G   s(     Aq!Dqy-..Kr,   c                     t         dk(  rt        | |      S t         dk(  rt        | |      S t         dk(  rt        | |      S t	        d      )z=Access i-th item of UnicodeCharSeq object via code value
    r   r   r   z=unicode_charseq_get_code: unicode_byte_width not in [1, 2, 4])unicode_byte_widthr>   r;   r8   NotImplementedErrorrA   s     r*   unicode_charseq_get_coderN   S   sU     QAq!!	q	 Aq!!	q	 1a  !KM 	Mr,   c                 .    t        j                  | |      S )z,Access i-th item of UnicodeType object.
    )r   _get_code_pointrA   s     r*   unicode_get_coderQ   b   s     ""1a((r,   c                     | |   S )z*Access i-th item of Bytes object.
        r-   rA   s     r*   bytes_get_coderS   i   s     Q4Kr,   c                    t        | t        j                        rt        S t        | t        j                        rt
        S t        | t        j                        rt        S t        | t        j                        rt        S y N)

isinstancer   CharSeqrD   BytesrS   UnicodeCharSeqrN   UnicodeTyperQ   rB   s    r*   _get_code_implr\   p   s[    !U]]#	Au{{	#	Au++	,''	Au((	) 
*r,   c                     t         j                  t         j                  ft         j                  t         j                  ffD ]  }t        | |      st        ||      s y y)NTF)r   rW   rX   rY   rZ   rV   )rB   bts      r*   
_same_kindr`   {   sM    }}ekk*##U%6%679a
1a 09 r,   c                 V    t        | t        j                  t        j                  f      S rU   )rV   r   rW   rX   r[   s    r*   	_is_bytesrb      s    a%--566r,   c                 D    | |k(  xs t        | t        j                        S rU   )rV   r   Omitted)xdefaults     r*   
is_defaultrg      s    <7:a77r,   c                     t        | |      }|dk(  rt        d      t        j                  |t              j                  t              d   S )zlAccess i-th item of UnicodeCharSeq object via unicode value

    null code is interpreted as IndexError
    r   rF   r-   )rN   rG   nparrayunicode_uintviewu1_dtyperH   s      r*   unicode_charseq_get_valuern      sD     $Aq)Dqy-..88D,',,X6r::r,   c           	      B    t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  }| j                  |      }t	        j
                  d      }	t        j                  ||      }
|j                  |
|	j                               }t	        j                  |j                  |j                        }|j                  d||      }|j                  |||      }|j                  |      5  t        j                   ||t	        j                  |j                  |j                        d       d d d        t        j"                  ||      5 }|j%                  ||j&                  g      }|j)                  |j+                  |      |	      }|j-                  ||j%                  ||j&                  g             d d d        |j+                  |
      S # 1 sw Y   xY w# 1 sw Y   &xY w)Nr   r0   <r   )r   create_struct_proxyr   r$   r   r   r   nitemsget_value_typealloca_onceConstanttypecounticmp_unsignedselectif_thenmemset	for_ranger   indexr   r   store)r    r!   fromtytotyvalbarrsrc
src_lengthltydstint_tdst_ptrdst
dst_lengthis_shorter_valuerw   loopin_ptrin_vals                     r*   bytes_to_charseqr      s   .7&&v.wsKD
//$))RZZ]%=%=%?
@CJ

 
 
&Czz!}H!!'3/G
//'8#6#6#8
9CZ__djj9J,,S*jINN+ZDE	)	*w{{:??#'::/01	3 
+
 
		7E	*dS4::,/gll62H=fgkk#

|<= 
+
 <<   
+	*
 
+	*s   %AH	A,H	HHc                    t        j                  t              } || |      }t        |t              r*t        j                  |j                  j                  |      }| j                  j                  ||      |_        ||_        t        j                  |j                  j                  d      |_        | j                  j                  ||j                        |_        t        j                  |j                   j                        |_        t        j                  |j"                  j                        |_        t        j                  |j$                  j                        |_        |S Nr   )r   rq   
bytes_typerV   intr   ru   rr   rv   nrtmeminfo_allocmeminfoitemsizememinfo_datar$   get_null_valueparentshapestrides)r    r!   nbytes	bstr_ctorbstrs        r*   _make_constant_bytesr      s    ++J7IWg&D&#T[[--v6;;,,Wf=DLDKKK 2 2A6DM(($,,?DI(()9)9:DK''

8DJ))$,,*;*;<DLKr,   c                    t        | ||j                  j                        }t        j                  ||      }|j                  ||j                  j                        }t        j                  ||j                  ||j                         |S )Nr   )	r   rv   rw   r   r   r   r$   memcpyrr   )r    r!   r   r   r   r   r&   r'   s           r*   charseq_to_bytesr      sa    #((..AD&&wc:F
//&$))..
1CNN7DIIsDKK8Kr,   c                 ^    t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  d|j                  t	        j                  |j                  j                  d            }|j                  }|j                  |      5  | j                  j                  |t        d       d d d        t!        | ||      }	t        j"                  ||	j                  ||	j$                         |	S # 1 sw Y   DxY w)Nr   r0   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   rq   r   r$   r   r   r   rx   kindru   rv   lengthrz   	call_convreturn_user_exc
ValueErrorr   r   rr   )
r    r!   r   r   r   uni_strsrc1notkind1r   r   s
             r*   unicode_to_bytes_castr      s    1g))&1'7#NG??7<<A)A)A)CDD$$T7<<%'[[1B1BA%FHHJ		"))ZD	F 
#
  *=DNN7DIItT[[9K 
#	"s   >"D##D,c                 V    t         j                  k(  sJ t              }fd}||fS )Nc                 L    t        | |t        |d         j                         S Nr   )r   r   	_getvalue)r    r!   r"   r#   ss       r*   r+   z"_unicode_to_bytes.<locals>.codegen   s'    $WaT!W66?ik	Br,   )r   unicode_typer   )r5   r   r7   r+   s    `  r*   _unicode_to_bytesr      s4     """""
Q-CB <r,   c           
          t        j                  |      | ||      }|j                  |j                  t	        j
                  d      j                               }|j                  |j                  t	        j
                  d      j                               }|j                  |j                  t	        j
                  d      j                               }|j                  d|j                  t	        j                  |j                  j                  d            }	|j                  d|j                  t	        j                  |j                  j                  d            }
|j                  d|j                  t	        j                  |j                  j                  d            }|j                  }| j                  |      }t	        j
                  dt        z        }t        j                  ||      }|j                  ||j                               }t	        j                  |j                  |j                        }|j                  d	||      }|j!                  |||      }|j#                  |      5  t        j$                  ||t	        j                  |j                  |j                  t        z        d
       d d d        |j#                  |	      5  t        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        d d d        |j#                  |
      5  t        dk\  rt        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        n.| j2                  j5                  |t6        dt        dz  d|       d d d        |j#                  |      5  t        dk\  rt        j&                  ||      5 }|j)                  ||j*                  g      }|j-                  |j/                  |      |      }|j1                  ||j)                  ||j*                  g             d d d        n.| j2                  j5                  |t6        dt        dz  d|       d d d        |j/                  |      S # 1 sw Y   wxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   &xY w# 1 sw Y   +xY w# 1 sw Y   cxY w# 1 sw Y   gxY w)Nr   r0   r:   r   z==r   r   r   rp   r   z#cannot cast 16-bit unicode_type to z-bit z#cannot cast 32-bit unicode_type to )r   rq   r   r$   r   r   r   rx   r   ru   rv   r   rs   rL   rt   rw   ry   rz   r{   r|   r   r}   r   r   r~   r   r   r   )r    r!   r   r   r   r   r   src2src4kind1kind2kind4r   r   r   r   r   r   r   rw   r   r   r   s                          r*   unicode_to_unicode_charseqr      s!   1g))&1'7#NG??7<<A)A)A)CDD??7<<B)B)B)DED??7<<B)B)B)DED!!$"$++gll.?.?"CEE!!$"$++gll.?.?"CEE!!$"$++gll.?.?"CEEJ

 
 
&Czz!001H!!'3/G
//'8#6#6#8
9CZ__djj9J,,S*jINN+ZDE	)	*w{{:??#'::0B#BDEF	H 
+ 
	w.$[[

|4F\\',,v"6AFMM&'++cDJJ<"@A / 
  
	"""7E2d TDJJ<8 gll6&:HEfgkk#

|&DE 32
 --&*D24 
  
	"""7E2d TDJJ<8 gll6&:HEfgkk#

|&DE 32
 --&*D24 
  <<  I 
+	* /. 
 	 32 
 	 32 
 	s|   5AT2U-A,T?U: U&A,U7U& U?6A,U3"7U?2T<?U		UUU#	U&&U03U<	8U??Vc                     d t        |t        j                        r@t        | t        j                        rt        t        | t        j
                        rt        | j                  ddz
  z  fd}|S y )Nzindex out of range [0, %s]r   c                 @    |k  r|dk\  r	 | |      S t              r   )rG   )r   rC   	get_valuemax_imsgs     r*   getitem_implz%charseq_getitem.<locals>.getitem_implU  s&    5yQ!V A&S/!r,   )rV   r   IntegerrW   rJ   rY   rn   rw   )r   rC   r   r   r   r   s      @@@r*   charseq_getitemr   I  sm    I!U]]#a')Ia--.1I*eai8	"  r,   c                     t        | t        j                  t        j                  f      r)t	        |       | j
                  dk(  rd }|S fd}|S y )Nr   c                      yr   r-   r   s    r*   len_implzcharseq_len.<locals>.len_implb  s    r,   c                 ^    }d}|dk(  r|dz
  }|dk  r	 |dz   S  | |      }|dk(  r|dz   S )Nr   r   r-   )r   rC   rI   get_codens      r*   r   zcharseq_len.<locals>.len_implf  sS     aiAA1u1u $Aq>D	 ai
 1ur,   )rV   r   rW   rY   r\   rw   )r   r   r   r   s     @@r*   charseq_lenr   \  sQ    !emmU%9%9:;!!$GG6O
 O' <r,   c                 (   t        | |      sy t        | t        j                        rt        |t        j                        rd }|S t        |t        j                        rt        | t        j                        rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                  t        j                  f      r0t        |t        j
                  t        j                  f      rd }|S y y )Nc                     t        |       |z   S rU   strrB   r^   s     r*   implzcharseq_concat.<locals>.impl{      q6A:r,   c                     | t        |      z   S rU   r   r   s     r*   r   zcharseq_concat.<locals>.impl      s1v:r,   c                 0    t        |       t        |      z   S rU   r   r   s     r*   r   zcharseq_concat.<locals>.impl  s    q6CF?"r,   c                 `    | j                         |j                         z   j                         S rU   _to_str	_to_bytesr   s     r*   r   zcharseq_concat.<locals>.impl  s"    IIK!))+-88::r,   )r`   rV   r   rY   rZ   rW   rX   rB   r^   r   s      r*   charseq_concatr   t  s     a1e**+q%++,	1e**+q%++,	1e**+q%../	#1u}}ekk23q5==%++67	; 8 	4r,   c                 <   t        | t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S t        |t        j                  t        j                  f      rd }|S y )Nc                     t        |       |z  S rU   r   r   s     r*   wrapzcharseq_repeat.<locals>.wrap  r   r,   c                     | t        |      z  S rU   r   r   s     r*   r   zcharseq_repeat.<locals>.wrap  r   r,   c                 D    | j                         |z  j                         S rU   r   r   s     r*   r   zcharseq_repeat.<locals>.wrap  s    IIK!O..00r,   c                 D    | |j                         z  j                         S rU   r   r   s     r*   r   zcharseq_repeat.<locals>.wrap  s    		O..00r,   rV   r   rY   rW   rX   )rB   r^   r   s      r*   charseq_repeatr     s}    !U))*	!U))*	!emmU[[12	1!emmU[[12	1 3r,   c                     t        | t        j                  t        j                  t        j                  f      rd }|S y )Nc                     t        |       dk(  S r   )lenr[   s    r*   r   zcharseq_not.<locals>.impl  s    q6Q;r,   r   )rB   r   s     r*   charseq_notr     s1    !e**EMM5;;GH	 Ir,   c                 h    t        | |      sy t        |       t        |      fd}|S y y )Nc                     t        |       }|t        |      k7  ryt        |      D ]  } | |       ||      k7  s y y)NFT)r   range)rB   r^   r   rC   	left_code
right_codes       r*   eq_implzcharseq_eq.<locals>.eq_impl  sE    AACF{1XQ?jA&66   r,   r`   r\   )rB   r^   r   r   r   s      @@r*   
charseq_eqr     sC    aq!I"J!7	  "8r,   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |k(   S rU   r-   r   s     r*   ne_implzcharseq_ne.<locals>.ne_impl  s    Q<r,   r   )rB   r^   r   r   r   s        r*   
charseq_ner     s@    aq!I"J!7	  "8r,   c                 h    t        | |      sy t        |       t        |      fd}|S y y )Nc                     t        |       }t        |      }t        ||      }t        |      D ]   } | |       	||      }}||k7  s||k  c S  ||k  S rU   )r   minr   )
rB   r^   nanbr   rC   cacbr   r   s
           r*   lt_implzcharseq_lt.<locals>.lt_impl  s_    QBQBBA1X"1a*Q*:B87N  7Nr,   r   )rB   r^   r   r   r   s      @@r*   
charseq_ltr     sC    aq!I"J!7	  "8r,   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     || k  S rU   r-   r   s     r*   gt_implzcharseq_gt.<locals>.gt_impl  s    q5Lr,   r   )rB   r^   r   r   r   s        r*   
charseq_gtr     s@    aq!I"J!7	 "8r,   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |kD   S rU   r-   r   s     r*   le_implzcharseq_le.<locals>.le_impl      A;r,   r   )rB   r^   r   r   r  s        r*   
charseq_ler    @    aq!I"J!7	 "8r,   c                 ^    t        | |      sy t        |       }t        |      }||d }|S y y )Nc                     | |k   S rU   r-   r   s     r*   ge_implzcharseq_ge.<locals>.ge_impl  r  r,   r   )rB   r^   r   r   r  s        r*   
charseq_ger	    r  r,   c                 ~    t        | |      sy t        |       }t        |      }||t        |       rd }|S d }|S y y )Nc                 B    |j                         | j                         v S rU   )r   r   s     r*   contains_implz'charseq_contains.<locals>.contains_impl  s    
 yy{aiik11r,   c                 .    t        |      t        |       v S rU   r   r   s     r*   r  z'charseq_contains.<locals>.contains_impl  s    1vQ''r,   )r`   r\   rb   )rB   r^   r   r   r  s        r*   charseq_containsr     sU    aq!I"J!7Q<2 ( "8r,   isasciic                 (    t        |       fd}|S )Nc                 T    t        t        |             D ]  } | |      dkD  s y y)N   FT)r   r   )r   rC   r   s     r*   r   zcharseq_isascii.<locals>.impl  s+    s1vA1~#  r,   r\   r   r   r   s     @r*   charseq_isasciir    s     a H
 Kr,   	_get_kindc                 (    t        |       fd}|S )Nc                     d}t        t        |             D ]  } | |      }||kD  s|} |dkD  rt        j                  S |dkD  rt        j                  S t        j
                  S )Nr   i     )r   r   r   PY_UNICODE_4BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_1BYTE_KIND)r   max_coderC   rI   r   s       r*   r   zcharseq_get_kind.<locals>.impl'  sf    s1vAAq>Dh  f000d?000,,,r,   r  r  s     @r*   charseq_get_kindr  "  s     a H
- Kr,   r   c                     d }|S )zConvert unicode_type object to Bytes object.

    Note: The usage of _to_bytes method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.

    c                     t        |       S rU   )r   r   s    r*   r   z"unicode_to_bytes_mth.<locals>.impl=  s     ##r,   r-   r   r   s     r*   unicode_to_bytes_mthr"  5  s    $Kr,   r   c                 (    t        |       fd}|S )zConvert bytes array item or bytes instance to UTF-8 str.

    Note: The usage of _to_str method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.
    c                     t        |       }| j                         }t        j                  t        j                  ||      }t        |      D ]"  } | |      }t        j                  |||       $ |S rU   )r   r  r   _empty_stringr  r   _set_code_point)r   r   is_asciiresultrC   rI   r   s         r*   
tostr_implz&charseq_to_str_mth.<locals>.tostr_implL  sf    F99;&&))1h8qAAq>D##FAt4  r,   r  )r   r)  r   s     @r*   charseq_to_str_mthr*  B  s     a H r,   __str__c                 (    t        |       fd}|S )Nc                     t        |       }| j                         }|dk(  xr | j                         }t        j                  |||      }t        |      D ]"  } | |      }t        j                  |||       $ |S r   )r   r  r  r   r%  r   r&  )r   r   r   r'  r(  rC   rI   r   s          r*   str_implzcharseq_str.<locals>.str_impl\  sq    F{{}19,&&tQ9qAAq>D##FAt4  r,   r  )r   r.  r   s     @r*   charseq_strr/  X  s    a H Or,   c                 >    t        | t        j                        rd S y )Nc                     | S rU   r-   r   s    r*   <lambda>zcharseq_bytes.<locals>.<lambda>l  s    r,   )rV   r   rW   r   s    r*   charseq_bytesr3  i  s    !U]]# $r,   __hash__c                     d }|S )Nc                 *    t        t        |             S rU   )hashr   r   s    r*   r   z"unicode_charseq_hash.<locals>.implq  s    CF|r,   r-   r!  s     r*   unicode_charseq_hashr8  o  s    Kr,   c                     d }|S )Nc                 4    t        | j                               S rU   )r7  r   r   s    r*   r   zcharseq_hash.<locals>.implx  s     AIIK  r,   r-   r!  s     r*   charseq_hashr;  v  s    ! Kr,   isupperc                     d }|S )Nc                 8    t        |       j                           S rU   )r   r<  r   s    r*   r   z%unicode_charseq_isupper.<locals>.impl  s    1v~~''''r,   r-   r!  s     r*   unicode_charseq_isupperr?    s    ( Kr,   c                     d }|S )Nc                 B    | j                         j                           S rU   )r   r<  r   s    r*   r   zcharseq_isupper.<locals>.impl  s    yy{**,,,,r,   r-   r!  s     r*   charseq_isupperrB    s    - Kr,   upperc                     d }|S )Nc                 4    t        |       j                         S rU   )r   rC  r   s    r*   r   z#unicode_charseq_upper.<locals>.impl  s    1v||~r,   r-   r!  s     r*   unicode_charseq_upperrF    s    Kr,   c                     d }|S )Nc                 Z    | j                         j                         j                         S rU   )r   rC  r   r   s    r*   r   zcharseq_upper.<locals>.impl  s     yy{  ",,..r,   r-   r!  s     r*   charseq_upperrI    s    / Kr,   findc                 ,   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                        r/t        |t        j                  t        j
                  f      rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                        r t        |t        j                        rd }|S y y )Nc                 H    t        |       j                  t        |            S rU   r   rJ  r   s     r*   r   z"unicode_charseq_find.<locals>.impl  s    1v{{3q6**r,   c                 6    t        |       j                  |      S rU   rM  r   s     r*   r   z"unicode_charseq_find.<locals>.impl  s    1v{{1~%r,   c                 \    | j                         j                  |j                               S rU   r   rJ  r   s     r*   r   z"unicode_charseq_find.<locals>.impl      yy{''		44r,   c                 6    | j                  t        |            S rU   )rJ  r   r   s     r*   r   z"unicode_charseq_find.<locals>.impl  s    vvc!f~%r,   c                 \    | j                         j                  |j                               S rU   rP  r   s     r*   r   z"unicode_charseq_find.<locals>.impl  rQ  r,   rV   r   rY   rZ   rW   rX   r   s      r*   unicode_charseq_findrU    s     !U))*a--.+Ka**+&K!U]]#a%--565K!U&&'a--.&K!U[[!a'5K ( "r,   rfindc                 ,   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                        r/t        |t        j                  t        j
                  f      rd }|S t        | t        j                        rt        |t        j                        rd }|S t        | t        j
                        r t        |t        j                        rd }|S y y )Nc                 H    t        |       j                  t        |            S rU   r   rV  r   s     r*   r   z#unicode_charseq_rfind.<locals>.impl  s    1v||CF++r,   c                 6    t        |       j                  |      S rU   rY  r   s     r*   r   z#unicode_charseq_rfind.<locals>.impl  s    1v||A&r,   c                 \    | j                         j                  |j                               S rU   r   rV  r   s     r*   r   z#unicode_charseq_rfind.<locals>.impl      yy{((55r,   c                 6    | j                  t        |            S rU   )rV  r   r   s     r*   r   z#unicode_charseq_rfind.<locals>.impl  s    wws1v&r,   c                 \    | j                         j                  |j                               S rU   r\  r   s     r*   r   z#unicode_charseq_rfind.<locals>.impl  r]  r,   rT  r   s      r*   unicode_charseq_rfindr`    s     !U))*a--.,Ka**+'K!U]]#a%--566K!U&&'a--.'K!U[[!a'6K ( "r,   
startswithc                 h   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j
                  f      r0t        |t        j                  t        j
                  f      rd }|S y y )Nc                 H    t        |       j                  t        |            S rU   r   ra  r   s     r*   r   z(unicode_charseq_startswith.<locals>.impl  s    1v((Q00r,   c                 6    t        |       j                  |      S rU   rd  r   s     r*   r   z(unicode_charseq_startswith.<locals>.impl  s    1v((++r,   c                 \    | j                         j                  |j                               S rU   )r   ra  r   s     r*   r   z(unicode_charseq_startswith.<locals>.impl  s    yy{--aiik::r,   rT  r   s      r*   unicode_charseq_startswithrg    s     !U))*a--.1Ka**+,K!emmU[[12a%--56;K 7 3r,   endswithc                 h   t        | t        j                        r>t        |t        j                        rd }|S t        |t        j                        rd }|S t        | t        j                  t        j
                  f      r0t        |t        j                  t        j
                  f      rd }|S y y )Nc                 H    t        |       j                  t        |            S rU   r   rh  r   s     r*   r   z&unicode_charseq_endswith.<locals>.impl  s    1vs1v..r,   c                 6    t        |       j                  |      S rU   rk  r   s     r*   r   z&unicode_charseq_endswith.<locals>.impl  s    1vq))r,   c                 \    | j                         j                  |j                               S rU   )r   rh  r   s     r*   r   z&unicode_charseq_endswith.<locals>.impl   s    yy{++AIIK88r,   rT  r   s      r*   unicode_charseq_endswithrn    s     !U))*a--./Ka**+*K!emmU[[12a%--569K 7 3r,   c                 H    | D cg c]  }|j                          c}S c c}w rU   )r   )seqr   s     r*   
_map_bytesrq    s     #&'3aAKKM3'''s   splitc                 x   |dk(  s:t        |t        j                  t        j                  t        j                  f      sy t        | t        j
                        rct        |t        j
                        rd	d}|S t        |t        j                        rd	d}|S t        |      rt        |d      rd	d}|S d	d}|S t        | t        j                  t        j                  f      rTt        |t        j                  t        j                  f      rd	d}|S t        |      rt        |d      rd	d}|S d	d}|S y y )
Nc                 L    t        |       j                  t        |      |      S N)sepmaxsplitr   rr  rB   rw  rx  s      r*   r   z#unicode_charseq_split.<locals>.impl  s    1v||C8|DDr,   c                 :    t        |       j                  ||      S rv  ry  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl  s    1v||h|??r,   c                 4    t        |       j                         S rU   ry  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl  s    q6<<>)r,   c                 8    t        |       j                  |      S N)rx  ry  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl   s    q6<<<::r,   c                 r    t        | j                         j                  |j                         |            S r~  rq  r   rr  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl%  s5    !!))+"3"3CKKM=E #4 #G H Hr,   c                 P    t        | j                         j                               S rU   r  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl+  s    %aiik&7&7&9::r,   c                 T    t        | j                         j                  |            S r~  r  rz  s      r*   r   z#unicode_charseq_split.<locals>.impl.  s!    %aiik&7&7&7&JKKr,   Nrt  )rV   r   rd   r   IntegerLiteralrY   rZ   r   rg   rW   rX   )rB   rw  rx  r   s       r*   unicode_charseq_splitr  
  s    Nx%--"'"6"6"8 9!U))*c5//0EKc5,,-@Ks(B'*
 K;K!emmU[[12cEMM5;;78H Ks(B';
 KLK  3r,   ljustc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	N c                 6    t        |       j                  |      S rU   r   r  rB   widthfillchars      r*   r   z#unicode_charseq_ljust.<locals>.impl;      1v||E**r,   c                 J    t        |       j                  |t        |            S rU   r  r  s      r*   r   z#unicode_charseq_ljust.<locals>.impl?      1v||E3x=99r,   c                 8    t        |       j                  ||      S rU   r  r  s      r*   r   z#unicode_charseq_ljust.<locals>.implC      1v||E844r,       c                 \    | j                         j                  |      j                         S rU   r   r  r   r  s      r*   r   z#unicode_charseq_ljust.<locals>.implH  "    yy{((/99;;r,   c                 z    | j                         j                  ||j                               j                         S rU   r  r  s      r*   r   z#unicode_charseq_ljust.<locals>.implL  -    yy{((0@0@0BCMMOOr,   r  rV   r   rY   rg   rZ   rW   rX   rB   r  r  r   s       r*   unicode_charseq_ljustr  5       !U))*h$+K%"6"67:K%"3"345K!emmU[[12h$
8T(B<K5==%++">?PK @ 3r,   rjustc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	Nr  c                 6    t        |       j                  |      S rU   r   r  r  s      r*   r   z#unicode_charseq_rjust.<locals>.implW  r  r,   c                 J    t        |       j                  |t        |            S rU   r  r  s      r*   r   z#unicode_charseq_rjust.<locals>.impl[  r  r,   c                 8    t        |       j                  ||      S rU   r  r  s      r*   r   z#unicode_charseq_rjust.<locals>.impl_  r  r,   r  c                 \    | j                         j                  |      j                         S rU   r   r  r   r  s      r*   r   z#unicode_charseq_rjust.<locals>.impld  r  r,   c                 z    | j                         j                  ||j                               j                         S rU   r  r  s      r*   r   z#unicode_charseq_rjust.<locals>.implh  r  r,   r  r  r  s       r*   unicode_charseq_rjustr  Q  r  r,   centerc                    t        | t        j                        rRt        |d      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rOt        |d      st        |d      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )	Nr  c                 6    t        |       j                  |      S rU   r   r  r  s      r*   r   z$unicode_charseq_center.<locals>.impls      1v}}U++r,   c                 J    t        |       j                  |t        |            S rU   r  r  s      r*   r   z$unicode_charseq_center.<locals>.implw  s    1v}}UCM::r,   c                 8    t        |       j                  ||      S rU   r  r  s      r*   r   z$unicode_charseq_center.<locals>.impl{  s    1v}}UH55r,   r  c                 \    | j                         j                  |      j                         S rU   r   r  r   r  s      r*   r   z$unicode_charseq_center.<locals>.impl  s"    yy{))%0::<<r,   c                 z    | j                         j                  ||j                               j                         S rU   r  r  s      r*   r   z$unicode_charseq_center.<locals>.impl  s-    yy{))%1A1A1CDNNPPr,   r  r  r  s       r*   unicode_charseq_centerr  m  s     !U))*h$,K%"6"67;K%"3"346K!emmU[[12h$
8T(B=K5==%++">?QK @ 3r,   zfillc                     t        | t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S y )Nc                 6    t        |       j                  |      S rU   )r   r  rB   r  s     r*   r   z#unicode_charseq_zfill.<locals>.impl  s    q6<<&&r,   c                 \    | j                         j                  |      j                         S rU   )r   r  r   r  s     r*   r   z#unicode_charseq_zfill.<locals>.impl  s"    99;$$U+5577r,   r   )rB   r  r   s      r*   unicode_charseq_zfillr    sD     !U))*	'!emmU[[12	8 3r,   lstripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rU   r   r  rB   charss     r*   r   z$unicode_charseq_lstrip.<locals>.impl      1v}}&r,   c                 H    t        |       j                  t        |            S rU   r  r  s     r*   r   z$unicode_charseq_lstrip.<locals>.impl      1v}}SZ00r,   c                 6    t        |       j                  |      S rU   r  r  s     r*   r   z$unicode_charseq_lstrip.<locals>.impl  r  r,   c                 Z    | j                         j                         j                         S rU   r   r  r   r  s     r*   r   z$unicode_charseq_lstrip.<locals>.impl       yy{))+5577r,   c                 x    | j                         j                  |j                               j                         S rU   r  r  s     r*   r   z$unicode_charseq_lstrip.<locals>.impl  (    yy{))%--/:DDFFr,   rU   rV   r   rY   r   rZ   rW   rX   rB   r  r   s      r*   unicode_charseq_lstripr         !U))*u'Ku3341Ku001,K!emmU[[12u8Ku{{;<GK = 3r,   rstripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rU   r   r  r  s     r*   r   z$unicode_charseq_rstrip.<locals>.impl  r  r,   c                 H    t        |       j                  t        |            S rU   r  r  s     r*   r   z$unicode_charseq_rstrip.<locals>.impl  r  r,   c                 6    t        |       j                  |      S rU   r  r  s     r*   r   z$unicode_charseq_rstrip.<locals>.impl  r  r,   c                 Z    | j                         j                         j                         S rU   r   r  r   r  s     r*   r   z$unicode_charseq_rstrip.<locals>.impl  r  r,   c                 x    | j                         j                  |j                               j                         S rU   r  r  s     r*   r   z$unicode_charseq_rstrip.<locals>.impl  r  r,   rU   r  r  s      r*   unicode_charseq_rstripr    r  r,   stripc                    t        | t        j                        rQt        |      rdd}|S t        |t        j                        rdd}|S t        |t        j                        rdd}|S t        | t        j
                  t        j                  f      rBt        |      rdd}|S t        |t        j
                  t        j                  f      rdd}|S y y )Nc                 4    t        |       j                         S rU   r   r  r  s     r*   r   z#unicode_charseq_strip.<locals>.impl  s    1v||~%r,   c                 H    t        |       j                  t        |            S rU   r  r  s     r*   r   z#unicode_charseq_strip.<locals>.impl  s    1v||CJ//r,   c                 6    t        |       j                  |      S rU   r  r  s     r*   r   z#unicode_charseq_strip.<locals>.impl  r  r,   c                 Z    | j                         j                         j                         S rU   r   r  r   r  s     r*   r   z#unicode_charseq_strip.<locals>.impl  s     yy{((*4466r,   c                 x    | j                         j                  |j                               j                         S rU   r  r  s     r*   r   z#unicode_charseq_strip.<locals>.impl  s(    yy{((9CCEEr,   rU   r  r  s      r*   unicode_charseq_stripr    s     !U))*u&Ku3340Ku001+K!emmU[[12u7Ku{{;<FK = 3r,   joinc                     t        | t        j                        rd }|S t        | t        j                  t        j                  f      rd }|S y )Nc                 p    |D cg c]  }t        |       }}t        |       j                  |      S c c}w rU   )r   r  rB   partsp_partss       r*   r   z"unicode_charseq_join.<locals>.impl  s2    &+,ec!feF,q6;;v&& -s   3c                     |D cg c]  }|j                          }}| j                         j                  |      j                         S c c}w rU   )r   r  r   r  s       r*   r   z"unicode_charseq_join.<locals>.impl  sA    +015aaiik5F199;##F+5577 2s   Ar   )rB   r  r   s      r*   unicode_charseq_joinr    sH    
 !U))*	' !emmU[[12	8  3r,   r  r  rU   )m__doc__operatornumpyri   llvmliter   
numba.corer   r   numba.core.extendingr   r   r   r	   r
   numba.core.cgutilsr   numba.cpythonr   dtypes1_dtyper   rX   uint8r   rm   rL   uint16r2   rk   r  r  r  unicode_kindr.   r8   r;   r>   rD   rJ   rN   rQ   rS   r\   r`   rb   rg   rn   rW   r   r   r   rZ   r   r   rY   r   getitemr   r   r   addiaddr   mulr   not_r   eqr   ner   ltr   gtr   ler  ger	  containsr  r  r  r"  r*  r/  bytesr3  r8  r;  r?  rB  rF  rI  rU  r`  rg  rn  rq  r  r  r  r  r  r  r  r  r  r-   r,   r*   <module>r     s3	   C    %@ @ * ! 288D>A U[[at<
 288D>&& 88		bii89KL00000022DF & &
 ' '
 ' '
 u    uM M ) )   78 	; 	;8 EKK'! (!4$ EMM5;;' ( Eu{{+ ,"   Eu3349! 59!X 
(

 $ 
# . 
(,,	(--  2 
(,, & 
(--  
(++ " 
(++  
(++ $ 
(++  
(++  
(++  
(

 & %%y1	*i( ) + 2 %%{3, - 4" ""K0	 1	 	*i( ) +( %%y1 2  
% 
 %%z2 3 
+ , %%y1 2 	* + %%w/ 0 ( ) %%v.'f% & ( /6 %%w/(g& ' ) 06 %%|4-l+ , . 5" %%z2
+j) * , 3" ( ( %%w/(g&# ' ) 0#P %%w/(g& ' ) 02 %%w/(g& ' ) 02 %%x0)h' ( * 12 %%w/(g& ' ) 0 %%x0)h' ( * 12 %%x0)h' ( * 12 %%w/(g& ' ) 02 %%v.'f% & ( /r,   