
    wiu                         d dl Z d dlZd dlZd dlmZ ddlmZ  G d d          Z G d d          Z G d	 d
          Z	dS )    N)Tuple   )Configurationsc            	           e Zd Zd ZdefdZ ej        d          dededeee	f         fd	            Z
d
ededefdZd ZdS )JConvc                 R    t                      | _        t                      | _        d S N)Kanwa_kanwaItaiji_itaiji)selfs    ^/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pykakasi/kanji.py__init__zJConv.__init__   s    ggxx    cc                     dt          |d                   cxk    odk     nc p,| j                            t          |d                             S )Ni 4  r   i   )ordr   haskeyr   r   s     r   isRegionzJConv.isRegion   sM    QqT++++V++++Mt|/B/B3qt99/M/MMr   i   )maxsizeitextbtextreturnc                    d}d}| j                             |          }t          |          t          |          z
  }| j                            |d                   }|dS |                                D ]T\  }}	t          |          }
t          |          |
k    r-|                    |          r|	D ]\  }}|||v r
||
k     r|}|
}Ut          |          D ]}|t          |          k    r ni||dz
           ||dz
           k    r|dz  }5||t          |          z   k     r4|t          |          k    r!|                     ||                   r|dz  }||fS )Nr    )r   r   r   )	r   convertlenr   loaditems
startswithrange	_is_vschr)r   r   r   max_lenHstrtextnum_vstablekvlengthyomicon_s                 r   r   zJConv.convert   s   |##E**Uc$ii'  a))=5KKMM 	1 	1DAqVVF4yyF""??1%% 1%& 1 1	c;%3,,&//'+*0v 	 	AU##gk"eGaK&88816CII---'SZZ2G2GDNN[`ah[iLjLj2G1gr   literalc                     dt          |          cxk    rdk    r$n n!|| j        t          |          dz
           v rdS dS )NiA0  i0  i@0  TF)r   	_cl_table)r   r0   r   s      r   
_isCletterzJConv._isCletter3   sP    c!ff&&&&&&&&&Ws1vvPV8W-W-W4ur   c                 v    dt          |          cxk    odk    nc pdt          |          cxk    odk    nc S )Ni  i  i   i  )r   )r   chs     r   r$   zJConv._is_vschr8   sQ    3r77----g----L3r771L1L1L1Lf1L1L1L1LLr   N)__name__
__module____qualname__r   strr   	functools	lru_cacher   intr   boolr3   r$    r   r   r   r      s             N# N N N N Y%%%S  sCx    &%8# # $    
M M M M Mr   r   c                   T    e Zd Zd ej                    dZd Zd Zd Zde	de	fdZ
dS )	r   N)_itaijidict_lockc                 H    t          j        | g|R i |}| j        |_        |S r	   object__new___shared_state__dict__clspr*   r   s       r   rE   zItaiji.__new__A   0    ~c+A+++++)r   c                 $   | j         | j        5  | j         _t          j        t          j                  }t          |d          5 }t          j        |          | _         d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S d S Nrb)r@   rA   r   dictpathjisyo_itaijiopenpickler    )r   
itaijipathds      r   r   zItaiji.__init__F   s   # : :#+!/!89T!U!UJj$// :1+1;q>>(: : : : : : : : : : : : : : :: : : : : : : : : : : : : : : : : : $#5   6BA+B+A/	/B2A/	3BB
Bc                     || j         v S r	   )r@   r   s     r   r   zItaiji.haskeyN   s    D$$$r   r'   r   c                 6    |                     | j                  S r	   )	translater@   )r   r'   s     r   r   zItaiji.convertQ   s    ~~d.///r   )r6   r7   r8   	threadingLockrF   rE   r   r   r9   r   r>   r   r   r   r   <   s|         %)>9>3C3CDDM  
: : :% % %0C 0C 0 0 0 0 0 0r   r   c                   J    e Zd Z ej                    ddZd Zd ZdefdZ	dS )r
   N)rA   _jisyo_tablec                 H    t          j        | g|R i |}| j        |_        |S r	   rC   rH   s       r   rE   zKanwa.__new__[   rK   r   c                 $   | j         | j        5  | j         _t          j        t          j                  }t          |d          5 }t          j        |          | _         d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S d S rM   )r\   rA   r   rO   jisyo_kanwarQ   rR   r    )r   rO   rT   s      r   r   zKanwa.__init__`   s   $ ; ;$,-6~7QRRHh-- ;,2KNN); ; ; ; ; ; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; %$rU   charc                 b    t          |d                   }| j                            |d           S )Nr   )r   r\   get)r   r`   keys      r   r    z
Kanwa.loadh   s*    $q'll $$S$///r   )
r6   r7   r8   rY   rZ   rF   rE   r   r9   r    r>   r   r   r
   r
   X   sd        ,in..EEM  
; ; ;0 0 0 0 0 0 0r   r
   )
r:   rR   rY   typingr   
propertiesr   r   r   r
   r>   r   r   <module>rf      s                   & & & & & &+M +M +M +M +M +M +M +M\0 0 0 0 0 0 0 080 0 0 0 0 0 0 0 0 0r   