HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/perl.cpython-38.pyc
U

G�
\}�@s�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZddlmZddgZGdd�de�ZGd	d�de�ZdS)
z�
    pygments.lexers.perl
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Perl and related languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�ExtendedRegexLexer�include�bygroups�using�this�default�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation)�shebang_matches�	PerlLexer�
Perl6Lexerc4@s�eZdZdZdZddgZdddgZdd	gZej	ej
BZd
ej
dfdej
dfd
ej
dfdej
dfdej
dfdej
dfdej
dfdej
dfdej
dfdej
dfg
dejfdejfdejfeddd�efdeeeeeee�dfdejfdej
fdej
fd ej
fd!ej
fd"ej
fd#ej
d$fd%ej
d$fd&ej
d$fd'ej
d$fd(ej
fd)ej
d$fd*ej
fd+efed,dd�ejfd-ejjfd.eeeejeeje�fd/ejd0fd1ejjfd2ejjfd3ejd4fd5e j!fd6e j"fd7e j#fd8e j$fd9e j$fd:e j%fd;efd<efd=ej&fd>ej
fd?ej'd@fdAej'dBfdCej'dDfdEej'dFfdGej'fdHeeeej(�fdIeeeej(�fdJeee�dKfedLdd�efdMefdNefdOefdPedQfg1dRej)dfdSej)fgd+efdTedfdUedfdVej(fdWejdfgdXej(dfdYej(dfdWedfdZej*dfd[edfgd\ej+fd+efd]eee�fd^edfd_edfgd`ej'fdaej'fdTej'd@fdbej'dfdcej'fgddej'fdaej'fdeej'dBfdfej'dfdgej'fgdhej'fdaej'fdiej'dDfdjej'dfdkej'fgdlej'fdaej'fdmej'dFfdnej'dfdoej'fgdpejdfgdq�Z,drds�Z-dtS)urz8
    For `Perl <http://www.perl.org>`_ source code.
    ZPerl�perlZpl�*.pl�*.pm�*.tztext/x-perlzapplication/x-perlz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*�#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*z	\A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cut)Zcase�continue�do�else�elsif�forZforeach�if�last�my�next�our�redo�resetZthen�unless�until�while�print�new�BEGIN�CHECK�INIT�END�returnz\b��suffixz!(format)(\s+)(\w+)(\s*)(=)(\s*\n)�formatz$(eq|lt|gt|le|ge|ne|not|and|or|cmp)\bz:s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z.s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*z+s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*z:s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z:s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*�balanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)��absZaccept�alarm�atan2ZbindZbinmode�bless�caller�chdir�chmod�chomp�chop�chown�chr�chroot�closeZclosedir�connectr�cosZcryptZdbmcloseZdbmopen�defined�delete�die�dump�eachZendgrentZ
endhostentZ	endnetentZendprotoentZendpwentZ
endservent�eof�eval�exec�exists�exit�expZfcntl�filenoZflock�forkr2Zformline�getcZgetgrentZgetgrgidZgetgrnamZ
gethostbyaddrZ
gethostbynameZ
gethostent�getloginZgetnetbyaddrZgetnetbynameZ	getnetent�getpeername�getpgrp�getppid�getpriorityZgetprotobynameZgetprotobynumberZgetprotoentZgetpwent�getpwnam�getpwuidZ
getservbynameZ
getservbyportZ
getserventZgetsocknameZ
getsockopt�glob�gmtime�goto�grep�hex�import�index�intZioctl�join�keys�killr �lc�lcfirstZlength�linkZlistenZlocal�	localtime�log�lstat�map�mkdirZmsgctlZmsggetZmsgrcvZmsgsndr!r"�oct�open�opendir�ordr#�pack�pipe�pop�pos�printfZ	prototype�push�	quotemeta�rand�read�readdir�readline�readlinkZreadpipeZrecvr$�ref�rename�reverse�	rewinddir�rindex�rmdirZscalar�seekZseekdirZselectZsemctlZsemgetZsemop�sendZsetgrentZ
sethostentZ	setnetent�setpgrp�setpriorityZsetprotoentZsetpwentZ
setserventZ
setsockopt�shiftZshmctlZshmgetZshmreadZshmwriteZshutdown�sin�sleepZsocketZ
socketpair�sort�splice�split�sprintf�sqrt�srand�statZstudy�substr�symlinkZsyscallZsysopenZsysreadZsysseek�systemZsyswrite�tellZtelldirZtieZtied�time�times�tr�truncate�uc�ucfirst�umask�undef�unlink�unpack�unshiftZuntie�utime�values�vec�wait�waitpidZ	wantarray�warn�writez+((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\bz/(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)Z__END__�end-partz\$\^[ADEFHILMOPSTWX]z(\$[\\\"\[\]'&`+*.,;=%~?@$!<>(^|/-](?!\w)z[$@%#]+�varname�0_?[0-7]+(_[0-7]+)*�0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*�0b[01]+(_[01]+)*�?(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?�(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*�
\d+(_\d+)*�'(\\\\|\\[^\\]|[^'\\])*'�"(\\\\|\\[^\\]|[^"\\])*"z`(\\\\|\\[^\\]|[^`\\])*`z<([^\s>]+)>z(q|qq|qw|qr|qx)\{�	cb-stringz(q|qq|qw|qr|qx)\(�	rb-stringz(q|qq|qw|qr|qx)\[�	sb-stringz(q|qq|qw|qr|qx)\<�	lt-stringz (q|qq|qw|qr|qx)([\W_])(.|\n)*?\2z/(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z6(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z
(sub)(\s+)�funcname)Zno�package�require�usez=(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&^|!\\~]=?z[()\[\]:;,<>/?{}]z(?=\w)�namez\.\nz[^\n]*\n�\{z\)|,z\w+::z[\w:]+z+[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)z[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::z
[A-Z_]+(?=\W)z(?=\W)z[a-zA-Z_]\w*[!?]?z(\([$@%]*\))(\s*)�;z.*?\{z\\[{}\\]z\\�\}z[^{}\\]+z\\[()\\]z\(z\)z[^()]+z
\\[\[\]\\]z\[z\]z[^\[\]]+z\\[<>\\]z\<z\>z[^<>]+z.+)r3�rootr2r�r�r�r�r�r�r�r�cCs"t|d�rdSt�d|�rdSdS)NrTz(?:my|our)\s+[$@%(]g�������?)r�re�search)�text�r��6/usr/lib/python3/dist-packages/pygments/lexers/perl.py�analyse_text�s
zPerlLexer.analyse_textN).�__name__�
__module__�__qualname__�__doc__r��aliases�	filenames�	mimetypesr��DOTALL�	MULTILINE�flagsr�RegexrZHashbang�Single�	Multiliner	r
rr
rrrZWord�BuiltinZPseudoZ	DelimiterZPreproc�Variable�Globalr�Oct�Hex�Bin�Float�IntegerZBacktickZOtherZ	NamespaceZInterpolZConstantZFunction�tokensr�r�r�r�r�rs6










�
������

��
���
�



�



������f
�
�


��	

�

�

�

�
���.c�s�eZdZdZdZddgZddddd	d
ddd
ddgZddgZej	ej
BejBZdZ
dZdZdZdZdddddddddddd 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~dd�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�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Ӝ�Z�dd�dׄZd�dلZd�dۄZd�d݄Zd�d߄Zd�dՠe�d�eej�fd�ejfd�ejfd�ejfd�ejfd�e
d�eee�d�fd�e
d�e
d�eee�d�fd�eeeee�feee
�efeee
d�d�ej feee
�ej fd�e
d�ej!fd�ej!j"fd�ej!j"fd�e
d�ej!j"fd�ej!fd�ee#�fd�e$j%fd�e$j&fd�e$j'fd�e$j(fd�e$j(fd�e$j)fd�e#j*fd�e#j*fd�ef�dee#j*�f�de#j*f�de#fee�e+f�de
�def�de#f�de#fg!e,�d��def�d	ef�d
efge,�d��de�df�d
efg�ddՠe�d�ee��d
fe-�d
�g�d	e�df�de.e/�f�de#j*f�de#j*f�de#j*f�dejf�def�d
e#j*fg�d�Z0�d�d�Z1�f�d�d�Z2�Z3S(rzV
    For `Perl 6 <http://www.perl6.org>`_ source code.

    .. versionadded:: 2.0
    ZPerl6Zperl6Zpl6rrz*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6rztext/x-perl6zapplication/x-perl6z['\w:-])sr+ZCATCHr,ZCONTROLr.ZENTERZFIRSTr-ZKEEPZLASTZLEAVEZNEXTZPOSTZPREZSTARTZTEMPZUNDO�asZassoc�asyncZaugment�binary�break�but�cached�category�classZconstantZcontendr�copyZdeeprZdefequivZdeferrErrr�enumZequivrLZexportZfailZfatalrZgatherZgivenrZZgrammarZhandlesZhasrZinlineZirs�isr ZleaveZletZliftZloopZlooserZmacroZmake�maybe�method�moduleZmultir!r"ZofZofsZonlyZooZorsr#r�ZparsedZprec�proto�readonlyr$r{ZregexZreparsed�repeatr�Zrequiredr/ZreturnsZroleZruleZrw�selfZslang�state�subZ	submethodZsubsetZ	supersedeZtakeZtempZtighter�tokenZtrusts�tryZunaryr&r'r�r�Zwhen�wherer(Zwill)�ZACCEPTSZHOWZREJECTSZVARZWHATZWHENCEZWHEREZWHICHZWHOr4ZacosZacosecZacosechZacoshZacotanZacotanh�all�anyZapproxZarityZasecZasechZasinZasinhZassumingZatanr6Zatanh�attrr7ZbodyZby�bytesr8ZcallsameZcallwithZcan�
capitalize�catZceiling�charsr:r;r<r>r?Z	circumfixZcisZclassifyZcloner@Zcmp_okZcodesZcombrA�contains�contextrBZcosecZcosechZcoshZcotanZcotanh�countrCrDZdiagZdies_ok�does�erGZeagerZelems�endrHrIZeval_dies_okZeval_elsewhereZ
eval_lives_okZevalfilerKrM�firstZflipZfloorZflunk�flushZfmtZ
force_todorO�fromrPZgethostrQrRZgetpwrYZgraphsr[ZhintsZhyperZimr^Zinfix�invertZ	is_approxZ	is_deeplyZisaZisa_okZisnt�iteratorr`�keyrarbZkvZlastcallZlazyrcrdZlike�linesreZlives_okrfrgZlog10ri�max�minZminmaxr�r*ZnextsameZnextwithZnfcZnfdZnfkcZnfkdZ	nok_errorZnonceZnoneZ	normalize�notZnothing�ok�onceZonerlrm�operatorrnZp5chompZp5choproZpairZpairs�passrZpiZpickZplanZplan_okZpolarrqrrZ
postcircumfixZpostfixZpred�prefixr)rsrtZquasirurvr�rwrxry�reducer}Zrewindr~r�roots�roundZ
roundrobin�runZ
runinsteadZ
sameaccentZsamecaseZsayZsec�sechrr��shaper�ZsignZ	signaturer�Zsinh�skipZ	skip_restr�Zslurpr�r�r�r�r�r�ZstrandZsubstr�Zsucc�sumr�ZtanZtanhZ	throws_okr�r��toZtodoZtrimZtrim_endZ
trim_start�truer�r�r�r�ZundefineZuniqZunliker�r�Zunpolarr�ZunwrapZuse_ok�valuer�r�Z
version_ltZvoidr�ZwantZwrapr��zip)oZAbstractionZAnyZAnyCharZArrayZAssociativeZBagZBitZBlobZBlockZBoolZBufZByte�CallableZCaptureZCharZClassZCodeZ	CodepointZ
ComparatorZComplexZ
Decreasing�	ExceptionZFailure�FalseZGrammarZGraphemeZHashZIOZ
IncreasingZIntZJunctionZKeyBagZKeyExtractorZKeyHashZKeySetZKitchenSinkZListZMacro�Mapping�MatchZMatcherZMethodZModuleZNumZObjectZOrderedZOrderingZOrderingPairZPackageZPairZ
PositionalZProxyZRangeZRatr�ZRoleZRoutineZScalarZSeq�SetZ	SignatureZStrZStrLenZStrPosZSubZ	Submethod�TrueZUIntZUndefZVersionZVoidZWhatever�bit�boolZbufZbuf1Zbuf16Zbuf2Zbuf32Zbuf4Zbuf64Zbuf8�complexr_Zint1Zint16Zint2Zint32Zint4Zint64Zint8ZnumZratZrat1Zrat16Zrat2Zrat32Zrat4Zrat64Zrat8ZuintZuint1Zuint16Zuint2Zuint32Zuint4Zuint64Zuint8�utf16�utf32�utf8)e�X�ZZafterZalso�andZandthenZbeforeZcmpZdiv�eqZeqvZextra�ff�fff�ge�gt�leZleg�lt�mZmm�mod�ne�orZorelseZrx�sr��x�xorZxxz++z--z**�!�+�-�~�?�|�||�+^�~^�?^�^�*�/�%z%%z+&z+<z+>z~&z~<z~>z?&ZgcdZlcmr6r7z+|r<z~|r=z?|r>r8�&r?r�r�z<=>z..z..^z^..z^..^z!=z==�<z<=�>z>=z~~z===z!eqvz&&r;z^^z//rrz??z!!r(r)Zsorz<==z==>z<<==z==>>�)rE�]�}�»u༻u༽u᚜u’u”u›u⁆u⁾u₎u∋u∌u∍u⧵u∽u⋍u≓u≕u≥u≧u≩u≫u≯u≱u≳u≵u≷u≹u≻u≽u≿u⊁u⊃u⊅u⊇u⊉u⊋u⊐u⊒u⦸u⊣u⫞u⫤u⫣u⫥u⊱u⊳u⊵u⊷u⋊u⋌u⋑u⋗u⋙u⋛u⋝u⋟u⋡u⋣u⋥u⋧u⋩u⋫u⋭u⋱u⋺u⋻u⋼u⋽u⋾u⌉u⌋u〉u⎵u❩u❫u❭u❯u❱u❳u❵u⟄u⟆u⟖u⟞u⟣u⟥u⟧u⟩u⟫u⦄u⦆u⦈u⦊u⦌u⦎u⦐u⦒u⦔u⦖u⦘u⧁u⧅u⧐u⧒u⧕u⧙u⧛u⧹u⧽u⨬u⨮u⨵u⨽u⩥u⩺u⩾u⪀u⪂u⪄u⪌u⪒u⪔u⪖u⪘u⪚u⪜u⪢u⪧u⪩u⪫u⪭u⪰u⪴u⪼u⪾u⫀u⫂u⫄u⫆u⫎u⫐u⫒u⫔u⫖u⫭u⫸u⫺u⸃u⸅u⸊u⸍u⸝u⸡u〉u》u」u』u】u〕u〗u〙u〛u〞u﴿u︘u︶u︸u︺u︼u︾u﹀u﹂u﹄u﹈u﹚u﹜u﹞u)u>u]u}u⦆u」)��(rD�[�{�«u༺u༼u᚛u‘u‚u‛u“u„u‟u‹u⁅u⁽u₍u∈u∉u∊u∕u∼u≃u≒u≔u≤u≦u≨u≪u≮u≰u≲u≴u≶u≸u≺u≼u≾u⊀u⊂u⊄u⊆u⊈u⊊u⊏u⊑u⊘u⊢u⊦u⊨u⊩u⊫u⊰u⊲u⊴u⊶u⋉u⋋u⋐u⋖u⋘u⋚u⋜u⋞u⋠u⋢u⋤u⋦u⋨u⋪u⋬u⋰u⋲u⋳u⋴u⋶u⋷u⌈u⌊u〈u⎴u❨u❪u❬u❮u❰u❲u❴u⟃u⟅u⟕u⟝u⟢u⟤u⟦u⟨u⟪u⦃u⦅u⦇u⦉u⦋u⦍u⦏u⦑u⦓u⦕u⦗u⧀u⧄u⧏u⧑u⧔u⧘u⧚u⧸u⧼u⨫u⨭u⨴u⨼u⩤u⩹u⩽u⩿u⪁u⪃u⪋u⪑u⪓u⪕u⪗u⪙u⪛u⪡u⪦u⪨u⪪u⪬u⪯u⪳u⪻u⪽u⪿u⫁u⫃u⫅u⫍u⫏u⫑u⫓u⫕u⫬u⫷u⫹u⸂u⸄u⸉u⸌u⸜u⸠u〈u《u「u『u【u〔u〖u〘u〚u〝u﴾u︗u︵u︷u︹u︻u︽u︿u﹁u﹃u﹇u﹙u﹛u﹝u(u<u[u{u⦅u「N�cCsl|dkr,d|d�dd�|D��|dSd|d|dd�d	d�|D��d|d
|dSdS)Nz\b(r:css|]}t�|�VqdS�N�r��escape��.0r3r�r�r��	<genexpr>�sz/Perl6Lexer._build_word_match.<locals>.<genexpr>z)\bz(?<!rFrJcss|]}t�|�VqdSrOrPrRr�r�r�rT�sz(?!)r`)r	Zboundary_regex_fragmentr
r1r�r�r��_build_word_match�s&��������zPerl6Lexer._build_word_matchcs�fdd�}|S)Nc3s�|��}|d}t|�}|�d�}tj�|d�}|j}|dkrX|�||�d�|�}	n�||}
d}|�d�}|dkr�|�|||�}
|�|
||�}|dkr�t|�}d}qn|
dkr�|
|kr�|d7}|
}qn|d8}|}qn|}	|	dkr�t|�}	|dk	�r\t�	d|��r\||�d�||	�}t�	dt�
|�d||	d�tj�}|�rT|	|��7}	nt|�}	|���||��|	|�fV|	||_
dS)	NZ	delimiter�adverbsr����z:to\bz^\s*z\s*$)�	groupdict�len�getr�PERL6_BRACKETSr��find�startr�r�rQr�r�rr)�lexer�matchr��groupsZ
opening_charsZn_charsrVZcloserr�Zend_posZ
closing_charsZ
nesting_levelZ
search_posZ
next_open_posZnext_close_posZheredoc_terminatorZend_heredoc��token_classr�r��callback�sL

�
� z.Perl6Lexer.brackets_callback.<locals>.callbackr�)rcrdr�rbr��brackets_callback�s5zPerl6Lexer.brackets_callbackccs\|j}|��t|j|��|���fV|��|_t|�dkrX|ddkrX|jd7_dS)N����r�rW)�stackr^r
r�r�rrrZ�perl6_token_nesting_level�r_r`r�rhr�r�r��opening_brace_callback�s
"
z!Perl6Lexer.opening_brace_callbackccsn|j}|��t|j|��|���fV|��|_t|�dkrj|ddkrj|jd8_|jdkrj|��dS)Nrfrgr�rWr)	rhr^r
r�r�rrrZrirqrjr�r�r��closing_brace_callback�s"

z!Perl6Lexer.closing_brace_callbackccsBd|_|��t|j|��|���fV|��|_|j�d�dS)NrWr�)rir^r
r�r�rrrh�append)r_r`r�r�r�r��embedded_perl6_callback�s"
z"Perl6Lexer.embedded_perl6_callbackz$#[`|=](?P<delimiter>(?P<first_char>[z])(?P=first_char)*)z#[^\n]*$z%^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2z^(\s*)=for.*?\n\s*?\nz
^=.*?\n\s*?\nz(regex|token|rule)(\s*z+:sym)�token-sym-bracketsz(regex|token|rule)(?!z)(\s*z+)?�	pre-tokenz(role)(\s+)(q)(\s*)z
(?::[UD])?r0z[$@%&][.^:?=!~]?u+(?:<<.*?>>|<.*?>|«.*?»)*u \$[!/](?:<<.*?>>|<.*?>|«.*?»)*z::\?\w+z[$@%&]\*z\$(?:<.*?>)+zn(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])(?P=first_char)*)r�r�r�r�r�r�z(?<=~~)\s*/(?:\\\\|\\/|.)*?/z(?<=[=(,])\s*/(?:\\\\|\\/|.)*?/z
m\w+(?=\()z_(?:m|ms|rx)\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^\w:\s])(?P=first_char)*)zB(?:s|ss|tr)\s*(?::[\w\s:]+)?\s*/(?:\\\\|\\/|.)*?/(?:\\\\|\\/|.)*?/z
<[^\s=].*?\S>z\wr@r�r��commonr�r�z.+?)rr�z(?P<delimiter>(?P<first_char>[)rrprz,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)rqr�rpror�cCs�dd�}|��}||�}d�|�}t|d�r0dSd}d}t�dtjd|�rVd	}d}|D]d}t�d
d|�}t�d|�rzqZt�d
|�r�dSt�d|�}|r�|s�|�	d�dk	r�dSd}qZq�qZ|S)NcSsHd}g}|D]6}t�d|�r"d}qt�d|�r4d}q|s|�|�q|S)NFz
^=(?:end|cut)z^=\w+T)r�r`rm)rZin_podZstripped_lines�liner�r�r��	strip_pod8sz*Perl6Lexer.analyse_text.<locals>.strip_pod�
zperl6|rakudo|niecza|pugsTFz(?:my|our|has)\s+(?:z
+\s+)?[$@%&(]g�������?z#.*rNz^\s*$z$^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;z?^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)Zscopeg�������?)
�
splitlinesr`rr�r�r�PERL6_IDENTIFIER_RANGEr�r`�group)r�rsrZ
saw_perl_declZratingrrZ
class_declr�r�r�r�7s:

��zPerl6Lexer.analyse_textcs$tt|�jf|�|�dd�|_dS)N�encodingzutf-8)�superr�__init__r[rx)r�Zoptions��	__class__r�r�rzjszPerl6Lexer.__init__)NrNrN)4r�r�r�r�r�r�r�r�r�r�r��UNICODEr�rvZPERL6_KEYWORDSZPERL6_BUILTINSZPERL6_BUILTIN_CLASSESZPERL6_OPERATORSr\rUrerkrlrnr`rr�r�rr
rr
r�r�r�rrr�r�r�r�r�r�rrrrrr�r�rz�
__classcell__r�r�r{r�r�sR�%�C	8
�
���
�


�����
�1����




��O3)r�r�Zpygments.lexerrrrrrrrr	Zpygments.tokenr
rrr
rrrrZ
pygments.utilr�__all__rrr�r�r�r��<module>s
((A