{"version":3,"sources":["jsdelivr-header.js","/npm/hljs@6.2.3/hljs.js"],"names":[],"mappings":"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","file":"/npm/hljs@6.2.3/hljs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hljs@6.2.3/hljs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\n/*\nCore highlighting function. Accepts a string with the code to highlight and \noptionaly a language name. Returns an object with the following properties:\n\n- language (detected language)\n- relevance (int)\n- keyword_count (int)\n- value (an HTML string with highlighting markup)\n- second (object with the same structure for second-best heuristically\n  detected language, may be absent)\n\n*/\n\nvar hljs = function(value, language_name) {\n  if(!language_name){\n    var result = {\n      keyword_count: 0,\n      relevance: 0,\n      value: hljs.escape(value)\n    };\n    var second = result;\n    for (var key in hljs.LANGUAGES) {\n      if (!hljs.LANGUAGES.hasOwnProperty(key))\n        continue;\n      var current = hljs(value, key);\n      current.language = key;\n      if (current.keyword_count + current.relevance > second.keyword_count + second.relevance) {\n        second = current;\n      }\n      if (current.keyword_count + current.relevance > result.keyword_count + result.relevance) {\n        second = result;\n        result = current;\n      }\n    }\n    if (second.language) {\n      result.second = second;\n    }\n    return result;\n  }\n\n  function subMode(lexem, mode) {\n    for (var i = 0; i < mode.contains.length; i++) {\n      var match = mode.contains[i].beginRe.exec(lexem);\n      if (match && match.index == 0) {\n        return mode.contains[i];\n      }\n    }\n  }\n\n  function endOfMode(mode_index, lexem) {\n    if (modes[mode_index].end && modes[mode_index].endRe.test(lexem))\n      return 1;\n    if (modes[mode_index].endsWithParent) {\n      var level = endOfMode(mode_index - 1, lexem);\n      return level ? level + 1 : 0;\n    }\n    return 0;\n  }\n\n  function isIllegal(lexem, mode) {\n    return mode.illegal && mode.illegalRe.test(lexem);\n  }\n\n  function compileTerminators(mode, language) {\n    var terminators = [];\n\n    for (var i = 0; i < mode.contains.length; i++) {\n      terminators.push(mode.contains[i].begin);\n    }\n\n    var index = modes.length - 1;\n    do {\n      if (modes[index].end) {\n        terminators.push(modes[index].end);\n      }\n      index--;\n    } while (modes[index + 1].endsWithParent);\n\n    if (mode.illegal) {\n      terminators.push(mode.illegal);\n    }\n\n    return terminators.length ? langRe(language, terminators.join('|'), true) : null;\n  }\n\n  function eatModeChunk(value, index) {\n    var mode = modes[modes.length - 1];\n    if (mode.terminators === undefined) {\n      mode.terminators = compileTerminators(mode, language);\n    }\n    var match;\n    if (mode.terminators) {\n      mode.terminators.lastIndex = index;\n      match = mode.terminators.exec(value);\n    }\n    return match ? [value.substr(index, match.index - index), match[0], false] : [value.substr(index), '', true];\n  }\n\n  function keywordMatch(mode, match) {\n    var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0];\n    var value = mode.keywords[match_str];\n    if (value && value instanceof Array)\n      return value;\n    return false;\n  }\n\n  function processKeywords(buffer, mode) {\n    buffer = hljs.escape(buffer);\n    if (!mode.keywords)\n      return buffer;\n    var result = '';\n    var last_index = 0;\n    mode.lexemsRe.lastIndex = 0;\n    var match = mode.lexemsRe.exec(buffer);\n    while (match) {\n      result += buffer.substr(last_index, match.index - last_index);\n      var keyword_match = keywordMatch(mode, match);\n      if (keyword_match) {\n        keyword_count += keyword_match[1];\n        result += '<span class=\"'+ keyword_match[0] +'\">' + match[0] + '</span>';\n      } else {\n        result += match[0];\n      }\n      last_index = mode.lexemsRe.lastIndex;\n      match = mode.lexemsRe.exec(buffer);\n    }\n    return result + buffer.substr(last_index, buffer.length - last_index);\n  }\n\n  function processSubLanguage(buffer, mode) {\n    var result;\n    if (mode.subLanguage == '') {\n      result = hljs(buffer);\n    } else {\n      result = hljs(buffer, mode.subLanguage);\n    }\n    // Counting embedded language score towards the host language may be disabled\n    // with zeroing the containing mode relevance. Usecase in point is Markdown that\n    // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n    // score.\n    if (mode.relevance > 0) {\n      keyword_count += result.keyword_count;\n      relevance += result.relevance;\n    }\n    return '<span class=\"' + result.language  + '\">' + result.value + '</span>';\n  }\n\n  function processBuffer(buffer, mode) {\n    if (mode.subLanguage && hljs.LANGUAGES[mode.subLanguage] || mode.subLanguage == '') {\n      return processSubLanguage(buffer, mode);\n    } else {\n      return processKeywords(buffer, mode);\n    }\n  }\n\n  function startNewMode(mode, lexem) {\n    var markup = mode.className?'<span class=\"' + mode.className + '\">':'';\n    if (mode.returnBegin) {\n      result += markup;\n      mode.buffer = '';\n    } else if (mode.excludeBegin) {\n      result += hljs.escape(lexem) + markup;\n      mode.buffer = '';\n    } else {\n      result += markup;\n      mode.buffer = lexem;\n    }\n    modes.push(mode);\n    relevance += mode.relevance;\n  }\n\n  function processModeInfo(buffer, lexem, end) {\n    var current_mode = modes[modes.length - 1];\n    if (end) {\n      result += processBuffer(current_mode.buffer + buffer, current_mode);\n      return false;\n    }\n\n    var new_mode = subMode(lexem, current_mode);\n    if (new_mode) {\n      result += processBuffer(current_mode.buffer + buffer, current_mode);\n      startNewMode(new_mode, lexem);\n      return new_mode.returnBegin;\n    }\n\n    var end_level = endOfMode(modes.length - 1, lexem);\n    if (end_level) {\n      var markup = current_mode.className?'</span>':'';\n      if (current_mode.returnEnd) {\n        result += processBuffer(current_mode.buffer + buffer, current_mode) + markup;\n      } else if (current_mode.excludeEnd) {\n        result += processBuffer(current_mode.buffer + buffer, current_mode) + markup + hljs.escape(lexem);\n      } else {\n        result += processBuffer(current_mode.buffer + buffer + lexem, current_mode) + markup;\n      }\n      while (end_level > 1) {\n        markup = modes[modes.length - 2].className?'</span>':'';\n        result += markup;\n        end_level--;\n        modes.length--;\n      }\n      var last_ended_mode = modes[modes.length - 1];\n      modes.length--;\n      modes[modes.length - 1].buffer = '';\n      if (last_ended_mode.starts) {\n        startNewMode(last_ended_mode.starts, '');\n      }\n      return current_mode.returnEnd;\n    }\n\n    if (isIllegal(lexem, current_mode))\n      throw 'Illegal';\n  }\n    \n  function langRe(language, value, global) {\n    return RegExp(\n      value,\n      'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : '')\n    );\n  }\n\n  function compileMode(mode, language, is_default) {\n    if (mode.compiled)\n      return;\n\n    var keywords = []; // used later with beginWithKeyword but filled as a side-effect of keywords compilation\n    if (mode.keywords) {\n      var compiled_keywords = {};\n\n      function flatten(className, str) {\n        var group = str.split(' ');\n        for (var i = 0; i < group.length; i++) {\n          var pair = group[i].split('|');\n          compiled_keywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1];\n          keywords.push(pair[0]);\n        }\n      }\n\n      mode.lexemsRe = langRe(language, mode.lexems || hljs.IDENT_RE, true);\n      if (typeof mode.keywords == 'string') { // string\n        flatten('keyword', mode.keywords)\n      } else {\n        for (var className in mode.keywords) {\n          if (!mode.keywords.hasOwnProperty(className))\n            continue;\n          flatten(className, mode.keywords[className]);\n        }\n      }\n      mode.keywords = compiled_keywords;\n    }\n    if (!is_default) {\n      if (mode.beginWithKeyword) {\n        mode.begin = '\\\\b(' + keywords.join('|') + ')\\\\s';\n      }\n      mode.beginRe = langRe(language, mode.begin ? mode.begin : '\\\\B|\\\\b');\n      if (!mode.end && !mode.endsWithParent)\n        mode.end = '\\\\B|\\\\b';\n      if (mode.end)\n        mode.endRe = langRe(language, mode.end);\n    }\n    if (mode.illegal)\n      mode.illegalRe = langRe(language, mode.illegal);\n    if (mode.relevance === undefined)\n      mode.relevance = 1;\n    if (!mode.contains) {\n      mode.contains = [];\n    }\n    // compiled flag is set before compiling submodes to avoid self-recursion\n    // (see lisp where quoted_list contains quoted_list)\n    mode.compiled = true;\n    for (var i = 0; i < mode.contains.length; i++) {\n      if (mode.contains[i] == 'self') {\n        mode.contains[i] = mode;\n      }\n      compileMode(mode.contains[i], language, false);\n    }\n    if (mode.starts) {\n      compileMode(mode.starts, language, false);\n    }\n  }\n\n  var language = hljs.LANGUAGES[language_name];\n  var modes = [language.defaultMode];\n  var relevance = 0;\n  var keyword_count = 0;\n  var result = '';\n  compileMode(language.defaultMode, language, true);    \n  try {\n    var mode_info, index = 0;\n    language.defaultMode.buffer = '';\n    do {\n      mode_info = eatModeChunk(value, index);\n      var return_lexem = processModeInfo(mode_info[0], mode_info[1], mode_info[2]);\n      index += mode_info[0].length;\n      if (!return_lexem) {\n        index += mode_info[1].length;\n      }\n    } while (!mode_info[2]);\n    if(modes.length > 2 || (modes.length == 2 && !modes[1].endsWithParent))\n      throw 'Illegal';\n    return {\n      language: language_name,\n      relevance: relevance,\n      keyword_count: keyword_count,\n      value: result\n    };\n  } catch (e) {\n    if (e == 'Illegal') {\n      return {\n        language: language_name,\n        relevance: 0,\n        keyword_count: 0,\n        value: hljs.escape(value)\n      };\n    } else {\n      throw e;\n    }\n  }\n}\n\nhljs.LANGUAGES = {};\n\n\n// Common regexps\nhljs.IDENT_RE = '[a-zA-Z][a-zA-Z0-9_]*';\nhljs.UNDERSCORE_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_]*';\nhljs.NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nhljs.C_NUMBER_RE = '\\\\b(0[xX][a-fA-F0-9]+|(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nhljs.BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nhljs.RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|\\\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\nhljs.EOF_RE = '(?![\\\\s\\\\S])';\n\n// Common modes\nhljs.BACKSLASH_ESCAPE = {\n  begin: '\\\\\\\\.', relevance: 0\n};\nhljs.APOS_STRING_MODE = {\n  className: 'string',\n  begin: '\\'', end: '\\'',\n  illegal: '\\\\n',\n  contains: [hljs.BACKSLASH_ESCAPE],\n  relevance: 0\n};\nhljs.QUOTE_STRING_MODE = {\n  className: 'string',\n  begin: '\"', end: '\"',\n  illegal: '\\\\n',\n  contains: [hljs.BACKSLASH_ESCAPE],\n  relevance: 0\n};\nhljs.C_LINE_COMMENT_MODE = {\n  className: 'comment',\n  begin: '//', end: '$'\n};\nhljs.C_BLOCK_COMMENT_MODE = {\n  className: 'comment',\n  begin: '/\\\\*', end: '\\\\*/'\n};\nhljs.HASH_COMMENT_MODE = {\n  className: 'comment',\n  begin: '#', end: '$'\n};\nhljs.NUMBER_MODE = {\n  className: 'number',\n  begin: hljs.NUMBER_RE,\n  relevance: 0\n};\nhljs.C_NUMBER_MODE = {\n  className: 'number',\n  begin: hljs.C_NUMBER_RE,\n  relevance: 0\n};\nhljs.BINARY_NUMBER_MODE = {\n  className: 'number',\n  begin: hljs.BINARY_NUMBER_RE,\n  relevance: 0\n};\n\n// Utility functions\nhljs.escape = function(value) {\n  return value.replace(/&/gm, '&amp;').replace(/</gm, '&lt;');\n}\n\nhljs.inherit = function(parent, obj) {\n  var result = {}\n  for (var key in parent)\n    result[key] = parent[key];\n  if (obj)\n    for (var key in obj)\n       result[key] = obj[key];\n  return result;\n}\nmodule.exports = hljs;\n/*\nLanguage: Python\n*/\n\nhljs.LANGUAGES.python = function() {\n  var STRINGS = [\n    {\n      className: 'string',\n      begin: '(u|b)?r?\\'\\'\\'', end: '\\'\\'\\'',\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '(u|b)?r?\"\"\"', end: '\"\"\"',\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '(u|r|ur)\\'', end: '\\'',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '(u|r|ur)\"', end: '\"',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '(b|br)\\'', end: '\\'',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    },\n    {\n      className: 'string',\n      begin: '(b|br)\"', end: '\"',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    }\n  ].concat([\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE\n  ]);\n  var TITLE = {\n    className: 'title', begin: hljs.UNDERSCORE_IDENT_RE\n  };\n  var PARAMS = {\n    className: 'params',\n    begin: '\\\\(', end: '\\\\)',\n    contains: ['self', hljs.C_NUMBER_MODE].concat(STRINGS)\n  };\n  var FUNC_CLASS_PROTO = {\n    beginWithKeyword: true, end: ':',\n    illegal: '[${]',\n    contains: [TITLE, PARAMS],\n    relevance: 10\n  };\n\n  return {\n    defaultMode: {\n      keywords: {\n        keyword:\n          'and elif is global as in if from raise for except finally print import pass return ' +\n          'exec else break not with class assert yield try while continue del or def lambda ' +\n          'nonlocal|10',\n        built_in:\n          'None True False Ellipsis NotImplemented'\n      },\n      illegal: '(</|->|\\\\?)',\n      contains: STRINGS.concat([\n        hljs.HASH_COMMENT_MODE,\n        hljs.inherit(FUNC_CLASS_PROTO, {className: 'function', keywords: 'def'}),\n        hljs.inherit(FUNC_CLASS_PROTO, {className: 'class', keywords: 'class'}),\n        hljs.C_NUMBER_MODE,\n        {\n          className: 'decorator',\n          begin: '@', end: '$'\n        }\n      ])\n    }\n  };\n}();\n/*\nLanguage: Python profile\nDescription: Python profiler results\nAuthor: Brian Beck <exogen@gmail.com>\n*/\n\nhljs.LANGUAGES.profile = {\n  defaultMode: {\n    contains: [\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'builtin',\n        begin: '{', end: '}$',\n        excludeBegin: true, excludeEnd: true,\n        contains: [hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE],\n        relevance: 0\n      },\n      {\n        className: 'filename',\n        begin: '[a-zA-Z_][\\\\da-zA-Z_]+\\\\.[\\\\da-zA-Z_]{1,3}', end: ':',\n        excludeEnd: true\n      },\n      {\n        className: 'header',\n        begin: '(ncalls|tottime|cumtime)', end: '$',\n        keywords: 'ncalls tottime|10 cumtime|10 filename',\n        relevance: 10\n      },\n      {\n        className: 'summary',\n        begin: 'function calls', end: '$',\n        contains: [hljs.C_NUMBER_MODE],\n        relevance: 10\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'function',\n        begin: '\\\\(', end: '\\\\)$',\n        contains: [{\n          className: 'title',\n          begin: hljs.UNDERSCORE_IDENT_RE,\n          relevance: 0\n        }],\n        relevance: 0\n      }\n    ]\n  }\n};\n/*\nLanguage: Ruby\nAuthor: Anton Kovalyov <anton@kovalyov.net>\nContributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>\n*/\n\nhljs.LANGUAGES.ruby = function(){\n  var RUBY_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_]*(\\\\!|\\\\?)?';\n  var RUBY_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?';\n  var RUBY_KEYWORDS =\n    'and false then defined module in return redo if BEGIN retry end for true self when ' +\n    'next until do begin unless END rescue nil else break undef not super class case ' +\n    'require yield alias while ensure elsif or def';\n  var YARDOCTAG = {\n    className: 'yardoctag',\n    begin: '@[A-Za-z]+'\n  };\n  var COMMENTS = [\n    {\n      className: 'comment',\n      begin: '#', end: '$',\n      contains: [YARDOCTAG]\n    },\n    {\n      className: 'comment',\n      begin: '^\\\\=begin', end: '^\\\\=end',\n      contains: [YARDOCTAG],\n      relevance: 10\n    },\n    {\n      className: 'comment',\n      begin: '^__END__', end: '\\\\n$'\n    }\n  ];\n  var SUBST = {\n    className: 'subst',\n    begin: '#\\\\{', end: '}',\n    lexems: RUBY_IDENT_RE,\n    keywords: RUBY_KEYWORDS\n  };\n  var STR_CONTAINS = [hljs.BACKSLASH_ESCAPE, SUBST];\n  var STRINGS = [\n    {\n      className: 'string',\n      begin: '\\'', end: '\\'',\n      contains: STR_CONTAINS,\n      relevance: 0\n    },\n    {\n      className: 'string',\n      begin: '\"', end: '\"',\n      contains: STR_CONTAINS,\n      relevance: 0\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?\\\\(', end: '\\\\)',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?\\\\[', end: '\\\\]',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?{', end: '}',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?<', end: '>',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?/', end: '/',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?%', end: '%',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?-', end: '-',\n      contains: STR_CONTAINS,\n      relevance: 10\n    },\n    {\n      className: 'string',\n      begin: '%[qw]?\\\\|', end: '\\\\|',\n      contains: STR_CONTAINS,\n      relevance: 10\n    }\n  ];\n  var FUNCTION = {\n    className: 'function',\n    begin: '\\\\bdef\\\\s+', end: ' |$|;',\n    lexems: RUBY_IDENT_RE,\n    keywords: RUBY_KEYWORDS,\n    contains: [\n      {\n        className: 'title',\n        begin: RUBY_METHOD_RE,\n        lexems: RUBY_IDENT_RE,\n        keywords: RUBY_KEYWORDS\n      },\n      {\n        className: 'params',\n        begin: '\\\\(', end: '\\\\)',\n        lexems: RUBY_IDENT_RE,\n        keywords: RUBY_KEYWORDS\n      }\n    ].concat(COMMENTS)\n  };\n  var IDENTIFIER = {\n    className: 'identifier',\n    begin: RUBY_IDENT_RE,\n    lexems: RUBY_IDENT_RE,\n    keywords: RUBY_KEYWORDS,\n    relevance: 0\n  };\n\n  var RUBY_DEFAULT_CONTAINS = COMMENTS.concat(STRINGS.concat([\n    {\n      className: 'class',\n      beginWithKeyword: true, end: '$|;',\n      keywords: 'class module',\n      contains: [\n        {\n          className: 'title',\n          begin: '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?',\n          relevance: 0\n        },\n        {\n          className: 'inheritance',\n          begin: '<\\\\s*',\n          contains: [{\n            className: 'parent',\n            begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE\n          }]\n        }\n      ].concat(COMMENTS)\n    },\n    FUNCTION,\n    {\n      className: 'constant',\n      begin: '(::)?([A-Z]\\\\w*(::)?)+',\n      relevance: 0\n    },\n    {\n      className: 'symbol',\n      begin: ':',\n      contains: STRINGS.concat([IDENTIFIER]),\n      relevance: 0\n    },\n    {\n      className: 'number',\n      begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n      relevance: 0\n    },\n    {\n      className: 'number',\n      begin: '\\\\?\\\\w'\n    },\n    {\n      className: 'variable',\n      begin: '(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))'\n    },\n    IDENTIFIER,\n    { // regexp container\n      begin: '(' + hljs.RE_STARTERS_RE + ')\\\\s*',\n      contains: COMMENTS.concat([\n        {\n          className: 'regexp',\n          begin: '/', end: '/[a-z]*',\n          illegal: '\\\\n',\n          contains: [hljs.BACKSLASH_ESCAPE]\n        }\n      ]),\n      relevance: 0\n    }\n  ]));\n  SUBST.contains = RUBY_DEFAULT_CONTAINS;\n  FUNCTION.contains[1].contains = RUBY_DEFAULT_CONTAINS;\n\n  return {\n    defaultMode: {\n      lexems: RUBY_IDENT_RE,\n      keywords: RUBY_KEYWORDS,\n      contains: RUBY_DEFAULT_CONTAINS\n    }\n  };\n}();\n/*\nLanguage: Perl\nAuthor: Peter Leonov <gojpeg@yandex.ru>\n*/\n\nhljs.LANGUAGES.perl = function(){\n  var PERL_KEYWORDS = 'getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ' +\n    'ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime ' +\n    'readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq' +\n    'fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent ' +\n    'shutdown dump chomp connect getsockname die socketpair close flock exists index shmget' +\n    'sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr ' +\n    'unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 ' +\n    'getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline ' +\n    'endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand ' +\n    'mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink ' +\n    'getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr ' +\n    'untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link ' +\n    'getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller ' +\n    'lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and ' +\n    'sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 ' +\n    'chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach ' +\n    'tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir' +\n    'ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe ' +\n    'atan2 getgrent exp time push setgrent gt lt or ne m|0';\n  var SUBST = {\n    className: 'subst',\n    begin: '[$@]\\\\{', end: '\\\\}',\n    keywords: PERL_KEYWORDS,\n    relevance: 10\n  };\n  var VAR1 = {\n    className: 'variable',\n    begin: '\\\\$\\\\d'\n  };\n  var VAR2 = {\n    className: 'variable',\n    begin: '[\\\\$\\\\%\\\\@\\\\*](\\\\^\\\\w\\\\b|#\\\\w+(\\\\:\\\\:\\\\w+)*|[^\\\\s\\\\w{]|{\\\\w+}|\\\\w+(\\\\:\\\\:\\\\w*)*)'\n  };\n  var STRING_CONTAINS = [hljs.BACKSLASH_ESCAPE, SUBST, VAR1, VAR2];\n  var METHOD = {\n    begin: '->',\n    contains: [\n      {begin: hljs.IDENT_RE},\n      {begin: '{', end: '}'}\n    ]\n  };\n  var COMMENT = {\n    className: 'comment',\n    begin: '^(__END__|__DATA__)', end: '\\\\n$',\n    relevance: 5\n  }\n  var PERL_DEFAULT_CONTAINS = [\n    VAR1, VAR2,\n    hljs.HASH_COMMENT_MODE,\n    COMMENT,\n    {\n      className: 'comment',\n      begin: '^\\\\=\\\\w', end: '\\\\=cut', endsWithParent: true\n    },\n    METHOD,\n    {\n      className: 'string',\n      begin: 'q[qwxr]?\\\\s*\\\\(', end: '\\\\)',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: 'q[qwxr]?\\\\s*\\\\[', end: '\\\\]',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: 'q[qwxr]?\\\\s*\\\\{', end: '\\\\}',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: 'q[qwxr]?\\\\s*\\\\|', end: '\\\\|',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: 'q[qwxr]?\\\\s*\\\\<', end: '\\\\>',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: 'qw\\\\s+q', end: 'q',\n      contains: STRING_CONTAINS,\n      relevance: 5\n    },\n    {\n      className: 'string',\n      begin: '\\'', end: '\\'',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 0\n    },\n    {\n      className: 'string',\n      begin: '\"', end: '\"',\n      contains: STRING_CONTAINS,\n      relevance: 0\n    },\n    {\n      className: 'string',\n      begin: '`', end: '`',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    },\n    {\n      className: 'string',\n      begin: '{\\\\w+}',\n      relevance: 0\n    },\n    {\n      className: 'string',\n      begin: '\\-?\\\\w+\\\\s*\\\\=\\\\>',\n      relevance: 0\n    },\n    {\n      className: 'number',\n      begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n      relevance: 0\n    },\n    { // regexp container\n      begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n      keywords: 'split return print reverse grep',\n      relevance: 0,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        COMMENT,\n        {\n          className: 'regexp',\n          begin: '(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*',\n          relevance: 10\n        },\n        {\n          className: 'regexp',\n          begin: '(m|qr)?/', end: '/[a-z]*',\n          contains: [hljs.BACKSLASH_ESCAPE],\n          relevance: 0 // allows empty \"//\" which is a common comment delimiter in other languages\n        }\n      ]\n    },\n    {\n      className: 'sub',\n      beginWithKeyword: true, end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n      keywords: 'sub',\n      relevance: 5\n    },\n    {\n      className: 'operator',\n      begin: '-\\\\w\\\\b',\n      relevance: 0\n    }\n  ];\n  SUBST.contains = PERL_DEFAULT_CONTAINS;\n  METHOD.contains[1].contains = PERL_DEFAULT_CONTAINS;\n\n  return {\n    defaultMode: {\n      keywords: PERL_KEYWORDS,\n      contains: PERL_DEFAULT_CONTAINS\n    }\n  };\n}();\n/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\n*/\n\nhljs.LANGUAGES.php = function() {\n  var VARIABLE = {\n    className: 'variable', begin: '\\\\$+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*'\n  };\n  var STRINGS = [\n    hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),\n    hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}),\n    {\n      className: 'string',\n      begin: 'b\"', end: '\"',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    },\n    {\n      className: 'string',\n      begin: 'b\\'', end: '\\'',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    }\n  ];\n  var NUMBERS = [\n    hljs.C_NUMBER_MODE, // 0x..., 0..., decimal, float\n    hljs.BINARY_NUMBER_MODE // 0b...\n  ];\n  var TITLE = {\n    className: 'title', begin: hljs.UNDERSCORE_IDENT_RE\n  };\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      keywords:\n        'and include_once list abstract global private echo interface as static endswitch ' +\n        'array null if endwhile or const for endforeach self var while isset public ' +\n        'protected exit foreach throw elseif include __FILE__ empty require_once do xor ' +\n        'return implements parent clone use __CLASS__ __LINE__ else break print eval new ' +\n        'catch __METHOD__ case exception php_user_filter default die require __FUNCTION__ ' +\n        'enddeclare final try this switch continue endfor endif declare unset true false ' +\n        'namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ __halt_compiler',\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.HASH_COMMENT_MODE,\n        {\n          className: 'comment',\n          begin: '/\\\\*', end: '\\\\*/',\n          contains: [{\n              className: 'phpdoc',\n              begin: '\\\\s@[A-Za-z]+'\n          }]\n        },\n        {\n            className: 'comment',\n            excludeBegin: true,\n            begin: '__halt_compiler.+?;', endsWithParent: true\n        },\n        {\n          className: 'string',\n          begin: '<<<[\\'\"]?\\\\w+[\\'\"]?$', end: '^\\\\w+;',\n          contains: [hljs.BACKSLASH_ESCAPE]\n        },\n        {\n          className: 'preprocessor',\n          begin: '<\\\\?php',\n          relevance: 10\n        },\n        {\n          className: 'preprocessor',\n          begin: '\\\\?>'\n        },\n        VARIABLE,\n        {\n          className: 'function',\n          beginWithKeyword: true, end: '{',\n          keywords: 'function',\n          illegal: '\\\\$',\n          contains: [\n            TITLE,\n            {\n              className: 'params',\n              begin: '\\\\(', end: '\\\\)',\n              contains: [\n                'self',\n                VARIABLE,\n                hljs.C_BLOCK_COMMENT_MODE\n              ].concat(STRINGS).concat(NUMBERS)\n            }\n          ]\n        },\n        {\n          className: 'class',\n          beginWithKeyword: true, end: '{',\n          keywords: 'class',\n          illegal: '[:\\\\(\\\\$]',\n          contains: [\n            {\n              beginWithKeyword: true, endsWithParent: true,\n              keywords: 'extends',\n              contains: [TITLE]\n            },\n            TITLE\n          ]\n        },\n        {\n          begin: '=>' // No markup, just a relevance booster\n        }\n      ].concat(STRINGS).concat(NUMBERS)\n    }\n  };\n}();\n/*\nLanguage: Scala\nAuthor: Jan Berkel <jan.berkel@gmail.com>\n*/\n\nhljs.LANGUAGES.scala = function() {\n  var ANNOTATION = {\n    className: 'annotation', begin: '@[A-Za-z]+'\n  };\n  var STRING = {\n    className: 'string',\n    begin: 'u?r?\"\"\"', end: '\"\"\"',\n    relevance: 10\n  };\n  return {\n    defaultMode: {\n      keywords:\n        'type yield lazy override def with val var false true sealed abstract private trait ' +\n        'object null if for while throw finally protected extends import final return else ' +\n        'break new catch super class case package default try this match continue throws',\n      contains: [\n        {\n          className: 'javadoc',\n          begin: '/\\\\*\\\\*', end: '\\\\*/',\n          contains: [{\n            className: 'javadoctag',\n            begin: '@[A-Za-z]+'\n          }],\n          relevance: 10\n        },\n        hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE,\n        hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, STRING,\n        {\n          className: 'class',\n          begin: '((case )?class |object |trait )', end: '({|$)', // beginWithKeyword won't work because a single \"case\" shouldn't start this mode\n          illegal: ':',\n          keywords: 'case class trait object',\n          contains: [\n            {\n              beginWithKeyword: true,\n              keywords: 'extends with',\n              relevance: 10\n            },\n            {\n              className: 'title',\n              begin: hljs.UNDERSCORE_IDENT_RE\n            },\n            {\n              className: 'params',\n              begin: '\\\\(', end: '\\\\)',\n              contains: [\n                hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, STRING,\n                ANNOTATION\n              ]\n            }\n          ]\n        },\n        hljs.C_NUMBER_MODE,\n        ANNOTATION\n      ]\n    }\n  };\n}();\n/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg <steplg@gmail.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>\nDescription: Google go language (golang). For info about language see http://golang.org/\n*/\n\nhljs.LANGUAGES.go = function(){\n  var GO_KEYWORDS = {\n    keyword:\n      'break default func interface select case map struct chan else goto package switch ' +\n      'const fallthrough if range type continue for import return var go defer',\n    constant:\n       'true false iota nil',\n    typename:\n      'bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 ' +\n      'uint16 uint32 uint64 int uint uintptr rune',\n    built_in:\n      'append cap close complex copy imag len make new panic print println real recover delete'\n  };\n  return {\n    defaultMode: {\n      keywords: GO_KEYWORDS,\n      illegal: '</',\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        hljs.QUOTE_STRING_MODE,\n        {\n          className: 'string',\n          begin: '\\'', end: '[^\\\\\\\\]\\'',\n          relevance: 0\n        },\n        {\n          className: 'string',\n          begin: '`', end: '`'\n        },\n        {\n          className: 'number',\n          begin: '[^a-zA-Z_0-9](\\\\-|\\\\+)?\\\\d+(\\\\.\\\\d+|\\\\/\\\\d+)?((d|e|f|l|s)(\\\\+|\\\\-)?\\\\d+)?',\n          relevance: 0\n        },\n        hljs.C_NUMBER_MODE\n      ]\n    }\n  };\n}();\n\n/*\nLanguage: HTML, XML\n*/\n\nhljs.LANGUAGES.xml = function(){\n  var XML_IDENT_RE = '[A-Za-z0-9\\\\._:-]+';\n  var TAG_INTERNALS = {\n    endsWithParent: true,\n    contains: [\n      {\n        className: 'attribute',\n        begin: XML_IDENT_RE,\n        relevance: 0\n      },\n      {\n        begin: '=\"', returnBegin: true, end: '\"',\n        contains: [{\n            className: 'value',\n            begin: '\"', endsWithParent: true\n        }]\n      },\n      {\n        begin: '=\\'', returnBegin: true, end: '\\'',\n        contains: [{\n          className: 'value',\n          begin: '\\'', endsWithParent: true\n        }]\n      },\n      {\n        begin: '=',\n        contains: [{\n          className: 'value',\n          begin: '[^\\\\s/>]+'\n        }]\n      }\n    ]\n  };\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      contains: [\n        {\n          className: 'pi',\n          begin: '<\\\\?', end: '\\\\?>',\n          relevance: 10\n        },\n        {\n          className: 'doctype',\n          begin: '<!DOCTYPE', end: '>',\n          relevance: 10,\n          contains: [{begin: '\\\\[', end: '\\\\]'}]\n        },\n        {\n          className: 'comment',\n          begin: '<!--', end: '-->',\n          relevance: 10\n        },\n        {\n          className: 'cdata',\n          begin: '<\\\\!\\\\[CDATA\\\\[', end: '\\\\]\\\\]>',\n          relevance: 10\n        },\n        {\n          className: 'tag',\n          /*\n          The lookahead pattern (?=...) ensures that 'begin' only matches\n          '<style' as a single word, followed by a whitespace or an\n          ending braket. The '$' is needed for the lexem to be recognized\n          by hljs.subMode() that tests lexems outside the stream.\n          */\n          begin: '<style(?=\\\\s|>|$)', end: '>',\n          keywords: {title: 'style'},\n          contains: [TAG_INTERNALS],\n          starts: {\n            end: '</style>', returnEnd: true,\n            subLanguage: 'css'\n          }\n        },\n        {\n          className: 'tag',\n          // See the comment in the <style tag about the lookahead pattern\n          begin: '<script(?=\\\\s|>|$)', end: '>',\n          keywords: {title: 'script'},\n          contains: [TAG_INTERNALS],\n          starts: {\n            end: '</script>', returnEnd: true,\n            subLanguage: 'javascript'\n          }\n        },\n        {\n          begin: '<%', end: '%>',\n          subLanguage: 'vbscript'\n        },\n        {\n          className: 'tag',\n          begin: '</?', end: '/?>',\n          contains: [\n            {\n              className: 'title', begin: '[^ />]+'\n            },\n            TAG_INTERNALS\n          ]\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi <john.crepezzi@gmail.com>\nWebsite: http://seejohncode.com/\n*/\n\nhljs.LANGUAGES.markdown = {\n  case_insensitive: true,\n  defaultMode: {\n    contains: [\n      // highlight headers\n      {\n        className: 'header',\n        begin: '^#{1,3}', end: '$'\n      },\n      {\n        className: 'header',\n        begin: '^.+?\\\\n[=-]{2,}$'\n      },\n      // inline html\n      {\n        begin: '<', end: '>',\n        subLanguage: 'xml',\n        relevance: 0\n      },\n      // lists (indicators only)\n      {\n        className: 'bullet',\n        begin: '^([*+-]|(\\\\d+\\\\.))\\\\s+'\n      },\n      // strong segments\n      {\n        className: 'strong',\n        begin: '[*_]{2}.+?[*_]{2}'\n      },\n      // emphasis segments\n      {\n        className: 'emphasis',\n        begin: '\\\\*.+?\\\\*'\n      },\n      {\n        className: 'emphasis',\n        begin: '_.+?_',\n        relevance: 0\n      },\n      // blockquotes\n      {\n        className: 'blockquote',\n        begin: '^>\\\\s+', end: '$'\n      },\n      // code snippets\n      {\n        className: 'code',\n        begin: '`.+?`'\n      },\n      {\n        className: 'code',\n        begin: '^    ', end: '$',\n        relevance: 0\n      },\n      // horizontal rules\n      {\n        className: 'horizontal_rule',\n        begin: '^-{3,}', end: '$'\n      },\n      // using links - title and link\n      {\n        begin: '\\\\[.+?\\\\]\\\\(.+?\\\\)',\n        returnBegin: true,\n        contains: [\n          {\n            className: 'link_label',\n            begin: '\\\\[.+\\\\]'\n          },\n          {\n            className: 'link_url',\n            begin: '\\\\(', end: '\\\\)',\n            excludeBegin: true, excludeEnd: true\n          }\n        ]\n      }\n    ]\n  }\n};\n/*\nLanguage: Django\nRequires: xml.js\nAuthor: Ivan Sagalaev <maniac@softwaremaniacs.org>\nContributors: Ilya Baryshev <baryshev@gmail.com>\n*/\n\nhljs.LANGUAGES.django = function() {\n\n  function allowsDjangoSyntax(mode, parent) {\n    return (\n      parent == undefined || // defaultMode\n      (!mode.className && parent.className == 'tag') || // tag_internal\n      mode.className == 'value' // value\n    );\n  }\n\n  function copy(mode, parent) {\n    var result = {};\n    for (var key in mode) {\n      if (key != 'contains') {\n        result[key] = mode[key];\n      }\n      var contains = [];\n      for (var i = 0; mode.contains && i < mode.contains.length; i++) {\n        contains.push(copy(mode.contains[i], mode));\n      }\n      if (allowsDjangoSyntax(mode, parent)) {\n        contains = DJANGO_CONTAINS.concat(contains);\n      }\n      if (contains.length) {\n        result.contains = contains;\n      }\n    }\n    return result;\n  }\n\n  var FILTER = {\n    className: 'filter',\n    begin: '\\\\|[A-Za-z]+\\\\:?', excludeEnd: true,\n    keywords:\n      'truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ' +\n      'filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands ' +\n      'title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ' +\n      'timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ' +\n      'dictsortreversed default_if_none pluralize lower join center default ' +\n      'truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ' +\n      'escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ' +\n      'localtime utc timezone',\n    contains: [\n      {className: 'argument', begin: '\"', end: '\"'}\n    ]\n  };\n\n  var DJANGO_CONTAINS = [\n    {\n      className: 'template_comment',\n      begin: '{%\\\\s*comment\\\\s*%}', end: '{%\\\\s*endcomment\\\\s*%}'\n    },\n    {\n      className: 'template_comment',\n      begin: '{#', end: '#}'\n    },\n    {\n      className: 'template_tag',\n      begin: '{%', end: '%}',\n      keywords:\n        'comment endcomment load templatetag ifchanged endifchanged if endif firstof for ' +\n        'endfor in ifnotequal endifnotequal widthratio extends include spaceless ' +\n        'endspaceless regroup by as ifequal endifequal ssi now with cycle url filter ' +\n        'endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ' +\n        'endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ' +\n        'plural get_current_language language get_available_languages ' +\n        'get_current_language_bidi get_language_info get_language_info_list localize ' +\n        'endlocalize localtime endlocaltime timezone endtimezone get_current_timezone',\n      contains: [FILTER]\n    },\n    {\n      className: 'variable',\n      begin: '{{', end: '}}',\n      contains: [FILTER]\n    }\n  ];\n\n  return {\n    case_insensitive: true,\n    defaultMode: copy(hljs.LANGUAGES.xml.defaultMode)\n  };\n\n}();\n/*\nLanguage: CSS\n*/\n\nhljs.LANGUAGES.css = function() {\n  var FUNCTION = {\n    className: 'function',\n    begin: hljs.IDENT_RE + '\\\\(', end: '\\\\)',\n    contains: [{\n        endsWithParent: true, excludeEnd: true,\n        contains: [hljs.NUMBER_MODE, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE]\n    }]\n  };\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      illegal: '[=/|\\']',\n      contains: [\n        hljs.C_BLOCK_COMMENT_MODE,\n        {\n          className: 'id', begin: '\\\\#[A-Za-z0-9_-]+'\n        },\n        {\n          className: 'class', begin: '\\\\.[A-Za-z0-9_-]+',\n          relevance: 0\n        },\n        {\n          className: 'attr_selector',\n          begin: '\\\\[', end: '\\\\]',\n          illegal: '$'\n        },\n        {\n          className: 'pseudo',\n          begin: ':(:)?[a-zA-Z0-9\\\\_\\\\-\\\\+\\\\(\\\\)\\\\\"\\\\\\']+'\n        },\n        {\n          className: 'at_rule',\n          begin: '@(font-face|page)',\n          lexems: '[a-z-]+',\n          keywords: 'font-face page'\n        },\n        {\n          className: 'at_rule',\n          begin: '@', end: '[{;]', // at_rule eating first \"{\" is a good thing\n                                   // because it doesn’t let it to be parsed as\n                                   // a rule set but instead drops parser into\n                                   // the defaultMode which is how it should be.\n          excludeEnd: true,\n          keywords: 'import page media charset',\n          contains: [\n            FUNCTION,\n            hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE,\n            hljs.NUMBER_MODE\n          ]\n        },\n        {\n          className: 'tag', begin: hljs.IDENT_RE,\n          relevance: 0\n        },\n        {\n          className: 'rules',\n          begin: '{', end: '}',\n          illegal: '[^\\\\s]',\n          relevance: 0,\n          contains: [\n            hljs.C_BLOCK_COMMENT_MODE,\n            {\n              className: 'rule',\n              begin: '[^\\\\s]', returnBegin: true, end: ';', endsWithParent: true,\n              contains: [\n                {\n                  className: 'attribute',\n                  begin: '[A-Z\\\\_\\\\.\\\\-]+', end: ':',\n                  excludeEnd: true,\n                  illegal: '[^\\\\s]',\n                  starts: {\n                    className: 'value',\n                    endsWithParent: true, excludeEnd: true,\n                    contains: [\n                      FUNCTION,\n                      hljs.NUMBER_MODE,\n                      hljs.QUOTE_STRING_MODE,\n                      hljs.APOS_STRING_MODE,\n                      hljs.C_BLOCK_COMMENT_MODE,\n                      {\n                        className: 'hexcolor', begin: '\\\\#[0-9A-F]+'\n                      },\n                      {\n                        className: 'important', begin: '!important'\n                      }\n                    ]\n                  }\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: JSON\nAuthor: Ivan Sagalaev <maniac@softwaremaniacs.org>\n*/\n\nhljs.LANGUAGES.json = function(){\n  var LITERALS = {literal: 'true false null'};\n  var TYPES = [\n    hljs.QUOTE_STRING_MODE,\n    hljs.C_NUMBER_MODE\n  ];\n  var VALUE_CONTAINER = {\n    className: 'value',\n    end: ',', endsWithParent: true, excludeEnd: true,\n    contains: TYPES,\n    keywords: LITERALS\n  };\n  var OBJECT = {\n    begin: '{', end: '}',\n    contains: [\n      {\n        className: 'attribute',\n        begin: '\\\\s*\"', end: '\"\\\\s*:\\\\s*', excludeBegin: true, excludeEnd: true,\n        contains: [hljs.BACKSLASH_ESCAPE],\n        illegal: '\\\\n',\n        starts: VALUE_CONTAINER\n      }\n    ],\n    illegal: '\\\\S'\n  };\n  var ARRAY = {\n    begin: '\\\\[', end: '\\\\]',\n    contains: [hljs.inherit(VALUE_CONTAINER, {className: null})], // inherit is also a workaround for a bug that makes shared modes with endsWithParent compile only the ending of one of the parents\n    illegal: '\\\\S'\n  };\n  TYPES.splice(TYPES.length, 0, OBJECT, ARRAY);\n  return {\n    defaultMode: {\n      contains: TYPES,\n      keywords: LITERALS,\n      illegal: '\\\\S'\n    }\n  };\n}();\n/*\nLanguage: JavaScript\n*/\n\nhljs.LANGUAGES.javascript = {\n  defaultMode: {\n    keywords: {\n      keyword:\n        'in 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      literal:\n        'true false null undefined NaN Infinity'\n    },\n    contains: [\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.C_NUMBER_MODE,\n      { // regexp 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          {\n            className: 'regexp',\n            begin: '/', end: '/[gim]*',\n            contains: [{begin: '\\\\\\\\/'}]\n          }\n        ],\n        relevance: 0\n      },\n      {\n        className: 'function',\n        beginWithKeyword: true, end: '{',\n        keywords: 'function',\n        contains: [\n          {\n            className: 'title', begin: '[A-Za-z$_][0-9A-Za-z$_]*'\n          },\n          {\n            className: 'params',\n            begin: '\\\\(', end: '\\\\)',\n            contains: [\n              hljs.C_LINE_COMMENT_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ],\n            illegal: '[\"\\'\\\\(]'\n          }\n        ]\n      }\n    ]\n  }\n};\n/*\nLanguage: CoffeeScript\nAuthor: Dmytrii Nagirniak <dnagir@gmail.com>\nContributors: Oleg Efimov <efimovov@gmail.com>\nDescription: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/\n*/\n\nhljs.LANGUAGES.coffeescript = function() {\n  var keywords = {\n    keyword:\n      // JS keywords\n      'in if for while finally new do return else break catch instanceof throw try this ' +\n      'switch continue typeof delete debugger class extends super' +\n      // Coffee keywords\n      'then unless until loop of by when and or is isnt not',\n    literal:\n      // JS literals\n      'true false null undefined ' +\n      // Coffee literals\n      'yes no on off ',\n    reserved: 'case default function var void with const let enum export import native ' +\n      '__hasProp __extends __slice __bind __indexOf'\n  };\n\n  var JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n\n  var COFFEE_QUOTE_STRING_SUBST_MODE = {\n    className: 'subst',\n    begin: '#\\\\{', end: '}',\n    keywords: keywords,\n    contains: [hljs.C_NUMBER_MODE, hljs.BINARY_NUMBER_MODE]\n  };\n\n  var COFFEE_QUOTE_STRING_MODE = {\n    className: 'string',\n    begin: '\"', end: '\"',\n    relevance: 0,\n    contains: [hljs.BACKSLASH_ESCAPE, COFFEE_QUOTE_STRING_SUBST_MODE]\n  };\n\n  var COFFEE_HEREDOC_MODE = {\n    className: 'string',\n    begin: '\"\"\"', end: '\"\"\"',\n    contains: [hljs.BACKSLASH_ESCAPE, COFFEE_QUOTE_STRING_SUBST_MODE]\n  };\n\n  var COFFEE_HERECOMMENT_MODE = {\n    className: 'comment',\n    begin: '###', end: '###'\n  };\n\n  var COFFEE_HEREGEX_MODE = {\n    className: 'regexp',\n    begin: '///', end: '///',\n    contains: [hljs.HASH_COMMENT_MODE]\n  };\n\n  var COFFEE_FUNCTION_DECLARATION_MODE = {\n    className: 'function',\n    begin: JS_IDENT_RE + '\\\\s*=\\\\s*(\\\\(.+\\\\))?\\\\s*[-=]>',\n    returnBegin: true,\n    contains: [\n      {\n        className: 'title',\n        begin: JS_IDENT_RE\n      },\n      {\n        className: 'params',\n        begin: '\\\\(', end: '\\\\)'\n      }\n    ]\n  };\n\n  var COFFEE_EMBEDDED_JAVASCRIPT = {\n    begin: '`', end: '`',\n    excludeBegin: true, excludeEnd: true,\n    subLanguage: 'javascript'\n  };\n\n  return {\n    defaultMode: {\n      keywords: keywords,\n      contains: [\n        // Numbers\n        hljs.C_NUMBER_MODE,\n        hljs.BINARY_NUMBER_MODE,\n        // Strings\n        hljs.APOS_STRING_MODE,\n        COFFEE_HEREDOC_MODE, // Should be before COFFEE_QUOTE_STRING_MODE for greater priority\n        COFFEE_QUOTE_STRING_MODE,\n        // Comments\n        COFFEE_HERECOMMENT_MODE, // Should be before hljs.HASH_COMMENT_MODE for greater priority\n        hljs.HASH_COMMENT_MODE,\n        // CoffeeScript specific modes\n        COFFEE_HEREGEX_MODE,\n        COFFEE_EMBEDDED_JAVASCRIPT,\n        COFFEE_FUNCTION_DECLARATION_MODE\n      ]\n    }\n  };\n}();\n/*\nLanguage: ActionScript\nAuthor: Alexander Myadzel <myadzel@gmail.com>\n*/\n\nhljs.LANGUAGES.actionscript = function() {\n  var IDENT_RE = '[a-zA-Z_$][a-zA-Z0-9_$]*';\n  var IDENT_FUNC_RETURN_TYPE_RE = '([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)';\n\n  var AS3_REST_ARG_MODE = {\n    className: 'rest_arg',\n    begin: '[.]{3}', end: IDENT_RE,\n    relevance: 10\n  };\n  var TITLE_MODE = {className: 'title', begin: IDENT_RE};\n\n  return {\n    defaultMode: {\n      keywords: {\n        keyword: 'as break case catch class const continue default delete do dynamic each ' +\n          'else extends final finally for function get if implements import in include ' +\n          'instanceof interface internal is namespace native new override package private ' +\n          'protected public return set static super switch this throw try typeof use var void ' +\n          'while with',\n        literal: 'true false null undefined'\n      },\n      contains: [\n        hljs.APOS_STRING_MODE,\n        hljs.QUOTE_STRING_MODE,\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        hljs.C_NUMBER_MODE,\n        {\n          className: 'package',\n          beginWithKeyword: true, end: '{',\n          keywords: 'package',\n          contains: [TITLE_MODE]\n        },\n        {\n          className: 'class',\n          beginWithKeyword: true, end: '{',\n          keywords: 'class interface',\n          contains: [\n            {\n              beginWithKeyword: true,\n              keywords: 'extends implements'\n            },\n            TITLE_MODE\n          ]\n        },\n        {\n          className: 'preprocessor',\n          beginWithKeyword: true, end: ';',\n          keywords: 'import include'\n        },\n        {\n          className: 'function',\n          beginWithKeyword: true, end: '[{;]',\n          keywords: 'function',\n          illegal: '\\\\S',\n          contains: [\n            TITLE_MODE,\n            {\n              className: 'params',\n              begin: '\\\\(', end: '\\\\)',\n              contains: [\n                hljs.APOS_STRING_MODE,\n                hljs.QUOTE_STRING_MODE,\n                hljs.C_LINE_COMMENT_MODE,\n                hljs.C_BLOCK_COMMENT_MODE,\n                AS3_REST_ARG_MODE\n              ]\n            },\n            {\n              className: 'type',\n              begin: ':',\n              end: IDENT_FUNC_RETURN_TYPE_RE,\n              relevance: 10\n            }\n          ]\n        }\n      ]\n    }\n  }\n}();\n/*\nLanguage: VBScript\nAuthor: Nikita Ledyaev <lenikita@yandex.ru>\nContributors: Michal Gabrukiewicz <mgabru@gmail.com>\n*/\n\nhljs.LANGUAGES.vbscript = {\n  case_insensitive: true,\n  defaultMode: {\n    keywords: {\n      keyword:\n        'call class const dim do loop erase execute executeglobal exit for each next function ' +\n        'if then else on error option explicit new private property let get public randomize ' +\n        'redim rem select case set stop sub while wend with end to elseif is or xor and not ' +\n        'class_initialize class_terminate default preserve in me byval byref step resume goto',\n      built_in:\n        'lcase month vartype instrrev ubound setlocale getobject rgb getref string ' +\n        'weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency ' +\n        'conversions csng timevalue second year space abs clng timeserial fixs len asc ' +\n        'isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate ' +\n        'instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex ' +\n        'chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim ' +\n        'strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion ' +\n        'scriptengine split scriptengineminorversion cint sin datepart ltrim sqr ' +\n        'scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw ' +\n        'chrw regexp server response request cstr err',\n      literal:\n        'true false null nothing empty'\n    },\n    illegal: '//',\n    contains: [\n      { // can’t use standard QUOTE_STRING_MODE since it’s compiled with its own escape and doesn’t use the local one\n        className: 'string',\n        begin: '\"', end: '\"',\n        illegal: '\\\\n',\n        contains: [{begin: '\"\"'}],\n        relevance: 0\n      },\n      {\n        className: 'comment',\n        begin: '\\'', end: '$'\n      },\n      hljs.C_NUMBER_MODE\n    ]\n  }\n};\n/*\n  Language: HTTP\n  Description: HTTP request and response headers with automatic body highlighting\n  Author: Ivan Sagalaev <maniac@softwaremaniacs.org>\n*/\n\nhljs.LANGUAGES.http = {\n  defaultMode: {\n    illegal: '\\\\S',\n    contains: [\n      {\n        className: 'status',\n        begin: '^HTTP/[0-9\\\\.]+', end: '$',\n        contains: [{className: 'number', begin: '\\\\b\\\\d{3}\\\\b'}]\n      },\n      {\n        className: 'request',\n        begin: '^[A-Z]+ (.*?) HTTP/[0-9\\\\.]+$', returnBegin: true, end: '$',\n        contains: [\n          {\n            className: 'string',\n            begin: ' ', end: ' ',\n            excludeBegin: true, excludeEnd: true\n          }\n        ]\n      },\n      {\n        className: 'attribute',\n        begin: '^\\\\w', end: ': ', excludeEnd: true,\n        illegal: '\\\\n',\n        starts: {className: 'string', end: '$'}\n      },\n      {\n        begin: '\\\\n\\\\n',\n        starts: {subLanguage: '', endsWithParent: true}\n      }\n    ]\n  }\n}\n/*\nLanguage: Lua\nAuthor: Andrew Fedorov <dmmdrs@mail.ru>\n*/\n\nhljs.LANGUAGES.lua = function() {\n  var OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n  var CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n  var LONG_BRACKETS = {\n    begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,\n    contains: ['self']\n  };\n  var COMMENTS = [\n    {\n      className: 'comment',\n      begin: '--(?!' + OPENING_LONG_BRACKET + ')', end: '$'\n    },\n    {\n      className: 'comment',\n      begin: '--' + OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,\n      contains: [LONG_BRACKETS],\n      relevance: 10\n    }\n  ]\n  return {\n    defaultMode: {\n      lexems: hljs.UNDERSCORE_IDENT_RE,\n      keywords: {\n        keyword:\n          'and break do else elseif end false for if in local nil not or repeat return then ' +\n          'true until while',\n        built_in:\n          '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load ' +\n          'loadfile loadstring module next pairs pcall print rawequal rawget rawset require ' +\n          'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ' +\n          'io math os package string table'\n      },\n      contains: COMMENTS.concat([\n        {\n          className: 'function',\n          beginWithKeyword: true, end: '\\\\)',\n          keywords: 'function',\n          contains: [\n            {\n              className: 'title',\n              begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*'\n            },\n            {\n              className: 'params',\n              begin: '\\\\(', endsWithParent: true,\n              contains: COMMENTS\n            }\n          ].concat(COMMENTS)\n        },\n        hljs.C_NUMBER_MODE,\n        hljs.APOS_STRING_MODE,\n        hljs.QUOTE_STRING_MODE,\n        {\n          className: 'string',\n          begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,\n          contains: [LONG_BRACKETS],\n          relevance: 10\n        }\n      ])\n    }\n  };\n}();\n/*\nLanguage: Delphi\n*/\n\nhljs.LANGUAGES.delphi = function(){\n  var DELPHI_KEYWORDS = 'and safecall cdecl then string exports library not pascal set ' +\n    'virtual file in array label packed end. index while const raise for to implementation ' +\n    'with except overload destructor downto finally program exit unit inherited override if ' +\n    'type until function do begin repeat goto nil far initialization object else var uses ' +\n    'external resourcestring interface end finalization class asm mod case on shr shl of ' +\n    'register xorwrite threadvar try record near stored constructor stdcall inline div out or ' +\n    'procedure';\n  var DELPHI_CLASS_KEYWORDS = 'safecall stdcall pascal stored const implementation ' +\n    'finalization except to finally program inherited override then exports string read not ' +\n    'mod shr try div shl set library message packed index for near overload label downto exit ' +\n    'public goto interface asm on of constructor or private array unit raise destructor var ' +\n    'type until function else external with case default record while protected property ' +\n    'procedure published and cdecl do threadvar file in if end virtual write far out begin ' +\n    'repeat nil initialization object uses resourcestring class register xorwrite inline static';\n  var CURLY_COMMENT =  {\n    className: 'comment',\n    begin: '{', end: '}',\n    relevance: 0\n  };\n  var PAREN_COMMENT = {\n    className: 'comment',\n    begin: '\\\\(\\\\*', end: '\\\\*\\\\)',\n    relevance: 10\n  };\n  var STRING = {\n    className: 'string',\n    begin: '\\'', end: '\\'',\n    contains: [{begin: '\\'\\''}],\n    relevance: 0\n  };\n  var CHAR_STRING = {\n    className: 'string', begin: '(#\\\\d+)+'\n  };\n  var FUNCTION = {\n    className: 'function',\n    beginWithKeyword: true, end: '[:;]',\n    keywords: 'function constructor|10 destructor|10 procedure|10',\n    contains: [\n      {\n        className: 'title', begin: hljs.IDENT_RE\n      },\n      {\n        className: 'params',\n        begin: '\\\\(', end: '\\\\)',\n        keywords: DELPHI_KEYWORDS,\n        contains: [STRING, CHAR_STRING]\n      },\n      CURLY_COMMENT, PAREN_COMMENT\n    ]\n  };\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      keywords: DELPHI_KEYWORDS,\n      illegal: '(\"|\\\\$[G-Zg-z]|\\\\/\\\\*|</)',\n      contains: [\n        CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE,\n        STRING, CHAR_STRING,\n        hljs.NUMBER_MODE,\n        FUNCTION,\n        {\n          className: 'class',\n          begin: '=\\\\bclass\\\\b', end: 'end;',\n          keywords: DELPHI_CLASS_KEYWORDS,\n          contains: [\n            STRING, CHAR_STRING,\n            CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE,\n            FUNCTION\n          ]\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov <vsevolod.solovyov@gmail.com>\n*/\n\nhljs.LANGUAGES.java  = {\n  defaultMode: {\n    keywords:\n      'false synchronized int abstract float private char boolean static null if const ' +\n      'for true while long throw strictfp finally protected import native final return void ' +\n      'enum else break transient new catch instanceof byte super volatile case assert short ' +\n      'package default double public try this switch continue throws',\n    contains: [\n      {\n        className: 'javadoc',\n        begin: '/\\\\*\\\\*', end: '\\\\*/',\n        contains: [{\n          className: 'javadoctag', begin: '@[A-Za-z]+'\n        }],\n        relevance: 10\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'class',\n        beginWithKeyword: true, end: '{',\n        keywords: 'class interface',\n        illegal: ':',\n        contains: [\n          {\n            beginWithKeyword: true,\n            keywords: 'extends implements',\n            relevance: 10\n          },\n          {\n            className: 'title',\n            begin: hljs.UNDERSCORE_IDENT_RE\n          }\n        ]\n      },\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'annotation', begin: '@[A-Za-z]+'\n      }\n    ]\n  }\n};\n/*\nLanguage: C++\nContributors: Evgeny Stepanischev <imbolk@gmail.com>\n*/\n\nhljs.LANGUAGES.cpp = function(){\n  var CPP_KEYWORDS = {\n    keyword: 'false int float while private char catch export virtual operator sizeof ' +\n      'dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace ' +\n      'unsigned long throw volatile static protected bool template mutable if public friend ' +\n      'do return goto auto void enum else break new extern using true class asm case typeid ' +\n      'short reinterpret_cast|10 default double register explicit signed typename try this ' +\n      'switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype ' +\n      'noexcept nullptr static_assert thread_local restrict _Bool complex',\n    built_in: 'std string cin cout cerr clog stringstream istringstream ostringstream ' +\n      'auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ' +\n      'unordered_map unordered_multiset unordered_multimap array shared_ptr'\n  };\n  return {\n    defaultMode: {\n      keywords: CPP_KEYWORDS,\n      illegal: '</',\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        hljs.QUOTE_STRING_MODE,\n        {\n          className: 'string',\n          begin: '\\'\\\\\\\\?.', end: '\\'',\n          illegal: '.'\n        },\n        {\n          className: 'number',\n          begin: '\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)'\n        },\n        hljs.C_NUMBER_MODE,\n        {\n          className: 'preprocessor',\n          begin: '#', end: '$'\n        },\n        {\n          className: 'stl_container',\n          begin: '\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<', end: '>',\n          keywords: CPP_KEYWORDS,\n          relevance: 10,\n          contains: ['self']\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Objective C\nAuthor: Valerii Hiora <valerii.hiora@gmail.com>\nContributors: Angel G. Olloqui <angelgarcia.mail@gmail.com>\n*/\n\nhljs.LANGUAGES.objectivec = function(){\n  var OBJC_KEYWORDS = {\n    keyword:\n      'int float while private char catch export sizeof typedef const struct for union ' +\n      'unsigned long volatile static protected bool mutable if public do return goto void ' +\n      'enum else break extern class asm case short default double throw register explicit ' +\n      'signed typename try this switch continue wchar_t inline readonly assign property ' +\n      'protocol self synchronized end synthesize id optional required implementation ' +\n      'nonatomic interface super unichar finally dynamic IBOutlet IBAction selector strong ' +\n      'weak readonly',\n    literal:\n    \t'false true FALSE TRUE nil YES NO NULL',\n    built_in:\n      'NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView ' +\n      'UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread ' +\n      'UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool ' +\n      'UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray ' +\n      'NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController ' +\n      'UINavigationBar UINavigationController UITabBarController UIPopoverController ' +\n      'UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController ' +\n      'NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor ' +\n      'UIFont UIApplication NSNotFound NSNotificationCenter NSNotification ' +\n      'UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar ' +\n      'NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection class ' +\n      'UIInterfaceOrientation MPMoviePlayerController dispatch_once_t ' +\n      'dispatch_queue_t dispatch_sync dispatch_async dispatch_once'\n  };\n  return {\n    defaultMode: {\n      keywords: OBJC_KEYWORDS,\n      illegal: '</',\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        hljs.C_NUMBER_MODE,\n        hljs.QUOTE_STRING_MODE,\n        {\n          className: 'string',\n          begin: '\\'',\n          end: '[^\\\\\\\\]\\'',\n          illegal: '[^\\\\\\\\][^\\']'\n        },\n\n        {\n          className: 'preprocessor',\n          begin: '#import',\n          end: '$',\n          contains: [\n          {\n            className: 'title',\n            begin: '\\\"',\n            end: '\\\"'\n          },\n          {\n            className: 'title',\n            begin: '<',\n            end: '>'\n          }\n          ]\n        },\n        {\n          className: 'preprocessor',\n          begin: '#',\n          end: '$'\n        },\n        {\n          className: 'class',\n          beginWithKeyword: true,\n          end: '({|$)',\n          keywords: 'interface class protocol implementation',\n          contains: [{\n            className: 'id',\n            begin: hljs.UNDERSCORE_IDENT_RE\n          }\n          ]\n        },\n        {\n          className: 'variable',\n          begin: '\\\\.'+hljs.UNDERSCORE_IDENT_RE\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Vala\nAuthor: Antono Vasiljev <antono.vasiljev@gmail.com>\nDescription: Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.\n*/\n\nhljs.LANGUAGES.vala = {\n  defaultMode: {\n    keywords: {\n      keyword:\n        // Value types\n        'char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 ' +\n        'uint16 uint32 uint64 float double bool struct enum string void ' +\n        // Reference types\n        'weak unowned owned ' +\n        // Modifiers\n        'async signal static abstract interface override ' +\n        // Control Structures\n        'while do for foreach else switch case break default return try catch ' +\n        // Visibility\n        'public private protected internal ' +\n        // Other\n        'using new this get set const stdout stdin stderr var',\n      built_in:\n        'DBus GLib CCode Gee Object',\n      literal:\n        'false true null'\n    },\n    contains: [\n      {\n        className: 'class',\n        beginWithKeyword: true, end: '{',\n        keywords: 'class interface delegate namespace',\n        contains: [\n          {\n            beginWithKeyword: true,\n            keywords: 'extends implements'\n          },\n          {\n            className: 'title',\n            begin: hljs.UNDERSCORE_IDENT_RE\n          }\n        ]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'string',\n        begin: '\"\"\"', end: '\"\"\"',\n        relevance: 5\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_NUMBER_MODE,\n      {\n        className: 'preprocessor',\n        begin: '^#', end: '$',\n        relevance: 2\n      },\n      {\n        className: 'constant',\n        begin: ' [A-Z_]+ ',\n        relevance: 0\n      }\n    ]\n  }\n};\n/*\nLanguage: C#\nAuthor: Jason Diamond <jason@diamond.name>\n*/\n\nhljs.LANGUAGES.cs  = {\n  defaultMode: {\n    keywords:\n      // Normal keywords.\n      'abstract as base bool break byte case catch char checked class const continue decimal ' +\n      'default delegate do double else enum event explicit extern false finally fixed float ' +\n      'for foreach goto if implicit in int interface internal is lock long namespace new null ' +\n      'object operator out override params private protected public readonly ref return sbyte ' +\n      'sealed short sizeof stackalloc static string struct switch this throw true try typeof ' +\n      'uint ulong unchecked unsafe ushort using virtual volatile void while ' +\n      // Contextual keywords.\n      'ascending descending from get group into join let orderby partial select set value var '+\n      'where yield',\n    contains: [\n      {\n        className: 'comment',\n        begin: '///', end: '$', returnBegin: true,\n        contains: [\n          {\n            className: 'xmlDocTag',\n            begin: '///|<!--|-->'\n          },\n          {\n            className: 'xmlDocTag',\n            begin: '</?', end: '>'\n          }\n        ]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'preprocessor',\n        begin: '#', end: '$',\n        keywords: 'if else elif endif define undef warning error line region endregion pragma checksum'\n      },\n      {\n        className: 'string',\n        begin: '@\"', end: '\"',\n        contains: [{begin: '\"\"'}]\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.C_NUMBER_MODE\n    ]\n  }\n};\n/*\nLanguage: D\nAuthor: Aleksandar Ruzicic <aleksandar@ruzicic.info>\nDescription: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.\nVersion: 1.0a\nDate: 2012-04-08\n*/\n\n/**\n * Known issues:\n *\n * - invalid hex string literals will be recognized as a double quoted strings\n *   but 'x' at the beginning of string will not be matched\n *\n * - delimited string literals are not checked for matching end delimiter\n *   (not possible to do with js regexp)\n *\n * - content of token string is colored as a string (i.e. no keyword coloring inside a token string)\n *   also, content of token string is not validated to contain only valid D tokens\n *\n * - special token sequence rule is not strictly following D grammar (anything following #line\n *   up to the end of line is matched as special token sequence)\n */\n\nhljs.LANGUAGES.d = function() {\n\n\t/**\n\t * Language keywords\n\t *\n\t * @type {Object}\n\t */\n\tvar D_KEYWORDS = {\n\t\tkeyword:\n\t\t\t'abstract alias align asm assert auto body break byte case cast catch class ' +\n\t\t\t'const continue debug default delete deprecated do else enum export extern final ' +\n\t\t\t'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' +\n\t\t\t'interface invariant is lazy macro mixin module new nothrow out override package ' +\n\t\t\t'pragma private protected public pure ref return scope shared static struct ' +\n\t\t\t'super switch synchronized template this throw try typedef typeid typeof union ' +\n\t\t\t'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' +\n\t\t\t'__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__',\n\t\tbuilt_in:\n\t\t\t'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' +\n\t\t\t'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' +\n\t\t\t'wstring',\n\t\tliteral:\n\t\t\t'false null true'\n\t};\n\n\t/**\n\t * Number literal regexps\n\t *\n\t * @type {String}\n\t */\n\tvar decimal_integer_re = '(0|[1-9][\\\\d_]*)',\n\t\tdecimal_integer_nosus_re = '(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)',\n\t\tbinary_integer_re = '0[bB][01_]+',\n\t\thexadecimal_digits_re = '([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)',\n\t\thexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re,\n\n\t\tdecimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')',\n\t\tdecimal_float_re = '(' + decimal_integer_nosus_re + '(\\\\.\\\\d*|' + decimal_exponent_re + ')|' +\n\t\t\t\t\t\t\t\t'\\\\d+\\\\.' + decimal_integer_nosus_re + decimal_integer_nosus_re + '|' +\n\t\t\t\t\t\t\t\t'\\\\.' + decimal_integer_re + decimal_exponent_re + '?' +\n\t\t\t\t\t\t\t')',\n\t\thexadecimal_float_re = '(0[xX](' +\n\t\t\t\t\t\t\t\t\thexadecimal_digits_re + '\\\\.' + hexadecimal_digits_re + '|'+\n\t\t\t\t\t\t\t\t\t'\\\\.?' + hexadecimal_digits_re +\n\t\t\t\t\t\t\t   ')[pP][+-]?' + decimal_integer_nosus_re + ')';\n\n\t\tinteger_re = '(' +\n\t\t\tdecimal_integer_re + '|' +\n\t\t\tbinary_integer_re  + '|' +\n\t\t \thexadecimal_integer_re   +\n\t\t')',\n\n\t\tfloat_re = '(' +\n\t\t\thexadecimal_float_re + '|' +\n\t\t\tdecimal_float_re  +\n\t\t')';\n\n\t/**\n\t * Escape sequence supported in D string and character literals\n\t *\n\t * @type {String}\n\t */\n\tvar escape_sequence_re = '\\\\\\\\(' +\n\t\t\t\t\t\t\t'[\\'\"\\\\?\\\\\\\\abfnrtv]|' +\t// common escapes\n\t\t\t\t\t\t\t'u[\\\\dA-Fa-f]{4}|' + \t\t// four hex digit unicode codepoint\n\t\t\t\t\t\t\t'[0-7]{1,3}|' + \t\t\t// one to three octal digit ascii char code\n\t\t\t\t\t\t\t'x[\\\\dA-Fa-f]{2}|' +\t\t// two hex digit ascii char code\n\t\t\t\t\t\t\t'U[\\\\dA-Fa-f]{8}' +\t\t\t// eight hex digit unicode codepoint\n\t\t\t\t\t\t  ')|' +\n\t\t\t\t\t\t  '&[a-zA-Z\\\\d]{2,};';\t\t\t// named character entity\n\n\n\t/**\n\t * D integer number literals\n\t *\n\t * @type {Object}\n\t */\n\tvar D_INTEGER_MODE = {\n\t\tclassName: 'number',\n    \tbegin: '\\\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?',\n    \trelevance: 0\n\t};\n\n\t/**\n\t * [D_FLOAT_MODE description]\n\t * @type {Object}\n\t */\n\tvar D_FLOAT_MODE = {\n\t\tclassName: 'number',\n\t\tbegin: '\\\\b(' +\n\t\t\t\tfloat_re + '([fF]|L|i|[fF]i|Li)?|' +\n\t\t\t\tinteger_re + '(i|[fF]i|Li)' +\n\t\t\t')',\n\t\trelevance: 0\n\t};\n\n\t/**\n\t * D character literal\n\t *\n\t * @type {Object}\n\t */\n\tvar D_CHARACTER_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: '\\'(' + escape_sequence_re + '|.)', end: '\\'',\n\t\tillegal: '.'\n\t};\n\n\t/**\n\t * D string escape sequence\n\t *\n\t * @type {Object}\n\t */\n\tvar D_ESCAPE_SEQUENCE = {\n\t\tbegin: escape_sequence_re,\n\t\trelevance: 0\n\t}\n\n\t/**\n\t * D double quoted string literal\n\t *\n\t * @type {Object}\n\t */\n\tvar D_STRING_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: '\"',\n\t\tcontains: [D_ESCAPE_SEQUENCE],\n\t\tend: '\"[cwd]?',\n\t\trelevance: 0\n\t};\n\n\t/**\n\t * D wysiwyg and delimited string literals\n\t *\n\t * @type {Object}\n\t */\n\tvar D_WYSIWYG_DELIMITED_STRING_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: '[rq]\"',\n\t\tend: '\"[cwd]?',\n\t\trelevance: 5\n\t};\n\n\t/**\n\t * D alternate wysiwyg string literal\n\t *\n\t * @type {Object}\n\t */\n\tvar D_ALTERNATE_WYSIWYG_STRING_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: '`',\n\t\tend: '`[cwd]?'\n\t};\n\n\t/**\n\t * D hexadecimal string literal\n\t *\n\t * @type {Object}\n\t */\n\tvar D_HEX_STRING_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: 'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',\n\t\trelevance: 10\n\t};\n\n\t/**\n\t * D delimited string literal\n\t *\n\t * @type {Object}\n\t */\n\tvar D_TOKEN_STRING_MODE = {\n\t\tclassName: 'string',\n\t\tbegin: 'q\"\\\\{',\n\t\tend: '\\\\}\"'\n\t};\n\n\t/**\n\t * Hashbang support\n\t *\n\t * @type {Object}\n\t */\n\tvar D_HASHBANG_MODE = {\n\t\tclassName: 'shebang',\n\t\tbegin: '^#!',\n\t\tend: '$',\n\t\trelevance: 5\n\t};\n\n\t/**\n\t * D special token sequence\n\t *\n\t * @type {Object}\n\t */\n\tvar D_SPECIAL_TOKEN_SEQUENCE_MODE = {\n\t\tclassName: 'preprocessor',\n\t\tbegin: '#(line)',\n\t\tend: '$',\n\t\trelevance: 5\n\t};\n\n\t/**\n\t * D attributes\n\t *\n\t * @type {Object}\n\t */\n\tvar D_ATTRIBUTE_MODE = {\n\t\tclassName: 'keyword',\n\t\tbegin: '@[a-zA-Z_][a-zA-Z_\\\\d]*'\n\t};\n\n\t/**\n\t * D nesting comment\n\t *\n\t * @type {Object}\n\t */\n\tvar D_NESTING_COMMENT_MODE = {\n\t\tclassName: 'comment',\n\t\tbegin: '\\\\/\\\\+',\n\t\tcontains: ['self'],\n\t\tend: '\\\\+\\\\/',\n\t\trelevance: 10\n\t}\n\n\treturn {\n\t\tdefaultMode: {\n\t\t\tlexems: hljs.UNDERSCORE_IDENT_RE,\n\t\t\tkeywords: D_KEYWORDS,\n\t\t\tcontains: [\n\t\t\t\thljs.C_LINE_COMMENT_MODE,\n      \t\t\thljs.C_BLOCK_COMMENT_MODE,\n      \t\t\tD_NESTING_COMMENT_MODE,\n      \t\t\tD_HEX_STRING_MODE,\n      \t\t\tD_STRING_MODE,\n      \t\t\tD_WYSIWYG_DELIMITED_STRING_MODE,\n      \t\t\tD_ALTERNATE_WYSIWYG_STRING_MODE,\n      \t\t\tD_TOKEN_STRING_MODE,\n      \t\t\tD_FLOAT_MODE,\n      \t\t\tD_INTEGER_MODE,\n      \t\t\tD_CHARACTER_MODE,\n      \t\t\tD_HASHBANG_MODE,\n      \t\t\tD_SPECIAL_TOKEN_SEQUENCE_MODE,\n      \t\t\tD_ATTRIBUTE_MODE\n\t\t\t]\n\t\t}\n\t};\n}();\n/*\nLanguage: RenderMan RSL\nDescription: RenderMan RSL Language\nAuthor: Konstantin Evdokimenko <qewerty@gmail.com>\nContributors: Shuen-Huei Guan <drake.guan@gmail.com>\n*/\n\nhljs.LANGUAGES.rsl  = {\n  defaultMode: {\n    keywords: {\n      'keyword':\n        'float color point normal vector matrix while for if do return else break extern continue',\n      'built_in':\n        'abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise ' +\n        'clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp ' +\n        'faceforward filterstep floor format fresnel incident length lightsource log match ' +\n        'max min mod noise normalize ntransform opposite option phong pnoise pow printf ' +\n        'ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp ' +\n        'setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan ' +\n        'texture textureinfo trace transform vtransform xcomp ycomp zcomp'\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: 'preprocessor',\n        begin: '#', end: '$'\n      },\n      {\n        className: 'shader',\n        beginWithKeyword: true, end: '\\\\(',\n        keywords: 'surface displacement light volume imager'\n      },\n      {\n        className: 'shading',\n        beginWithKeyword: true, end: '\\\\(',\n        keywords: 'illuminate illuminance gather'\n      }\n    ]\n  }\n};\n/*\nLanguage: RenderMan RIB\nDescription: RenderMan RIB Language\nAuthor: Konstantin Evdokimenko <qewerty@gmail.com>\nContributors: Shuen-Huei Guan <drake.guan@gmail.com>\n*/\n\nhljs.LANGUAGES.rib  = {\n  defaultMode: {\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\n/*\nLanguage: MEL\nDescription: Maya Embedded Language\nAuthor: Shuen-Huei Guan <drake.guan@gmail.com>\n*/\n\nhljs.LANGUAGES.mel = {\n  defaultMode: {\n    keywords:\n      'int float string vector matrix if else switch case default while do for in break ' +\n      'continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic ' +\n      'addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey ' +\n      'affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve ' +\n      'alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor ' +\n      'animDisplay animView annotate appendStringArray applicationName applyAttrPreset ' +\n      'applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx ' +\n      'artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu ' +\n      'artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand ' +\n      'assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface ' +\n      'attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu ' +\n      'attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp ' +\n      'attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery ' +\n      'autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults ' +\n      'bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership ' +\n      'bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType ' +\n      'boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu ' +\n      'buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge ' +\n      'cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch ' +\n      'catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox ' +\n      'character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp ' +\n      'checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip ' +\n      'clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore ' +\n      'closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter ' +\n      'cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color ' +\n      'colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp ' +\n      'colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem ' +\n      'componentEditor compositingInterop computePolysetVolume condition cone confirmDialog ' +\n      'connectAttr connectControl connectDynamic connectJoint connectionInfo constrain ' +\n      'constrainValue constructionHistory container containsMultibyte contextInfo control ' +\n      'convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation ' +\n      'convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache ' +\n      'cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel ' +\n      'cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver ' +\n      'cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor ' +\n      'createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer ' +\n      'createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse ' +\n      'currentCtx currentTime currentTimeCtx currentUnit currentUnit curve curveAddPtCtx ' +\n      'curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface ' +\n      'curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox ' +\n      'defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete ' +\n      'deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes ' +\n      'delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo ' +\n      'dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable ' +\n      'disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected ' +\n      'displayColor displayCull displayLevelOfDetail displayPref displayRGBColor ' +\n      'displaySmoothness displayStats displayString displaySurface distanceDimContext ' +\n      'distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct ' +\n      'doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator ' +\n      'duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression ' +\n      'dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor ' +\n      'dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers ' +\n      'editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor ' +\n      'editorTemplate effector emit emitter enableDevice encodeString endString endsWith env ' +\n      'equivalent equivalentTol erf error eval eval evalDeferred evalEcho event ' +\n      'exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp ' +\n      'expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof ' +\n      'fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo ' +\n      'filetest filletCurve filter filterCurve filterExpand filterStudioImport ' +\n      'findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster ' +\n      'finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar ' +\n      'floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo ' +\n      'fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint ' +\n      'frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss ' +\n      'geometryConstraint getApplicationVersionAsFloat getAttr getClassification ' +\n      'getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes ' +\n      'getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender ' +\n      'glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl ' +\n      'gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid ' +\n      'gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap ' +\n      'HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor ' +\n      'HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached ' +\n      'HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel ' +\n      'headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey ' +\n      'hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender ' +\n      'hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox ' +\n      'iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ' +\n      'ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ' +\n      'ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform ' +\n      'insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance ' +\n      'instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp ' +\n      'interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf ' +\n      'isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect ' +\n      'itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx ' +\n      'jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner ' +\n      'keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx ' +\n      'keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx ' +\n      'keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx ' +\n      'keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor ' +\n      'layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList ' +\n      'lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep ' +\n      'listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory ' +\n      'listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation ' +\n      'listNodeTypes listPanelCategories listRelatives listSets listTransforms ' +\n      'listUnselected listerEditor loadFluid loadNewShelf loadPlugin ' +\n      'loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log ' +\n      'longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ' +\n      'makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext ' +\n      'manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx ' +\n      'manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout ' +\n      'menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp ' +\n      'mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move ' +\n      'moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute ' +\n      'nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast ' +\n      'nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint ' +\n      'normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect ' +\n      'nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref ' +\n      'nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType ' +\n      'objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface ' +\n      'offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit ' +\n      'orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier ' +\n      'paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration ' +\n      'panelHistory paramDimContext paramDimension paramLocator parent parentConstraint ' +\n      'particle particleExists particleInstancer particleRenderInfo partition pasteKey ' +\n      'pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture ' +\n      'pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo ' +\n      'pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult ' +\n      'pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend ' +\n      'polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal ' +\n      'polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge ' +\n      'polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge ' +\n      'polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet ' +\n      'polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet ' +\n      'polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection ' +\n      'polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge ' +\n      'polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet ' +\n      'polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix ' +\n      'polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut ' +\n      'polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet ' +\n      'polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge ' +\n      'polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex ' +\n      'polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection ' +\n      'polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection ' +\n      'polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint ' +\n      'polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate ' +\n      'polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge ' +\n      'polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing ' +\n      'polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet ' +\n      'polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace ' +\n      'popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer ' +\n      'projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx ' +\n      'propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd ' +\n      'python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection ' +\n      'radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl ' +\n      'readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference ' +\n      'referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE ' +\n      'registerPluginResource rehash reloadImage removeJoint removeMultiInstance ' +\n      'removePanelCategory rename renameAttr renameSelectionList renameUI render ' +\n      'renderGlobalsNode renderInfo renderLayerButton renderLayerParent ' +\n      'renderLayerPostProcess renderLayerUnparent renderManip renderPartition ' +\n      'renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor ' +\n      'renderWindowSelectContext renderer reorder reorderDeformers requires reroot ' +\n      'resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget ' +\n      'reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx ' +\n      'rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout ' +\n      'runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage ' +\n      'saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale ' +\n      'scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor ' +\n      'sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable ' +\n      'scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt ' +\n      'searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey ' +\n      'selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType ' +\n      'selectedNodes selectionConnection separator setAttr setAttrEnumResource ' +\n      'setAttrMapping setAttrNiceNameResource setConstraintRestPosition ' +\n      'setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr ' +\n      'setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe ' +\n      'setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag ' +\n      'setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject ' +\n      'setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets ' +\n      'shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare ' +\n      'shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField ' +\n      'shortNameOf showHelp showHidden showManipCtx showSelectionInTitle ' +\n      'showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface ' +\n      'size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep ' +\n      'snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound ' +\n      'soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort ' +\n      'spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString ' +\n      'startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp ' +\n      'stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex ' +\n      'stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex ' +\n      'stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString ' +\n      'stringToStringArray strip stripPrefixFromName stroke subdAutoProjection ' +\n      'subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV ' +\n      'subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror ' +\n      'subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease ' +\n      'subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring ' +\n      'surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton ' +\n      'symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext ' +\n      'texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext ' +\n      'texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text ' +\n      'textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList ' +\n      'textToShelf textureDisplacePlane textureHairColor texturePlacementContext ' +\n      'textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath ' +\n      'toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower ' +\n      'toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper ' +\n      'trace track trackCtx transferAttributes transformCompare transformLimits translator ' +\n      'trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence ' +\n      'twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit ' +\n      'unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink ' +\n      'uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane ' +\n      'viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex ' +\n      'waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire ' +\n      'wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform',\n    illegal: '</',\n    contains: [\n      hljs.C_NUMBER_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '`', end: '`',\n        contains: [hljs.BACKSLASH_ESCAPE]\n      },\n      {\n        className: 'variable',\n        begin: '\\\\$\\\\d',\n        relevance: 5\n      },\n      {\n        className: 'variable',\n        begin: '[\\\\$\\\\%\\\\@\\\\*](\\\\^\\\\w\\\\b|#\\\\w+|[^\\\\s\\\\w{]|{\\\\w+}|\\\\w+)'\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE\n    ]\n  }\n};\n/*\nLanguage: SQL\n*/\n\nhljs.LANGUAGES.sql = {\n  case_insensitive: true,\n  defaultMode: {\n    illegal: '[^\\\\s]',\n    contains: [\n      {\n        className: 'operator',\n        begin: '(begin|start|commit|rollback|savepoint|lock|alter|create|drop|rename|call|delete|do|handler|insert|load|replace|select|truncate|update|set|show|pragma|grant)\\\\b', end: ';', endsWithParent: true,\n        keywords: {\n          keyword: 'all partial global month current_timestamp using go revoke smallint ' +\n            'indicator end-exec disconnect zone with character assertion to add current_user ' +\n            'usage input local alter match collate real then rollback get read timestamp ' +\n            'session_user not integer bit unique day minute desc insert execute like ilike|2 ' +\n            'level decimal drop continue isolation found where constraints domain right ' +\n            'national some module transaction relative second connect escape close system_user ' +\n            'for deferred section cast current sqlstate allocate intersect deallocate numeric ' +\n            'public preserve full goto initially asc no key output collation group by union ' +\n            'session both last language constraint column of space foreign deferrable prior ' +\n            'connection unknown action commit view or first into float year primary cascaded ' +\n            'except restrict set references names table outer open select size are rows from ' +\n            'prepare distinct leading create only next inner authorization schema ' +\n            'corresponding option declare precision immediate else timezone_minute external ' +\n            'varying translation true case exception join hour default double scroll value ' +\n            'cursor descriptor values dec fetch procedure delete and false int is describe ' +\n            'char as at in varchar null trailing any absolute current_time end grant ' +\n            'privileges when cross check write current_date pad begin temporary exec time ' +\n            'update catalog user sql date on identity timezone_hour natural whenever interval ' +\n            'work order cascade diagnostics nchar having left call do handler load replace ' +\n            'truncate start lock show pragma',\n          aggregate: 'count sum min max avg'\n        },\n        contains: [\n          {\n            className: 'string',\n            begin: '\\'', end: '\\'',\n            contains: [hljs.BACKSLASH_ESCAPE, {begin: '\\'\\''}],\n            relevance: 0\n          },\n          {\n            className: 'string',\n            begin: '\"', end: '\"',\n            contains: [hljs.BACKSLASH_ESCAPE, {begin: '\"\"'}],\n            relevance: 0\n          },\n          {\n            className: 'string',\n            begin: '`', end: '`',\n            contains: [hljs.BACKSLASH_ESCAPE]\n          },\n          hljs.C_NUMBER_MODE\n        ]\n      },\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'comment',\n        begin: '--', end: '$'\n      }\n    ]\n  }\n};\n/*\nLanguage: Smalltalk\nAuthor: Vladimir Gubarkov <xonixx@gmail.com>\n*/\n\nhljs.LANGUAGES.smalltalk = function() {\n  var VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*';\n  var CHAR = {\n    className: 'char',\n    begin: '\\\\$.{1}'\n  };\n  var SYMBOL = {\n    className: 'symbol',\n    begin: '#' + hljs.UNDERSCORE_IDENT_RE\n  };\n  return {\n    defaultMode: {\n      keywords: 'self super nil true false thisContext', // only 6\n      contains: [\n        {\n          className: 'comment',\n          begin: '\"', end: '\"',\n          relevance: 0\n        },\n        hljs.APOS_STRING_MODE,\n        {\n          className: 'class',\n          begin: '\\\\b[A-Z][A-Za-z0-9_]*',\n          relevance: 0\n        },\n        {\n          className: 'method',\n          begin: VAR_IDENT_RE + ':'\n        },\n        hljs.C_NUMBER_MODE,\n        SYMBOL,\n        CHAR,\n        {\n          className: 'localvars',\n          begin: '\\\\|\\\\s*((' + VAR_IDENT_RE + ')\\\\s*)+\\\\|'\n        },\n        {\n          className: 'array',\n          begin: '\\\\#\\\\(', end: '\\\\)',\n          contains: [\n            hljs.APOS_STRING_MODE,\n            CHAR,\n            hljs.C_NUMBER_MODE,\n            SYMBOL\n          ]\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Lisp\nDescription: Generic lisp syntax\nAuthor: Vasily Polovnyov <vast@whiteants.net>\n*/\n\nhljs.LANGUAGES.lisp = function(){\n  var LISP_IDENT_RE = '[a-zA-Z_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#][a-zA-Z0-9_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#]*';\n  var LISP_SIMPLE_NUMBER_RE = '(\\\\-|\\\\+)?\\\\d+(\\\\.\\\\d+|\\\\/\\\\d+)?((d|e|f|l|s)(\\\\+|\\\\-)?\\\\d+)?';\n  var LITERAL = {\n    className: 'literal',\n    begin: '\\\\b(t{1}|nil)\\\\b'\n  };\n  var NUMBERS = [\n    {\n      className: 'number', begin: LISP_SIMPLE_NUMBER_RE\n    },\n    {\n      className: 'number', begin: '#b[0-1]+(/[0-1]+)?'\n    },\n    {\n      className: 'number', begin: '#o[0-7]+(/[0-7]+)?'\n    },\n    {\n      className: 'number', begin: '#x[0-9a-f]+(/[0-9a-f]+)?'\n    },\n    {\n      className: 'number', begin: '#c\\\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\\\)'\n    }\n  ]\n  var STRING = {\n    className: 'string',\n    begin: '\"', end: '\"',\n    contains: [hljs.BACKSLASH_ESCAPE],\n    relevance: 0\n  };\n  var COMMENT = {\n    className: 'comment',\n    begin: ';', end: '$'\n  };\n  var VARIABLE = {\n    className: 'variable',\n    begin: '\\\\*', end: '\\\\*'\n  };\n  var KEYWORD = {\n    className: 'keyword',\n    begin: '[:&]' + LISP_IDENT_RE\n  };\n  var QUOTED_LIST = {\n    begin: '\\\\(', end: '\\\\)',\n    contains: ['self', LITERAL, STRING].concat(NUMBERS)\n  };\n  var QUOTED1 = {\n    className: 'quoted',\n    begin: '[\\'`]\\\\(', end: '\\\\)',\n    contains: NUMBERS.concat([STRING, VARIABLE, KEYWORD, QUOTED_LIST])\n  };\n  var QUOTED2 = {\n    className: 'quoted',\n    begin: '\\\\(quote ', end: '\\\\)',\n    keywords: {title: 'quote'},\n    contains: NUMBERS.concat([STRING, VARIABLE, KEYWORD, QUOTED_LIST])\n  };\n  var LIST = {\n    className: 'list',\n    begin: '\\\\(', end: '\\\\)'\n  };\n  var BODY = {\n    className: 'body',\n    endsWithParent: true, excludeEnd: true\n  };\n  LIST.contains = [{className: 'title', begin: LISP_IDENT_RE}, BODY];\n  BODY.contains = [QUOTED1, QUOTED2, LIST, LITERAL].concat(NUMBERS).concat([STRING, COMMENT, VARIABLE, KEYWORD]);\n\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      illegal: '[^\\\\s]',\n      contains: NUMBERS.concat([\n        LITERAL,\n        STRING,\n        COMMENT,\n        QUOTED1, QUOTED2,\n        LIST\n      ])\n    }\n  };\n}();\n/*\nLanguage: Ini\n*/\n\nhljs.LANGUAGES.ini = {\n  case_insensitive: true,\n  defaultMode: {\n    illegal: '[^\\\\s]',\n    contains: [\n      {\n        className: 'comment',\n        begin: ';', end: '$'\n      },\n      {\n        className: 'title',\n        begin: '^\\\\[', end: '\\\\]'\n      },\n      {\n        className: 'setting',\n        begin: '^[a-z0-9_\\\\[\\\\]]+[ \\\\t]*=[ \\\\t]*', end: '$',\n        contains: [\n          {\n            className: 'value',\n            endsWithParent: true,\n            keywords: 'on off true false yes no',\n            contains: [hljs.QUOTE_STRING_MODE, hljs.NUMBER_MODE]\n          }\n        ]\n      }\n    ]\n  }\n};\n/*\nLanguage: Apache\nAuthor: Ruslan Keba <rukeba@gmail.com>\nWebsite: http://rukeba.com/\nDescription: language definition for Apache configuration files (httpd.conf & .htaccess)\nVersion: 1.1\nDate: 2008-12-27\n*/\n\nhljs.LANGUAGES.apache = function(){\n  var NUMBER = {className: 'number', begin: '[\\\\$%]\\\\d+'};\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      keywords: {\n        keyword: 'acceptfilter acceptmutex acceptpathinfo accessfilename action addalt ' +\n          'addaltbyencoding addaltbytype addcharset adddefaultcharset adddescription ' +\n          'addencoding addhandler addicon addiconbyencoding addiconbytype addinputfilter ' +\n          'addlanguage addmoduleinfo addoutputfilter addoutputfilterbytype addtype alias ' +\n          'aliasmatch allow allowconnect allowencodedslashes allowoverride anonymous ' +\n          'anonymous_logemail anonymous_mustgiveemail anonymous_nouserid anonymous_verifyemail ' +\n          'authbasicauthoritative authbasicprovider authdbduserpwquery authdbduserrealmquery ' +\n          'authdbmgroupfile authdbmtype authdbmuserfile authdefaultauthoritative ' +\n          'authdigestalgorithm authdigestdomain authdigestnccheck authdigestnonceformat ' +\n          'authdigestnoncelifetime authdigestprovider authdigestqop authdigestshmemsize ' +\n          'authgroupfile authldapbinddn authldapbindpassword authldapcharsetconfig ' +\n          'authldapcomparednonserver authldapdereferencealiases authldapgroupattribute ' +\n          'authldapgroupattributeisdn authldapremoteuserattribute authldapremoteuserisdn ' +\n          'authldapurl authname authnprovideralias authtype authuserfile authzdbmauthoritative ' +\n          'authzdbmtype authzdefaultauthoritative authzgroupfileauthoritative ' +\n          'authzldapauthoritative authzownerauthoritative authzuserauthoritative ' +\n          'balancermember browsermatch browsermatchnocase bufferedlogs cachedefaultexpire ' +\n          'cachedirlength cachedirlevels cachedisable cacheenable cachefile ' +\n          'cacheignorecachecontrol cacheignoreheaders cacheignorenolastmod ' +\n          'cacheignorequerystring cachelastmodifiedfactor cachemaxexpire cachemaxfilesize ' +\n          'cacheminfilesize cachenegotiateddocs cacheroot cachestorenostore cachestoreprivate ' +\n          'cgimapextension charsetdefault charsetoptions charsetsourceenc checkcaseonly ' +\n          'checkspelling chrootdir contentdigest cookiedomain cookieexpires cookielog ' +\n          'cookiename cookiestyle cookietracking coredumpdirectory customlog dav ' +\n          'davdepthinfinity davgenericlockdb davlockdb davmintimeout dbdexptime dbdkeep ' +\n          'dbdmax dbdmin dbdparams dbdpersist dbdpreparesql dbdriver defaulticon ' +\n          'defaultlanguage defaulttype deflatebuffersize deflatecompressionlevel ' +\n          'deflatefilternote deflatememlevel deflatewindowsize deny directoryindex ' +\n          'directorymatch directoryslash documentroot dumpioinput dumpiologlevel dumpiooutput ' +\n          'enableexceptionhook enablemmap enablesendfile errordocument errorlog example ' +\n          'expiresactive expiresbytype expiresdefault extendedstatus extfilterdefine ' +\n          'extfilteroptions fileetag filterchain filterdeclare filterprotocol filterprovider ' +\n          'filtertrace forcelanguagepriority forcetype forensiclog gracefulshutdowntimeout ' +\n          'group header headername hostnamelookups identitycheck identitychecktimeout ' +\n          'imapbase imapdefault imapmenu include indexheadinsert indexignore indexoptions ' +\n          'indexorderdefault indexstylesheet isapiappendlogtoerrors isapiappendlogtoquery ' +\n          'isapicachefile isapifakeasync isapilognotsupported isapireadaheadbuffer keepalive ' +\n          'keepalivetimeout languagepriority ldapcacheentries ldapcachettl ' +\n          'ldapconnectiontimeout ldapopcacheentries ldapopcachettl ldapsharedcachefile ' +\n          'ldapsharedcachesize ldaptrustedclientcert ldaptrustedglobalcert ldaptrustedmode ' +\n          'ldapverifyservercert limitinternalrecursion limitrequestbody limitrequestfields ' +\n          'limitrequestfieldsize limitrequestline limitxmlrequestbody listen listenbacklog ' +\n          'loadfile loadmodule lockfile logformat loglevel maxclients maxkeepaliverequests ' +\n          'maxmemfree maxrequestsperchild maxrequestsperthread maxspareservers maxsparethreads ' +\n          'maxthreads mcachemaxobjectcount mcachemaxobjectsize mcachemaxstreamingbuffer ' +\n          'mcacheminobjectsize mcacheremovalalgorithm mcachesize metadir metafiles metasuffix ' +\n          'mimemagicfile minspareservers minsparethreads mmapfile mod_gzip_on ' +\n          'mod_gzip_add_header_count mod_gzip_keep_workfiles mod_gzip_dechunk ' +\n          'mod_gzip_min_http mod_gzip_minimum_file_size mod_gzip_maximum_file_size ' +\n          'mod_gzip_maximum_inmem_size mod_gzip_temp_dir mod_gzip_item_include ' +\n          'mod_gzip_item_exclude mod_gzip_command_version mod_gzip_can_negotiate ' +\n          'mod_gzip_handle_methods mod_gzip_static_suffix mod_gzip_send_vary ' +\n          'mod_gzip_update_static modmimeusepathinfo multiviewsmatch namevirtualhost noproxy ' +\n          'nwssltrustedcerts nwsslupgradeable options order passenv pidfile protocolecho ' +\n          'proxybadheader proxyblock proxydomain proxyerroroverride proxyftpdircharset ' +\n          'proxyiobuffersize proxymaxforwards proxypass proxypassinterpolateenv ' +\n          'proxypassmatch proxypassreverse proxypassreversecookiedomain ' +\n          'proxypassreversecookiepath proxypreservehost proxyreceivebuffersize proxyremote ' +\n          'proxyremotematch proxyrequests proxyset proxystatus proxytimeout proxyvia ' +\n          'readmename receivebuffersize redirect redirectmatch redirectpermanent ' +\n          'redirecttemp removecharset removeencoding removehandler removeinputfilter ' +\n          'removelanguage removeoutputfilter removetype requestheader require rewritebase ' +\n          'rewritecond rewriteengine rewritelock rewritelog rewriteloglevel rewritemap ' +\n          'rewriteoptions rewriterule rlimitcpu rlimitmem rlimitnproc satisfy scoreboardfile ' +\n          'script scriptalias scriptaliasmatch scriptinterpretersource scriptlog ' +\n          'scriptlogbuffer scriptloglength scriptsock securelisten seerequesttail ' +\n          'sendbuffersize serveradmin serveralias serverlimit servername serverpath ' +\n          'serverroot serversignature servertokens setenv setenvif setenvifnocase sethandler ' +\n          'setinputfilter setoutputfilter ssienableaccess ssiendtag ssierrormsg ssistarttag ' +\n          'ssitimeformat ssiundefinedecho sslcacertificatefile sslcacertificatepath ' +\n          'sslcadnrequestfile sslcadnrequestpath sslcarevocationfile sslcarevocationpath ' +\n          'sslcertificatechainfile sslcertificatefile sslcertificatekeyfile sslciphersuite ' +\n          'sslcryptodevice sslengine sslhonorciperorder sslmutex ssloptions ' +\n          'sslpassphrasedialog sslprotocol sslproxycacertificatefile ' +\n          'sslproxycacertificatepath sslproxycarevocationfile sslproxycarevocationpath ' +\n          'sslproxyciphersuite sslproxyengine sslproxymachinecertificatefile ' +\n          'sslproxymachinecertificatepath sslproxyprotocol sslproxyverify ' +\n          'sslproxyverifydepth sslrandomseed sslrequire sslrequiressl sslsessioncache ' +\n          'sslsessioncachetimeout sslusername sslverifyclient sslverifydepth startservers ' +\n          'startthreads substitute suexecusergroup threadlimit threadsperchild ' +\n          'threadstacksize timeout traceenable transferlog typesconfig unsetenv ' +\n          'usecanonicalname usecanonicalphysicalport user userdir virtualdocumentroot ' +\n          'virtualdocumentrootip virtualscriptalias virtualscriptaliasip ' +\n          'win32disableacceptex xbithack',\n        literal: 'on off'\n      },\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        {\n          className: 'sqbracket',\n          begin: '\\\\s\\\\[', end: '\\\\]$'\n        },\n        {\n          className: 'cbracket',\n          begin: '[\\\\$%]\\\\{', end: '\\\\}',\n          contains: ['self', NUMBER]\n        },\n        NUMBER,\n        {className: 'tag', begin: '</?', end: '>'},\n        hljs.QUOTE_STRING_MODE\n      ]\n    }\n  };\n}();\n/*\nLanguage: Nginx\nAuthor: Peter Leonov <gojpeg@yandex.ru>\n*/\n\nhljs.LANGUAGES.nginx = function() {\n  var VAR1 = {\n    className: 'variable',\n    begin: '\\\\$\\\\d+'\n  };\n  var VAR2 = {\n    className: 'variable',\n    begin: '\\\\${', end: '}'\n  };\n  var VAR3 = {\n    className: 'variable',\n    begin: '[\\\\$\\\\@]' + hljs.UNDERSCORE_IDENT_RE\n  };\n\n  return {\n    defaultMode: {\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        { // directive\n          begin: hljs.UNDERSCORE_IDENT_RE, end: ';|{', returnEnd: true,\n          keywords:\n            'accept_mutex accept_mutex_delay access_log add_after_body add_before_body ' +\n            'add_header addition_types alias allow ancient_browser ancient_browser_value ' +\n            'auth_basic auth_basic_user_file autoindex autoindex_exact_size ' +\n            'autoindex_localtime break charset charset_map charset_types ' +\n            'client_body_buffer_size client_body_in_file_only client_body_in_single_buffer ' +\n            'client_body_temp_path client_body_timeout client_header_buffer_size ' +\n            'client_header_timeout client_max_body_size connection_pool_size connections ' +\n            'create_full_put_path daemon dav_access dav_methods debug_connection ' +\n            'debug_points default_type deny directio directio_alignment echo echo_after_body ' +\n            'echo_before_body echo_blocking_sleep echo_duplicate echo_end echo_exec ' +\n            'echo_flush echo_foreach_split echo_location echo_location_async ' +\n            'echo_read_request_body echo_request_body echo_reset_timer echo_sleep ' +\n            'echo_subrequest echo_subrequest_async empty_gif env error_log error_page events ' +\n            'expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers ' +\n            'fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods ' +\n            'fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale ' +\n            'fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout ' +\n            'fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers ' +\n            'fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size ' +\n            'fastcgi_next_upstream fastcgi_param fastcgi_pass fastcgi_pass_header ' +\n            'fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout ' +\n            'fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store ' +\n            'fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path ' +\n            'fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geo geoip_city ' +\n            'geoip_country gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash ' +\n            'gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static ' +\n            'gzip_types gzip_vary gzip_window http if if_modified_since ' +\n            'ignore_invalid_headers image_filter image_filter_buffer ' +\n            'image_filter_jpeg_quality image_filter_transparency include index internal ' +\n            'ip_hash js js_load js_require js_utf8 keepalive_requests keepalive_timeout ' +\n            'kqueue_changes kqueue_events large_client_header_buffers limit_conn ' +\n            'limit_conn_log_level limit_except limit_rate limit_rate_after limit_req ' +\n            'limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout ' +\n            'listen location lock_file log_format log_not_found log_subrequest map ' +\n            'map_hash_bucket_size map_hash_max_size master_process memcached_bind ' +\n            'memcached_buffer_size memcached_connect_timeout memcached_next_upstream ' +\n            'memcached_pass memcached_read_timeout memcached_send_timeout ' +\n            'memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes ' +\n            'min_delete_depth modern_browser modern_browser_value more_clear_headers ' +\n            'more_clear_input_headers more_set_headers more_set_input_headers msie_padding ' +\n            'msie_refresh multi_accept open_file_cache open_file_cache_errors ' +\n            'open_file_cache_events open_file_cache_min_uses open_file_cache_retest ' +\n            'open_file_cache_valid open_log_file_cache optimize_server_names output_buffers ' +\n            'override_charset perl perl_modules perl_require perl_set pid port_in_redirect ' +\n            'post_action postpone_gzipping postpone_output proxy_bind proxy_buffer_size ' +\n            'proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache ' +\n            'proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path ' +\n            'proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout ' +\n            'proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header ' +\n            'proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors ' +\n            'proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass ' +\n            'proxy_pass_header proxy_pass_request_body proxy_pass_request_headers ' +\n            'proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout ' +\n            'proxy_set_body proxy_set_header proxy_store proxy_store_access ' +\n            'proxy_temp_file_write_size proxy_temp_path proxy_upstream_fail_timeout ' +\n            'proxy_upstream_max_fails push_authorized_channels_only push_channel_group ' +\n            'push_max_channel_id_length push_max_channel_subscribers ' +\n            'push_max_message_buffer_length push_max_reserved_memory ' +\n            'push_message_buffer_length push_message_timeout push_min_message_buffer_length ' +\n            'push_min_message_recipients push_publisher push_store_messages push_subscriber ' +\n            'push_subscriber_concurrency random_index read_ahead real_ip_header ' +\n            'recursive_error_pages request_pool_size reset_timedout_connection resolver ' +\n            'resolver_timeout return rewrite rewrite_log root satisfy satisfy_any ' +\n            'send_lowat send_timeout sendfile sendfile_max_chunk server server_name ' +\n            'server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size ' +\n            'server_tokens set set_real_ip_from source_charset ssi ' +\n            'ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ' +\n            'ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ' +\n            'ssl_client_certificate ssl_crl ssl_dhparam ssl_prefer_server_ciphers ' +\n            'ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ' +\n            'ssl_verify_depth sub_filter sub_filter_once sub_filter_types tcp_nodelay ' +\n            'tcp_nopush timer_resolution try_files types types_hash_bucket_size ' +\n            'types_hash_max_size underscores_in_headers uninitialized_variable_warn upstream ' +\n            'use user userid userid_domain userid_expires userid_mark userid_name userid_p3p ' +\n            'userid_path userid_service valid_referers variables_hash_bucket_size ' +\n            'variables_hash_max_size worker_connections worker_cpu_affinity worker_priority ' +\n            'worker_processes worker_rlimit_core worker_rlimit_nofile ' +\n            'worker_rlimit_sigpending working_directory xml_entities xslt_stylesheet xslt_types',\n          relevance: 0,\n          contains: [\n            hljs.HASH_COMMENT_MODE,\n            {\n              begin: '\\\\s', end: '[;{]', returnBegin: true, returnEnd: true,\n              lexems: '[a-z/]+',\n              keywords: {\n                built_in:\n                  'on off yes no true false none blocked debug info notice warn error crit ' +\n                  'select permanent redirect kqueue rtsig epoll poll /dev/poll'\n              },\n              relevance: 0,\n              contains: [\n                hljs.HASH_COMMENT_MODE,\n                {\n                  className: 'string',\n                  begin: '\"', end: '\"',\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3],\n                  relevance: 0\n                },\n                {\n                  className: 'string',\n                  begin: \"'\", end: \"'\",\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3],\n                  relevance: 0\n                },\n                {\n                  className: 'string',\n                  begin: '([a-z]+):/', end: '[;\\\\s]', returnEnd: true\n                },\n                {\n                  className: 'regexp',\n                  begin: \"\\\\s\\\\^\", end: \"\\\\s|{|;\", returnEnd: true,\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3]\n                },\n                // regexp locations (~, ~*)\n                {\n                  className: 'regexp',\n                  begin: \"~\\\\*?\\\\s+\", end: \"\\\\s|{|;\", returnEnd: true,\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3]\n                },\n                // *.example.com\n                {\n                  className: 'regexp',\n                  begin: \"\\\\*(\\\\.[a-z\\\\-]+)+\",\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3]\n                },\n                // sub.example.*\n                {\n                  className: 'regexp',\n                  begin: \"([a-z\\\\-]+\\\\.)+\\\\*\",\n                  contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2, VAR3]\n                },\n                // IP\n                {\n                  className: 'number',\n                  begin: '\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\b'\n                },\n                // units\n                {\n                  className: 'number',\n                  begin: '\\\\s\\\\d+[kKmMgGdshdwy]*\\\\b',\n                  relevance: 0\n                },\n                VAR1, VAR2, VAR3\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  }\n}();\n/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov <vast@whiteants.net>\n*/\n\nhljs.LANGUAGES.diff = {\n  case_insensitive: true,\n  defaultMode: {\n    contains: [\n      {\n        className: 'chunk',\n        begin: '^\\\\@\\\\@ +\\\\-\\\\d+,\\\\d+ +\\\\+\\\\d+,\\\\d+ +\\\\@\\\\@$',\n        relevance: 10\n      },\n      {\n        className: 'chunk',\n        begin: '^\\\\*\\\\*\\\\* +\\\\d+,\\\\d+ +\\\\*\\\\*\\\\*\\\\*$',\n        relevance: 10\n      },\n      {\n        className: 'chunk',\n        begin: '^\\\\-\\\\-\\\\- +\\\\d+,\\\\d+ +\\\\-\\\\-\\\\-\\\\-$',\n        relevance: 10\n      },\n      {\n        className: 'header',\n        begin: 'Index: ', end: '$'\n      },\n      {\n        className: 'header',\n        begin: '=====', end: '=====$'\n      },\n      {\n        className: 'header',\n        begin: '^\\\\-\\\\-\\\\-', end: '$'\n      },\n      {\n        className: 'header',\n        begin: '^\\\\*{3} ', end: '$'\n      },\n      {\n        className: 'header',\n        begin: '^\\\\+\\\\+\\\\+', end: '$'\n      },\n      {\n        className: 'header',\n        begin: '\\\\*{5}', end: '\\\\*{5}$'\n      },\n      {\n        className: 'addition',\n        begin: '^\\\\+', end: '$'\n      },\n      {\n        className: 'deletion',\n        begin: '^\\\\-', end: '$'\n      },\n      {\n        className: 'change',\n        begin: '^\\\\!', end: '$'\n      }\n    ]\n  }\n};\n/*\nLanguage: DOS .bat\nAuthor: Alexander Makarov (http://rmcreative.ru/)\n*/\n\nhljs.LANGUAGES.dos = {\n  case_insensitive: true,\n  defaultMode: {\n    keywords: {\n      flow: 'if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq',\n      keyword: 'shift cd dir echo setlocal endlocal set pause copy',\n      stream: 'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux',\n      winutils: 'ping net ipconfig taskkill xcopy ren del'\n    },\n    contains: [\n      {\n        className: 'envvar', begin: '%%[^ ]'\n      },\n      {\n        className: 'envvar', begin: '%[^ ]+?%'\n      },\n      {\n        className: 'envvar', begin: '![^ ]+?!'\n      },\n      {\n        className: 'number', begin: '\\\\b\\\\d+',\n        relevance: 0\n      },\n      {\n        className: 'comment',\n        begin: '@?rem', end: '$'\n      }\n    ]\n  }\n};\n/*\nLanguage: Bash\nAuthor: vah <vahtenberg@gmail.com>\n*/\n\nhljs.LANGUAGES.bash = function(){\n  var BASH_LITERAL = 'true false';\n  var VAR1 = {\n    className: 'variable',\n    begin: '\\\\$([a-zA-Z0-9_]+)\\\\b'\n  };\n  var VAR2 = {\n    className: 'variable',\n    begin: '\\\\$\\\\{(([^}])|(\\\\\\\\}))+\\\\}',\n    contains: [hljs.C_NUMBER_MODE]\n  };\n  var QUOTE_STRING = {\n    className: 'string',\n    begin: '\"', end: '\"',\n    illegal: '\\\\n',\n    contains: [hljs.BACKSLASH_ESCAPE, VAR1, VAR2],\n    relevance: 0\n  };\n  var APOS_STRING = {\n    className: 'string',\n    begin: '\\'', end: '\\'',\n    contains: [{begin: '\\'\\''}],\n    relevance: 0\n  };\n  var TEST_CONDITION = {\n    className: 'test_condition',\n    begin: '', end: '',\n    contains: [QUOTE_STRING, APOS_STRING, VAR1, VAR2, hljs.C_NUMBER_MODE],\n    keywords: {\n      literal: BASH_LITERAL\n    },\n    relevance: 0\n  };\n\n  return {\n    defaultMode: {\n      keywords: {\n        keyword: 'if then else fi for break continue while in do done echo exit return set declare',\n        literal: BASH_LITERAL\n      },\n      contains: [\n        {\n          className: 'shebang',\n          begin: '(#!\\\\/bin\\\\/bash)|(#!\\\\/bin\\\\/sh)',\n          relevance: 10\n        },\n        VAR1,\n        VAR2,\n        hljs.HASH_COMMENT_MODE,\n        hljs.C_NUMBER_MODE,\n        QUOTE_STRING,\n        APOS_STRING,\n        hljs.inherit(TEST_CONDITION, {begin: '\\\\[ ', end: ' \\\\]', relevance: 0}),\n        hljs.inherit(TEST_CONDITION, {begin: '\\\\[\\\\[ ', end: ' \\\\]\\\\]'})\n      ]\n    }\n  };\n}();\n/*\nLanguage: CMake\nDescription: CMake is an open-source cross-platform system for build automation.\nAuthor: Igor Kalnitsky <igor.kalnitsky@gmail.com>\nWebsite: http://kalnitsky.org.ua/\n*/\n\nhljs.LANGUAGES.cmake = {\n  case_insensitive: true,\n  defaultMode: {\n    keywords: 'add_custom_command add_custom_target add_definitions add_dependencies ' +\n      'add_executable add_library add_subdirectory add_test aux_source_directory ' +\n      'break build_command cmake_minimum_required cmake_policy configure_file ' +\n      'create_test_sourcelist define_property else elseif enable_language enable_testing ' +\n      'endforeach endfunction endif endmacro endwhile execute_process export find_file ' +\n      'find_library find_package find_path find_program fltk_wrap_ui foreach function ' +\n      'get_cmake_property get_directory_property get_filename_component get_property ' +\n      'get_source_file_property get_target_property get_test_property if include ' +\n      'include_directories include_external_msproject include_regular_expression install ' +\n      'link_directories load_cache load_command macro mark_as_advanced message option ' +\n      'output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return ' +\n      'separate_arguments set set_directory_properties set_property ' +\n      'set_source_files_properties set_target_properties set_tests_properties site_name ' +\n      'source_group string target_link_libraries try_compile try_run unset variable_watch ' +\n      'while build_name exec_program export_library_dependencies install_files ' +\n      'install_programs install_targets link_libraries make_directory remove subdir_depends ' +\n      'subdirs use_mangled_mesa utility_source variable_requires write_file',\n    contains: [\n      {\n        className: 'envvar',\n        begin: '\\\\${', end: '}'\n      },\n      hljs.HASH_COMMENT_MODE,\n      hljs.QUOTE_STRING_MODE,\n      hljs.NUMBER_MODE\n    ]\n  }\n};\n/*\nLanguage: Axapta\nAuthor: Dmitri Roudakov <dmitri@roudakov.ru>\n*/\n\nhljs.LANGUAGES.axapta  = {\n  defaultMode: {\n    keywords: 'false int abstract private char interface boolean static null if for true ' +\n      'while long throw finally protected extends final implements return void enum else ' +\n      'break new catch byte super class case short default double public try this switch ' +\n      'continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count ' +\n      'order group by asc desc index hint like dispaly edit client server ttsbegin ' +\n      'ttscommit str real date container anytype common div mod',\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: 'preprocessor',\n        begin: '#', end: '$'\n      },\n      {\n        className: 'class',\n        beginWithKeyword: true, end: '{',\n        illegal: ':',\n        keywords: 'class interface',\n        contains: [\n          {\n            className: 'inheritance',\n            beginWithKeyword: true,\n            keywords: 'extends implements',\n            relevance: 10\n          },\n          {\n            className: 'title',\n            begin: hljs.UNDERSCORE_IDENT_RE\n          }\n        ]\n      }\n    ]\n  }\n};\n/*\nLanguage: 1C\nAuthor: Yuri Ivanov <ivanov@supersoft.ru>\nContributors: Sergey Baranov <segyrn@yandex.ru>\n*/\n\nhljs.LANGUAGES['1c'] = function(){\n  var IDENT_RE_RU = '[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*';\n  var OneS_KEYWORDS = 'возврат дата для если и или иначе иначеесли исключение конецесли ' +\n    'конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем ' +\n    'перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл ' +\n    'число экспорт';\n  var OneS_BUILT_IN = 'ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ' +\n    'ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос ' +\n    'восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц ' +\n    'датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации ' +\n    'запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр ' +\n    'значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера ' +\n    'имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы ' +\n    'кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби ' +\n    'конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс ' +\n    'максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ ' +\n    'назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби ' +\n    'началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели ' +\n    'номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки ' +\n    'основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально ' +\n    'отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята ' +\n    'получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта ' +\n    'получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации ' +\n    'пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц ' +\n    'разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына ' +\n    'рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп ' +\n    'сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить ' +\n    'стрколичествострок стрполучитьстроку  стрчисловхождений сформироватьпозициюдокумента ' +\n    'счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты ' +\n    'установитьтана установитьтапо фиксшаблон формат цел шаблон';\n  var DQUOTE =  {className: 'dquote',  begin: '\"\"'};\n  var STR_START = {\n      className: 'string',\n      begin: '\"', end: '\"|$',\n      contains: [DQUOTE],\n      relevance: 0\n    };\n  var STR_CONT = {\n    className: 'string',\n    begin: '\\\\|', end: '\"|$',\n    contains: [DQUOTE]\n  };\n\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      lexems: IDENT_RE_RU,\n      keywords: {keyword: OneS_KEYWORDS, built_in: OneS_BUILT_IN},\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.NUMBER_MODE,\n        STR_START, STR_CONT,\n        {\n          className: 'function',\n          begin: '(процедура|функция)', end: '$',\n          lexems: IDENT_RE_RU,\n          keywords: 'процедура функция',\n          contains: [\n            {className: 'title', begin: IDENT_RE_RU},\n            {\n              className: 'tail',\n              endsWithParent: true,\n              contains: [\n                {\n                  className: 'params',\n                  begin: '\\\\(', end: '\\\\)',\n                  lexems: IDENT_RE_RU,\n                  keywords: 'знач',\n                  contains: [STR_START, STR_CONT]\n                },\n                {\n                  className: 'export',\n                  begin: 'экспорт', endsWithParent: true,\n                  lexems: IDENT_RE_RU,\n                  keywords: 'экспорт',\n                  contains: [hljs.C_LINE_COMMENT_MODE]\n                }\n              ]\n            },\n            hljs.C_LINE_COMMENT_MODE\n          ]\n        },\n        {className: 'preprocessor', begin: '#', end: '$'},\n        {className: 'date', begin: '\\'\\\\d{2}\\\\.\\\\d{2}\\\\.(\\\\d{2}|\\\\d{4})\\''}\n      ]\n    }\n  };\n}();\n/*\nLanguage: AVR Assembler\nAuthor: Vladimir Ermakov <vooon341@gmail.com>\n*/\n\nhljs.LANGUAGES.avrasm =\n{\n  case_insensitive: true,\n  defaultMode: {\n    keywords: {\n      keyword:\n        /* mnemonic */\n        'adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs ' +\n        'brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr ' +\n        'clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ' +\n        'fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ' +\n        'muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ' +\n        'sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub ' +\n        'subi swap tst wdr',\n      built_in:\n        /* general purpose registers */\n        'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ' +\n        'r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ' +\n        /* IO Registers (ATMega128) */\n        'ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ' +\n        'tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ' +\n        'ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ' +\n        'ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ' +\n        'tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ' +\n        'ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ' +\n        'porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ' +\n        'ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf'\n    },\n    contains: [\n      hljs.C_BLOCK_COMMENT_MODE,\n      {className: 'comment', begin: ';',  end: '$'},\n      hljs.C_NUMBER_MODE, // 0x..., decimal, float\n      hljs.BINARY_NUMBER_MODE, // 0b...\n      {\n        className: 'number',\n        begin: '\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)' // $..., 0o...\n      },\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'string',\n        begin: '\\'', end: '[^\\\\\\\\]\\'',\n        illegal: '[^\\\\\\\\][^\\']'\n      },\n      {className: 'label',  begin: '^[A-Za-z0-9_.$]+:'},\n      {className: 'preprocessor', begin: '#', end: '$'},\n      {  // директивы «.include» «.macro» и т.д.\n        className: 'preprocessor',\n        begin: '\\\\.[a-zA-Z]+'\n      },\n      {  // подстановка в «.macro»\n        className: 'localvars',\n        begin: '@[0-9]+'\n      }\n    ]\n  }\n};\n\n/*\nLanguage: VHDL\nAuthor: Igor Kalnitsky <igor@kalnitsky.org>\nContributors: Daniel C.K. Kho <daniel.kho@gmail.com>\nDescription: VHDL is a hardware description language used in electronic design automation to describe digital and mixed-signal systems.\n*/\n\nhljs.LANGUAGES.vhdl = function() {\n  return {\n    case_insensitive: true,\n    defaultMode: {\n      keywords: {\n        keyword:\n          'abs access after alias all and architecture array assert attribute begin block ' +\n          'body buffer bus case component configuration constant context cover disconnect ' +\n          'downto default else elsif end entity exit fairness file for force function generate ' +\n          'generic group guarded if impure in inertial inout is label library linkage literal ' +\n          'loop map mod nand new next nor not null of on open or others out package port ' +\n          'postponed procedure process property protected pure range record register reject ' +\n          'release rem report restrict restrict_guarantee return rol ror select sequence ' +\n          'severity shared signal sla sll sra srl strong subtype then to transport type ' +\n          'unaffected units until use variable vmode vprop vunit wait when while with xnor xor',\n        typename:\n          'boolean bit character severity_level integer time delay_length natural positive ' +\n          'string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector ' +\n          'std_logic std_logic_vector unsigned signed boolean_vector integer_vector ' +\n          'real_vector time_vector'\n      },\n      illegal: '{',\n      contains: [\n        hljs.C_BLOCK_COMMENT_MODE,        // VHDL-2008 block commenting.\n        {\n          className: 'comment',\n          begin: '--', end: '$'\n        },\n        hljs.QUOTE_STRING_MODE,\n        hljs.C_NUMBER_MODE,\n        {\n          className: 'literal',\n          begin: '\\'(U|X|0|1|Z|W|L|H|-)\\'',\n          contains: [hljs.BACKSLASH_ESCAPE]\n        },\n        {\n          className: 'attribute',\n          begin: '\\'[A-Za-z](_?[A-Za-z0-9])*',\n          contains: [hljs.BACKSLASH_ESCAPE]\n        }\n      ]\n    } // defaultMode\n  } // return;\n}();\n/*\nLanguage: Parser3\nRequires: xml.js\nAuthor: Oleg Volchkov <oleg@volchkov.net>\n*/\n\nhljs.LANGUAGES.parser3 = {\n  defaultMode: {\n    subLanguage: 'xml',\n    contains: [\n      {\n        className: 'comment',\n        begin: '^#', end: '$'\n      },\n      {\n        className: 'comment',\n        begin: '\\\\^rem{', end: '}',\n        relevance: 10,\n        contains: [\n          {\n            begin: '{', end: '}',\n            contains: ['self']\n          }\n        ]\n      },\n      {\n        className: 'preprocessor',\n        begin: '^@(?:BASE|USE|CLASS|OPTIONS)$',\n        relevance: 10\n      },\n      {\n        className: 'title',\n        begin: '@[\\\\w\\\\-]+\\\\[[\\\\w^;\\\\-]*\\\\](?:\\\\[[\\\\w^;\\\\-]*\\\\])?(?:.*)$'\n      },\n      {\n        className: 'variable',\n        begin: '\\\\$\\\\{?[\\\\w\\\\-\\\\.\\\\:]+\\\\}?'\n      },\n      {\n        className: 'keyword',\n        begin: '\\\\^[\\\\w\\\\-\\\\.\\\\:]+'\n      },\n      {\n        className: 'number',\n        begin: '\\\\^#[0-9a-fA-F]+'\n      },\n      hljs.C_NUMBER_MODE\n    ]\n  }\n};\n/*\nLanguage: TeX\nAuthor: Vladimir Moskva <vladmos@gmail.com>\nWebsite: http://fulc.ru/\n*/\n\nhljs.LANGUAGES.tex = function() {\n  var COMMAND1 = {\n    className: 'command',\n    begin: '\\\\\\\\[a-zA-Zа-яА-я]+[\\\\*]?',\n    relevance: 10\n  };\n  var COMMAND2 = {\n    className: 'command',\n    begin: '\\\\\\\\[^a-zA-Zа-яА-я0-9]',\n    relevance: 0\n  };\n  var SPECIAL = {\n    className: 'special',\n    begin: '[{}\\\\[\\\\]\\\\&#~]',\n    relevance: 0\n  };\n\n  return {\n    defaultMode: {\n      contains: [\n        { // parameter\n          begin: '\\\\\\\\[a-zA-Zа-яА-я]+[\\\\*]? *= *-?\\\\d*\\\\.?\\\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?',\n          returnBegin: true,\n          contains: [\n            COMMAND1, COMMAND2,\n            {\n              className: 'number',\n              begin: ' *=', end: '-?\\\\d*\\\\.?\\\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?',\n              excludeBegin: true\n            }\n          ],\n          relevance: 10\n        },\n        COMMAND1, COMMAND2,\n        SPECIAL,\n        {\n          className: 'formula',\n          begin: '\\\\$\\\\$', end: '\\\\$\\\\$',\n          contains: [COMMAND1, COMMAND2, SPECIAL],\n          relevance: 0\n        },\n        {\n          className: 'formula',\n          begin: '\\\\$', end: '\\\\$',\n          contains: [COMMAND1, COMMAND2, SPECIAL],\n          relevance: 0\n        },\n        {\n          className: 'comment',\n          begin: '%', end: '$',\n          relevance: 0\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Haskell\nAuthor: Jeremy Hull <sourdrums@gmail.com>\n*/\n\nhljs.LANGUAGES.haskell = function(){\n  var LABEL = {\n    className: 'label',\n    begin: '\\\\b[A-Z][\\\\w\\']*',\n    relevance: 0\n  };\n  var CONTAINER = {\n    className: 'container',\n    begin: '\\\\(', end: '\\\\)',\n    contains: [\n      {className: 'label', begin: '\\\\b[A-Z][\\\\w\\\\(\\\\)\\\\.\\']*'},\n      {className: 'title', begin: '[_a-z][\\\\w\\']*'}\n    ]\n  };\n\n  return {\n    defaultMode: {\n      keywords:\n        'let in if then else case of where do module import hiding qualified type data ' +\n        'newtype deriving class instance null not as',\n      contains: [\n        {\n          className: 'comment',\n          begin: '--', end: '$'\n        },\n        {\n          className: 'comment',\n          begin: '{-', end: '-}'\n        },\n        {\n          className: 'string',\n          begin: '\\\\s+\\'', end: '\\'',\n          contains: [hljs.BACKSLASH_ESCAPE],\n          relevance: 0\n        },\n        hljs.QUOTE_STRING_MODE,\n        {\n          className: 'import',\n          begin: '\\\\bimport', end: '$',\n          keywords: 'import qualified as hiding',\n          contains: [CONTAINER]\n        },\n        {\n          className: 'module',\n          begin: '\\\\bmodule', end: 'where',\n          keywords: 'module where',\n          contains: [CONTAINER]\n        },\n        {\n          className: 'class',\n          begin: '\\\\b(class|instance|data|(new)?type)', end: '(where|$)',\n          keywords: 'class where instance data type newtype deriving',\n          contains: [LABEL]\n        },\n        hljs.C_NUMBER_MODE,\n        {\n          className: 'shebang',\n          begin: '#!\\\\/usr\\\\/bin\\\\/env\\ runhaskell', end: '$'\n        },\n        LABEL,\n        {\n          className: 'title', begin: '^[_a-z][\\\\w\\']*'\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Erlang\nDescription: Erlang is a general-purpose functional language, with strict evaluation, single assignment, and dynamic typing.\nAuthor: Nikolay Zakharov <nikolay.desh@gmail.com>, Dmitry Kovega <arhibot@gmail.com>\n*/\n\nhljs.LANGUAGES.erlang = function(){\n  var BASIC_ATOM_RE = '[a-z\\'][a-zA-Z0-9_\\']*';\n  var FUNCTION_NAME_RE = '(' + BASIC_ATOM_RE + ':' + BASIC_ATOM_RE + '|' + BASIC_ATOM_RE + ')';\n  var ERLANG_RESERVED = {\n    keyword:\n      'after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun let ' +\n      'not of orelse|10 query receive rem try when xor',\n    literal:\n      'false true'\n  };\n\n  var COMMENT = {\n    className: 'comment',\n    begin: '%', end: '$',\n    relevance: 0\n  };\n  var NUMBER = {\n    className: 'number',\n    begin: '\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)',\n    relevance: 0\n  };\n  var NAMED_FUN = {\n    begin: 'fun\\\\s+' + BASIC_ATOM_RE + '/\\\\d+'\n  };\n  var FUNCTION_CALL = {\n    begin: FUNCTION_NAME_RE + '\\\\(', end: '\\\\)',\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      {\n        className: 'function_name', begin: FUNCTION_NAME_RE,\n        relevance: 0\n      },\n      {\n        begin: '\\\\(', end: '\\\\)', endsWithParent: true,\n        returnEnd: true,\n        relevance: 0\n        // \"contains\" defined later\n      }\n    ]\n  };\n  var TUPLE = {\n    className: 'tuple',\n    begin: '{', end: '}',\n    relevance: 0\n    // \"contains\" defined later\n  };\n  var VAR1 = {\n    className: 'variable',\n    begin: '\\\\b_([A-Z][A-Za-z0-9_]*)?',\n    relevance: 0\n  };\n  var VAR2 = {\n    className: 'variable',\n    begin: '[A-Z][a-zA-Z0-9_]*',\n    relevance: 0\n  };\n  var RECORD_ACCESS = {\n    begin: '#', end: '}',\n    illegal: '.',\n    relevance: 0,\n    returnBegin: true,\n    contains: [\n      {\n        className: 'record_name',\n        begin: '#' + hljs.UNDERSCORE_IDENT_RE,\n        relevance: 0\n      },\n      {\n        begin: '{', endsWithParent: true,\n        relevance: 0\n        // \"contains\" defined later\n      }\n    ]\n  };\n\n  var BLOCK_STATEMENTS = {\n    keywords: ERLANG_RESERVED,\n    begin: '(fun|receive|if|try|case)', end: 'end'\n  };\n  BLOCK_STATEMENTS.contains = [\n    COMMENT,\n    NAMED_FUN,\n    hljs.inherit(hljs.APOS_STRING_MODE, {className: ''}),\n    BLOCK_STATEMENTS,\n    FUNCTION_CALL,\n    hljs.QUOTE_STRING_MODE,\n    NUMBER,\n    TUPLE,\n    VAR1, VAR2,\n    RECORD_ACCESS\n  ];\n\n  var BASIC_MODES = [\n    COMMENT,\n    NAMED_FUN,\n    BLOCK_STATEMENTS,\n    FUNCTION_CALL,\n    hljs.QUOTE_STRING_MODE,\n    NUMBER,\n    TUPLE,\n    VAR1, VAR2,\n    RECORD_ACCESS\n  ];\n  FUNCTION_CALL.contains[1].contains = BASIC_MODES;\n  TUPLE.contains = BASIC_MODES;\n  RECORD_ACCESS.contains[1].contains = BASIC_MODES;\n\n  var PARAMS = {\n    className: 'params',\n    begin: '\\\\(', end: '\\\\)',\n    endsWithParent: true,\n    contains: BASIC_MODES\n  };\n  return {\n    defaultMode: {\n      keywords: ERLANG_RESERVED,\n      illegal: '(</|\\\\*=|\\\\+=|-=|/=|/\\\\*|\\\\*/|\\\\(\\\\*|\\\\*\\\\))',\n      contains: [\n        {\n          className: 'function',\n          begin: '^' + BASIC_ATOM_RE + '\\\\(', end: ';|\\\\.',\n          returnBegin: true,\n          contains: [\n            PARAMS,\n            {\n              className: 'title', begin: BASIC_ATOM_RE\n            },\n            {\n              keywords: ERLANG_RESERVED,\n              begin: '->', endsWithParent: true,\n              contains: BASIC_MODES\n            }\n          ]\n        },\n        COMMENT,\n        {\n          className: 'pp',\n          begin: '^-', end: '\\\\.',\n          relevance: 0,\n          excludeEnd: true,\n          returnBegin: true,\n          lexems: '-' + hljs.IDENT_RE,\n          keywords:\n            '-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn ' +\n            '-import -include -include_lib -compile -define -else -endif -file -behaviour ' +\n            '-behavior',\n          contains: [PARAMS]\n        },\n        NUMBER,\n        hljs.QUOTE_STRING_MODE,\n        RECORD_ACCESS,\n        VAR1, VAR2,\n        TUPLE\n      ]\n    }\n  };\n}();\n/*\n Language: Erlang REPL\n Author: Sergey Ignatov <sergey@ignatov.spb.su>\n */\n\nhljs.LANGUAGES.erlang_repl = {\n  defaultMode: {\n    keywords: {\n      special_functions:\n        'spawn spawn_link self',\n      reserved:\n        'after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if ' +\n        'let not of or orelse|10 query receive rem try when xor'\n    },\n    contains: [\n      {\n        className: 'input_number', begin: '^[0-9]+> ',\n        relevance: 10\n      },\n      {\n        className: 'comment',\n        begin: '%', end: '$'\n      },\n      {\n        className: 'number',\n        begin: '\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)',\n        relevance: 0\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'constant', begin: '\\\\?(::)?([A-Z]\\\\w*(::)?)+'\n      },\n      {\n        className: 'arrow', begin: '->'\n      },\n      {\n        className: 'ok', begin: 'ok'\n      },\n      {\n        className: 'exclamation_mark', begin: '!'\n      },\n      {\n        className: 'function_or_atom',\n        begin: '(\\\\b[a-z\\'][a-zA-Z0-9_\\']*:[a-z\\'][a-zA-Z0-9_\\']*)|(\\\\b[a-z\\'][a-zA-Z0-9_\\']*)',\n        relevance: 0\n      },\n      {\n        className: 'variable',\n        begin: '[A-Z][a-zA-Z0-9_\\']*',\n        relevance: 0\n      }\n    ]\n  }\n};\n/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh <andrey.vlasovskikh@gmail.com>\n*/\n\nhljs.LANGUAGES.rust = function() {\n  var TITLE = {\n    className: 'title',\n    begin: hljs.UNDERSCORE_IDENT_RE\n  };\n  var QUOTE_STRING = {\n    className: 'string',\n    begin: '\"', end: '\"',\n    contains: [hljs.BACKSLASH_ESCAPE],\n    relevance: 0\n  };\n  var NUMBER = {\n    className: 'number',\n    begin: '\\\\b(0[xb][A-Za-z0-9_]+|[0-9_]+(\\\\.[0-9_]+)?([uif](8|16|32|64)?)?)',\n    relevance: 0\n  };\n  var KEYWORDS =\n    'alt any as assert be bind block bool break char check claim const cont dir do else enum ' +\n    'export f32 f64 fail false float fn for i16 i32 i64 i8 if iface impl import in int let ' +\n    'log mod mutable native note of prove pure resource ret self str syntax true type u16 u32 ' +\n    'u64 u8 uint unchecked unsafe use vec while';\n  return {\n    defaultMode: {\n      keywords: KEYWORDS,\n      illegal: '</',\n      contains: [\n        hljs.C_LINE_COMMENT_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        QUOTE_STRING,\n        hljs.APOS_STRING_MODE,\n        NUMBER,\n        {\n          className: 'function',\n          beginWithKeyword: true, end: '(\\\\(|<)',\n          keywords: 'fn',\n          contains: [TITLE]\n        },\n        {\n          className: 'preprocessor',\n          begin: '#\\\\[', end: '\\\\]'\n        },\n        {\n          beginWithKeyword: true, end: '(=|<)',\n          keywords: 'type',\n          contains: [TITLE],\n          illegal: '\\\\S'\n        },\n        {\n          beginWithKeyword: true, end: '({|<)',\n          keywords: 'iface enum',\n          contains: [TITLE],\n          illegal: '\\\\S'\n        }\n      ]\n    }\n  };\n}();\n/*\nLanguage: Matlab\nAuthor: Denis Bardadym <bardadymchik@gmail.com>\n*/\n\nhljs.LANGUAGES.matlab = {\n  defaultMode: {\n    keywords: {\n      keyword:\n        'break case catch classdef continue else elseif end enumerated events for function ' +\n        'global if methods otherwise parfor persistent properties return spmd switch try while',\n      built_in:\n        'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan ' +\n        'atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot ' +\n        'cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog ' +\n        'realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal ' +\n        'cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli ' +\n        'besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma ' +\n        'gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms ' +\n        'nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones ' +\n        'eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ' +\n        'ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril ' +\n        'triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute ' +\n        'shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan ' +\n        'isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal ' +\n        'rosser toeplitz vander wilkinson'\n    },\n    illegal: '(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',\n    contains: [\n      {\n        className: 'function',\n        beginWithKeyword: true, end: '$',\n        keywords: 'function',\n        contains: [\n          {\n              className: 'title',\n              begin: hljs.UNDERSCORE_IDENT_RE\n          },\n          {\n              className: 'params',\n              begin: '\\\\(', end: '\\\\)'\n          },\n          {\n              className: 'params',\n              begin: '\\\\[', end: '\\\\]'\n          }\n        ]\n      },\n      {\n        className: 'string',\n        begin: '\\'', end: '\\'',\n        contains: [hljs.BACKSLASH_ESCAPE, {begin: '\\'\\''}],\n        relevance: 0\n      },\n      {\n        className: 'comment',\n        begin: '\\\\%', end: '$'\n      },\n      hljs.C_NUMBER_MODE\n    ]\n  }\n};\n/*\nLanguage: R\nAuthor: Joe Cheng <joe@rstudio.org>\n*/\n\nhljs.LANGUAGES.r = (function() {\n  var IDENT_RE = '([a-zA-Z]|\\\\.[a-zA-Z.])[a-zA-Z0-9._]*';\n\n  return {\n    defaultMode: {\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        {\n          begin: IDENT_RE,\n          lexems: IDENT_RE,\n          keywords: {\n            keyword:\n              'function if in break next repeat else for return switch while try tryCatch|10 ' +\n              'stop warning require library attach detach source setMethod setGeneric ' +\n              'setGroupGeneric setClass ...|10',\n            literal:\n              'NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 ' +\n              'NA_complex_|10'\n          },\n          relevance: 0\n        },\n        {\n          // hex value\n          className: 'number',\n          begin: \"0[xX][0-9a-fA-F]+[Li]?\\\\b\",\n          relevance: 0\n        },\n        {\n          // explicit integer\n          className: 'number',\n          begin: \"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",\n          relevance: 0\n        },\n        {\n          // number with trailing decimal\n          className: 'number',\n          begin: \"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",\n          relevance: 0\n        },\n        {\n          // number\n          className: 'number',\n          begin: \"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",\n          relevance: 0\n        },\n        {\n          // number with leading decimal\n          className: 'number',\n          begin: \"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",\n          relevance: 0\n        },\n\n        {\n          // escaped identifier\n          begin: '`',\n          end: '`',\n          relevance: 0\n        },\n\n        {\n          className: 'string',\n          begin: '\"',\n          end: '\"',\n          contains: [hljs.BACKSLASH_ESCAPE],\n          relevance: 0\n        },\n        {\n          className: 'string',\n          begin: \"'\",\n          end: \"'\",\n          contains: [hljs.BACKSLASH_ESCAPE],\n          relevance: 0\n        },\n      ]\n    }\n  };\n})();\n\n"]}