B
    He                 @   sP  d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ ddlmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZ ddl m!Z" ddd	d
ddddgZ#G dd deZ$e$Z%G dd
 d
eZ&G dd deZ'G dd deZ(G dd	 d	eZ)e)Z*G dd deZ+G dd deZ,G dd deZ-G dd de$Z.dS )z
    pygments.lexers.python
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Python and related languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)DelegatingLexerLexer
RegexLexerincludebygroupsusingdefaultwordscombineddo_insertionsthisline_re)get_bool_optshebang_matches)TextCommentOperatorKeywordNameStringNumberPunctuationGenericOtherError
Whitespace)	unistringPythonLexerPythonConsoleLexerPythonTracebackLexerPython2LexerPython2TracebackLexerCythonLexerDgLexer
NumPyLexerc            $   @   s8  e Zd ZdZdZdZdddddgZd	d
ddddddddddddgZddddgZde	j
e	jf Zdd Zdd Zd efd!eeejejfd"eeejejfd#ejfd$ejfd%efd&efed'ed(d)eeed*fd+eeed,fd-eejed.fd/eejed0fed1gd2eejejed3d4fd5eejejed3d6fd7eejejed3d8fd9eejejed3d:fd;eejejed<d4fd=eejejed<d6fd>eejejed<d8fd?eejejed<d:fd@eejejdAfdBeejejdCfdDeejejdEfdFeejejdGfdHeejejedIdAfdJeejejedIdCfdKeejejedIdEfdLeejejedIdGfdMeejejedNdAfdOeejejedNdCfdPeejejedNdEfdQeejejedNdGfdRefedSdTefdUefdVejfedWedXedYedZed[gd\ed]fd^ej d_fd`ej d_fdaefed1gd\ed]fdbed_fdaefed1ge!dcdddeefe!dfdddeej"fge!dgdddeefe!dfdddeej"fgdhdi#e$j% dj eeedkfgdleee&e'efe(d_ge!dmdndddoe)j*fdpe)j*j+fe!dqdndddoe)j,fge!drdddee)j-j.fge!dsdddee)j/j.fgdte0j1fdue0j1fdve0j2fdwe0j3fdxe0j4fdye0j5fgdze e)j6fdzefee)fgedYee)j-d_fe(d_gee)j7d_fgd{eeeefd|e)jfee)jfd}eeeefe(d_gd~eeejd_fd|e)jfdej"d_fee)jfe(d_gdej8fdej8fged3edIgdej8fgdej8fedNgeejeejeejeejdejd_fdej8fedgdejd_fdej8fedgdejd_fdej8fedgdejd_fdej8fedgdejd_fedd ejfgdejd_fedd ejfgdejd_fedd ejfgdejd_fedd ejfgd!Z9dd Z:dS )r   z
    For Python source code (version 3.x).

    .. versionadded:: 0.10

    .. versionchanged:: 2.5
       This is now the default ``PythonLexer``.  It is still available as the
       alias ``Python3Lexer``.
    Pythonzhttp://www.python.orgpythonpysagepython3py3z*.pyz*.pywz*.pyiz*.jyz*.sagez*.sc
SConstruct
SConscriptz*.bzlBUCKBUILDzBUILD.bazel	WORKSPACEz*.tacztext/x-pythonzapplication/x-pythonztext/x-python3zapplication/x-python3z	[%s][%s]*c             C   s&   dt jfdt jfd| fd| fd| fgS )NzH%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsaux%]zg\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}z[^\\\'"%{\n]+z[\'"\\]z%|(\{{1,2}))r   Interpol)ttype r2   v/var/www/downstreamdata.science/rtclock/rtclock-venv/lib/python3.7/site-packages/pip/_vendor/pygments/lexers/python.pyinnerstring_rulesC   s    zPythonLexer.innerstring_rulesc             C   s"   dt jfdt jdfd| fd| fgS )Nz\}z\{zexpr-inside-fstringz[^\\\'"{}\n]+z[\'"\\])r   r0   )r1   r2   r2   r3   fstring_rulesW   s    
zPythonLexer.fstring_rulesz\nz&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")z&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')z\A#!.+$z#.*$z\\\nz\\keywordszsoft-keywordsz(def)((?:\s|\\\s)+)funcnamez(class)((?:\s|\\\s)+)	classnamez(from)((?:\s|\\\s)+)
fromimportz(import)((?:\s|\\\s)+)importexprz(?i)(rf|fr)(""")rfstringescapetdqfz(?i)(rf|fr)(''')tsqfz(?i)(rf|fr)(")dqfz(?i)(rf|fr)(')sqfz([fF])(""")fstringescapez([fF])(''')z	([fF])(")z	([fF])(')z(?i)(rb|br|r)(""")tdqsz(?i)(rb|br|r)(''')tsqsz(?i)(rb|br|r)(")dqsz(?i)(rb|br|r)(')sqsz([uU]?)(""")stringescapez([uU]?)(''')z
([uU]?)(")z
([uU]?)(')z([bB])(""")bytesescapez([bB])(''')z	([bB])(")z	([bB])(')z[^\S\n]+numbersz!=|==|<<|>>|:=|[-~+/*%=<>&^|.]z[]{}:(),;[]z(in|is|and|or|not)\bzexpr-keywordsbuiltins
magicfuncs	magicvarsnamez[{([]zexpr-inside-fstring-innerz(=\s*)?(\![sraf])?\}z#popz(=\s*)?(\![sraf])?:z\s+z[])}])z	async forawaitelseforiflambdayieldz
yield fromz\b)suffix)TrueFalseNone)assertasyncrM   breakcontinuedelelifrN   exceptfinallyrO   globalrP   rQ   passraisenonlocalreturntrywhilerR   z
yield fromaswithz6(^[ \t]*)(match|case)\b(?![ \t]*(?:[:,;=^&|@~)\]}]|(?:|z)\b))zsoft-keywords-innerz(\s+)([^\n_]*)(_\b))C
__import__absZaiterallanybinbool	bytearray
breakpointbytescallablechrclassmethodcompilecomplexdelattrdictdirdivmod	enumerateevalfilterfloatformat	frozensetgetattrglobalshasattrhashhexidinputint
isinstance
issubclassiterlenlistlocalsmapmax
memoryviewminnextobjectoctopenordpowprintpropertyrangereprreversedroundsetsetattrslicesortedstaticmethodstrsumsupertupletypevarszipz(?<!\.))prefixrS   z+(?<!\.)(self|Ellipsis|NotImplemented|cls)\b)EArithmeticErrorAssertionErrorAttributeErrorBaseExceptionBufferErrorBytesWarningDeprecationWarningEOFErrorEnvironmentError	ExceptionFloatingPointErrorFutureWarningGeneratorExitIOErrorImportErrorImportWarningIndentationError
IndexErrorKeyErrorKeyboardInterruptLookupErrorMemoryError	NameErrorNotImplementedErrorOSErrorOverflowErrorPendingDeprecationWarningReferenceErrorResourceWarningRuntimeErrorRuntimeWarningStopIterationSyntaxErrorSyntaxWarningSystemError
SystemExitTabError	TypeErrorUnboundLocalErrorUnicodeDecodeErrorUnicodeEncodeErrorUnicodeErrorUnicodeTranslateErrorUnicodeWarningUserWarning
ValueErrorVMSErrorWarningWindowsErrorZeroDivisionErrorBlockingIOErrorChildProcessErrorConnectionErrorBrokenPipeErrorConnectionAbortedErrorConnectionRefusedErrorConnectionResetErrorFileExistsErrorFileNotFoundErrorInterruptedErrorIsADirectoryErrorNotADirectoryErrorPermissionErrorProcessLookupErrorTimeoutErrorStopAsyncIterationModuleNotFoundErrorRecursionErrorZEncodingWarning)^__abs____add__
__aenter__	__aexit__	__aiter____and__	__anext__	__await____bool__	__bytes____call____complex____contains____del____delattr__
__delete____delitem____dir__
__divmod__	__enter____eq____exit__	__float____floordiv__
__format____ge____get____getattr____getattribute____getitem____gt____hash____iadd____iand____ifloordiv____ilshift____imatmul____imod____imul__	__index____init____instancecheck____int__
__invert____ior____ipow____irshift____isub____iter____itruediv____ixor____le____len____length_hint__
__lshift____lt__
__matmul____missing____mod____mul____ne____neg____new____next____or____pos____pow____prepare____radd____rand____rdivmod____repr____reversed____rfloordiv____rlshift____rmatmul____rmod____rmul____ror__	__round____rpow____rrshift__
__rshift____rsub____rtruediv____rxor____set____setattr____setitem____str____sub____subclasscheck____truediv____xor__)__annotations__	__bases__	__class____closure____code____defaults____dict____doc____file____func____globals____kwdefaults__
__module____mro____name____objclass____qualname____self__	__slots____weakref__zT(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?z!\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?z0[oO](?:_?[0-7])+z0[bB](?:_?[01])+z0[xX](?:_?[a-fA-F0-9])+z\d(?:_?\d)*@z(\s+)(as)(\s+)z\.z(\s*)(,)(\s*)z(\s+)(import)\bzNone\bz\{\{z\}\}z0\\([\\abfnrtv"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})z,\\(N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"z\\\\|\\"|\\\nzfstrings-double'z\\\\|\\'|\\\nzfstrings-singlezstrings-doublezstrings-singlez"""z''')!rootr;   zexpr-inside-fstringzexpr-inside-fstring-innerzexpr-keywordsr6   zsoft-keywordszsoft-keywords-innerrI   rJ   rK   rH   rL   r7   r8   r:   r9   r<   rA   rG   rF   zfstrings-singlezfstrings-doublezstrings-singlezstrings-doubler?   r@   rD   rE   r=   r>   rB   rC   c             C   s   t | dpd| d d kS )Nzpythonw?(3(\.\d)?)?zimport i  )r   )textr2   r2   r3   analyse_text  s    
zPythonLexer.analyse_textN);r\  rZ  r^  rU  rL   urlaliases	filenames	mimetypesuniZ	xid_startZxid_continueZuni_namer4   r5   r   r   r   AffixDocr   HashbangSingler   r   r   	NamespaceDoubler
   r   r   Wordr0   r	   Constantjoinkeywordkwlistr   r   r   r   BuiltinPseudor   FunctionMagicVariabler   FloatOctBinHexInteger	DecoratorClassEscapetokensrg  r2   r2   r2   r3   r      s  	















	


















c                @   sf  e Zd ZdZdZdZddgZg ZddgZdd	 Z	d
e
fdee
ejejfdee
ejejfdefdejfdejfdefdefdefdejfdefeddeeedfdeeedfdeejedfdeejedfededed ed!d"eejejd#fd$eejejd%fd&eejejd'fd(eejejd)fd*eejejed+d#fd,eejejed+d%fd-eejejed+d'fd.eejejed+d)fed/ed0ged1d2d3efged4d5d2d6ejfd7ejjfed8d5d2d6ejfged9d2d3ej j!fged:d2d3ej"j!fgd;e#j$fd<e#j$fd=e#j%fd>e#j&fd?e#j'fd@e#j(j)fdAe#j(fgdBej*fgdCej+fdDefgeddDej dEfe,dEgdDej-dEfgdFefdGejfdHefdIejfe,dEgdFefdJejdEfdKejjdEfdLejfe,dEgdMej.fge	eje	ejdNejdEfdOej.fedPgdQejdEfdRej.fedSgdTejdEfedPd
ejfgdUejdEfedSd
ejfgdVZ/dWdX Z0dYS )Zr    a  
    For Python 2.x source code.

    .. versionchanged:: 2.5
       This class has been renamed from ``PythonLexer``.  ``PythonLexer`` now
       refers to the Python 3 variant.  File name patterns like ``*.py`` have
       been moved to Python 3 as well.
    z
Python 2.xzhttp://www.python.orgpython2py2ztext/x-python2zapplication/x-python2c             C   s   dt jfd| fd| fd| fgS )NzG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]%)r   r0   )r1   r2   r2   r3   r4     s
    zPython2Lexer.innerstring_rulesz\nz&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")z&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')z[^\S\n]+z\A#!.+$z#.*$z[]{}:(),;[]z\\\nz\\z(in|is|and|or|not)\bz!=|==|<<|>>|[-~+/*%=<>&^|.]r6   z(def)((?:\s|\\\s)+)r7   z(class)((?:\s|\\\s)+)r8   z(from)((?:\s|\\\s)+)r9   z(import)((?:\s|\\\s)+)r:   rI   rJ   rK   backtickz!([rR]|[uUbB][rR]|[rR][uUbB])(""")rB   z!([rR]|[uUbB][rR]|[rR][uUbB])(''')rC   z([rR]|[uUbB][rR]|[rR][uUbB])(")rD   z([rR]|[uUbB][rR]|[rR][uUbB])(')rE   z([uUbB]?)(""")rF   z([uUbB]?)(''')z([uUbB]?)(")z([uUbB]?)(')rL   rH   )rW   rY   rZ   r[   r\   rN   r]   execr^   rO   r_   rP   rQ   r`   r   ra   rc   rd   re   rR   z
yield fromrf   rg   z\b)rS   )Nri   rj   rk   rl   apply
basestringrm   rn   bufferro   rq   rr   rs   rt   cmpcoerceru   rv   rw   rx   ry   rz   r{   r|   execfileexitfiler}   r~   r   r   r   r   r   r   r   r   r   internr   r   r   r   r   r   longr   r   r   r   r   r   r   r   r   r   r   	raw_inputreducereloadr   r   r   r   r   r   r   r   r   r   r   r   r   unichrunicoder   xranger   z(?<!\.))r   rS   z;(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|cls)\b)1r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   OverflowWarningr   r   r   r   StandardErrorr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )_r   r   r   r   Z__cmp__Z
__coerce__r   r   r   r   r   r   Z__delslice__Z__div__r  r  r  r  r  r  r	  r
  r  r  r  Z__getslice__r  r  Z__hex__r  r  Z__idiv__r  r  r  r  r  r  r  r  r  Z__iop__r  r  r  r  r   r!  r"  r#  r$  Z__long__r&  r'  r)  r*  r+  r,  r-  r.  __nonzero__Z__oct__Z__op__r0  r1  r2  r4  r5  Z__rcmp__Z__rdiv__r6  r7  r8  r9  r:  r<  r=  Z__rop__r>  r@  rA  rB  rC  rD  rE  rF  rG  rH  Z__setslice__rI  rJ  rK  rL  __unicode__rM  )rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  __metaclass__rZ  r[  r\  r_  r`  ra  z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z	0[0-7]+j?z
0[bB][01]+z0[xX][a-fA-F0-9]+z\d+Lz\d+j?z`.*?`z@[\w.]+z[a-zA-Z_]\w*z#popz(?:[ \t]|\\\n)+zas\b,z[a-zA-Z_][\w.]*zimport\bzNone\bz[a-zA-Z_.][\w.]*zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})rc  z\\\\|\\"|\\\nzstrings-doublerd  z\\\\|\\'|\\\nzstrings-singlez"""z''')re  r6   rI   rJ   rK   rH   r  rL   r7   r8   r:   r9   rF   zstrings-singlezstrings-doublerD   rE   rB   rC   c             C   s
   t | dS )Nzpythonw?2(\.\d)?)r   )rf  r2   r2   r3   rg  {  s    zPython2Lexer.analyse_textN)1r\  rZ  r^  rU  rL   rh  ri  rj  rk  r4   r   r   r   rm  rn  r   r   ro  rp  r   r   rs  r   r   rq  rr  r
   r	   r   rx  ry  r   rz  r{  r|  r   r}  r~  r  r  r  LongBacktickr  r   r  r  r  rg  r2   r2   r2   r3   r      s   















c               @   s   e Zd ZdZdgZdgZdeeje	j
dfdeejefde	jdfd	e	jdfd
ejfgdeeje	j
fdeejefedgdedfdeejefd
e	jfgdZdS )_PythonConsoleLexerBasezPython console sessionpyconztext/x-python-doctestz(>>> )(.*\n)continuationsz	(>>>)(\n)z,(\^C)?Traceback \(most recent call last\):\n	tracebackz  File "[^"]+", line \d+z.*\nz(\.\.\. )(.*\n)z(\.\.\.)(\n)z#popz(?=>>>( |$))z(KeyboardInterrupt)(\n))re  r  r  N)r\  rZ  r^  rL   ri  rk  r   r   Promptr   Coder   	TracebackOutputr   r   r   r  r  r2   r2   r2   r3   r  ~  s   	


r  c                   s0   e Zd ZdZdZdgZdgZ fddZ  ZS )r   a  
    For Python console output or doctests, such as:

    .. sourcecode:: pycon

        >>> a = 'foo'
        >>> print(a)
        foo
        >>> 1 / 0
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        ZeroDivisionError: integer division or modulo by zero

    Additional options:

    `python3`
        Use Python 3 lexer for code.  Default is ``True``.

        .. versionadded:: 1.0
        .. versionchanged:: 2.5
           Now defaults to ``True``.
    zPython console sessionr  ztext/x-python-doctestc                sP   t |dd}|rt t}nt t}G  fdddt}t j||tj	f| d S )Nr)   Tc                   s   e Zd Z fddZ  ZS )z6PythonConsoleLexer.__init__.<locals>._ReplaceInnerCodec                s   t  jttjf| d S )N)r   r  r  r   r  )selfoptions)rP  pylexerr2   r3   r    s    z?PythonConsoleLexer.__init__.<locals>._ReplaceInnerCode.__init__)r\  rZ  r^  r  __classcell__r2   )r  )rP  r3   _ReplaceInnerCode  s   r  )
r   r   r   r    r!   r   r   r  r   r  )r  r  r)   Ztblexerr  )rP  )r  r3   r    s    zPythonConsoleLexer.__init__)	r\  rZ  r^  rU  rL   ri  rk  r  r  r2   r2   )rP  r3   r     s
   c               @   s   e Zd ZdZdZddgZddgZddgZd	efd
e	j
dfde	j
fde	j
fde	j
dfdefgdeeejeeeeefdeeejeeefdeeeeedfdeeeefdee	jeeedfdee	jedfedgdeeejedfedgdZdS )r   a   
    For Python 3.x tracebacks, with support for chained exceptions.

    .. versionadded:: 1.0

    .. versionchanged:: 2.5
       This is now the default ``PythonTracebackLexer``.  It is still available
       as the alias ``Python3TracebackLexer``.
    zPython Tracebackpytbpy3tbz*.pytbz*.py3tbztext/x-python-tracebackztext/x-python3-tracebackz\nz-^(\^C)?Traceback \(most recent call last\):\nintbzH^During handling of the above exception, another exception occurred:\n\nzI^The above exception was the direct cause of the following exception:\n\nz^(?=  File "[^"]+", line \d+)z^.*\nz0^(  File )("[^"]+")(, line )(\d+)(, in )(.+)(\n)z%^(  File )("[^"]+")(, line )(\d+)(\n)z^(    )(.+)(\n)markersz^([ \t]*)(\.\.\.)(\n)z^([^:]+)(: )(.+)(\n)z#popz^([a-zA-Z_][\w.]*)(:?\n)z^( {4,})([~^]+)(\n))re  r  r  N)r\  rZ  r^  rU  rL   ri  rj  rk  r   r   r  r   r   r   r   rx  r   r   r   r   r   r   r   Markerr  r2   r2   r2   r3   r     s<   	

c               @   s   e Zd ZdZdZdgZdgZdgZdee	e
jdfde
jdfd	efgd
ee	eje	ee	eefdee	eje	eefdee	eeedfdee	eefdee
je	eedfdee
jedfgdee	ejdfedgdZdS )r!   z
    For Python tracebacks.

    .. versionadded:: 0.7

    .. versionchanged:: 2.5
       This class has been renamed from ``PythonTracebackLexer``.
       ``PythonTracebackLexer`` now refers to the Python 3 variant.
    zPython 2.x Tracebackpy2tbz*.py2tbztext/x-python2-tracebackz^(\^C)?(Traceback.*\n)r  z^(?=  File "[^"]+", line \d+)z^.*\nz0^(  File )("[^"]+")(, line )(\d+)(, in )(.+)(\n)z%^(  File )("[^"]+")(, line )(\d+)(\n)z^(    )(.+)(\n)markerz^([ \t]*)(\.\.\.)(\n)z^([^:]+)(: )(.+)(\n)z#popz^([a-zA-Z_]\w*)(:?\n)z( {4,})(\^))re  r  r  N)r\  rZ  r^  rU  rL   ri  rj  rk  r   r   r   r  r   r   rx  r   r   r   r    r   r   r   r  r   r  r2   r2   r2   r3   r!   	  s.   	
c            !   @   sP  e Zd ZdZdZdZdddgZddd	gZd
dgZde	fde
e	ejfde
e	ejfdefdefdefde	fdefdejfde
eejefdefde
eejeeeeefedde
eedfde
eedfde
eefde
eedfd e
eed!fd"e
eed#fed$ed%d&ed'fd(ed)fd*ed+fd,ed-fd.eed/d'fd0eed/d)fd1eed/d+fd2eed/d-fed3ed4ged5d6d7efd8ejfged9d:d6d;ejfd<ejjfed=d:d6d;ejfgd>ejfd?ejfd@ej fdAejj!fdBejfgdCej"fgdDej#fdEefgdEej$dFfgdGej%fdHefdIe
ej$edFfdJe
ej$eefdKedFfdLefdMedFfdNedFfdEejfdOefg
dEej&dFfgdPe
eeefdQej'fdRe
eeefe(dFgdSe
eedFfdTej'fe(dFgdUej)fgdVej*fdWefdXefdYefgdefgdZedFfd[ej)fed\gd]edFfd^ej)fed\gd_edFfed\ed`gdaedFfed\ed`gdbZ+dcS )dr"   zF
    For Pyrex and Cython source code.

    .. versionadded:: 1.1
    Cythonzhttp://cython.orgcythonpyxpyrexz*.pyxz*.pxdz*.pxiztext/x-cythonzapplication/x-cythonz\nz^(\s*)("""(?:.|\n)*?""")z^(\s*)('''(?:.|\n)*?''')z[^\S\n]+z#.*$z[]{}:(),;[]z\\\nz\\z(in|is|and|or|not)\bz(<)([a-zA-Z0-9.?]+)(>)z!=|==|<<|>>|[-~+/*%=<>&^|.?]z(from)(\d+)(<=)(\s+)(<)(\d+)(:)r6   z(def|property)(\s+)r7   z(cp?def)(\s+)cdefz	(cdef)(:)z(class|struct)(\s+)r8   z(from)(\s+)r9   z(c?import)(\s+)r:   rI   r  z(?:[rR]|[uU][rR]|[rR][uU])"""rB   z(?:[rR]|[uU][rR]|[rR][uU])'''rC   z(?:[rR]|[uU][rR]|[rR][uU])"rD   z(?:[rR]|[uU][rR]|[rR][uU])'rE   z[uU]?"""rF   z[uU]?'''z[uU]?"z[uU]?'rL   rH   )rW   rX   rM   rY   ZbyrZ   Zctypedefr[   r\   rN   r]   zexcept?r  r^   rO   ZfusedZgilr_   rP   r   rQ   Znogilr`   r   ra   rc   rd   re   rR   rf   rg   z\b)rS   z(DEF|IF|ELIF|ELSE)\b)Qri   rj   rk   rl   r  r  rm   Zbintrn   r  ro   rq   rr   rs   rt   r  r  ru   rv   rw   rx   ry   rz   r{   r|   r  r  r  r}   r~   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   Z
Py_ssize_tr   r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  Zunsignedr   r  r   z(?<!\.))r   rS   z<(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|NULL)\b)0r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   NotImplementedr   r   r   r  r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   z&(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?z0\d+z0[xX][a-fA-F0-9]+z\d+Lz\d+z`.*?`z@\w+z[a-zA-Z_]\w*z#popz%(public|readonly|extern|api|inline)\bz(struct|enum|union|class)\bz([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)z([a-zA-Z_]\w*)(\s*)(,)zfrom\bzas\b:z	(?=["\']).z(\s+)(as)(\s+)z[a-zA-Z_][\w.]*z(\s*)(,)(\s*)z(\s+)(c?import)\bz[a-zA-Z_.][\w.]*zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})zP%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]r  rc  z\\\\|\\"|\\\nstringsrd  z\\\\|\\'|\\\nz"""nlz''')re  r6   rI   rH   r  rL   r7   r  r8   r:   r9   rF   r  r  rD   rE   rB   rC   N),r\  rZ  r^  rU  rL   rh  ri  rj  rk  r   r   r   rn  r   r   r   r   rs  r   Typer   r  r   r   r
   r	   Preprocrx  ry  r   r}  r~  r  r  r  r  rz  Reservedr  rq  r   r  r0   r  r2   r2   r2   r3   r"   9  s   





c               @   sz  e Zd ZdZdZdgZdgZdgZdefde	j
fdejfdejfd	ejfd
ejfdejfdejfdeedddfdeedddfdeedddfdeedddfdefdejfdefeddddejfeddddejfdejjfd ejfd!ejfd"ejfd#efd$ejfd%efd&efd'efgd(ejfgd)ej fd*efd+efd,efd-efgd.ed/fgd0ed/fgd1ed/fgd2ed/fgd3Z!d4S )5r#   z
    Lexer for dg,
    a functional and object-oriented programming language
    running on the CPython 3 VM.

    .. versionadded:: 1.6
    dgz*.dgz	text/x-dgz\s+z#.*?$z(?i)0b[01]+z(?i)0o[0-7]+z(?i)0x[0-9a-f]+z((?i)[+-]?[0-9]+\.[0-9]+(e[+-]?[0-9]+)?j?z(?i)[+-]?[0-9]+e[+-]?\d+j?z(?i)[+-]?[0-9]+j?z(?i)(br|r?b?)'''rF   rC   stringz(?i)(br|r?b?)"""rB   z(?i)(br|r?b?)'rE   z(?i)(br|r?b?)"rD   z`\w+'*`z\b(and|in|is|or|where)\bz[!$%&*+\-./:<-@\\^|~;,]+)rn   ro   rq   rt   rv   rx   zdict'r~   r   r   r   zlist'r   r   r   r   r   zset'r   r   r   r   r   ztuple'r   z(?<!\.)z
(?![\'\w]))r   rS   )=ri   rj   rk   rl   rm   bindrs   r  ru   rv   rw   ry   rz   Zdrop	dropwhiler{   r|   Zexhaustr}   flipzfoldl1?r   Zfstr   r   r   r   headr   r   initr   r   r   r   Ziteratelastr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zscanl1?Zsndr   r   tailtake	takewhiler   r   z>(?<!\.)(self|Ellipsis|NotImplemented|None|True|False)(?!['\w])z3(?<!\.)[A-Z]\w*(Error|Exception|Warning)'*(?!['\w])zT(?<!\.)(Exception|GeneratorExit|KeyboardInterrupt|StopIteration|SystemExit)(?!['\w])z_(?<![\w.])(except|finally|for|if|import|not|otherwise|raise|subclass|while|with|yield)(?!['\w])z[A-Z_]+'*(?!['\w])z[A-Z]\w+'*(?!['\w])z\w+'*z[()]r  zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})zG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]r  z\nrc  z#poprd  z"""z''')re  rF   r  rD   rE   rB   rC   N)"r\  rZ  r^  rU  rL   ri  rj  rk  r   r   rp  r   r  r~  r  r}  r  r   r
   r   rs  r	   r   rx  ry  r   r   r  r  r   r   r  r0   r  r2   r2   r2   r3   r#     sj   


c              @   sX  e Zd ZdZdZdZdgZg Zg Zddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddhZ	dd Z
dd ZdS (  r$   z[
    A Python lexer recognizing Numerical Python builtins.

    .. versionadded:: 0.10
    NumPyzhttps://numpy.org/numpyrj   absolute
accumulateaddalenrk   ZallcloseZalltrueZalterdotZamaxZaminZanglerl   appendZapply_along_axisZapply_over_axesZarangeZarccosZarccoshZarcsinZarcsinhZarctanZarctan2ZarctanhZargmaxZargminZargsortZargwhereZaroundarrayZarray2stringZarray_equalZarray_equivZ
array_reprZarray_splitZ	array_strZ
arrayrangeZ
asanyarrayZasarrayZasarray_chkfiniteZascontiguousarrayZasfarrayZasfortranarrayZasmatrixZasscalarZastypeZ
atleast_1dZ
atleast_2dZ
atleast_3dZaverageZbartlettZ	base_reprbetaZbinary_reprZbincountZbinomialZbitwise_andZbitwise_notZ
bitwise_orZbitwise_xorZblackmanZbmat	broadcastZbyte_boundsrq   byteswapZc_Zcan_castceilchooseZclipZcolumn_stackZcommon_typeZcompare_chararrayscompressZconcatenateZconj	conjugateZconvolvecopyZcorrcoefZ	correlatecoscoshZcovcrossZcumprodZ
cumproductZcumsumdeleteZ	deprecateZdiagZdiagflatZdiagonaldiffZdigitizeZdispdividedotZdsplitZdstackZdtypedumpdumpsZediff1demptyZ
empty_likeequalexpZexpand_dimsexpm1extracteyefabsZfastCopyAndTransposeZfftZfftfreqZfftshiftfillZfinfoZfixZflatZflatnonzeroflattenZfliplrZflipudfloorZfloor_dividefmodfrexpZ
fromarraysZ
frombufferfromfileZfromfunctionZfromiterZ
frompyfunc
fromstringZgenericZget_array_wrapZget_includeZget_numarray_includeZget_numpy_includeZget_printoptions	getbufferZ
getbufsizeZgeterrZ
geterrcallZ	geterrobjZgetfieldZgradientZgreaterZgreater_equalZgumbelZhammingZhanningZ	histogramZhistogram2dZhistogramddZhsplitZhstackhypotZi0identityZifftimagZ	index_expindicesinfinfoinnerinsertZint_asbufferZinterpZintersect1dZintersect1d_nuinvinvertZ	iscomplexZiscomplexobjisfiniteZ	isfortranisinfisnanZisneginfZisposinfZisrealZ	isrealobjZisscalarZissctypeZissubclass_Z
issubdtypeZissubsctypeitemZitemsetiterableZix_ZkaiserZkronldexpZ
left_shiftlessZ
less_equalZlexsortZlinspaceloadloadsZloadtxtloglog10log1plog2logical_andZlogical_not
logical_orlogical_xorZlogspaceZlstsqmatZmatrixr   maximumZmaximum_sctypeZmay_share_memoryZmeanZmedianZmeshgridZmgridr   minimumZmintypecodemodmodfZmsortmultiplynanZ
nan_to_numZ	nanargmaxZ	nanargminZnanmaxZnanminZnansumZndenumeratendimZndindexnegativeZnewaxisZ	newbufferZnewbyteorderZnonzero	not_equalZ
obj2sctypeZogridZonesZ	ones_likeouterZpermutationZ	piecewiseZpinvZpkgloadZplaceZpoissonZpolyZpoly1dZpolyaddZpolyderZpolydivZpolyfitZpolyintZpolymulZpolysubZpolyvalpowerprodproductZptpputZputmaskZr_randintZrandom_integersZrandom_sampleZranfZrankZravelrealZreal_if_closeZrecarrayZ
reciprocalr  	remainderrepeatrequireZreshaperesizeZ
restoredotZright_shiftZrintZrollZrollaxisrootsZrot90r   Zround_Z	row_stackZs_sampleZsavetxtZsctype2charZsearchsortedseedselectZset_numeric_opsZset_printoptionsZset_string_functionZ
setbufsizeZ	setdiff1dZseterrZ
seterrcallZ	seterrobjZsetfieldZsetflagsZsetmember1dZsetxor1dshapeZshow_configshufflesignZsignbitsinZsincsinhsizer   ZsolveZsometruesortZsort_complexsourcesplitsqrtZsquareZsqueezeZstandard_normalZstdsubtractr   ZsvdZswapaxesr  tantanhZ	tensordottestZtiletofiletolisttostringtraceZ	transposeZtrapzZtriZtrilZ
trim_zerosZtriuZtrue_divideZtypeDicttypenameuniformZunion1duniqueZunique1dZunravel_indexunwrapZvandervarZvdotZ	vectorizeviewZvonmisesZvsplitZvstackZweibullwhereZwhoZzerosZ
zeros_likec             c   sN   xHt | |D ]8\}}}|tkr:|| jkr:|tj|fV  q|||fV  qW d S )N)r   get_tokens_unprocessedr   EXTRA_KEYWORDSr   ry  )r  rf  indextokenvaluer2   r2   r3   rC    s
    z!NumPyLexer.get_tokens_unprocessedc             C   s.   | d d }t | dsd|ko,d|kp,d|kS )Ni  zpythonw?(3(\.\d)?)?zimport zimport numpyzfrom numpy import)r   )rf  Zltextr2   r2   r3   rg    s    
zNumPyLexer.analyse_textN)r\  rZ  r^  rU  rL   rh  ri  rk  rj  rD  rC  rg  r2   r2   r2   r3   r$   P  s   












 ")/rU  rerv  pip._vendor.pygments.lexerr   r   r   r   r   r   r   r	   r
   r   r   r   pip._vendor.pygments.utilr   r   pip._vendor.pygments.tokenr   r   r   r   r   r   r   r   r   r   r   r   Zpip._vendor.pygmentsr   rl  __all__r   Python3Lexerr    r  r   r   Python3TracebackLexerr!   r"   r#   r$   r2   r2   r2   r3   <module>	   s2   88
    ^$.60 5c