§
    ƒÛg;Z ã                   óÖ  — d dl Z d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZmZ d dlmZm Z  d dl!m"Z"m#Z#m$Z$m%Z% d d	l&m'Z' d d
l(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO d dlPmQZQ dZRejS        jT        ZU eejV        ¦  «         G d„ de
j        ¦  «        ¦   «         ZW eejV        dd¦  «          eejV        dd¦  «          eejV        dd¦  «          eejV        dd¦  «          eejV        dd¦  «          eejX        ¦  «         G d„ de¦  «        ¦   «         ZYd„ ZZd„ Z[ eej\        ej]        ¦  «        d „ ¦   «         Z^ eej]        ¦  «        d!„ ¦   «         Z_ eejV        ¦  «        d"„ ¦   «         Z` eejV        ¦  «        d#„ ¦   «         Zad$„ Zbed%„ ¦   «         Zced&„ ¦   «         Zded'„ ¦   «         Zeed(„ ¦   «         ZfedÈd)„¦   «         Zg ed*¬+¦  «        d,„ ¦   «         Zhd-„ Zied.„ ¦   «         Zjed/„ ¦   «         Zked0„ ¦   «         Zl ed*¬+¦  «        d1„ ¦   «         Zmed2„ ¦   «         Zned3„ ¦   «         Zoed4„ ¦   «         Zp ed*¬+¦  «        d5„ ¦   «         Zqed6„ ¦   «         Zred7„ ¦   «         Zs eet¦  «        d8„ ¦   «         Zu eejv        ¦  «        d9„ ¦   «         Zw eejx        ¦  «        d:„ ¦   «         Zy eejz        ¦  «        d;„ ¦   «         Z{ eej|        ¦  «        d<„ ¦   «         Z} eej~        ¦  «        d=„ ¦   «         Z eej€        ¦  «        d>„ ¦   «         Z� eej‚        ¦  «        d?„ ¦   «         Zƒd@„ Z„dA„ Z…edB„ ¦   «         Z†edC„ ¦   «         Z‡edD„ ¦   «         ZˆedE„ ¦   «         Z‰dF„ ZŠ e eŠeˆ¦  «        ¦  «        Z‹ e eŠe‰¦  «        ¦  «        ZŒ eejV        dG¦  «        dÉdH„¦   «         Z� eejV        dI¦  «        dÉdJ„¦   «         ZŽ eejV        dK¦  «        dÉdL„¦   «         Z� eejV        dM¦  «        dÉdN„¦   «         Z� eejV        dO¦  «        dP„ ¦   «         Z‘ eejV        dQ¦  «        dÉdR„¦   «         Z’ eejV        dS¦  «        dT„ ¦   «         Z“edU„ ¦   «         Z” eejV        dV¦  «        dÉdW„¦   «         Z• eejV        dX¦  «        dÉdY„¦   «         Z– eejV        dZ¦  «        dÊd\„¦   «         Z— eejV        d]¦  «        dËd_„¦   «         Z˜d`„ Z™ e e™e8¦  «        ¦  «        Zš e e™e9¦  «        ¦  «        Z› eejV        da¦  «        dËdb„¦   «         Zœ eejV        dc¦  «        dÌde„¦   «         Z�df„ Zž  eejV        dg¦  «         ežd*¦  «        ¦  «           eejV        dh¦  «         eždi¦  «        ¦  «         dj„ ZŸ e eŸeA¦  «        ¦  «        Z  e eŸe@¦  «        ¦  «        Z¡ eejV        dk¦  «        dÍdl„¦   «         Z¢edm„ ¦   «         Z£ eejV        dn¦  «        do„ ¦   «         Z¤ eejV        dp¦  «        dq„ ¦   «         Z¥edr„ ¦   «         Z¦eds„ ¦   «         Z§dt„ Z¨du„ Z© eejV        dv¦  «        dÎdw„¦   «         Zª eejV        dx¦  «        dÎdy„¦   «         Z« eejV        dz¦  «        dÎd{„¦   «         Z¬edÏd|„¦   «         Z­ed}„ ¦   «         Z®ed~„ ¦   «         Z¯ed„ ¦   «         Z° ed*¬+¦  «        d€„ ¦   «         Z±ed�„ ¦   «         Z² eej³        ¦  «        d‚„ ¦   «         Z´ eejµ        ¦  «         eej¶        ¦  «        dƒ„ ¦   «         ¦   «         Z·ed„„ ¦   «         Z¸ eej¹        ¦  «        d…„ ¦   «         Zº eej»        ¦  «        d†„ ¦   «         Z¼ eejV        d‡¦  «        dÐdˆ„¦   «         Z½d‰„ Z¾  eejV        dŠ¦  «         e¾eMeK¦  «        ¦  «          ed‹„ ¦  «        Z¿  eejV        dŒ¦  «         e¾e2e¿¦  «        ¦  «         d�„ ZÀ edŽ„ ¦  «        ZÁ e eÀeEeFeÁ¦  «        ¦  «        ZÂ e eÀe?e>eD¦  «        ¦  «        ZÃ eejV        d�¦  «        d�„ ¦   «         ZÄ eejV        d‘¦  «        d’„ ¦   «         ZÅ eejV        d“¦  «        d”„ ¦   «         ZÆ eejV        d•¦  «        d–„ ¦   «         ZÇ eejV        d—¦  «        d˜„ ¦   «         ZÈdÏd™„ZÉ  eejV        dš¦  «         eÉe8¦  «        ¦  «           eejV        d›¦  «         eÉeL¦  «        ¦  «           eejV        dœ¦  «         eÉeN¦  «        ¦  «           eejV        d�¦  «         eÉeO¦  «        ¦  «           eejV        dž¦  «         eÉe7d*¦  «        ¦  «         dŸ„ ZÊed „ ¦   «         ZËed¡„ ¦   «         ZÌd¢„ ZÍ e eÍd*¦  «        ¦  «        ZÎ e eÍdi¦  «        ¦  «        ZÏd£„ ZÐ e eÐe/¦  «        ¦  «        ZÑ e eÐe0¦  «        ¦  «        ZÒ eejV        d¤¦  «        d¥„ ¦   «         ZÓ eejV        d¦¦  «        d§„ ¦   «         ZÔed¨„ ¦   «         ZÕed©„ ¦   «         ZÖ eejV        dª¦  «        d«„ ¦   «         Z×ed¬„ ¦   «         ZØed­„ ¦   «         ZÙ eejV        d®¦  «        d¯„ ¦   «         ZÚed°„ ¦   «         ZÛed±„ ¦   «         ZÜ eejV        d²¦  «        d³„ ¦   «         ZÝed´„ ¦   «         ZÞedµ„ ¦   «         Zß eejV        d¶¦  «        d·„ ¦   «         Zà eeá¦  «        d¸„ ¦   «         Zâed¹„ ¦   «         ZãdºeRz  Zäed»„ ¦   «         Zå eeæ¦  «        d¼„ ¦   «         Zç eejV        d½¦  «        d¾„ ¦   «         Zè eejV        d¿¦  «        dÀ„ ¦   «         Zé eejê        d½¦  «        dÁ„ ¦   «         Zë eejê        d¿¦  «        dÂ„ ¦   «         Zì eejí        d¿¦  «         eejí        d½¦  «        dÃ„ ¦   «         ¦   «         Zî edÄejV        ¦  «        dÅ„ ¦   «         Zï edÆejX        ¦  «         eejð        ¦  «        dÇ„ ¦   «         ¦   «         ZñdS )Ñé    N)ÚIntTypeÚConstant)Úis_nonelike)
ÚmodelsÚregister_modelÚmake_attribute_wrapperÚunboxÚboxÚNativeValueÚoverloadÚoverload_methodÚ	intrinsicÚregister_jitable)Úlower_constantÚ
lower_castÚlower_builtinÚiternext_implÚimpl_ret_new_refÚRefType)Úregister_defaultÚStructModel)ÚtypesÚcgutils)ÚPY_UNICODE_1BYTE_KINDÚPY_UNICODE_2BYTE_KINDÚPY_UNICODE_4BYTE_KINDÚPY_UNICODE_WCHAR_KIND)Ú	c_helpers)Ú
_Py_hash_t)Úmemcpy_region)ÚTypingError)!Ú_Py_TOUPPERÚ_Py_TOLOWERÚ_Py_UCS4Ú_Py_ISALNUMÚ_PyUnicode_ToUpperFullÚ_PyUnicode_ToLowerFullÚ_PyUnicode_ToFoldedFullÚ_PyUnicode_ToTitleFullÚ_PyUnicode_IsPrintableÚ_PyUnicode_IsSpaceÚ_Py_ISSPACEÚ_PyUnicode_IsXidStartÚ_PyUnicode_IsXidContinueÚ_PyUnicode_IsCasedÚ_PyUnicode_IsCaseIgnorableÚ_PyUnicode_IsUppercaseÚ_PyUnicode_IsLowercaseÚ_PyUnicode_IsLineBreakÚ_Py_ISLINEBREAKÚ_Py_ISLINEFEEDÚ_Py_ISCARRIAGERETURNÚ_PyUnicode_IsTitlecaseÚ_Py_ISLOWERÚ_Py_ISUPPERÚ_Py_TABÚ_Py_LINEFEEDÚ_Py_CARRIAGE_RETURNÚ	_Py_SPACEÚ_PyUnicode_IsAlphaÚ_PyUnicode_IsNumericÚ_Py_ISALPHAÚ_PyUnicode_IsDigitÚ_PyUnicode_IsDecimalDigit)Úslicingéÿÿ c                   ó   — e Zd Zd„ ZdS )ÚUnicodeModelc           	      ó  — dt           j        fdt           j        fdt           j        fdt           j        fdt
          fdt          j        t           j        ¦  «        fdt           j        fg}t          j	         
                    | |||¦  «         d S )NÚdataÚlengthÚkindÚis_asciiÚhashÚmeminfoÚparent)r   ÚvoidptrÚintpÚint32Úuint32r   ÚMemInfoPointerÚpyobjectr   r   Ú__init__)ÚselfÚdmmÚfe_typeÚmemberss       úK/granary/edev/quantum/lib/python3.11/site-packages/numba/cpython/unicode.pyrU   zUnicodeModel.__init__O   s}   € à•U”]Ð#Ø•u”zÐ"Ø•U”[Ð!Ø�œÐ&Ø•ZÐ Ø�Ô,­U¬]Ñ;Ô;Ð<à•u”~Ð&ð	
ˆõ 	Ô×#Ò# D¨#¨w¸Ñ@Ô@Ð@Ð@Ð@ó    N)Ú__name__Ú
__module__Ú__qualname__rU   © r[   rZ   rF   rF   M   s(   € € € € € ðAð Að Að Að Ar[   rF   rH   Ú_datarI   Ú_lengthrJ   Ú_kindrK   Ú	_is_asciirL   Ú_hashc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚUnicodeIteratorModelc                 ó®   •— dt          j        t           j        ¦  «        fd|j        fg}t	          t
          | ¦  «                             |||¦  «         d S )NÚindexrH   )r   ÚEphemeralPointerÚuintprH   Úsuperrf   rU   )rV   rW   rX   rY   Ú	__class__s       €rZ   rU   zUnicodeIteratorModel.__init__f   sR   ø€ Ø�UÔ3µE´KÑ@Ô@ÐAØ˜GœLÐ)ð+ˆåÕ" DÑ)Ô)×2Ò2°3¸ÀÑIÔIÐIÐIÐIr[   )r\   r]   r^   rU   Ú__classcell__)rl   s   @rZ   rf   rf   d   sA   ø€ € € € € ðJð Jð Jð Jð Jð Jð Jð Jð Jr[   rf   c           
      óT  — ddl m}m}m}m}m}m}m}m}m	}	 t          d         }
 ||| ||¦  «         ||¦  «         ||¦  «         ||¦  «        ¦  «        } ||
¦  «        } |¦   «         } |¦   «         } |¦   «         } |¦   «         } ||  |	|¦  «         |	|¦  «         |	|¦  «         |	|¦  «        ¦  «        }|€t          d¦  «        ‚|j        }|j        }|j        }|dz   t          |¦  «        z  }||z                       |¦  «        }t          |¦  «        ||||j        fS )ztGet string data from a python string for use at compile-time to embed
    the string data into the LLVM module.
    r   )	Ú	CFUNCTYPEÚc_void_pÚc_intÚc_uintÚ	c_ssize_tÚc_ubyteÚ	py_objectÚPOINTERÚbyrefÚextract_unicodeNz1cannot extract unicode data from the given stringé   )Úctypesro   rp   rq   rr   rs   rt   ru   rv   rw   r   Ú
ValueErrorÚvalueÚ_kind_to_byte_widthÚfrom_addressÚbytes)Úobjro   rp   rq   rr   rs   rt   ru   rv   rw   Úextract_unicode_fnÚprotoÚfnrI   rJ   rK   ÚhashvrH   ÚnbytesÚouts                       rZ   Úcompile_time_get_string_datar‡   n   s¤  € ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð õ
 #Ð#4Ô5ÐØˆI�h 	¨7¨7°9Ñ+=Ô+=¸w¸wÀu¹~¼~Ø�g˜f‘o”o w w¨yÑ'9Ô'9ñ;ô ;€Eà	ˆÐ!Ñ	"Ô	"€BØˆY‰[Œ[€FØˆ5‰7Œ7€DØˆv‰xŒx€HØˆI‰KŒK€EØˆ2ˆc�5�5˜‘=”= % %¨¡+¤+¨u¨u°X©¬ÀÀÀeÁÄÑMÔM€DØ€|ÝÐLÑMÔMÐMØŒ\€FØŒ:€DØŒ~€HØ�q‰jÕ/°Ñ5Ô5Ñ5€FØ�VÑ×
)Ò
)¨$Ñ
/Ô
/€CÝ�‰:Œ:�v˜t X¨u¬{Ð:Ð:r[   c                 óÐ  — t          |¦  «        \  }}}}}|j        }	|                      |	|¦  «        }
 t          j        |¦  «        | |¦  «        }|
|_        |j                             |¦  «        |_        |j                             |¦  «        |_        |j	                             |¦  «        |_	        |j
                             d¦  «        |_
        |                     ¦   «         S )zf
    Get string data by `compile_time_get_string_data()` and return a
    unicode_type LLVM value
    éÿÿÿÿ)r‡   ÚmoduleÚinsert_const_bytesr   Úcreate_struct_proxyrH   rI   ÚtyperJ   rK   rL   Ú	_getvalue)ÚcontextÚbuilderÚtypÚliteral_stringÚ	databytesrI   rJ   rK   r„   ÚmodÚgvÚuni_strs               rZ   Úmake_string_from_constantr—   Š   sÏ   € õ 	% ^Ñ4Ô4ñ -€Iˆv�t˜X uà
Œ.€CØ	×	#Ò	# C¨Ñ	3Ô	3€BØ.�gÔ)¨#Ñ.Ô.¨w¸Ñ@Ô@€GØ€G„LØ”^×(Ò(¨Ñ0Ô0€G„NØ”<×$Ò$ TÑ*Ô*€G„LØÔ'×,Ò,¨XÑ6Ô6€GÔð ”<×$Ò$ RÑ(Ô(€G„LØ×ÒÑÔÐr[   c                 ó0   — t          | |||j        ¦  «        S ©N)r—   Úliteral_value)r�   r�   ÚfromtyÚtotyÚvals        rZ   Úcast_from_literalrž   ž   s    € å$Ø�˜$ Ô 4ñô ð r[   c                 ó&   — t          | |||¦  «        S r™   )r—   )r�   r�   r‘   Úpyvals       rZ   Úconstant_unicoder¡   §   s   € å$ W¨g°s¸EÑBÔBÐBr[   c                 óÐ  — |j                              |¦  «        \  }}}}}} t          j        | ¦  «        |j        |j        ¦  «        }	||	_        ||	_        ||	_        ||	_	        ||	_
        |j                              ||¦  «        |	_        ||	_        t          j        |j        |j                              ¦   «         ¦  «        }
t!          |	                     ¦   «         |
¬¦  «        S )zE
    Convert a unicode str object to a native unicode structure.
    )Úis_error)ÚpyapiÚstring_as_string_size_and_kindr   rŒ   r�   r�   rH   rI   rJ   rK   rL   Únrt_meminfo_new_from_pyobjectrM   rN   Úis_not_nullÚerr_occurredr   rŽ   )r‘   r€   ÚcÚokrH   rI   rJ   rK   r„   r–   r£   s              rZ   Úunbox_unicode_strr«   ¯   sÕ   € ð 	
Œ×.Ò.¨sÑ3Ô3ñ ,€Bˆˆf�d˜H eà.�gÔ)¨#Ñ.Ô.¨q¬y¸!¼)ÑDÔD€GØ€G„LØ€G„NØ€G„LØ€GÔØ€G„LØ”g×;Ò;ØØñô €G„Oð €G„NåÔ" 1¤9¨a¬g×.BÒ.BÑ.DÔ.DÑEÔE€HÝ�w×(Ò(Ñ*Ô*°XÐ>Ñ>Ô>Ð>r[   c                 ó0  —  t          j        | ¦  «        |j        |j        |¬¦  «        }|j                             |j        |j        |j        ¦  «        }|j         	                    |¦  «         |j        j
                             |j        | |¦  «         |S )z@
    Convert a native unicode structure to a unicode string
    ©r|   )r   rŒ   r�   r�   r¤   Ústring_from_kind_and_datarJ   rH   rI   Úobject_hashÚnrtÚdecref)r‘   r�   r©   r–   Úress        rZ   Úbox_unicode_strr³   Æ   sˆ   € ð
 /�gÔ)¨#Ñ.Ô.¨q¬y¸!¼)È3ÐOÑOÔO€GØ
Œ'×
+Ò
+ØŒ�g”l G¤Nñ4ô 4€Cð
 „G×Ò˜ÑÔÐØ„I„M×Ò˜œ C¨Ñ-Ô-Ð-Ø€Jr[   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó  •— |\  }}|                      |t          ‰¦  «                             ¦   «         ¦  «        }|                     |                     ||g¦  «        ¦  «        }|                     |t          d¦  «        ¦  «        S ©Né    )Úbitcastr   Ú
as_pointerÚloadÚgepÚzext)	r�   r�   Ú	signatureÚargsrH   ÚidxÚptrÚchÚbitsizes	           €rZ   Úcodegenz#make_deref_codegen.<locals>.codegenÚ   sn   ø€ Ø‰	ˆˆcØ�oŠo˜d¥G¨GÑ$4Ô$4×$?Ò$?Ñ$AÔ$AÑBÔBˆØ�\Š\˜'Ÿ+š+ c¨C¨5Ñ1Ô1Ñ2Ô2ˆØ�|Š|˜B¥¨¡¤Ñ,Ô,Ð,r[   r_   ©rÂ   rÃ   s   ` rZ   Úmake_deref_codegenrÅ   Ù   s#   ø€ ð-ð -ð -ð -ð -ð €Nr[   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS ©Né   ©r   rR   rO   rP   rÅ   ©Ú	typingctxrH   ÚoffsetÚsigs       rZ   Úderef_uint8rÎ   ã   s+   € å
Œ,•u”}¥e¤jÑ
1Ô
1€CØÕ" 1Ñ%Ô%Ð%Ð%r[   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS ©Né   rÉ   rÊ   s       rZ   Úderef_uint16rÒ   é   ó+   € å
Œ,•u”}¥e¤jÑ
1Ô
1€CØÕ" 2Ñ&Ô&Ð&Ð&r[   c                 óv   — t          j        t           j        t           j        ¦  «        }|t	          d¦  «        fS r¶   rÉ   rÊ   s       rZ   Úderef_uint32rÕ   ï   rÓ   r[   c                 óŽ   — d„ }t          j        t           j        t           j        t           j        t           j        ¦  «        }||fS )z�make empty string with data buffer of size alloc_bytes.

    Must set length and kind values for string after it is returned
    c           
      ó@  — |\  }}}}t          j        t          j        ¦  «        } || |¦  «        }	|                     ||                     |t          |j        d¦  «        ¦  «        ¦  «        }
| j         	                    ||
¦  «        |	_
        ||	_        ||	_        ||	_        |                      t          d¦  «        |	_        | j                             ||	j
        ¦  «        |	_        t          j        |	j        j        ¦  «        |	_        |	                     ¦   «         S )Nry   r‰   )r   rŒ   r   Úunicode_typeÚmulÚaddr   r�   r°   Úmeminfo_allocrM   rJ   rK   rI   Úget_constantr   rL   Úmeminfo_datarH   Úget_null_valuerN   rŽ   )r�   r�   r½   r¾   Úkind_valÚchar_bytes_valÚ
length_valÚis_ascii_valÚuni_str_ctorr–   Ú
nbytes_vals              rZ   Údetailsz_malloc_string.<locals>.detailsû   sý   € Ø?CÑ<ˆ�> :¨|õ Ô2µ5Ô3EÑFÔFˆØ�,˜w¨Ñ0Ô0ˆà—[’[ Ø!(§¢¨ZÝ-5°j´oÀqÑ-IÔ-Iñ"Kô "KñLô Lˆ
ð "œ+×3Ò3°G¸ZÑHÔHˆŒØˆŒØ'ˆÔØ#ˆŒà×+Ò+­J¸Ñ;Ô;ˆŒØ”{×/Ò/°¸¼ÑIÔIˆŒå Ô/°´Ô0CÑDÔDˆŒØ× Ò Ñ"Ô"Ð"r[   )r   rØ   rQ   rP   rR   )rË   rJ   Ú
char_bytesrI   rK   rå   rÍ   s          rZ   Ú_malloc_stringrç   õ   s;   € ð#ð #ð #õ* Ô
�Uœ[­%¬*µe´jÅ%Ä,Ñ
OÔ
O€CØ�ˆ<Ðr[   c                 óŽ   — t          | ¦  «        }t          | |||¦  «        }t          ||t          j        d¦  «        ¦  «         |S ©Nr   )r}   rç   Ú_set_code_pointÚnprR   )rJ   rI   rK   Ú
char_widthÚss        rZ   Ú_empty_stringrî     sA   € å$ TÑ*Ô*€JÝ�t˜Z¨°Ñ:Ô:€AÝ�A�v�rœy¨™|œ|Ñ,Ô,Ð,Ø€Hr[   F)Ú_nrtc                 óä   — | j         t          k    rt          | j        |¦  «        S | j         t          k    rt          | j        |¦  «        S | j         t          k    rt          | j        |¦  «        S dS ré   )rb   r   rÎ   r`   r   rÒ   r   rÕ   )ÚaÚis     rZ   Ú_get_code_pointró     si   € à„wÕ'Ò'Ð'Ý˜1œ7 AÑ&Ô&Ð&Ø	
ŒÕ)Ò	)Ð	)Ý˜AœG QÑ'Ô'Ð'Ø	
ŒÕ)Ò	)Ð	)Ý˜AœG QÑ'Ô'Ð'ð ˆqr[   c                 ó   ‡ — ˆ fd„}|S )Nc                 óJ  •— |\  }}}‰dk     r#|                      |t          ‰¦  «        ¦  «        }|                     |t          ‰¦  «                             ¦   «         ¦  «        }|                     ||                     ||g¦  «        ¦  «         |                      ¦   «         S r¶   )Útruncr   r¸   r¹   Ústorer»   Úget_dummy_value)	r�   r�   r½   r¾   rH   r¿   rÁ   rÀ   rÂ   s	           €rZ   rÃ   z!make_set_codegen.<locals>.codegen.  s�   ø€ Ø‰ˆˆc�2Ø�RŠ<ˆ<Ø—’˜r¥7¨7Ñ#3Ô#3Ñ4Ô4ˆBØ�oŠo˜d¥G¨GÑ$4Ô$4×$?Ò$?Ñ$AÔ$AÑBÔBˆØ�Š�b˜'Ÿ+š+ c¨C¨5Ñ1Ô1Ñ2Ô2Ð2Ø×&Ò&Ñ(Ô(Ð(r[   r_   rÄ   s   ` rZ   Úmake_set_codegenrù   -  s#   ø€ ð)ð )ð )ð )ð )ð €Nr[   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS rÇ   ©r   ÚvoidrO   Úint64rR   rù   ©rË   rH   r¿   rÁ   rÍ   s        rZ   Ú	set_uint8rÿ   9  s/   € å
Œ*•U”]¥E¤Kµ´Ñ
>Ô
>€CØÕ  Ñ#Ô#Ð#Ð#r[   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS rÐ   rû   rþ   s        rZ   Ú
set_uint16r  ?  ó/   € å
Œ*•U”]¥E¤Kµ´Ñ
>Ô
>€CØÕ  Ñ$Ô$Ð$Ð$r[   c                 óŒ   — t          j        t           j        t           j        t           j        ¦  «        }|t          d¦  «        fS r¶   rû   rþ   s        rZ   Ú
set_uint32r  E  r  r[   c                 ó  — | j         t          k    rt          | j        ||¦  «         d S | j         t          k    rt          | j        ||¦  «         d S | j         t          k    rt          | j        ||¦  «         d S t          d¦  «        ‚)Nz4Unexpected unicode representation in _set_code_point)	rb   r   rÿ   r`   r   r  r   r  ÚAssertionError)rñ   rò   rÁ   s      rZ   rê   rê   K  s”   € ð 	„wÕ'Ò'Ð'Ý�!”'˜1˜bÑ!Ô!Ð!Ð!Ð!Ø	
ŒÕ)Ò	)Ð	)Ý�1”7˜A˜rÑ"Ô"Ð"Ð"Ð"Ø	
ŒÕ)Ò	)Ð	)Ý�1”7˜A˜rÑ"Ô"Ð"Ð"Ð"åØBñDô Dð 	Dr[   c                 óÒ   — | t           k    s|t           k    rt          d¦  «        ‚| t          k    r|S | t          k    r|t          k    r|S | S | t          k    r| S t          d¦  «        ‚)Nú!PY_UNICODE_WCHAR_KIND unsupportedz/Unexpected unicode representation in _pick_kind)r   r  r   r   r   )Úkind1Úkind2s     rZ   Ú
_pick_kindr  ^  s{   € àÕ%Ò%Ð%¨Õ2GÒ)GÐ)GÝÐ@ÑAÔAÐAàÕ%Ò%Ð%ØˆØ	Õ'Ò	'Ð	'ØÕ)Ò)Ð)ØˆLàˆLØ	Õ'Ò	'Ð	'ØˆåÐNÑOÔOÐOr[   c                 ój   — | dk    r|dk    rt          j        d¦  «        S t          j        d¦  «        S ©Nry   r   )r   rR   )Ú	is_ascii1Ú	is_ascii2s     rZ   Ú_pick_asciir  p  s/   € à�A‚~€~˜) qš.˜.ÝŒ|˜A‰ŒÐÝŒ<˜‰?Œ?Ðr[   c                 ó¢   — | t           k    rdS | t          k    rdS | t          k    rdS | t          k    rt	          d¦  «        ‚t	          d¦  «        ‚)Nry   é   é   r  z'Unexpected unicode encoding encountered)r   r   r   r   r  )rJ   s    rZ   r}   r}   w  s_   € àÕ$Ò$Ð$ØˆqØ	Õ&Ò	&Ð	&ØˆqØ	Õ&Ò	&Ð	&ØˆqØ	Õ&Ò	&Ð	&ÝÐ@ÑAÔAÐAåÐFÑGÔGÐGr[   c                 óê   — |dk    rdS ||z   | j         k    rdS ||z   |j         k    rdS t          |¦  «        D ]:}t          | ||z   ¦  «        }t          |||z   ¦  «        }||k     r dS ||k    r dS Œ;dS )Nr   r‰   ry   )ra   Úrangeró   )rñ   Úa_offsetÚbÚb_offsetÚnrò   Úa_chrÚb_chrs           rZ   Ú_cmp_regionr  …  s£   € àˆA‚v€vØˆqØ	�A‰˜œ	Ò	!Ð	!ØˆrØ	�A‰˜œ	Ò	!Ð	!Øˆqå�1‰XŒXð ð ˆÝ  8¨a¡<Ñ0Ô0ˆÝ  8¨a¡<Ñ0Ô0ˆØ�5Š=ˆ=Ø�2�2Ø�UŠ]ˆ]Ø�1�1ð ð ˆ1r[   c                 óv   — | dk     rt           S | dk     rt          S d}| |k    rd}t          |¦  «        ‚t          S )zK
    Compute the minimum unicode kind needed to hold a given codepoint
    é   i   rD   z;Invalid codepoint. Found value greater than Unicode maximum)r   r   r{   r   )ÚcpÚMAX_UNICODEÚmsgs      rZ   Ú_codepoint_to_kindr"  ™  sK   € ð
 
ˆC‚x€xÝ$Ð$Ø	ˆeŠˆÝ$Ð$ð ˆØ�ÒÐØOˆCÝ˜S‘/”/Ð!Ý$Ð$r[   c                 ó   — | dk     S )z;
    Returns true if a codepoint is in the ASCII range
    é€   r_   )rÁ   s    rZ   Ú_codepoint_is_asciir%  «  s   € ð
 �Š8€Or[   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó   — | j         S r™   )ra   ©rí   s    rZ   Úlen_implzunicode_len.<locals>.len_impl¹  s
   € Ø”9Ðr[   ©Ú
isinstancer   ÚUnicodeType)rí   r)  s     rZ   Úunicode_lenr-  ¶  s5   € å�!•UÔ&Ñ'Ô'ð ð	ð 	ð 	àˆðð r[   c                 ób  — | j         r|j         sd S t          | t          j        ¦  «        r| j        }n| }t          |t          j        ¦  «        r|j        }n|}t          j        t          j        t          j        f}t          ||¦  «        }t          ||¦  «        }|r|rd„ }|S ||z  rd„ }|S d S )Nc           	      óò   — | d u }|d u }|s|r|r|rdS dS t          | ¦  «        } t          |¦  «        }t          | ¦  «        t          |¦  «        k    rdS t          | d|dt          | ¦  «        ¦  «        dk    S )NTFr   )ÚstrÚlenr  )rñ   r  Úa_noneÚb_nones       rZ   Úeq_implzunicode_eq.<locals>.eq_implÎ  s�   € à˜$�YˆFØ˜$�YˆFØð !˜ð !Øð !˜fð !Ø˜4à ˜5å�A‘”ˆAÝ�A‘”ˆAÝ�1‰vŒv�˜Q™œÒÐØ�uÝ˜q ! Q¨­3¨q©6¬6Ñ2Ô2°aÒ7Ð7r[   c                 ó   — dS ©NFr_   ©rñ   r  s     rZ   r4  zunicode_eq.<locals>.eq_implà  s   € Ø�5r[   )Úis_internalr+  r   ÚOptionalr�   r,  ÚStringLiteralÚUnicodeCharSeq)rñ   r  Úcheck_aÚcheck_bÚacceptÚ	a_unicodeÚ	b_unicoder4  s           rZ   Ú
unicode_eqrA  ¾  sá   € àŒMð ˜aœmð ØˆÝ�!•U”^Ñ$Ô$ð Ø”&ˆˆàˆÝ�!•U”^Ñ$Ô$ð Ø”&ˆˆàˆÝÔ¥Ô!4µeÔ6JÐK€FÝ˜7 FÑ+Ô+€IÝ˜7 FÑ+Ô+€IØð �Yð ð	8ð 	8ð 	8ð ˆØ	�YÑ	ð ð	ð 	ð 	àˆð	ð r[   c                 óÒ   — | j         r|j         sd S t          j        t          j        t          j        f}t          | |¦  «        }t          ||¦  «        }|r|rd„ }|S ||z  rd„ }|S d S )Nc                 ó   — | |k     S r™   r_   r7  s     rZ   Úne_implzunicode_ne.<locals>.ne_implí  s   € Ø˜Qš�<Ðr[   c                 ó   — dS )NTr_   r7  s     rZ   r4  zunicode_ne.<locals>.eq_implò  s   € Ø�4r[   )r8  r   r,  r:  r;  r+  )rñ   r  r>  r?  r@  rD  r4  s          rZ   Ú
unicode_nerF  å  s›   € àŒMð ˜aœmð ØˆÝÔ¥Ô!4µeÔ6JÐK€FÝ˜1˜fÑ%Ô%€IÝ˜1˜fÑ%Ô%€IØð �Yð ð	 ð 	 ð 	 àˆØ	�YÑ	ð ð	ð 	ð 	àˆð	ð r[   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 óÜ   — t          t          | ¦  «        t          |¦  «        ¦  «        }t          | d|d|¦  «        }|dk    rdS |dk    r t          | ¦  «        t          |¦  «        k     S dS )Nr   r‰   TF©Úminr1  r  ©rñ   r  ÚminlenÚeqcodes       rZ   Últ_implzunicode_lt.<locals>.lt_implü  sd   € Ý�˜Q™œ¥ Q¡¤Ñ(Ô(ˆFÝ   A q¨!¨VÑ4Ô4ˆFØ˜Š|ˆ|Ø�tØ˜1’�Ý˜1‘v”v¥ A¡¤’Ð&Ø�5r[   ©r+  r   r,  r:  )rñ   r  r?  r@  rN  s        rZ   Ú
unicode_ltrP  ÷  óo   € å˜1�uÔ0µ%Ô2EÐFÑGÔG€IÝ˜1�uÔ0µ%Ô2EÐFÑGÔG€IØð 	�Yð 	ð	ð 	ð 	ð ˆð	ð 	ð 	ð 	r[   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 óÜ   — t          t          | ¦  «        t          |¦  «        ¦  «        }t          | d|d|¦  «        }|dk    rdS |dk    r t          | ¦  «        t          |¦  «        k    S dS )Nr   ry   TFrI  rK  s       rZ   Úgt_implzunicode_gt.<locals>.gt_impl  sd   € Ý�˜Q™œ¥ Q¡¤Ñ(Ô(ˆFÝ   A q¨!¨VÑ4Ô4ˆFØ˜Š{ˆ{Ø�tØ˜1’�Ý˜1‘v”v¥ A¡¤’Ð&Ø�5r[   rO  )rñ   r  r?  r@  rT  s        rZ   Ú
unicode_gtrU    rQ  r[   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 ó   — | |k     S r™   r_   r7  s     rZ   Úle_implzunicode_le.<locals>.le_impl  ó   € Ø˜Aš�;Ðr[   rO  )rñ   r  r?  r@  rX  s        rZ   Ú
unicode_lerZ    óm   € å˜1�uÔ0µ%Ô2EÐFÑGÔG€IÝ˜1�uÔ0µ%Ô2EÐFÑGÔG€IØð �Yð ð	ð 	ð 	àˆðð ð ð r[   c                 ó´   — t          | t          j        t          j        f¦  «        }t          |t          j        t          j        f¦  «        }|r|rd„ }|S d S d S )Nc                 ó   — | |k      S r™   r_   r7  s     rZ   Úge_implzunicode_ge.<locals>.ge_impl&  rY  r[   rO  )rñ   r  r?  r@  r^  s        rZ   Ú
unicode_ger_  !  r[  r[   c                 ó|   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó*   — t          | |¦  «        dk    S ©Nr‰   )Ú_findr7  s     rZ   Úcontains_implz'unicode_contains.<locals>.contains_impl.  s   € å˜˜A‘;”; Ò#Ð#r[   r*  )rñ   r  rd  s      rZ   Úunicode_containsre  +  sV   € å�!•UÔ&Ñ'Ô'ð ­J°q½%Ô:KÑ,LÔ,Lð ð	$ð 	$ð 	$ð Ðð	ð ð ð r[   c                 ó0  — | }t          | t          j        ¦  «        r| j        }n!t          | t          j        ¦  «        r| j        }t          j        t          j        f}|�4t          ||¦  «        s&t          d 	                    ||| ¦  «        ¦  «        ‚dS dS )zƒCheck object belongs to one of specific types
    ty: type
        Type of the object
    name: str
        Name of the object
    Nú"{}" must be {}, not {})
r+  r   ÚOmittedr|   r9  r�   ÚIntegerÚNoneTyper!   Úformat)ÚtyÚnameÚthetyÚaccepteds       rZ   Úunicode_idx_check_typerp  4  s“   € ð €Eå�"•e”mÑ$Ô$ð Ø”ˆˆå	�B�œÑ	'Ô	'ð Ø”ˆå”�uœ~Ð.€HØÐ¥¨E°8Ñ!<Ô!<ÐÝÐ3×:Ò:¸4ÀÈ2ÑNÔNÑOÔOÐOð ÐÐÐr[   c                 óš   — t          | t          j        ¦  «        s0d                     |t          j        | ¦  «        }t	          |¦  «        ‚dS )z$Check object belongs to unicode typerg  N)r+  r   r,  rk  r!   )rl  rm  r!  s      rZ   Úunicode_sub_check_typerr  H  sI   € å�b�%Ô+Ñ,Ô,ð Ø'×.Ò.¨tµUÔ5FÈÑKÔKˆÝ˜#ÑÔÐðð r[   c                 ó,   — | d|t           dz
  z  z  z  } | S ©Nry   ©Ú_BLOOM_WIDTH©ÚmaskrÁ   s     rZ   Ú
_bloom_addry  Q  s    € àˆQ�2�¨Ñ)Ñ*Ñ+Ñ,€DØ€Kr[   c                 ó(   — | d|t           dz
  z  z  z  S rt  ru  rw  s     rZ   Ú_bloom_checkr{  W  s   € à�1˜�|¨aÑ/Ñ0Ñ1Ñ2Ð2r[   c                 óâ  — t          |¦  «        }|dk    r|S |dz
  x}}t          ||¦  «        }t          j        d¦  «        }t	          ||¦  «        }	t          |¦  «        D ]0}
t          ||
¦  «        }t	          |	|¦  «        }	||k    r||
z
  dz
  }Œ1|}
|
||z
  k    rÑt          | ||
z   ¦  «        }||k    r{d}||k     r5t          | |
|z   ¦  «        }t          ||¦  «        }||k    rn|dz  }||k     °5||k    r|
S t          | ||
z   dz   ¦  «        }t          |	|¦  «        dk    r|
|z  }
n5|
|z  }
n/t          | ||
z   dz   ¦  «        }t          |	|¦  «        dk    r|
|z  }
|
dz  }
|
||z
  k    °ÑdS )zLeft finder.r   ry   r‰   )r1  ró   r   rP   ry  r  r{  )rH   ÚsubstrÚstartÚendÚmÚgapÚmlastÚlastÚzerorx  rò   rÁ   ÚjÚhaystack_chÚ	needle_chs                  rZ   Ú_default_findrˆ  ]  sÆ  € õ 	ˆF‰Œ€AØˆA‚v€vØˆà�a‘%Ð€Cˆ%Ý˜6 5Ñ)Ô)€DåŒ:�a‰=Œ=€DÝ�d˜DÑ!Ô!€DÝ�5‰\Œ\ð  ð  ˆÝ˜V QÑ'Ô'ˆÝ˜$ Ñ#Ô#ˆØ�Š:ˆ:Ø˜!‘)˜a‘-ˆCøà€AØ
ˆs�Q‰wŠ,ˆ,Ý˜T 5¨1¡9Ñ-Ô-ˆØ�Š:ˆ:ØˆAØ�e’)�)Ý-¨d°A¸±EÑ:Ô:�Ý+¨F°AÑ6Ô6�	Ø )Ò+Ð+ØØ�Q‘�ð �e’)�)ð �EŠzˆzà�å   u¨q¡y°1¡}Ñ5Ô5ˆBÝ˜D "Ñ%Ô%¨Ò*Ð*Ø�Q‘��à�S‘��å   u¨q¡y°1¡}Ñ5Ô5ˆBÝ˜D "Ñ%Ô%¨Ò*Ð*Ø�Q‘�Ø	ˆQ‰ˆð/ ˆs�Q‰wŠ,ˆ,ð2 ˆ2r[   c                 ó¶  — t          |¦  «        }|dk    r|S |dz
  x}}t          |d¦  «        }t          d|¦  «        }|}	|	dk    r6t          ||	¦  «        }
t          ||
¦  «        }|
|k    r|	dz
  }|	dz  }	|	dk    °6||z
  }	|	|k    rÑt          | |	¦  «        }
|
|k    r~|}|dk    r5t          | |	|z   ¦  «        }t          ||¦  «        }||k    rn|dz  }|dk    °5|dk    r|	S t          | |	dz
  ¦  «        }
|	|k    rt          ||
¦  «        dk    r|	|z  }	n8|	|z  }	n2t          | |	dz
  ¦  «        }
|	|k    rt          ||
¦  «        dk    r|	|z  }	|	dz  }	|	|k    °ÑdS )zRight finder.r   ry   r‰   )r1  ró   ry  r{  )rH   r}  r~  r  r€  Úskipr‚  Úmfirstrx  rò   rÁ   r…  r†  r‡  s                 rZ   Ú_default_rfindrŒ  Œ  sÅ  € õ 	ˆF‰Œ€AØˆA‚v€vØˆ
à�q‘5Ð€Dˆ5Ý˜V QÑ'Ô'€FÝ�a˜Ñ Ô €DØ€AØ
ˆaŠ%ˆ%Ý˜V QÑ'Ô'ˆÝ˜$ Ñ#Ô#ˆØ�Š<ˆ<Ø�q‘5ˆDØ	ˆQ‰ˆð ˆaŠ%ˆ%ð 	ˆa‰€AØ
ˆuŠ*ˆ*Ý˜T 1Ñ%Ô%ˆØ�Š<ˆ<ØˆAØ�a’%�%Ý-¨d°A¸±EÑ:Ô:�Ý+¨F°AÑ6Ô6�	Ø )Ò+Ð+ØØ�Q‘�ð �a’%�%ð �AŠvˆvà�å   q¨1¡uÑ-Ô-ˆBØ�5Šyˆy�\¨$°Ñ3Ô3°qÒ8Ð8Ø�Q‘��à�T‘	��õ !  q¨1¡uÑ-Ô-ˆBØ�5Šyˆy�\¨$°Ñ3Ô3°qÒ8Ð8Ø�Q‘�Ø	ˆQ‰ˆð3 ˆuŠ*ˆ*ð6 ˆ2r[   c                 ó   ‡ — dˆ fd„	}|S )z%Generate finder either left or right.Nc                 óª   •— t          | ¦  «        }t          |¦  «        }|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS  ‰| |||¦  «        S )Nr   r‰   )r1  Ú_adjust_indices)rH   r}  r~  r  rI   Ú
sub_lengthÚ	find_funcs         €rZ   Úimplzgenerate_finder.<locals>.impl¿  sl   ø€ Ý�T‘”ˆÝ˜‘[”[ˆ
Øˆ=ØˆEØˆ;ØˆCå$ V¨U°CÑ8Ô8‰
ˆˆsØ�‰;˜Ò#Ð#Ø�2àˆy˜˜v u¨cÑ2Ô2Ð2r[   ©NNr_   )r‘  r’  s   ` rZ   Úgenerate_finderr”  ½  s(   ø€ ð3ð 3ð 3ð 3ð 3ð 3ð €Kr[   Úfindc                 ó°   — t          |t          j        ¦  «        rdd„}|S t          |d¦  «         t          |d¦  «         t	          |d¦  «         t
          S )zImplements str.find()Nc                 óF   — |                       t          |¦  «        ¦  «        S r™   )r•  r0  ©rH   r}  r~  r  s       rZ   Ú	find_implzunicode_find.<locals>.find_implØ  s   € Ø—9’9�S ™[œ[Ñ)Ô)Ð)r[   r~  r  r}  r“  )r+  r   r;  rp  rr  rc  )rH   r}  r~  r  r™  s        rZ   Úunicode_findrš  Ô  sh   € õ �&�%Ô.Ñ/Ô/ð ð	*ð 	*ð 	*ð 	*àÐå˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜6 8Ñ,Ô,Ð,å€Lr[   Úrfindc                 ó°   — t          |t          j        ¦  «        rdd„}|S t          |d¦  «         t          |d¦  «         t	          |d¦  «         t
          S )zImplements str.rfind()Nc                 óF   — |                       t          |¦  «        ¦  «        S r™   )r›  r0  r˜  s       rZ   Ú
rfind_implz!unicode_rfind.<locals>.rfind_implç  s   € Ø—:’:�c &™kœkÑ*Ô*Ð*r[   r~  r  r}  r“  )r+  r   r;  rp  rr  Ú_rfind)rH   r}  r~  r  rž  s        rZ   Úunicode_rfindr   ã  sh   € õ �&�%Ô.Ñ/Ô/ð ð	+ð 	+ð 	+ð 	+àÐå˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜6 8Ñ,Ô,Ð,å€Mr[   Úrindexc                 ón   — t          |d¦  «         t          |d¦  «         t          |d¦  «         dd„}|S )zImplements str.rindex()r~  r  ÚsubNc                 ó^   — |                       |||¦  «        }|dk     rt          d¦  «        ‚|S ©Nr   zsubstring not found)r›  r{   ©rí   r£  r~  r  Úresults        rZ   Úrindex_implz#unicode_rindex.<locals>.rindex_implú  s4   € Ø—’˜˜e SÑ)Ô)ˆØ�AŠ:ˆ:ÝÐ2Ñ3Ô3Ð3àˆr[   r“  ©rp  rr  )rí   r£  r~  r  r¨  s        rZ   Úunicode_rindexrª  ó  sP   € õ ˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜3 Ñ&Ô&Ð&ðð ð ð ð Ðr[   rh   c                 ón   — t          |d¦  «         t          |d¦  «         t          |d¦  «         dd„}|S )zImplements str.index()r~  r  r£  Nc                 ó^   — |                       |||¦  «        }|dk     rt          d¦  «        ‚|S r¥  )r•  r{   r¦  s        rZ   Ú
index_implz!unicode_index.<locals>.index_impl  s4   € Ø—’˜˜U CÑ(Ô(ˆØ�AŠ:ˆ:ÝÐ2Ñ3Ô3Ð3àˆr[   r“  r©  )rí   r£  r~  r  r­  s        rZ   Úunicode_indexr®    sP   € õ ˜5 'Ñ*Ô*Ð*Ý˜3 Ñ&Ô&Ð&Ý˜3 Ñ&Ô&Ð&ðð ð ð ð Ðr[   Ú	partitionc                 ó6  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          j        f}|�6t          ||¦  «        s&d                     d||¦  «        }t          |¦  «        ‚d„ }|S )zImplements str.partition()Nrg  Úsepc                 óx  — t          |¦  «        }t          | j        d| j        ¦  «        }t	          |¦  «        }| j        |j        k     st	          | ¦  «        |k     r| ||fS |dk    rt          d¦  «        ‚|                      |¦  «        }|dk     r| ||fS | d|…         || ||z   t	          | ¦  «        …         fS ©Nr   úempty separator)r0  rî   rb   rc   r1  r{   r•  ©rH   r±  Ú	empty_strÚ
sep_lengthÚposs        rZ   r’  zunicode_partition.<locals>.impl'  sÀ   € å�#‰hŒhˆÝ! $¤*¨a°´Ñ@Ô@ˆ	Ý˜‘X”Xˆ
ØŒ:˜œ	Ò!Ð!¥S¨¡Y¤Y°Ò%;Ð%;Ø˜ IÐ-Ð-à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/à�iŠi˜‰nŒnˆØ�Š7ˆ7Ø˜ IÐ-Ð-à�A�c�EŒ{˜C  c¨JÑ&6µs¸4±y´yÐ&@Ô!AÐAÐAr[   ©
r+  r   rh  r|   r9  r�   r,  r;  rk  r!   ©rH   r±  rn  ro  r!  r’  s         rZ   Úunicode_partitionr»    ó¤   € ð €Eå�#•u”}Ñ%Ô%ð Ø”	ˆˆå	�C�œÑ	(Ô	(ð Ø”ˆåÔ!¥5Ô#7Ð8€HØÐ¥¨E°8Ñ!<Ô!<ÐØ'×.Ò.¨u°hÀÑDÔDˆÝ˜#ÑÔÐðBð Bð Bð" €Kr[   Úcountc                 óà   — t          |¦  «         t          |¦  «         t          |t          j        ¦  «        rdd„}|S d}t	          |                     t          |¦  «        ¦  «        ¦  «        ‚)Nc                 ób  — d}t          | ¦  «        }t          |¦  «        }t          ||d¦  «        }t          |||¦  «        }||z
  dk     s||k    rdS | ||…         } t          | ¦  «        }d|}}|dk    r|dz   S ||z   |k    r*| |||z   …         |k    r|dz  }||z  }n|dz  }||z   |k    °*|S ©Nr   ry   )r1  Ú_normalize_slice_idx_count)Úsrcr£  r~  r  r½  Úsrc_lenÚsub_lens          rZ   Ú
count_implz!unicode_count.<locals>.count_implB  sì   € ØˆEÝ˜#‘h”hˆGÝ˜#‘h”hˆGå.¨u°g¸qÑAÔAˆEÝ,¨S°'¸7ÑCÔCˆCà�U‰{˜QŠˆ %¨'¢/ /Ø�qà�e˜c�kÔ"ˆCÝ˜#‘h”hˆGØ˜G�3ˆEØ˜!Š|ˆ|Ø ‘{Ð"à˜7‘? gÒ-Ð-Ø�u˜u w™Ð.Ô/°3Ò6Ð6Ø˜Q‘J�EØ˜WÑ$�E�Eà˜Q‘J�Eð ˜7‘? gÒ-Ð-ð ˆLr[   z+The substring must be a UnicodeType, not {}r“  )Ú_count_args_types_checkr+  r   r,  r!   rk  r�   )rÂ  r£  r~  r  rÅ  Ú	error_msgs         rZ   Úunicode_countrÈ  ;  sx   € õ ˜EÑ"Ô"Ð"Ý˜CÑ Ô Ð å�#•uÔ(Ñ)Ô)ð ð	ð 	ð 	ð 	ð0 ÐØ=€IÝ
�i×&Ò&¥t¨C¡y¤yÑ1Ô1Ñ
2Ô
2Ð2r[   Ú
rpartitionc                 ó6  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          j        f}|�6t          ||¦  «        s&d                     d||¦  «        }t          |¦  «        ‚d„ }|S )zImplements str.rpartition()Nrg  r±  c                 óx  — t          |¦  «        }t          | j        d| j        ¦  «        }t	          |¦  «        }| j        |j        k     st	          | ¦  «        |k     r||| fS |dk    rt          d¦  «        ‚|                      |¦  «        }|dk     r||| fS | d|…         || ||z   t	          | ¦  «        …         fS r³  )r0  rî   rb   rc   r1  r{   r›  rµ  s        rZ   r’  z unicode_rpartition.<locals>.implp  sÀ   € å�#‰hŒhˆÝ! $¤*¨a°´Ñ@Ô@ˆ	Ý˜‘X”Xˆ
ØŒ:˜œ	Ò!Ð!¥S¨¡Y¤Y°Ò%;Ð%;Ø˜i¨Ð-Ð-à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/à�jŠj˜‰oŒoˆØ�Š7ˆ7Ø˜i¨Ð-Ð-à�A�c�EŒ{˜C  c¨JÑ&6µs¸4±y´yÐ&@Ô!AÐAÐAr[   r¹  rº  s         rZ   Úunicode_rpartitionrÌ  `  r¼  r[   c                 óf   — || k    r| }|dk     r|| z  }|dk     rd}|dk     r|| z  }|dk     rd}||fS ré   r_   )rI   r~  r  s      rZ   r�  r�  …  sZ   € à
ˆV‚|€|ØˆØ
ˆQ‚w€wØˆv‰ˆØ�Š7ˆ7ØˆCØˆq‚y€yØ�‰ˆØ�1Š9ˆ9ØˆEà�#ˆ:Ðr[   Ú
startswithc                 óþ  — t          |¦  «        s)t          |t          j        ¦  «        st	          d¦  «        ‚t          |¦  «        s)t          |t          j        ¦  «        st	          d¦  «        ‚t          |t          j        ¦  «        r%t          |j        t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t	          d¦  «        ‚)Nz:When specified, the arg 'start' must be an Integer or Nonez8When specified, the arg 'end' must be an Integer or Nonec                 óD   — |D ]}|                       |||¦  «        r dS ŒdS ©NTF)rÎ  )rí   Úprefixr~  r  Úitems        rZ   Ústartswith_tuple_implz1unicode_startswith.<locals>.startswith_tuple_impl¢  s:   € Øð  ð  �Ø—<’<  e¨SÑ1Ô1ð  Ø˜4˜4ð à�5r[   c                 óJ   — |                       t          |¦  «        ||¦  «        S r™   )rÎ  r0  )rí   rÒ  r~  r  s       rZ   Ústartswith_char_seq_implz4unicode_startswith.<locals>.startswith_char_seq_impl«  s   € Ø—<’<¥ F¡¤¨U°CÑ8Ô8Ð8r[   c                 óÞ   — t          | ¦  «        t          |¦  «        }}|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS |dk    rdS | ||…         }t          |d|d|¦  «        dk    S ©Nr   FT©r1  r�  r  )rí   rÒ  r~  r  rI   Úprefix_lengthÚs_slices          rZ   Ústartswith_unicode_implz3unicode_startswith.<locals>.startswith_unicode_impl±  sŒ   € Ý$'¨¡F¤F­C°©K¬K�MˆFØˆ}Ø�Øˆ{Ø�å(¨°¸Ñ<Ô<‰JˆE�3Ø�U‰{˜]Ò*Ð*Ø�uà Ò!Ð!Ø�tà˜˜c˜	”lˆGå˜w¨¨6°1°mÑDÔDÈÒIÐIr[   z9The arg 'prefix' should be a string or a tuple of stringsr“  )	r   r+  r   ri  r!   ÚUniTupleÚdtyper,  r;  )rí   rÒ  r~  r  rÔ  rÖ  rÜ  s          rZ   Úunicode_startswithrß  •  sK  € å�uÑÔð J¥j°½¼Ñ&FÔ&Fð JÝØHñJô Jð 	Jõ �sÑÔð H¥J¨sµE´MÑ$BÔ$Bð HÝØFñHô Hð 	Hõ �&�%œ.Ñ)Ô)ð (IÝ�v”|¥UÔ%6Ñ7Ô7ð(Ið	ð 	ð 	ð 	ð %Ð$å	�F�EÔ0Ñ	1Ô	1ð Ið	9ð 	9ð 	9ð 	9ð (Ð'å	�F�EÔ-Ñ	.Ô	.ð Ið	Jð 	Jð 	Jð 	Jð$ 'Ð&õ ØGñIô Ið 	Ir[   Úendswithc                 óæ  — |�@t          |t          j        t          j        t          j        f¦  «        st          d¦  «        ‚|�@t          |t          j        t          j        t          j        f¦  «        st          d¦  «        ‚t          |t          j        t          j        f¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S t          |t          j	        ¦  «        rdd„}|S d S )Nz!The arg must be a Integer or Nonec                 óH   — |D ]}|                       |||¦  «        du r dS ŒdS rÑ  )rà  )rí   r}  r~  r  rÓ  s        rZ   Úendswith_implz'unicode_endswith.<locals>.endswith_impl×  s?   € Øð  ð  �Ø—:’:˜d E¨3Ñ/Ô/°4Ð7Ð7Ø˜4˜4ð 8ð �5r[   c                 ó  — t          | ¦  «        }t          |¦  «        }|€d}|€|}t          |||¦  «        \  }}||z
  |k     rdS |dk    rdS | ||…         } t          | ¦  «        |z
  }t          | ||d|¦  «        dk    S rØ  rÙ  )rí   r}  r~  r  rI   r�  rÌ   s          rZ   rã  z'unicode_endswith.<locals>.endswith_implà  s›   € Ý˜‘V”VˆFÝ˜V™œˆJØˆ}Ø�Øˆ{Ø�å(¨°¸Ñ<Ô<‰JˆE�3Ø�U‰{˜ZÒ'Ð'Ø�uà˜QŠˆØ�tà�%˜�)”ˆAÝ˜‘V”V˜jÑ(ˆFå˜q &¨&°!°ZÑ@Ô@ÀAÒEÐEr[   c                 óJ   — |                       t          |¦  «        ||¦  «        S r™   )rà  r0  )rí   r}  r~  r  s       rZ   rã  z'unicode_endswith.<locals>.endswith_implö  s   € Ø—:’:�c &™kœk¨5°#Ñ6Ô6Ð6r[   r“  )
r+  r   rh  ri  rj  r!   ÚTuplerÝ  r,  r;  )rí   r}  r~  r  rã  s        rZ   Úunicode_endswithrç  Ê  s  € àˆM�Z¨µ´Ý05´Ý05´ð0@ñ Aô AˆMõ Ð=Ñ>Ô>Ð>àˆK�: c­E¬MÝ,1¬MÝ,1¬Nð,<ñ =ô =ˆKõ Ð=Ñ>Ô>Ð>å�&�5œ;­¬Ð7Ñ8Ô8ð ð	ð 	ð 	ð 	ð Ðå�&�%Ô+Ñ,Ô,ð ð	Fð 	Fð 	Fð 	Fð& Ðå�&�%Ô.Ñ/Ô/ð ð	7ð 	7ð 	7ð 	7àÐðð r[   Ú
expandtabsrÈ   c                 ó(  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          f}|�3t          ||¦  «        s#t          d 	                    ||¦  «        ¦  «        ‚dd„}|S )zImplements str.expandtabs()Nz"tabsize" must be {}, not {}rÈ   c                 ó  — t          | ¦  «        }dx}}d}t          |¦  «        D ]˜}t          | |¦  «        }|t          k    r=d}|dk    r4|||z  z
  }|t          j        |z
  k    rt          d¦  «        ‚||z  }||z  }ŒZ|t          j        dz
  k    rt          d¦  «        ‚|dz  }|dz  }|t          t          fv rd}Œ™|s| S t          | j
        || j        ¦  «        }	dx}}t          |¦  «        D ]�}t          | |¦  «        }|t          k    rE|dk    r>|||z  z
  }||z  }t          |||z   ¦  «        D ]}
t          |	|
t          ¦  «         Œ||z  }Œb|dz  }t          |	||¦  «         |dz  }|t          t          fv rd}Œ�|	S )Nr   FTznew string is too longry   )r1  r  ró   r:   ÚsysÚmaxsizeÚOverflowErrorr;   r<   rî   rb   rc   rê   r=   )rH   ÚtabsizerI   r…  Úline_posÚfoundrò   Ú
code_pointÚincrr²   r¿   s              rZ   Úexpandtabs_implz+unicode_expandtabs.<locals>.expandtabs_impl  sß  € Ý�T‘”ˆØÐˆˆHØˆÝ�v‘”ð 	!ð 	!ˆAÝ(¨¨qÑ1Ô1ˆJØ�WÒ$Ð$Ø�Ø˜Q’;�;à" h°Ñ&8Ñ9�DØ�3œ;¨Ñ-Ò-Ð-Ý+Ð,DÑEÔEÐEØ Ñ$�HØ˜‘I�Aøà•s”{ Q‘Ò&Ð&Ý'Ð(@ÑAÔAÐAØ˜A‘�Ø�Q‘�Ø¥,Õ0CÐ!DÐDÐDØ �Høàð 	ØˆKå˜DœJ¨¨4¬>Ñ:Ô:ˆØÐˆˆHÝ�v‘”ð 	!ð 	!ˆAÝ(¨¨qÑ1Ô1ˆJØ�WÒ$Ð$Ø˜Q’;�;Ø" h°Ñ&8Ñ9�DØ Ñ$�HÝ$ Q¨¨D©Ñ1Ô1ð =ð =˜Ý'¨¨Sµ)Ñ<Ô<Ð<Ð<Ø˜‘I�Aøà˜A‘�Ý  Q¨
Ñ3Ô3Ð3Ø�Q‘�Ø¥,Õ0CÐ!DÐDÐDØ �Høàˆ
r[   ©rÈ   )
r+  r   rh  r|   r9  r�   ri  Úintr!   rk  )rH   rî  rn  ro  ró  s        rZ   Úunicode_expandtabsrö  ü  s§   € ð €Eå�'�5œ=Ñ)Ô)ð Ø”ˆˆå	�G�Uœ^Ñ	,Ô	,ð Ø”ˆå”�sÐ#€HØÐ¥¨E°8Ñ!<Ô!<ÐÝØ*×1Ò1°(¸GÑDÔDñFô Fð 	Fð,ð ,ð ,ð ,ð\ Ðr[   Úsplitr‰   c                 ó^  — |dk    s3t          |t          j        t          j        t          j        f¦  «        sd S t          |t          j        ¦  «        rdd„}|S t          |t          j        ¦  «        rdd„}|S |�+t          |t          j        ¦  «        st          |dd¦  «        €dd„}|S d S )Nr‰   c                 óJ   — |                       t          |¦  «        |¬¦  «        S )N)Úmaxsplit)r÷  r0  )rñ   r±  rú  s      rZ   Ú
split_implz!unicode_split.<locals>.split_implE  s   € Ø—7’7�3˜s™8œ8¨h�7Ñ7Ô7Ð7r[   c                 ó`  — t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚g }d}d}|dk    r_|dk    rYt          |d¦  «        }t          |¦  «        D ]8}t          | |¦  «        |k    r"|                     | ||…         ¦  «         |dz   }Œ9nld}	||k     rd|dk    s|	|k     rXt          | ||d|¦  «        dk    r*|                     | ||…         ¦  «         ||z  }|}|	dz  }	n|dz  }||k     r|dk    °R|	|k     °X||k    r|                     | |d …         ¦  «         |S )Nr   r´  ry   r‰   )r1  r{   ró   r  Úappendr  )
rñ   r±  rú  Úa_lenÚsep_lenÚpartsrƒ  r¿   Úsep_code_pointÚsplit_counts
             rZ   rû  z!unicode_split.<locals>.split_implJ  su  € Ý˜‘F”FˆEÝ˜#‘h”hˆGà˜!Š|ˆ|Ý Ð!2Ñ3Ô3Ð3àˆEØˆDØˆCà˜!Š|ˆ| ¨B¢ Ý!0°°aÑ!8Ô!8�Ý  ™<œ<ð 'ð '�CÝ& q¨#Ñ.Ô.°.Ò@Ð@ØŸš Q t¨C x¤[Ñ1Ô1Ð1Ø" Q™w˜øð'ð
  �à˜E’k�k x°2¢~ ~Ø'2°XÒ'=Ð'=Ý" 1 c¨3°°7Ñ;Ô;¸qÒ@Ð@ØŸš Q t¨C x¤[Ñ1Ô1Ð1Ø˜w™˜Ø"˜Ø# qÑ(˜˜à˜q™˜ð ˜E’k�k x°2¢~ ~Ø'2°XÒ'=Ð'=ð �uŠ}ˆ}Ø—’˜Q˜t˜u˜uœXÑ&Ô&Ð&àˆLr[   r|   Fc                 ób  — t          | ¦  «        }g }d}d}d}d}t          |¦  «        D ]`}t          | |¦  «        }	t          |	¦  «        }
|r|
rŒ&|}d}Œ+|
sŒ.|                     | ||…         ¦  «         d}|dz  }|dk    r||k    r nŒa||k    r|s|                     | |d …         ¦  «         |S )Nr   TFry   r‰   )r1  r  ró   r+   rý  )rñ   r±  rú  rþ  r   rƒ  r¿   r  Úin_whitespace_blockrñ  Úis_whitespaces              rZ   Úsplit_whitespace_implz,unicode_split.<locals>.split_whitespace_implo  sô   € Ý˜‘F”FˆEàˆEØˆDØˆCØˆKØ"&Ðå˜U‘|”|ð "ð "�Ý,¨Q°Ñ4Ô4�
Ý 2°:Ñ >Ô >�Ø&ð "Ø$ð 4Øà"˜Ø.3Ð+Ð+à(ð "ØàŸš Q t¨C x¤[Ñ1Ô1Ð1Ø.2Ð+Ø# qÑ(˜Ø# rš>˜>¨k¸XÒ.EÐ.EØ!˜Eøà�uŠ}ˆ}Ð%8ˆ}Ø—’˜Q˜t˜u˜uœXÑ&Ô&Ð&àˆLr[   rb  )	r+  r   rh  ri  ÚIntegerLiteralr;  r,  rj  Úgetattr)rñ   r±  rú  rû  r  s        rZ   Úunicode_splitr	  =  sè   € à˜ŠNˆNÝ�x¥%¤-µ´Ý"'Ô"6ð"8ñ 9ô 9ð ð ˆtå�#•uÔ+Ñ,Ô,ð ð	8ð 	8ð 	8ð 	8àÐå�#•uÔ(Ñ)Ô)ð F%ð!	ð !	ð !	ð !	ðD ÐØ	ˆ�
 3­¬Ñ7Ô7ˆÝ�C˜ %Ñ(Ô(Ð0ð	ð 	ð 	ð 	ð@ %Ð$ðC 1Ð0r[   c                 ó   ‡ — dˆ fd„	}|S )z@Generate whitespace rsplit func based on either ascii or unicodeNr‰   c                 óP  •— |dk     rt           j        }g }t          | ¦  «        dz
  }|dk    r–|dk    r't          | |¦  «        } ‰|¦  «        sn|dz  }|dk    °'|dk     rnb|}|dz  }|dk    r't          | |¦  «        } ‰|¦  «        rn|dz  }|dk    °'|                     | |dz   |dz   …         ¦  «         |dz  }|dk    °–|dk    rS|dk    r't          | |¦  «        } ‰|¦  «        sn|dz  }|dk    °'|dk    r |                     | d|dz   …         ¦  «         |d d d…         S ©Nr   ry   r‰   )rë  rì  r1  ró   rý  )rH   r±  rú  r§  rò   rñ  r…  Úisspace_funcs          €rZ   Úrsplit_whitespace_implz?generate_rsplit_whitespace_impl.<locals>.rsplit_whitespace_impl•  sŽ  ø€ à�aŠ<ˆ<Ý”{ˆHàˆÝ�‰IŒI˜‰MˆØ˜ŠlˆlØ�q’&�&Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð ØØ�Q‘�ð	 �q’&�&ð
 �1ŠuˆuØØˆAØ�‰FˆAØ�q’&�&Ý,¨T°1Ñ5Ô5�
Ø�< 
Ñ+Ô+ð ØØ�Q‘�ð	 �q’&�&ð
 �MŠM˜$˜q 1™u Q¨¡U˜{Ô+Ñ,Ô,Ð,Ø˜‰MˆHð! ˜Šlˆlð$ �Š6ˆ6ð �q’&�&Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð ØØ�Q‘�ð	 �q’&�&ð
 �AŠvˆvØ—’˜d 1 Q¨¡U 7œmÑ,Ô,Ð,à�d�d˜�dŒ|Ðr[   rb  r_   )r  r  s   ` rZ   Úgenerate_rsplit_whitespace_implr  ’  s*   ø€ ð$ð $ð $ð $ð $ð $ðL "Ð!r[   Úrsplitc                 ó  — d„ } ||dt           j        t           j        t           j        f¦  «          ||dt           j        t
          f¦  «         |�&t          |t           j        t           j        f¦  «        rdd„}|S dd„}|S )	zImplements str.unicode_rsplit()c                 ó   — | }t          | t          j        ¦  «        r| j        }n!t          | t          j        ¦  «        r| j        }|�4t          ||¦  «        s&t          d                     ||| ¦  «        ¦  «        ‚dS dS )z.Check object belongs to one of specified typesNrg  )r+  r   rh  r|   r9  r�   r!   rk  )rl  rm  ro  rn  s       rZ   Ú_unicode_rsplit_check_typez2unicode_rsplit.<locals>._unicode_rsplit_check_typeÉ  sŒ   € àˆå�b�%œ-Ñ(Ô(ð 	Ø”HˆEˆEå˜�EœNÑ+Ô+ð 	Ø”GˆEàÐ¥Z°°xÑ%@Ô%@ÐÝØ)×0Ò0°°xÀÑDÔDñFô Fð Fð ÐÐÐr[   r±  rú  Nr‰   c                 óT   — | j         rt          | ||¦  «        S t          | ||¦  «        S r™   )rc   Úascii_rsplit_whitespace_implÚunicode_rsplit_whitespace_impl)rH   r±  rú  s      rZ   r  z.unicode_rsplit.<locals>.rsplit_whitespace_implÞ  s1   € ØŒ~ð IÝ3°D¸#¸xÑHÔHÐHÝ1°$¸¸XÑFÔFÐFr[   c                 ó4  — t          |¦  «        }| j        |j        k     s t          | ¦  «        t          |¦  «        k     r| gS d„ }|dk     rt          j        }t          |¦  «        }|dk    rt          d¦  «        ‚|dk    r || ||¦  «        S g }t          | ¦  «        }|dk    rL|                      |d|¬¦  «        }|dk     rn-|                     | ||z   |…         ¦  «         |}|dz  }|dk    °L|                     | d|…         ¦  «         |d d d…         S )Nc                 ót  — g }t          |d¦  «        }t          | ¦  «        dz
  x}}|dk    r\|dk    rVt          | |¦  «        }||k    r/|                     | |dz   |dz   …         ¦  «         |dz
  x}}|dz  }|dz  }|dk    r|dk    °V|dk    r |                     | d|dz   …         ¦  «         |d d d…         S r  )ró   r1  rý  )rH   rÁ   rú  r§  Úch_code_pointrò   r…  Údata_code_points           rZ   Ú_rsplit_charz9unicode_rsplit.<locals>.rsplit_impl.<locals>._rsplit_charë  sã   € àˆFÝ+¨B°Ñ2Ô2ˆMÝ˜‘I”I ‘MÐ!ˆA�Ø�q’&�&˜X¨š\˜\Ý"1°$¸Ñ":Ô":�Ø" mÒ3Ð3Ø—M’M $ q¨1¡u¨q°1©u }Ô"5Ñ6Ô6Ð6Ø ™E�M�A˜Ø ‘M�HØ�Q‘�ð �q’&�&˜X¨š\˜\ð �BŠwˆwØ—’˜d 1 q¨1¡u 9œoÑ.Ô.Ð.à˜$˜$˜B˜$”<Ðr[   r   r´  ry   )r~  r  r‰   )r0  rb   r1  rë  rì  r{   r›  rý  )rH   r±  rú  r  r·  r§  r…  r¸  s           rZ   Úrsplit_implz#unicode_rsplit.<locals>.rsplit_implå  s<  € Ý�#‰hŒhˆàŒ:˜œ	Ò!Ð!¥S¨¡Y¤Yµ°S±´Ò%9Ð%9Ø�6ˆMð	 ð 	 ð 	 ð" �aŠ<ˆ<Ý”{ˆHå˜‘X”Xˆ
à˜Š?ˆ?ÝÐ.Ñ/Ô/Ð/Ø˜Š?ˆ?Ø�<  c¨8Ñ4Ô4Ð4àˆÝ�‰IŒIˆØ˜ŠlˆlØ—*’*˜S¨¨q�*Ñ1Ô1ˆCØ�QŠwˆwØØ�MŠM˜$˜s ZÑ/°Ð1Ô2Ñ3Ô3Ð3ØˆAØ˜‰MˆHð ˜Šlˆlð 	�Š�d˜1˜Q˜3”iÑ Ô Ð à�d�d˜�dŒ|Ðr[   rb  )r   r,  r;  rj  ri  rõ  r+  rh  )rH   r±  rú  r  r  r  s         rZ   Úunicode_rsplitr  Å  s»   € ðFð Fð Fð Ð˜s E­EÔ,=Ý,1Ô,@Ý,1¬Nð,<ñ =ô =ð =ð Ð˜x¨µe´mÅSÐ5IÑJÔJÐJà
€{•j ¥u¤~µu´}Ð&EÑFÔF€{ð	Gð 	Gð 	Gð 	Gð
 &Ð%ð-ð -ð -ð -ð^ Ðr[   Úcenterú c                 ó  — t          |t          j        ¦  «        st          d¦  «        ‚t          |t          j        ¦  «        rdd„}|S |dk    s5t          |t          j        t          j        f¦  «        st          d¦  «        ‚dd„}|S )NúThe width must be an Integerr  c                 óH   — |                       |t          |¦  «        ¦  «        S r™   )r  r0  ©ÚstringÚwidthÚfillchars      rZ   Úcenter_implz#unicode_center.<locals>.center_impl  s   € Ø—=’= ­¨H©¬Ñ6Ô6Ð6r[   ú"The fillchar must be a UnicodeTypec                 óä   — t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚||k    r| S ||z
  }|dz  ||z  dz  z   }||z
  }||z  }||k    r|| z   |z   S || z   ||z  z   S )Nry   ú5The fill character must be exactly one character longr  ©r1  r{   )	r$  r%  r&  Ústr_lenÚfillchar_lenÚ	allmarginÚlmarginÚrmarginÚl_strings	            rZ   r'  z#unicode_center.<locals>.center_impl%  s±   € Ý�f‘+”+ˆÝ˜8‘}”}ˆà˜1ÒÐÝð .ñ /ô /ð /ð �GÒÐØˆMà˜G‘Oˆ	Ø ‘> i°%Ñ&7¸!Ñ&;Ñ<ˆØ˜gÑ%ˆà˜gÑ%ˆØ�gÒÐØ˜fÑ$ xÑ/Ð/à˜fÑ$¨°7Ñ(:Ñ;Ð;r[   ©r  ©r+  r   ri  r!   r;  rh  r,  )r$  r%  r&  r'  s       rZ   Úunicode_centerr4    s¤   € å�e�Uœ]Ñ+Ô+ð :ÝÐ8Ñ9Ô9Ð9å�(�EÔ0Ñ1Ô1ð ð	7ð 	7ð 	7ð 	7àÐà˜ŠOˆOÝ�x¥%¤-µÔ1BÐ!CÑDÔDð åÐ>Ñ?Ô?Ð?ð<ð <ð <ð <ð* Ðr[   c                 ó   ‡ — dˆ fd„	}|S )Nr  c                 ó,  •— t          |t          j        ¦  «        st          d¦  «        ‚t          |t          j        ¦  «        r‰rdd„}|S dd„}|S |dk    s5t          |t          j        t          j        f¦  «        st          d¦  «        ‚dˆfd„	}|S )Nr!  r  c                 óH   — |                       |t          |¦  «        ¦  «        S r™   )Úljustr0  r#  s      rZ   Ú
ljust_implz<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.ljust_implD  ó   € Ø!Ÿ<š<¨­s°8©}¬}Ñ=Ô=Ð=r[   c                 óH   — |                       |t          |¦  «        ¦  «        S r™   )Úrjustr0  r#  s      rZ   Ú
rjust_implz<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.rjust_implH  r:  r[   r(  c                 ó¢   •— t          | ¦  «        }t          |¦  «        }|dk    rt          d¦  «        ‚||k    r| S |||z
  z  }‰r| |z   S || z   S )Nry   r*  r+  )r$  r%  r&  r,  r-  ÚnewstrÚSTRING_FIRSTs         €rZ   r’  z6gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.implP  sw   ø€ Ý˜&‘k”kˆGÝ˜x™=œ=ˆLà˜qÒ Ð Ý ð "2ñ 3ô 3ð 3ð ˜ÒÐØ�à %¨'¡/Ñ2ˆFØð 'Ø ‘Ð&à ‘Ð&r[   r2  r3  )r$  r%  r&  r9  r=  r’  r@  s         €rZ   Úunicode_Xjustz(gen_unicode_Xjust.<locals>.unicode_Xjust>  sÐ   ø€ Ý˜%¥¤Ñ/Ô/ð 	>ÝÐ<Ñ=Ô=Ð=å�h¥Ô 4Ñ5Ô5ð 	"Øð "ð>ð >ð >ð >à!Ð!ð>ð >ð >ð >à!Ð!à˜C’�Ý˜8¥e¤mµUÔ5FÐ%GÑHÔHð  åÐBÑCÔCÐCð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð" ˆr[   r2  r_   )r@  rA  s   ` rZ   Úgen_unicode_XjustrB  =  s*   ø€ ð#ð #ð #ð #ð #ð #ðJ Ðr[   r<  r8  Tc                 ó   ‡ — ˆ fd„}|S )zDGenerate splitlines performer based on ascii or unicode line breaks.c                 ó¢  •— t          | ¦  «        }g }dx}}||k     r²||k     r't          | |¦  «        } ‰
|¦  «        rn|dz  }||k     °'|}||k     rX|dz   |k     rFt          | |¦  «        }t          | |dz   ¦  «        }	t          |¦  «        rt          |	¦  «        r|dz  }|dz  }|r|}|                     | ||…         ¦  «         |}||k     °²|S rÀ  )r1  ró   r6   r5   rý  )rH   ÚkeependsrI   r§  rò   r…  rñ  ÚeolÚcur_cpÚnext_cpÚis_line_break_funcs             €rZ   r’  z&generate_splitlines_func.<locals>.impll  s  ø€ å�T‘”ˆØˆØˆ	ˆˆAØ�&Šjˆjà�f’*�*Ý,¨T°1Ñ5Ô5�
Ø%Ð% jÑ1Ô1ð ØØ�Q‘�ð	 �f’*�*ð ˆCØ�6ŠzˆzØ�q‘5˜6’>�>Ý,¨T°1Ñ5Ô5�FÝ-¨d°A¸±EÑ:Ô:�GÝ+¨FÑ3Ô3ð ½ÀwÑ8OÔ8Oð Ø˜Q™˜Ø�Q‘�Øð Ø�Cà�MŠM˜$˜q ˜uœ+Ñ&Ô&Ð&ØˆAð+ �&Šjˆjð. ˆr[   r_   )rI  r’  s   ` rZ   Úgenerate_splitlines_funcrJ  j  s#   ø€ ðð ð ð ð ð< €Kr[   Ú
splitlinesc                 óL  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          j        t          t          j        t          f}|�4t          ||¦  «        s$t          d                     d||¦  «        ¦  «        ‚dd„}|S )zImplements str.splitlines()Nrg  rE  Fc                 óP   — | j         rt          | |¦  «        S t          | |¦  «        S r™   )rc   Ú_ascii_splitlinesÚ_unicode_splitlines)rH   rE  s     rZ   Úsplitlines_implz+unicode_splitlines.<locals>.splitlines_impl£  s,   € ØŒ>ð 	5Ý$ T¨8Ñ4Ô4Ð4å" 4¨Ñ2Ô2Ð2r[   ©F)r+  r   rh  r|   r9  r�   ri  rõ  ÚBooleanÚboolr!   rk  )rH   rE  rn  ro  rP  s        rZ   Úunicode_splitlinesrT  “  s®   € ð €Eå�(�EœMÑ*Ô*ð Ø”ˆˆå	�H�eœnÑ	-Ô	-ð Ø”ˆå”�s¥E¤Mµ4Ð8€HØÐ¥¨E°8Ñ!<Ô!<ÐÝØ%×,Ò,¨Z¸À8ÑLÔLñNô Nð 	Nð3ð 3ð 3ð 3ð Ðr[   c           
      óZ  — t          |¦  «        }|dk    rdS t          | ¦  «        }|dz
  |z  }| j        }| j        }|D ]>}|t          |¦  «        z  }t          ||j        ¦  «        }t	          ||j        ¦  «        }Œ?t          |||¦  «        }|d         }	t          |d|	dt          |	¦  «        ¦  «         t          |	¦  «        }
t          d|¦  «        D ]T}t          ||
| d|¦  «         |
|z  }
||         }	t          ||
|	dt          |	¦  «        ¦  «         |
t          |	¦  «        z  }
ŒU|S )Nr   Ú ry   )r1  rb   rc   r  r  rî   Ú_strncpyr  )r±  r   Ú	parts_lenrÿ  rI   rJ   rK   Úpr§  ÚpartÚ
dst_offsetr¿   s               rZ   Ú	join_listr\  ¬  s?  € å�E‘
”
€IØ�A‚~€~Øˆrõ �#‰hŒh€GØ˜!‰m˜wÑ&€FØŒ9€DØŒ}€HØð 6ð 6ˆØ•#�a‘&”&ÑˆÝ˜$ ¤Ñ(Ô(ˆÝ˜x¨¬Ñ5Ô5ˆˆå˜4 ¨Ñ2Ô2€Fð �Œ8€DÝˆV�Q˜˜a¥ T¡¤Ñ+Ô+Ð+Ý�T‘”€JÝ�Q˜	Ñ"Ô"ð  ð  ˆÝ�˜ S¨!¨WÑ5Ô5Ð5Ø�gÑˆ
Ø�SŒzˆÝ�˜ T¨1­c°$©i¬iÑ8Ô8Ð8Ø•c˜$‘i”iÑˆ
ˆ
à€Mr[   Újoinc                 óJ  — t          |t          j        ¦  «        rJt          |j        t          j        ¦  «        rd„ }|S t          |j        t          j        ¦  «        rd„ }|S d S t          |t          j        ¦  «        rd„ }|S t          |t          j        ¦  «        rd„ }|S d S )Nc                 ó"   — t          | |¦  «        S r™   ©r\  )r±  r   s     rZ   Újoin_list_implz$unicode_join.<locals>.join_list_implÑ  s   € Ý   eÑ,Ô,Ð,r[   c                 ó:   — d„ |D ¦   «         }t          | |¦  «        S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r_   ©r0  ©Ú.0rY  s     rZ   ú
<listcomp>z8unicode_join.<locals>.join_list_impl.<locals>.<listcomp>Ö  s   € Ð0Ð0Ð0 Q�#˜a™&œ&Ð0Ð0Ð0r[   r`  )r±  r   Ú_partss      rZ   ra  z$unicode_join.<locals>.join_list_implÕ  s%   € Ø0Ð0¨%Ð0Ñ0Ô0�Ý   fÑ-Ô-Ð-r[   c                 óD   — d„ |D ¦   «         }|                       |¦  «        S )Nc                 ó   — g | ]}|‘ŒS r_   r_   re  s     rZ   rg  z8unicode_join.<locals>.join_iter_impl.<locals>.<listcomp>Ý  s   € Ð+Ð+Ð+ ˜!Ð+Ð+Ð+r[   )r]  ©r±  r   Ú
parts_lists      rZ   Újoin_iter_implz$unicode_join.<locals>.join_iter_implÜ  s'   € Ø+Ð+ UÐ+Ñ+Ô+ˆJØ—8’8˜JÑ'Ô'Ð'r[   c                 ót   ‡— ˆfd„t          t          ‰¦  «        ¦  «        D ¦   «         }t          | |¦  «        S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r_   r_   )rf  rò   r   s     €rZ   rg  z7unicode_join.<locals>.join_str_impl.<locals>.<listcomp>ã  s   ø€ Ð>Ð>Ð> q˜% œ(Ð>Ð>Ð>r[   )r  r1  r\  rk  s    ` rZ   Újoin_str_implz#unicode_join.<locals>.join_str_implâ  s:   ø€ Ø>Ð>Ð>Ð>­Eµ#°e±*´*Ñ,=Ô,=Ð>Ñ>Ô>ˆJÝ˜S *Ñ-Ô-Ð-r[   )r+  r   ÚListrÞ  r,  r;  ÚIterableType)r±  r   ra  rm  rp  s        rZ   Úunicode_joinrs  Ì  sÙ   € õ �%�œÑ$Ô$ð Ý�e”k¥5Ô#4Ñ5Ô5ð 
	ð-ð -ð -à!Ð!Ý˜œ¥UÔ%9Ñ:Ô:ð 	ð.ð .ð .ð "Ð!àˆDÝ	�E�5Ô-Ñ	.Ô	.ð 
ð	(ð 	(ð 	(ð ÐÝ	�E�5Ô,Ñ	-Ô	-ð ð	.ð 	.ð 	.ð Ððð r[   Úzfillc                 ó^   — t          |t          j        ¦  «        st          d¦  «        ‚d„ }|S )Nz<width> must be an Integerc                 ó�   — t          | ¦  «        }||k    r| S |r| d         nd}d||z
  z  }|dv r||z   | dd …         z   }n|| z   }|S )Nr   rV  Ú0)ú+ú-ry   ©r1  )r$  r%  r,  Ú
first_charÚpaddingr?  s         rZ   Ú
zfill_implz!unicode_zfill.<locals>.zfill_implí  sp   € å�f‘+”+ˆà�GÒÐØˆMà")Ð1�V˜A”Y�Y¨rˆ
Ø˜ ™Ñ)ˆà˜Ð#Ð#Ø 'Ñ)¨F°1°2°2¬JÑ6ˆFˆFà˜vÑ%ˆFàˆr[   )r+  r   ri  r!   )r$  r%  r}  s      rZ   Úunicode_zfillr~  è  s<   € å�e�Uœ]Ñ+Ô+ð 8ÝÐ6Ñ7Ô7Ð7ðð ð ð" Ðr[   c                 óÄ   — t          | ¦  «        }d}|�!t          |¦  «        D ]}| |         |vr|c S Œn+t          |¦  «        D ]}t          | |         ¦  «        s|c S Œ|S ré   ©r1  r  r+   ©r$  Úcharsr,  rò   s       rZ   Úunicode_strip_left_boundrƒ    s�   € å�&‰kŒk€Gà	€AØÐÝ�w‘”ð 	ð 	ˆAØ�aŒy Ð%Ð%Ø���ð &ð	õ �w‘”ð 	ð 	ˆAÝ% f¨Q¤iÑ0Ô0ð Ø���ðð €Nr[   c                 óä   — t          | ¦  «        }d}|�)t          |dz
  dd¦  «        D ]}| |         |vr|dz  } nŒn3t          |dz
  dd¦  «        D ]}t          | |         ¦  «        s|dz  } nŒ|S r  r€  r�  s       rZ   Úunicode_strip_right_boundr…    s©   € å�&‰kŒk€GØ	€AØÐÝ�w ‘{ B¨Ñ+Ô+ð 	ð 	ˆAØ�aŒy Ð%Ð%Ø�Q‘�Ø�ð &øõ �w ‘{ B¨Ñ+Ô+ð 	ð 	ˆAÝ% f¨Q¤iÑ0Ô0ð Ø�Q‘�Ø�ðð €Hr[   c                 óÐ   — t          | t          j        ¦  «        r| j        } | �@t          | t          j        t          j        t          j        f¦  «        st          d¦  «        ‚d S d S )Nz%The arg must be a UnicodeType or None)r+  r   r9  r�   rh  r,  rj  r!   )r‚  s    rZ   Úunicode_strip_types_checkr‡  '  se   € Ý�%�œÑ(Ô(ð Ø”
ˆØˆM�Z¨µ´Ý05Ô0AÝ05´ð0@ñ Aô AˆMõ ÐAÑBÔBÐBð ˆMˆMˆMr[   c                 óÐ   — t          | t          j        ¦  «        r| j        } | �@t          | t          j        t          j        t          j        f¦  «        st          d¦  «        ‚d S d S )Nz,The slice indices must be an Integer or None)r+  r   r9  r�   rh  ri  rj  r!   )Úargs    rZ   rÆ  rÆ  0  sa   € Ý�#•u”~Ñ&Ô&ð ØŒhˆØˆK�: c­E¬MÝ,1¬MÝ,1¬Nð,<ñ =ô =ˆKõ ÐHÑIÔIÐIð ˆKˆKˆKr[   Úlstripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r™   )rŠ  r0  ©r$  r‚  s     rZ   Úlstrip_implz#unicode_lstrip.<locals>.lstrip_impl=  ó   € Ø—=’=¥ U¡¤Ñ,Ô,Ð,r[   c                 ó2   — | t          | |¦  «        d …         S r™   )rƒ  r�  s     rZ   rŽ  z#unicode_lstrip.<locals>.lstrip_implC  s   € ØÕ.¨v°uÑ=Ô=Ð>Ð>Ô?Ð?r[   r™   ©r+  r   r;  r‡  )r$  r‚  rŽ  s      rZ   Úunicode_lstripr’  9  s_   € õ �%�Ô-Ñ.Ô.ð ð	-ð 	-ð 	-ð 	-àÐå˜eÑ$Ô$Ð$ð@ð @ð @ð @àÐr[   Úrstripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r™   )r“  r0  r�  s     rZ   Úrstrip_implz#unicode_rstrip.<locals>.rstrip_implL  r�  r[   c                 ó2   — | d t          | |¦  «        …         S r™   )r…  r�  s     rZ   r–  z#unicode_rstrip.<locals>.rstrip_implR  s   € ØÐ?Õ0°¸Ñ?Ô?Ð?Ô@Ð@r[   r™   r‘  )r$  r‚  r–  s      rZ   Úunicode_rstripr˜  H  s_   € õ �%�Ô-Ñ.Ô.ð ð	-ð 	-ð 	-ð 	-àÐå˜eÑ$Ô$Ð$ðAð Að Að AàÐr[   Ústripc                 ól   — t          |t          j        ¦  «        rdd„}|S t          |¦  «         dd„}|S )Nc                 óF   — |                       t          |¦  «        ¦  «        S r™   )r™  r0  r�  s     rZ   Ú
strip_implz!unicode_strip.<locals>.strip_impl[  s   € Ø—<’<¥ E¡
¤
Ñ+Ô+Ð+r[   c                 óV   — t          | |¦  «        }t          | |¦  «        }| ||…         S r™   )rƒ  r…  )r$  r‚  ÚlbÚrbs       rZ   rœ  z!unicode_strip.<locals>.strip_impla  s.   € Ý% f¨eÑ4Ô4ˆÝ& v¨uÑ5Ô5ˆØ�b˜�eŒ}Ðr[   r™   r‘  )r$  r‚  rœ  s      rZ   Úunicode_stripr   W  s]   € õ �%�Ô-Ñ.Ô.ð ð	,ð 	,ð 	,ð 	,àÐå˜eÑ$Ô$Ð$ðð ð ð ð Ðr[   c                 ób   — | €|rdS |S | dk     r| |z  } | dk     s| |k    rt          d¦  «        ‚| S )a%  
    Parameters
    ----------
    idx : int or None
        the index
    length : int
        the string length
    is_start : bool; optional with defaults to True
        Is it the *start* or the *stop* of the slice?

    Returns
    -------
    norm_idx : int
        normalized index
    Nr   zstring index out of range)Ú
IndexError)r¿   rI   Úis_starts      rZ   Únormalize_str_idxr¤  l  sR   € ð" €{Øð 	Ø�1àˆMØ	ˆqŠˆØˆv‰ˆà
ˆQ‚w€w�#˜’-�-ÝÐ4Ñ5Ô5Ð5à€Jr[   c                 óJ   — | €|S | | cxk    r|k     rn n| |z  S | dk     rdn| S )a%  
    Used for unicode_count

    If arg < -slice_len, returns 0 (prevents circle)

    If arg is within slice, e.g -slice_len <= arg < slice_len
    returns its real index via arg % slice_len

    If arg > slice_len, returns arg (in this case count must
    return 0 if it is start index)
    Nr   r_   )r‰  Ú	slice_lenÚdefaults      rZ   rÁ  rÁ  ‹  sN   € ð €{ØˆØ€z�SÐ$Ð$Ò$Ð$˜9Ò$Ð$Ð$Ð$Ð$Ø�Y‰ÐØ�a’�ˆ1ˆ1˜SÐ r[   c                 ó(   —  |||¦  «        }d„ }||fS )zFix slice object.
    c                 óÐ   — |j         \  }}|\  }}|                      |||¦  «        }t          j        | |||¦  «         t          j        |||¦  «         |                     ¦   «         S r™   )r¾   Úmake_helperrC   Úguard_invalid_sliceÚ	fix_slicerŽ   )	r�   r�   rÍ   r¾   Ú	slicetypeÚ
lengthtypeÚsliceobjrI   Úslices	            rZ   rÃ   z!_normalize_slice.<locals>.codegen¦  sk   € Ø"%¤(Ñˆ�JØ!Ñˆ�6Ø×#Ò# G¨Y¸ÑAÔAˆÝÔ# G¨W°iÀÑGÔGÐGÝÔ˜' 5¨&Ñ1Ô1Ð1Ø�ŠÑ Ô Ð r[   r_   )rË   r¯  rI   rÍ   rÃ   s        rZ   Ú_normalize_slicer±     s0   € ð ˆ(�8˜VÑ
$Ô
$€Cð!ð !ð !ð �ˆ<Ðr[   c                 ó8   — t          j        |¦  «        }d„ }||fS )z2Compute the span from the given slice object.
    c                 óx   — |j         \  }|\  }|                      |||¦  «        }t          j        ||¦  «        }|S r™   )r¾   rª  rC   Úget_slice_length)r�   r�   rÍ   r¾   r­  r¯  r°  Úresult_sizes           rZ   rÃ   z_slice_span.<locals>.codegen·  sA   € Ø”h‰ˆØ‰
ˆØ×#Ò# G¨Y¸ÑAÔAˆÝÔ.¨w¸Ñ>Ô>ˆØÐr[   )r   rP   )rË   r¯  rÍ   rÃ   s       rZ   Ú_slice_spanr¶  ±  s.   € õ Œ*�XÑ
Ô
€Cðð ð ð �ˆ<Ðr[   c           
      ó  — |j         | j         k    rDt          |j         ¦  «        }||z  }||z  }||z  }t          | j        ||j        ||d¬¦  «         d S t	          |¦  «        D ]'}	t          | ||	z   t          |||	z   ¦  «        ¦  «         Œ(d S )Nry   )Úalign)rb   r}   r    r`   r  rê   ró   )
Údstr[  rÂ  Ú
src_offsetr  Ú
byte_widthÚsrc_byte_offsetÚdst_byte_offsetr…   rò   s
             rZ   rW  rW  Á  sÈ   € à
„y�C”IÒÐÝ(¨¬Ñ3Ô3ˆ
Ø$ zÑ1ˆØ$ zÑ1ˆØ�Z‘ˆÝ�c”i °#´)Ø% v°Qð	8ñ 	8ô 	8ð 	8ð 	8ð 	8õ �q‘”ð 	Bð 	BˆAÝ˜C ¨a¡Ý+¨C°¸a±Ñ@Ô@ñBô Bð Bð Bð	Bð 	Br[   c                 óœ   — |t           j        k    sJ ‚d„ }t          j        t           j        t           j        t           j        ¦  «        }||fS )z_Create a slice of a unicode string using a view of its data to avoid
    extra allocation.
    c                 ó\  — |\  }}} t          j        t          j        ¦  «        | ||¬¦  «        } t          j        t          j        ¦  «        | |¦  «        }|j        |_        |j        |_        |j        |_        ||_        |                      t          d¦  «        |_
        | j                             t          ¦  «        }	|	                     | j        t          j        fi ¦  «        }
|                      |	|
¦  «        } |||j        f¦  «        }|                     ||¦  «        }|                     |j        |g¦  «        |_        t          j        |j        j        ¦  «        |_        | j        r'| j                             ||j        d         |¦  «         |                     ¦   «         S )Nr­   r‰   r   )r   rŒ   r   rØ   rM   rJ   rK   rI   rÜ   r   rL   Útyping_contextÚresolve_value_typer}   Úget_call_typerQ   Úget_functionrÙ   r»   rH   rÞ   rN   r�   Ú
enable_nrtr°   Úincrefr¾   rŽ   )r�   r�   rÍ   r¾   rÂ  r~  rI   Úin_strÚview_strÚbw_typÚbw_sigÚbw_implr»  rÌ   s                 rZ   rÃ   z$_get_str_slice_view.<locals>.codegen×  sŠ  € Ø!ÑˆˆU�Fð •Ô,ÝÔñ ô  Ø '¨¸ð=ñ =ô =ˆð •7Ô.ÝÔñ ô  Ø '¨ñ2ô 2ˆà!œ>ˆÔØœˆŒØ"œOˆÔØ ˆŒà×,Ò,­Z¸Ñ<Ô<ˆŒàÔ'×:Ò:Õ;NÑOÔOˆØ×%Ò%ØÔ"¥U¤[ N°Bñ8ô 8ˆà×&Ò& v¨vÑ6Ô6ˆØ�W˜W v¤{ nÑ5Ô5ˆ
Ø—’˜U JÑ/Ô/ˆØŸš F¤K°&°Ñ:Ô:ˆŒå!Ô0°´Ô1EÑFÔFˆŒàÔð 	:ØŒK×Ò˜w¨¬°¬°SÑ9Ô9Ð9Ø×!Ò!Ñ#Ô#Ð#r[   )r   rØ   rP   )rË   Úsrc_tÚstart_tÚlength_trÃ   rÍ   s         rZ   Ú_get_str_slice_viewrÎ  Ð  sN   € ð
 •EÔ&Ò&Ð&Ð&Ð&ð$ð $ð $õ6 Ô
�UÔ/µ´½U¼ZÑ
HÔ
H€CØ�ˆ<Ðr[   c                 óº   — t          | t          j        ¦  «        r>t          |t          j        ¦  «        rd„ }|S t          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó  — t          |t          | ¦  «        ¦  «        }t          | |¦  «        }t          |¦  «        }|| j        k    rt          | |d¦  «        S t          |¦  «        }t          |d|¦  «        }t          |d|¦  «         |S r  )	r¤  r1  ró   r"  rb   rÎ  r%  rî   rê   )rí   r¿   r  rJ   rK   Úrets         rZ   Úgetitem_charz%unicode_getitem.<locals>.getitem_charú  s…   € Ý'¨­S°©V¬VÑ4Ô4�Ý$ Q¨Ñ,Ô,�Ý)¨"Ñ-Ô-�Ø˜1œ7’?�?Ý.¨q°#°qÑ9Ô9Ð9å2°2Ñ6Ô6�HÝ'¨¨a°Ñ:Ô:�CÝ# C¨¨BÑ/Ô/Ð/Ø�Jr[   c           	      ó¦  — t          |t          | ¦  «        ¦  «        }t          |¦  «        }t          | |j        ¦  «        }t          |¦  «        }t          |¦  «        }t          |j        |j        z   |j	        |j        ¦  «        D ]I}t          | |¦  «        }|t          |¦  «        z  }t          |¦  «        }||k    rt          ||¦  «        }ŒJ|j        dk    r!|| j        k    rt          | |j        |¦  «        S t          |||¦  «        }	|j        }
t          |¦  «        D ]+}t          |	|t          | |
¦  «        ¦  «         |
|j        z  }
Œ,|	S rt  )r±  r1  r¶  ró   r~  r"  r%  r  ÚstepÚstopr  rb   rÎ  rî   rê   )rí   r¿   Ú	slice_idxÚspanr  rJ   rK   rò   Únew_kindrÑ  Úcurs              rZ   Úgetitem_slicez&unicode_getitem.<locals>.getitem_slice  sU  € Ý,¨Sµ#°a±&´&Ñ9Ô9�	Ý" 9Ñ-Ô-�å$ Q¨	¬Ñ8Ô8�Ý)¨"Ñ-Ô-�Ý.¨rÑ2Ô2�õ ˜yœ°´Ñ?Ø(œ~¨y¬~ñ?ô ?ð :ð :�Aå(¨¨AÑ.Ô.�BØÕ 3°BÑ 7Ô 7Ñ7�HÝ1°"Ñ5Ô5�HØ˜xÒ'Ð'Ý)¨$°Ñ9Ô9˜øð ”> QÒ&Ð&¨4°1´7ª?¨?õ /¨q°)´/À4ÑHÔHÐHõ (¨¨d°HÑ=Ô=�CØ#œ/�CÝ" 4™[œ[ð .ð .˜Ý'¨¨QµÀÀ3Ñ0GÔ0GÑHÔHÐHØ˜yœ~Ñ-˜˜Ø�Jr[   )r+  r   r,  ri  Ú	SliceType)rí   r¿   rÒ  rÚ  s       rZ   Úunicode_getitemrÜ  ö  sƒ   € å�!•UÔ&Ñ'Ô'ð 3!Ý�c�5œ=Ñ)Ô)ð 2	!ð
ð 
ð 
ð  ÐÝ˜�Uœ_Ñ-Ô-ð %	!ð"ð "ð "ðH !Ð ðg3!ð 3!ð%	!ð %	!r[   c                 óî   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc           	      óÆ  — | j         |j         z   }t          | j        |j        ¦  «        }t          | j        |j        ¦  «        }t          |||¦  «        }t          t          | ¦  «        ¦  «        D ]!}t          ||t          | |¦  «        ¦  «         Œ"t          t          |¦  «        ¦  «        D ]1}t          |t          | ¦  «        |z   t          ||¦  «        ¦  «         Œ2|S r™   )
ra   r  rb   r  rc   rî   r  r1  rê   ró   )rñ   r  Ú
new_lengthrØ  Ú	new_asciir§  rò   r…  s           rZ   Úconcat_implz#unicode_concat.<locals>.concat_impl7  sÎ   € Øœ Q¤YÑ.ˆJÝ! !¤'¨1¬7Ñ3Ô3ˆHÝ# A¤K°´Ñ=Ô=ˆIÝ" 8¨Z¸ÑCÔCˆFÝ�3˜q™6œ6‘]”]ð Bð B�Ý ¨­?¸1¸aÑ+@Ô+@ÑAÔAÐAÐAÝ�3˜q™6œ6‘]”]ð Kð K�Ý ­¨A©¬°©
µOÀAÀqÑ4IÔ4IÑJÔJÐJÐJØˆMr[   c                 ó&   — | t          |¦  «        z   S r™   rd  r7  s     rZ   rá  z#unicode_concat.<locals>.concat_implD  s   € Ø•s˜1‘v”v‘:Ðr[   )r+  r   r,  r;  )rñ   r  rá  s      rZ   Úunicode_concatrã  3  s–   € õ �!•UÔ&Ñ'Ô'ð ­J°q½%Ô:KÑ,LÔ,Lð ð		ð 		ð 		ð Ðå�!•UÔ&Ñ'Ô'ð ­J°q½%Ô:NÑ,OÔ,Oð ð	ð 	ð 	àÐðð ð ð r[   c                 óh  — | dk    s|dk     rdS |dk    r| S | j         |z  }| j        }t          ||| j        ¦  «        }t	          | ¦  «        }t          |d| d|¦  «         |}d|z  |k    r!t          |||d|¦  «         |dz  }d|z  |k    °!d|z  |k    s||z
  }t          |||||z
  |¦  «         |S d S )NrV  ry   r   r  )ra   rb   rî   rc   r1  rW  )Ústr_argÚmult_argrß  rØ  r§  Úlen_aÚ	copy_sizeÚrests           rZ   Ú_repeat_implrê  I  s÷   € à�"‚}€}˜ 1š˜ØˆrØ	�QŠˆØˆà”_ xÑ/ˆ
Ø”=ˆÝ˜x¨°WÔ5FÑGÔGˆå�G‘”ˆÝ�˜˜G Q¨Ñ.Ô.Ð.àˆ	Ø�)‰m˜zÒ)Ð)Ý�V˜Y¨°°9Ñ=Ô=Ð=Ø˜‰NˆIð �)‰m˜zÒ)Ð)ð �9‰} 
Ò*Ð*ð  	Ñ)ˆDÝ�V˜Y¨°	¸DÑ0@À$ÑGÔGÐGØˆMð +Ð*r[   c                 óî   — t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S t          | t          j        ¦  «        rt          |t          j        ¦  «        rd„ }|S d S d S )Nc                 ó"   — t          | |¦  «        S r™   ©rê  r7  s     rZ   Úwrapzunicode_repeat.<locals>.wrapg  ó   € Ý  1Ñ%Ô%Ð%r[   c                 ó"   — t          || ¦  «        S r™   rí  r7  s     rZ   rî  zunicode_repeat.<locals>.wrapk  rï  r[   )r+  r   r,  ri  )rñ   r  rî  s      rZ   Úunicode_repeatrñ  d  sŽ   € å�!•UÔ&Ñ'Ô'ð ­J°q½%¼-Ñ,HÔ,Hð ð	&ð 	&ð 	&àˆÝ	�A•u”}Ñ	%Ô	%ð ­*°Q½Ô8IÑ*JÔ*Jð ð	&ð 	&ð 	&àˆðð ð ð r[   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó(   — t          | ¦  «        dk    S ré   rz  ©rñ   s    rZ   r’  zunicode_not.<locals>.impls  s   € Ý�q‘6”6˜Q’;Ðr[   r*  ©rñ   r’  s     rZ   Úunicode_notrö  p  s5   € å�!•UÔ&Ñ'Ô'ð ð	ð 	ð 	àˆðð r[   Úreplacec                 ó&  — |}t          |t          j        ¦  «        r|j        }n!t          |t          j        ¦  «        r|j        }t          |t          t          j        f¦  «        s"t          d 	                    |¦  «        ¦  «        ‚t          |t          j
        t          j        f¦  «        s"t          d 	                    |¦  «        ¦  «        ‚t          |t          j
        ¦  «        s"t          d 	                    |¦  «        ¦  «        ‚dd„}|S )NzGUnsupported parameters. The parameters must be Integer. Given count: {}z+The object must be a UnicodeType. Given: {}r‰   c                 ó’  — |dk    r| S |dk    �rt          | ¦  «        }|dk    r||                     |¦  «        z   |z   S |g}t          t          |¦  «        |¦  «        }t	          |¦  «        D ]o}|                     ||         ¦  «         |dz   |k    r|                     |¦  «         Œ<|                     d                     ||dz   d …         ¦  «        ¦  «         Œp|t          |¦  «        k    r|                     |¦  «         d                     |¦  «        S |                      ||¦  «        }|                     |¦  «        }|S )Nr   rV  r‰   ry   )Úlistr]  rJ  r1  r  rý  r÷  )	rí   Úold_strÚnew_strr½  ÚscharsÚsplit_resultÚ	min_countrò   r§  s	            rZ   r’  zunicode_replace.<locals>.implŒ  sL  € Ø�AŠ:ˆ:ØˆHØ�bŠ=‰=Ý˜!‘W”WˆFØ˜Š{ˆ{Ø §¢¨fÑ!5Ô!5Ñ5¸Ñ?Ð?Ø#˜9ˆLÝ�C ™KœK¨Ñ/Ô/ˆIÝ˜9Ñ%Ô%ð Cð C�Ø×#Ò# F¨1¤IÑ.Ô.Ð.Ø�q‘5˜IÒ%Ð%Ø ×'Ò'¨Ñ0Ô0Ð0Ð0à ×'Ò'¨¯ª°¸¸A¹°x°xÔ0@Ñ(AÔ(AÑBÔBÐBÐBØ•s˜6‘{”{Ò"Ð"Ø×#Ò# GÑ,Ô,Ð,Ø—7’7˜<Ñ(Ô(Ð(Ø—’˜ %Ñ(Ô(ˆØ—’˜fÑ%Ô%ˆØˆr[   ©r‰   )r+  r   rh  r|   r9  r�   rõ  ri  r!   rk  r,  rj  )rí   rû  rü  r½  rn  r’  s         rZ   Úunicode_replacer  x  s  € à€EÝ�%�œÑ'Ô'ð Ø”ˆˆÝ	�E�5œ>Ñ	*Ô	*ð Ø”
ˆå�e�c¥5¤=Ð1Ñ2Ô2ð LÝð =ß=CºVÀE¹]¼]ñLô Lð 	Lõ �g¥Ô 1µ5´>ÐBÑCÔCð 8Ýð 'ß'-¢v¨g¡¤ñ8ô 8ð 	8õ �g�uÔ0Ñ1Ô1ð 8Ýð 'ß'-¢v¨g¡¤ñ8ô 8ð 	8ðð ð ð ð, €Kr[   c                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 ó   •— ˆˆfd„}|S )Nc                 ój  •— t          | ¦  «        }|dk    rdS |dk    r-t          | d¦  «        }| j        r ‰|¦  «        S  ‰|¦  «        S | j        r0t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!dS )Nr   Fry   T)r1  ró   rc   r  )rH   rI   rñ  rò   Ú
ascii_funcÚunicode_funcs       €€rZ   r’  z.gen_isAlX.<locals>.unicode_isAlX.<locals>.impl­  sõ   ø€ Ý˜‘Y”YˆFØ˜Š{ˆ{Ø�uà˜Š{ˆ{Ý,¨T°1Ñ5Ô5�
Ø”>ð 4Ø%˜: jÑ1Ô1Ð1à'˜<¨
Ñ3Ô3Ð3àŒ~ð %Ý˜v™œð %ð %�AÝ!0°°qÑ!9Ô!9�JØ%˜: jÑ1Ô1ð %Ø$˜u˜uð%õ ˜6‘]”]ð !ð !�Ý,¨T°1Ñ5Ô5�
Ø#�| JÑ/Ô/ð !Ø ˜5˜5ð!ð �4r[   r_   )rH   r’  r  r  s     €€rZ   Úunicode_isAlXz gen_isAlX.<locals>.unicode_isAlX«  s(   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð2 ˆr[   r_   )r  r  r  s   `` rZ   Ú	gen_isAlXr  ª  s*   øø€ ðð ð ð ð ð ð8 Ðr[   Úisalphac                 ó>   — t          | ¦  «        pt          | ¦  «        S r™   )r?   r>   ©Úxs    rZ   ú<lambda>r  Î  s"   € Ý&:¸1Ñ&=Ô&=ð '<Ý&8¸Ñ&;Ô&;ð r[   Úisalnumc                 ó   ‡ ‡‡— ˆ ˆˆfd„}|S )Nc                 ó  •— t          | ¦  «        }|dk    r ‰t          | d¦  «        ¦  «        S |dk    rdS d}t          |¦  «        D ]:}t          | |¦  «        } ‰|¦  «        s ‰|¦  «        r dS |s ‰|¦  «        rd}Œ;|S ©Nry   r   FT©r1  ró   r  )rñ   ÚlÚcasedr¿   rñ  Úis_lowerÚis_titleÚis_uppers        €€€rZ   r’  z_is_upper.<locals>.implÜ  s¶   ø€ Ý�‰FŒFˆØ�Š6ˆ6Ø�8�O¨A¨qÑ1Ô1Ñ2Ô2Ð2Ø�Š6ˆ6Ø�5ØˆÝ˜‘8”8ð 	ð 	ˆCÝ(¨¨CÑ0Ô0ˆJØˆx˜
Ñ#Ô#ð  x x°
Ñ';Ô';ð Ø�u�uØð   ¨Ñ 4Ô 4ð Ø�øØˆr[   r_   )r  r  r  r’  s   ``` rZ   Ú	_is_upperr  ×  s/   øøø€ ð
ð ð ð ð ð ð ð €Kr[   c                 ó   — dS r6  r_   r  s    rZ   r  r  í  s   € ¨5€ r[   Úisupperc                 ó   — d„ }|S )z
    Implements .isupper()
    c                 óL   — | j         rt          | ¦  «        S t          | ¦  «        S r™   )rc   Ú_ascii_is_upperÚ_unicode_is_upperrô  s    rZ   r’  zunicode_isupper.<locals>.implú  s(   € ØŒ;ð 	(Ý" 1Ñ%Ô%Ð%å$ QÑ'Ô'Ð'r[   r_   rõ  s     rZ   Úunicode_isupperr  õ  s   € ð
(ð (ð (ð
 €Kr[   Úisasciic                 ó   — d„ }|S )z Implements UnicodeType.isascii()c                 ó   — | j         S r™   )rc   ©rH   s    rZ   r’  zunicode_isascii.<locals>.impl  s
   € ØŒ~Ðr[   r_   ©rH   r’  s     rZ   Úunicode_isasciir%    s   € ðð ð à€Kr[   Úistitlec                 ó   — d„ }|S )zï
    Implements UnicodeType.istitle()
    The algorithm is an approximate translation from CPython:
    https://github.com/python/cpython/blob/1d4b6ba19466aba0eb91c4ba01ba509acf18c723/Objects/unicodeobject.c#L11829-L11885 # noqa: E501
    c                 ón  — t          | ¦  «        }|dk    r.t          | d¦  «        }t          |¦  «        pt          |¦  «        S |dk    rdS d}d}t	          |¦  «        D ]U}t          | |¦  «        }t          |¦  «        st          |¦  «        r
|r dS d}d}Œ:t          |¦  «        r
|s dS d}d}ŒSd}ŒV|S r  )r1  ró   r1   r7   r  r2   )rH   rI   Úcharr  Úprevious_is_casedr¿   s         rZ   r’  zunicode_istitle.<locals>.impl  sô   € Ý�T‘”ˆØ�QŠ;ˆ;Ý" 4¨Ñ+Ô+ˆDÝ)¨$Ñ/Ô/ÐOÕ3IÈ$Ñ3OÔ3OÐOà�QŠ;ˆ;Ø�5àˆØ!ÐÝ˜‘=”=ð 	*ð 	*ˆCÝ" 4¨Ñ-Ô-ˆDÝ% dÑ+Ô+ð *Õ/EÀdÑ/KÔ/Kð *Ø$ð !Ø ˜5˜5Ø$(Ð!Ø��Ý'¨Ñ-Ô-ð *Ø(ð !Ø ˜5˜5Ø$(Ð!Ø��à$)Ð!Ð!àˆr[   r_   r$  s     rZ   Úunicode_istitler+    s   € ðð ð ð6 €Kr[   Úislowerc                 ó   — d„ }|S )aP  
    impl is an approximate translation of:
    https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/unicodeobject.c#L11900-L11933    # noqa: E501
    mixed with:
    https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/bytes_methods.c#L131-L156    # noqa: E501
    c                 ó*  — t          | ¦  «        }|dk    rt          t          | d¦  «        ¦  «        S |dk    rdS d}t          |¦  «        D ]F}t          | |¦  «        }t	          |¦  «        st          |¦  «        r dS |st          |¦  «        rd}ŒG|S r  )r1  r2   ró   r  r1   r7   )rH   rI   r  r¿   r  s        rZ   r’  zunicode_islower.<locals>.impl:  s¯   € Ý�T‘”ˆØ�QŠ;ˆ;Ý)­/¸$ÀÑ*BÔ*BÑCÔCÐCØ�QŠ;ˆ;Ø�5àˆÝ˜‘=”=ð 	ð 	ˆCÝ   sÑ+Ô+ˆBÝ% bÑ)Ô)ð Õ-CÀBÑ-GÔ-Gð Ø�u�uØð Õ5°bÑ9Ô9ð Ø�øØˆr[   r_   r$  s     rZ   Úunicode_islowerr/  1  s   € ðð ð ð €Kr[   Úisidentifierc                 ó   — d„ }|S )z%Implements UnicodeType.isidentifier()c                 óì   — t          | ¦  «        }|dk    rdS t          | d¦  «        }t          |¦  «        s|dk    rdS t          d|¦  «        D ]$}t          | |¦  «        }t	          |¦  «        s dS Œ%dS )Nr   Fé_   ry   T)r1  ró   r-   r  r.   )rH   rI   Úfirst_cprò   rñ  s        rZ   r’  z"unicode_isidentifier.<locals>.implQ  s”   € Ý�T‘”ˆØ�QŠ;ˆ;Ø�5å" 4¨Ñ+Ô+ˆÝ$ XÑ.Ô.ð 	°8¸tÒ3CÐ3CØ�5å�q˜&Ñ!Ô!ð 	ð 	ˆAÝ(¨¨qÑ1Ô1ˆJÝ+¨JÑ7Ô7ð Ø�u�uðð ˆtr[   r_   r$  s     rZ   Úunicode_isidentifierr5  M  s   € ðð ð ð  €Kr[   c                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 ó   •— ˆˆfd„}|S )Nc                 óØ   •— t          | ¦  «        }|dk    r ‰t          | d¦  «        ¦  «        S ‰r|dk    rdS t          |¦  «        D ] }t          | |¦  «        } ‰|¦  «        s dS Œ!dS r  r  )rH   rI   rò   rñ  Ú_PyUnicode_IS_funcÚempty_is_falses       €€rZ   r’  z*gen_isX.<locals>.unicode_isX.<locals>.implg  s‘   ø€ Ý˜‘Y”YˆFØ˜Š{ˆ{Ø)Ð)­/¸$ÀÑ*BÔ*BÑCÔCÐCàð  &¨A¢+ +Ø�uå˜6‘]”]ð !ð !�Ý,¨T°1Ñ5Ô5�
Ø)Ð)¨*Ñ5Ô5ð !Ø ˜5˜5ð!ð �4r[   r_   )rH   r’  r9  r:  s     €€rZ   Úunicode_isXzgen_isX.<locals>.unicode_isXf  s(   ø€ ð	ð 	ð 	ð 	ð 	ð 	ð ˆr[   r_   )r9  r:  r;  s   `` rZ   Úgen_isXr<  e  s*   øø€ ðð ð ð ð ð ð" Ðr[   ÚisspaceÚ	isnumericÚisdigitÚ	isdecimalÚisprintablec                 ó   ‡ ‡— ˆ ˆfd„}|S )z)Generate common case operation performer.c           	      óè  •— t          | ¦  «        }|dk    rt          | j        || j        ¦  «        S | j        r$t          | j        |d¦  «        } ‰	| |¦  «         |S t          t          d|z  | j        ¦  «        }dg} ‰
| |||¦  «        }|d         }t          |¦  «        }t          ||t          |¦  «        ¦  «        }t          |¦  «        D ]!}t          ||t          ||¦  «        ¦  «         Œ"|S )Nr   ry   é   )
r1  rî   rb   rc   r   r"  r%  r  rê   ró   )rH   rI   r²   ÚtmpÚmaxcharsÚ	newlengthÚmaxcharÚnewkindrò   r  r  s            €€rZ   r’  zcase_operation.<locals>.impl“  s  ø€ Ý�T‘”ˆØ�QŠ;ˆ;Ý  ¤¨V°T´^ÑDÔDÐDàŒ>ð 	Ý ¤
¨F°AÑ6Ô6ˆCØˆJ�t˜SÑ!Ô!Ð!ØˆJõ Õ1°1°v±:¸t¼~ÑNÔNˆà�3ˆØ �L  v¨s°HÑ=Ô=ˆ	Ø˜1”+ˆÝ$ WÑ-Ô-ˆÝ˜G YÕ0CÀGÑ0LÔ0LÑMÔMˆÝ�yÑ!Ô!ð 	=ð 	=ˆAÝ˜C ¥O°C¸Ñ$;Ô$;Ñ<Ô<Ð<Ð<àˆ
r[   r_   )r  r  r’  s   `` rZ   Úcase_operationrJ  ‘  s)   øø€ ðð ð ð ð ð ð. €Kr[   c                 óD  — d}|dz
  }|dk    r+t          | |¦  «        }t          |¦  «        sn|dz  }|dk    °+|dk    ot          |¦  «        }|rL|dz   }||k     r+t          | |¦  «        }t          |¦  «        sn|dz  }||k     °+||k    pt          |¦  «         }|rdndS )zEThis is a translation of the function that handles the capital sigma.r   ry   iÂ  iÃ  )ró   r0   r/   )rH   rI   r¿   r©   r…  Úfinal_sigmas         rZ   Ú_handle_capital_sigmarM  ®  sæ   € ð 	
€AØˆa‰€AØ
ˆqŠ&ˆ&Ý˜D !Ñ$Ô$ˆÝ)¨!Ñ,Ô,ð 	ØØ	ˆQ‰ˆð	 ˆqŠ&ˆ&ð
 ˜’6Ð3Õ0°Ñ3Ô3€KØð CØ�!‰GˆØ�&ŠjˆjÝ  aÑ(Ô(ˆAÝ-¨aÑ0Ô0ð ØØ�‰FˆAð	 �&Šjˆjð
 ˜F’{ÐAÕ+=¸aÑ+@Ô+@Ð'@ˆàÐ*ˆ5ˆ5 UÐ*r[   c                 óZ   — | dk    rt          |||¦  «        |d<   dS t          | |¦  «        S )z>This is a translation of the function that lowers a character.i£  r   ry   )rM  r'   )rñ  rH   rI   r¿   Úmappeds        rZ   Ú_lower_ucs4rP  Æ  s9   € ð �UÒÐÝ)¨$°¸Ñ<Ô<ˆˆq‰	ØˆqÝ! *¨fÑ5Ô5Ð5r[   c                 ó   ‡ — ˆ fd„}|S )Nc                 óJ  •— d}t          |¦  «        D ]�}t          j        dt          ¬¦  «        }t	          | |¦  «        }‰
rt          || |||¦  «        }nt          ||¦  «        }|d |…         D ]1}	t          |d         |	¦  «        |d<   t          |||	¦  «         |dz  }Œ2Œ�|S ©Nr   rD  ©rÞ  ry   )	r  rë   Úzerosr$   ró   rP  r&   Úmaxrê   )rH   rI   r²   rF  Úkr¿   rO  rñ  Ún_resr€  Úlowers             €rZ   Ú_do_upper_or_lowerz7_gen_unicode_upper_or_lower.<locals>._do_upper_or_lowerÑ  sÈ   ø€ ØˆÝ˜‘=”=ð 	ð 	ˆCÝ”X˜a¥xÐ0Ñ0Ô0ˆFÝ(¨¨sÑ3Ô3ˆJØð CÝ# J°°f¸cÀ6ÑJÔJ��õ /¨z¸6ÑBÔB�Ø˜F˜U˜F”^ð ð �Ý! (¨1¤+¨qÑ1Ô1�˜‘Ý  Q¨Ñ*Ô*Ð*Ø�Q‘��ðð ˆr[   r_   )rY  rZ  s   ` rZ   Ú_gen_unicode_upper_or_lowerr[  Ð  s$   ø€ ðð ð ð ð ð Ðr[   c                 ó   ‡ — ˆ fd„}|S )Nc                 óš   •— t          t          | ¦  «        ¦  «        D ],}t          | |¦  «        }t          || ‰|¦  «        ¦  «         Œ-d S r™   )r  r1  ró   rê   )rH   r²   r¿   rñ  Úfuncs       €rZ   Ú_ascii_upper_or_lowerz8_gen_ascii_upper_or_lower.<locals>._ascii_upper_or_lowerè  sX   ø€ Ý�˜T™œÑ#Ô#ð 	8ð 	8ˆCÝ(¨¨sÑ3Ô3ˆJÝ˜C  d d¨:Ñ&6Ô&6Ñ7Ô7Ð7Ð7ð	8ð 	8r[   r_   )r^  r_  s   ` rZ   Ú_gen_ascii_upper_or_lowerr`  ç  s$   ø€ ð8ð 8ð 8ð 8ð 8ð !Ð r[   rY  c                 ó6   — t          t          t          ¦  «        S )zImplements .lower())rJ  Ú_ascii_lowerÚ_unicode_lowerr#  s    rZ   Úunicode_lowerrd  ó  ó   € õ �,­Ñ7Ô7Ð7r[   Úupperc                 ó6   — t          t          t          ¦  «        S )zImplements .upper())rJ  Ú_ascii_upperÚ_unicode_upperr#  s    rZ   Úunicode_upperrj  ù  re  r[   c                 óJ  — d}t          j        dt          ¬¦  «        }t          |¦  «        D ]u}|                     d¦  «         t          | |¦  «        }t          ||¦  «        }|d |…         D ]3}	|d         }
t          |
|	¦  «        |d<   t          |||	¦  «         |dz  }Œ4Œv|S rS  )	rë   rU  r$   r  Úfillró   r(   rV  rê   )rH   rI   r²   rF  rW  rO  r¿   rñ  rX  r€  rH  s              rZ   Ú_unicode_casefoldrm   	  s·   € à	€AÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý'¨
°FÑ;Ô;ˆØ˜˜˜”ð 	ð 	ˆAØ˜q”kˆGÝ˜g q™/œ/ˆH�Q‰KÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð		ð €Hr[   c                 ó    — t          t          | ¦  «        ¦  «        D ]0}t          | |¦  «        }t          ||t	          |¦  «        ¦  «         Œ1d S r™   )r  r1  ró   rê   r#   ©rH   r²   r¿   rñ  s       rZ   Ú_ascii_casefoldrp  	  sU   € å•S˜‘Y”YÑÔð ;ð ;ˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜˜S¥+¨jÑ"9Ô"9Ñ:Ô:Ð:Ð:ð;ð ;r[   Úcasefoldc                 ó6   — t          t          t          ¦  «        S )zImplements str.casefold())rJ  rp  rm  r#  s    rZ   Úunicode_casefoldrs  	  s   € õ �/Õ+<Ñ=Ô=Ð=r[   c                 óð  — d}d}t          j        dt          ¬¦  «        }t          | d¦  «        }t	          ||¦  «        }|d |…         D ](}	t          ||	¦  «        }t          |||	¦  «         |dz  }Œ)t          d|¦  «        D ]m}
|                     d¦  «         t          | |
¦  «        }t          || ||
|¦  «        }|d |…         D ](}	t          ||	¦  «        }t          |||	¦  «         |dz  }Œ)Œn||d<   |S rS  )
rë   rU  r$   ró   r)   rV  rê   r  rl  rP  )rH   rI   r²   rF  rW  rH  rO  rñ  rX  r€  r¿   s              rZ   Ú_unicode_capitalizeru  	  s!  € à	€AØ€GÝŒX�a�xÐ(Ñ(Ô(€FÝ   qÑ)Ô)€Jå" :¨vÑ6Ô6€Eà�F�U�FŒ^ð ð ˆÝ�g˜q‘/”/ˆÝ˜˜Q Ñ"Ô"Ð"Ø	ˆQ‰ˆˆÝ�Q˜ÑÔð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜J¨¨f°c¸6ÑBÔBˆØ˜˜˜”ð 	ð 	ˆAÝ˜' 1‘o”oˆGÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð	ð €HˆQ�KØ€Hr[   c                 óþ   — t          | d¦  «        }t          |dt          |¦  «        ¦  «         t          dt	          | ¦  «        ¦  «        D ]0}t          | |¦  «        }t          ||t          |¦  «        ¦  «         Œ1d S rÀ  )ró   rê   r"   r  r1  r#   )rH   r²   rñ  r¿   s       rZ   Ú_ascii_capitalizerw  9	  s€   € å   qÑ)Ô)€JÝ�C˜�K¨
Ñ3Ô3Ñ4Ô4Ð4Ý�Q�˜D™	œ	Ñ"Ô"ð ;ð ;ˆÝ$ T¨3Ñ/Ô/ˆ
Ý˜˜S¥+¨jÑ"9Ô"9Ñ:Ô:Ð:Ð:ð;ð ;r[   Ú
capitalizec                 ó6   — t          t          t          ¦  «        S r™   )rJ  rw  ru  r#  s    rZ   Úunicode_capitalizerz  C	  s   € åÕ+Õ-@ÑAÔAÐAr[   c                 óÄ  — d}d}t          j        dt          ¬¦  «        }t          |¦  «        D ]°}|                     d¦  «         t          | |¦  «        }|rt          || |||¦  «        }	nt          t          |¦  «        |¦  «        }	|d|	…         D ]/}
|\  }t          ||
¦  «        |d<   t          |||
¦  «         |dz  }Œ0t          t          |¦  «        ¦  «        }Œ±|S )zCThis is a translation of the function that titles a unicode string.r   FrD  rT  Nry   )rë   Úemptyr$   r  rl  ró   rP  r)   rV  rê   r/   )rH   rI   r²   rF  rW  Úprevious_casedrO  r¿   rñ  rX  r€  rH  s               rZ   Ú_unicode_titler~  I	  sö   € ð 	
€AØ€NÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð Bð BˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Øð 	IÝ 
¨D°&¸#¸vÑFÔFˆEˆEå*­8°JÑ+?Ô+?ÀÑHÔHˆEØ˜˜˜”ð 	ð 	ˆAØ‰HˆGÝ˜g q™/œ/ˆH�Q‰KÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAÝ+­H°ZÑ,@Ô,@ÑAÔAˆˆØ€Hr[   c                 ó  — d}t          t          | ¦  «        ¦  «        D ]k}t          | |¦  «        }t          |¦  «        r|st	          |¦  «        }d}n%t          |¦  «        r|rt          |¦  «        }d}nd}t          |||¦  «         ŒldS )z" Does .title() on an ASCII string FTN)r  r1  ró   r8   r"   r9   r#   rê   )rH   r²   r*  r¿   rñ  s        rZ   Ú_ascii_titler€  `	  s·   € ð ÐÝ•S˜‘Y”YÑÔð .ð .ˆÝ$ T¨3Ñ/Ô/ˆ
Ý�zÑ"Ô"ð 		&Ø$ð 5Ý(¨Ñ4Ô4�
Ø $ÐÐÝ˜Ñ$Ô$ð 	&Ø ð 5Ý(¨Ñ4Ô4�
Ø $ÐÐà %ÐÝ˜˜S *Ñ-Ô-Ð-Ð-ð.ð .r[   Útitlec                 ó6   — t          t          t          ¦  «        S )zImplements str.title())rJ  r€  r~  r#  s    rZ   Úunicode_titlerƒ  t	  s   € õ �,­Ñ7Ô7Ð7r[   c                 ó   — t          t          | ¦  «        ¦  «        D ]`}t          | |¦  «        }t          |¦  «        rt	          |¦  «        }nt          |¦  «        rt          |¦  «        }t          |||¦  «         Œad S r™   )r  r1  ró   r9   r#   r8   r"   rê   ro  s       rZ   Ú_ascii_swapcaser…  |	  s‰   € å•S˜‘Y”YÑÔð .ð .ˆÝ$ T¨3Ñ/Ô/ˆ
Ý�zÑ"Ô"ð 	1Ý$ ZÑ0Ô0ˆJˆJÝ˜Ñ$Ô$ð 	1Ý$ ZÑ0Ô0ˆJÝ˜˜S *Ñ-Ô-Ð-Ð-ð.ð .r[   c                 ó¶  — d}d}t          j        dt          ¬¦  «        }t          |¦  «        D ]¤}|                     d¦  «         t          | |¦  «        }t          |¦  «        rt          || |||¦  «        }	n't          |¦  «        rt          ||¦  «        }	nd}	||d<   |d |	…         D ](}
t          ||
¦  «        }t          |||
¦  «         |dz  }Œ)Œ¥||d<   |S rS  )rë   r|  r$   r  rl  ró   r1   rP  r2   r&   rV  rê   )rH   rI   r²   rF  rW  rH  rO  r¿   rñ  rX  r€  s              rZ   Ú_unicode_swapcaser‡  ˆ	  sÿ   € à	€AØ€GÝŒX�a�xÐ(Ñ(Ô(€FÝ�V‰}Œ}ð ð ˆØ�Š�A‰ŒˆÝ$ T¨3Ñ/Ô/ˆ
Ý! *Ñ-Ô-ð 	#Ý 
¨D°&¸#¸vÑFÔFˆEˆEÝ# JÑ/Ô/ð 	#Ý*¨:°vÑ>Ô>ˆEˆEàˆEØ"ˆF�1‰IØ˜˜˜”ð 	ð 	ˆAÝ˜' 1‘o”oˆGÝ˜C  AÑ&Ô&Ð&Ø�‰FˆAˆAð	ð €HˆQ�KØ€Hr[   Úswapcasec                 ó6   — t          t          t          ¦  «        S r™   )rJ  r…  r‡  r#  s    rZ   Úunicode_swapcaserŠ  Ÿ	  s   € å�/Õ+<Ñ=Ô=Ð=r[   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ój   — t          | ¦  «        }|dk    rt          d¦  «        ‚t          | d¦  «        S )Nry   zord() expected a characterr   )r1  Ú	TypeErrorró   )r©   Úlcs     rZ   r’  zol_ord.<locals>.impl¨	  s5   € Ý�Q‘”ˆBØ�QŠwˆwåÐ <Ñ=Ô=Ð=Ý" 1 aÑ(Ô(Ð(r[   r*  )r©   r’  s     rZ   Úol_ordr�  ¥	  s7   € å�!•UÔ&Ñ'Ô'ð ð	)ð 	)ð 	)ð ˆðð r[   c                 ó”   — | t           k    sJ ‚t          | ¦  «        }t          |d|t          k    ¦  «        }t	          |d| ¦  «         |S r  )Ú_MAX_UNICODEr"  rî   r   rê   )rÁ   rJ   rÑ  s      rZ   Ú_unicode_charr’  ·	  sN   € à•ÒÐÐÐÝ˜bÑ!Ô!€DÝ
˜˜a Õ)>Ò!>Ñ
?Ô
?€CÝ�C˜˜BÑÔÐØ€Jr[   zchr() arg not in range(0x%hx)c                 ó„   — | dk     s| t           k    rt          t          ¦  «        ‚t          t	          | ¦  «        ¦  «        S ré   )r‘  r{   Ú_out_of_range_msgr’  r$   )Úordinals    rZ   Ú_PyUnicode_FromOrdinalr–  Ä	  s:   € à�!Šˆ�w¥Ò-Ð-ÝÕ*Ñ+Ô+Ð+å� 'Ñ*Ô*Ñ+Ô+Ð+r[   c                 óD   — t          | t          j        ¦  «        rd„ }|S d S )Nc                 ó    — t          | ¦  «        S r™   )r–  )rò   s    rZ   r’  zol_chr.<locals>.implÐ	  s   € Ý)¨!Ñ,Ô,Ð,r[   )r+  r   ri  )rò   r’  s     rZ   Úol_chrr™  Í	  s4   € å�!•U”]Ñ#Ô#ð ð	-ð 	-ð 	-àˆðð r[   Ú__str__c                 ó   — d„ S )Nc                 ó   — | S r™   r_   r(  s    rZ   r  zunicode_str.<locals>.<lambda>×	  s   € �Q€ r[   r_   r(  s    rZ   Úunicode_strr�  Õ	  s
   € àˆ;Ðr[   Ú__repr__c                 ó   — d„ S )Nc                 ó   — d| z   dz   S )Nú'r_   r(  s    rZ   r  zunicode_repr.<locals>.<lambda>Þ	  s   € �S˜1‘W˜s‘]€ r[   r_   r(  s    rZ   Úunicode_reprr¢  Ú	  s   € ð #Ð"Ð"r[   c                 ó(   ‡—  | d¦  «        Šˆfd„}|S )Né
   c                 óÌ  •— d}| dk     r|  } d}| dk    rdS |dz   t          t          j        t          j        | ¦  «        ¦  «        ¦  «        z   }t          }t          |¦  «        }t          |||d¦  «        }|rt          |dt          d¦  «        ¦  «         |dz
  }| dk    rAt          | ‰	¦  «        \  } }t          d¦  «        |z   }t          |||¦  «         |dz  }| dk    °A|S )NFr   Trw  ry   ry  )
rõ  rë   ÚfloorÚlog10r   r}   rç   rê   ÚordÚdivmod)
r  ÚflagrI   rJ   rì   rí   r¿   Údigitr©   Útens
            €rZ   r’  zinteger_str.<locals>.implæ	  sø   ø€ ØˆØˆqŠ5ˆ5Ø�ˆAØˆDØ�Š6ˆ6Ø�3Ø˜‘�C¥¤­¬°!©¬Ñ 5Ô 5Ñ6Ô6Ñ6ˆÝ$ˆÝ(¨Ñ.Ô.ˆ
Ý˜4 ¨V°TÑ:Ô:ˆØð 	,Ý˜A˜q¥# c¡(¤(Ñ+Ô+Ð+Ø�q‰jˆØ�!ŠeˆeÝ˜a ‘~”~‰HˆAˆuÝ�C‘”˜5Ñ ˆAÝ˜A˜s AÑ&Ô&Ð&Ø�1‰HˆCð	 �!Šeˆeð
 ˆr[   r_   )r  r’  r¬  s     @rZ   Úinteger_strr­  á	  s2   ø€ ð ˆ!ˆB‰%Œ%€Cðð ð ð ð ð( €Kr[   c                 ó   — d„ S )Nc                 ó*   — |                       ¦   «         S r™   )rš  ©r  s    rZ   r  zinteger_repr.<locals>.<lambda>ÿ	  s   € �Q—Y’Y‘[”[€ r[   r_   r°  s    rZ   Úinteger_reprr±  ý	  s   € à Ð Ð r[   c                 ó   — d„ S )Nc                 ó   — | rdndS )NÚTrueÚFalser_   ©r  s    rZ   r  zboolean_str.<locals>.<lambda>
  s   € ˜qÐ-�V�V g€ r[   r_   r¶  s    rZ   Úboolean_strr·  
  s   € ð .Ð-Ð-r[   Úgetiterc                 ót  — |j         \  }|\  }|                      ||j        ¦  «        }|                      t          j        d¦  «        }t          j        ||¦  «        }||_        ||_	        | j
        r| j                             |||¦  «         |                     ¦   «         }	t          | ||j        |	¦  «        S ré   )r¾   rª  Úreturn_typerÜ   r   rj   r   Úalloca_once_valuerh   rH   rÄ  r°   rÅ  rŽ   r   )
r�   r�   rÍ   r¾   rl  rH   Úiterobjr„  Úindexptrr²   s
             rZ   Úgetiter_unicoder¾  
  s²   € àŒ8�D€RØ�F€Tà×!Ò! '¨3¬?Ñ;Ô;€Gð ×Ò¥¤¨QÑ/Ô/€DÝÔ(¨°$Ñ7Ô7€Hà€G„Mð €G„Lð Ôð .ØŒ×Ò˜7 B¨Ñ-Ô-Ð-à
×
Ò
Ñ
Ô
€CÝ˜G W¨c¬o¸sÑCÔCÐCr[   Úiternextc                 ó‚  — |j         \  }|\  }| j        }|                     t          j        ¦  «        }|                     |t          j        t          j        fi ¦  «        }	|  	                    ||	¦  «        }
|                     t          ¦  «        }|                     |t          j        fi ¦  «        }|  	                    ||¦  «        }|                      |||¬¦  «        } |||j        f¦  «        }|                     |j        ¦  «        }|                     d||¦  «        }|                     |¦  «         |                     |¦  «        5   |
||j        |f¦  «        }|                     |¦  «         t'          j        ||¦  «        }|                     ||j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr­   ú<)r¾   rÀ  rÁ  ÚoperatorÚgetitemrÂ  r   rØ   rj   rÃ  r1  rª  rH   rº   rh   Úicmp_unsignedÚ	set_validÚif_thenÚyield_r   Úincrement_indexr÷   )r�   r�   rÍ   r¾   r§  ÚitertyÚiterÚtyctxÚfntyÚgetitem_sigÚgetitem_implÚlen_sigr)  r¼  Ústrlenrh   Úis_validÚgotitemÚnindexs                      rZ   Úiternext_unicoderÔ  %
  sõ  € ð Œx�H€VØ�F€TàÔ"€Eð ×#Ò#¥HÔ$4Ñ5Ô5€DØ×$Ò$ U­UÔ-?ÅÄÐ,MØ%'ñ)ô )€Kà×'Ò'¨¨kÑ:Ô:€Lð ×#Ò#¥CÑ(Ô(€DØ× Ò  ­Ô);Ð(=¸rÑBÔB€GØ×#Ò# D¨'Ñ2Ô2€Hð ×!Ò! '¨6¸Ð!Ñ>Ô>€Gð ˆX�g ¤˜Ñ/Ô/€Fð �LŠL˜œÑ'Ô'€Eð ×$Ò$ S¨%°Ñ8Ô8€HØ
×Ò�XÑÔÐà	�Š˜Ñ	"Ô	"ð -ð -à�,˜w¨¬°uÐ(>Ñ?Ô?ˆØ�Š�gÑÔÐõ Ô(¨°%Ñ8Ô8ˆØ�Š�f˜gœmÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s   ÅAF4Æ4F8Æ;F8)r   r“  rô  rb  r2  rQ  r™   )Tr   )òrë  rÂ  Únumpyrë   Úllvmlite.irr   r   Únumba.core.cgutilsr   Únumba.core.extendingr   r   r   r	   r
   r   r   r   r   r   Únumba.core.imputilsr   r   r   r   r   r   Únumba.core.datamodelr   r   Ú
numba.corer   r   Únumba.core.pythonapir   r   r   r   Únumba._helperlibr   Únumba.cpython.hashingr   Únumba.core.unsafe.bytesr    Únumba.core.errorsr!   Únumba.cpython.unicode_supportr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   Únumba.cpythonrC   r‘  rP   Úbitwidthrv  r,  rF   ÚUnicodeIteratorTyperf   r‡   r—   r:  rØ   rž   r¡   r«   r³   rÅ   rÎ   rÒ   rÕ   rç   rî   ró   rù   rÿ   r  r  rê   r  r  r}   r  r"  r%  r1  r-  ÚeqrA  ÚnerF  ÚltrP  ÚgtrU  ÚlerZ  Úger_  Úcontainsre  rp  rr  ry  r{  rˆ  rŒ  r”  rc  rŸ  rš  r   rª  r®  r»  rÈ  rÌ  r�  rß  rç  rö  r	  r  r  r  r  r4  rB  rJ  rN  rO  rT  r\  rs  r~  rƒ  r…  r‡  rÆ  r’  r˜  r   r¤  rÁ  r±  r¶  rW  rÎ  rÃ  rÜ  rÚ   Úiaddrã  rê  rÙ   rñ  Únot_rö  r  r  Ú_unicode_is_alnumr  Ú_always_falser  r  r  r%  r+  r/  r5  r<  rJ  rM  rP  r[  ri  rc  r`  rh  rb  rd  rj  rm  rp  rs  ru  rw  rz  r~  r€  rƒ  r…  r‡  rŠ  r¨  r�  r’  r”  r–  Úchrr™  r�  r¢  ri  r­  r±  rR  r·  r¾  ÚNEWrÔ  r_   r[   rZ   ú<module>rò     sL  ðØ 
€
€
€
Ø €€€à Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kà >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø )Ð )Ð )Ð )Ð )Ð )ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð> "Ð !Ð !Ð !Ð !Ð !ð €ð ŒzÔ"€ð
 €�Ô!Ñ"Ô"ðAð Að Að Að A�6Ô%ñ Aô Añ #Ô"ðAð Ð �uÔ(¨&°'Ñ :Ô :Ð :Ø Ð �uÔ(¨(°IÑ >Ô >Ð >Ø Ð �uÔ(¨&°'Ñ :Ô :Ð :Ø Ð �uÔ(¨*°kÑ BÔ BÐ BØ Ð �uÔ(¨&°'Ñ :Ô :Ð :ð Ð�%Ô+Ñ,Ô,ðJð Jð Jð Jð J˜;ñ Jô Jñ -Ô,ðJð;ð ;ð ;ð8ð ð ð( €ˆEÔ Ô!3Ñ4Ô4ðð ñ 5Ô4ðð €�Ô"Ñ#Ô#ðCð Cñ $Ô#ðCð €€uÔÑÔð?ð ?ñ Ôð?ð, €€UÔÑÔðð ñ Ôðð$ð ð ð ð&ð &ñ „ð&ð
 ð'ð 'ñ „ð'ð
 ð'ð 'ñ „ð'ð
 ðð ñ „ðð< ðð ð ñ Ôðð Ð�uÐÑÔð
ð 
ñ Ôð
ð	ð 	ð 	ð ð$ð $ñ „ð$ð
 ð%ð %ñ „ð%ð
 ð%ð %ñ „ð%ð
 Ð�uÐÑÔðDð Dñ ÔðDð$ ðPð Pñ ÔðPð" ðð ñ Ôðð ð
Hð 
Hñ Ôð
Hð Ð�uÐÑÔðð ñ Ôðð& ð%ð %ñ Ôð%ð" ðð ñ Ôðð 
€ˆ#�„ðð ñ „ðð 
€ˆ(Œ+ÑÔð#ð #ñ Ôð#ðL 
€ˆ(Œ+ÑÔðð ñ Ôðð" 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Œ+ÑÔðð ñ Ôðð 
€ˆ(Ô
ÑÔðð ñ ÔððPð Pð Pð(ð ð ð ðð ñ Ôðð
 ð3ð 3ñ Ôð3ð
 ð+ð +ñ Ôð+ð\ ð-ð -ñ Ôð-ð`ð ð ð& 	Ð˜˜¨Ñ7Ô7Ñ8Ô8€Ø	Ð	˜/˜/¨.Ñ9Ô9Ñ	:Ô	:€ð €�Ô" FÑ+Ô+ðð ð ñ ,Ô+ðð €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð" €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð" €�Ô" KÑ0Ô0ð ð  ñ 1Ô0ð ðF €�Ô" GÑ,Ô,ð 3ð  3ð  3ñ -Ô,ð 3ðH €�Ô" LÑ1Ô1ð ð  ñ 2Ô1ð ðH ðð ñ Ôðð €�Ô" LÑ1Ô1ð1Ið 1Ið 1Iñ 2Ô1ð1Iðh €�Ô" JÑ/Ô/ð-ð -ð -ñ 0Ô/ð-ðb €�Ô" LÑ1Ô1ð=ð =ð =ñ 2Ô1ð=ð@ €�Ô" GÑ,Ô,ðQ%ð Q%ð Q%ñ -Ô,ðQ%ðh)"ð )"ð )"ðX "2Ð!1Ø#Ð#Ð$6Ñ7Ô7ñ"9ô "9Ð à/Ð/Ø#Ð# KÑ0Ô0ñ 2ô  2Ð ð
 €�Ô" HÑ-Ô-ðNð Nð Nñ .Ô-ðNðb €�Ô" HÑ-Ô-ð"ð "ð "ñ .Ô-ð"ðJ&ð &ð &ðR ,€€�Ô! 7Ñ +Ô +Ð,=Ð,=¸eÑ,DÔ,DÑ EÔ EÐ EØ +€€�Ô! 7Ñ +Ô +Ð,=Ð,=¸dÑ,CÔ,CÑ DÔ DÐ Dð ð  ð  ðF %Ð$Ð%=Ð%=¸oÑ%NÔ%NÑOÔOÐ Ø&Ð&Ð'?Ð'?Øñ(ô (ñ ô Ð ð
 €�Ô" LÑ1Ô1ðð ð ñ 2Ô1ðð0 ðð ñ Ôðð> €�Ô" FÑ+Ô+ðð ñ ,Ô+ðð6 €�Ô" GÑ,Ô,ðð ñ -Ô,ðð6 ðð ñ Ôðð  ðð ñ Ôðð"Cð Cð CðJð Jð Jð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð €�Ô" HÑ-Ô-ðð ð ñ .Ô-ðð €�Ô" GÑ,Ô,ðð ð ñ -Ô,ðð( ðð ð ñ Ôðð< ð!ð !ñ Ôð!ð( ðð ñ „ðð  ðð ñ „ðð Ð�uÐÑÔðBð Bñ ÔðBð ð"ð "ñ „ð"ðJ 
€ˆ(Ô
ÑÔð4!ð 4!ñ Ôð4!ðx 
€ˆ(Œ,ÑÔØ	€ˆ(Œ-ÑÔðð ñ Ôñ Ôðð( ðð ñ Ôðð4 
€ˆ(Œ,ÑÔðð ñ Ôðð 
€ˆ(Œ-ÑÔðð ñ Ôðð €�Ô" IÑ.Ô.ð)ð )ð )ñ /Ô.ð)ðbð ð ðB .€€�Ô! 9Ñ -Ô -¨i¨i¸Ø8Jñ/Lô /Lñ Mô Mð Mð %Ð$ð &=ð &=ñ >ô >Ð ð
 .€€�Ô! 9Ñ -Ô -¨i¨i¸Ø8Iñ/Kô /Kñ Lô Lð Lðð ð ð, !Ð   Ñ1Ô1€Ø"Ð" 9 9¨[¸+Ø-:ñ$<ô $<ñ =ô =€à$Ð$ Y YÐ/EØ/EØ/Eñ&Gô &Gñ Hô HÐ ð
 €�Ô" IÑ.Ô.ð	ð 	ñ /Ô.ð	ð €�Ô" IÑ.Ô.ðð ñ /Ô.ðð €�Ô" IÑ.Ô.ð"ð "ñ /Ô.ð"ðJ €�Ô" IÑ.Ô.ðð ñ /Ô.ðð6 €�Ô" NÑ3Ô3ðð ñ 4Ô3ðð.ð ð ð ð, .€€�Ô! 9Ñ -Ô -¨g¨gÐ6HÑ.IÔ.IÑ JÔ JÐ Jð 0€€�Ô! ;Ñ /Ô /°°Ð8LÑ0MÔ0MÑ NÔ NÐ Nð .€€�Ô! 9Ñ -Ô -¨g¨gÐ6HÑ.IÔ.IÑ JÔ JÐ Jð 0€€�Ô! ;Ñ /Ô /Ø€GÐ%Ñ&Ô&ñ(ô (ð (ð 2€€�Ô! =Ñ 1Ô 1Ø€GÐ" EÑ*Ô*ñ,ô ,ð ,ðð ð ð: ð+ð +ñ Ôð+ð. ð6ð 6ñ Ôð6ðð ð ð& "Ð!Ð"=Ð"=¸eÑ"DÔ"DÑEÔE€Ø!Ð!Ð"=Ð"=¸dÑ"CÔ"CÑDÔD€ð!ð !ð !ð  ÐÐ 9Ð 9¸+Ñ FÔ FÑGÔG€ØÐÐ 9Ð 9¸+Ñ FÔ FÑGÔG€ð €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð
 €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð ðð ñ Ôðð  ð;ð ;ñ Ôð;ð €�Ô" JÑ/Ô/ð>ð >ñ 0Ô/ð>ð ðð ñ Ôðð2 ð;ð ;ñ Ôð;ð €�Ô" LÑ1Ô1ðBð Bñ 2Ô1ðBð
 ðð ñ Ôðð, ð.ð .ñ Ôð.ð& €�Ô" GÑ,Ô,ð8ð 8ñ -Ô,ð8ð ð.ð .ñ Ôð.ð ðð ñ Ôðð, €�Ô" JÑ/Ô/ð>ð >ñ 0Ô/ð>ð
 
€ˆ#�„ðð ñ „ðð" ðð ñ Ôðð 4°lÑBÐ ð ð,ð ,ñ Ôð,ð 
€ˆ#�„ðð ñ „ðð €�Ô" IÑ.Ô.ðð ñ /Ô.ðð €�Ô" JÑ/Ô/ð#ð #ñ 0Ô/ð#ð €�” 	Ñ*Ô*ðð ñ +Ô*ðð6 €�” 
Ñ+Ô+ð!ð !ñ ,Ô+ð!ð €�” 
Ñ+Ô+Ø€�” 	Ñ*Ô*ð.ð .ñ +Ô*ñ ,Ô+ð.ð €ˆy˜%Ô+Ñ,Ô,ðDð Dñ -Ô,ðDð. €ˆz˜5Ô4Ñ5Ô5à€ˆwŒ{ÑÔð%-ð %-ñ Ôñ 6Ô5ð%-ð %-ð %-r[   