§
    XŠtjè  ã                   óf  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ g d¢ ee¦  «        z   Zi Zi Zd„ Zd	„ Zd
„ Zd„ Zd„ Zdd„Zd„ Z G d„ dej        ¦  «        Zej        e         Z ee¦  «        Zej                             ej        ¦  «         eej        e<   e`e`e`e`dS )zÂ
    pygments.formatters
    ~~~~~~~~~~~~~~~~~~~

    Pygments formatters.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Úbasename)Ú
FORMATTERS)Úfind_plugin_formatters)ÚClassNotFound)Úget_formatter_by_nameÚget_formatter_for_filenameÚget_all_formattersÚload_formatter_from_filec                 óÞ   — |t           vrEt          j        t          j        |¦  «        ¦  «        x}t           |<   |                     | ¦  «        S t           |                              | ¦  «        S )zBReturn whether the supplied file name fn matches pattern filename.)Ú_pattern_cacheÚreÚcompileÚfnmatchÚ	translateÚmatch)ÚfnÚglobÚpatterns      úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/formatters/__init__.pyÚ_fn_matchesr      s\   € à•>Ð!Ð!Ý)+¬µGÔ4EÀdÑ4KÔ4KÑ)LÔ)LÐLˆ•. Ñ&Ø�}Š}˜RÑ Ô Ð Ý˜$Ô×%Ò% bÑ)Ô)Ð)ó    c                 ó~   — t          | dddg¦  «        }|j        D ]!}t          ||¦  «        }|t          |j        <   Œ"dS )z4Load a formatter (and all others in the module too).NÚ__all__)Ú
__import__r   ÚgetattrÚ_formatter_cacheÚname)Úmodule_nameÚmodÚformatter_nameÚclss       r   Ú_load_formattersr"   $   sQ   € å
�[ $¨¨y¨kÑ
:Ô
:€CØœ+ð )ð )ˆÝ�c˜>Ñ*Ô*ˆØ%(Õ˜œÑ"Ð"ð)ð )r   c               #   óØ   K  — t          j        ¦   «         D ];} | d         t          vrt          | d         ¦  «         t          | d                  V — Œ<t	          ¦   «         D ]	\  }}|V — Œ
dS )z-Return a generator for all formatter classes.é   r   N)r   Úvaluesr   r"   r   )ÚinfoÚ_Ú	formatters      r   r	   r	   ,   sˆ   è è € õ Ô!Ñ#Ô#ð (ð (ˆØ�Œ7Õ*Ð*Ð*Ý˜T !œWÑ%Ô%Ð%Ý˜t AœwÔ'Ð'Ð'Ð'Ð'Ý.Ñ0Ô0ð ð ‰ˆˆ9Øˆˆˆˆðð r   c                 óÖ   — t          j        ¦   «         D ]3\  }}}}}| |v r'|t          vrt          |¦  «         t          |         c S Œ4t	          ¦   «         D ]\  }}| |j        v r|c S ŒdS )zALookup a formatter by alias.

    Returns None if not found.
    N)r   r%   r   r"   r   Úaliases)Úaliasr   r   r*   r'   r!   s         r   Úfind_formatter_classr,   7   s¢   € õ
 -7Ô,=Ñ,?Ô,?ð *ð *Ñ(ˆ�T˜7 A qØ�GÐÐØÕ+Ð+Ð+Ý  Ñ-Ô-Ð-Ý# DÔ)Ð)Ð)Ð)ð õ )Ñ*Ô*ð ð ‰ˆˆ3Ø�C”KÐÐØˆJˆJˆJð  ðð r   c                 óX   — t          | ¦  «        }|€t          d| ›�¦  «        ‚ |di |¤ŽS )a  
    Return an instance of a :class:`.Formatter` subclass that has `alias` in its
    aliases list. The formatter is given the `options` at its instantiation.

    Will raise :exc:`pygments.util.ClassNotFound` if no formatter with that
    alias is found.
    Nzno formatter found for name © )r,   r   )Ú_aliasÚoptionsr!   s      r   r   r   F   s?   € õ ˜vÑ
&Ô
&€CØ
€{ÝÐE¸6ÐEÐEÑFÔFÐFØˆ3ˆ>ˆ>�ˆ>ˆ>Ðr   ÚCustomFormatterc                 óŽ  — 	 i }t          | d¦  «        5 }t          |                     ¦   «         |¦  «         ddd¦  «         n# 1 swxY w Y   ||vrt          d|› d| › �¦  «        ‚||         } |di |¤ŽS # t          $ r}t          d| › d|› �¦  «        ‚d}~wt          $ r ‚ t
          $ r}t          d|› �¦  «        ‚d}~ww xY w)	a#  
    Return a `Formatter` subclass instance loaded from the provided file, relative
    to the current directory.

    The file is expected to contain a Formatter class named ``formattername``
    (by default, CustomFormatter). Users should be very careful with the input, because
    this method is equivalent to running ``eval()`` on the input file. The formatter is
    given the `options` at its instantiation.

    :exc:`pygments.util.ClassNotFound` is raised if there are any errors loading
    the formatter.

    .. versionadded:: 2.2
    ÚrbNz	no valid z class found in zcannot read z: z%error when loading custom formatter: r.   )ÚopenÚexecÚreadr   ÚOSErrorÚ	Exception)ÚfilenameÚformatternamer0   Úcustom_namespaceÚfÚformatter_classÚerrs          r   r
   r
   T   sZ  € ðKàÐÝ�(˜DÑ!Ô!ð 	- QÝ�—’‘”Ð+Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð Ð 0Ð0Ð0ÝÐ U¨MÐ UÐ UÈ8Ð UÐ UÑVÔVÐVØ*¨=Ô9ˆàˆÐ)Ð) Ð)Ð)Ð)øÝð >ð >ð >ÝÐ<¨8Ð<Ð<°sÐ<Ð<Ñ=Ô=Ð=øøøøÝð ð ð ØÝð Kð Kð KÝÐIÀCÐIÐIÑJÔJÐJøøøøðKøøøsE   ‚A7 ”#A·A7 ÁAÁA7 Á
AÁ+A7 Á7
CÂBÂCÂ-B?Â?Cc                 óv  — t          | ¦  «        } t          j        ¦   «         D ]K\  }}}}}|D ]@}t          | |¦  «        r.|t          vrt          |¦  «         t	          |         di |¤Žc c S ŒAŒLt          ¦   «         D ]+\  }}|j        D ]}t          | |¦  «        r |di |¤Žc c S ŒŒ,t          d| ›�¦  «        ‚)a  
    Return a :class:`.Formatter` subclass instance that has a filename pattern
    matching `fn`. The formatter is given the `options` at its instantiation.

    Will raise :exc:`pygments.util.ClassNotFound` if no formatter for that filename
    is found.
    z!no formatter found for file name Nr.   )	r   r   r%   r   r   r"   r   Ú	filenamesr   )	r   r0   Úmodnamer   r'   r@   r9   Ú_namer!   s	            r   r   r   v   s  € õ 
�"‰Œ€BÝ*4Ô*;Ñ*=Ô*=ð 9ð 9Ñ&ˆ��q˜) QØ!ð 	9ð 	9ˆHÝ˜2˜xÑ(Ô(ð 9ØÕ/Ð/Ð/Ý$ WÑ-Ô-Ð-Ý'¨Ô-Ð8Ð8°Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð9ð	9õ
 -Ñ.Ô.ð &ð &‰
ˆˆsØœð 	&ð 	&ˆHÝ˜2˜xÑ(Ô(ð &Ø�s�~�~˜W�~�~Ð%Ð%Ð%Ð%Ð%ð&ð	&õ ÐB¸BÐBÐBÑ
CÔ
CÐCr   c                   ó   — e Zd ZdZd„ ZdS )Ú_automodulez Automatically import formatters.c                 óÂ   — t          j        |¦  «        }|r;t          |d         ¦  «         t          |d                  }t	          | ||¦  «         |S t          |¦  «        ‚)Nr   r$   )r   Úgetr"   r   ÚsetattrÚAttributeError)Úselfr   r&   r!   s       r   Ú__getattr__z_automodule.__getattr__�   s^   € ÝŒ~˜dÑ#Ô#ˆØð 	Ý˜T !œWÑ%Ô%Ð%Ý" 4¨¤7Ô+ˆCÝ�D˜$ Ñ$Ô$Ð$ØˆJÝ˜TÑ"Ô"Ð"r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rJ   r.   r   r   rD   rD   Œ   s)   € € € € € Ø*Ð*ð#ð #ð #ð #ð #r   rD   )r1   ) rN   r   ÚsysÚtypesr   Úos.pathr   Úpygments.formatters._mappingr   Úpygments.pluginr   Úpygments.utilr   Úlistr   r   r   r   r"   r	   r,   r   r
   r   Ú
ModuleTyperD   ÚmodulesrK   ÚoldmodÚnewmodÚ__dict__Úupdater.   r   r   ú<module>r\      s§  ððð ð 
€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð=ð =ð =Ø?C¸tÀJÑ?OÔ?OñP€ð Ð Ø€ð*ð *ð *ð)ð )ð )ðð ð ðð ð ðð ð ðKð Kð Kð KðDDð Dð Dð,
#ð 
#ð 
#ð 
#ð 
#�%Ô"ñ 
#ô 
#ð 
#ð 
Œ�XÔ	€Ø	ˆ�XÑ	Ô	€Ø „× Ò �v”Ñ 'Ô 'Ð 'Ø€„ˆHÑ Ø
€M�6�= & *¨f¨l¨l¨lr   