§
    XŠtjÝ  ã                   óP   — d Z ddlZddlmZ ddlmZmZ dgZ G d„ de¦  «        ZdS )zÕ
    pygments.formatters.groff
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Formatter for groff output.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú	Formatter)Úget_bool_optÚget_int_optÚGroffFormatterc                   óL   — e Zd ZdZdZg d¢Zg Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ ZdS )r   a  
    Format tokens with groff escapes to change their color and font style.

    .. versionadded:: 2.11

    Additional options accepted:

    `style`
        The style to use, can be a string or a Style subclass (default:
        ``'default'``).

    `monospaced`
        If set to true, monospace font will be used (default: ``true``).

    `linenos`
        If set to true, print the line numbers (default: ``false``).

    `wrap`
        Wrap lines to the specified number of characters. Disabled if set to 0
        (default: ``0``).
    Úgroff)r   ÚtroffÚroffc                 ó   — t          j        | fi |¤Ž t          |dd¦  «        | _        t          |dd¦  «        | _        d| _        t          |dd¦  «        | _        d| _        i | _	        |  
                    ¦   «          d S )NÚ
monospacedTÚlinenosFr   Úwrap)r   Ú__init__r   r   r   Ú_linenor   r   Ú_linelenÚstylesÚ_make_styles)ÚselfÚoptionss     úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/formatters/groff.pyr   zGroffFormatter.__init__-   s�   € ÝÔ˜4Ð+Ð+ 7Ð+Ð+Ð+å& w°¸dÑCÔCˆŒÝ# G¨Y¸Ñ>Ô>ˆŒØˆŒÝ ¨°Ñ3Ô3ˆŒ	ØˆŒàˆŒØ×ÒÑÔÐÐÐó    c                 óv  — | j         rdnd}| j         rdnd}| j         rdnd}| j        D ]�\  }}dx}}|d         r#|d	                     |d         ¦  «        z  }d
|z   }|d         r
||z  }||z   }|d         r
||z  }||z   }|d         r#|d                     |d         ¦  «        z  }d|z   }||f| j        |<   Œ�d S )Nz\f[CR]z\f[R]z\f[CB]z\f[B]z\f[CI]z\f[I]Ú Úcolorz\m[{}]z\m[]ÚboldÚitalicÚbgcolorz\M[{}]z\M[])r   ÚstyleÚformatr   )r   Úregularr   r   ÚttypeÚndefÚstartÚends           r   r   zGroffFormatter._make_styles:   s  € Ø#œÐ<�)�)°HˆØ œOÐ9ˆyˆy°ˆØ"œoÐ;��°8ˆàœ:ð 	,ð 	,‰KˆE�4ØÐˆE�CØ�GŒ}ð $Ø˜×)Ò)¨$¨w¬-Ñ8Ô8Ñ8�Ø ‘m�Ø�FŒ|ð $Ø˜‘�Ø ‘m�Ø�HŒ~ð $Ø˜‘�Ø ‘m�Ø�IŒð $Ø˜×)Ò)¨$¨y¬/Ñ:Ô:Ñ:�Ø ‘m�à!&¨ ˆDŒK˜ÑÐð	,ð 	,r   c                 óè   — t          ¦   «         }| j        D ](\  }}|d         �|                     |d         ¦  «         Œ)t          |¦  «        D ]#}|                     d|z   dz   |z   dz   ¦  «         Œ$d S )Nr   z
.defcolor z rgb #ú
)Úsetr   ÚaddÚsortedÚwrite)r   ÚoutfileÚcolorsÚ_r"   r   s         r   Ú_define_colorszGroffFormatter._define_colorsQ   s�   € Ý‘”ˆØ”zð 	*ð 	*‰GˆAˆtØ�GŒ}Ð(Ø—
’
˜4 œ=Ñ)Ô)Ð)øå˜F‘^”^ð 	Jð 	JˆEØ�MŠM˜,¨Ñ.°Ñ9¸EÑAÀDÑHÑIÔIÐIÐIð	Jð 	Jr   c                 ó~   — | xj         dz  c_         |                     d| j         dk    rdpd| j         fz  ¦  «         d S )Né   z%s% 4d r&   r   )r   r*   )r   r+   s     r   Ú_write_linenozGroffFormatter._write_lineno[   sG   € ØˆŒ˜ÑˆŒØ�Š�i 4¤<°1Ò#4Ð#=¸Ð#CÀÀTÄ\Ð"RÑRÑSÔSÐSÐSÐSr   c                 óê  — t          |                     d¦  «        ¦  «        }| j        rdnd}d}|| j        k    rƒt	          dt          j        || j        z  ¦  «        ¦  «        D ]/}||| j        z  || j        z  | j        z   …         }||dz   |z   z  }Œ0|| j        z  }|dk    r||| dz
  d …         z  }|| _        n5| j        |z   | j        k    rd|z   |z   }|| _        n|}| xj        |z  c_        |S )Nr&   z     r   r   r0   )ÚlenÚrstripr   r   ÚrangeÚmathÚfloorr   )r   ÚlineÚlengthÚspaceÚnewlineÚiÚchunkÚ	remainders           r   Ú
_wrap_linezGroffFormatter._wrap_line`   s  € Ý�T—[’[ Ñ&Ô&Ñ'Ô'ˆØœ<Ð/��¨RˆØˆà�D”IÒÐÝ˜1�dœj¨°$´)Ñ);Ñ<Ô<Ñ=Ô=ð 2ð 2�Ø˜Q˜tœy™[¨¨4¬9©°T´YÑ)>Ð>Ô?�Ø˜E D™L¨5Ñ0Ñ1��Ø ¤Ñ*ˆIØ˜1Š}ˆ}Ø˜4  
¨1¡  Ô.Ñ.�Ø )�”øØŒ]˜VÑ# d¤iÒ/Ð/Ø˜e‘| tÑ+ˆGØ"ˆDŒMˆMàˆGØˆMŒM˜VÑ#ˆMŒMàˆr   c                 ó6  — |                      dd¦  «                              dd¦  «                              dd¦  «                              dd¦  «                              d	d
¦  «        }|}|D ]­}t          |¦  «        t          |                     ¦   «         ¦  «        k    ry|                     d¦  «                             ¦   «         dd …                               dd¦  «                             ¦   «         }|                      |d|dd …         z   dz   ¦  «        }Œ®|S )Nú\z\[u005C]ú.z	\[char46]ú'z\[u0027]ú`z\[u0060]ú~z\[u007E]Úunicode_escaper0   ÚxÚu00z\[uú])Úreplacer3   ÚencodeÚdecodeÚupper)r   ÚtextÚcopyÚcharÚunis        r   Ú_escape_charszGroffFormatter._escape_charsw   sû   € Ø�|Š|˜D +Ñ.Ô.ß’G˜C Ñ.Ô.ß’G˜D +Ñ.Ô.ß’G˜C Ñ-Ô-ß’G˜C Ñ-Ô-ð	 	ð
 ˆàð 	Bð 	BˆDÝ�4‰yŒy�C §¢¡¤Ñ.Ô.Ò.Ð.Ø—k’kÐ"2Ñ3Ô3ß’V‘X”X˜a˜b˜bô"ç’W˜S %Ñ(Ô(ß’U‘W”Wð ð —|’| D¨&°3°q°r°r´7Ñ*:¸SÑ*@ÑAÔA�øàˆr   c           	      ór  — |                       |¦  «         |                     d¦  «         | j        r|                      |¦  «         |D �]W\  }}|| j        vr|j        }|| j        v°| j        |         \  }}|                     d¦  «        D �]}| j        dk    r|                      |¦  «        }|r\|rZ|  	                    | 
                    d¦  «        ¦  «        }|dk    r+|                     d                     |||f¦  «        ¦  «         n;|                     |  	                    | 
                    d¦  «        ¦  «        ¦  «         |                     d¦  «        r@| j        r|                      |¦  «         d| _        Œõ|                     d¦  «         d| _        �Œ�ŒY|                     d¦  «         d S )Nz.nf
\f[CR]
Tr   r&   r   z
.fi)r.   r*   r   r1   r   ÚparentÚ
splitlinesr   r?   rR   r4   ÚjoinÚendswithr   )	r   Útokensourcer+   r!   Úvaluer#   r$   r8   rN   s	            r   Úformat_unencodedzGroffFormatter.format_unencodedŠ   sÅ  € Ø×Ò˜GÑ$Ô$Ð$à�ŠÐ&Ñ'Ô'Ð'àŒ<ð 	(Ø×Ò˜wÑ'Ô'Ð'à'ð 	*ñ 	*‰LˆE�5Ø˜tœ{Ð*Ð*Øœ�ð ˜tœ{Ð*Ð*àœ UÔ+‰JˆE�3à×(Ò(¨Ñ.Ô.ð *ñ *�Ø”9˜q’=�=ØŸ?š?¨4Ñ0Ô0�Dàð I˜Sð IØ×-Ò-¨d¯kªk¸$Ñ.?Ô.?Ñ@Ô@�DØ˜r’z�zØŸš b§g¢g¨u°d¸CÐ.@Ñ&AÔ&AÑBÔBÐBøà—M’M $×"4Ò"4°T·[²[ÀÑ5FÔ5FÑ"GÔ"GÑHÔHÐHà—=’= Ñ&Ô&ð *Ø”|ð *Ø×*Ò*¨7Ñ3Ô3Ð3Ø()˜œ˜àŸš dÑ+Ô+Ð+Ø()˜œùñ#*ð& 	�Š�gÑÔÐÐÐr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr   r   r.   r1   r?   rR   rZ   © r   r   r   r      s¤   € € € € € ðð ð, €DØ&Ð&Ð&€GØ€Ið
ð 
ð 
ð,ð ,ð ,ð.Jð Jð JðTð Tð Tð
ð ð ð.ð ð ð& ð  ð  ð  ð  r   )	r^   r6   Úpygments.formatterr   Úpygments.utilr   r   Ú__all__r   rb   r   r   ú<module>rf      sŠ   ððð ð €€€Ø (Ð (Ð (Ð (Ð (Ð (Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3àÐ
€ðXð Xð Xð Xð X�Yñ Xô Xð Xð Xð Xr   