ó
    ‰*£hü  ã                   ó€   • S r SSKJr  SSKJr  SSKJrJr  SSKJrJ	r	J
r
  SSKJrJr   " S S\5      r " S	 S
\5      rg)z
RichText definition
é    )Úcopy)ÚNUMERIC_TYPES)Ú
InlineFontÚText)ÚStrictÚStringÚTyped)ÚElementÚ
whitespacec                   óP   • \ rS rSrSr\" \S9r\" 5       r	S r
S rS rS rS rS	rg
)Ú	TextBlocké   zmRepresents text string in a specific format

This class is used as part of constructing a rich text strings.
)Úexpected_typec                 ó   • Xl         X l        g ©N©ÚfontÚtext)Úselfr   r   s      ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/openpyxl/cell/rich_text.pyÚ__init__ÚTextBlock.__init__   s   € ØŒ	Ø�	ó    c                 ót   • U R                   UR                   :H  =(       a    U R                  UR                  :H  $ r   )r   r   )r   Úothers     r   Ú__eq__ÚTextBlock.__eq__   s'   € Ø�y‰y˜EŸJ™JÑ&×B¨4¯9©9¸¿
¹
Ñ+BÐBr   c                 ó   • U R                   $ )zJust retun the text)r   ©r   s    r   Ú__str__ÚTextBlock.__str__"   s   € à�y‰yÐr   c                 ó¸   • U R                   [        5       :g  =(       a    U R                   =(       d    SnU R                  R                   SU R                   SU 3$ )NÚdefaultz text=z, font=)r   r   Ú	__class__Ú__name__r   )r   r   s     r   Ú__repr__ÚTextBlock.__repr__'   sF   € Ø�y‰yœJ›LÑ(×6¨T¯Y©Y×C¸)ˆØ—.‘.×)Ñ)Ð*¨&°·±°¸7À4À&ÐIÐIr   c                 óÜ   • [        S5      nUR                  U R                  R                  SS95        [        S5      nU R                  Ul        [        U5        UR                  U5        U$ )NÚrÚrPr)ÚtagnameÚt)r
   Úappendr   Úto_treer   r   )r   Úelr,   s      r   r.   ÚTextBlock.to_tree,   sT   € Ü�S‹\ˆØ
�	‰	�$—)‘)×#Ñ#¨EÐ#Ð2Ô3Ü�C‹LˆØ—‘ˆŒÜ�1ŒØ
�	‰	�!ŒØˆ	r   r   N)r%   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r	   r   r   r   r   r   r   r    r&   r.   Ú__static_attributes__© r   r   r   r      s5   † ññ ˜zÑ*€DÙ‹8€Dòò
Còò
Jõ
r   r   c                   ó¶   ^ • \ rS rSrSrU 4S jr\S 5       r\S 5       r\S 5       r	U 4S jr
U 4S jrS	 rU 4S
 jrU 4S jrU 4S jrS rS rS rS rSrU =r$ )ÚCellRichTexté<   að  Represents a rich text string.

Initialize with a list made of pure strings or :class:`TextBlock` elements
Can index object to access or modify individual rich text elements
it also supports the + and += operators between rich text strings
There are no user methods for this class

operations which modify the string will generally call an optimization pass afterwards,
that merges text blocks with identical formats, consecutive pure text strings,
and remove empty strings and empty text blocks
c                 ó
  >• [        U5      S:X  aO  US   n[        U[        [        45      (       a  [        R                  U5        O.[        R                  U5        U/nO[        R                  U5        [        TU ]!  U5        g )Né   r   )	ÚlenÚ
isinstanceÚlistÚtupler8   Ú_check_rich_textÚ_check_elementÚsuperr   )r   Úargsr$   s     €r   r   ÚCellRichText.__init__I   sf   ø€ Üˆt‹9˜‹>Ø˜‘7ˆDÜ˜$¤¤u ×.Ñ.Ü×-Ñ-¨dÕ3ä×+Ñ+¨DÔ1Ø�v‘ä×)Ñ)¨$Ô/Ü‰Ñ˜Õr   c                 ó`   • [        U[        [        [        45      (       d  [	        SU 35      eg )NzIllegal CellRichText element )r=   Ústrr   r   Ú	TypeError)ÚclsÚvalues     r   rA   ÚCellRichText._check_elementV   s/   € ä˜%¤#¤y´-Ð!@×AÑAÜÐ;¸E¸7ÐCÓDÐDð Br   c                 ó@   • U H  n[         R                  U5        M     g r   )r8   rA   )rH   Ú	rich_textr,   s      r   r@   ÚCellRichText._check_rich_text\   s   € ãˆAÜ×'Ñ'¨Ö*ò r   c                 ó´  • [         R                  " U5      nUR                  (       a  UR                  R                  SS5      4$ / nUR                   H{  nSnUR                  (       a  UR                  R                  SS5      nUR
                  (       a'  UR                  [        UR
                  U5      5        Mj  UR                  U5        M}     U " U5      $ )NÚx005F_Ú )r   Ú	from_treer,   Úreplacer)   r*   r-   r   )rH   Únoder   Úsr)   r,   s         r   rQ   ÚCellRichText.from_treea   s–   € ä�~Š~˜dÓ#ˆØ�6�6Ø—F‘F—N‘N 8¨RÓ0Ð2Ð2ØˆØ—”ˆAØˆAØ�s�sØ—C‘C—K‘K ¨"Ó-�Ø�u�uØ—‘œ 1§5¡5¨!Ó,Ö-à—‘˜–ñ ñ �1‹vˆr   c                 ó  >• S n[        [        5       5      nU  H½  n[        U[        5      (       a
  U(       d  M!  OUR                  (       d  M5  [        U5      [        U5      :X  aV  [        U[        5      (       a  X-  nMh  UR                  UR                  :X  a!  U=R                  UR                  -  sl        M£  U(       a  UR                  U5        UnM¿     U(       a  UR                  U5        [        TU ]%  [        S 5      U5        U $ r   )r8   r?   r=   rF   r   Útyper   r-   rB   Ú__setitem__Úslice)r   Úlast_tÚlr,   r$   s       €r   Ú_optÚCellRichText._opts   sÉ   ø€ ØˆÜœ›Ó!ˆÛˆAÜ˜!œS×!Ñ!ÞÙð à—V—VÙÜ�F‹|œt A›wÓ&Ü˜a¤×%Ñ%Ø‘K�FÙØ—[‘[ A§F¡FÓ*Ø—K’K 1§6¡6Ñ)•KÙÞØ—‘˜Ô ØŠFñ ö  à�H‰H�VÔÜ‰ÑœE $›K¨Ô+Øˆr   c                 ó¼   >• [         R                  U5        [        TU ]  [	        U5       Vs/ s H  n[        U5      PM     sn5        U R                  5       $ s  snf r   )r8   r@   rB   Ú__iadd__r>   r   r\   )r   ÚargÚer$   s      €r   r_   ÚCellRichText.__iadd__�   sF   ø€ ä×%Ñ% cÔ*Ü‰Ñ¬4°¬9Ó5ª9 aœ$˜qž'©9Ñ5Ô6Ø�y‰y‹{Ðùò 6s   ­Ac                 óœ   • [        [        U 5      [        U5      -    Vs/ s H  n[        U5      PM     sn5      R                  5       $ s  snf r   )r8   r>   r   r\   )r   r`   ra   s      r   Ú__add__ÚCellRichText.__add__”   s;   € Ü¬d°4«j¼4À»9Ò.DÓEÒ.D¨œT !žWÑ.DÑEÓF×KÑKÓMÐMùÒEs   ŸA	c                 ón   >• [         R                  U5        [        TU ]  X5        U R	                  5         g r   )r8   rA   rB   rX   r\   )r   ÚindxÚvalr$   s      €r   rX   ÚCellRichText.__setitem__˜   s'   ø€ Ü×#Ñ# CÔ(Ü‰Ñ˜DÔ&Ø�	‰	�r   c                 óN   >• [         R                  U5        [        TU ]  U5        g r   )r8   rA   rB   r-   ©r   r`   r$   s     €r   r-   ÚCellRichText.appendž   s   ø€ Ü×#Ñ# CÔ(Ü‰‰�sÕr   c                 óN   >• [         R                  U5        [        TU ]  U5        g r   )r8   r@   rB   Úextendrk   s     €r   rn   ÚCellRichText.extend£   s   ø€ Ü×%Ñ% cÔ*Ü‰‰�sÕr   c                 óP   • SR                  SR                  S U  5       5      5      $ )NzCellRichText([{}])z, c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr   )Úrepr)Ú.0rT   s     r   Ú	<genexpr>Ú(CellRichText.__repr__.<locals>.<genexpr>©   s   é € Ð5LÂtÀ!´d¸1·g°gÂtùs   ‚)ÚformatÚjoinr   s    r   r&   ÚCellRichText.__repr__¨   s"   € Ø#×*Ñ*¨4¯9©9Ñ5LÁtÓ5LÓ+MÓNÐNr   c                 ób   • SR                  U  Vs/ s H  n[        U5      PM     sn5      $ s  snf )NrP   )rw   rF   ©r   rT   s     r   r    ÚCellRichText.__str__¬   s'   € Ø�w‰w©Ó-ª 1œ˜Až©Ñ-Ó.Ð.ùÒ-s   �,c                 óD   • U  Vs/ s H  n[        U5      PM     sn$ s  snf )z^
Returns a list of the strings contained.
The main reason for this is to make editing easier.
)rF   rz   s     r   Úas_listÚCellRichText.as_list°   s    € ñ
 !%Ó%¢˜1”�A–¡Ñ%Ð%ùÒ%s   …c                 ó,  • [        S5      nU  H‚  n[        U[        5      (       a!  UR                  UR	                  5       5        M9  [        S5      n[        S5      nX$l        [        U5        UR                  U5        UR                  U5        M„     U$ )z$
Return the full XML representation
Úisr)   r,   )r
   r=   r   r-   r.   r   r   )r   Ú	containerÚobjr/   r,   s        r   r.   ÚCellRichText.to_tree¸   sy   € ô ˜D“Mˆ	ÛˆCÜ˜#œy×)Ñ)Ø× Ñ  §¡£Ö/ô ˜S“\�Ü˜C“L�Ø”Ü˜1”Ø—	‘	˜!”Ø× Ñ  Ö$ñ ð Ðr   r6   )r%   r1   r2   r3   r4   r   ÚclassmethodrA   r@   rQ   r\   r_   rd   rX   r-   rn   r&   r    r}   r.   r5   Ú__classcell__)r$   s   @r   r8   r8   <   s„   ø† ñ
õ
ð ñEó ðEð
 ñ+ó ð+ð ñó ðõ"õ4òNõõõ
ò
Oò/ò&÷ð r   r8   N)r4   r   Úopenpyxl.compatr   Úopenpyxl.cell.textr   r   Úopenpyxl.descriptorsr   r   r	   Úopenpyxl.xml.functionsr
   r   r   r>   r8   r6   r   r   Ú<module>rŠ      s?   ðñõ Ý )ß /÷ñ ÷ 7ô"�ô "ôVM�4õ Mr   