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__/scripting.cpython-38.pyc
U

G�
\��
@s0dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZddlmZmZmZdddd	d
ddd
ddg
ZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGdd
�d
e�ZGdd�de�ZGdd�de�Z Gdd
�d
e�Z!Gdd�de�Z"Gdd�de�Z#dS)z�
    pygments.lexers.scripting
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for scripting and embedded languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�default�combined�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�
Whitespace�Other)�get_bool_opt�get_list_opt�	iteritems�LuaLexer�MoonScriptLexer�ChaiscriptLexer�LSLLexer�AppleScriptLexer�	RexxLexer�MOOCodeLexer�HybrisLexer�EasytrieveLexer�JclLexerc@s�eZdZdZdZdgZddgZddgZdZd	Z	d
Z
dee	e
fZdZd
e
jfed�gee
jfe	e
jfe
efged�dejfdejfdejfdejfdefdedfdefdefdefdejfdejfdejdfdejfdejfd ejd!fd"e fd#eje!d$d%�fd&ej"e!d$d'�fged�d(efd)eefe j#fee j$d*fd+ed*fged�ee j%d*fged�ded*fee j%fgd,ej&fgd#ejd*fd-ejfgd&ej"d*fd.ej"fgd/�	Z'd0d1�Z(d2d3�Z)d4S)5ra�
    For `Lua <http://www.lua.org>`_ source code.

    Additional options accepted:

    `func_name_highlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabled_modules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted.

        To get a list of allowed modules have a look into the
        `_lua_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._lua_builtins import MODULES
            >>> MODULES.keys()
            ['string', 'coroutine', 'modules', 'io', 'basic', ...]
    ZLuaZluaz*.luaz*.wluaz
text/x-luazapplication/x-luaz-(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])z	(?:--.*$)z(?:\s+)z(?:%s|%s|%s)z(?:[^\W\d]\w*)z#!.*�base�wsz'(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?�#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?�(?i)\d+e[+-]?\d+�\d+�(?s)\[(=*)\[.*?\]\1\]z::�labelz\.{3}z[=<>|~&+\-*/%#^]+|\.\.z[\[\]{}().,:;]�(and|or|not)\bzE(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\bzgoto\b�gotoz	(local)\b�(true|false|nil)\bz(function)\b�funcname�[A-Za-z_]\w*(\.[A-Za-z_]\w*)?�'�stringescape�sqs�"�dqsz[.:]z
%s(?=%s*[.:])�#popz\(zM\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})z[^\\']+z[^\\"]+)	�rootr!r r*r(r&r-r.r0cKspt|dd�|_t|dg�|_t�|_|jr^ddlm}t|�D]\}}||jkr>|j�	|�q>t
j|f|�dS)N�func_name_highlightingT�disabled_modulesr)�MODULES)rr3rr4�set�
_functionsZpygments.lexers._lua_builtinsr5r�updater�__init__)�selfZoptionsr5�mod�func�r=�;/usr/lib/python3/dist-packages/pygments/lexers/scripting.pyr9�s�
zLuaLexer.__init__ccs�t�||�D]�\}}}|tkr�||jkr:|tj|fVqnPd|kr�|�d�\}}|t|fV|t|�tdfV|t|�dt|fVq|||fVqdS)N�.�)r�get_tokens_unprocessedrr7�Builtin�split�lenr)r:�text�index�token�value�a�br=r=r>rA�s
�
zLuaLexer.get_tokens_unprocessedN)*�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesZ_comment_multilineZ_comment_singleZ_spaceZ_s�_namer	�Preprocr�	Multiline�Singlerrr�Hex�Float�Integerr
rr
�Wordr�Reserved�Declaration�Constantrr�Double�Class�Function�Label�Escape�tokensr9rAr=r=r=r>rs����

� 
�

����
�
��N
c@s>eZdZdZdZddgZdgZddgZdej	fe
d	�gd
ejfdej
fdej
fd
ejfdejfdefdefdefdejfdejfdefdefdejfdejfeddd�efdejfdejfdejjfdejjfdejfd efd!ejed"d#�fd$ej ed"d%�fgd&ej!fgd!ejd'fd(efgd$ej d'fd(efgd)�Z"d*d+�Z#d,S)-rz[
    For `MoonScript <http://moonscript.org>`_ source code.

    .. versionadded:: 1.5
    Z
MoonScriptZmoonZ
moonscriptz*.moonztext/x-moonscriptzapplication/x-moonscriptz#!(.*?)$r z--.*$r"r#z(?i)0x[0-9a-f]*r$�\n�[^\S\n]+r%z(->|=>)z
:[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z
[\[\]{}()]�
[a-zA-Z_]\w*:)�classZextends�if�then�superZdo�with�importZexport�whileZelseif�return�for�in�fromZwhenZusing�else�and�or�notZswitch�break�\b��suffixr)r'z(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*r+r,r-r.r/r0z\\([abfnrtv\\"']|\d{1,3})r1r?)r2r r-r.r0ccs<t�||�D]*\}}}|tkr*|dkr*t}|||fVqdS)Nr?)rrArr
)r:rErFrGrHr=r=r>rA�sz&MoonScriptLexer.get_tokens_unprocessedN)$rKrLrMrNrOrPrQrRr	rTrrVrrXrWrYrr
rr`�Variabler
rr�Typerr]rZrB�Pseudor_rr^rbrcrAr=r=r=r>r�s\���

��
�
��0c@sNeZdZdZdZddgZdgZddgZej	ej
BZdefd	e
jfd
e
jfde
jfged�d
ejdfdedfed�gdedfged�defdefdedfdedfdefdefdedfdejdfdejfdejfdejfdejfdejfdejfd ejfd!ej fd"ej!d#fd$ejfgd%ej"fd&ej!fd'ej!fd(ej!fd)ej!fd"ej!dfgd*�Z#d+S),rz\
    For `ChaiScript <http://chaiscript.com/>`_ source code.

    .. versionadded:: 2.0
    Z
ChaiScriptZchaiZ
chaiscriptz*.chaiztext/x-chaiscriptzapplication/x-chaiscript�\s+�//.*?\n�	/\*.*?\*/z^\#.*?\n�commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)r1z(?=/))r1�badregexrdrezD\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?�slashstartsregexz[{(\[;,]z[})\].]z[=+\-*/]zA(for|in|while|do|break|return|continue|if|else|throw|try|catch)\bz(var)\bz(attr|def|fun)\bz(true|false)\bz(eval|throw)\bz`\S+`z
[$a-zA-Z_]\w*�%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+�[0-9]+r/�dqstringz'(\\\\|\\'|[^'])*'z
\$\{[^"}]+?\}�\$z\\\\z\\"z[^\\"$]+)r�r�r�r2r�N)$rKrLrMrNrOrPrQrR�re�DOTALL�	MULTILINE�flagsrr	rVrUrr
ZRegexrr
rrr\r[r]rrBrrrXrWrYr^ZInterpolrcr=r=r=r>r�sn������

�
��c@s�eZdZdZdZdgZdgZdgZej	Z
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdejfdejdfde j!dfee"fee"j#fe
e$j%fee$j&fee$j'fee"j(fee"j(fee"j(fee"j(fee"j(fee"j(fee)fee)fee)fee)fee"j*fee"j*fde$j+fde,j-fde,j-fd e,j.fd!e,j/fee0fd"e)fd#e1fd$e2fd%e2fgd&ejfdejd'fd(ejd)fd*ejfgd+e j3fde j!d)fd,e)fd-e j!fgd.�Z4d/S)0rz]
    For Second Life's Linden Scripting Language source code.

    .. versionadded:: 2.0
    ZLSLZlslz*.lslz
text/x-lslz(\b(?:do|else|for|if|jump|return|while)\bz@\b(?:float|integer|key|list|quaternion|rotation|string|vector)\bz\b(?:(?:state)\s+\w+|default)\baN\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\ba�\b(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\bz9\b(?:DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI)\ba�\b(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[A-D]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\bz\b(?:FALSE|TRUE)\bz\b(?:ZERO_ROTATION)\bz�\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\bz5\b(?:TOUCH_INVALID_(?:TEXCOORD|VECTOR)|ZERO_VECTOR)\bz)\b(?:LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH)\ba/\b(?:ATTACH_[LR]PEC|DATA_RATING|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|TYPE_LEGACY)|PSYS_SRC_(?:INNER|OUTER)ANGLE|VEHICLE_FLAG_NO_FLY_UP|ll(?:Cloud|Make(?:Explosion|Fountain|Smoke|Fire)|RemoteDataSetRegion|Sound(?:Preload)?|XorBase64Strings(?:Correct)?))\bz
\b(?:event)\ba+\b(?:CHARACTER_(?:MAX_ANGULAR_(?:ACCEL|SPEED)|TURN_SPEED_MULTIPLIER)|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|ll(?:CollisionSprite|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteLoadScript))\bz>\b(?:ll(?:GodLikeRezObject|Set(?:Inventory|Object)PermMask))\bz
\b(?:print)\bz-\+\+|\-\-|<<|>>|&&?|\|\|?|\^|~|[!%<>=*+\-/]=?r~�/\*�commentr/�stringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+r$z:=?z[,;{}()\[\]]�\n+r}z[^*/]+�#push�\*/r1z[*/]z\\([nt"\\])z\\.z[^"\\]+)r2r�r�N)5rKrLrMrNrOrPrQrRr�r�r�Zlsl_keywordsZ	lsl_typesZ
lsl_statesZ
lsl_eventsZlsl_functions_builtinZlsl_constants_floatZlsl_constants_integerZlsl_constants_integer_booleanZlsl_constants_rotationZlsl_constants_stringZlsl_constants_vectorZlsl_invalid_brokenZlsl_invalid_deprecatedZlsl_invalid_illegalZlsl_invalid_unimplementedZlsl_reserved_godmodeZlsl_reserved_logZ
lsl_operatorsr	rVrUr
r^rr{rr_rBr`r]rr[rzrrXrWrYr
rrrbrcr=r=r=r>r,s�

�"

�
��c@s$eZdZdZdZdgZdgZejej	BZ
dZdZdZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdefdejfdefdefdejdfdefde ee!j"e�fde e#e!j"�fde$fdd�%e�e$j&fd d�%ed!d!d"��e e#e!j'�fd#e ee#e�fd$d�%e
�e e#e!j(�fdd�%e�e!j)fdd�%e�e!j"fdd�%e�e#fdd�%e�e#fdd�%e�e!j"fd%d�%e�e!j"fdd�%e�e!j"fdd�%e�e!j*fd%d�%e�e!j"fdd�%e�e!j"fdd�%e�e!j"fd&ej+fdee!j,fd'e-j.fd(e-j/fgdejd)fd*ejd+fd,ejfd-ejfgd.�Z0d!S)/raV
    For `AppleScript source code
    <http://developer.apple.com/documentation/AppleScript/
    Conceptual/AppleScriptLangGuide>`_,
    including `AppleScript Studio
    <http://developer.apple.com/documentation/AppleScript/
    Reference/StudioReference>`_.
    Contributed by Andreas Amann <aamann@mac.com>.

    .. versionadded:: 1.0
    �AppleScriptZapplescriptz
*.applescriptz[a-zA-Z]\w*)r�zcurrent applicationZfalseZlinefeedz
missing valueZpiZquote�resultrn�spaceZtabztext item delimiters�true�version)zalias zapplication zboolean zclass z	constant zdate zfile zinteger zlist znumber zPOSIX file zreal zrecord z
reference z
RGB color zscript ztext z
unit typesz(?:Unicode )?textr�)Z
attachmentz
attribute run�	characterZdayZmonthZ	paragraph�wordZyear)ZaboutZaboveZagainstz
apart fromZaroundz
aside fromZatZbelowZbeneathZbesideZbetweenroZgivenz
instead ofZonZontozout ofZoverZsince)3zASCII (character|number)ZactivateZbeepz
choose URLzchoose applicationzchoose colorzchoose file( name)?z
choose folderzchoose from listzchoose remote applicationzclipboard infozclose( access)?�copy�countzcurrent dateZdelay�deletezdisplay (alert|dialog)zdo shell scriptZ	duplicate�existszget eofzget volume settingszinfo forZlaunchzlist (disks|folder)zload script�logZmakezmount volume�new�offsetzopen( (for access|location))?zpath to�print�quitz
random number�read�roundz
run( script)?Zsayzscripting componentsz!set (eof|the clipboard to|volume)zstore scriptZ	summarizezsystem attributezsystem infoz
the clipboardztime to GMT�writezquoted form)z
(in )?back ofz(in )?front ofz[0-9]+(st|nd|rd|th)�first�secondZthirdZfourthZfifthZsixthZseventhZeighthZninthZtenthZafterZbackZbeforeZbehindZeveryZfrontrFZlastZmiddleZsome�thatZthroughZthru�whereZwhose).rsrtzis equalZequalsz(is )?equal tozis notzisn'tzisn't equal( to)?zis not equal( to)?z
doesn't equalzdoes not equalz(is )?greater thanzcomes afterzis not less than or equal( to)?zisn't less than or equal( to)?z(is )?less thanzcomes beforez"is not greater than or equal( to)?z!isn't greater than or equal( to)?z"(is  )?greater than or equal( to)?zis not less thanzisn't less thanzdoes not come beforezdoesn't come beforez(is )?less than or equal( to)?zis not greater thanzisn't greater thanzdoes not come afterzdoesn't come afterzstarts? withzbegins? withz
ends? withz	contains?zdoes not containzdoesn't containzis inzis contained byz	is not inzis not contained byzisn't contained byZdivr;ruz(a  )?(ref( to)?|reference to)�isZdoes)Zconsideringrr�error�exitrqrhZignoringrp�repeat�tellri�times�to�tryZuntilzusing terms fromrmZwhithzwith timeout( of)?zwith transactionZby�continue�endzits?�meZmyrnZof�as)�globalZlocalzprop(erty)?r6�get)ZbutZputZ	returningZthe)1zaction cellzalert replyZapplicationZboxzbrowser( cell)?Zbundlezbutton( cell)?Zcellz	clip viewz
color wellzcolor-panelzcombo box( item)?Zcontrolz%data( (cell|column|item|row|source))?z
default entryzdialog replyZdocumentz	drag infoZdrawerZeventz
font(-panel)?�	formatterzimage( (cell|view))?Zmatrixzmenu( item)?�itemz
movie( view)?z
open-panelzoutline viewZpanel�
pasteboardZpluginzpopup buttonzprogress indicatorZ	responderz
save-panelzscroll viewzsecure text field( cell)?Zslider�soundz
split viewZstepperztab view( item)?z-table( (column|header cell|header view|view))ztext( (field( cell)?|view))?ztoolbar( item)?z
user-defaults�view�window)tzaccept outline dropzaccept table drop�actionZ	activatedzalert endedzawake from nibz
became keyzbecame mainz
begin editingzbounds changedz
cell valuezcell value changedzchange cell valuezchange item valueZchangedz
child of itemzchoose menu itemZclickedzclicked toolbar item�closedzcolumn clickedzcolumn movedzcolumn resizedz
conclude dropzdata representationZdeminiaturizedzdialog endedzdocument nib namezdouble clickedz drag( (entered|exited|updated))?Zdropzend editingZexposedZidlezitem expandablez
item valuezitem value changedz
items changedz
keyboard downzkeyboard upZlaunchedzload data representation�miniaturizedz
mouse downz
mouse draggedz
mouse enteredzmouse exitedzmouse movedzmouse upZmovedznumber of browser rowsznumber of itemsznumber of rowsz
open untitledZopenedzpanel endedzparameters updatedz
plugin loadedzprepare dropzprepare outline dragzprepare outline dropzprepare table dragzprepare table dropzread from filezresigned activezresigned keyz
resigned mainzresized( sub views)?zright mouse downzright mouse draggedzright mouse upzrows changedzscroll wheelzselected tab view itemzselection changedzselection changingzshould begin editingzshould closezshould collapse itemzshould end editingzshould expand itemzshould open( untitled)?z'should quit( after last window closed)?zshould select columnzshould select itemzshould select rowzshould select tab view itemzshould selection changezshould zoomZshownzupdate menu itemzupdate parameterszupdate toolbar itemz
was hiddenzwas miniaturizedzwill become activez
will closezwill dismisszwill display browser cellzwill display cellzwill display item cellzwill display outline cellzwill finish launchingz	will hidezwill miniaturizez	will movez	will openzwill pop upz	will quitzwill resign activezwill resize( sub views)?zwill select tab view itemz	will showz	will zoomz
write to file�zoomed))Zanimate�appendzcall method�centerzclose drawerzclose panelZdisplayz
display alertzdisplay dialogz
display panelZgoZhideZ	highlightZ	incrementzitem forz
load imagez
load moviezload nibz
load panelz
load soundzlocalized stringz
lock focusr�zopen drawerzpath for�pausezperform actionZplay�registerZresumeZscrollz
select( all)?Zshowzsize to fit�startz	step backzstep forward�stopZsynchronizezunlock focusr8(5zaccepts arrow keyz
action methodZactiveZ	alignmentzallowed identifierszallows branch selectionzallows column reorderingzallows column resizingzallows column selectionzallows customizationzallows editing text attributeszallows empty selectionzallows mixed statezallows multiple selectionzallows reorderingzallows undozalpha( value)?zalternate imagezalternate increment valuezalternate titlezanimation delayzassociated file namezassociated objectzauto completeszauto displayzauto enables itemszauto repeatzauto resizes( outline column)?zauto save expanded itemszauto save namezauto save table columnszauto saves configurationzauto scrollzauto sizes all columns to fitzauto sizes cellszbackground colorzbezel statezbezel styleZbezeledzborder rectzborder typeZborderedzbounds( rotation)?zbox typezbutton returnedzbutton typezcan choose directorieszcan choose fileszcan drawzcan hidez$cell( (background color|size|type))?Z
charactersrgzclick countzclicked( data)? columnzclicked data itemzclicked( data)? rowZ	closeableZ	collatingzcolor( (mode|panel))zcommand key downZ
configurationz#content(s| (size|view( margins)?))?�contextZ
continuouszcontrol key downzcontrol sizezcontrol tintzcontrol viewzcontroller visiblezcoordinate systemzcopies( on scroll)?zcorner viewzcurrent cellzcurrent columnzcurrent( field)?  editorzcurrent( menu)? itemzcurrent rowzcurrent tab view itemzdata sourcezdefault identifiersz
delta (x|y|z)zdestination windowZ	directoryzdisplay modezdisplayed cellzdocument( (edited|rect|view))?zdouble valuezdragged columnzdragged distancez
dragged itemszdraws( cell)? backgroundz
draws gridzdynamically scrollsz
echos bulletsZedgeZeditablezedited( data)? columnzedited data itemzedited( data)? row�enabledzenclosing scroll viewzending pagezerror handlingzevent numberz
event typezexcluded from windows menuzexecutable pathZexpandedz
fax numberzfield editorz	file kindz	file namez	file typezfirst responderzfirst visible columnZflippedZfloatingz
font( panel)?r�zframeworks pathZ	frontmostzgave upz
grid colorzhas data itemszhas horizontal rulerzhas horizontal scrollerzhas parent data itemzhas resize indicatorz
has shadowzhas sub menuzhas vertical rulerzhas vertical scrollerzheader cellzheader viewZhiddenzhides when deactivatedz
highlights byzhorizontal line scrollzhorizontal page scrollzhorizontal ruler viewzhorizontally resizablez
icon image�idZ
identifierzignores multiple clicksz;image( (alignment|dims when disabled|frame style|scaling))?zimports graphicszincrement valuezindentation per levelZ
indeterminaterFz
integer valuezintercell spacingzitem heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr&zlast( visible)? columnzleading offsetZleaf�levelzline scrollZloadedzlocalized sort�locationz	loop modezmain( (bunde|menu|window))?zmarker follows cellzmatrix modezmaximum( content)? sizezmaximum visible columnszmenu( form representation)?Zminiaturizabler�zminimized imagezminimized titlezminimum column widthzminimum( content)? sizeZmodalZmodifiedzmouse down statezmovie( (controller|file|rect))?ZmutedrOz
needs displayz
next statez	next textznumber of tick markszonly tick mark valuesZopaquez
open panelzoption key downzoutline table columnzpage scrollzpages acrossz
pages downz
palette labelz
pane splitterzparent data itemz
parent windowr�zpath( (names|separator))?Zplayingzplays every framezplays selection onlyZpositionzpreferred edgezpreferred typeZpressurez
previous text�promptZ
propertieszprototype cellz
pulls downZratezreleased when closedZrepeatedzrequested print timezrequired file typeZ	resizablezresized columnz
resource pathzreturns recordszreuses columnsz	rich textz	roll overz
row heightzrulers visiblez
save panelzscripts pathZ
scrollablezselectable( identifiers)?z
selected cellzselected( data)? columns?zselected data items?zselected( data)? rows?zselected item identifierzselection by rectzsend action on arrow keyzsends action when done editingzseparates columnszseparator itemzsequence numberz
services menuzshared frameworks pathzshared support pathZsheetzshift key downzshows alphazshows state byzsize( mode)?zsmart insert delete enabledzsort case sensitivityzsort columnz
sort orderz	sort typezsorted( data rows)?r�zsource( mask)?zspell checking enabledz
starting page�statezstring valuezsub menuz
super menuz
super viewztab key traverses cellsz	tab stateztab typeztab viewz
table view�tagztarget( printer)?z
text colorztext container insertztext container originz
text returnedztick mark positionz
time stampz+title(d| (cell|font|height|position|rect))?ztool tipZtoolbarztrailing offsetZtransparentztreat packages as directoriesztruncated labels�typeszunmodified characterszupdate viewszuse sort indicatorz
user defaultszuses data sourcez
uses rulerzuses threaded animationzuses title from previous columnzvalue wrapsr�z0vertical( (line scroll|page scroll|ruler view))?zvertically resizabler�zvisible( document rect)?Zvolume�widthr�zwindows menu�wrapsZzoomabler�r}u¬\nz's\s+z
(--|#).*?$z\(\*r�z
[(){}!,.:]u(«)([^»]+)(»)zx\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)u)(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)z\b(%s)\b�|z^(\s*(?:on|end)\s+)(%s)N���z^(\s*)(in|on|script|to)(\s+)z
\b(as )(%s)\bz
\b(%s)s?\b�"(\\\\|\\"|[^"])*"z&[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?z[-+]?\d+r�z\*\)r1z[^*(]+z[*(])r2r�)1rKrLrMrNrOrPrQr�r�r�r�ZIdentifiersZLiteralsZClassesZBuiltInZ
HandlerParamsZCommandsZ
ReferencesZ	OperatorsZControlZDeclarationsr[Z
StudioClassesZStudioEventsZStudioCommandsZStudioPropertiesrr
rbr	rUrrrrBrr
�joinrZr`r_r]�	Attributer^rzrrXrYrcr=r=r=r>r�s�,
�
��
�
��&

��c@s�eZdZdZdZddgZddddgZd	gZej	Z
d
efdej
dfd
edfdedfdefdeejeeeej�fdeejee�fed�ed�ed�defgeddd�eejee�fgdejfgdefgdefdefd
edfd edfgd!efd"efd#edfd edfgd$ej
fd%ej
dfd&ej
fgd'�Zd(d)�Zed*�Zed+�Zed,�Z ed-�Z!ed.�Z"ed/�Z#ed0�Z$ed1fed2fe d3fe#d3fe!d3fe"d4fe$d1ffZ%d5d6�Z&d7S)8ra:
    `Rexx <http://www.rexxinfo.org/>`_ is a scripting language available for
    a wide range of different platforms with its roots found on mainframe
    systems. It is popular for I/O- and data based tasks and can act as glue
    language to bind different applications together.

    .. versionadded:: 2.0
    ZRexxZrexxZarexxz*.rexxz*.rexz*.rxz*.arexxztext/x-rexxz\sr�r�r/�
string_doubler,�
string_singlez[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?z%([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz([a-z_]\w*)(\s*)(:)�function�keyword�operator�	[a-z_]\w*)BZabbrev�absZaddress�argZb2xZbitandZbitorZbitxorZc2dZc2xr�ZcharinZcharout�charsZcompareZ	conditionZcopiesZd2cZd2xZdatatype�dateZdelstrZdelwordZdigitsZ	errortextZform�formatZfuzz�insertZlastpos�left�lengthZlineinZlineout�lines�max�minZoverlay�posZqueuedZrandom�reverse�rightZsignZ
sourceliner��stream�strip�substrZsubwordZsymbol�timeZtrace�	translateZtruncrHZverifyr�Z	wordindexZ
wordlengthZwordposrZx2bZx2cZx2dZxrangez	(\s*)(\()rxz�(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\bu�(-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|¬<<|¬<|¬==|¬=|¬>>|¬>|¬|\.|,)z[^"\n]+z""r1rdz[^\'\n]z\'\'z\'z[^*]+r��\*)r2r�r�r�r�r�r�cCst�|tj�S�N)r��compiler�)�sr=r=r>�<lambda>�zRexxLexer.<lambda>z^\s*address\s+command\bz^\s*address\s+z^\s*do\s+while\bz^\s*if\b.+\bthen\s+do\s*$z)^\s*([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz\belse\s+do\s*$z$^\s*parse\s+(upper\s+)?(arg|value)\b皙�����?g�������?皙�����?��?csPt�d|tj�rdS|�d�rL|���t�fdd�tjD��d}t|d�SdS)zr
        Check for inital comment and patterns that distinguish Rexx from other
        C-like languages.
        z
/\*\**\s*rexx��?z/*c3s |]\}}|���r|VqdSr�)�search)�.0�patternZweight�Z	lowerTextr=r>�	<genexpr>.s
�z)RexxLexer.analyse_text.<locals>.<genexpr>�{�G�z�?N)	r�r��
IGNORECASE�
startswith�lower�sumr�PATTERNS_AND_WEIGHTSr�)rEr�r=r�r>�analyse_text!s
��zRexxLexer.analyse_textN)'rKrLrMrNrOrPrQrRr�r�r�rr	rUr
rrrr`r
rr\rarrrrBr[rcZ_cZ_ADDRESS_COMMAND_PATTERNZ_ADDRESS_PATTERNZ_DO_WHILE_PATTERNZ_IF_THEN_DO_PATTERNZ_PROCEDURE_PATTERNZ_ELSE_DO_PATTERNZ_PARSE_ARG_PATTERNrrr=r=r=r>r�s�
����
���������
��=�
c@s�eZdZdZdZdgZddgZdgZddej	fd	e
fd
ejfdej
fdefd
ejfdejjfdefdefdefdeeje�fdefgiZdS)rzo
    For `MOOCode <http://www.moo.mud.org/>`_ (the MOO scripting
    language).

    .. versionadded:: 0.9
    ZMOOCodez*.mooZmoocodeZmooztext/x-moocoder2z(0|[1-9][0-9_]*)r�z(E_PERM|E_DIV)z((#[-0-9]+)|(\$\w+))zt\b(if|else|elseif|endif|for|endfor|fork|endfork|while|endwhile|break|continue|return|try|except|endtry|finally|in)\bz(random|length)z(player|caller|this|args)r}rdz([!;=,{}&|:.\[\]@()<>?]+)z	(\w+)(\()z(\w+)N)rKrLrMrNrOrQrPrRrrYr
r�	ExceptionZEntityrrBrzZInstancerr
rr`rcr=r=r=r>r4s,�
��c@s,eZdZdZdZddgZddgZddgZej	ej
BZd	ee
ejee�fd
efdejfdejfd
ejfde
fde
jfde
jfdee
je�dfdee
je�dfeddd�ejfeddd�e
jfdefdejfdeeej�fdejfdefdefde j!fd e j"fd!e j#fd"efgd#ej$d$fgd%ejd$fgd&�Z%d'S)(rz\
    For `Hybris <http://www.hybris-lang.org>`_ source code.

    .. versionadded:: 1.4
    ZHybrisZhybrisZhyz*.hyz*.hybz
text/x-hybriszapplication/x-hybrisz>^(\s*(?:function|method|operator\s+)+?)([a-zA-Z_]\w*)(\s*)(\()rer~rz@[a-zA-Z_][\w.]*zo(break|case|catch|next|default|do|else|finally|for|foreach|of|unless|if|new|return|switch|me|throw|try|while)\bzK(extends|private|protected|public|static|throws|function|method|operator)\bzK(true|false|null|__FILE__|__LINE__|__VERSION__|__LIB_PATH__|__INC_PATH__)\bz(class|struct)(\s+)rgz(import|include)(\s+)rl)�Z
gc_collectZgc_mm_itemsZgc_mm_usageZgc_collect_thresholdZ	urlencodeZ	urldecodeZbase64encodeZbase64decodeZsha1Zcrc32Zsha2Zmd5Zmd5_fileZacosZasinZatanZatan2ZceilZcosZcoshZexpZfabsZfloorZfmodr�Zlog10�powZsinZsinhZsqrtZtanZtanhZisintZisfloatZischar�isstringZisarrayZismapZisaliasZtypeofZsizeofZtointZtostringZfromxmlZtoxml�binaryZpack�load�evalZ	var_namesZ
var_valuesZuser_functionsZ
dyn_functions�methods�callZcall_method�mknod�mkfifoZmountZumount2ZumountZticksZusleep�sleepr�ZstrtimeZstrdateZdllopenZdlllinkZdllcallZdllcall_argvZdllclose�env�exec�fork�getpid�wait�popenZpcloser��killZpthread_createZpthread_create_argvZpthread_exitZpthread_join�pthread_killZ	smtp_sendZhttp_getZ	http_postZ
http_downloadZsocketZbindZlistenZacceptZgetsocknameZgetpeernameZ
settimeoutZconnectZserverZrecv�send�closer�ZprintlnZprintf�input�readlineZserial_openZserial_fcntlZserial_get_attrZserial_get_ispeedZserial_get_ospeedZserial_set_attrZserial_set_ispeedZserial_set_ospeedZserial_writeZserial_readZserial_closeZxml_loadZ	xml_parseZfopenZfseekZftellZfsizeZfreadZfwriteZfgetsZfclose�fileZreaddirZpcre_replace�size�popZunmapZhas�keys�valuesr��findr��replacerCZtrim�remove�containsr�rwrx)ZMethodReferenceZRunnerZDllZThreadZPipeZProcessZRunnableZCGIZClientSocketZSocketZServerSocketZFileZConsoleZ	Directoryrr�z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'z(\.)([a-zA-Z_]\w*)rfz
[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>|+=:;,./?\-@]+r�z0x[0-9a-f]+z[0-9]+L?rdz[a-zA-Z_]\w*r1z	[\w.]+\*?)r2rgrlN)&rKrLrMrNrOrPrQrRr�r�r�r�rrrr`rr
r	rVrUZ	Decoratorr\r]Z	NamespacerrBr{r
ZCharr�rarrXrWrYr_rcr=r=r=r>r_st����
�
�����
��?
�
��c�@sleZdZdZdZdgZddgZdgZdZdZ	e	d	Z
d
e	dZded
Zde
dZ
dZddddddddddddddddd 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�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�g�Zd�ejfd�efd�e
d�ejd�fd�e
d�ejfd�eeje�d�fd�ed
eeje�feeed��eeje�feefde
d�eejeeeeje�f�dejf�dejf�def�defe
d�efge
d�ejfe �d�gd�ej�df�de�dfee�df�de�dfe
d�efg�d�Z!e"�#�d�Z$e"�#�d�Z%�d�d	�Z&�d
S(raJ
    Easytrieve Plus is a programming language for extracting, filtering and
    converting sequential data. Furthermore it can layout data for reports.
    It is mainly used on mainframe platforms and can access several of the
    mainframe's native file formats. It is somewhat comparable to awk.

    .. versionadded:: 2.1
    Z
EasytrieveZ
easytrievez*.eztz*.macztext/x-easytrieverz
 \'.,():\n�*�[�]�(�)z[^u[.+\-/=\[\](){}<>;,&%¬]zAFTER-BREAKz
AFTER-LINEzAFTER-SCREENZAIMZANDZATTRZBEFOREzBEFORE-BREAKzBEFORE-LINEz
BEFORE-SCREENZBUSHUZBY�CALLZCASEZ
CHECKPOINTZCHKPzCHKP-STATUSZCLEARZCLOSEZCOLZCOLORZCOMMITZCONTROLZCOPYZCURSOR�DZDECLAREZDEFAULTZDEFINEZDELETEZDENWAZDISPLAYZDLIZDOZ	DUPLICATE�E�ELSEzELSE-IFZENDzEND-CASEzEND-DOzEND-IF�END-PROCZENDPAGEZENDTABLEZENTERZEOFZEQZERRORZEXITZEXTERNALZEZLIBZF1ZF10ZF11ZF12ZF13ZF14ZF15ZF16ZF17ZF18ZF19ZF2ZF20ZF21ZF22ZF23ZF24ZF25ZF26ZF27ZF28ZF29ZF3ZF30ZF31ZF32ZF33ZF34ZF35ZF36ZF4ZF5ZF6ZF7ZF8ZF9ZFETCHzFILE-STATUSZFILLZFINALZFIRSTz	FIRST-DUPZFORZGEZGETZGOZGOTOZGQZGRZGTZHEADINGZHEXzHIGH-VALUESZIDDZIDMSZIF�INZINSERTZJUSTIFYz
KANJI-DATEzKANJI-DATE-LONGz
KANJI-TIMEZKEYzKEY-PRESSEDZKOKUGOZKUNzLAST-DUPZLEZLEVELZLIKEZLINEz
LINE-COUNTzLINE-NUMBERZLINKZLISTz
LOW-VALUESZLQZLSZLTZMACRO�MASKZMATCHEDZMENDZMESSAGEZMOVEZMSTARTZNEZNEWPAGEZNOMASKZNOPRINTZNOTZNOTEZNOVERIFYZNQZNULLZOF�ORZ	OTHERWISEZPA1ZPA2ZPA3z
PAGE-COUNTzPAGE-NUMBERz
PARM-REGISTERzPATH-IDZPATTERNZPERFORMZPOINTZPOSZPRIMARYZPRINTZ	PROCEDUREZPROGRAMZPUTZREADZRECORDzRECORD-COUNTz
RECORD-LENGTHZREFRESHZRELEASEZRENUM�REPEAT�REPORTzREPORT-INPUTZRESHOWZRESTARTZRETRIEVEzRETURN-CODEZROLLBACKZROW�SZSCREENZSEARCHZ	SECONDARYZSELECTZSEQUENCEZSIZEZSKIPZSOKAKUZSORTZSQLZSTOPZSUMZSYSDATEzSYSDATE-LONGZSYSINZSYSIPTZSYSLSTZSYSPRINTZSYSSNAPZSYSTIMEZTALLYzTERM-COLUMNSz	TERM-NAMEz	TERM-ROWSZTERMINATIONZTITLEZTOZTRANSFERZTRCZUNIQUEZUNTILZUPDATEZ	UPPERCASEZUSERZUSERIDZVALUEZVERIFY�WZWHENZWHILEZWORKZWRITE�XZXDMZXRSTz\*.*\nr��&z+\.�after_macro_argument�%�+z(FILE|MACRO|REPORT)(\s+)�after_declarationz(JOB|PARM)(rxz+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*r�z'(''|[^'])*'r}r1)r2r;r8z^\s*\*z	^\s*MACROcs�d}|�d��d}d}d}d}d}d}d}�fdd�}	dd�}
�rr|
�d�sZ|	�d�rr|
�d�sjd	}�d=q>tj��d�r�d
}|r�|d
7}n��D]�}|��}t|�dkr�|d}
|s�|s�|s�|s�|
dkr�d	}|
d
kr�d	}|
dkr�d	}q�|
dk�r�d	}q�|
dk�rd	}q�|
dkr�d	}q�|�r�||k�r�|�r:|d7}|�rZ|�rP|d7}n|d7}n2|d7}|�rp|d7}|�r~|d7}|�r�|d7}d|k�r�dk�s�nt�|S)zP
        Perform a structural analysis for basic Easytrieve constructs.
        ��
Fcstj��d�dk	S)Nr)r�_COMMENT_LINE_REGEX�match��line�r�r=r>�
isCommentLine1sz3EasytrieveLexer.analyse_text.<locals>.isCommentLinecSst|���Sr�)�boolr�r@r=r=r>�isEmptyLine4sz1EasytrieveLexer.analyse_text.<locals>.isEmptyLinerTg�������?�ZPARMZFILEZJOBZPROCr.r3r�g�������?r�g)\��(�?r�r�r�)rCr�_MACRO_HEADER_REGEXr?rD�AssertionError)rEr�Z
hasEndProcZhasHeaderCommentZhasFileZhasJobZhasProcZhasParmZ	hasReportrCrErArZ	firstWordr=rBr>r#sn





zEasytrieveLexer.analyse_textN)'rKrLrMrNrOrPrQrRr�Z_DELIMITERSZ_DELIMITERS_OR_COMENTZ_DELIMITER_PATTERNZ_DELIMITER_PATTERN_CAPTUREZ!_NON_DELIMITER_OR_COMMENT_PATTERNZ_OPERATORS_PATTERNZ	_KEYWORDSr	rVrrrzrrr\r
rr[r`rrXrYr
rrcr�r�r>rGrr=r=r=r>r�s6
�%�
�

�

�
��


��

��(c@sBeZdZdZdZdgZdgZdgZej	Z
dejfde
jdfd	e
jd
fdefgded
fdeejee
je�dfdejdfdedfgde
jdfed�gded
fde
dfde
dfgdejfdefdefdefdejfdejfdejfdedfded fd!efg
d"eee
j�fd#efd$efded
fgd%ejfgd&�Ze� d'ej	�Z!d(d)�Z"d*S)+ra_
    `Job Control Language (JCL)
    <http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS>`_
    is a scripting language used on mainframe platforms to instruct the system
    on how to run a batch job or start a subsystem. It is somewhat
    comparable to MS DOS batch and Unix shell scripts.

    .. versionadded:: 2.1
    ZJCLZjclz*.jclz
text/x-jclz//\*.*\nz//�	statementr��jes2_statementz.*\nz\s*\nr1z([a-z]\w*)(\s+)(exec|job)(\s*)�optionz[a-z]\w*�statement_commandr}zW\s+(command|cntl|dd|endctl|endif|else|include|jcllib|output|pend|proc|set|then|xmit)\s+r�zR\b(jobparam|message|netacct|notify|output|priority|route|setup|signoff|xeq|xmit)\br�z[\[\](){}<>;,]z	[-+*/=&%]r�z\d+\.\d*z\.\d+r$r,�
option_stringz[ \t]+�option_commentz\.z(\n)(//)z''z[^']z.+)r2rIrLrJrKrMrNz*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$cCsLd}|�d�}t|�dkr.tj�|d�r.d}d|krBdksHnt�|S)z.
        Recognize JCL job by header.
        r<r=rr�)rCrDr�_JOB_HEADER_PATTERNr?rH)rEr�r�r=r=r>r�s
zJclLexer.analyse_textN)#rKrLrMrNrOrPrQrRr�r�r�r	rVrr|rrrrrar[rzrrBrr
rrXrYr
rrcr�rOrr=r=r=r>rusn	

��
�	��������4�)$rNr�Zpygments.lexerrrrrrrZpygments.tokenrr	r
rrr
rrrrrZ
pygments.utilrrr�__all__rrrrrrrrrrr=r=r=r>�<module>s4
 4�DBTEq+VA