U
    G¸
\}  ã                   @   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mZmZmZmZmZ ddlmZ ddgZG dd„ deƒZG d	d„ deƒZdS )
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Ú
Perl6Lexerc                4   @   sî  e Zd ZdZdZddgZdddgZdd	gZej	ej
B Zd
ejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfg
dejfdejfdejfedddefdeeeeeeeƒd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d$fd%ejd$fd&ejd$fd'ejd$fd(ejfd)ejd$fd*ejfd+efed,ddejfd-ejjfd.eeeejeejeƒfd/ejd0fd1ejjfd2ejjfd3ejd4fd5e j!fd6e j"fd7e j#fd8e j$fd9e j$fd:e j%fd;efd<efd=ej&fd>ejfd?ej'd@fdAej'dBfdCej'dDfdEej'dFfdGej'fdHeeeej(ƒfdIeeeej(ƒfdJeeeƒdKfedLddefdMefdNefdOefdPedQfg1dRej)dfdSej)fgd+efdTedfdUedfdVej(fdWejdfgdXej(dfdYej(dfdWedfdZej*dfd[edfgd\ej+fd+efd]eeeƒfd^edfd_edfgd`ej'fdaej'fdTej'd@fdbej'dfdcej'fgddej'fdaej'fdeej'dBfdfej'dfdgej'fgdhej'fdaej'fdiej'dDfdjej'dfdkej'fgdlej'fdaej'fdmej'dFfdnej'dfdoej'fgdpejdfgdqœZ,drds„ Z-dtS )ur   z8
    For `Perl <http://www.perl.org>`_ source code.
    ZPerlÚperlZplú*.plú*.pmú*.tztext/x-perlzapplication/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)ZcaseÚcontinueÚdoÚelseÚelsifÚforZforeachÚifÚlastÚmyÚnextÚourÚredoÚresetZthenÚ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]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*úbalanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)ÄÚabsZacceptÚalarmÚatan2ZbindZbinmodeÚblessÚcallerÚchdirÚchmodÚchompÚchopÚchownÚchrÚchrootÚcloseZclosedirÚconnectr   ÚcosZcryptZdbmcloseZdbmopenÚdefinedÚdeleteÚdieÚdumpÚeachZendgrentZ
endhostentZ	endnetentZendprotoentZendpwentZ
endserventÚeofÚevalÚexecÚexistsÚexitÚexpZfcntlÚfilenoZflockÚforkr2   ZformlineÚgetcZgetgrentZgetgrgidZgetgrnamZgethostbyaddrZgethostbynameZ
gethostentÚgetloginZgetnetbyaddrZgetnetbynameZ	getnetentÚgetpeernameÚgetpgrpÚgetppidÚgetpriorityZgetprotobynameZgetprotobynumberZgetprotoentZgetpwentÚgetpwnamÚgetpwuidZgetservbynameZgetservbyportZ
getserventZgetsocknameZ
getsockoptÚglobÚgmtimeÚgotoÚgrepÚhexÚimportÚindexÚintZioctlÚjoinÚkeysÚkillr    ÚlcÚlcfirstZlengthÚlinkZlistenZlocalÚ	localtimeÚlogÚlstatÚmapÚmkdirZmsgctlZmsggetZmsgrcvZmsgsndr!   r"   ÚoctÚopenÚopendirÚordr#   ÚpackÚpipeÚpopÚposÚprintfZ	prototypeÚpushÚ	quotemetaÚrandÚreadÚreaddirÚreadlineÚreadlinkZreadpipeZrecvr$   ÚrefÚrenameÚreverseÚ	rewinddirÚrindexÚrmdirZscalarÚseekZseekdirZselectZsemctlZsemgetZsemopÚsendZsetgrentZ
sethostentZ	setnetentÚsetpgrpÚsetpriorityZsetprotoentZsetpwentZ
setserventZ
setsockoptÚshiftZshmctlZshmgetZshmreadZshmwriteZshutdownÚsinÚsleepZsocketZ
socketpairÚsortÚspliceÚsplitÚsprintfÚsqrtÚsrandÚstatZstudyÚsubstrÚsymlinkZsyscallZsysopenZsysreadZsysseekÚsystemZsyswriteÚtellZtelldirZtieZtiedÚtimeÚtimesÚtrÚtruncateÚucÚucfirstÚumaskÚundefÚunlinkÚunpackÚunshiftZuntieÚ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)ZnoÚ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   Úrootr2   r¦   r·   r³   r¯   r°   r±   r²   r¥   c                 C   s"   t | dƒrdS t d| ¡rdS d S )Nr   Tz(?:my|our)\s+[$@%(]gÍÌÌÌÌÌì?)r   ÚreÚsearch)Útext© r¿   ú6/usr/lib/python3/dist-packages/pygments/lexers/perl.pyÚanalyse_textÐ   s    
zPerlLexer.analyse_textN).Ú__name__Ú
__module__Ú__qualname__Ú__doc__r·   ÚaliasesÚ	filenamesÚ	mimetypesr¼   ÚDOTALLÚ	MULTILINEÚflagsr   ÚRegexr   ZHashbangÚSingleÚ	Multiliner	   r   r   r
   r   r   r   ZWordÚBuiltinZPseudoZ	DelimiterZPreprocÚVariableÚGlobalr   ÚOctÚHexÚBinÚFloatÚIntegerZBacktickZOtherZ	NamespaceZInterpolZConstantZFunctionÚtokensrÁ   r¿   r¿   r¿   rÀ   r      s6  










öüû ÿÿÿÿ

ÿÿ
ÿæå
ÿ



ÿ



ÿÿÿþÿf
þ
û


ûú	

û

û

û

û
ÿ€ Ø .c                Á       s€  e Zd ZdZdZddgZddddd	d
dddddgZddgZej	ej
B ejB ZdZdZdZdZd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/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd€dd‚dƒd„d…d†d‡dˆd‰dŠd‹dŒddŽddd‘d’d“d”d•d–d—d˜d™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ÓœÀZddÖd×„ZdØdÙ„ ZdÚdÛ„ ZdÜdÝ„ ZdÞdß„ ZdàdÕ e¡ dá eejƒfdâejfdãejfdäejfdåejfdæe dç eeeƒdèfdée dê e dë eeeƒdìfdíeeeeeƒfeeeƒefeeedîdïej feeeƒej fdðe dñ ej!fdòej!j"fdóej!j"fdôe dñ ej!j"fdõej!fdöe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#j*fdÿefd ee#j*ƒfde#j*fde#feeƒe+fde d efde#fde#fg!e,dƒdefd	efd
efge,dƒdedfd
efgddÕ e¡ dá eeƒdfe-dƒgd	edfde.e/ƒfde#j*fde#j*fde#j*fdejfdefd
e#j*fgdœZ0dd„ Z1‡ fdd„Z2‡  Z3S (  r   zV
    For `Perl 6 <http://www.perl6.org>`_ source code.

    .. versionadded:: 2.0
    ZPerl6Zperl6Zpl6r   r   z*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6r   ztext/x-perl6zapplication/x-perl6z['\w:-])sr+   ZCATCHr,   ZCONTROLr.   ZENTERZFIRSTr-   ZKEEPZLASTZLEAVEZNEXTZPOSTZPREZSTARTZTEMPZUNDOÚasZassocÚasyncZaugmentÚbinaryÚbreakÚbutÚcachedÚcategoryÚclassZconstantZcontendr   ÚcopyZdeepr   ZdefequivZdeferrE   r   r   r   ÚenumZequivrL   ZexportZfailZfatalr   ZgatherZgivenrZ   ZgrammarZhandlesZhasr   ZinlineZirsÚisr    ZleaveZletZliftZloopZlooserZmacroZmakeÚmaybeÚmethodÚmoduleZmultir!   r"   ZofZofsZonlyZooZorsr#   r´   ZparsedZprecÚprotoÚreadonlyr$   r{   ZregexZreparsedÚrepeatrµ   Zrequiredr/   ZreturnsZroleZruleZrwÚselfZslangÚstateÚsubZ	submethodZsubsetZ	supersedeZtakeZtempZtighterÚtokenZtrustsÚtryZunaryr&   r'   r¶   r£   ZwhenÚwherer(   Zwill)ýZACCEPTSZHOWZREJECTSZVARZWHATZWHENCEZWHEREZWHICHZWHOr4   ZacosZacosecZacosechZacoshZacotanZacotanhÚallÚanyZapproxZarityZasecZasechZasinZasinhZassumingZatanr6   ZatanhÚattrr7   ZbodyZbyÚbytesr8   ZcallsameZcallwithZcanÚ
capitalizeÚcatZceilingÚcharsr:   r;   r<   r>   r?   Z	circumfixZcisZclassifyZcloner@   Zcmp_okZcodesZcombrA   ÚcontainsÚcontextrB   ZcosecZcosechZcoshZcotanZcotanhÚcountrC   rD   ZdiagZdies_okÚdoesÚerG   ZeagerZelemsÚendrH   rI   Zeval_dies_okZeval_elsewhereZeval_lives_okZevalfilerK   rM   ÚfirstZflipZfloorZflunkÚflushZfmtZ
force_todorO   ÚfromrP   ZgethostrQ   rR   ZgetpwrY   Zgraphsr[   ZhintsZhyperZimr^   ZinfixÚinvertZ	is_approxZ	is_deeplyZisaZisa_okZisntÚiteratorr`   Úkeyra   rb   ZkvZlastcallZlazyrc   rd   ZlikeÚlinesre   Zlives_okrf   rg   Zlog10ri   ÚmaxÚminZminmaxr·   r*   ZnextsameZnextwithZnfcZnfdZnfkcZnfkdZ	nok_errorZnonceZnoneZ	normalizeÚnotZnothingÚokÚonceZonerl   rm   Úoperatorrn   Zp5chompZp5chopro   ZpairZpairsÚpassr   ZpiZpickZplanZplan_okZpolarrq   rr   ZpostcircumfixZpostfixZpredÚprefixr)   rs   rt   Zquasiru   rv   r¼   rw   rx   ry   Úreducer}   Zrewindr~   r   ÚrootsÚroundZ
roundrobinÚrunZ
runinsteadZ
sameaccentZsamecaseZsayZsecÚsechr  r   Úshaper…   ZsignZ	signaturer†   ZsinhÚskipZ	skip_restr‡   Zslurprˆ   r‰   rŠ   r‹   rŒ   r   ZstrandZsubstr   ZsuccÚsumr   ZtanZtanhZ	throws_okr“   r”   ÚtoZtodoZtrimZtrim_endZ
trim_startÚtruer–   r—   r˜   rš   ZundefineZuniqZunliker›   rœ   Zunpolarr   ZunwrapZuse_okÚvaluerŸ   r    Z
version_ltZvoidr¡   ZwantZwrapr¤   Úzip)oZAbstractionZAnyZAnyCharZArrayZAssociativeZBagZBitZBlobZBlockZBoolZBufZByteÚCallableZCaptureZCharZClassZCodeZ	CodepointZ
ComparatorZComplexZ
DecreasingÚ	ExceptionZFailureÚFalseZGrammarZGraphemeZHashZIOZ
IncreasingZIntZJunctionZKeyBagZKeyExtractorZKeyHashZKeySetZKitchenSinkZListZMacroÚMappingÚMatchZMatcherZMethodZModuleZNumZObjectZOrderedZOrderingZOrderingPairZPackageZPairZ
PositionalZProxyZRangeZRatrÌ   ZRoleZRoutineZScalarZSeqÚSetZ	SignatureZStrZStrLenZStrPosZSubZ	SubmethodÚTrueZUIntZUndefZVersionZVoidZWhateverÚbitÚboolZbufZbuf1Zbuf16Zbuf2Zbuf32Zbuf4Zbuf64Zbuf8Úcomplexr_   Zint1Zint16Zint2Zint32Zint4Zint64Zint8ZnumZratZrat1Zrat16Zrat2Zrat32Zrat4Zrat64Zrat8ZuintZuint1Zuint16Zuint2Zuint32Zuint4Zuint64Zuint8Úutf16Úutf32Úutf8)eÚXÚZZafterZalsoÚandZandthenZbeforeZcmpZdivÚeqZeqvZextraÚffÚfffÚgeÚgtÚleZlegÚltÚmZmmÚmodÚneÚorZorelseZrxÚsr•   ÚxÚxorZxxz++z--z**ú!ú+ú-ú~ú?ú|ú||ú+^ú~^ú?^ú^Ú*ú/ú%z%%z+&z+<z+>z~&z~<z~>z?&ZgcdZlcmr6  r7  z+|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//r  r  z??z!!r(  r)  Zsor  z<==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Ú c                 C   sl   |d kr,d| d  dd„ | D ƒ¡ | d S d| d | d d  d	d„ | D ƒ¡ d | d
 | d S d S )Nz\b(r:  c                 s   s   | ]}t  |¡V  qd S ©N©r¼   Úescape©Ú.0r3  r¿   r¿   rÀ   Ú	<genexpr>„  s     z/Perl6Lexer._build_word_match.<locals>.<genexpr>z)\bz(?<!rF  rJ  c                 s   s   | ]}t  |¡V  qd S rO  rP  rR  r¿   r¿   rÀ   rT  ˆ  s     z(?!)r`   )r	   Zboundary_regex_fragmentr
  r1   r¿   r¿   rÀ   Ú_build_word_match‚  s&    ÿÿÿÿÿÿþþzPerl6Lexer._build_word_matchc                    s   ‡ fdd„}|S )Nc                 3   sŠ  |  ¡ }|d }t|ƒ}| d¡}tj |d ¡}|j}|d krX| || d¡| ¡}	n„|| }
d}| d¡}|dkrØ| ||| ¡}| |
|| ¡}|dkr¬t|ƒ}d}qn|dkrÊ||k rÊ|d7 }|}qn|d8 }|}qn|}	|	dk rìt|ƒ}	|d k	r\t 	d|¡r\|| d¡| |	… }t 	dt 
|¡ d ||	d … tj¡}|rT|	| ¡ 7 }	nt|ƒ}	| ¡ ˆ || ¡ |	| … fV  |	| |_d S )	NZ	delimiterÚadverbsr   é   éÿÿÿÿz:to\bz^\s*z\s*$)Ú	groupdictÚlenÚgetr   ÚPERL6_BRACKETSr¾   ÚfindÚstartr¼   r½   rQ  rÊ   rû   rr   )ÚlexerÚmatchr÷   ÚgroupsZopening_charsZn_charsrV  Zcloserr¾   Zend_posZclosing_charsZnesting_levelZ
search_posZnext_open_posZnext_close_posZheredoc_terminatorZend_heredoc©Útoken_classr¿   rÀ   ÚcallbackŒ  sL    

ÿ
 ÿ z.Perl6Lexer.brackets_callback.<locals>.callbackr¿   )rc  rd  r¿   rb  rÀ   Úbrackets_callback‹  s    5zPerl6Lexer.brackets_callbackc                 c   s\   |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkrX|d dkrX| jd7  _d S )Né   éþÿÿÿrì   rW  )Ústackr^  r
   r¾   rû   rr   rZ  Úperl6_token_nesting_level©r_  r`  r÷   rh  r¿   r¿   rÀ   Úopening_brace_callbackÃ  s
    "
z!Perl6Lexer.opening_brace_callbackc                 c   sn   |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkrj|d dkrj| jd8  _|jdkrj| ¡  d S )Nrf  rg  rì   rW  r   )	rh  r^  r
   r¾   rû   rr   rZ  ri  rq   rj  r¿   r¿   rÀ   Úclosing_brace_callbackÐ  s    "

z!Perl6Lexer.closing_brace_callbackc                 c   sB   d|_ | ¡ t|j| ¡ | ¡ … fV  | ¡ |_|j d¡ d S )NrW  r»   )ri  r^  r
   r¾   rû   rr   rh  Ú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])?r0   z[$@%&][.^:?=!~]?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.+?)r   rì   z(?P<delimiter>(?P<first_char>[)r   rp  r   z,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)rq  r»   rp  ro  rì   c                 C   sÄ   dd„ }|   ¡ }||ƒ}d |¡} t| dƒr0dS d}d}t dtj d | ¡rVd	}d}|D ]d}t d
d|¡}t d|¡rzqZt d|¡rŒ dS t d|¡}|rº|s®| 	d¡d k	r´ dS d}qZ qÀqZ|S )Nc                 S   sH   d}g }| D ]6}t  d|¡r"d}qt  d|¡r4d}q|s| |¡ q|S )NFz^=(?:end|cut)z^=\w+T)r¼   r`  rm  )r  Zin_podZstripped_linesÚliner¿   r¿   rÀ   Ú	strip_pod8  s    z*Perl6Lexer.analyse_text.<locals>.strip_podÚ
zperl6|rakudo|niecza|pugsTFz(?:my|our|has)\s+(?:z+\s+)?[$@%&(]gš™™™™™é?z#.*rN  z^\s*$z$^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;z?^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)Zscopegš™™™™™©?)
Ú
splitlinesr`   r   r¼   r½   r   ÚPERL6_IDENTIFIER_RANGErë   r`  Úgroup)r¾   rs  r  Zsaw_perl_declZratingrr  Z
class_declr¿   r¿   rÀ   rÁ   7  s:    

ÿÿzPerl6Lexer.analyse_textc                    s$   t t| ƒjf |Ž | dd¡| _d S )NÚencodingzutf-8)Úsuperr   Ú__init__r[  rx  )ré   Zoptions©Ú	__class__r¿   rÀ   rz  j  s    zPerl6Lexer.__init__)NrN  rN  )4rÂ   rÃ   rÄ   rÅ   r·   rÆ   rÇ   rÈ   r¼   rÊ   rÉ   ÚUNICODErË   rv  ZPERL6_KEYWORDSZPERL6_BUILTINSZPERL6_BUILTIN_CLASSESZPERL6_OPERATORSr\  rU  re  rk  rl  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Á   rz  Ú__classcell__r¿   r¿   r{  rÀ   r   ×   sR     ÿ%                                                                                                                                ÀC	8ÿ
 ÿ ÿÿ
ÿ


ÿÿÿÿÿ
Ò1üý ÿý




ö¿O3)rÅ   r¼   Zpygments.lexerr   r   r   r   r   r   r   r	   Zpygments.tokenr
   r   r   r   r   r   r   r   Zpygments.utilr   Ú__all__r   r   r¿   r¿   r¿   rÀ   Ú<module>   s   
(( A