U
    YSh                     @   s  d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZ dgZdddd	d
dddddddddddddddddgZdddgZdd gZd!d"d#d$gZd%d&d'd(d)d*d+d,d-d.d/d0d1d2gZd3d4d5d6d7gZd8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMgZdNdO ZG dPd deZdS )Qz
    pygments.lexers.asn1
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for ASN.1.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)
RegexLexerwordsbygroups	Asn1LexerZENCODEDzABSTRACT-SYNTAXENDZAPPLICATIONZEXPLICITZIMPLICITZ	AUTOMATICZTAGSZBEGINZEXTENSIBILITYZBYZFROMZ	COMPONENTZ	UNIVERSALZ
COMPONENTSZCONSTRAINEDZIMPLIEDZDEFINITIONSZINCLUDESZPRIVATEZWITHZOFZEXCEPTZUNIONZINTERSECTIONZEXPORTSZIMPORTSzSEQUENCE OFzSET OFzINSTANCE OFzWITH SYNTAXZSIZEZSEQUENCEZSETZCLASSZUNIQUEDEFAULTZCHOICEZPATTERNOPTIONALZPRESENTZABSENTZ
CONTAININGZ
ENUMERATEDZALLzOBJECT IDENTIFIERz
BIT STRINGzOCTET STRINGzCHARACTER STRINGzEMBEDDED PDVzRELATIVE-OIDzTYPE-IDENTIFIERZObjectDescriptorZ	IA5StringZINTEGERZISO646StringZ	T61StringZ	BMPStringZNumericStringZTeletexStringZGeneralizedTimeZREALZBOOLEANZGeneralStringZGraphicStringZUniversalStringZUTCTimeZVisibleStringZ
UTF8StringZPrintableStringZVideotexStringZEXTERNALc                 C   s   dd dd | D  d S )N(|c                 s   s   | ]}| d dV  qdS ) \s+N)replace).0token r   G/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/asn1.py	<genexpr>r   s     z!word_sequences.<locals>.<genexpr>z)\b)join)tokensr   r   r   word_sequencesq   s    r   c                   @   sT  e Zd ZdZejZdZdgZdgZ	dZ
dZdefdejfd	ejd
fdejfdejfdejfedddejfeeejfeeddejfdejfeeddejfeeej fee!ddej fee"ddej#fee$efdejfdefde%fde&dfde'e&e&j(fde'e&e&j(fgdejfd	ejdfdejdfdejfgde&fde&dfde&fgd Z)d!S )"r   z+
    Lexer for ASN.1 module definition
    zASN.1asn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfz2.16r   z--.*$z/\*commentz\d+\.\d*([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)TRUEFALSEZNULLzMINUS-INFINITYzPLUS-INFINITYZMINMAXz\b)suffixzEXPORTS\s+ALL\bz!&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\bz!(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^)z(\.|,|\{|\}|\(|\)|\[|\])"stringz('[01 ]*')(B)\bz('[0-9A-F ]*')(H)\bz[^*/]+z#pushz\*/z#popz[*/]z""z[^"])rootr   r%   N)*__name__
__module____qualname____doc__re	MULTILINEflagsnamealiases	filenamesurlversion_addedr	   r   Single	Multiliner   FloatIntegerr   Variabler   r   Constantr   TWO_WORDS_TYPESTypeSINGLE_WORD_TYPES	NamespaceSINGLE_WORD_NAMESPACE_KEYWORDSr   MULTI_WORDS_DECLARATIONSDeclarationSINGLE_WORDS_DECLARATIONSOPERATOR_WORDSWordSINGLE_WORD_KEYWORDSr   r   r   Affixr   r   r   r   r   r   u   sN   

$

)r*   r+   Zpygments.tokenr   r   r   r   r   r   r   r	   Zpygments.lexerr
   r   r   __all__rC   rA   r=   r>   r@   r9   r;   r   r   r   r   r   r   <module>   s   
(	