o
    F&h(                     @   s2  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 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 ddlmZ g dZ e!d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'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-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
Lexer
RegexLexerincludebygroupsusingdefaultwordscombineddo_insertionsthis)get_bool_optshebang_matches)TextCommentOperatorKeywordNameStringNumberPunctuationGenericOtherError)	unistring)PythonLexerPythonConsoleLexerPythonTracebackLexerPython2LexerPython2TracebackLexerCythonLexerDgLexer
NumPyLexerz.*?
c                   @   s  e Zd ZdZdZg dZg dZg dZej	ej
B Zdejejf Zdd Zd	d
 Zi d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dfedgd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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d,eejejd-fd.eejejd/fd0eejejd1fd2eejejd3fd4eejejed5d-fd6eejejed5d/fd7eejejed5d1fd8eejejed5d3fd9efed:d;efd<e fd=ej!fed>ed?ed@edAedBgdCdDe dEfdFej"dGfdHej"dGfdIefedgdEdDe dEfdJe dGfdIefedgd>e#dKdLdMefe#dNdLdMej$fgde#dOdLdMefe#dNdLdMej$fgddPdQ%e&j' dR eeedSfgdSdTeee(e)efe*dGgd?e#dUdVdLdWe+j,fdXe+j,j-fe#dYdVdLdWe+j.fgd@e#dZdLdMe+j/j0fgdAe#d[dLdMe+j1j0fgd:d\e2j3fd]e2j3fd^e2j4fd_e2j5fd`e2j6fdae2j7fgdBdbe e+j8fdbefee+fgded@ee+j/dGfe*dGgdee+j9dGfgddceeeefdde+jfee+jfdeeeeefe*dGgddfeeejdGfdde+jfdge+j,j-dGfee+jfe*dGgdhej:fdiej:fgeded5gdjej:fgeejeejeejeejdkejdGfdlej:fedmgdnejdGfdoej:fedpgdkejdGfdlej:fedqgdnejdGfdoej:fedrgdsejdGfedmdejfgdtejdGfedpdejfgdsejdGfedqdejfgdtejdGfedrdejfgduZ;dvdw Z<dxS )yr   z
    For `Python <http://www.python.org>`_ 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``.
    Python)pythonpysagepython3py3)z*.pyz*.pywz*.jyz*.sagez*.sc
SConstruct
SConscriptz*.bzlBUCKBUILDzBUILD.bazel	WORKSPACEz*.tac)z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%|(\{{1,2})r   Interpolttype r2   U/var/www/html/venv/lib/python3.10/site-packages/pip/_vendor/pygments/lexers/python.pyinnerstring_rulesD   s   zPythonLexer.innerstring_rulesc                 C   s"   dt jfdt jdfd| fd| fgS )Nz\}z\{expr-inside-fstringz[^\\\'"{}\n]+r-   r.   r0   r2   r2   r3   fstring_rulesX   s
   
zPythonLexer.fstring_rulesroot\n&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')\A#!.+$#.*$\\\n\\keywordszsoft-keywords(def)((?:\s|\\\s)+)funcname(class)((?:\s|\\\s)+)	classname(from)((?:\s|\\\s)+)
fromimport(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)(')sqs([uUbB]?)(""")stringescape([uUbB]?)(''')([uUbB]?)(")([uUbB]?)(')[^\S\n]+numbersz!=|==|<<|>>|:=|[-~+/*%=<>&^|.][]{}:(),;[](in|is|and|or|not)\bzexpr-keywordsbuiltins
magicfuncs	magicvarsnamer5   z[{([]zexpr-inside-fstring-innerz(=\s*)?(\![sraf])?\}#popz(=\s*)?(\![sraf])?:\s+z[])}])z	async forawaitelseforiflambdayield
yield from\bsuffix)TrueFalseNone)assertasyncrb   breakcontinuedelelifrc   exceptfinallyrd   globalre   rf   passraisenonlocalreturntrywhilerg   rh   aswithz6(^[ \t]*)(match|case)\b(?![ \t]*(?:[:,;=^&|@~)\]}]|(?:|z)\b))zsoft-keywords-innerz(\s+)([^\n_]*)(_\b))A
__import__absallanybinbool	bytearray
breakpointbytes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zip(?<!\.)prefixrk   z+(?<!\.)(self|Ellipsis|NotImplemented|cls)\b)D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RecursionError)^__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)*@(\s+)(as)(\s+)z\.(\s*)(,)(\s*)z(\s+)(import)\bNone\bz\{\{z\}\}Y\\([\\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})"\\\\|\\"|\\\nfstrings-double'\\\\|\\'|\\\nfstrings-singlestrings-doublestrings-single"""''')rI   rN   rT   r  r  r  r  rL   rM   rQ   rR   rJ   rK   rO   rP   c                 C   s   t | dpd| d d v S )Npythonw?(3(\.\d)?)?import   r   textr2   r2   r3   analyse_text  s   
zPythonLexer.analyse_textN)=ru  rs  rw  rn  r_   aliases	filenames	mimetypesre	MULTILINEUNICODEflagsuni	xid_startxid_continueuni_namer4   r6   r   r   r   AffixDocr   HashbangSingler   r   	NamespaceDoubler	   r   r   Wordr/   r   Constantjoinkeywordkwlistr   r   r   r   BuiltinPseudor   FunctionMagicVariabler   FloatOctBinHexInteger	DecoratorClassEscapetokensr  r2   r2   r2   r3   r      sN   
IW]en

w|

 %  >  G  P  U
  Z
  ]  d  n







    (r   c                "   @   s  e Zd ZdZdZddgZg ZddgZdd Zi d	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ded1d2d3efgded4d5d2d6ejfd7ejjfed8d5d2d6ejfgded9d2d3ejjfgd ed:d2d3ej jfgd0d;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d!dBej(fgd/dCej)fdDefgdeddDejdEfe*dEgddDej+dEfgddFe	fdGejfdHefdIejfe*dEgddFe	fdJejdEfdKejjdEfdLejfe*dEgd+dMej,fgdNeejdOeejd'dPejdEfdQej,fedOgd)dRejdEfdSej,fedNgdTejdEfedOd
ejfgdUejdEfedNd
ejfgdVZ-dWdX Z.dYS )Zr   a   
    For `Python 2.x <http://www.python.org>`_ 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.xpython2py2ztext/x-python2zapplication/x-python2c                 C   s   dt jfd| fd| fd| fgS )NG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%][^\\\'"%\n]+r-   %r.   r0   r2   r2   r3   r4     s   zPython2Lexer.innerstring_rulesr7   r8   r9   r:   rX   r;   r<   rZ   r=   r>   r[   z!=|==|<<|>>|[-~+/*%=<>&^|.]r?   r@   rA   rB   rC   rD   rE   rF   rG   r\   r]   r^   backtickz!([rR]|[uUbB][rR]|[rR][uUbB])(""")rO   z!([rR]|[uUbB][rR]|[rR][uUbB])(''')rP   z([rR]|[uUbB][rR]|[rR][uUbB])(")rQ   z([rR]|[uUbB][rR]|[rR][uUbB])(')rR   rS   rT   rU   rV   rW   r_   rY   )ro   rq   rr   rs   rt   rc   ru   execrv   rd   rw   re   rf   rx   r   ry   r{   r|   r}   rg   rh   r~   r   ri   rj   )Nr   r   r   r   apply
basestringr   r   bufferr   r   callabler   r   cmpcoercer   r   r   r   r   r   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   r   r   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  __cmp__
__coerce__r  r  r  r  r  r  __delslice____div__r  r  r  r  r  r   r"  r#  r$  r%  r&  __getslice__r'  r(  __hex__r)  r*  __idiv__r+  r,  r.  r/  r0  r1  r2  r3  r4  __iop__r5  r6  r7  r8  r9  r:  r;  r<  r=  __long__r?  r@  rB  rC  rD  rE  rF  rG  __nonzero____oct____op__rI  rJ  rK  rM  rN  __rcmp____rdiv__rO  rP  rQ  rR  rS  rU  rV  __rop__rW  rY  rZ  r[  r\  r]  r^  r_  r`  ra  __setslice__rb  rc  rd  re  __unicode__rf  )rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  __metaclass__rs  rt  ru  rx  ry  rz  z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z	0[0-7]+j?z
0[bB][01]+0[xX][a-fA-F0-9]+\d+Lz\d+j?`.*?`z@[\w.]+[a-zA-Z_]\w*r`   z(?:[ \t]|\\\n)+as\b,[a-zA-Z_][\w.]*zimport\br~  [a-zA-Z_.][\w.]*r  r  r  r  r  r  r  r  r  )rO   rP   c                 C   s
   t | dS )Nzpythonw?2(\.\d)?r  r  r2   r2   r3   r  m  s   
zPython2Lexer.analyse_textN)/ru  rs  rw  rn  r_   r  r  r  r4   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  LongBacktickr  r   r  r  r  r  r2   r2   r2   r3   r     s   	-5Wmv
   
  
    
  "  
&  
'  (
  -
  
3
  >r   c                   @   s0   e Zd ZdZdZdgZdgZdd Zdd Zd	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 sessionpyconztext/x-python-doctestc                 K   s$   t |dd| _tj| fi | d S )Nr&   T)r   r&   r   r1  )selfoptionsr2   r2   r3   r1    s   zPythonConsoleLexer.__init__c              	   c   s   | j rtdi | j}tdi | j}ntdi | j}tdi | j}d}g }d}d}d}t|D ]}	|	 }
|
	dsD|
	drad}|
t|dtj|
d d fgf ||
dd  7 }q4|
 dkr|s|
t|dtjdfgf ||
dd  7 }q4|rt|||E d H  d}g }|
	dstd	|
rd
}|
}|	 }q4|
dkr|	 tj|
fV  q4|r||
7 }|
	ds|
 dksd}||D ]\}}}|| ||fV  qd}q4|	 tj|
fV  q4|rt|||E d H  |r	||D ]\}}}|| ||fV  qd S d S )N r   z>>> z...    z...   z"Traceback (most recent call last):z  File "[^"]+", line \d+\n$   zKeyboardInterrupt
 r2   )r&   r   r  r   r   r   line_refinditergroup
startswithappendr   r   Promptrstripr
   get_tokens_unprocessedr  matchstartr   r  stripOutput)r  r  pylexertblexercurcode
insertionscurtbtbindextbr  lineitvr2   r2   r3   r    sp   







z)PythonConsoleLexer.get_tokens_unprocessedN)	ru  rs  rw  rn  r_   r  r  r1  r  r2   r2   r2   r3   r   q  s    r   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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-tracebackr8   z'^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\n^(?=  File "[^"]+", line \d+)^.*\n0^(  File )("[^"]+")(, line )(\d+)(, in )(.+)(\n)%^(  File )("[^"]+")(, line )(\d+)(\n)^(    )(.+)(\n)markers^([ \t]*)(\.\.\.)(\n)^([^:]+)(: )(.+)(\n)r`   z^([a-zA-Z_][\w.]*)(:?\n)z^( {4,})([~^]+)(\n))r7   r  r  N)ru  rs  rw  rn  r_   r  r  r  r   r   	Tracebackr   r   r   r  r   r   r   r   r   r   Markerr   r  r2   r2   r2   r3   r     sV    




r   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  r  r  r  r  r  markerr  r  r`   z^([a-zA-Z_]\w*)(:?\n)z( {4,})(\^))r7   r  r  N)ru  rs  rw  rn  r_   r  r  r  r   r   r   r  r   r   r  r   r   r   r   r   r   r  r   r  r2   r2   r2   r3   r     sF    




r   c                   @   s  e Zd ZdZdZg dZg dZddgZi dg 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d,e
ed+d%fd-e
ed+d'fd.e
ed+d)fed/ed0ded1d2d3efd4ejfgd ed5d6d2d7ejfd8ejjfed9d6d2d7ejfgd0d:ejfd;ejfd<ejfd=ejjfd>ejfgd!d?e
j fgd/d@ej!fdAefgddAej"dBfgddCej#fdDefdEe	ej"edBfdFe	ej"eefdGedBfdHefdIedBfdJedBfdAejfdKefg
ddAej$dBfgddLe	eeefdMej%fdNe	eeefe&dBgddOe	eedBfdPej%fe&dBgd+dQe
j'fgdRdSe
j(fdTe
fdUe
fdVe
fgdWde
fgd'dXe
dBfdYe
j'fedRgd)dZe
dBfd[e
j'fedRgd#d\e
dBfedRedWgd%d]e
dBfedRedWgiZ)d^S )_r   z]
    For Pyrex and `Cython <http://cython.org>`_ source code.

    .. versionadded:: 1.1
    Cython)cythonpyxpyrex)z*.pyxz*.pxdz*.pxiztext/x-cythonzapplication/x-cythonr7   r8   z^(\s*)("""(?:.|\n)*?""")z^(\s*)('''(?:.|\n)*?''')rX   r<   rZ   r=   r>   r[   z(<)([a-zA-Z0-9.?]+)(>)z!=|==|<<|>>|[-~+/*%=<>&^|.?]z(from)(\d+)(<=)(\s+)(<)(\d+)(:)r?   z(def|property)(\s+)rA   z(cp?def)(\s+)cdefz	(cdef)(:)z(class|struct)(\s+)rC   z(from)(\s+)rE   z(c?import)(\s+)rG   r\   r  z(?:[rR]|[uU][rR]|[rR][uU])"""rO   z(?:[rR]|[uU][rR]|[rR][uU])'''rP   z(?:[rR]|[uU][rR]|[rR][uU])"rQ   z(?:[rR]|[uU][rR]|[rR][uU])'rR   z[uU]?"""rT   z[uU]?'''z[uU]?"z[uU]?'r_   rY   )ro   rp   rb   rq   byrr   ctypedefrs   rt   rc   ru   zexcept?r  rv   rd   fusedgilrw   re   r   rf   nogilrx   r   ry   r{   r|   r}   rg   r~   r   ri   rj   z(DEF|IF|ELIF|ELSE)\b)Qr   r   r   r   r  r  r   bintr   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   r   r   r   r  r   r   r   r   r   r   r   r   r   r   
Py_ssize_tr   r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  unsignedr   r  r   r   r   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+r  r  z\d+r  z@\w+r  r`   z%(public|readonly|extern|api|inline)\bz(struct|enum|union|class)\bz([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)z([a-zA-Z_]\w*)(\s*)(,)zfrom\br  :z	(?=["\']).r|  r  r}  z(\s+)(c?import)\br  r  stringszP%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]r  r-   r  nlr  r  r  r  r  r  N)*ru  rs  rw  rn  r_   r  r  r  r   r   r   r  r   r   r   r  r   Typer   r  r   r   r	   r   Preprocr  r  r   r  r  r  r  r  r  r  Reservedr  r  r   r  r/   r  r2   r2   r2   r3   r   1  s   	
 !"#&/Q
X[_
bp
sy             
r   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 <http://pyos.github.com/dg>`_,
    a functional and object-oriented programming language
    running on the CPython 3 VM.

    .. versionadded:: 1.6
    dgz*.dgz	text/x-dgra   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?)'''rT   rP   stringz(?i)(br|r?b?)"""rO   z(?i)(br|r?b?)'rR   z(?i)(br|r?b?)"rQ   z`\w+'*`z\b(and|in|is|or|where)\bz[!$%&*+\-./:<-@\\^|~;,]+)r   r   r   r   r   r   zdict'r   r   r   r   zlist'r   r   r   r   r   zset'r   r   r   r   r   ztuple'r   r   z
(?![\'\w])r   )=r   r   r   r   r   bindr   r  r   r   r   r   r   drop	dropwhiler   r   exhaustr   flipzfoldl1?r   fstr   r   r   r   headr   r   initr   r   r   r   iteratelastr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zscanl1?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(  r  r  r  r-   r  r8   r  r`   r  r  r  )r7   rT   r/  rQ   rR   rO   rP   N)"ru  rs  rw  rn  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  r2   r2   r2   r3   r      s    	
9
r    c                   @   s:   e Zd ZdZdZdgZg Zg Zh dZdd Z	dd Z
d	S )
r!   z[
    A Python lexer recognizing Numerical Python builtins.

    .. versionadded:: 0.10
    NumPynumpy>  c_i0r_s_r   addr   r   coscovdotexpeyefftfixinfinvix_logmatr   r   modnanptpputsinstdr   svdtantrivarwhoalenamaxaminbetabmatceilclipconjcopycoshdiagdiffdispdumpfabsfillflatfmodifftimaginfoitemkronlessloadlog2meanmodfndimonespinvpolyprodranfrankrealrintrollseedsignsincsinhsizesortsqrtr<  tanhtesttiletriltriuvdotviewanglearrayr   crossdtypedumpsemptyequalexpm1finfofloorfrexphypotinnerisinfisnanldexploadslog10log1plstsqmgridmsortogridouterplacepowerravelrootsrot90r   shaper   solvesplittracetrapzwherezerosr  arangearccosarcsinarctanargmaxargminaroundastypechoosecumsumdeletedividedsplitdstackfliplrflipudgeterrgumbelhsplithstackinsertinterpinvertisrealkaisermatrixmediannanmaxnanminnansumpoly1dr  repeatresizeround_sampleselectseterrsourcesquaretofiletolistuniqueunwrapvandervsplitvstackalltruearccosharcsinharctan2arctanhargsortasarrayaveragecumprodediff1dextractfftfreqflattengenericgreaterhamminghanningindicesitemsetlexsortloadtxtmaximumminimumndindexnewaxisnonzeropkgloadpoissonpolyaddpolyderpolydivpolyfitpolyintpolymulpolysubpolyvalproductputmaskrandintrequirereshapesavetxtshufflesignbitsqueezeuniformunion1dweibullabsoluteallclosealterdotargwhereasfarrayasmatrixasscalarbartlettbincountbinomialblackmanbyteswapcan_castcompressconvolvecorrcoefdiagflatdiagonaldigitizefftshiftfromfilefromitergetfieldgradientidentityisfiniteisneginfisposinfisscalarissctypeiterablelinspacelogspacemeshgridmultiplynegativerecarrayrollaxissetfieldsetflagssetxor1dsometruesubtractswapaxestostringtypeDicttypenameunique1dvonmises	array_str	base_repr	broadcast	conjugate	correlate	deprecate	getbuffer	geterrobj	histogram	index_exp	iscomplex	isfortran	isrealobj	nanargmax	nanargmin	newbuffer	not_equal	ones_like	piecewise	remainder	row_stack	setdiff1d	seterrobj	tensordot	transpose	vectorize
accumulate
array_repr
arrayrange
asanyarray
atleast_1d
atleast_2d
atleast_3d
bitwise_or
cumproduct
empty_like
fromarrays
frombuffer
frompyfunc
fromstring
getbufsize
geterrcall
issubdtype
left_shift
less_equal
logical_or
nan_to_num
obj2sctype
reciprocal
restoredot
setbufsize
seterrcall
trim_zeros
zeros_likearray_equalarray_equivarray_splitbinary_reprbitwise_andbitwise_notbitwise_xorbyte_boundscommon_typeconcatenateexpand_dimsflatnonzeroget_includehistogram2dhistogramddintersect1dissubclass_issubsctypelogical_andlogical_notlogical_xormintypecodendenumeratepermutationright_shiftsctype2charsetmember1dshow_configtrue_dividearray2stringcolumn_stackfloor_dividefromfunctionint_asbufferiscomplexobjnewbyteordersearchsortedsort_complexgreater_equalrandom_samplereal_if_closeunravel_indexasfortranarrayget_array_wrapintersect1d_numaximum_sctypeapply_over_axesrandom_integersset_numeric_opsstandard_normalapply_along_axisget_printoptionsmay_share_memoryset_printoptionsasarray_chkfiniteascontiguousarrayget_numpy_includecompare_chararraysset_string_functionfastCopyAndTransposeget_numarray_includec                 c   sL    t | |D ]\}}}|tu r|| jv r|tj|fV  q|||fV  qd S )N)r   r  r   EXTRA_KEYWORDSr   r  )r  r  indextokenvaluer2   r2   r3   r    s   
z!NumPyLexer.get_tokens_unprocessedc                 C   s.   | d d }t | dsd|v od|v pd|v S )Nr  r  r  zimport numpyzfrom numpy importr  )r  ltextr2   r2   r3   r    s   
zNumPyLexer.analyse_textN)ru  rs  rw  rn  r_   r  r  r  r  r  r  r2   r2   r2   r3   r!   G  s    Cr!   )-rn  r  r  pip._vendor.pygments.lexerr   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   pip._vendor.pygmentsr   r  __all__r   r  r   Python3Lexerr   r   r   Python3TracebackLexerr   r   r    r!   r2   r2   r2   r3   <module>   s.    
04
  w ^X50 4c