HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-310.pyc
o

��i��
@sLddlZddlmZddlmZmZddlmZe�d�j	Z
ed�ded	efd
d��Z
e
fdedeegefd	efd
d�Zedd�ded	efdd��Zedd�ded	efdd��Zdeded	efdd�Zd%dededed	eefdd�Zedkr�eed��edd �D]Zee�q�ed!dd"�D]Zeede�d#�ed$e�q�dSdS)&�N)�	lru_cache)�Callable�List�)�CELL_WIDTHSu^[ -o ˿Ͱ-҂]*$i�text�returncst�t�fdd�|D��}|S)a/Get the number of cells required to display text.

    This method always caches, which may use up a lot of memory. It is recommended to use
    `cell_len` over this method.

    Args:
        text (str): Text to display.

    Returns:
        int: Get the number of cells required to display text.
    c3��|]}�|�VqdS�N���.0�	character��	_get_sizer�A/usr/local/lib/python3.10/site-packages/pip/_vendor/rich/cells.py�	<genexpr>��z"cached_cell_len.<locals>.<genexpr>)�get_character_cell_size�sum)r�
total_sizerrr�cached_cell_lens
r�	_cell_lencs2t|�dkr
||�St�t�fdd�|D��}|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.
    ic3r	r
rrrrrr)rzcell_len.<locals>.<genexpr>)�lenrr)rrrrrr�cell_lens
	r)�maxsizercCstt|��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.
    )�_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�widthrrrr:s 

��r�totalc	Cs�t|�rt|�}||kr|d||S|d|�S|dkr dSt|�}||kr*|S||kr6|d||Sd}t|�}	||d}|d|d�}t|�}||dkret|d�dkre|dd�dS||krk|S||krr|}n|}q=)	z?Set the length of a string to fit within given number of cells.� Nr�Tr rr!)�_is_single_cell_widthsrr)	rr)�size�	cell_sizer&r'�pos�before�
before_lenrrr�
set_cell_sizeWs4�r2�max_size�positionc	s�t��fdd�|D�}|}gg}|dj}t|�D] \}}|||kr1|�|g�|dj}|}q||7}||�qdd�|D�S)z[Break text in to equal (cell) length strings, returning the characters in reverse
    ordercsg|]}|�|�f�qSrrr��_get_character_cell_sizerr�
<listcomp>�s�zchop_cells.<locals>.<listcomp>r!cSsg|]}d�|��qS)r+)�join)r
�linerrrr7�s)r�append�reversed)	rr3r4�
charactersr�linesr:rr-rr5r�
chop_cells|s
�


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