HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pip/_vendor/rich/__pycache__/cells.cpython-310.pyc
o

@%Ne��
@s@ddlmZddlZddlmZmZddlmZddlm	Z	e�
d�jZe	d�fd	e
d
ee
efdefdd
�Zedd�de
defdd��Zedd�dedefdd��Zd	e
dede
fdd�Zd$d	e
dededee
fdd�Zedkr�eed��edd�D]Zee�q}ed dd!�D]Zeede�d"�ed#e�q�dSdS)%�)�	lru_cacheN)�Dict�List�)�CELL_WIDTHS)�LRUCacheu^[ -o ˿Ͱ-҂]*$i�text�_cache�returncsZt|�rt|�S|�|d�}|dur|St�t�fdd�|D��}t|�dkr+|||<|S)z�Get the number of cells required to display text.

    Args:
        text (str): Text to display.

    Returns:
        int: Get the number of cells required to display text.
    Nc3s�|]}�|�VqdS)N���.0�	character��	_get_sizer�8/usr/lib/python3/dist-packages/pip/_vendor/rich/cells.py�	<genexpr>s�zcell_len.<locals>.<genexpr>�@)�_is_single_cell_widths�len�get�get_character_cell_size�sum)rr	�
cached_result�
total_sizerrr�cell_lens
r)�maxsizercCst|�rdStt|��S)��Get the cell size of a character.

    Args:
        character (str): A single character.

    Returns:
        int: Number of cells (0, 1 or 2) occupied by that character.
    r)r�_get_codepoint_cell_size�ord)rrrrr#s
r�	codepointcCs�t}d}t|�d}||d}	||\}}}||kr!|d}n||kr*|d}n|dkr0dS|S||kr9	dS||d}q)rrr�T���)rr)r �_table�lower_bound�upper_bound�index�start�end�widthrrrr3s 

��r�totalc	Cs�t|�rt|�}||kr|d||S|d|�S|sdSt|�}||kr(|S||kr4|d||Sd}t|�}	||d}|d|d�}t|�}||dkrct|d�dkrc|dd�dS||kri|S||krp|}n|}q;)	z?Set the length of a string to fit within given number of cells.� N�rTr!rr")rrr)	rr*�size�	cell_sizer'r(�pos�before�
before_lenrrr�
set_cell_sizePs4�r2�max_size�positionc
s�t��fdd�|D�ddd�}|}gg}|dj}|j}|rB|�\}}	||	|kr8|�|g�|dj}|	}n||	7}||�|sdd�|D�S)z-Break text in to equal (cell) length strings.csg|]}|�|�f�qSrrr��_get_character_cell_sizerr�
<listcomp>xs�zchop_cells.<locals>.<listcomp>Nr"cSsg|]}d�|��qS)r,)�join)r
�linerrrr7�s)r�append�pop)
rr3r4�
charactersr�linesr:r;rr-rr5r�
chop_cellsus(
��


�	r>�__main__u😽u]这是对亚洲语言支持的测试。面对模棱两可的想法,拒绝猜测的诱惑。��Pr"�|�x)r)�	functoolsr�re�typingrr�_cell_widthsr�
_lru_cacher�compile�matchr�str�intrrrr2r>�__name__�printr9�range�nrrrr�<module>s,& %
�