ó
    EñiL  ã                  ór  • S SK Jr  S SKrS SKJr  SSKJr  SSKJrJ	r	  \R                  " S5      rSS jrSSS	 jjr\S
:X  au  SSKJr  \" SS9r\R#                  S5        \" \	" SS5      5        \" SS9r\R%                  5         \R#                  S5        \R%                  5         \R#                  S5        gg)é    )ÚannotationsN)ÚIterableé   )Ú	loop_last)Úcell_lenÚ
chop_cellsz	\s*\S+\s*c              #  óÈ   #   • Sn[         R                  X5      nUbD  UR                  5       u  p4UR                  S5      nX4U4v •  [         R                  X5      nUb  MC  gg7f)z«Yields each word from the text as a tuple
containing (start_index, end_index, word). A "word" in this context may
include the actual word and any whitespace to the right.
r   N)Úre_wordÚmatchÚspanÚgroup)ÚtextÚpositionÚ
word_matchÚstartÚendÚwords         ÚG/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rich/_wrap.pyÚwordsr      s_   é € ð
 €HÜ—‘˜tÓ.€JØ
Ñ
 Ø—_‘_Ó&‰
ˆØ×Ñ Ó"ˆØ˜$ÐÒÜ—]‘] 4Ó-ˆ
ð	 Õ
 ùs   ‚AA"Á A"c                óæ  • / nUR                   nSn[        n[        U 5       HË  u  pxn	U" U	R                  5       5      n
X-
  nXº:¬  nU(       a  XV" U	5      -  nM7  X¡:”  am  U(       aM  [	        X‘S9n[        U5       H3  u  pïU(       a  U" U5        U(       a
  U" U5      nM%  U[        U5      -  nM5     M�  U(       a  U" U5        U" U	5      nM©  U(       d  M²  U(       d  M»  U" U5        U" U	5      nMÍ     U$ )ax  Given a string of text, and a width (measured in cells), return a list
of cell offsets which the string should be split at in order for it to fit
within the given width.

Args:
    text: The text to examine.
    width: The available cell width.
    fold: If True, words longer than `width` will be folded onto a new line.

Returns:
    A list of indices to break the line at.
r   ©Úwidth)Úappendr   r   Úrstripr   r   Úlen)r   r   ÚfoldÚbreak_positionsr   Úcell_offsetÚ	_cell_lenr   Ú_endr   Úword_lengthÚremaining_spaceÚword_fits_remaining_spaceÚfolded_wordÚlastÚlines                   r   Údivide_liner'      sé   € ð "$€OØ×#Ñ#€FØ€KÜ€Iä" 4ž[Ñˆ�TÙ §¡£Ó.ˆØÑ-ˆØ$3Ñ$BÐ!æ$à˜9 T›?Ñ*ŠKð Ó"ö ä",¨TÑ"?�KÜ&/°Ö&<™
˜Þ Ù" 5œMÞÙ*3°D«/šKà!¤S¨£YÑ.šEó '=ö Ù˜uœÙ"+¨D£/’Kß�§ ñ �u”Ù'¨›o’ñA )ðD Ðó    Ú__main__)ÚConsoleé
   r   z@12345 abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWXYZ 12345Úabcdefghijklmnopqrstuvwxyzé   uR   Textualã�¯Pythonã�®é«˜é€Ÿã‚¢ãƒ—ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³é–‹ç™ºãƒ•ãƒ¬ãƒ¼ãƒ ãƒ¯ãƒ¼ã‚¯ã�§ã�™u4   ã‚¢ãƒ—ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã�¯1670ä¸‡è‰²ã‚’ä½¿ç”¨ã�§ã��)r   ÚstrÚreturnzIterable[tuple[int, int, str]])T)r   r.   r   Úintr   Úboolr/   z	list[int])Ú
__future__r   ÚreÚtypingr   Ú_loopr   Úcellsr   r   Úcompiler
   r   r'   Ú__name__Úconsoler*   ÚprintÚrule© r(   r   Ú<module>r=      sœ   ðÝ "ã 	Ý å ß 'à
�*Š*�\Ó
"€ô.ö4ðn ˆzÓÝ á˜BÑ€GØ‡M�MÐTÔUÙ	‰*Ð1°2Ó
6Ô7á˜BÑ€GØ‡L�L„NØ‡M�MÐfÔgà‡L�L„NØ‡M�MÐHÕIð r(   