3

V'íc˜ã@sØdZddlmZmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZdddddd	gZGd
d„deƒZGdd	„d	eƒZGdd„deƒZGd
d„deƒZdd„Zdd„ZGdd„deƒZGdd„deƒZdS)zñ
    pygments.lexers.graphics
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for computer graphics and plotting related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é)Ú
RegexLexerÚwordsÚincludeÚbygroupsÚusingÚthisÚdefault)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚNumberÚPunctuationÚStringÚ
WhitespaceÚ
GLShaderLexerÚPostScriptLexerÚAsymptoteLexerÚGnuplotLexerÚPovrayLexerÚHLSLShaderLexerc‡@sêeZdZdZdZdgZdddgZdgZdd	ej	fd
ej
fdejfdefd
efdefde
fdejfdejfdejfdejfdejfedåd>d>d?efedæd>d>d?ejfedçd>d>d?ejfedèd>d>d?ejfdàejfdáefdâe
fdãefgiZdäS)érz@
    GLSL (OpenGL Shader) lexer.

    .. versionadded:: 1.1
    ZGLSLZglslz*.vertz*.fragz*.geoztext/x-glslsrcÚrootz^#.*$z//.*$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z0\+|-|~|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?z[?:]z\bdefined\bz[;{}(),\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?z[+-]?\d+\.\d*([eE][-+]?\d+)?z0[xX][0-9a-fA-F]*z0[0-7]*z[1-9][0-9]*Ú	attributeÚconstÚuniformÚvaryingÚbufferÚsharedÚinÚoutÚlayoutÚflatÚsmoothÚ
noperspectiveÚcentroidÚsampleÚpatchÚinoutÚlowpÚmediumpÚhighpÚ	precisionÚ	invariantÚpreciseÚcoherentÚvolatileÚrestrictÚreadonlyÚ	writeonlyÚbreakÚcontinueÚdoÚforÚwhileÚswitchÚcaserÚifÚelseÚ
subroutineÚdiscardÚreturnÚstructz\b)ÚprefixÚsuffixÚtrueÚfalseÚvoidÚatomic_uintÚfloatÚvec2Úvec3Úvec4ÚdoubleÚdvec2Údvec3Údvec4ÚintÚivec2Úivec3Úivec4ÚuintÚuvec2Úuvec3Úuvec4ÚboolÚbvec2Úbvec3Úbvec4Úmat2Úmat3Úmat4Údmat2Údmat3Údmat4Úmat2x2Úmat2x3Úmat2x4Údmat2x2Údmat2x3Údmat2x4Úmat3x2Úmat3x3Úmat3x4Údmat3x2Údmat3x3Údmat3x4Úmat4x2Úmat4x3Úmat4x4Údmat4x2Údmat4x3Údmat4x4Ú	sampler1DÚ	sampler2DÚ	sampler3DÚsamplerCubeÚsampler1DArrayÚsampler2DArrayÚsamplerCubeArrayÚ
sampler2DRectÚ
samplerBufferÚsampler2DMSÚsampler2DMSArrayÚsampler1DShadowÚsampler2DShadowÚsamplerCubeShadowÚsampler1DArrayShadowÚsampler2DArrayShadowÚsamplerCubeArrayShadowÚsampler2DRectShadowÚ
isampler1DÚ
isampler2DÚ
isampler3DÚisamplerCubeÚisampler1DArrayÚisampler2DArrayÚisamplerCubeArrayÚisampler2DRectÚisamplerBufferÚisampler2DMSÚisampler2DMSArrayÚ
usampler1DÚ
usampler2DÚ
usampler3DÚusamplerCubeÚusampler1DArrayÚusampler2DArrayÚusamplerCubeArrayÚusampler2DRectÚusamplerBufferÚusampler2DMSÚusampler2DMSArrayÚimage1DÚimage2DÚimage3DÚ	imageCubeÚimage1DArrayÚimage2DArrayÚimageCubeArrayÚimage2DRectÚimageBufferÚ	image2DMSÚimage2DMSArrayÚiimage1DÚiimage2DÚiimage3DÚ
iimageCubeÚ
iimage1DArrayÚ
iimage2DArrayÚiimageCubeArrayÚiimage2DRectÚiimageBufferÚ
iimage2DMSÚiimage2DMSArrayÚuimage1DÚuimage2DÚuimage3DÚ
uimageCubeÚ
uimage1DArrayÚ
uimage2DArrayÚuimageCubeArrayÚuimage2DRectÚuimageBufferÚ
uimage2DMSÚuimage2DMSArrayÚcommonÚ	partitionÚactiveÚasmÚclassÚunionÚenumÚtypedefÚtemplaterÚresourceÚgotoÚinlineÚnoinlineÚpublicÚstaticÚexternÚexternalÚ	interfaceÚlongÚshortÚhalfÚfixedÚunsignedÚsuperpÚinputÚoutputÚhvec2Úhvec3Úhvec4Úfvec2Úfvec3Úfvec4Ú
sampler3DRectÚfilterÚsizeofÚcastÚ	namespacerzgl_\w*z[a-zA-Z_]\w*z\.z\s+N))rrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr;r<r=r>r?r@)rCrD)wrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rr€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°r±r²r³r´rµr¶r·r¸r¹rºr»)'r¼r½r¾r¿rÀrÁrÂrÃrÄrrÅ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)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr
ÚPreprocÚSingleÚ	MultilinerrrÚFloatÚHexÚOctÚIntegerrrÚConstantÚTypeÚReservedr
ÚBuiltinrÚtokens©rõrõú</tmp/pip-build-gk9425m9/Pygments/pygments/lexers/graphics.pyrs¼
cº@s„eZdZdZdZdgZddgZdgZdej	fdej
fd	ejfd
efdefdefd
e
fdejfdejfdejfdejfdejfdedfed’dTdTdUefed“dTdTdUejfed”dTdTdUejfed•dTdTdUejfed–dTd¶dUejfed—dTdTdUejfed˜dTdTdUejfdvejfed™dTdTdUejfdˆefd‰ej	fdŠefgded‹fdŒejfdefdŽefdefgdœZd‘S(šrzL
    HLSL (Microsoft Direct3D Shader) lexer.

    .. versionadded:: 2.3
    ZHLSLZhlslz*.hlslz*.hlsliztext/x-hlslz^#.*$z//.*$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z0\+|-|~|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?z[?:]z\bdefined\bz
[;{}(),.\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?f?z[+-]?\d+\.\d*([eE][-+]?\d+)?f?z0[xX][0-9a-fA-F]*z0[0-7]*z[1-9][0-9]*ú"Ústringr¿Úasm_fragmentr4r:Úcbufferr%rÀÚcolumn_majorÚcompileÚcompile_fragmentrr5rr>r6r<ÚexportrËr7ÚfxgroupÚgloballycoherentÚgroupsharedr;rrÇr(rÍÚlineÚlineadjÚlinearràÚnointerpolationr$ÚNULLr Ú
packoffsetÚpassÚ
pixelfragmentÚpointr.r?ÚregisterÚ	row_majorr&ÚsamplerrÚ
stateblockÚstateblock_staterÊr@r9ÚtbufferÚ	techniqueÚtechnique10Útechnique11ÚtexturerÃÚtriangleÚtriangleadjrÚvertexfragmentr0r8z\b)rArBrCrDÚautoÚcatchÚcharÚ
const_castÚdeleteÚdynamic_castrÂÚexplicitÚfriendrÆrÎÚmutableÚnewÚoperatorÚprivateÚ	protectedrÉÚreinterpret_castrÏÚsignedrÞÚstatic_castrÄrÚthrowÚtryÚtypenamerÁrÒrÚvirtualÚdwordÚmatrixÚsnormÚunormrEÚvectorÚ
BlendStateÚBufferÚByteAddressBufferÚ
ComputeShaderÚDepthStencilStateÚDepthStencilViewÚDomainShaderÚGeometryShaderÚ
HullShaderÚ
InputPatchÚ
LineStreamÚOutputPatchÚPixelShaderÚPointStreamÚRasterizerStateÚRenderTargetViewÚRasterizerOrderedBufferÚ"RasterizerOrderedByteAddressBufferÚ!RasterizerOrderedStructuredBufferÚRasterizerOrderedTexture1DÚRasterizerOrderedTexture1DArrayÚRasterizerOrderedTexture2DÚRasterizerOrderedTexture2DArrayÚRasterizerOrderedTexture3DÚRWBufferÚRWByteAddressBufferÚRWStructuredBufferÚRWTexture1DÚRWTexture1DArrayÚRWTexture2DÚRWTexture2DArrayÚRWTexture3DÚSamplerStateÚSamplerComparisonStateÚStructuredBufferÚ	Texture1DÚTexture1DArrayÚ	Texture2DÚTexture2DArrayÚTexture2DMSÚTexture2DMSArrayÚ	Texture3DÚTextureCubeÚTextureCubeArrayÚTriangleStreamÚVertexShaderrWrKrGrOrÐÚ
min16floatÚ
min10floatÚmin16intÚmin12intÚ	min16uintrSz([1-4](x[1-4])?)?\bÚabortÚabsÚacosÚallÚAllMemoryBarrierÚAllMemoryBarrierWithGroupSyncÚanyÚAppendStructuredBufferÚasdoubleÚasfloatÚasinÚasintÚasuintÚatanÚatan2ÚceilÚCheckAccessFullyMappedÚclampÚclipÚ
CompileShaderÚConsumeStructuredBufferÚcosÚcoshÚ	countbitsÚcrossÚD3DCOLORtoUBYTE4ÚddxÚ
ddx_coarseÚddx_fineÚddyÚ
ddy_coarseÚddy_fineÚdegreesÚdeterminantÚDeviceMemoryBarrierÚ DeviceMemoryBarrierWithGroupSyncÚdistanceÚdotÚdstÚerrorfÚEvaluateAttributeAtCentroidÚEvaluateAttributeAtSampleÚEvaluateAttributeSnappedÚexpÚexp2Úf16tof32Úf32tof16ÚfaceforwardÚfirstbithighÚfirstbitlowÚfloorÚfmaÚfmodÚfracÚfrexpÚfwidthÚGetRenderTargetSampleCountÚGetRenderTargetSamplePositionÚGlobalOrderedCountIncrementÚGroupMemoryBarrierÚGroupMemoryBarrierWithGroupSyncÚInterlockedAddÚInterlockedAndÚInterlockedCompareExchangeÚInterlockedCompareStoreÚInterlockedExchangeÚInterlockedMaxÚInterlockedMinÚ
InterlockedOrÚInterlockedXorÚisfiniteÚisinfÚisnanÚldexpÚlengthÚlerpÚlitÚlogÚlog10Úlog2ÚmadÚmaxÚminÚmodfÚmsad4ÚmulÚnoiseÚ	normalizeÚpowÚprintfÚProcess2DQuadTessFactorsAvgÚProcess2DQuadTessFactorsMaxÚProcess2DQuadTessFactorsMinÚProcessIsolineTessFactorsÚProcessQuadTessFactorsAvgÚProcessQuadTessFactorsMaxÚProcessQuadTessFactorsMinÚProcessTriTessFactorsAvgÚProcessTriTessFactorsMaxÚProcessTriTessFactorsMinÚQuadReadLaneAtÚ	QuadSwapXÚ	QuadSwapYÚradiansÚrcpÚreflectÚrefractÚreversebitsÚroundÚrsqrtÚsaturateÚsignÚsinÚsincosÚsinhÚ
smoothstepÚsqrtÚstepÚtanÚtanhÚtex1DÚ	tex1DbiasÚ	tex1DgradÚtex1DlodÚ	tex1DprojÚtex2DÚ	tex2DbiasÚ	tex2DgradÚtex2DlodÚ	tex2DprojÚtex3DÚ	tex3DbiasÚ	tex3DgradÚtex3DlodÚ	tex3DprojÚtexCUBEÚtexCUBEbiasÚtexCUBEgradÚ
texCUBElodÚtexCUBEprojÚ	transposeÚtruncÚ
WaveAllBitAndÚ
WaveAllMaxÚ
WaveAllMinÚWaveAllBitOrÚ
WaveAllBitXorÚWaveAllEqualÚWaveAllProductÚ
WaveAllSumÚWaveAllTrueÚWaveAnyTrueÚ
WaveBallotÚWaveGetLaneCountÚWaveGetLaneIndexÚWaveGetOrderedIndexÚWaveIsHelperLaneÚWaveOnceÚWavePrefixProductÚ
WavePrefixSumÚWaveReadFirstLaneÚWaveReadLaneAtÚSV_ClipDistanceÚSV_ClipDistance0ÚSV_ClipDistance1ÚSV_CulldistanceÚSV_CullDistance0ÚSV_CullDistance1ÚSV_CoverageÚSV_DepthÚSV_DepthGreaterEqualÚSV_DepthLessEqualÚSV_DispatchThreadIDÚSV_DomainLocationÚ
SV_GroupIDÚ
SV_GroupIndexÚSV_GroupThreadIDÚSV_GSInstanceIDÚSV_InnerCoverageÚSV_InsideTessFactorÚ
SV_InstanceIDÚSV_IsFrontFaceÚSV_OutputControlPointIDÚSV_PositionÚSV_PrimitiveIDÚSV_RenderTargetArrayIndexÚSV_SampleIndexÚ
SV_StencilRefÚ
SV_TessFactorÚSV_VertexIDÚSV_ViewportArrayIndexz\bSV_Target[0-7]?\bÚallow_uav_conditionÚbranchÚcallÚdomainÚearlydepthstencilÚfastoptÚflattenÚ	forcecaseÚinstanceÚloopÚ
maxtessfactorÚ
numthreadsÚoutputcontrolpointsÚoutputtopologyÚpartitioningÚpatchconstantfuncÚunrollz[a-zA-Z_]\w*z\\$z\s+z#popzO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})z	[^\\"\n]+z\\\nz\\)rrøN)?r¿rùr4r:rúr%rÀrûrürýrr5rr>r6r<rþrËr7rÿrrr;rrÇr(rÍrrrràrr$rr rrr	r
r.r?rrr&r
rrrrÊr@r9rrrrrrÃrrrrr0r8)rCrD)rrrrrrrÂrrrÆrÎr r!r"r#r$rÉr%rÏr&rÞr'rÄrr(r)r*rÁrÒrr+)6r,r-r.rør/rÒrEr0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^)rWrKrGrOrÐr_r`rarbrcrS)§rdrerfrgrhrirjrkrlrmrnrorprprqrrrsrtrurvrwrxryrzr{r|r}r~rr€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°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ß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ÿrrrrrr)rrrr	r
rrr
rrrrrrrrrrrrrrrrrrr r!r")r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3)rárârãrärårærçrèr
rérêrërrrrìrírîrïrrrrðròrñr
róZ	DecoratorrÚEscaperôrõrõrõrör—s



c{@s*eZdZdZdZdZddgZddgZdgZd	Z	d
e	Z
de	Zdee
fZd
e
jfde
jfde
jfde
jfdedfdefde
ejfde
ejfde
ejfde
ejfdeejfeejfde
ejfde
ejfed’e
d‡ej fdˆe!fgd‰efdŠej"d‹fdedŒfdedŽfgdej"dŽfe#dŽƒgdœZ$d‘S)“rz@
    Lexer for PostScript files.

    .. versionadded:: 1.4
    Z
PostScriptz(https://en.wikipedia.org/wiki/PostScriptZ
postscriptZpostscrz*.psz*.epszapplication/postscriptz()<>\[\]{}/%\sz(?=[%s])z[^%s]z%s+%sz^%!.+$z%%.*$z(^%.*\n){2,}z%.*$z\(Ú
stringliteralz
[{}<>\[\]]z<[0-9A-Fa-f]+>zG[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z?(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z(\-|\+)?[0-9]+z\/%sz(false|true)z6(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?)reÚaddÚaloadÚarcÚarcnÚarrayrqÚbeginÚbindÚceilingÚcharpathrvÚ	closepathÚconcatÚconcatmatrixÚcopyryÚcurrentlinewidthÚ
currentmatrixÚcurrentpointÚcurvetoÚcviÚcvsÚdefÚ
defaultmatrixÚdictÚdictstackoverflowÚdivÚ
dtransformÚdupÚendÚexchÚexecÚexitrÚfillÚfindfontr–ÚgetÚgetintervalÚgrestoreÚgsaveÚgtÚidentmatrixÚidivÚidtransformÚindexÚinvertmatrixÚ
itransformr®ÚlinetoÚlnÚloadr±r,r-ÚmodÚmovetor¹ÚnegÚnewpathÚ
pathforallÚpathbboxÚpopÚprintÚpstackÚputÚquitÚrandÚ
rangecheckÚrcurvetoÚrepeatÚrestoreÚrlinetoÚrmovetoÚrollÚrotaterÐÚrunÚsaveÚscaleÚ	scalefontÚsetdashÚsetfontÚsetgrayÚ
setlinecapÚsetlinejoinÚsetlinewidthÚ	setmatrixÚsetrgbcolorÚshfillÚshowÚshowpagerÔrØÚstackÚstringwidthÚstrokeÚ
strokepathÚsubÚsyntaxerrorÚ	transformÚ	translateÚtruncateÚ	typecheckÚ	undefinedÚundefinedfilenameÚundefinedresult)rBz\s+z[^()\\]+z\\Úescapez#pushz\)z#popz[0-8]{3}|n|r|t|b|f|\\|\(|\))rr5r”N)lrer6r7r8r9r:rqr;r<r=r>rvr?r@rArBryrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrrTrUr–rVrWrXrYrZr[r\r]r^r_r`r®rarbrcr±r,r-rdrer¹rfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrÐrxryrzr{r|r}r~rr€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åÚurlrærçrèÚ	delimiterZ
delimiter_endZvalid_name_charsZ
valid_namer
réÚSpecialrërêrrrrírîrìrïr
ÚVariableÚFunctionrrðròrrórr4rrôrõrõrõrör1sl





c@s®eZdZdZdZdZddgZdgZdgZdZ	d	e
fd
e
fdeee
ƒfde
fd
e
fgdefdedfdejfdejfdejfdejfdejfdefdefdeeeeƒeƒfdefdejfdejfdejfdefgedƒde	d eeeƒejeeƒeeƒeƒd!fde	d"eeeƒejeeƒeeƒeƒfed#ƒgedƒed$ƒd%efd&ed'fgedƒed$ƒd&efd(ed)fd*ed'fgded'fd+ejfd	efd,efd-efd.efd/efgd0œZ d1d2„Z!d3S)4rz?
    For Asymptote source code.

    .. versionadded:: 1.2
    Z	Asymptotezhttp://asymptote.sf.net/Z	asymptoteZasyz*.asyztext/x-asymptotez(?:\s|//.*?\n|/\*.*?\*/)+z\nz\s+z(\\)(\n)z//(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/z"(\\\\|\\[^\\]|[^"\\])*"ú'røz%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z0[0-7]+[Ll]?z\d+[Ll]?z[~!%^&*+=|?:<>/-]z
[()\[\],.]z\b(case)(.+?)(:)zã(and|controls|tension|atleast|curl|if|else|while|for|do|return|break|continue|struct|typedef|new|access|import|unravel|from|include|quote|static|public|private|restricted|this|explicit|true|false|null|cycle|newframe|operator)\ba?(Braid|FitResult|Label|Legend|TreeNode|abscissa|arc|arrowhead|binarytree|binarytreeNode|block|bool|bool3|bounds|bqe|circle|conic|coord|coordsys|cputime|ellipse|file|filltype|frame|grid3|guide|horner|hsv|hyperbola|indexedTransform|int|inversion|key|light|line|linefit|marginT|marker|mass|object|pair|parabola|path|path3|pen|picture|point|position|projection|real|revolution|scaleT|scientific|segment|side|slice|splitface|string|surface|tensionSpecifier|ticklocate|ticksgridT|tickvalues|transform|transformation|tree|triangle|trilinear|triple|vector|vertex|void)(?=\s+[a-zA-Z])zÜ(Braid|FitResult|TreeNode|abscissa|arrowhead|block|bool|bool3|bounds|coord|frame|guide|horner|int|linefit|marginT|pair|pen|picture|position|real|revolution|slice|splitface|ticksgridT|tickvalues|tree|triple|vertex|void)\bz[a-zA-Z_]\w*:(?!:)z[a-zA-Z_]\w*Ú
whitespacez6((?:[\w*\s])+?(?:\s|\*))([a-zA-Z_]\w*)(\s*\([^;]*?\))(z)(\{)Úfunctionz)(;)Ú	statementÚ
statementsz[{}]ú;z#popz\{z#pushz\}z0\\([\\abfnrtv"\'?]|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z	[^\\'\n]+z\\\nz\\nz\\)r›ržrrrœrøccsjddlm}m}xTtj||ƒD]D\}}}|tkr@||kr@tj}n|tkrV||krVtj}|||fVqWdS)Nr)ÚASYFUNCNAMEÚ
ASYVARNAME)Zpygments.lexers._asy_builtinsr r¡rÚget_tokens_unprocessedr
r™r˜)ÚselfÚtextr r¡r^ÚtokenÚvaluerõrõrör¢ûsz%AsymptoteLexer.get_tokens_unprocessedN)"rárârãrärår•rærçrèÚ_wsrrr	r
rrrìrírîrïrrrrrrñr
ZLabelrr™rr4rôr¢rõrõrõrörsp	



cs0ˆjdƒ‰dj‡‡fdd„ttˆƒˆdƒDƒƒS)Nú$ú|c3s.|]&}ˆdˆ…ˆˆd|…dVqdS)Néz\brõ)Ú.0Úi)ÚdposÚwordrõröú	<genexpr>sz_shortened.<locals>.<genexpr>rªéÿÿÿÿ)ÚfindÚjoinÚrangeÚlen)r®rõ)r­r®röÚ
_shorteneds
rµcGsdjtt|ƒƒS)Nr©)r²Úmaprµ)rrõrõröÚ_shortened_manysr·cŸ@seZdZdZdZdZdgZddgZdgZe	dƒe
d	ƒed
feddƒed
fe
dƒedfde
eeeƒdfdefe
dƒedfedddƒedfe
dƒedfe
dƒedûfeddƒedüfed!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1ƒedfed+d,d-d.d/d2ƒed fd3e
ejeeƒdfd4e
ejeeƒdfd5ejfd6efgd7efd8efd9efed:ƒgd;ed<fd=efge	dƒd6ed:fd>ed:fgd?ed:fd@ejfdAefd8efd9efd>ed:fgdBefdCed:fdDefd8efd9efd>ed:fge	d ƒd?edEfdCedFfdGejfdHejfdIejfdJefdKefdLejfdMe
ejeeƒfdNefd5ejfdOe
eeƒfg
e	dƒedPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd€dd‚dƒ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Ã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ブejd:fgdäed:fe
dåƒejfe	dƒgdæefe	d ƒgdçejfe	dƒgdèed:fe	dƒgdéejfe
dêƒejfe	dƒgedëdìdídîdïdðdñdòdódôdõdöƒejfe	dƒged÷død—dŸƒejfe	dƒgdùœZdúS)ýrzC
    For Gnuplot plotting scripts.

    .. versionadded:: 0.11
    ZGnuplotzhttp://gnuplot.info/Zgnuplotz*.plotz*.pltztext/x-gnuplotr›zbi$ndr<zex$itzq$uitrnzf$itÚfitz
(if)(\s*)(\()r;zelse\bzpa$useÚpausezp$lotzrep$lotzsp$lotÚplotzsa$veryzse$tÚgenericargsÚ	optionargzsh$owzuns$etÚnoargszlow$erzra$isezca$llzcd$zcl$earzh$elpz\?$zhi$storyzl$oadzpr$intzpwd$zre$readzres$etzscr$eendumpzshe$llzsy$stemzup$dateztest$z([a-zA-Z_]\w*)(\s*)(=)z ([a-zA-Z_]\w*)(\s*\(.*?\)\s*)(=)z
@[a-zA-Z_]\w*rŸz[^\\\n]z\\\nz\\z#popú#Úcommentz
[ \t\v\f]+z\nr÷z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z	[^\\"\n]+z''ršz	[^\\'\n]+ÚdqstringÚsqstringz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+z(\d+\.\d*|\.\d+)z-?\d+z[,.~!%^&*+=|?:<>/-]z
[{}()\[\]]z	(eq|ne)\bz([a-zA-Z_]\w*)(\s*)(\()z[a-zA-Z_]\w*z(\\)(\n)za$llzan$gleszar$rowz
au$toscalezb$arszbor$derz	box$widthzcl$abelzc$lipz
cn$trparamzco$ntourzda$taz	data$filezdg$rid3dzdu$mmyz	enc$odingzdec$imalsignzfit$z	font$pathzfo$rmatz	fu$nctionz
fu$nctionszg$ridz	hid$den3dzhis$torysizezis$osampleszk$eyz	keyt$itlezla$belz
li$nestylezls$z	loa$dpathzloc$alez	log$scalezmac$roszmap$pingz
map$ping3dzmar$ginzlmar$ginzrmar$ginztmar$ginzbmar$ginzmo$usez
multi$plotzmxt$icsz	nomxt$icszmx2t$icsz
nomx2t$icszmyt$icsz	nomyt$icszmy2t$icsz
nomy2t$icszmzt$icsz	nomzt$icszmcbt$icsz
nomcbt$icszof$fsetszor$iginzo$utputzpa$rametriczpm$3dzpal$ettez	colorb$oxz
poi$ntsizezpol$arzobj$ectzsa$mpleszsi$zezst$ylezsu$rfaceztable$z	t$erminalztermo$ptionszti$csz	ticsc$alez
ticsl$evelztimef$mtz
tim$estampztit$lez
v$ariableszve$rsionzvi$ewzxyp$lanezxda$tazx2da$tazyda$tazy2da$tazzda$tazcbda$tazxl$abelzx2l$abelzyl$abelzy2l$abelzzl$abelzcbl$abelzxti$csznoxti$cszx2ti$csz	nox2ti$cszyti$csznoyti$cszy2ti$csz	noy2ti$cszzti$csznozti$cszcbti$csz	nocbti$cszxdti$csz	noxdti$cszx2dti$csz
nox2dti$cszydti$csz	noydti$cszy2dti$csz
noy2dti$cszzdti$csz	nozdti$cszcbdti$csz
nocbdti$cszxmti$csz	noxmti$cszx2mti$csz
nox2mti$cszymti$csz	noymti$cszy2mti$csz
noy2mti$cszzmti$csz	nozmti$cszcbmti$csz
nocbmti$cszxr$angezx2r$angezyr$angezy2r$angezzr$angezcbr$angezrr$angeztr$angezur$angezvr$angez
xzeroa$xiszx2zeroa$xisz
yzeroa$xiszy2zeroa$xisz
zzeroa$xisz	zeroa$xiszz$eroú!zall$windowsz	gnuplot\bzvia\bz\)z%(mouse|any|button1|button2|button3)\bz	key$presszax$eszaxi$szbin$aryzev$eryzi$ndexzmat$rixzs$moothzthru$zt$itleznot$itlezu$singzw$ithz
f$unctionszs$et)rr¿r›r½rÀrÁr»r¼r<rnr¸r;r¹rºryN)r»r¼)r½r¼) rárârãrärår•rærçrèrrµrr·rr	rr
r˜rrr™rðr
rrr4rrìrïÚWordrórôrõrõrõrörsê



















c?@sÜeZdZdZdZdZdgZddgZdgZdd	e	j
fd
e	jfdej
fed~d)d*d+e	jfedd*d*d+efed€d*drejfdsejjfdtefduejfdvejfdwefdxefdyefdzefgiZd{d|„Zd}S(rzP
    For Persistence of Vision Raytracer files.

    .. versionadded:: 0.11
    ZPOVRayzhttp://www.povray.org/Zpovz*.povz*.incz
text/x-povrayrz/\*[\w\W]*?\*/z//.*$z(?s)"(?:\\.|[^"\\])+"r4r:ÚdebugÚdeclarerÚdefiner<ÚelseifrPÚerrorÚfcloseÚfopenr7r;ÚifdefÚifndefrÚlocalÚmacror³ÚreadÚrenderÚ
statisticsr9ÚundefÚversionÚwarningr8Úwriter¾z\b)rArBÚaa_levelÚaa_thresholdrerfÚacoshÚadaptiveÚadc_bailoutÚagateÚ
agate_turbrgÚalphaÚambientÚ
ambient_lightÚangleÚapertureÚ	arc_angleÚ
area_lightÚascrnÚasinhÚ
assumed_gammarqrrÚatanhÚ
atmosphereÚatmospheric_attenuationÚattenuatingÚaverageÚ
backgroundÚ
black_holeÚblueÚblur_samplesÚ
bounded_byÚbox_mappingÚbozoÚbrickÚ
brick_sizeÚ
brightnessÚ
brillianceÚbumpsÚbumpy1Úbumpy2Úbumpy3Úbump_mapÚ	bump_sizeÚcausticsrsÚcheckerÚchrÚ
clipped_byÚclockÚcolorÚ	color_mapÚcolourÚ
colour_mapÚ	componentÚ	compositer@Ú
confidenceÚconic_sweepÚconstantÚcontrol0Úcontrol1ryrzÚcountÚcrackleÚcrandÚcubeÚcubic_splineÚcylindrical_mappingr„ÚdentsÚdiffuseÚ	directionrˆÚdistance_maximumrMÚdustÚ	dust_typeÚeccentricityÚemittingÚerror_boundrÚexponentÚ
fade_distanceÚ
fade_powerÚfalloffÚ
falloff_anglerDÚfile_existsrÝÚfinishÚfisheyeÚflatnessÚflipr–Úfocal_pointÚfogÚfog_altÚ
fog_offsetÚfog_typeÚ	frequencyÚgifÚglobal_settingsÚglowingÚgradientÚgraniteÚgray_thresholdÚgreenÚhaloÚhexagonÚ
hf_gray_16Ú	hierarchyÚhollowÚhypercomplexÚiffÚ	image_mapÚ	incidencerOÚinterpolateÚinverseÚiorÚiridÚirid_wavelengthÚjitterÚlambdaÚleopardrÚ
linear_splineÚlinear_sweepÚlocationr±Ú
looks_likeÚlook_atÚlow_error_factorÚmandelÚmap_typeÚmarbleÚmaterial_mapr-rµÚmax_intersectionsÚ
max_iterationÚmax_trace_levelÚ	max_valueÚmetallicr¶Ú
minimum_reuserdÚmortarÚ
nearest_countÚnoÚnormalÚ
normal_mapÚ	no_shadowÚnumber_of_wavesÚoctavesÚoffÚoffsetÚomegaÚomnimaxÚonÚonceÚonionÚopenÚorthographicÚ	panoramicÚpattern1Úpattern2Úpattern3ÚperspectiveÚpgmÚphaseÚphongÚ
phong_sizeÚpiÚpigmentÚpigment_mapÚplanar_mappingÚpngÚpoint_atÚpotr¼Úppmr,ÚpwrÚquadratic_splineÚ
quaternionÚquick_colorÚquick_colourÚquiltedÚradialrËÚ	radiosityÚradiusÚrainbowÚ	ramp_waveroÚ
reciprocalÚrecursion_limitÚredÚ
reflectionÚ
refractionrrÚrgbÚrgbfÚrgbftÚrgbtÚrightÚripplesrwÚ	roughnessÚsamplesrzÚscallop_waveÚ
scatteringÚseedÚ
shadowlessrÔÚ	sine_waverÖÚskyÚ
sky_sphereÚsliceÚ	slope_mapr#ÚspecularÚspherical_mappingÚspiralÚspiral1Úspiral2Ú	spotlightÚspottedÚsqrrØÚstrÚstrcmpÚstrengthÚstrlenÚstrlwrÚstruprÚsturmÚsubstrÚsysÚtrÚrÛÚ
test_camera_1Ú
test_camera_2Ú
test_camera_3Ú
test_camera_4rÚtexture_mapÚtgaÚ	thicknessÚ	thresholdÚ	tightnessÚtile2ÚtilesÚtrackrrŽÚtransmitÚ
triangle_waverCÚttfÚ
turbulenceÚ
turb_depthÚtypeÚultra_wide_angleÚupÚ	use_colorÚ
use_colourÚ	use_indexÚu_stepsÚvalÚvarianceÚvaxis_rotateÚvcrossÚvdotÚvlengthÚ
vnormalizeÚ
volume_objectÚvolume_renderedÚvol_with_lightÚvrotateÚv_stepsÚwarpÚwater_levelÚwavesÚwidthÚwoodÚwrinklesÚyesÚ
bicubic_patchÚblobÚboxÚcameraÚconeÚcubicÚcylinderÚ
differenceÚdiscÚheight_fieldÚintersectionÚ
julia_fractalÚlatheÚlight_sourceÚmergeÚmeshÚobjectÚplaneÚpolyÚpolygonÚprismÚquadricÚquarticÚsmooth_triangleÚsorÚsphereÚsuperellipsoidr¤ÚtorusrrÁ)rBz\b(x|y|z|u|v)\bz[a-zA-Z_]\w*z[0-9]*\.[0-9]+z[0-9]+z[\[\](){}<>;,]z[-+*/=.|&]|<=|>=|!=z"(\\\\|\\[^\\]|[^"\\])*"z\s+cCsHd}d|kr|d7}d|kr$|d7}d|kr4|d7}d|krD|d7}|S)atPOVRAY is similar to JSON/C, but the combination of camera and
        light_source is probably not very likely elsewhere. HLSL or GLSL
        are similar (GLSL even has #version), but they miss #declare, and
        light_source/camera are not keywords anywhere else -- it's fair
        to assume though that any POVRAY scene must have a camera and
        lightsource.rz#versiongš™™™™™©?z#declarer×rágš™™™™™¹?rõ)r¤ÚresultrõrõröÚanalyse_textszPovrayLexer.analyse_textN)r4r:rÄrÅrrÆr<rÇrPrÈrÉrÊr7r;rËrÌrrÍrÎr³rÏrÐrÑr9rÒrÓrÔr8rÕ(9rÖr×rerfrØrÙrÚrÛrÜrgrÝrÞrßràrárârãrärnrårærqrrrçrèrérêrërìrírîrïrðrñròr4rórôrõrör÷rørùrúrûrür:rýrsrþrÿrrrrrrrrr@rr	r
rrryrzr
rrrrrrÄrÅrr„rrrrˆrrMrrrr<rrPrÈrrrrrrr rDr!rÝr"r#r$r%r–r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r;rËr9r:r;rrOr<r=r>r?r@rArBrCrrDrErFr±rGrHrIrJrKrLrMr-rµrNrOrPrQrRr¶rSrdrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtr¼rur,rvrwrxryrzr{r|rËr}r~rr€ror³rr‚rƒr„r…rÐrrr†r‡rˆr‰rŠr‹rwrŒrrzrŽ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¦r9r§r¨rÚrÛr©rªr«r¬rr­r®r¯r°r±r²r³r´rrŽrµr¶rCr·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Ïr8rÐ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ïrrÁ)rárârãrärår•rærçrèr
rërêrÚDoublerrérr
róZPseudorrìrïrrrrôrñrõrõrõrör°s¦

N)räZpygments.lexerrrrrrrrZpygments.tokenr	r
rrr
rrrrÚ__all__rrrrrµr·rrrõrõrõröÚ<module>	s$,_v!