Ë
     V.j~  ã                  óz   — d dl mZ d dlmZ d dlZd dlmZ ddlm	Z	 ddlm
Z
 d
d„Z G d„ d	ej                  «      Zy)é    )ÚannotationsN)Úcontextmanageré   )Ú_ansi_re)Úterm_lenc                óÆ   — |dk  ryd}d}d}t        | «      }||k  rAt        j                  | |«      }|�|j                  «       }Œ.|dz  }|dz  }|}||k\  rn||k  rŒA| d| S )zøReturn the longest prefix of ``text`` containing at most ``n`` visible
    characters.

    ANSI escape sequences inside the prefix are kept intact and do not count
    toward the visible width. A cut is never placed inside an escape sequence.
    r   Ú Nr   )Úlenr   ÚmatchÚend)ÚtextÚnÚvisibleÚiÚcutr   Úms          úQC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\click/_textwrap.pyÚ_truncate_visibler      sˆ   € ð 	ˆA‚vØà€GØ	€AØ
€CÜ
ˆd‹)€CØ
ˆcŠ'Ü�N‰N˜4 Ó#ˆØˆ=Ø—‘“ˆAØØ�1‰ˆØ	ˆQ‰ˆØˆØ�aŠ<Øð ˆc‹'ð ��ˆ:Ðó    c                  óN   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zed	d„«       Zd
d„Zy)ÚTextWrapperaŠ  ``textwrap.TextWrapper`` variant that measures widths by visible
    character count.

    ANSI escape sequences embedded in chunks, indents, or the placeholder are
    excluded from the width budget. Without this, styled help text (a styled
    ``Usage:`` prefix, a colorized option name, ...) would be wrapped earlier
    than its visible length warrants and tokens would split mid-word.
    c                óê   — t        ||z
  d«      }| j                  r6|d   }t        ||«      }|t        |«      d  }|j	                  |«       ||d<   y |s |j	                  |j                  «       «       y y )Nr   éÿÿÿÿ)ÚmaxÚbreak_long_wordsr   r
   ÚappendÚpop)	ÚselfÚreversed_chunksÚcur_lineÚcur_lenÚwidthÚ
space_leftÚlastr   Úress	            r   Ú_handle_long_wordzTextWrapper._handle_long_word0   sv   € ô ˜ ™¨!Ó,ˆ
à× Ò Ø" 2Ñ&ˆDÜ# D¨*Ó5ˆCØ”s˜3“x�zÐ"ˆCØ�O‰O˜CÔ Ø"%ˆO˜BÒÙØ�O‰O˜O×/Ñ/Ó1Õ2ð r   c                óÒ  — g }| j                   dk  rt        d| j                   ›d�«      ‚| j                  �o| j                  dkD  r| j                  }n| j                  }t        |«      t        | j                  j                  «       «      z   | j                   kD  rt        d«      ‚|j                  «        |�r®g }d}|r| j                  }n| j                  }| j                   t        |«      z
  }| j                  r|d   j                  «       dk(  r|r|d= |r?t        |d   «      }||z   |k  r%|j                  |j                  «       «       ||z  }nn|rŒ?|r>t        |d   «      |kD  r-| j                  ||||«       t        t        t
        |«      «      }| j                  r,|r*|d   j                  «       dk(  r|t        |d   «      z  }|d= |�r�| j                  �Ot!        |«      dz   | j                  k  s4|r-| j                  rKt!        |«      dk(  r=|d   j                  «       s*||k  r%|j                  |dj#                  |«      z   «       �n|r‡|d   j                  «       r]|t        | j                  «      z   |k  rB|j                  | j                  «       |j                  |dj#                  |«      z   «       	 	 |S |t        |d   «      z  }|d= |rŒ‡|rV|d   j%                  «       }t        |«      t        | j                  «      z   | j                   k  r|| j                  z   |d<   	 |S |j                  || j                  j                  «       z   «       	 |S |r�Œ®|S )a‘  Wrap chunks counting widths in visible characters.

        Mirrors the algorithm of :meth:`textwrap.TextWrapper._wrap_chunks`
        with every width measurement routed through
        :func:`click._compat.term_len` instead of :func:`len`, so ANSI escape
        bytes in chunks, indents, or the placeholder do not inflate the count.

        .. seealso::
            :class:`textwrap.TextWrapper` in the Python standard library documentation:
            https://docs.python.org/3/library/textwrap.html#textwrap.TextWrapper

            Reference implementation in CPython:
            https://github.com/python/cpython/blob/main/Lib/textwrap.py
        r   zinvalid width z (must be > 0)r   z#placeholder too large for max widthr   r	   )r"   Ú
ValueErrorÚ	max_linesÚsubsequent_indentÚinitial_indentr   ÚplaceholderÚlstripÚreverseÚdrop_whitespaceÚstripr   r   r&   ÚsumÚmapr
   ÚjoinÚrstrip)	r   ÚchunksÚlinesÚindentr    r!   r"   r   Ú	prev_lines	            r   Ú_wrap_chunkszTextWrapper._wrap_chunksB   s-  € ð ˆØ�:‰:˜Š?Ü˜~¨d¯j©j¨^¸>ÐJÓKÐKØ�>‰>Ð%Ø�~‰~ Ò!Ø×/Ñ/‘à×,Ñ,�Ü˜Ó¤(¨4×+;Ñ+;×+BÑ+BÓ+DÓ"EÑEÈÏ
É
ÒRÜ Ð!FÓGÐGà�‰ÔâØ"$ˆHØˆGáØ×/Ñ/‘à×,Ñ,�à—J‘J¤¨&Ó!1Ñ1ˆEà×#Ò#¨¨r©
×(8Ñ(8Ó(:¸bÒ(@ÁUØ˜2�JáÜ˜V B™ZÓ(�à˜Q‘; %Ò'Ø—O‘O F§J¡J£LÔ1Ø˜q‘L‘Gð ò ñ œ( 6¨"¡:Ó.°Ò6Ø×&Ñ& v¨x¸À%ÔHÜœc¤(¨HÓ5Ó6�à×#Ò#©°X¸b±\×5GÑ5GÓ5IÈRÒ5OØœ8 H¨R¡LÓ1Ñ1�Ø˜R�Lâà—N‘NÐ*Ü˜5“z A‘~¨¯©Ò6á"Ø×/Ò/Ü ›K¨1Ò,Ø & q¡	§¡Ô 1à 5Ò(à—L‘L ¨"¯'©'°(Ó*;Ñ!;Ö<á"à$ R™L×.Ñ.Ô0Ø '¬(°4×3CÑ3CÓ*DÑ DÈÒ Mà$ŸO™O¨D×,<Ñ,<Ô=Ø!ŸL™L¨°"·'±'¸(Ó2CÑ)CÔDØ!ð àˆð  ¤8¨H°R©LÓ#9Ñ9˜Ø$ R˜Lò #ñ !Ø(-¨b©	×(8Ñ(8Ó(:˜Iä (¨Ó 3´h¸t×?OÑ?OÓ6PÑ PØ#'§:¡:ò!.ð -6¸×8HÑ8HÑ,H  b¡	Ø %ð ˆð Ÿ™ V¨d×.>Ñ.>×.EÑ.EÓ.GÑ%GÔHØàˆóI ðH ˆr   c              #  óÜ   K  — | j                   }| j                  }| xj                   |z  c_         | xj                  |z  c_        	 d –— || _         || _        y # || _         || _        w xY w­w)N)r+   r*   )r   r7   Úold_initial_indentÚold_subsequent_indents       r   Úextra_indentzTextWrapper.extra_indent¤   sk   è ø€ à!×0Ñ0ÐØ $× 6Ñ 6ÐØ×Ò˜vÑ%ÕØ×Ò &Ñ(Õð	;Ûà"4ˆDÔØ%:ˆDÕ"øð #5ˆDÔØ%:ˆDÕ"üs   ‚AA,ÁA Á
A,ÁA)Á)A,c                óÎ   — g }t        |j                  «       «      D ]7  \  }}| j                  }|dkD  r| j                  }|j	                  |› |› �«       Œ9 dj                  |«      S )Nr   Ú
)Ú	enumerateÚ
splitlinesr+   r*   r   r3   )r   r   ÚrvÚidxÚliner7   s         r   Úindent_onlyzTextWrapper.indent_only±   sc   € Øˆä" 4§?¡?Ó#4Ö5‰IˆC�Ø×(Ñ(ˆFà�QŠwØ×/Ñ/�à�I‰I˜˜  Ð'Õ(ð 6ð �y‰y˜‹}Ðr   N)
r   ú	list[str]r    rF   r!   Úintr"   rG   ÚreturnÚNone)r5   rF   rH   rF   )r7   ÚstrrH   zcabc.Iterator[None])r   rJ   rH   rJ   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r&   r9   r   r=   rE   © r   r   r   r   &   s\   „ ñð3à"ð3ð ð3ð ð	3ð
 ð3ð 
ó3ó$`ðD ò
;ó ð
;ôr   r   )r   rJ   r   rG   rH   rJ   )Ú
__future__r   Úcollections.abcÚabcÚcabcÚtextwrapÚ
contextlibr   Ú_compatr   r   r   r   rO   r   r   Ú<module>rW      s0   ðÝ "å Û Ý %å Ý óô6V�(×&Ñ&õ Vr   