| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966 | ace.define("ace/mode/csound_preprocessor_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {"use strict";var oop = require("../lib/oop");var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;var CsoundPreprocessorHighlightRules = function(embeddedRulePrefix) {    this.embeddedRulePrefix = embeddedRulePrefix === undefined ? "" : embeddedRulePrefix;    this.semicolonComments = {        token : "comment.line.semicolon.csound",        regex : ";.*$"    };    this.comments = [        {            token : "punctuation.definition.comment.begin.csound",            regex : "/\\*",            push  : [                {                    token : "punctuation.definition.comment.end.csound",                    regex : "\\*/",                    next  : "pop"                }, {                    defaultToken: "comment.block.csound"                }            ]        }, {            token : "comment.line.double-slash.csound",            regex : "//.*$"        },        this.semicolonComments    ];    this.macroUses = [        {            token : ["entity.name.function.preprocessor.csound", "punctuation.definition.macro-parameter-value-list.begin.csound"],            regex : /(\$[A-Z_a-z]\w*\.?)(\()/,            next  : "macro parameter value list"        }, {            token : "entity.name.function.preprocessor.csound",            regex : /\$[A-Z_a-z]\w*(?:\.|\b)/        }    ];    this.numbers = [        {            token : "constant.numeric.float.csound",            regex : /(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/        }, {            token : ["storage.type.number.csound", "constant.numeric.integer.hexadecimal.csound"],            regex : /(0[Xx])([0-9A-Fa-f]+)/        }, {            token : "constant.numeric.integer.decimal.csound",            regex : /\d+/        }    ];    this.bracedStringContents = [        {            token : "constant.character.escape.csound",            regex : /\\(?:[\\abnrt"]|[0-7]{1,3})/        },        {            token : "constant.character.placeholder.csound",            regex : /%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/        }, {            token : "constant.character.escape.csound",            regex : /%%/        }    ];    this.quotedStringContents = [        this.macroUses,        this.bracedStringContents    ];    var start = [        this.comments,        {            token : "keyword.preprocessor.csound",            regex : /#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/        }, {            token : "keyword.preprocessor.csound",            regex : /#include/,            push  : [                this.comments,                {                    token : "string.csound",                    regex : /([^ \t])(?:.*?\1)/,                    next  : "pop"                }            ]        }, {            token : "keyword.preprocessor.csound",            regex : /#includestr/,            push  : [                this.comments,                {                    token : "string.csound",                    regex : /([^ \t])(?:.*?\1)/,                    next  : "pop"                }            ]        }, {            token : "keyword.preprocessor.csound",            regex : /#[ \t]*define/,            next  : "define directive"        }, {            token : "keyword.preprocessor.csound",            regex : /#(?:ifn?def|undef)\b/,            next  : "macro directive"        },        this.macroUses    ];    this.$rules = {        "start": start,        "define directive": [            this.comments,            {                token : "entity.name.function.preprocessor.csound",                regex : /[A-Z_a-z]\w*/            }, {                token : "punctuation.definition.macro-parameter-name-list.begin.csound",                regex : /\(/,                next  : "macro parameter name list"            }, {                token : "punctuation.definition.macro.begin.csound",                regex : /#/,                next  : "macro body"            }        ],        "macro parameter name list": [            {                token : "variable.parameter.preprocessor.csound",                regex : /[A-Z_a-z]\w*/            }, {                token : "punctuation.definition.macro-parameter-name-list.end.csound",                regex : /\)/,                next  : "define directive"            }        ],        "macro body": [            {                token : "constant.character.escape.csound",                regex : /\\#/            }, {                token : "punctuation.definition.macro.end.csound",                regex : /#/,                next  : "start"            },            start        ],        "macro directive": [            this.comments,            {                token : "entity.name.function.preprocessor.csound",                regex : /[A-Z_a-z]\w*/,                next  : "start"            }        ],        "macro parameter value list": [            {                token : "punctuation.definition.macro-parameter-value-list.end.csound",                regex : /\)/,                next  : "start"            }, {                token : "punctuation.definition.string.begin.csound",                regex : /"/,                next  : "macro parameter value quoted string"            }, this.pushRule({                token : "punctuation.macro-parameter-value-parenthetical.begin.csound",                regex : /\(/,                next  : "macro parameter value parenthetical"            }), {                token : "punctuation.macro-parameter-value-separator.csound",                regex : "[#']"            }        ],        "macro parameter value quoted string": [            {                token : "constant.character.escape.csound",                regex : /\\[#'()]/            }, {                token : "invalid.illegal.csound",                regex : /[#'()]/            }, {                token : "punctuation.definition.string.end.csound",                regex : /"/,                next  : "macro parameter value list"            },            this.quotedStringContents,            {                defaultToken: "string.quoted.csound"            }        ],        "macro parameter value parenthetical": [            {                token : "constant.character.escape.csound",                regex : /\\\)/            }, this.popRule({                token : "punctuation.macro-parameter-value-parenthetical.end.csound",                regex : /\)/            }), this.pushRule({                token : "punctuation.macro-parameter-value-parenthetical.begin.csound",                regex : /\(/,                next  : "macro parameter value parenthetical"            }),            start        ]    };};oop.inherits(CsoundPreprocessorHighlightRules, TextHighlightRules);(function() {    this.pushRule = function(params) {        if (Array.isArray(params.next)) {            for (var i = 0; i < params.next.length; i++) {                params.next[i] = this.embeddedRulePrefix + params.next[i];            }        }        return {            regex : params.regex, onMatch: function(value, currentState, stack, line) {                if (stack.length === 0)                    stack.push(currentState);                if (Array.isArray(params.next)) {                    for (var i = 0; i < params.next.length; i++) {                        stack.push(params.next[i]);                    }                } else {                    stack.push(params.next);                }                this.next = stack[stack.length - 1];                return params.token;            },            get next() { return Array.isArray(params.next) ? params.next[params.next.length - 1] : params.next; },            set next(next) {                if (!Array.isArray(params.next)) {                    params.next = next;                }            },            get token() { return params.token; }        };    };    this.popRule = function(params) {        if (params.next) {            params.next = this.embeddedRulePrefix + params.next;        }        return {            regex : params.regex, onMatch: function(value, currentState, stack, line) {                stack.pop();                if (params.next) {                    stack.push(params.next);                    this.next = stack[stack.length - 1];                } else {                    this.next = stack.length > 1 ? stack[stack.length - 1] : stack.pop();                }                return params.token;            }        };    };}).call(CsoundPreprocessorHighlightRules.prototype);exports.CsoundPreprocessorHighlightRules = CsoundPreprocessorHighlightRules;});ace.define("ace/mode/csound_score_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules"], function(require, exports, module) {"use strict";var oop = require("../lib/oop");var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;var CsoundScoreHighlightRules = function(embeddedRulePrefix) {    CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);    this.quotedStringContents.push({        token : "invalid.illegal.csound-score",        regex : /[^"]*$/    });    var start = this.$rules.start;    start.push(        {            token : "keyword.control.csound-score",            regex : /[abCdefiqstvxy]/        }, {            token : "invalid.illegal.csound-score",            regex : /w/        }, {            token : "constant.numeric.language.csound-score",            regex : /z/        }, {            token : ["keyword.control.csound-score", "constant.numeric.integer.decimal.csound-score"],            regex : /([nNpP][pP])(\d+)/        }, {            token : "keyword.other.csound-score",            regex : /[mn]/,            push  : [                {                    token : "empty",                    regex : /$/,                    next  : "pop"                },                this.comments,                {                    token : "entity.name.label.csound-score",                    regex : /[A-Z_a-z]\w*/                }            ]        }, {            token : "keyword.preprocessor.csound-score",            regex : /r\b/,            next  : "repeat section"        },        this.numbers,        {            token : "keyword.operator.csound-score",            regex : "[!+\\-*/^%&|<>#~.]"        },        this.pushRule({            token : "punctuation.definition.string.begin.csound-score",            regex : /"/,            next  : "quoted string"        }),        this.pushRule({            token : "punctuation.braced-loop.begin.csound-score",            regex : /{/,            next  : "loop after left brace"        })    );    this.addRules({        "repeat section": [            {                token : "empty",                regex : /$/,                next  : "start"            },            this.comments,            {                token : "constant.numeric.integer.decimal.csound-score",                regex : /\d+/,                next  : "repeat section before label"            }        ],        "repeat section before label": [            {                token : "empty",                regex : /$/,                next  : "start"            },            this.comments,            {                token : "entity.name.label.csound-score",                regex : /[A-Z_a-z]\w*/,                next  : "start"            }        ],        "quoted string": [            this.popRule({                token : "punctuation.definition.string.end.csound-score",                regex : /"/            }),            this.quotedStringContents,            {                defaultToken: "string.quoted.csound-score"            }        ],        "loop after left brace": [            this.popRule({                token : "constant.numeric.integer.decimal.csound-score",                regex : /\d+/,                next  : "loop after repeat count"            }),            this.comments,            {                token : "invalid.illegal.csound",                regex : /\S.*/            }        ],        "loop after repeat count": [            this.popRule({                token : "entity.name.function.preprocessor.csound-score",                regex : /[A-Z_a-z]\w*\b/,                next  : "loop after macro name"            }),            this.comments,            {                token : "invalid.illegal.csound",                regex : /\S.*/            }        ],        "loop after macro name": [            start,            this.popRule({                token : "punctuation.braced-loop.end.csound-score",                regex : /}/            })        ]    });    this.normalizeRules();};oop.inherits(CsoundScoreHighlightRules, CsoundPreprocessorHighlightRules);exports.CsoundScoreHighlightRules = CsoundScoreHighlightRules;});ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {"use strict";var oop = require("../lib/oop");var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;var LuaHighlightRules = function() {    var keywords = (        "break|do|else|elseif|end|for|function|if|in|local|repeat|"+         "return|then|until|while|or|and|not"    );    var builtinConstants = ("true|false|nil|_G|_VERSION");    var functions = (        "string|xpcall|package|tostring|print|os|unpack|require|"+        "getfenv|setmetatable|next|assert|tonumber|io|rawequal|"+        "collectgarbage|getmetatable|module|rawset|math|debug|"+        "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|"+        "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|"+        "load|error|loadfile|"+        "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|"+        "reverse|byte|format|gsub|lower|preload|loadlib|loaded|"+        "loaders|cpath|config|path|seeall|exit|setlocale|date|"+        "getenv|difftime|remove|time|clock|tmpname|rename|execute|"+        "lines|write|close|flush|open|output|type|read|stderr|"+        "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|"+        "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|"+        "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|"+        "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|"+        "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|"+        "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|"+        "foreachi|maxn|foreach|concat|sort|remove|resume|yield|"+        "status|wrap|create|running|"+        "__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|"+         "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber"    );    var stdLibaries = ("string|package|os|io|math|debug|table|coroutine");    var deprecatedIn5152 = ("setn|foreach|foreachi|gcinfo|log10|maxn");    var keywordMapper = this.createKeywordMapper({        "keyword": keywords,        "support.function": functions,        "keyword.deprecated": deprecatedIn5152,        "constant.library": stdLibaries,        "constant.language": builtinConstants,        "variable.language": "self"    }, "identifier");    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";    var integer = "(?:" + decimalInteger + "|" + hexInteger + ")";    var fraction = "(?:\\.\\d+)";    var intPart = "(?:\\d+)";    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";    var floatNumber = "(?:" + pointFloat + ")";    this.$rules = {        "start" : [{            stateName: "bracketedComment",            onMatch : function(value, currentState, stack){                stack.unshift(this.next, value.length - 2, currentState);                return "comment";            },            regex : /\-\-\[=*\[/,            next  : [                {                    onMatch : function(value, currentState, stack) {                        if (value.length == stack[1]) {                            stack.shift();                            stack.shift();                            this.next = stack.shift();                        } else {                            this.next = "";                        }                        return "comment";                    },                    regex : /\]=*\]/,                    next  : "start"                }, {                    defaultToken : "comment"                }            ]        },        {            token : "comment",            regex : "\\-\\-.*$"        },        {            stateName: "bracketedString",            onMatch : function(value, currentState, stack){                stack.unshift(this.next, value.length, currentState);                return "string.start";            },            regex : /\[=*\[/,            next  : [                {                    onMatch : function(value, currentState, stack) {                        if (value.length == stack[1]) {                            stack.shift();                            stack.shift();                            this.next = stack.shift();                        } else {                            this.next = "";                        }                        return "string.end";                    },                                        regex : /\]=*\]/,                    next  : "start"                }, {                    defaultToken : "string"                }            ]        },        {            token : "string",           // " string            regex : '"(?:[^\\\\]|\\\\.)*?"'        }, {            token : "string",           // ' string            regex : "'(?:[^\\\\]|\\\\.)*?'"        }, {            token : "constant.numeric", // float            regex : floatNumber        }, {            token : "constant.numeric", // integer            regex : integer + "\\b"        }, {            token : keywordMapper,            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"        }, {            token : "keyword.operator",            regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."        }, {            token : "paren.lparen",            regex : "[\\[\\(\\{]"        }, {            token : "paren.rparen",            regex : "[\\]\\)\\}]"        }, {            token : "text",            regex : "\\s+|\\w+"        } ]    };        this.normalizeRules();};oop.inherits(LuaHighlightRules, TextHighlightRules);exports.LuaHighlightRules = LuaHighlightRules;});ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {"use strict";var oop = require("../lib/oop");var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;var PythonHighlightRules = function() {    var keywords = (        "and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +        "finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +        "raise|return|try|while|with|yield|async|await|nonlocal"    );    var builtinConstants = (        "True|False|None|NotImplemented|Ellipsis|__debug__"    );    var builtinFunctions = (        "abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +        "eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +        "binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|" +        "float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +        "chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|" +        "cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +        "__import__|complex|hash|min|apply|delattr|help|next|setattr|set|" +        "buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|" +        "ascii|breakpoint|bytes"    );    var keywordMapper = this.createKeywordMapper({        "invalid.deprecated": "debugger",        "support.function": builtinFunctions,        "variable.language": "self|cls",        "constant.language": builtinConstants,        "keyword": keywords    }, "identifier");    var strPre = "[uU]?";    var strRawPre = "[rR]";    var strFormatPre = "[fF]";    var strRawFormatPre = "(?:[rR][fF]|[fF][rR])";    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";    var octInteger = "(?:0[oO]?[0-7]+)";    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";    var binInteger = "(?:0[bB][01]+)";    var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";    var exponent = "(?:[eE][+-]?\\d+)";    var fraction = "(?:\\.\\d+)";    var intPart = "(?:\\d+)";    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";    var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";    var stringEscape = "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";    this.$rules = {        "start" : [ {            token : "comment",            regex : "#.*$"        }, {            token : "string",           // multi line """ string start            regex : strPre + '"{3}',            next : "qqstring3"        }, {            token : "string",           // " string            regex : strPre + '"(?=.)',            next : "qqstring"        }, {            token : "string",           // multi line ''' string start            regex : strPre + "'{3}",            next : "qstring3"        }, {            token : "string",           // ' string            regex : strPre + "'(?=.)",            next : "qstring"        }, {            token: "string",            regex: strRawPre + '"{3}',            next: "rawqqstring3"        }, {            token: "string",             regex: strRawPre + '"(?=.)',            next: "rawqqstring"        }, {            token: "string",            regex: strRawPre + "'{3}",            next: "rawqstring3"        }, {            token: "string",            regex: strRawPre + "'(?=.)",            next: "rawqstring"        }, {            token: "string",            regex: strFormatPre + '"{3}',            next: "fqqstring3"        }, {            token: "string",            regex: strFormatPre + '"(?=.)',            next: "fqqstring"        }, {            token: "string",            regex: strFormatPre + "'{3}",            next: "fqstring3"        }, {            token: "string",            regex: strFormatPre + "'(?=.)",            next: "fqstring"        },{            token: "string",            regex: strRawFormatPre + '"{3}',            next: "rfqqstring3"        }, {            token: "string",            regex: strRawFormatPre + '"(?=.)',            next: "rfqqstring"        }, {            token: "string",            regex: strRawFormatPre + "'{3}",            next: "rfqstring3"        }, {            token: "string",            regex: strRawFormatPre + "'(?=.)",            next: "rfqstring"        }, {            token: "keyword.operator",            regex: "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="        }, {            token: "punctuation",            regex: ",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="        }, {            token: "paren.lparen",            regex: "[\\[\\(\\{]"        }, {            token: "paren.rparen",            regex: "[\\]\\)\\}]"        }, {            token: "text",            regex: "\\s+"        }, {            include: "constants"        }],        "qqstring3": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string", // multi line """ string end            regex: '"{3}',            next: "start"        }, {            defaultToken: "string"        }],        "qstring3": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",  // multi line ''' string end            regex: "'{3}",            next: "start"        }, {            defaultToken: "string"        }],        "qqstring": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",            regex: "\\\\$",            next: "qqstring"        }, {            token: "string",            regex: '"|$',            next: "start"        }, {            defaultToken: "string"        }],        "qstring": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",            regex: "\\\\$",            next: "qstring"        }, {            token: "string",            regex: "'|$",            next: "start"        }, {            defaultToken: "string"        }],        "rawqqstring3": [{            token: "string", // multi line """ string end            regex: '"{3}',            next: "start"        }, {            defaultToken: "string"        }],        "rawqstring3": [{            token: "string",  // multi line ''' string end            regex: "'{3}",            next: "start"        }, {            defaultToken: "string"        }],        "rawqqstring": [{            token: "string",            regex: "\\\\$",            next: "rawqqstring"        }, {            token: "string",            regex: '"|$',            next: "start"        }, {            defaultToken: "string"        }],        "rawqstring": [{            token: "string",            regex: "\\\\$",            next: "rawqstring"        }, {            token: "string",            regex: "'|$",            next: "start"        }, {            defaultToken: "string"        }],        "fqqstring3": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string", // multi line """ string end            regex: '"{3}',            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "fqstring3": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",  // multi line ''' string end            regex: "'{3}",            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "fqqstring": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",            regex: "\\\\$",            next: "fqqstring"        }, {            token: "string",            regex: '"|$',            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "fqstring": [{            token: "constant.language.escape",            regex: stringEscape        }, {            token: "string",            regex: "'|$",            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "rfqqstring3": [{            token: "string", // multi line """ string end            regex: '"{3}',            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "rfqstring3": [{            token: "string",  // multi line ''' string end            regex: "'{3}",            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "rfqqstring": [{            token: "string",            regex: "\\\\$",            next: "rfqqstring"        }, {            token: "string",            regex: '"|$',            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "rfqstring": [{            token: "string",            regex: "'|$",            next: "start"        }, {            token: "paren.lparen",            regex: "{",            push: "fqstringParRules"        }, {            defaultToken: "string"        }],        "fqstringParRules": [{//TODO: nested {}            token: "paren.lparen",            regex: "[\\[\\(]"        }, {            token: "paren.rparen",            regex: "[\\]\\)]"        }, {            token: "string",            regex: "\\s+"        }, {            token: "string",            regex: "'[^']*'"        }, {            token: "string",            regex: '"[^"]*"'        }, {            token: "function.support",            regex: "(!s|!r|!a)"        }, {            include: "constants"        },{            token: 'paren.rparen',            regex: "}",            next: 'pop'        },{            token: 'paren.lparen',            regex: "{",            push: "fqstringParRules"        }],        "constants": [{            token: "constant.numeric", // imaginary            regex: "(?:" + floatNumber + "|\\d+)[jJ]\\b"        }, {            token: "constant.numeric", // float            regex: floatNumber        }, {            token: "constant.numeric", // long integer            regex: integer + "[lL]\\b"        }, {            token: "constant.numeric", // integer            regex: integer + "\\b"        }, {            token: ["punctuation", "function.support"],// method            regex: "(\\.)([a-zA-Z_]+)\\b"        }, {            token: keywordMapper,            regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"        }]    };    this.normalizeRules();};oop.inherits(PythonHighlightRules, TextHighlightRules);exports.PythonHighlightRules = PythonHighlightRules;});ace.define("ace/mode/csound_orchestra_highlight_rules",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules","ace/mode/csound_score_highlight_rules","ace/mode/lua_highlight_rules","ace/mode/python_highlight_rules"], function(require, exports, module) {"use strict";var lang = require("../lib/lang");var oop = require("../lib/oop");var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;var CsoundScoreHighlightRules = require("./csound_score_highlight_rules").CsoundScoreHighlightRules;var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;var PythonHighlightRules = require("./python_highlight_rules").PythonHighlightRules;var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {    CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);    var opcodes = [        "ATSadd",        "ATSaddnz",        "ATSbufread",        "ATScross",        "ATSinfo",        "ATSinterpread",        "ATSpartialtap",        "ATSread",        "ATSreadnz",        "ATSsinnoi",        "FLbox",        "FLbutBank",        "FLbutton",        "FLcloseButton",        "FLcolor",        "FLcolor2",        "FLcount",        "FLexecButton",        "FLgetsnap",        "FLgroup",        "FLgroupEnd",        "FLgroup_end",        "FLhide",        "FLhvsBox",        "FLhvsBoxSetValue",        "FLjoy",        "FLkeyIn",        "FLknob",        "FLlabel",        "FLloadsnap",        "FLmouse",        "FLpack",        "FLpackEnd",        "FLpack_end",        "FLpanel",        "FLpanelEnd",        "FLpanel_end",        "FLprintk",        "FLprintk2",        "FLroller",        "FLrun",        "FLsavesnap",        "FLscroll",        "FLscrollEnd",        "FLscroll_end",        "FLsetAlign",        "FLsetBox",        "FLsetColor",        "FLsetColor2",        "FLsetFont",        "FLsetPosition",        "FLsetSize",        "FLsetSnapGroup",        "FLsetText",        "FLsetTextColor",        "FLsetTextSize",        "FLsetTextType",        "FLsetVal",        "FLsetVal_i",        "FLsetVali",        "FLsetsnap",        "FLshow",        "FLslidBnk",        "FLslidBnk2",        "FLslidBnk2Set",        "FLslidBnk2Setk",        "FLslidBnkGetHandle",        "FLslidBnkSet",        "FLslidBnkSetk",        "FLslider",        "FLtabs",        "FLtabsEnd",        "FLtabs_end",        "FLtext",        "FLupdate",        "FLvalue",        "FLvkeybd",        "FLvslidBnk",        "FLvslidBnk2",        "FLxyin",        "JackoAudioIn",        "JackoAudioInConnect",        "JackoAudioOut",        "JackoAudioOutConnect",        "JackoFreewheel",        "JackoInfo",        "JackoInit",        "JackoMidiInConnect",        "JackoMidiOut",        "JackoMidiOutConnect",        "JackoNoteOut",        "JackoOn",        "JackoTransport",        "K35_hpf",        "K35_lpf",        "MixerClear",        "MixerGetLevel",        "MixerReceive",        "MixerSend",        "MixerSetLevel",        "MixerSetLevel_i",        "OSCbundle",        "OSCcount",        "OSCinit",        "OSCinitM",        "OSClisten",        "OSCraw",        "OSCsend",        "OSCsend_lo",        "S",        "STKBandedWG",        "STKBeeThree",        "STKBlowBotl",        "STKBlowHole",        "STKBowed",        "STKBrass",        "STKClarinet",        "STKDrummer",        "STKFMVoices",        "STKFlute",        "STKHevyMetl",        "STKMandolin",        "STKModalBar",        "STKMoog",        "STKPercFlut",        "STKPlucked",        "STKResonate",        "STKRhodey",        "STKSaxofony",        "STKShakers",        "STKSimple",        "STKSitar",        "STKStifKarp",        "STKTubeBell",        "STKVoicForm",        "STKWhistle",        "STKWurley",        "a",        "abs",        "active",        "adsr",        "adsyn",        "adsynt",        "adsynt2",        "aftouch",        "alpass",        "alwayson",        "ampdb",        "ampdbfs",        "ampmidi",        "ampmidicurve",        "ampmidid",        "areson",        "aresonk",        "atone",        "atonek",        "atonex",        "babo",        "balance",        "balance2",        "bamboo",        "barmodel",        "bbcutm",        "bbcuts",        "beadsynt",        "beosc",        "betarand",        "bexprnd",        "bformdec1",        "bformenc1",        "binit",        "biquad",        "biquada",        "birnd",        "bpf",        "bpfcos",        "bqrez",        "butbp",        "butbr",        "buthp",        "butlp",        "butterbp",        "butterbr",        "butterhp",        "butterlp",        "button",        "buzz",        "c2r",        "cabasa",        "cauchy",        "cauchyi",        "cbrt",        "ceil",        "cell",        "cent",        "centroid",        "ceps",        "cepsinv",        "chanctrl",        "changed2",        "chani",        "chano",        "chebyshevpoly",        "checkbox",        "chn_S",        "chn_a",        "chn_k",        "chnclear",        "chnexport",        "chnget",        "chngeta",        "chngeti",        "chngetk",        "chngetks",        "chngets",        "chnmix",        "chnparams",        "chnset",        "chnseta",        "chnseti",        "chnsetk",        "chnsetks",        "chnsets",        "chuap",        "clear",        "clfilt",        "clip",        "clockoff",        "clockon",        "cmp",        "cmplxprod",        "comb",        "combinv",        "compilecsd",        "compileorc",        "compilestr",        "compress",        "compress2",        "connect",        "control",        "convle",        "convolve",        "copya2ftab",        "copyf2array",        "cos",        "cosh",        "cosinv",        "cosseg",        "cossegb",        "cossegr",        "cps2pch",        "cpsmidi",        "cpsmidib",        "cpsmidinn",        "cpsoct",        "cpspch",        "cpstmid",        "cpstun",        "cpstuni",        "cpsxpch",        "cpumeter",        "cpuprc",        "cross2",        "crossfm",        "crossfmi",        "crossfmpm",        "crossfmpmi",        "crosspm",        "crosspmi",        "crunch",        "ctlchn",        "ctrl14",        "ctrl21",        "ctrl7",        "ctrlinit",        "cuserrnd",        "dam",        "date",        "dates",        "db",        "dbamp",        "dbfsamp",        "dcblock",        "dcblock2",        "dconv",        "dct",        "dctinv",        "deinterleave",        "delay",        "delay1",        "delayk",        "delayr",        "delayw",        "deltap",        "deltap3",        "deltapi",        "deltapn",        "deltapx",        "deltapxw",        "denorm",        "diff",        "diode_ladder",        "directory",        "diskgrain",        "diskin",        "diskin2",        "dispfft",        "display",        "distort",        "distort1",        "divz",        "doppler",        "dot",        "downsamp",        "dripwater",        "dssiactivate",        "dssiaudio",        "dssictls",        "dssiinit",        "dssilist",        "dumpk",        "dumpk2",        "dumpk3",        "dumpk4",        "duserrnd",        "dust",        "dust2",        "envlpx",        "envlpxr",        "ephasor",        "eqfil",        "evalstr",        "event",        "event_i",        "exciter",        "exitnow",        "exp",        "expcurve",        "expon",        "exprand",        "exprandi",        "expseg",        "expsega",        "expsegb",        "expsegba",        "expsegr",        "fareylen",        "fareyleni",        "faustaudio",        "faustcompile",        "faustctl",        "faustdsp",        "faustgen",        "faustplay",        "fft",        "fftinv",        "ficlose",        "filebit",        "filelen",        "filenchnls",        "filepeak",        "filescal",        "filesr",        "filevalid",        "fillarray",        "filter2",        "fin",        "fini",        "fink",        "fiopen",        "flanger",        "flashtxt",        "flooper",        "flooper2",        "floor",        "fluidAllOut",        "fluidCCi",        "fluidCCk",        "fluidControl",        "fluidEngine",        "fluidInfo",        "fluidLoad",        "fluidNote",        "fluidOut",        "fluidProgramSelect",        "fluidSetInterpMethod",        "fmanal",        "fmax",        "fmb3",        "fmbell",        "fmin",        "fmmetal",        "fmod",        "fmpercfl",        "fmrhode",        "fmvoice",        "fmwurlie",        "fof",        "fof2",        "fofilter",        "fog",        "fold",        "follow",        "follow2",        "foscil",        "foscili",        "fout",        "fouti",        "foutir",        "foutk",        "fprintks",        "fprints",        "frac",        "fractalnoise",        "framebuffer",        "freeverb",        "ftaudio",        "ftchnls",        "ftconv",        "ftcps",        "ftexists",        "ftfree",        "ftgen",        "ftgenonce",        "ftgentmp",        "ftlen",        "ftload",        "ftloadk",        "ftlptim",        "ftmorf",        "ftom",        "ftprint",        "ftresize",        "ftresizei",        "ftsamplebank",        "ftsave",        "ftsavek",        "ftslice",        "ftsr",        "gain",        "gainslider",        "gauss",        "gaussi",        "gausstrig",        "gbuzz",        "genarray",        "genarray_i",        "gendy",        "gendyc",        "gendyx",        "getcfg",        "getcol",        "getftargs",        "getrow",        "getrowlin",        "getseed",        "gogobel",        "grain",        "grain2",        "grain3",        "granule",        "gtf",        "guiro",        "harmon",        "harmon2",        "harmon3",        "harmon4",        "hdf5read",        "hdf5write",        "hilbert",        "hilbert2",        "hrtfearly",        "hrtfmove",        "hrtfmove2",        "hrtfreverb",        "hrtfstat",        "hsboscil",        "hvs1",        "hvs2",        "hvs3",        "hypot",        "i",        "ihold",        "imagecreate",        "imagefree",        "imagegetpixel",        "imageload",        "imagesave",        "imagesetpixel",        "imagesize",        "in",        "in32",        "inch",        "inh",        "init",        "initc14",        "initc21",        "initc7",        "inleta",        "inletf",        "inletk",        "inletkid",        "inletv",        "ino",        "inq",        "inrg",        "ins",        "insglobal",        "insremot",        "int",        "integ",        "interleave",        "interp",        "invalue",        "inx",        "inz",        "jacktransport",        "jitter",        "jitter2",        "joystick",        "jspline",        "k",        "la_i_add_mc",        "la_i_add_mr",        "la_i_add_vc",        "la_i_add_vr",        "la_i_assign_mc",        "la_i_assign_mr",        "la_i_assign_t",        "la_i_assign_vc",        "la_i_assign_vr",        "la_i_conjugate_mc",        "la_i_conjugate_mr",        "la_i_conjugate_vc",        "la_i_conjugate_vr",        "la_i_distance_vc",        "la_i_distance_vr",        "la_i_divide_mc",        "la_i_divide_mr",        "la_i_divide_vc",        "la_i_divide_vr",        "la_i_dot_mc",        "la_i_dot_mc_vc",        "la_i_dot_mr",        "la_i_dot_mr_vr",        "la_i_dot_vc",        "la_i_dot_vr",        "la_i_get_mc",        "la_i_get_mr",        "la_i_get_vc",        "la_i_get_vr",        "la_i_invert_mc",        "la_i_invert_mr",        "la_i_lower_solve_mc",        "la_i_lower_solve_mr",        "la_i_lu_det_mc",        "la_i_lu_det_mr",        "la_i_lu_factor_mc",        "la_i_lu_factor_mr",        "la_i_lu_solve_mc",        "la_i_lu_solve_mr",        "la_i_mc_create",        "la_i_mc_set",        "la_i_mr_create",        "la_i_mr_set",        "la_i_multiply_mc",        "la_i_multiply_mr",        "la_i_multiply_vc",        "la_i_multiply_vr",        "la_i_norm1_mc",        "la_i_norm1_mr",        "la_i_norm1_vc",        "la_i_norm1_vr",        "la_i_norm_euclid_mc",        "la_i_norm_euclid_mr",        "la_i_norm_euclid_vc",        "la_i_norm_euclid_vr",        "la_i_norm_inf_mc",        "la_i_norm_inf_mr",        "la_i_norm_inf_vc",        "la_i_norm_inf_vr",        "la_i_norm_max_mc",        "la_i_norm_max_mr",        "la_i_print_mc",        "la_i_print_mr",        "la_i_print_vc",        "la_i_print_vr",        "la_i_qr_eigen_mc",        "la_i_qr_eigen_mr",        "la_i_qr_factor_mc",        "la_i_qr_factor_mr",        "la_i_qr_sym_eigen_mc",        "la_i_qr_sym_eigen_mr",        "la_i_random_mc",        "la_i_random_mr",        "la_i_random_vc",        "la_i_random_vr",        "la_i_size_mc",        "la_i_size_mr",        "la_i_size_vc",        "la_i_size_vr",        "la_i_subtract_mc",        "la_i_subtract_mr",        "la_i_subtract_vc",        "la_i_subtract_vr",        "la_i_t_assign",        "la_i_trace_mc",        "la_i_trace_mr",        "la_i_transpose_mc",        "la_i_transpose_mr",        "la_i_upper_solve_mc",        "la_i_upper_solve_mr",        "la_i_vc_create",        "la_i_vc_set",        "la_i_vr_create",        "la_i_vr_set",        "la_k_a_assign",        "la_k_add_mc",        "la_k_add_mr",        "la_k_add_vc",        "la_k_add_vr",        "la_k_assign_a",        "la_k_assign_f",        "la_k_assign_mc",        "la_k_assign_mr",        "la_k_assign_t",        "la_k_assign_vc",        "la_k_assign_vr",        "la_k_conjugate_mc",        "la_k_conjugate_mr",        "la_k_conjugate_vc",        "la_k_conjugate_vr",        "la_k_current_f",        "la_k_current_vr",        "la_k_distance_vc",        "la_k_distance_vr",        "la_k_divide_mc",        "la_k_divide_mr",        "la_k_divide_vc",        "la_k_divide_vr",        "la_k_dot_mc",        "la_k_dot_mc_vc",        "la_k_dot_mr",        "la_k_dot_mr_vr",        "la_k_dot_vc",        "la_k_dot_vr",        "la_k_f_assign",        "la_k_get_mc",        "la_k_get_mr",        "la_k_get_vc",        "la_k_get_vr",        "la_k_invert_mc",        "la_k_invert_mr",        "la_k_lower_solve_mc",        "la_k_lower_solve_mr",        "la_k_lu_det_mc",        "la_k_lu_det_mr",        "la_k_lu_factor_mc",        "la_k_lu_factor_mr",        "la_k_lu_solve_mc",        "la_k_lu_solve_mr",        "la_k_mc_set",        "la_k_mr_set",        "la_k_multiply_mc",        "la_k_multiply_mr",        "la_k_multiply_vc",        "la_k_multiply_vr",        "la_k_norm1_mc",        "la_k_norm1_mr",        "la_k_norm1_vc",        "la_k_norm1_vr",        "la_k_norm_euclid_mc",        "la_k_norm_euclid_mr",        "la_k_norm_euclid_vc",        "la_k_norm_euclid_vr",        "la_k_norm_inf_mc",        "la_k_norm_inf_mr",        "la_k_norm_inf_vc",        "la_k_norm_inf_vr",        "la_k_norm_max_mc",        "la_k_norm_max_mr",        "la_k_qr_eigen_mc",        "la_k_qr_eigen_mr",        "la_k_qr_factor_mc",        "la_k_qr_factor_mr",        "la_k_qr_sym_eigen_mc",        "la_k_qr_sym_eigen_mr",        "la_k_random_mc",        "la_k_random_mr",        "la_k_random_vc",        "la_k_random_vr",        "la_k_subtract_mc",        "la_k_subtract_mr",        "la_k_subtract_vc",        "la_k_subtract_vr",        "la_k_t_assign",        "la_k_trace_mc",        "la_k_trace_mr",        "la_k_upper_solve_mc",        "la_k_upper_solve_mr",        "la_k_vc_set",        "la_k_vr_set",        "lastcycle",        "lenarray",        "lfo",        "limit",        "limit1",        "lincos",        "line",        "linen",        "linenr",        "lineto",        "link_beat_force",        "link_beat_get",        "link_beat_request",        "link_create",        "link_enable",        "link_is_enabled",        "link_metro",        "link_peers",        "link_tempo_get",        "link_tempo_set",        "linlin",        "linrand",        "linseg",        "linsegb",        "linsegr",        "liveconv",        "locsend",        "locsig",        "log",        "log10",        "log2",        "logbtwo",        "logcurve",        "loopseg",        "loopsegp",        "looptseg",        "loopxseg",        "lorenz",        "loscil",        "loscil3",        "loscil3phs",        "loscilphs",        "loscilx",        "lowpass2",        "lowres",        "lowresx",        "lpf18",        "lpform",        "lpfreson",        "lphasor",        "lpinterp",        "lposcil",        "lposcil3",        "lposcila",        "lposcilsa",        "lposcilsa2",        "lpread",        "lpreson",        "lpshold",        "lpsholdp",        "lpslot",        "lua_exec",        "lua_iaopcall",        "lua_iaopcall_off",        "lua_ikopcall",        "lua_ikopcall_off",        "lua_iopcall",        "lua_iopcall_off",        "lua_opdef",        "mac",        "maca",        "madsr",        "mags",        "mandel",        "mandol",        "maparray",        "maparray_i",        "marimba",        "massign",        "max",        "max_k",        "maxabs",        "maxabsaccum",        "maxaccum",        "maxalloc",        "maxarray",        "mclock",        "mdelay",        "median",        "mediank",        "metro",        "metro2",        "mfb",        "midglobal",        "midiarp",        "midic14",        "midic21",        "midic7",        "midichannelaftertouch",        "midichn",        "midicontrolchange",        "midictrl",        "mididefault",        "midifilestatus",        "midiin",        "midinoteoff",        "midinoteoncps",        "midinoteonkey",        "midinoteonoct",        "midinoteonpch",        "midion",        "midion2",        "midiout",        "midiout_i",        "midipgm",        "midipitchbend",        "midipolyaftertouch",        "midiprogramchange",        "miditempo",        "midremot",        "min",        "minabs",        "minabsaccum",        "minaccum",        "minarray",        "mincer",        "mirror",        "mode",        "modmatrix",        "monitor",        "moog",        "moogladder",        "moogladder2",        "moogvcf",        "moogvcf2",        "moscil",        "mp3bitrate",        "mp3in",        "mp3len",        "mp3nchnls",        "mp3scal",        "mp3sr",        "mpulse",        "mrtmsg",        "mtof",        "mton",        "multitap",        "mute",        "mvchpf",        "mvclpf1",        "mvclpf2",        "mvclpf3",        "mvclpf4",        "mxadsr",        "nchnls_hw",        "nestedap",        "nlalp",        "nlfilt",        "nlfilt2",        "noise",        "noteoff",        "noteon",        "noteondur",        "noteondur2",        "notnum",        "nreverb",        "nrpn",        "nsamp",        "nstance",        "nstrnum",        "nstrstr",        "ntof",        "ntom",        "ntrpol",        "nxtpow2",        "octave",        "octcps",        "octmidi",        "octmidib",        "octmidinn",        "octpch",        "olabuffer",        "oscbnk",        "oscil",        "oscil1",        "oscil1i",        "oscil3",        "oscili",        "oscilikt",        "osciliktp",        "oscilikts",        "osciln",        "oscils",        "oscilx",        "out",        "out32",        "outc",        "outch",        "outh",        "outiat",        "outic",        "outic14",        "outipat",        "outipb",        "outipc",        "outkat",        "outkc",        "outkc14",        "outkpat",        "outkpb",        "outkpc",        "outleta",        "outletf",        "outletk",        "outletkid",        "outletv",        "outo",        "outq",        "outq1",        "outq2",        "outq3",        "outq4",        "outrg",        "outs",        "outs1",        "outs2",        "outvalue",        "outx",        "outz",        "p",        "p5gconnect",        "p5gdata",        "pan",        "pan2",        "pareq",        "part2txt",        "partials",        "partikkel",        "partikkelget",        "partikkelset",        "partikkelsync",        "passign",        "paulstretch",        "pcauchy",        "pchbend",        "pchmidi",        "pchmidib",        "pchmidinn",        "pchoct",        "pchtom",        "pconvolve",        "pcount",        "pdclip",        "pdhalf",        "pdhalfy",        "peak",        "pgmassign",        "pgmchn",        "phaser1",        "phaser2",        "phasor",        "phasorbnk",        "phs",        "pindex",        "pinker",        "pinkish",        "pitch",        "pitchac",        "pitchamdf",        "planet",        "platerev",        "plltrack",        "pluck",        "poisson",        "pol2rect",        "polyaft",        "polynomial",        "port",        "portk",        "poscil",        "poscil3",        "pow",        "powershape",        "powoftwo",        "pows",        "prealloc",        "prepiano",        "print",        "print_type",        "printarray",        "printf",        "printf_i",        "printk",        "printk2",        "printks",        "printks2",        "prints",        "product",        "pset",        "ptable",        "ptable3",        "ptablei",        "ptablew",        "ptrack",        "puts",        "pvadd",        "pvbufread",        "pvcross",        "pvinterp",        "pvoc",        "pvread",        "pvs2array",        "pvs2tab",        "pvsadsyn",        "pvsanal",        "pvsarp",        "pvsbandp",        "pvsbandr",        "pvsbin",        "pvsblur",        "pvsbuffer",        "pvsbufread",        "pvsbufread2",        "pvscale",        "pvscent",        "pvsceps",        "pvscross",        "pvsdemix",        "pvsdiskin",        "pvsdisp",        "pvsenvftw",        "pvsfilter",        "pvsfread",        "pvsfreeze",        "pvsfromarray",        "pvsftr",        "pvsftw",        "pvsfwrite",        "pvsgain",        "pvshift",        "pvsifd",        "pvsin",        "pvsinfo",        "pvsinit",        "pvslock",        "pvsmaska",        "pvsmix",        "pvsmooth",        "pvsmorph",        "pvsosc",        "pvsout",        "pvspitch",        "pvstanal",        "pvstencil",        "pvstrace",        "pvsvoc",        "pvswarp",        "pvsynth",        "pwd",        "pyassign",        "pyassigni",        "pyassignt",        "pycall",        "pycall1",        "pycall1i",        "pycall1t",        "pycall2",        "pycall2i",        "pycall2t",        "pycall3",        "pycall3i",        "pycall3t",        "pycall4",        "pycall4i",        "pycall4t",        "pycall5",        "pycall5i",        "pycall5t",        "pycall6",        "pycall6i",        "pycall6t",        "pycall7",        "pycall7i",        "pycall7t",        "pycall8",        "pycall8i",        "pycall8t",        "pycalli",        "pycalln",        "pycallni",        "pycallt",        "pyeval",        "pyevali",        "pyevalt",        "pyexec",        "pyexeci",        "pyexect",        "pyinit",        "pylassign",        "pylassigni",        "pylassignt",        "pylcall",        "pylcall1",        "pylcall1i",        "pylcall1t",        "pylcall2",        "pylcall2i",        "pylcall2t",        "pylcall3",        "pylcall3i",        "pylcall3t",        "pylcall4",        "pylcall4i",        "pylcall4t",        "pylcall5",        "pylcall5i",        "pylcall5t",        "pylcall6",        "pylcall6i",        "pylcall6t",        "pylcall7",        "pylcall7i",        "pylcall7t",        "pylcall8",        "pylcall8i",        "pylcall8t",        "pylcalli",        "pylcalln",        "pylcallni",        "pylcallt",        "pyleval",        "pylevali",        "pylevalt",        "pylexec",        "pylexeci",        "pylexect",        "pylrun",        "pylruni",        "pylrunt",        "pyrun",        "pyruni",        "pyrunt",        "qinf",        "qnan",        "r2c",        "rand",        "randc",        "randh",        "randi",        "random",        "randomh",        "randomi",        "rbjeq",        "readclock",        "readf",        "readfi",        "readk",        "readk2",        "readk3",        "readk4",        "readks",        "readscore",        "readscratch",        "rect2pol",        "release",        "remoteport",        "remove",        "repluck",        "reshapearray",        "reson",        "resonk",        "resonr",        "resonx",        "resonxk",        "resony",        "resonz",        "resyn",        "reverb",        "reverb2",        "reverbsc",        "rewindscore",        "rezzy",        "rfft",        "rifft",        "rms",        "rnd",        "rnd31",        "round",        "rspline",        "rtclock",        "s16b14",        "s32b14",        "samphold",        "sandpaper",        "sc_lag",        "sc_lagud",        "sc_phasor",        "sc_trig",        "scale",        "scalearray",        "scanhammer",        "scans",        "scantable",        "scanu",        "schedkwhen",        "schedkwhennamed",        "schedule",        "schedulek",        "schedwhen",        "scoreline",        "scoreline_i",        "seed",        "sekere",        "select",        "semitone",        "sense",        "sensekey",        "seqtime",        "seqtime2",        "serialBegin",        "serialEnd",        "serialFlush",        "serialPrint",        "serialRead",        "serialWrite",        "serialWrite_i",        "setcol",        "setctrl",        "setksmps",        "setrow",        "setscorepos",        "sfilist",        "sfinstr",        "sfinstr3",        "sfinstr3m",        "sfinstrm",        "sfload",        "sflooper",        "sfpassign",        "sfplay",        "sfplay3",        "sfplay3m",        "sfplaym",        "sfplist",        "sfpreset",        "shaker",        "shiftin",        "shiftout",        "signum",        "sin",        "sinh",        "sininv",        "sinsyn",        "sleighbells",        "slicearray",        "slicearray_i",        "slider16",        "slider16f",        "slider16table",        "slider16tablef",        "slider32",        "slider32f",        "slider32table",        "slider32tablef",        "slider64",        "slider64f",        "slider64table",        "slider64tablef",        "slider8",        "slider8f",        "slider8table",        "slider8tablef",        "sliderKawai",        "sndloop",        "sndwarp",        "sndwarpst",        "sockrecv",        "sockrecvs",        "socksend",        "socksends",        "sorta",        "sortd",        "soundin",        "space",        "spat3d",        "spat3di",        "spat3dt",        "spdist",        "splitrig",        "sprintf",        "sprintfk",        "spsend",        "sqrt",        "squinewave",        "statevar",        "stix",        "strcat",        "strcatk",        "strchar",        "strchark",        "strcmp",        "strcmpk",        "strcpy",        "strcpyk",        "strecv",        "streson",        "strfromurl",        "strget",        "strindex",        "strindexk",        "string2array",        "strlen",        "strlenk",        "strlower",        "strlowerk",        "strrindex",        "strrindexk",        "strset",        "strstrip",        "strsub",        "strsubk",        "strtod",        "strtodk",        "strtol",        "strtolk",        "strupper",        "strupperk",        "stsend",        "subinstr",        "subinstrinit",        "sum",        "sumarray",        "svfilter",        "syncgrain",        "syncloop",        "syncphasor",        "system",        "system_i",        "tab",        "tab2array",        "tab2pvs",        "tab_i",        "tabifd",        "table",        "table3",        "table3kt",        "tablecopy",        "tablefilter",        "tablefilteri",        "tablegpw",        "tablei",        "tableicopy",        "tableigpw",        "tableikt",        "tableimix",        "tablekt",        "tablemix",        "tableng",        "tablera",        "tableseg",        "tableshuffle",        "tableshufflei",        "tablew",        "tablewa",        "tablewkt",        "tablexkt",        "tablexseg",        "tabmorph",        "tabmorpha",        "tabmorphak",        "tabmorphi",        "tabplay",        "tabrec",        "tabrowlin",        "tabsum",        "tabw",        "tabw_i",        "tambourine",        "tan",        "tanh",        "taninv",        "taninv2",        "tbvcf",        "tempest",        "tempo",        "temposcal",        "tempoval",        "timedseq",        "timeinstk",        "timeinsts",        "timek",        "times",        "tival",        "tlineto",        "tone",        "tonek",        "tonex",        "tradsyn",        "trandom",        "transeg",        "transegb",        "transegr",        "trcross",        "trfilter",        "trhighest",        "trigger",        "trigseq",        "trim",        "trim_i",        "trirand",        "trlowest",        "trmix",        "trscale",        "trshift",        "trsplit",        "turnoff",        "turnoff2",        "turnon",        "tvconv",        "unirand",        "unwrap",        "upsamp",        "urandom",        "urd",        "vactrol",        "vadd",        "vadd_i",        "vaddv",        "vaddv_i",        "vaget",        "valpass",        "vaset",        "vbap",        "vbapg",        "vbapgmove",        "vbaplsinit",        "vbapmove",        "vbapz",        "vbapzmove",        "vcella",        "vco",        "vco2",        "vco2ft",        "vco2ift",        "vco2init",        "vcomb",        "vcopy",        "vcopy_i",        "vdel_k",        "vdelay",        "vdelay3",        "vdelayk",        "vdelayx",        "vdelayxq",        "vdelayxs",        "vdelayxw",        "vdelayxwq",        "vdelayxws",        "vdivv",        "vdivv_i",        "vecdelay",        "veloc",        "vexp",        "vexp_i",        "vexpseg",        "vexpv",        "vexpv_i",        "vibes",        "vibr",        "vibrato",        "vincr",        "vlimit",        "vlinseg",        "vlowres",        "vmap",        "vmirror",        "vmult",        "vmult_i",        "vmultv",        "vmultv_i",        "voice",        "vosim",        "vphaseseg",        "vport",        "vpow",        "vpow_i",        "vpowv",        "vpowv_i",        "vpvoc",        "vrandh",        "vrandi",        "vsubv",        "vsubv_i",        "vtaba",        "vtabi",        "vtabk",        "vtable1k",        "vtablea",        "vtablei",        "vtablek",        "vtablewa",        "vtablewi",        "vtablewk",        "vtabwa",        "vtabwi",        "vtabwk",        "vwrap",        "waveset",        "websocket",        "weibull",        "wgbow",        "wgbowedbar",        "wgbrass",        "wgclar",        "wgflute",        "wgpluck",        "wgpluck2",        "wguide1",        "wguide2",        "wiiconnect",        "wiidata",        "wiirange",        "wiisend",        "window",        "wrap",        "writescratch",        "wterrain",        "xadsr",        "xin",        "xout",        "xscanmap",        "xscans",        "xscansmap",        "xscanu",        "xtratim",        "xyscale",        "zacl",        "zakinit",        "zamod",        "zar",        "zarg",        "zaw",        "zawm",        "zdf_1pole",        "zdf_1pole_mode",        "zdf_2pole",        "zdf_2pole_mode",        "zdf_ladder",        "zfilter2",        "zir",        "ziw",        "ziwm",        "zkcl",        "zkmod",        "zkr",        "zkw",        "zkwm"    ];    var deprecatedOpcodes = [        "array",        "bformdec",        "bformenc",        "changed",        "copy2ftab",        "copy2ttab",        "hrtfer",        "ktableseg",        "lentab",        "maxtab",        "mintab",        "pop",        "pop_f",        "ptableiw",        "push",        "push_f",        "scalet",        "sndload",        "soundout",        "soundouts",        "specaddm",        "specdiff",        "specdisp",        "specfilt",        "spechist",        "specptrk",        "specscal",        "specsum",        "spectrum",        "stack",        "sumtab",        "tabgen",        "tableiw",        "tabmap",        "tabmap_i",        "tabslice",        "tb0",        "tb0_init",        "tb1",        "tb10",        "tb10_init",        "tb11",        "tb11_init",        "tb12",        "tb12_init",        "tb13",        "tb13_init",        "tb14",        "tb14_init",        "tb15",        "tb15_init",        "tb1_init",        "tb2",        "tb2_init",        "tb3",        "tb3_init",        "tb4",        "tb4_init",        "tb5",        "tb5_init",        "tb6",        "tb6_init",        "tb7",        "tb7_init",        "tb8",        "tb8_init",        "tb9",        "tb9_init",        "vbap16",        "vbap4",        "vbap4move",        "vbap8",        "vbap8move",        "xyin"    ];    opcodes = lang.arrayToMap(opcodes);    deprecatedOpcodes = lang.arrayToMap(deprecatedOpcodes);    this.lineContinuations = [        {            token : "constant.character.escape.line-continuation.csound",            regex : /\\$/        }, this.pushRule({            token : "constant.character.escape.line-continuation.csound",            regex : /\\/,            next  : "line continuation"        })    ];    this.comments.push(this.lineContinuations);    this.quotedStringContents.push(        this.lineContinuations,        {            token : "invalid.illegal",            regex : /[^"\\]*$/        }    );    var start = this.$rules.start;    start.splice(1, 0, {        token : ["text.csound", "entity.name.label.csound", "entity.punctuation.label.csound", "text.csound"],        regex : /^([ \t]*)(\w+)(:)([ \t]+|$)/    });    start.push(        this.pushRule({            token : "keyword.function.csound",            regex : /\binstr\b/,            next  : "instrument numbers and identifiers"        }), this.pushRule({            token : "keyword.function.csound",            regex : /\bopcode\b/,            next  : "after opcode keyword"        }), {            token : "keyword.other.csound",            regex : /\bend(?:in|op)\b/        },        {            token : "variable.language.csound",            regex : /\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b/        },        this.numbers,        {            token : "keyword.operator.csound",            regex : "\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[~¬]|[=!+\\-*/^%&|<>#?:]"        },        this.pushRule({            token : "punctuation.definition.string.begin.csound",            regex : /"/,            next  : "quoted string"        }), this.pushRule({            token : "punctuation.definition.string.begin.csound",            regex : /{{/,            next  : "braced string"        }),        {            token : "keyword.control.csound",            regex : /\b(?:do|else(?:if)?|end(?:if|until)|fi|i(?:f|then)|kthen|od|r(?:ir)?eturn|then|until|while)\b/        },        this.pushRule({            token : "keyword.control.csound",            regex : /\b[ik]?goto\b/,            next  : "goto before label"        }), this.pushRule({            token : "keyword.control.csound",            regex : /\b(?:r(?:einit|igoto)|tigoto)\b/,            next  : "goto before label"        }), this.pushRule({            token : "keyword.control.csound",            regex : /\bc(?:g|in?|k|nk?)goto\b/,            next  : ["goto before label", "goto before argument"]        }), this.pushRule({            token : "keyword.control.csound",            regex : /\btimout\b/,            next  : ["goto before label", "goto before argument", "goto before argument"]        }), this.pushRule({            token : "keyword.control.csound",            regex : /\bloop_[gl][et]\b/,            next  : ["goto before label", "goto before argument", "goto before argument", "goto before argument"]        }),        this.pushRule({            token : "support.function.csound",            regex : /\b(?:readscore|scoreline(?:_i)?)\b/,            next  : "Csound score opcode"        }), this.pushRule({            token : "support.function.csound",            regex : /\bpyl?run[it]?\b(?!$)/,            next  : "Python opcode"        }), this.pushRule({            token : "support.function.csound",            regex : /\blua_(?:exec|opdef)\b(?!$)/,            next  : "Lua opcode"        }),        {            token : "support.variable.csound",            regex : /\bp\d+\b/        }, {            regex : /\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b/, onMatch: function(value, currentState, stack, line) {                var tokens = value.split(this.splitRegex);                var name = tokens[1];                var type;                if (opcodes.hasOwnProperty(name))                    type = "support.function.csound";                else if (deprecatedOpcodes.hasOwnProperty(name))                    type = "invalid.deprecated.csound";                if (type) {                    if (tokens[2]) {                        return [                            {type: type, value: name},                            {type: "punctuation.type-annotation.csound", value: tokens[2]},                            {type: "type-annotation.storage.type.csound", value: tokens[3]}                        ];                    }                    return type;                }                return "text.csound";            }        }    );    this.$rules["macro parameter value list"].splice(2, 0, {        token : "punctuation.definition.string.begin.csound",        regex : /{{/,        next  : "macro parameter value braced string"    });    var scoreHighlightRules = new CsoundScoreHighlightRules("csound-score-");    this.addRules({        "macro parameter value braced string": [            {                token : "constant.character.escape.csound",                regex : /\\[#'()]/            }, {                token : "invalid.illegal.csound.csound",                regex : /[#'()]/            }, {                token : "punctuation.definition.string.end.csound",                regex : /}}/,                next  : "macro parameter value list"            }, {                defaultToken: "string.braced.csound"            }        ],        "instrument numbers and identifiers": [            this.comments,            {                token : "entity.name.function.csound",                regex : /\d+|[A-Z_a-z]\w*/            }, this.popRule({                token : "empty",                regex : /$/            })        ],        "after opcode keyword": [            this.comments,            this.popRule({                token : "empty",                regex : /$/            }), this.popRule({                token : "entity.name.function.opcode.csound",                regex : /[A-Z_a-z]\w*/,                next  : "opcode type signatures"            })        ],        "opcode type signatures": [            this.comments,            this.popRule({                token : "empty",                regex : /$/            }), {                token : "storage.type.csound",                regex : /\b(?:0|[afijkKoOpPStV\[\]]+)/            }        ],        "quoted string": [            this.popRule({                token : "punctuation.definition.string.end.csound",                regex : /"/            }),            this.quotedStringContents,            {                defaultToken: "string.quoted.csound"            }        ],        "braced string": [            this.popRule({                token : "punctuation.definition.string.end.csound",                regex : /}}/            }),            this.bracedStringContents,            {                defaultToken: "string.braced.csound"            }        ],        "goto before argument": [            this.popRule({                token : "text.csound",                regex : /,/            }),            start        ],        "goto before label": [            {                token : "text.csound",                regex : /\s+/            },            this.comments,            this.popRule({                token : "entity.name.label.csound",                regex : /\w+/            }), this.popRule({                token : "empty",                regex : /(?!\w)/            })        ],        "Csound score opcode": [            this.comments,            {                token : "punctuation.definition.string.begin.csound",                regex : /{{/,                next  : scoreHighlightRules.embeddedRulePrefix + "start"            }, this.popRule({                token : "empty",                regex : /$/            })        ],        "Python opcode": [            this.comments,            {                token : "punctuation.definition.string.begin.csound",                regex : /{{/,                next  : "python-start"            }, this.popRule({                token : "empty",                regex : /$/            })        ],        "Lua opcode": [            this.comments,            {                token : "punctuation.definition.string.begin.csound",                regex : /{{/,                next  : "lua-start"            }, this.popRule({                token : "empty",                regex : /$/            })        ],        "line continuation": [            this.popRule({                token : "empty",                regex : /$/            }),            this.semicolonComments,            {                token : "invalid.illegal.csound",                regex : /\S.*/            }        ]    });    var rules = [        this.popRule({            token : "punctuation.definition.string.end.csound",            regex : /}}/        })    ];    this.embedRules(scoreHighlightRules.getRules(), scoreHighlightRules.embeddedRulePrefix, rules);    this.embedRules(PythonHighlightRules, "python-", rules);    this.embedRules(LuaHighlightRules, "lua-", rules);    this.normalizeRules();};oop.inherits(CsoundOrchestraHighlightRules, CsoundPreprocessorHighlightRules);exports.CsoundOrchestraHighlightRules = CsoundOrchestraHighlightRules;});ace.define("ace/mode/csound_orchestra",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csound_orchestra_highlight_rules"], function(require, exports, module) {"use strict";var oop = require("../lib/oop");var TextMode = require("./text").Mode;var CsoundOrchestraHighlightRules = require("./csound_orchestra_highlight_rules").CsoundOrchestraHighlightRules;var Mode = function() {    this.HighlightRules = CsoundOrchestraHighlightRules;};oop.inherits(Mode, TextMode);(function() {    this.lineCommentStart = ";";    this.blockComment = {start: "/*", end: "*/"};    this.$id = "ace/mode/csound_orchestra";    this.snippetFileId = "ace/snippets/csound_orchestra";}).call(Mode.prototype);exports.Mode = Mode;});                (function() {                    ace.require(["ace/mode/csound_orchestra"], function(m) {                        if (typeof module == "object" && typeof exports == "object" && module) {                            module.exports = m;                        }                    });                })();            
 |