�
�Wcu2 c sz � d Z ddlmZ ej dk sJ �d� Z eg d� e edd� � z � Zd� Z i d d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�d#d$�d%d&�d'd(�d)d*�i d+d,�d-d.�d/d0�d1d�d2d3�d4d5�d6d7�d8d9�d:d;�d<d=�d>d?�d@dA�dBdC�dDdE�dFdG�dHdI�dJdK��i dLdM�dNdO�dPdQ�dRdS�dTdU�dVdW�dXdY�dZdK�d[dM�d\dO�d]dQ�d^dS�d_dU�d`dW�dadY�dbdc�ddde��i dfdg�dhdi�djdk�dldm�dndo�dpdq�drdc�dsde�dtdg�dudi�dvdk�dwdm�dxdo�dydq�dzd{�d|d}�d~d��i d�d��d�d��d�d��d�d��d�d��d�d{�d�d}�d�d�d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d���i d�d��d�d��d�d�d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d�d�d��d�d��d�d��d�d�d�d��d�d���i d�d��d�d��d�d��d�d��d�d��d�dd�d��d�dœd�dǓd�dɓd�d˓d�d͓d�dϓd�dϓd�dϓd�dӓd�dӓ�i d�d֓d�dؓd�dړd�dܓd�dޓd�d��d�d��d�d��d�d�d�d�d�d�d�d�d�d�d�d�d�dǓd�d�d�d��i d�d��d�d��d�d,�d�d��d�d��d�d��d�d���d �d��d�d��d�d��d�d��d�d ��d
�d��d�d
��d�d��d�d��d�d��i �d�d��d�d��d�d��d�d��d�d��d�d��d �d��d!�d"��d#�d$��d%�d&��d'�d(��d)�d*��d+�d,��d-�d.��d/�d0��d1�d.��d2�d3��i �d4�d5��d6�d7��d8�d9��d:�d;��d<�d9��d=�d>��d?�d@��dA�dB��dC�dD��dE�dF��dG�dH��dI�dJ��dK�dL��dM�dN��dO�dP��dQ�dR��dS�dT��i �dU�dV��dW�dX��dY�dZ��d[�d\��d]�d^��d_�d`��da�db��dc�dd��de�df��dg�df��dh�di��dj�dk��dl�dm��dn�do��dp�dq��dr�ds��dtd��i �dudǓ�dvd���dwd��dxd��dy�dz��d{dϓ�d|dӓ�d}�d~��d�d���d�d֓�d�d���d�dؓ�d��d���d�dܓ�d�dޓ�d�d���d�d��i �d��d���d��d���d��d���d��d���d��d���d��d���d�d��d��ds��d�d��d�dǓ�d�d���d�d��d�d��d��dz��d�dϓ�d�dӓ�d��d~��i �d��d���d�d֓�d�d���d�dؓ�d��d���d�dܓ�d�dޓ�d�d���d�d��d��d���d��d���d��d���d��d���d��d���d��d���d�d��d��ds��i �d�d��d�dǓ�d�d���d�d��d�d��d��dz��d�dϓ�d�dӓ�d��d~��d��d���d�d֓�d�d���d�dؓ�d��d���d�dܓ�d�dޓ�d�d���i �d�d��dĐd���dŐd���dƐd���dǐd���dȐd���dɐd���d�d��dːds��d�dǓ�d�d���dΐdz��dϐd~��dАd���d�dؓ�dҐd���d�dܓ�i �d�dޓ�d�d��dd���dאd���dؐd���dِd���dڐd���dېd���d�d��dݐds��d�d��d�dǓ�d�d���d�d��d�d��d�dz��d�dϓ�i �d�dӓ�d�d~��d�d���d�d֓�d�d���d�dؓ�d�d���d�dܓ�d�dޓ�d�d���d�d��d�d���d�d���d�d���d�d���d��d���d��d���i �d�d��d��ds��d�d��d�d���d�d��d�d��d��dz��d��d~��d��d���d�d֓�d d���ddؓ�d�d���ddܓ�ddޓ�dd��d�d���i �d�d���d�d���d �d���d
�d���d�d���d�ds��d
d��dd���dd��dd��d�dz��ddӓ�d�d~��d�d���dd֓�dd���d�d���i �dd��d�d���d�d���d�d���d�d���d�d���d�d���d�ds��d d��d!dǓ�d"d���d#d��d$d��d%�dz��d&dϓ�d'dӓ�d(�d~��i �d)�d���d*d֓�d+d���d,dؓ�d-�d���d.dܓ�d/dޓ�d0d���d1d��d2�d���d3�d���d4�d���d5�d���d6�d���d7�d���d8d��d9�ds��i �d:d��d;dǓ�d<d���d=d��d>d��d?�dz��d@dϓ�dAdӓ�dB�d~��dC�d���dDd֓�dEd���dFdؓ�dG�d���dHdܓ�dIdޓ�dJd���i �dKd��dL�d���dM�d���dN�d���dO�d���dP�d���dQ�d���dRd��dS�ds��dTd��dUdǓ�dVd���dWd��dXd��dY�dz��dZdϓ�d[dӓ�i �d\�d~��d]�d���d^d֓�d_d���d`dؓ�da�d���dbdܓ�dcdޓ�ddd���ded��df�d���dg�d���dh�d���di�d���dj�d���dk�d���dld��i �dm�ds��dnd��dodǓ�dpd���dqd��drd��ds�dz��dtdϓ�dudӓ�dv�d~��dw�d���dxd֓�dyd���dzdؓ�d{�d���d|dܓ�d}dޓ�i �d~d���dd��d��d���d��d���d��d���d��d���d��d���d��d���d�d��d��ds��d�d��d�dǓ�d�d���d�d��d�d��d��dz��d�dϓ�i �d�dӓ�d��d~��d��d���d�d֓�d�d���d�dؓ�d��d���d�dܓ�d�dޓ�d�d���d�d��d��d���d��d���d��d���d��d���d��d���d��d���i �d�d��d��ds��d�d��d�dǓ�d�d���d�d��d�d��d��dz��d�dϓ�d�dӓ�d��d~��d��d���d�d֓�d�d���d�dؓ�d��d���d�dܓ�i �d�dޓ�d�d���d�d��d��d���d��d���d��d���d��d���d��d���d��d���d�d��d��d���d�d ��d�d���d��d���d�d3��ddÓ�dĐdœ�i �d�d"��d�d��d�d.��dɐdʓ�d�d
��d̐d͓�dΐdϓ�dАdѓ�d�d,��d�d0��d�d"��d�d��ddד�d�d$��d�d*��dڐdۓ�dܐdݓ�i �dސdߓ�d�d��d�d���d�d ��d�d���d�d���d�d3��d�dÓ�d�dœ�d�d"��d�d��d�d.��d�dʓ�d�d
��d�d͓�d�dϓ�d�dѓ�i �d�d,��d�d0��d�d"��d�d��d��dד�d�d$��d�d*��d��dۓ�d��dݓ�d��dߓ�d�d��d��d���d�d ��d�d���d��d���d�d3��d �dÓ�i �d�dœ�dd"��dd��dd.��d�dʓ�dd
��d�d͓�d�dϓ�d �dѓ�d
d,��dd0��dd"��d
d��d�dד�dd$��dd*��d�dۓ�i �d�dݓ�d�dߓ�dd��d�d���dd ��dd���d�d���dd3��d�dÓ�d�dœ�dd"��dd��dd.��d�dʓ�d d
��d!�d͓�d"�dϓ�i �d#�dѓ�d$d,��d%d0��d&d"��d'd��d(�dד�d)d$��d*d*��d+�dۓ�d,�dݓ�d-�dߓ�d.d��d/�d���d0d ��d1d���d2�d���d3d3��i �d4�dÓ�d5�dœ�d6d"��d7d��d8d.��d9�dʓ�d:d
��d;�d͓�d<�dϓ�d=�dѓ�d>d,��d?d0��d@d"��dAd��dB�dד�dCd$��dDd*���dېdݐd�d�dE��Z
�dF� Z�dG� Z�dH� Z
�dI� Z�dJ� Z�dK� Z eg �dL� e e�dM�dN� � z e e�dO�dP� � z e e�dQ�dR� � z e e�dS�dT� � z � Z�dU� Z�dV� Z�dW� Z�dX� Z�dY� Z e e�dQ�dZ� � Z�d[� Z e e�d\�d]� � Z�d^� Z eg �d_� e e�d`�da� � z e e�dO�dP� � z � Z�db� Z e�dcg e e�dd�de� � z � Z�df� Z�dg� Z�dh� Z �diS (j z�Library that exposes various tables found in the StringPrep RFC 3454.
There are two kinds of tables: sets, for which a member test is provided,
and mappings, for which a mapping function is provided.
i )� ucd_3_2_0z3.2.0c s� � t j | � dk rdS t | � }d|cxk rdk rdS |dz dvS )NZCnF��� ��� ��� ���� r )�unicodedata�category�ord��code�c� �#/usr/lib64/python3.12/stringprep.py�in_table_a1r sU � ����D�!�T�)�)�%�%��D� �A�
������V���E�E��
��J�/�/�/� )i� iO i i i i
i � �
�` ��� i � i� c �* � t | � t v S �N)r �b1_set�r
� r
�in_table_b1r � � ��t�9���r i� u μi� Zssi0 u i̇iI u ʼni Zsi� u ǰiE u ιiz u ιi� u ΐi� u ΰi� u σi� u βi� u θi� u υi� u ύi� u ϋi� u φi� u πi� u κi� u ρi� i� u εi� u եւi� u ẖi� u ẗi� u ẘi� u ẙi� u aʾi� u ṡiP u ὐiR u ὒiT u ὔiV u ὖi� u ἀιi� u ἁιi� u ἂιi� u ἃιi� u ἄιi� u ἅιi� u ἆιi� u ἇιi� i� i� i� i� i� i� i� i� u ἠιi� u ἡιi� u ἢιi� u ἣιi� u ἤιi� u ἥιi� u ἦιi� u ἧιi� i� i� i� i� i� i� i� i� u ὠιi� u ὡιi� u ὢιi� u ὣιi� u ὤιi� u ὥιi� u ὦιi� u ὧιi� i� i� i� i� i� i� i� i� u ὰιi� u αιi� u άιi� u ᾶi� u ᾶιi� i� i� u ὴιi� u ηιi� u ήιi� u ῆi� u ῆιi� i� u ῒi� i� u ῖi� u ῗi� u ῢi� i� u ῤi� u ῦi� u ῧi� u ὼιi� u ωιi� u ώιi� u ῶi� u ῶιi� i� Zrsi! r i! u °ci! u ɛi ! u °fi! Zhi! i
! i! Zii! i! Zli! Zni! Znoi! Zpi! Zqi! �ri! i! i ! Zsmi!! Zteli"! Ztmi$! Zzi(! i,! �bi-! i0! Zei1! Zfi3! Zmi>! u γi?! iE! Zdiq3 Zhpais3 Zauiu3 Zovi�3 Zpai�3 Znai�3 u μai�3 Zmai�3 Zkai�3 Zkbi�3 Zmbi�3 Zgbi�3 Zpfi�3 Znfi�3 u μfi�3 Zhzi�3 Zkhzi�3 Zmhzi�3 Zghzi�3 Zthzi�3 i�3 Zkpai�3 Zmpai�3 Zgpai�3 Zpvi�3 Znvi�3 u μvi�3 Zmvi�3 Zkvi�3 i�3 Zpwi�3 Znwi�3 u μwi�3 Zmwi�3 Zkwi�3 i�3 u kωi�3 u mωi�3 Zbqi�3 u c∕kgi�3 zco.i�3 Zdbi�3 Zgyi�3 Zhpi�3 Zkki�3 Zkmi�3 Zphi�3 Zppmi�3 Zpri�3 Zsvi�3 Zwbi � Zffi� Zfii� Zfli� Zffii� Zffli� Zsti� i� u մնi� u մեi� u միi� u վնi� u մխi � �ai� i� i� i� i� i� Zgi� i� i � Zji
� Zki� i� i
� i� Zoi� i� i� i� i� Zti� Zui� Zvi� Zwi� Zxi� Zyi� i4� i5� i6� i7� i8� i9� i:� i;� i<� i=� i>� i?� i@� iA� iB� iC� iD� iE� iF� iG� iH� iI� iJ� iK� iL� iM� ih� ii� ij� ik� il� im� in� io� ip� iq� ir� is� it� iu� iv� iw� ix� iy� iz� i{� i|� i}� i~� i� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i� i� i� i� i � i
� i
� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i8� i9� i;� i<� i=� i>� i@� iA� iB� iC� iD� iF� iJ� iK� iL� iM� iN� iO� iP� il� im� in� io� ip� iq� ir� is� it� iu� iv� iw� ix� iy� iz� i{� i|� i}� i~� i� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i� i � i
� i� i� i
� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i� i � i!� i<� i=� i>� i?� i@� iA� iB� iC� iD� iE� iF� iG� iH� iI� iJ� iK� iL� iM� iN� iO� iP� iQ� iR� iS� iT� iU� ip� iq� ir� is� it� iu� iv� iw� ix� iy� iz� i{� i|� i}� i~� i� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� u αi�� i�� i�� u δi�� i�� u ζi�� u ηi�� i�� i�� i�� u λi�� i�� u νi�� u ξi�� u οi�� i�� i�� i�� i�� u τi�� i�� i�� u χi�� u ψi�� u ωi�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i
� i� i� i� i� i � i!� i"� i#� i$� i%� i&� i'� i(� i)� i*� i+� i,� i-� i.� i/� i0� i1� i2� i3� i4� iG� iV� iW� iX� iY� iZ� i[� i\� i]� i^� i_� i`� ia� ib� ic� id� ie� if� ig� ih� ii� ij� ik� il� im� in� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� i�� )i�� i�� i�� i�� c sp � t j t | � � }|�|S | j � S r )�
b3_exceptionsZgetr Zlower)r
r r r
�map_table_b3r � s+ � ����#�d�)�$�A��}�Q�h��:�:�<�r c s� � t | � }t j d|� }dj d� |D � � }t j d|� }||k r|S |S )NZNFKCZ c s* � g | ] }t |� ��S � )r )Z.0Zchr r
z
<listcomp>z map_table_b2.<locals>.<listcomp>� s � �/�/�/�r�,�r�"�"�"�/r )r r Z normalizeZjoin)r Zalr Zblr s r
�map_table_b2r! � s\ � � �a��B����f�b�)�A� ���/�/�Q�/�/� 0�B����f�b�)�A��A�v�v���� r c s � | dk S )N� r r r r
�in_table_c11r# � s � ��3�;�r c sD � t j | � dk o| dk S )N�Zsr"