1
0

2964.js.map 79 KB

1
  1. {"version":3,"file":"2964.js","mappings":"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AkB,CACrBpC,MAAO,cACPE,IAAK,YAEPlB,EAAKoD,kBAAkB,CACrBpC,MAAO,cACPE,IAAK,YAEPlB,EAAKoD,kBAAkB,CACrBpC,MAAO,cACPE,IAAK,YAEP,CACEF,MAAO,IACPE,IAAK,IACLK,UAAW,GAEb,CACEP,MAAO,IACPE,IAAK,IACLK,UAAW,KAcjB,CACEA,UAAW,EACXU,SAAU,CACR,CACEc,MAAO,CACL,EAAG,WACH,EAAG,UAELC,MAAO,CACLJ,EACAF,IAGJ,CACEK,MAAO,CACL,EAAG,WACH,EAAG,UAELC,MAAO,CACL,UACAN,IAGJ,CACEK,MAAO,CACL,EAAG,cACH,EAAG,UAELC,MAAO,CACLH,EACAH,IAGJ,CACEK,MAAO,CAAE,EAAG,UACZC,MAAO,CACL,mBACAN,MAOR,CAEEK,MAAO,CAAE,EAAG,YACZC,MAAO,CACLP,EACA,MACA,KACA,QAIJ,CACEM,MAAO,WACPxB,UAAW,EACXU,SAAU,CACR,CAAEe,MAAOJ,GACT,CAAEI,MAAO,aAIb,CACED,MAAO,cACPxB,UAAW,EACXyB,MAAOH,GAGT,CAEE7B,MAAO,IACPE,IAAK,IACLT,SAAU,CAAE,CAAEO,MAAO,UAI7B,C,WCjHAlB,EAAOC,QAtIP,SAAkBC,GAkBhB,MAAO,CACLC,KAAM,WACNC,QAAS,CAAE,MACXC,SAAU,CACRC,SAAW,cACXC,QAAS,CACP,MACA,KACA,MACA,SACA,QACA,QACA,aACA,KACA,OACA,SACA,OACA,MACA,QACA,YACA,WACA,MACA,MACA,WACA,UACA,KACA,KACA,UACA,UACA,cACA,OACA,OACA,MACA,MACA,MACA,MACA,OACA,MACA,SACA,UACA,MACA,SACA,SACA,KACA,OACA,KACA,MACA,MACA,MACA,MACA,SACA,SACA,OACA,KACA,MACA,OACA,MACA,UACA,OACA,QACA,QAEFE,SA/EmB,CACrB,QACA,OACA,QACA,OACA,QACA,QACA,MACA,QACA,QACA,OACA,WACA,cACA,MACA,SACA,QAiEED,QAAS,CAAC,OAAQ,UAEpBkC,QAAS,mBACT/B,SAAU,CACR,CAC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AKyC,UAEPM,MAAO,CACL,EAAG,UACH,EAAG,gBAIP,MAAO,CACL9C,KAAM,gBACNE,SAAU,CACRE,QA3Ba,CACf,QACA,MACA,KACA,KACA,SACA,OACA,QACA,SACA,YAmBEE,SAnHc,CAChB,MACA,OACA,UACA,OACA,OACA,OACA,aACA,YACA,kBACA,OACA,YACA,QACA,OACA,SACA,MACA,UACA,QACA,QACA,UACA,WACA,KACA,KACA,cACA,MACA,cACA,aACA,QACA,SACA,UACA,WACA,SACA,cACA,MACA,QACA,MACA,MACA,MACA,QACA,YACA,aACA,WACA,SACA,QACA,SACA,MACA,SACA,UACA,UACA,SACA,UACA,UACA,aACA,QACA,UACA,WACA,WACA,WACA,SACA,OACA,MACA,aACA,WACA,eACA,SACA,OACA,OACA,MACA,UACA,cACA,QACA,YACA,aACA,QACA,QACA,SAyCEC,KAtCU,CACZ,SACA,QACA,QACA,QACA,SACA,WAkCAgC,QAAS,KACT/B,SAAU,CACRT,EAAKU,oBACLV,EAAKgC,qBACLhC,EAAKW,kBACLX,EAAK8B,iBACL9B,EAAKY,cACL,CACEG,UAAW,OACXC,MAAO,IACPE,IAAK,KAEP6C,EACA,CACEzB,cAAe,gCACfpB,IAAK,QAIb,C,WC6SApB,EAAOC,QAtbP,SAAcC,GACZ,MAAMyB,EAAQzB,EAAKyB,MACbuC,EAAiB,qFAEjBC,EAAgBxC,EAAMkB,OAC1B,uBAEA,8BAGIuB,EAA+BzC,EAAMC,OAAOuC,EAAe,YAa3DE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,gBAEF,oBAAqB,CACnB,OACA,SAEF9D,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QApDF,UACA,SACA,UACA,SACA,UACA,YACA,QACA,SAgDAE,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBA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T,SAAUoE,IAGd,CACE9D,UAAW,cACXC,MAAO,iGACPC,OAAQ,CACNC,IAAK,IACLf,SAAUgE,EACV1D,SAAUoE,KAOhB,OAFAP,EAAcU,QAAQX,GAEf,CACLpE,KAAM,OACNC,QAAS,CACP,KACA,UACA,UACA,OACA,OAEFC,SAAUgE,EACV3B,QAAS,OACT/B,SAAU,CAAET,EAAKiF,QAAQ,CAAEC,OAAQ,UAChCxD,OAAOqD,GACPrD,OAAO4C,GACP5C,OAAOmD,GAEd,C,WClXA/E,EAAOC,QAnEP,SAAuBC,GACrB,MAAO,CACLC,KAAM,wBACNE,SAAU,CACRE,QACE,y/FAmCFE,SACE,ocAMJE,SAAU,CACRT,EAAKU,oBACLV,EAAKgC,qBACLhC,EAAK8B,iBACL9B,EAAKW,kBACLX,EAAKY,cACL,CACEG,UAAW,UACXkB,SAAU,CACR,CACEjB,MAAO,QACPO,UAAW,GAEb,CAAEP,MAAO,mBAKnB,C,UCkPAlB,EAAOC,QAjTP,SAAcC,GACZ,MAAMyB,EAAQzB,EAAKyB,MAGb0D,EAAiB,QACjBL,EAAsBrD,EAAMC,OAAOyD,EAAgBnF,EAAK8E,qBACxDrC,EAAWhB,EAAMC,OAAOyD,EAAgBnF,EAAKyC,UAE7C2C,EAAkB,CACtBrE,UAAW,wBACXQ,UAAW,EACXP,MAAOS,EAAMC,OACX,KACA,oCACAe,EACAhB,EAAMwB,UAAU,WAEdoC,EAAgB,wCA+DhBC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,oBAEIC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,OAEF,MAAO,CACLtF,KAAM,OACNC,QAAS,CAAE,MACXC,SAAU,CACRC,SAAUJ,EAAKyC,SAAW,KAC1BjC,KAAM+E,EACNlF,QAhKa,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,QACA,SACA,UACA,MACA,UACA,QACA,QACA,SA6GEC,QA3Ga,CACf,OACA,QACA,OACA,OACA,KACA,OAsGEC,SAAU+E,GAEZ9C,QAAS,KACT/B,SAAU,CACRT,EAAKU,oBACLV,EAAK8C,QAAQ,OAAQ,OAAQ,CAAErC,SAAU,CAAE,UAC3CT,EAAK2B,QAAQ3B,EAAKW,kBAAmB,CACnCK,MAAO,MACPwB,QAAS,OAEX,CACEzB,UAAW,SACXkB,SAAU,CACR,CAAEjB,MAAO,4BACT,CAAEA,MAAO,qCAGb,CACED,UAAW,SACXC,MAAO,2BAET,CACED,UAAW,SACXkB,SAAU,CACR,CAAEjB,MAAO,gBAAkBqE,GAC3B,CAAErE,MAAO,iBAAmBqE,GAC5B,CAAErE,MAAO,uBAAyBqE,GAClC,CAAErE,MAAO,kDACEqE,IAEb9D,UAAW,GAEb,CACEP,MAAO,CACL,KACA,MACA8D,GAEF/D,UAAW,CACT,EAAG,UACH,EAAG,mBAGP,CACEA,UAAW,OACXC,MAAO,SACPE,IAAK,MACLT,SAAU,CACR,CACEM,UAAW,SACXC,MAAO,IACPE,IAAK,IACLT,SAAU,CACRT,EAAK+B,qBAKb,CACEf,MAAO,CACL,MACA,MACA,cACA8D,GAEF/D,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,aAIP,CACEC,MAAO,CACL,MACA,MACA8D,EACA,MACA,MAEF/D,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,YAGP,CACEC,MAAO,CACL,OACA,MACA8D,GAEF/D,UAAW,CACT,EAAG,UACH,EAAG,gBAGP,CACEC,MAAO,CACL,uCACA,MACA8D,GAEF/D,UAAW,CACT,EAAG,UACH,EAAG,gBAGP,CACEC,MAAOhB,EAAKyC,SAAW,KACvBtC,SAAU,CACRE,QAAS,OACTE,SAAU+E,EACV9E,KAAM+E,IAGV,CACExE,UAAW,cACXC,MAAO,MAEToE,GAGN,C,WCmPAtF,EAAOC,QApiBP,SAAaC,GACX,MAAMyB,EAAQzB,EAAKyB,MA6dnB,MAAO,CACLxB,KAAM,MACN4B,kBAAkB,EAClB1B,SAAU,CACRG,QAnBa,CACf,OACA,UACA,QACA,cACA,cACA,WACA,MACA,SACA,SACA,YACA,SACA,YAQED,QAheiB,CACnB,KACA,KACA,OACA,OACA,MACA,QACA,QACA,QACA,QACA,SACA,KACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,SACA,QACA,YACA,UACA,KACA,OACA,SACA,QACA,OACA,WACA,WACA,SACA,OACA,KACA,SACA,WACA,QACA,OACA,QACA,QACA,SACA,UACA,OACA,OACA,WACA,QACA,UACA,SACA,UACA,SACA,MACA,OACA,MACA,WACA,SACA,SACA,UACA,SACA,SACA,SACA,MACA,OACA,WACA,OACA,QACA,SACA,UACA,QACA,SACA,MACA,UACA,MACA,MACA,QACA,KACA,UACA,QACA,SACA,SACA,WACA,WACA,OACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,KACA,MACA,OACA,UACA,SACA,UACA,MACA,OACA,KACA,KACA,QACA,UACA,aACA,QACA,WACA,SACA,MACA,QACA,SACA,SACA,WACA,OACA,UAoXAI,SAAU,CACR,CAEEM,UAAW,UACXC,MAAO,0CAET,CAEED,UAAW,WACXC,MAAO,+BAET,CACEA,MAAO,CACL,OACA,oBACA,YACA,aAEFD,UAAW,CACT,EAAG,UACH,EAAG,WAGP,CACEC,MAAO,CACL,eACA,MACA,2BAEFD,UAAW,CACT,EAAG,WACH,EAAG,mBAGP,CACEA,UAAW,WACXC,MAAO,IAAMS,EAAMkB,OAxHvB,SACA,WACA,SACA,UACA,WACA,UACA,UACA,KACA,OACA,MACA,OACA,SACA,OACA,KACA,QACA,QACA,SACA,QACA,OACA,SACA,MACA,QACA,UACA,QACA,OACA,WACA,UACA,QACA,MACA,UACA,QACA,WACA,QACA,UACA,WACA,QACA,QACA,UACA,OACA,MACA,SACA,SACA,UACA,WACA,UACA,UACA,SACA,UACA,UACA,QACA,UACA,OACA,KACA,OACA,UACA,QACA,SACA,SACA,QACA,WA+DE,CAEE5B,UAAW,iBACXC,MAAO,2BAET,CAIED,UAAW,OACXC,MAAOS,EAAMkB,OA/ZjB,MACA,OACA,OACA,QACA,QACA,OACA,QACA,QACA,OACA,UACA,UACA,OACA,MACA,UACA,OACA,OACA,MACA,OACA,SACA,OACA,QACA,SACA,UACA,SACA,WACA,WACA,MACA,OACA,MACA,SACA,KACA,SACA,WACA,SACA,UACA,UACA,QACA,OACA,UACA,WACA,WACA,MACA,SACA,QACA,UACA,UACA,QACA,QACA,SACA,SACA,SACA,SACA,UACA,OACA,MACA,UACA,MACA,QACA,OACA,QACA,WACA,UACA,QACA,WACA,SACA,MACA,OACA,QACA,MACA,UACA,SACA,OACA,UACA,QACA,WACA,SACA,OACA,YACA,WACA,UACA,QACA,OACA,UACA,WACA,WACA,QACA,SACA,QACA,QACA,WACA,UACA,SACA,OACA,OACA,QACA,UACA,QACA,OACA,OACA,SACA,SACA,QACA,YACA,UACA,UACA,SACA,MACA,WACA,OACA,UACA,QACA,SACA,SACA,QACA,SACA,SACA,MACA,QACA,QACA,QACA,MACA,UACA,UACA,WACA,MACA,SACA,OACA,SACA,SACA,UACA,SACA,MACA,QACA,OACA,SACA,SACA,SACA,UACA,MACA,MACA,OACA,MACA,SACA,MACA,QACA,QACA,OACA,IACA,QACA,QACA,SACA,OACA,MACA,OACA,UACA,WACA,MACA,OACA,QACA,MACA,QACA,UACA,OACA,WACA,WACA,UACA,QACA,UACA,WACA,SACA,WACA,WACA,QACA,MACA,OACA,OACA,MACA,QACA,SACA,SACA,SACA,SACA,QACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,SACA,QACA,QACA,SACA,OACA,MACA,SACA,OACA,MACA,OACA,WACA,UACA,SACA,OACA,MACA,SACA,SACA,SACA,UACA,SACA,MACA,SACA,SACA,SACA,UACA,QACA,SACA,MACA,OACA,OACA,WACA,OACA,SACA,QACA,YACA,UACA,WACA,OACA,QACA,QACA,UACA,SACA,MACA,MACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,UACA,UACA,SACA,UACA,WACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,aACA,cACA,aACA,cACA,aACA,cACA,aACA,SACA,UACA,UACA,WACA,QACA,SACA,QACA,SACA,UACA,OACA,MACA,UACA,UACA,WACA,YAyIwC,WAEtC,CACE5B,UAAW,SACXkB,SAAU,CACRjC,EAAK8B,iBACL9B,EAAKW,oBAGTX,EAAK8C,QAAQ,MAAO,KACpB9C,EAAKgC,sBAGX,C","sources":["webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/q.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/qml.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/r.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/reasonml.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/rib.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/roboconf.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/routeros.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/rsl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/ruby.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/ruleslanguage.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/rust.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/sas.js"],"sourcesContent":["/*\nLanguage: Q\nDescription: Q is a vector-based functional paradigm programming language built into the kdb+ database.\n (K/Q/Kdb+ from Kx Systems)\nAuthor: Sergey Vidyuk <svidyuk@gmail.com>\nWebsite: https://kx.com/connect-with-us/developers/\nCategory: enterprise, functional, database\n*/\n\nfunction q(hljs) {\n const KEYWORDS = {\n $pattern: /(`?)[A-Za-z0-9_]+\\b/,\n keyword:\n 'do while select delete by update from',\n literal:\n '0b 1b',\n built_in:\n 'neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum',\n type:\n '`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid'\n };\n\n return {\n name: 'Q',\n aliases: [\n 'k',\n 'kdb'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = q;\n","/*\nLanguage: QML\nRequires: javascript.js, xml.js\nAuthor: John Foster <jfoster@esri.com>\nDescription: Syntax highlighting for the Qt Quick QML scripting language, based mostly off\n the JavaScript parser.\nWebsite: https://doc.qt.io/qt-5/qmlapplications.html\nCategory: scripting\n*/\n\nfunction qml(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = {\n keyword:\n 'in of on if for while finally var new function do return void else break catch '\n + 'instanceof with throw case default try this switch continue typeof delete '\n + 'let yield const export super debugger as async await import',\n literal:\n 'true false null undefined NaN Infinity',\n built_in:\n 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent '\n + 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error '\n + 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError '\n + 'TypeError URIError Number Math Date String RegExp Array Float32Array '\n + 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array '\n + 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require '\n + 'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect '\n + 'Behavior bool color coordinate date double enumeration font geocircle georectangle '\n + 'geoshape int list matrix4x4 parent point quaternion real rect '\n + 'size string url variant vector2d vector3d vector4d '\n + 'Promise'\n };\n\n const QML_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9\\\\._]*';\n\n // Isolate property statements. Ends at a :, =, ;, ,, a comment or end of line.\n // Use property class.\n const PROPERTY = {\n className: 'keyword',\n begin: '\\\\bproperty\\\\b',\n starts: {\n className: 'string',\n end: '(:|=|;|,|//|/\\\\*|$)',\n returnEnd: true\n }\n };\n\n // Isolate signal statements. Ends at a ) a comment or end of line.\n // Use property class.\n const SIGNAL = {\n className: 'keyword',\n begin: '\\\\bsignal\\\\b',\n starts: {\n className: 'string',\n end: '(\\\\(|:|=|;|,|//|/\\\\*|$)',\n returnEnd: true\n }\n };\n\n // id: is special in QML. When we see id: we want to mark the id: as attribute and\n // emphasize the token following.\n const ID_ID = {\n className: 'attribute',\n begin: '\\\\bid\\\\s*:',\n starts: {\n className: 'string',\n end: QML_IDENT_RE,\n returnEnd: false\n }\n };\n\n // Find QML object attribute. An attribute is a QML identifier followed by :.\n // Unfortunately it's hard to know where it ends, as it may contain scalars,\n // objects, object definitions, or javascript. The true end is either when the parent\n // ends or the next attribute is detected.\n const QML_ATTRIBUTE = {\n begin: QML_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n contains: [\n {\n className: 'attribute',\n begin: QML_IDENT_RE,\n end: '\\\\s*:',\n excludeEnd: true,\n relevance: 0\n }\n ],\n relevance: 0\n };\n\n // Find QML object. A QML object is a QML identifier followed by { and ends at the matching }.\n // All we really care about is finding IDENT followed by { and just mark up the IDENT and ignore the {.\n const QML_OBJECT = {\n begin: regex.concat(QML_IDENT_RE, /\\s*\\{/),\n end: /\\{/,\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: QML_IDENT_RE }) ]\n };\n\n return {\n name: 'QML',\n aliases: [ 'qt' ],\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n {\n className: 'meta',\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n { // template string\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}'\n }\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'number',\n variants: [\n { begin: '\\\\b(0[bB][01]+)' },\n { begin: '\\\\b(0[oO][0-7]+)' },\n { begin: hljs.C_NUMBER_RE }\n ],\n relevance: 0\n },\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.REGEXP_MODE,\n { // E4X / JSX\n begin: /</,\n end: />\\s*[);\\]]/,\n relevance: 0,\n subLanguage: 'xml'\n }\n ],\n relevance: 0\n },\n SIGNAL,\n PROPERTY,\n {\n className: 'function',\n beginKeywords: 'function',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: /[A-Za-z$_][0-9A-Za-z$_]*/ }),\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n }\n ],\n illegal: /\\[|%/\n },\n {\n // hack: prevents detection of keywords after dots\n begin: '\\\\.' + hljs.IDENT_RE,\n relevance: 0\n },\n ID_ID,\n QML_ATTRIBUTE,\n QML_OBJECT\n ],\n illegal: /#/\n };\n}\n\nmodule.exports = qml;\n","/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng <joe@rstudio.org>\nContributors: Konrad Rudolph <konrad.rudolph@gmail.com>\nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(?<![a-zA-Z0-9._])0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/ },\n // { begin: /(?<![a-zA-Z0-9._])0[xX][0-9a-fA-F]+([pP][+-]?\\d+)?[Li]?/ },\n // { begin: /(?<![a-zA-Z0-9._])(\\d+(\\.\\d*)?|\\.\\d+)([eE][+-]?\\d+)?[Li]?/ }\n {\n relevance: 0,\n variants: [\n {\n scope: {\n 1: 'operator',\n 2: 'number'\n },\n match: [\n OPERATORS_RE,\n NUMBER_TYPES_RE\n ]\n },\n {\n scope: {\n 1: 'operator',\n 2: 'number'\n },\n match: [\n /%[^%]*%/,\n NUMBER_TYPES_RE\n ]\n },\n {\n scope: {\n 1: 'punctuation',\n 2: 'number'\n },\n match: [\n PUNCTUATION_RE,\n NUMBER_TYPES_RE\n ]\n },\n {\n scope: { 2: 'number' },\n match: [\n /[^a-zA-Z0-9._]|^/, // not part of an identifier, or start of document\n NUMBER_TYPES_RE\n ]\n }\n ]\n },\n\n // Operators/punctuation when they're not directly followed by numbers\n {\n // Relevance boost for the most common assignment form.\n scope: { 3: 'operator' },\n match: [\n IDENT_RE,\n /\\s+/,\n /<-/,\n /\\s+/\n ]\n },\n\n {\n scope: 'operator',\n relevance: 0,\n variants: [\n { match: OPERATORS_RE },\n { match: /%[^%]*%/ }\n ]\n },\n\n {\n scope: 'punctuation',\n relevance: 0,\n match: PUNCTUATION_RE\n },\n\n {\n // Escaped identifier\n begin: '`',\n end: '`',\n contains: [ { begin: /\\\\./ } ]\n }\n ]\n };\n}\n\nmodule.exports = r;\n","/*\nLanguage: ReasonML\nDescription: Reason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.\nWebsite: https://reasonml.github.io\nAuthor: Gidi Meir Morris <oss@gidi.io>\nCategory: functional\n*/\nfunction reasonml(hljs) {\n const BUILT_IN_TYPES = [\n \"array\",\n \"bool\",\n \"bytes\",\n \"char\",\n \"exn|5\",\n \"float\",\n \"int\",\n \"int32\",\n \"int64\",\n \"list\",\n \"lazy_t|5\",\n \"nativeint|5\",\n \"ref\",\n \"string\",\n \"unit\",\n ];\n return {\n name: 'ReasonML',\n aliases: [ 're' ],\n keywords: {\n $pattern: /[a-z_]\\w*!?/,\n keyword: [\n \"and\",\n \"as\",\n \"asr\",\n \"assert\",\n \"begin\",\n \"class\",\n \"constraint\",\n \"do\",\n \"done\",\n \"downto\",\n \"else\",\n \"end\",\n \"esfun\",\n \"exception\",\n \"external\",\n \"for\",\n \"fun\",\n \"function\",\n \"functor\",\n \"if\",\n \"in\",\n \"include\",\n \"inherit\",\n \"initializer\",\n \"land\",\n \"lazy\",\n \"let\",\n \"lor\",\n \"lsl\",\n \"lsr\",\n \"lxor\",\n \"mod\",\n \"module\",\n \"mutable\",\n \"new\",\n \"nonrec\",\n \"object\",\n \"of\",\n \"open\",\n \"or\",\n \"pri\",\n \"pub\",\n \"rec\",\n \"sig\",\n \"struct\",\n \"switch\",\n \"then\",\n \"to\",\n \"try\",\n \"type\",\n \"val\",\n \"virtual\",\n \"when\",\n \"while\",\n \"with\",\n ],\n built_in: BUILT_IN_TYPES,\n literal: [\"true\", \"false\"],\n },\n illegal: /(:-|:=|\\$\\{|\\+=)/,\n contains: [\n {\n scope: 'literal',\n match: /\\[(\\|\\|)?\\]|\\(\\)/,\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT(/\\/\\*/, /\\*\\//, { illegal: /^(#,\\/\\/)/ }),\n { /* type variable */\n scope: 'symbol',\n match: /\\'[A-Za-z_](?!\\')[\\w\\']*/\n /* the grammar is ambiguous on how 'a'b should be interpreted but not the compiler */\n },\n { /* polymorphic variant */\n scope: 'type',\n match: /`[A-Z][\\w\\']*/\n },\n { /* module or constructor */\n scope: 'type',\n match: /\\b[A-Z][\\w\\']*/,\n relevance: 0\n },\n { /* don't color identifiers, but safely catch all identifiers with ' */\n match: /[a-z_]\\w*\\'[\\w\\']*/,\n relevance: 0\n },\n {\n scope: 'operator',\n match: /\\s+(\\|\\||\\+[\\+\\.]?|\\*[\\*\\/\\.]?|\\/[\\.]?|\\.\\.\\.|\\|>|&&|===?)\\s+/,\n relevance: 0\n }, \n hljs.inherit(hljs.APOS_STRING_MODE, {\n scope: 'string',\n relevance: 0\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),\n {\n scope: 'number',\n variants: [\n { match: /\\b0[xX][a-fA-F0-9_]+[Lln]?/ },\n { match: /\\b0[oO][0-7_]+[Lln]?/ },\n { match: /\\b0[bB][01_]+[Lln]?/ },\n { match: /\\b[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)/ },\n ],\n relevance: 0\n },\n ]\n };\n}\n\nmodule.exports = reasonml;\n","/*\nLanguage: RenderMan RIB\nAuthor: Konstantin Evdokimenko <qewerty@gmail.com>\nContributors: Shuen-Huei Guan <drake.guan@gmail.com>\nWebsite: https://renderman.pixar.com/resources/RenderMan_20/ribBinding.html\nCategory: graphics\n*/\n\nfunction rib(hljs) {\n return {\n name: 'RenderMan RIB',\n keywords:\n 'ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis '\n + 'Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone '\n + 'CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail '\n + 'DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format '\n + 'FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry '\n + 'Hider Hyperboloid Identity Illuminate Imager Interior LightSource '\n + 'MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte '\n + 'MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option '\n + 'Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples '\n + 'PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection '\n + 'Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow '\n + 'ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere '\n + 'SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd '\n + 'TransformPoints Translate TrimCurve WorldBegin WorldEnd',\n illegal: '</',\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n}\n\nmodule.exports = rib;\n","/*\nLanguage: Roboconf\nAuthor: Vincent Zurczak <vzurczak@linagora.com>\nDescription: Syntax highlighting for Roboconf's DSL\nWebsite: http://roboconf.net\nCategory: config\n*/\n\nfunction roboconf(hljs) {\n const IDENTIFIER = '[a-zA-Z-_][^\\\\n{]+\\\\{';\n\n const PROPERTY = {\n className: 'attribute',\n begin: /[a-zA-Z-_]+/,\n end: /\\s*:/,\n excludeEnd: true,\n starts: {\n end: ';',\n relevance: 0,\n contains: [\n {\n className: 'variable',\n begin: /\\.[a-zA-Z-_]+/\n },\n {\n className: 'keyword',\n begin: /\\(optional\\)/\n }\n ]\n }\n };\n\n return {\n name: 'Roboconf',\n aliases: [\n 'graph',\n 'instances'\n ],\n case_insensitive: true,\n keywords: 'import',\n contains: [\n // Facet sections\n {\n begin: '^facet ' + IDENTIFIER,\n end: /\\}/,\n keywords: 'facet',\n contains: [\n PROPERTY,\n hljs.HASH_COMMENT_MODE\n ]\n },\n\n // Instance sections\n {\n begin: '^\\\\s*instance of ' + IDENTIFIER,\n end: /\\}/,\n keywords: 'name count channels instance-data instance-state instance of',\n illegal: /\\S/,\n contains: [\n 'self',\n PROPERTY,\n hljs.HASH_COMMENT_MODE\n ]\n },\n\n // Component sections\n {\n begin: '^' + IDENTIFIER,\n end: /\\}/,\n contains: [\n PROPERTY,\n hljs.HASH_COMMENT_MODE\n ]\n },\n\n // Comments\n hljs.HASH_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = roboconf;\n","/*\nLanguage: MikroTik RouterOS script\nAuthor: Ivan Dementev <ivan_div@mail.ru>\nDescription: Scripting host provides a way to automate some router maintenance tasks by means of executing user-defined scripts bounded to some event occurrence\nWebsite: https://wiki.mikrotik.com/wiki/Manual:Scripting\nCategory: scripting\n*/\n\n// Colors from RouterOS terminal:\n// green - #0E9A00\n// teal - #0C9A9A\n// purple - #99069A\n// light-brown - #9A9900\n\nfunction routeros(hljs) {\n const STATEMENTS = 'foreach do while for if from to step else on-error and or not in';\n\n // Global commands: Every global command should start with \":\" token, otherwise it will be treated as variable.\n const GLOBAL_COMMANDS = 'global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime';\n\n // Common commands: Following commands available from most sub-menus:\n const COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning';\n\n const LITERALS = 'true false yes no nothing nil null';\n\n const OBJECTS = 'traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw';\n\n const VAR = {\n className: 'variable',\n variants: [\n { begin: /\\$[\\w\\d#@][\\w\\d_]*/ },\n { begin: /\\$\\{(.*?)\\}/ }\n ]\n };\n\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n {\n className: 'variable',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ]\n };\n\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n\n return {\n name: 'MikroTik RouterOS script',\n aliases: [ 'mikrotik' ],\n case_insensitive: true,\n keywords: {\n $pattern: /:?[\\w-]+/,\n literal: LITERALS,\n keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :')\n },\n contains: [\n { // illegal syntax\n variants: [\n { // -- comment\n begin: /\\/\\*/,\n end: /\\*\\//\n },\n { // Stan comment\n begin: /\\/\\//,\n end: /$/\n },\n { // HTML tags\n begin: /<\\//,\n end: />/\n }\n ],\n illegal: /./\n },\n hljs.COMMENT('^#', '$'),\n QUOTE_STRING,\n APOS_STRING,\n VAR,\n // attribute=value\n {\n // > is to avoid matches with => in other grammars\n begin: /[\\w-]+=([^\\s{}[\\]()>]+)/,\n relevance: 0,\n returnBegin: true,\n contains: [\n {\n className: 'attribute',\n begin: /[^=]+/\n },\n {\n begin: /=/,\n endsWithParent: true,\n relevance: 0,\n contains: [\n QUOTE_STRING,\n APOS_STRING,\n VAR,\n {\n className: 'literal',\n begin: '\\\\b(' + LITERALS.split(' ').join('|') + ')\\\\b'\n },\n {\n // Do not format unclassified values. Needed to exclude highlighting of values as built_in.\n begin: /(\"[^\"]*\"|[^\\s{}[\\]]+)/ }\n /*\n {\n // IPv4 addresses and subnets\n className: 'number',\n variants: [\n {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24\n {begin: IPADDR+'-'+IPADDR}, // 192.168.0.1-192.168.0.3\n {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1\n ]\n },\n {\n // MAC addresses and DHCP Client IDs\n className: 'number',\n begin: /\\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\\b/,\n },\n */\n ]\n }\n ]\n },\n {\n // HEX values\n className: 'number',\n begin: /\\*[0-9a-fA-F]+/\n },\n {\n begin: '\\\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\\\s[(\\\\]|])',\n returnBegin: true,\n contains: [\n {\n className: 'built_in', // 'function',\n begin: /\\w+/\n }\n ]\n },\n {\n className: 'built_in',\n variants: [\n { begin: '(\\\\.\\\\./|/|\\\\s)((' + OBJECTS.split(' ').join('|') + ');?\\\\s)+' },\n {\n begin: /\\.\\./,\n relevance: 0\n }\n ]\n }\n ]\n };\n}\n\nmodule.exports = routeros;\n","/*\nLanguage: RenderMan RSL\nAuthor: Konstantin Evdokimenko <qewerty@gmail.com>\nContributors: Shuen-Huei Guan <drake.guan@gmail.com>\nWebsite: https://renderman.pixar.com/resources/RenderMan_20/shadingLanguage.html\nCategory: graphics\n*/\n\nfunction rsl(hljs) {\n const BUILT_INS = [\n \"abs\",\n \"acos\",\n \"ambient\",\n \"area\",\n \"asin\",\n \"atan\",\n \"atmosphere\",\n \"attribute\",\n \"calculatenormal\",\n \"ceil\",\n \"cellnoise\",\n \"clamp\",\n \"comp\",\n \"concat\",\n \"cos\",\n \"degrees\",\n \"depth\",\n \"Deriv\",\n \"diffuse\",\n \"distance\",\n \"Du\",\n \"Dv\",\n \"environment\",\n \"exp\",\n \"faceforward\",\n \"filterstep\",\n \"floor\",\n \"format\",\n \"fresnel\",\n \"incident\",\n \"length\",\n \"lightsource\",\n \"log\",\n \"match\",\n \"max\",\n \"min\",\n \"mod\",\n \"noise\",\n \"normalize\",\n \"ntransform\",\n \"opposite\",\n \"option\",\n \"phong\",\n \"pnoise\",\n \"pow\",\n \"printf\",\n \"ptlined\",\n \"radians\",\n \"random\",\n \"reflect\",\n \"refract\",\n \"renderinfo\",\n \"round\",\n \"setcomp\",\n \"setxcomp\",\n \"setycomp\",\n \"setzcomp\",\n \"shadow\",\n \"sign\",\n \"sin\",\n \"smoothstep\",\n \"specular\",\n \"specularbrdf\",\n \"spline\",\n \"sqrt\",\n \"step\",\n \"tan\",\n \"texture\",\n \"textureinfo\",\n \"trace\",\n \"transform\",\n \"vtransform\",\n \"xcomp\",\n \"ycomp\",\n \"zcomp\"\n ];\n\n const TYPES = [\n \"matrix\",\n \"float\",\n \"color\",\n \"point\",\n \"normal\",\n \"vector\"\n ];\n\n const KEYWORDS = [\n \"while\",\n \"for\",\n \"if\",\n \"do\",\n \"return\",\n \"else\",\n \"break\",\n \"extern\",\n \"continue\"\n ];\n\n const CLASS_DEFINITION = {\n match: [\n /(surface|displacement|light|volume|imager)/,\n /\\s+/,\n hljs.IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n }\n };\n\n return {\n name: 'RenderMan RSL',\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_INS,\n type: TYPES\n },\n illegal: '</',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$'\n },\n CLASS_DEFINITION,\n {\n beginKeywords: 'illuminate illuminance gather',\n end: '\\\\('\n }\n ]\n };\n}\n\nmodule.exports = rsl;\n","/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov <anton@kovalyov.net>\nContributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>, Pascal Hurni <phi@ruby-reactive.org>, Cedric Sohrauer <sohrauer@googlemail.com>\nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?</,\n end: />/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::' },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nmodule.exports = ruby;\n","/*\nLanguage: Oracle Rules Language\nAuthor: Jason Jacobson <jason.a.jacobson@gmail.com>\nDescription: The Oracle Utilities Rules Language is used to program the Oracle Utilities Applications acquired from LODESTAR Corporation. The products include Billing Component, LPSS, Pricing Component etc. through version 1.6.1.\nWebsite: https://docs.oracle.com/cd/E17904_01/dev.1111/e10227/rlref.htm\nCategory: enterprise\n*/\n\nfunction ruleslanguage(hljs) {\n return {\n name: 'Oracle Rules Language',\n keywords: {\n keyword:\n 'BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE '\n + 'INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 '\n + 'INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 '\n + 'INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 '\n + 'INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 '\n + 'INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 '\n + 'INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 '\n + 'INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 '\n + 'INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 '\n + 'INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 '\n + 'INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 '\n + 'INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 '\n + 'INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 '\n + 'INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 '\n + 'INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 '\n + 'MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER '\n + 'OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE '\n + 'NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH '\n + 'IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND '\n + 'UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME '\n + 'ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE '\n + 'GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE '\n + 'SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING '\n + 'DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF '\n + 'MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY '\n + 'YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE '\n + 'COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR '\n + 'READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES '\n + 'ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE '\n + 'EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE '\n + 'SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL '\n + 'COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN '\n + 'MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING '\n + 'FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM '\n + 'NUMDAYS READ_DATE STAGING',\n built_in:\n 'IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML '\n + 'DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT '\n + 'DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE '\n + 'DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT '\n + 'DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'literal',\n variants: [\n { // looks like #-comment\n begin: '#\\\\s+',\n relevance: 0\n },\n { begin: '#[a-zA-Z .]+' }\n ]\n }\n ]\n };\n}\n\nmodule.exports = ruleslanguage;\n","/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh <andrey.vlasovskikh@gmail.com>\nContributors: Roman Shmatov <romanshmatov@gmail.com>, Kasper Andersen <kma_untrusted@protonmail.com>\nWebsite: https://www.rust-lang.org\nCategory: common, system\n*/\n\n/** @type LanguageFn */\n\nfunction rust(hljs) {\n const regex = hljs.regex;\n // ============================================\n // Added to support the r# keyword, which is a raw identifier in Rust.\n const RAW_IDENTIFIER = /(r#)?/;\n const UNDERSCORE_IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.UNDERSCORE_IDENT_RE);\n const IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.IDENT_RE);\n // ============================================\n const FUNCTION_INVOKE = {\n className: \"title.function.invoke\",\n relevance: 0,\n begin: regex.concat(\n /\\b/,\n /(?!let|for|while|if|else|match\\b)/,\n IDENT_RE,\n regex.lookahead(/\\s*\\(/))\n };\n const NUMBER_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\\?';\n const KEYWORDS = [\n \"abstract\",\n \"as\",\n \"async\",\n \"await\",\n \"become\",\n \"box\",\n \"break\",\n \"const\",\n \"continue\",\n \"crate\",\n \"do\",\n \"dyn\",\n \"else\",\n \"enum\",\n \"extern\",\n \"false\",\n \"final\",\n \"fn\",\n \"for\",\n \"if\",\n \"impl\",\n \"in\",\n \"let\",\n \"loop\",\n \"macro\",\n \"match\",\n \"mod\",\n \"move\",\n \"mut\",\n \"override\",\n \"priv\",\n \"pub\",\n \"ref\",\n \"return\",\n \"self\",\n \"Self\",\n \"static\",\n \"struct\",\n \"super\",\n \"trait\",\n \"true\",\n \"try\",\n \"type\",\n \"typeof\",\n \"union\",\n \"unsafe\",\n \"unsized\",\n \"use\",\n \"virtual\",\n \"where\",\n \"while\",\n \"yield\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Err\"\n ];\n const BUILTINS = [\n // functions\n 'drop ',\n // traits\n \"Copy\",\n \"Send\",\n \"Sized\",\n \"Sync\",\n \"Drop\",\n \"Fn\",\n \"FnMut\",\n \"FnOnce\",\n \"ToOwned\",\n \"Clone\",\n \"Debug\",\n \"PartialEq\",\n \"PartialOrd\",\n \"Eq\",\n \"Ord\",\n \"AsRef\",\n \"AsMut\",\n \"Into\",\n \"From\",\n \"Default\",\n \"Iterator\",\n \"Extend\",\n \"IntoIterator\",\n \"DoubleEndedIterator\",\n \"ExactSizeIterator\",\n \"SliceConcatExt\",\n \"ToString\",\n // macros\n \"assert!\",\n \"assert_eq!\",\n \"bitflags!\",\n \"bytes!\",\n \"cfg!\",\n \"col!\",\n \"concat!\",\n \"concat_idents!\",\n \"debug_assert!\",\n \"debug_assert_eq!\",\n \"env!\",\n \"eprintln!\",\n \"panic!\",\n \"file!\",\n \"format!\",\n \"format_args!\",\n \"include_bytes!\",\n \"include_str!\",\n \"line!\",\n \"local_data_key!\",\n \"module_path!\",\n \"option_env!\",\n \"print!\",\n \"println!\",\n \"select!\",\n \"stringify!\",\n \"try!\",\n \"unimplemented!\",\n \"unreachable!\",\n \"vec!\",\n \"write!\",\n \"writeln!\",\n \"macro_rules!\",\n \"assert_ne!\",\n \"debug_assert_ne!\"\n ];\n const TYPES = [\n \"i8\",\n \"i16\",\n \"i32\",\n \"i64\",\n \"i128\",\n \"isize\",\n \"u8\",\n \"u16\",\n \"u32\",\n \"u64\",\n \"u128\",\n \"usize\",\n \"f32\",\n \"f64\",\n \"str\",\n \"char\",\n \"bool\",\n \"Box\",\n \"Option\",\n \"Result\",\n \"String\",\n \"Vec\"\n ];\n return {\n name: 'Rust',\n aliases: [ 'rs' ],\n keywords: {\n $pattern: hljs.IDENT_RE + '!?',\n type: TYPES,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS\n },\n illegal: '</',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.COMMENT('/\\\\*', '\\\\*/', { contains: [ 'self' ] }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n begin: /b?\"/,\n illegal: null\n }),\n {\n className: 'string',\n variants: [\n { begin: /b?r(#*)\"(.|\\n)*?\"\\1(?!#)/ },\n { begin: /b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/ }\n ]\n },\n {\n className: 'symbol',\n begin: /'[a-zA-Z_][a-zA-Z0-9_]*/\n },\n {\n className: 'number',\n variants: [\n { begin: '\\\\b0b([01_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b0o([0-7_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b0x([A-Fa-f0-9_]+)' + NUMBER_SUFFIX },\n { begin: '\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)'\n + NUMBER_SUFFIX }\n ],\n relevance: 0\n },\n {\n begin: [\n /fn/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n },\n {\n className: 'meta',\n begin: '#!?\\\\[',\n end: '\\\\]',\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE\n ]\n }\n ]\n },\n {\n begin: [\n /let/,\n /\\s+/,\n /(?:mut\\s+)?/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"keyword\",\n 4: \"variable\"\n }\n },\n // must come before impl/for rule later\n {\n begin: [\n /for/,\n /\\s+/,\n UNDERSCORE_IDENT_RE,\n /\\s+/,\n /in/\n ],\n className: {\n 1: \"keyword\",\n 3: \"variable\",\n 5: \"keyword\"\n }\n },\n {\n begin: [\n /type/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n begin: [\n /(?:trait|enum|struct|union|impl|for)/,\n /\\s+/,\n UNDERSCORE_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: {\n keyword: \"Self\",\n built_in: BUILTINS,\n type: TYPES\n }\n },\n {\n className: \"punctuation\",\n begin: '->'\n },\n FUNCTION_INVOKE\n ]\n };\n}\n\nmodule.exports = rust;\n","/*\nLanguage: SAS\nAuthor: Mauricio Caceres <mauricio.caceres.bravo@gmail.com>\nDescription: Syntax Highlighting for SAS\nCategory: scientific\n*/\n\n/** @type LanguageFn */\nfunction sas(hljs) {\n const regex = hljs.regex;\n // Data step and PROC SQL statements\n const SAS_KEYWORDS = [\n \"do\",\n \"if\",\n \"then\",\n \"else\",\n \"end\",\n \"until\",\n \"while\",\n \"abort\",\n \"array\",\n \"attrib\",\n \"by\",\n \"call\",\n \"cards\",\n \"cards4\",\n \"catname\",\n \"continue\",\n \"datalines\",\n \"datalines4\",\n \"delete\",\n \"delim\",\n \"delimiter\",\n \"display\",\n \"dm\",\n \"drop\",\n \"endsas\",\n \"error\",\n \"file\",\n \"filename\",\n \"footnote\",\n \"format\",\n \"goto\",\n \"in\",\n \"infile\",\n \"informat\",\n \"input\",\n \"keep\",\n \"label\",\n \"leave\",\n \"length\",\n \"libname\",\n \"link\",\n \"list\",\n \"lostcard\",\n \"merge\",\n \"missing\",\n \"modify\",\n \"options\",\n \"output\",\n \"out\",\n \"page\",\n \"put\",\n \"redirect\",\n \"remove\",\n \"rename\",\n \"replace\",\n \"retain\",\n \"return\",\n \"select\",\n \"set\",\n \"skip\",\n \"startsas\",\n \"stop\",\n \"title\",\n \"update\",\n \"waitsas\",\n \"where\",\n \"window\",\n \"x|0\",\n \"systask\",\n \"add\",\n \"and\",\n \"alter\",\n \"as\",\n \"cascade\",\n \"check\",\n \"create\",\n \"delete\",\n \"describe\",\n \"distinct\",\n \"drop\",\n \"foreign\",\n \"from\",\n \"group\",\n \"having\",\n \"index\",\n \"insert\",\n \"into\",\n \"in\",\n \"key\",\n \"like\",\n \"message\",\n \"modify\",\n \"msgtype\",\n \"not\",\n \"null\",\n \"on\",\n \"or\",\n \"order\",\n \"primary\",\n \"references\",\n \"reset\",\n \"restrict\",\n \"select\",\n \"set\",\n \"table\",\n \"unique\",\n \"update\",\n \"validate\",\n \"view\",\n \"where\"\n ];\n\n // Built-in SAS functions\n const FUNCTIONS = [\n \"abs\",\n \"addr\",\n \"airy\",\n \"arcos\",\n \"arsin\",\n \"atan\",\n \"attrc\",\n \"attrn\",\n \"band\",\n \"betainv\",\n \"blshift\",\n \"bnot\",\n \"bor\",\n \"brshift\",\n \"bxor\",\n \"byte\",\n \"cdf\",\n \"ceil\",\n \"cexist\",\n \"cinv\",\n \"close\",\n \"cnonct\",\n \"collate\",\n \"compbl\",\n \"compound\",\n \"compress\",\n \"cos\",\n \"cosh\",\n \"css\",\n \"curobs\",\n \"cv\",\n \"daccdb\",\n \"daccdbsl\",\n \"daccsl\",\n \"daccsyd\",\n \"dacctab\",\n \"dairy\",\n \"date\",\n \"datejul\",\n \"datepart\",\n \"datetime\",\n \"day\",\n \"dclose\",\n \"depdb\",\n \"depdbsl\",\n \"depdbsl\",\n \"depsl\",\n \"depsl\",\n \"depsyd\",\n \"depsyd\",\n \"deptab\",\n \"deptab\",\n \"dequote\",\n \"dhms\",\n \"dif\",\n \"digamma\",\n \"dim\",\n \"dinfo\",\n \"dnum\",\n \"dopen\",\n \"doptname\",\n \"doptnum\",\n \"dread\",\n \"dropnote\",\n \"dsname\",\n \"erf\",\n \"erfc\",\n \"exist\",\n \"exp\",\n \"fappend\",\n \"fclose\",\n \"fcol\",\n \"fdelete\",\n \"fetch\",\n \"fetchobs\",\n \"fexist\",\n \"fget\",\n \"fileexist\",\n \"filename\",\n \"fileref\",\n \"finfo\",\n \"finv\",\n \"fipname\",\n \"fipnamel\",\n \"fipstate\",\n \"floor\",\n \"fnonct\",\n \"fnote\",\n \"fopen\",\n \"foptname\",\n \"foptnum\",\n \"fpoint\",\n \"fpos\",\n \"fput\",\n \"fread\",\n \"frewind\",\n \"frlen\",\n \"fsep\",\n \"fuzz\",\n \"fwrite\",\n \"gaminv\",\n \"gamma\",\n \"getoption\",\n \"getvarc\",\n \"getvarn\",\n \"hbound\",\n \"hms\",\n \"hosthelp\",\n \"hour\",\n \"ibessel\",\n \"index\",\n \"indexc\",\n \"indexw\",\n \"input\",\n \"inputc\",\n \"inputn\",\n \"int\",\n \"intck\",\n \"intnx\",\n \"intrr\",\n \"irr\",\n \"jbessel\",\n \"juldate\",\n \"kurtosis\",\n \"lag\",\n \"lbound\",\n \"left\",\n \"length\",\n \"lgamma\",\n \"libname\",\n \"libref\",\n \"log\",\n \"log10\",\n \"log2\",\n \"logpdf\",\n \"logpmf\",\n \"logsdf\",\n \"lowcase\",\n \"max\",\n \"mdy\",\n \"mean\",\n \"min\",\n \"minute\",\n \"mod\",\n \"month\",\n \"mopen\",\n \"mort\",\n \"n\",\n \"netpv\",\n \"nmiss\",\n \"normal\",\n \"note\",\n \"npv\",\n \"open\",\n \"ordinal\",\n \"pathname\",\n \"pdf\",\n \"peek\",\n \"peekc\",\n \"pmf\",\n \"point\",\n \"poisson\",\n \"poke\",\n \"probbeta\",\n \"probbnml\",\n \"probchi\",\n \"probf\",\n \"probgam\",\n \"probhypr\",\n \"probit\",\n \"probnegb\",\n \"probnorm\",\n \"probt\",\n \"put\",\n \"putc\",\n \"putn\",\n \"qtr\",\n \"quote\",\n \"ranbin\",\n \"rancau\",\n \"ranexp\",\n \"rangam\",\n \"range\",\n \"rank\",\n \"rannor\",\n \"ranpoi\",\n \"rantbl\",\n \"rantri\",\n \"ranuni\",\n \"repeat\",\n \"resolve\",\n \"reverse\",\n \"rewind\",\n \"right\",\n \"round\",\n \"saving\",\n \"scan\",\n \"sdf\",\n \"second\",\n \"sign\",\n \"sin\",\n \"sinh\",\n \"skewness\",\n \"soundex\",\n \"spedis\",\n \"sqrt\",\n \"std\",\n \"stderr\",\n \"stfips\",\n \"stname\",\n \"stnamel\",\n \"substr\",\n \"sum\",\n \"symget\",\n \"sysget\",\n \"sysmsg\",\n \"sysprod\",\n \"sysrc\",\n \"system\",\n \"tan\",\n \"tanh\",\n \"time\",\n \"timepart\",\n \"tinv\",\n \"tnonct\",\n \"today\",\n \"translate\",\n \"tranwrd\",\n \"trigamma\",\n \"trim\",\n \"trimn\",\n \"trunc\",\n \"uniform\",\n \"upcase\",\n \"uss\",\n \"var\",\n \"varfmt\",\n \"varinfmt\",\n \"varlabel\",\n \"varlen\",\n \"varname\",\n \"varnum\",\n \"varray\",\n \"varrayx\",\n \"vartype\",\n \"verify\",\n \"vformat\",\n \"vformatd\",\n \"vformatdx\",\n \"vformatn\",\n \"vformatnx\",\n \"vformatw\",\n \"vformatwx\",\n \"vformatx\",\n \"vinarray\",\n \"vinarrayx\",\n \"vinformat\",\n \"vinformatd\",\n \"vinformatdx\",\n \"vinformatn\",\n \"vinformatnx\",\n \"vinformatw\",\n \"vinformatwx\",\n \"vinformatx\",\n \"vlabel\",\n \"vlabelx\",\n \"vlength\",\n \"vlengthx\",\n \"vname\",\n \"vnamex\",\n \"vtype\",\n \"vtypex\",\n \"weekday\",\n \"year\",\n \"yyq\",\n \"zipfips\",\n \"zipname\",\n \"zipnamel\",\n \"zipstate\"\n ];\n\n // Built-in macro functions\n const MACRO_FUNCTIONS = [\n \"bquote\",\n \"nrbquote\",\n \"cmpres\",\n \"qcmpres\",\n \"compstor\",\n \"datatyp\",\n \"display\",\n \"do\",\n \"else\",\n \"end\",\n \"eval\",\n \"global\",\n \"goto\",\n \"if\",\n \"index\",\n \"input\",\n \"keydef\",\n \"label\",\n \"left\",\n \"length\",\n \"let\",\n \"local\",\n \"lowcase\",\n \"macro\",\n \"mend\",\n \"nrbquote\",\n \"nrquote\",\n \"nrstr\",\n \"put\",\n \"qcmpres\",\n \"qleft\",\n \"qlowcase\",\n \"qscan\",\n \"qsubstr\",\n \"qsysfunc\",\n \"qtrim\",\n \"quote\",\n \"qupcase\",\n \"scan\",\n \"str\",\n \"substr\",\n \"superq\",\n \"syscall\",\n \"sysevalf\",\n \"sysexec\",\n \"sysfunc\",\n \"sysget\",\n \"syslput\",\n \"sysprod\",\n \"sysrc\",\n \"sysrput\",\n \"then\",\n \"to\",\n \"trim\",\n \"unquote\",\n \"until\",\n \"upcase\",\n \"verify\",\n \"while\",\n \"window\"\n ];\n\n const LITERALS = [\n \"null\",\n \"missing\",\n \"_all_\",\n \"_automatic_\",\n \"_character_\",\n \"_infile_\",\n \"_n_\",\n \"_name_\",\n \"_null_\",\n \"_numeric_\",\n \"_user_\",\n \"_webout_\"\n ];\n\n return {\n name: 'SAS',\n case_insensitive: true,\n keywords: {\n literal: LITERALS,\n keyword: SAS_KEYWORDS\n },\n contains: [\n {\n // Distinct highlight for proc <proc>, data, run, quit\n className: 'keyword',\n begin: /^\\s*(proc [\\w\\d_]+|data|run|quit)[\\s;]/\n },\n {\n // Macro variables\n className: 'variable',\n begin: /&[a-zA-Z_&][a-zA-Z0-9_]*\\.?/\n },\n {\n begin: [\n /^\\s*/,\n /datalines;|cards;/,\n /(?:.*\\n)+/,\n /^\\s*;\\s*$/\n ],\n className: {\n 2: \"keyword\",\n 3: \"string\"\n }\n },\n {\n begin: [\n /%mend|%macro/,\n /\\s+/,\n /[a-zA-Z_&][a-zA-Z0-9_]*/\n ],\n className: {\n 1: \"built_in\",\n 3: \"title.function\"\n }\n },\n { // Built-in macro variables\n className: 'built_in',\n begin: '%' + regex.either(...MACRO_FUNCTIONS)\n },\n {\n // User-defined macro functions\n className: 'title.function',\n begin: /%[a-zA-Z_][a-zA-Z_0-9]*/\n },\n {\n // TODO: this is most likely an incorrect classification\n // built_in may need more nuance\n // https://github.com/highlightjs/highlight.js/issues/2521\n className: 'meta',\n begin: regex.either(...FUNCTIONS) + '(?=\\\\()'\n },\n {\n className: 'string',\n variants: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n hljs.COMMENT('\\\\*', ';'),\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = sas;\n"],"names":["module","exports","hljs","name","aliases","keywords","$pattern","keyword","literal","built_in","type","contains","C_LINE_COMMENT_MODE","QUOTE_STRING_MODE","C_NUMBER_MODE","QML_IDENT_RE","ID_ID","className","begin","starts","end","returnEnd","QML_ATTRIBUTE","returnBegin","excludeEnd","relevance","QML_OBJECT","regex","concat","inherit","TITLE_MODE","case_insensitive","APOS_STRING_MODE","BACKSLASH_ESCAPE","C_BLOCK_COMMENT_MODE","variants","C_NUMBER_RE","RE_STARTERS_RE","REGEXP_MODE","subLanguage","beginKeywords","excludeBegin","illegal","IDENT_RE","NUMBER_TYPES_RE","either","OPERATORS_RE","PUNCTUATION_RE","COMMENT","scope","match","lookahead","endsParent","HASH_COMMENT_MODE","END_SAME_AS_BEGIN","IDENTIFIER","PROPERTY","STATEMENTS","LITERALS","VAR","QUOTE_STRING","APOS_STRING","split","join","endsWithParent","CLASS_DEFINITION","RUBY_METHOD_RE","CLASS_NAME_RE","CLASS_NAME_WITH_NAMESPACE_RE","RUBY_KEYWORDS","YARDOCTAG","IRB_OBJECT","COMMENT_MODES","MATCH_NOTHING_RE","SUBST","STRING","digits","NUMBER","PARAMS","RUBY_DEFAULT_CONTAINS","UNDERSCORE_IDENT_RE","IRB_DEFAULT","unshift","SHEBANG","binary","RAW_IDENTIFIER","FUNCTION_INVOKE","NUMBER_SUFFIX","BUILTINS","TYPES"],"sourceRoot":""}