o
    PεiQ                     @   s  d Z ddlZddlZddededefddZd	edef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)d*d+d,d-d.d+d/d0d1d2d3d-d4d5d6d6d7d8d8d8d9d:d;d<d=d>d?d@dAdBi dCdDdEdEdFdGdHdIdJdKdLdMdNdOdPdMdQdQdRdSdTdUdVdVdWdXdYdZd[d\d]d^d_d_i d`d`dad`dbdcdddedfdgdhdidjdjdkdldmdndod@dpdpdqdrdsdtdudvdwdxdydydzd{i d|d}d~dddddddddddddddddddM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ddMddddMddœddǓddɓddǓdd̓ddMddMi ddMddMddMddMddԓdd֓ddؓddړddMddMddMddߓddddddړddMddMi ddMddBddBddMddMddMddMddMddddMddMddMddMddMddMddMddMdMdMdddddMdZdd e D Z	e
d ddd ee	ddD Ze
d ddd eeeddD ZdS (  zMapping between IPA and Espeak    NTipakeep_whitespacereturnc                 C   s   t d| }tdd |S )z%Convert IPA string to eSpeak phonemesNFDc                 S      t | ddS N    )IPA_TO_ESPEAKgetgroupmatch r   D/home/ubuntu/.local/lib/python3.10/site-packages/gruut_ipa/espeak.py<lambda>       zipa_to_espeak.<locals>.<lambda>)unicodedata	normalizeIPA_PATTERNsub)r   r   ipa_codepointsr   r   r   ipa_to_espeak   s   r   espeakc                 C   s,   d dd td| D }tdd |S )z%Convert eSpeak phonemes to IPA phonesr	   c                 s   s    | ]	}|d vr|V  qdS )>   []Nr   ).0cr   r   r   	<genexpr>   s    z espeak_to_ipa.<locals>.<genexpr>r   c                 S   r   r   )ESPEAK_TO_IPAr   r   r   r   r   r   r      r   zespeak_to_ipa.<locals>.<lambda>)joinr   r   ESPEAK_PATTERNr   )r   espeak_codepointsr   r   r   espeak_to_ipa   s   

r#      æau   ɑAu   ɒzA.u   ʌVu   ɐbu   ɓzb`u   ʙzb<trl>u   βBr      çCu   çu   ɕzS;du   ɗzd`u   ɖzd.   ðDeu   ə@u   ɚ3u   ɘu   ɛEu   ɜzV"u   ɝu   ɞzO"fu   ɡgu   ɠzg`u   ɢGu   ʛzG`u   ɣQu   ˠ~u   ɤzo-hu   ʰz<h>u   ħHu   ɦzh<?>u   ɧr	   u   ɥzj<rnd>u   ʜiu   ɨzi"u   ɪIju   ʲ;u   ʝzC<vcd>u   ɟJu   ʄzJ`klu   ɫu   ɬzs<lat>u   ɭzl.u   ɮzz<lat>u   ʟLmu   ɱMu   ɯzu-u   ɰnu   ɲzn^u   ŋNu   ɳzn.u   ɴzn"ou   ʘzp!u   ɵz@.   øYu   œWu   ɶu   ɔOpu   ɸFqrzr<trl>u   ɾRu   ɼu   ɽz*.u   ɹu   ɻzr.u   ɺz*<lat>u   ʀzr"u   ʁsu   ʂzs.u   ʃStu   ʈzt.u   θTuu   ʉzu"u   ʊUvu   ʋzv#wu   ʷz<w>u   ʍzw<vls>xu   χXyu   ʎzl^u   ʏzI.zu   ʑzZ;u   ʐzz.u   ʒZu   ʔ?u   ʡu   ʕzH<vcd>u   ʢu   ˤz<H>u   ǃzc!u   ǀzt!u   ǂu   ǁzl!u   ̠u   ̪u   ̺u   ̟u   ̝u   ̞u   ˈ'u   ˌ,u   ̩-u   ̚z<o>.u   ˑu   ̈u   ̤z<?>u   ː:u   ʼ`u   ̥u   ̊u   ̜u   ̹u   ̃u   ̴u   ̰u   ̬u   ̆u   ̯u   ̽u   ˞z<r>u   ̻u   ̘u   ̙u   ̼u   ↗u   ↑u   ↘u   ↓tSdzz_::z_::_::)u   ͡u   ͜u   ʈ͡ʂu   ɖ͡ʐ|u   ‖#c                 C   s   i | ]	\}}|r||qS r   r   )r   r?   rV   r   r   r   
<dictcomp>   s    rh   z({})rf   c                 c       | ]}t |V  qd S Nreescape)r   r   r   r   r   r          r   )reversec                 c   ri   rj   rk   )r   r   r   r   r   r      rn   )keyro   )T)__doc__rl   r   strboolr   r#   r
   itemsr   compileformatr    sortedr!   lenr   r   r   r   r   <module>   s   		
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                    *"$