o
     JAfu2                     @   s  d Z ddlmZ dd Zeg deedd Zdd	 Z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/d0d1d2dd3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLi dMdNdOdPdQdRdSdTdUdVdWdXdYdZd[dLd\dNd]dPd^dRd_dTd`dVdadXdbdZdcdddedfi dgdhdidjdkdldmdndodpdqdrdsdddtdfdudhdvdjdwdldxdndydpdzdrd{d|d}d~ddi dddddddddddd|dd~ddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddÓddddƓddȓddʓdd̓ddΓddГddГddГddԓddԓi ddדddٓddۓddݓddߓddddddddddddddddddddȓddddi dddddd-dddddd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/d0d1d2d/d3d4i d5d6d7d8d9d:d;d<d=d:d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUi dVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdgdidjdkdldmdndodpdqdrdsdtdudi dvdȓdwddxddyddzd{d|dГd}dԓd~dddddדddddٓddddݓddߓddddi ddddddddddddddddtddddȓdddddddd{ddГddԓddi ddddדddddٓddddݓddߓddddddddddddddddddddti ddddȓdddddddd{ddГddԓddddddדddddٓddddݓddߓddi dddŐddƐddǐddȐddɐddʐdddd̐dtddȓdddϐd{dАddѐdddٓdӐdddݓi ddߓdddאddؐddِddڐddېddܐddddސdtddddȓdddddddd{ddГi ddԓddddddדddddٓddddݓddߓddddddddddddddddi ddddtdddddddd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dt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 dt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ݓd0dߓd1dd2dd3dd4dd5dd6dd7dd8dd9dd:dti d;dd<dȓd=dd>dd?dd@d{dAdГdBdԓdCddDddEdדdFddGdٓdHddIdݓdJdߓdKdi dLddMddNddOddPddQddRddSddTdtdUddVdȓdWddXddYddZd{d[dГd\dԓi d]dd^dd_dדd`ddadٓdbddcdݓdddߓdeddfddgddhddiddjddkddlddmdi dndtdoddpdȓdqddrddsddtd{dudГdvdԓdwddxddydדdzdd{dٓd|dd}dݓd~dߓi ddddddddddddddddddddtddddȓdddddddd{ddГi ddԓddddddדddddٓddddݓddߓddddddddddddddddi ddddtddddȓdddddddd{ddГddԓddddddדddddٓddddݓi ddߓdddddddddddddddddddddd!dddddd4dÐdēdŐdƓi dd#dddd/dʐd˓ddd͐dΓdϐdГdѐdғdd-dd1dd#dddאdؓdd%dd+dېdܓdݐdޓi dߐddddddd!dddddd4ddēddƓdd#dddd/dd˓ddddΓddГddғi dd-dd1dd#ddddؓdd%dd+ddܓddޓdddddddd!ddddd d4ddēi ddƓdd#dddd/dd˓ddddΓd	dГd
dғdd-dd1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d4ddēddƓdd#dddd/d d˓d!dd"dΓd#dГi d$dғd%d-d&d1d'd#d(dd)dؓd*d%d+d+d,dܓd-dޓd.dd/dd0dd1d!d2dd3dd4d4i d5dēd6dƓd7d#d8dd9d/d:d˓d;dd<dΓd=dГd>dғd?d-d@d1dAd#dBddCdؓdDd%dEd+dܐdސdddFZ	dGdH Z
dIdJ ZdKdL ZdMdN ZdOdP ZdQdR Zeg dSeedTdU eedVdW eedXdY eedZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde ZeedXdfZdgdh ZeedidjZdkdl Zeg dmeedndo eedVdW Zdpdq Zedrgeedsdt Zdudv Zdwdx Zdydz Zd{S (|  zLibrary 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_0c                 C   s>   t | dkr	dS t| }d|  krdk rdS  |d@ dvS )NZCnF        r   )unicodedatacategoryordcodec r   !/usr/lib/python3.10/stringprep.pyin_table_a1   s   r   )   iO  i  i  i  i  i         `     i   i  c                 C      t | tv S N)r
   b1_setr   r   r   r   in_table_b1      r      u   μ   ssi0  u   i̇iI  u   ʼni  si  u   ǰ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   ẖi  u   ẗi  u   ẘi  u   ẙ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   Zrsi!  r   i!  u   °ci!  u   ɛi	!  u   °fi!  hi!  i!  i!  ii!  i!  li!  ni!  noi!  pi!  qi!  ri!  i!  i !  Zsmi!!  teli"!  Ztmi$!  zi(!  i,!  bi-!  i0!  ei1!  fi3!  mi>!  u   γi?!  iE!  diq3  Zhpais3  Zauiu3  Zovi3  pai3  Znai3  u   μai3  Zmai3  kai3  Zkbi3  Zmbi3  Zgbi3  Zpfi3  Znfi3  u   μfi3  hzi3  Zkhzi3  Zmhzi3  Zghzi3  Zthzi3  i3  Zkpai3  Zmpai3  Zgpai3  Zpvi3  nvi3  u   μvi3  mvi3  Zkvi3  i3  Zpwi3  Znwi3  u   μwi3  Zmwi3  kwi3  i3  u   kωi3  u   mωi3  Zbqi3  u   c∕kgi3  zco.i3  Zdbi3  Zgyi3  Zhpi3  Zkki3  Zkmi3  phi3  Zppmi3  Zpri3  svi3  wbi   Zffi  fii  Zfli  Zffii  Zffli  sti  i  u   մնi  u   մեi  u   միi  u   վնi  u   մխi  ai i i i i i gi i i	 ji
 ki i i i oi i i i i ti ui vi wi xi yi 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                 C   s"   t t| }|d ur|S |  S r   )b3_exceptionsgetr
   lower)r   r'   r   r   r   map_table_b3   s   rH   c                 C   sD   t | }td|}ddd |D }td|}||kr |S |S )NNFKC c                 S   s   g | ]}t |qS r   )rH   ).0Zchr   r   r   
<listcomp>   s    z map_table_b2.<locals>.<listcomp>)rH   r   	normalizejoin)r:   Zalr*   Zblr   r   r   r   map_table_b2   s   rO   c                 C   s   | dkS )N r   r   r   r   r   in_table_c11   s   rQ   c                 C   s   t | dko
| dkS )NZsrP   r   r	   r   r   r   r   in_table_c12   s   rT   c                 C      t | dkS )NrR   rS   r   r   r   r   in_table_c11_c12      rV   c                 C   s   t | dk ot| dkS )N   Cc)r
   r   r	   r   r   r   r   in_table_c21   s   rZ   )i  i  i  r   r   i(   i)   r   r   id   ij   ip   i  i  is i{ c                 C   s.   t | }|dk r
dS t| dkrdS |tv S )NrX   FrY   T)r
   r   r	   c22_specialsr   r   r   r   in_table_c22   s   r\   c                 C   s   t | dkpt| tv S )NrY   )r   r	   r
   r[   r   r   r   r   in_table_c21_c22   s   
r]   c                 C   rU   )NZCorS   r   r   r   r   in_table_c3   rW   r^   c                 C   s0   t | }|dk r
dS |dk rdS t | d@ dv S )Nr   Fr   Tr   r   )r
   r   r   r   r   in_table_c4   s   r_   c                 C   rU   )NZCsrS   r   r   r   r   in_table_c5   rW   r`   r   c                 C   r   r   )r
   c6_setr   r   r   r   in_table_c6   r   rb   i/  i/  c                 C   r   r   )r
   c7_setr   r   r   r   in_table_c7   r   rd   )i@  iA  i   i   i*   i/   c                 C   r   r   )r
   c8_setr   r   r   r   in_table_c8  r   rf   i  i   i  c                 C   r   r   )r
   c9_setr   r   r   r   in_table_c9  r   rh   c                 C   s   t | dv S )N)RZALr   Zbidirectionalr   r   r   r   in_table_d1  rW   rk   c                 C   rU   )NLrj   r   r   r   r   in_table_d2  rW   rm   N) __doc__r   r   r   setlistranger   r   rE   rH   rO   rQ   rT   rV   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   rk   rm   r   r   r   r   <module>   s  				



    !!!!""""####$$$$%%%%&&&&''''(((())))****++++,,,,----....////0000111122223333444455556666777788889999::::;;;;<<<<====>>>>????@@@@AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ[[[[\\\\]]]]^^^^____````aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz{{{{||||}}}}~~~~                                                                 	  	  	  	  
  
  
  
                                                                                                                                                                                      !  !  !  !  "  "  "  "  #  #  # 
 &V2