3 \u2��@s�dZddlmZdd�Zeddddd d d d d ddg eedd���Zdd�Zddddddddddddd d!d"d#d$d%d&d'dd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d4d5d6d7d8d9d:d;dd?d@dAdBdCdd?d@dAdBdCdDdEdFdGdHdIdJdKdDdEdFdGdHdIdJdKdLdMdNdOdPdMddQdRdSdTdUdRdVddWdXdYddZd[d\d]d^d_d`dad^dbdcdddedfdgdgdgdhdhdidjdkdldmdndndndodpdqdrdrdsdcdtdudvdwd%dxdydzd{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�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�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dcdxd�d�d�djd�dldmdd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdxdtdud�d�d�didvdjd�dldmdd�d�d�d�d�d�d�dsdxdtdud�dhd�d�didvd�dd�d�d�d�d�d�d�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�dsdcdxdtdud�dgdhd�d�didvdjd�dldmdndd�d�d�d�d�d�drd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�dd�ddwd�d(d�d�d dd&d�dd�d�d�d%d'd dd�d!d$d�d�d�ddʐ��Z d�d̄Z d�d΄Z d�dЄZ d�d҄Z d�dԄZd�dքZed�d�d�d d d�d�dgeedd܃�eed�dރ�eed�d���eed�d���Zd�d�Zd�d�Zd�d�Zd�d�Zd�d�Zeed�d��Zd�d�Zeed�d��Zd�d�Zed�d�d�d�geed�d���eed�dރ��Zd�d��Zed�geed�d����Zd��d�Z�d�d�Z�d�d�Z�dS(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. �)� ucd_3_2_0cCsBtj|�dkrdSt|�}d|ko,dknr6dS|d@dkS)NZCnFi��i��������)rr)� unicodedata�category�ord)�code�c�r �"/usr/lib64/python3.6/stringprep.py� in_table_a1 s r �iOii i i i i i i` i��i�i�cCs t|�tkS)N)r�b1_set)rr r r � in_table_b1sruμZssui̇uʼn�suǰuιu ιuΐuΰuσuβuθuυuύuϋuφuπuκuρuεuեւuẖuẗuẘuẙuaʾuṡuὐuὒuὔuὖuἀιuἁιuἂιuἃιuἄιuἅιuἆιuἇιuἠιuἡιuἢιuἣιuἤιuἥιuἦιuἧιuὠιuὡιuὢιuὣιuὤιuὥιuὦιuὧιuὰιuαιuάιuᾶuᾶιuὴιuηιuήιuῆuῆιuῒuῖuῗuῢuῤuῦuῧuὼιuωιuώιuῶuῶιZrsr u°cuɛu°f�h�i�l�n�no�p�q�rZsmZtelZtm�z�b�e�f�muγ�dZhpaZauZovZpaZnauμaZmaZkaZkbZmbZgbZpfZnfuμf�hzZkhzZmhzZghzZthzZkpaZmpaZgpaZpvZnvuμvZmvZkvZpwZnwuμwZmw�kwukωumωZbquc∕kgzco.ZdbZgyZhpZkkZkmZphZppmZprZsv�wbZffZfiZflZffiZffl�stuմնuմեuմիuվնuմխ�a�g�j�k�o�t�u�v�w�x�yuαuδuζuηuλuνuξuοuτuχuψuω(����i0iIii�iEizi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�iPiRiTiVi�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 !i!!i"!i$!i(!i,!i-!i0!i1!i3!i>!i?!iE!iq3is3iu3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�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�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��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/�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��cCs"tjt|��}|dk r|S|j�S)N)� b3_exceptions�getr�lower)rrr r r � map_table_b3�sr3cCsHt|�}tjd|�}djdd�|D��}tjd|�}||kr@|S|SdS)N�NFKC�cSsg|] }t|��qSr )r3)�.0Zchr r r � �sz map_table_b2..)r3r� normalize�join)r#ZalrZblr r r r � map_table_b2�s  r:cCs|dkS)N� r )rr r r � in_table_c11�sr<cCstj|�dko|dkS)N�Zsr;)rr)rr r r � in_table_c12�sr>cCstj|�dkS)Nr=)rr)rr r r �in_table_c11_c12�sr?cCst|�dkotj|�dkS)N��Cc)rrr)rr r r � in_table_c21�srBi�iii( i) id ij ip i��i��is�i{�cCs.t|�}|dkrdStj|�dkr&dS|tkS)Nr@FrAT)rrr� c22_specials)rr r r r � in_table_c22�s rDcCstj|�dkpt|�tkS)NrA)rrrrC)rr r r �in_table_c21_c22�srEcCstj|�dkS)NZCo)rr)rr r r � in_table_c3�srFcCs0t|�}|dkrdS|dkr dSt|�d@dkS)Ni��Fi��T������)rHrG)r)rr r r r � in_table_c4�s rIcCstj|�dkS)NZCs)rr)rr r r � in_table_c5�srJi��cCs t|�tkS)N)r�c6_set)rr r r � in_table_c6�srLi�/i�/cCs t|�tkS)N)r�c7_set)rr r r � in_table_c7�srNi@iAi i i* i/ cCs t|�tkS)N)r�c8_set)rr r r � in_table_c8srPii i�cCs t|�tkS)N)r�c9_set)rr r r � in_table_c9srRcCstj|�dkS)N�R�AL)rSrT)r� bidirectional)rr r r � in_table_d1 srVcCstj|�dkS)N�L)rrU)rr r r � in_table_d2srXN) �__doc__rrr �set�list�rangerrr0r3r:r<r>r?rBrCrDrErFrIrJrKrLrMrNrOrPrQrRrVrXr r r r �sz ,  P,