1{"version":3,"sources":["webpack:///webpack/bootstrap 6ed82d7c6ef7b999f01e","webpack:///./src/index.js","webpack:///./src/core.js","webpack:///./repos/opts-parser/opts-parser.js","webpack:///./repos/syntaxhighlighter-regex/index.js","webpack:///./repos/syntaxhighlighter-regex/xregexp.js","webpack:///./repos/syntaxhighlighter-match/index.js","webpack:///./repos/syntaxhighlighter-match/lib/match.js","webpack:///./repos/syntaxhighlighter-match/lib/apply-regex-list.js","webpack:///./repos/syntaxhighlighter-match/lib/matches.js","webpack:///./repos/syntaxhighlighter-html-renderer/index.js","webpack:///./src/utils.js","webpack:///./src/transformers/index.js","webpack:///./src/transformers/trim.js","webpack:///./src/transformers/blogger_mode.js","webpack:///./src/transformers/strip_brs.js","webpack:///./repos/unindenter/unindenter.js","webpack:///./repos/retabber/retabber.js","webpack:///./src/dom.js","webpack:///./src/config.js","webpack:///./src/defaults.js","webpack:///./src/html_script.js","webpack:///./~/process/browser.js","webpack:///./repos/brush-base/brush-base.js","webpack:///./repos/brush-applescript/brush.js","webpack:///./repos/brush-as3/brush.js","webpack:///./repos/brush-bash/brush.js","webpack:///./repos/brush-coldfusion/brush.js","webpack:///./repos/brush-cpp/brush.js","webpack:///./repos/brush-csharp/brush.js","webpack:///./repos/brush-css/brush.js","webpack:///./repos/brush-delphi/brush.js","webpack:///./repos/brush-diff/brush.js","webpack:///./repos/brush-erlang/brush.js","webpack:///./repos/brush-groovy/brush.js","webpack:///./repos/brush-haxe/brush.js","webpack:///./repos/brush-java/brush.js","webpack:///./repos/brush-javafx/brush.js","webpack:///./repos/brush-javascript/brush.js","webpack:///./repos/brush-perl/brush.js","webpack:///./repos/brush-php/brush.js","webpack:///./repos/brush-plain/brush.js","webpack:///./repos/brush-powershell/brush.js","webpack:///./repos/brush-python/brush.js","webpack:///./repos/brush-ruby/brush.js","webpack:///./repos/brush-sass/brush.js","webpack:///./repos/brush-scala/brush.js","webpack:///./repos/brush-sql/brush.js","webpack:///./repos/brush-swift/brush.js","webpack:///./repos/brush-tap/brush.js","webpack:///./repos/brush-typescript/brush.js","webpack:///./repos/brush-vb/brush.js","webpack:///./repos/brush-xml/brush.js","webpack:///./repos/brush-halcon/brush.js","webpack:///./repos/brush-IEC61131/brush.js","webpack:///./repos/brush-kotlin/brush.js","webpack:///./repos/brush-latex/brush.js","webpack:///./repos/brush-Makefile/brush.js","webpack:///./repos/brush-mel/brush.js","webpack:///./repos/brush-objective-c/brush.js","webpack:///./repos/brush-yaml/brush.js","webpack:///./~/domready/ready.js","webpack:///./src/dasherize.js","webpack:///./src/compatibility_layer_v3.js"],"names":["dasherize","require","highlight","object","window","syntaxhighlighterConfig","optsParser","match","Renderer","default","utils","transformers","dom","config","defaults","HtmlScript","sh","Match","Highlighter","regexLib","commonRegExp","vars","discoveredBrushes","highlighters","brushes","findElements","globalParams","element","elements","toArray","document","getElementsByTagName","tagName","conf","result","concat","getSyntaxHighlighterScriptTags","length","i","l","item","target","params","parse","className","push","propertyName","brush","renderer","brushName","matches","code","findBrush","useScriptTags","stripCData","title","applyRegexList","regexList","create","innerHTML","getHtml","quickCode","attachEvent","findElement","quickCodeHandler","id","parentNode","replaceChild","alert","str","alias","showAlert","aliases","toLowerCase","strings","noBrush","original","left","right","copy","trim","changed","leftLength","rightLength","indexOf","substring","copyLength","brushCounter","registerBrush","clearRegisteredBrushes","XRegExp","BOOLEANS","camelize","key","replace","word","charAt","toUpperCase","substr","process","value","module","exports","source","hasOwnProperty","arrayRegex","pos","regex","exec","test","m","values","split","name","index","multiLineCComments","singleLineCComments","singleLinePerlComments","doubleQuotedString","singleQuotedString","multiLineDoubleQuotedString","multiLineSingleQuotedString","xmlComments","url","phpScriptTags","aspScriptTags","scriptScriptTags","REGEX_DATA","features","astral","natives","nativ","RegExp","prototype","String","fixed","regexCache","patternCache","tokens","defaultScope","classScope","nativeTokens","replacementToken","correctExecNpcg","call","undefined","hasNativeU","isSupported","exception","hasNativeY","hasFlagsProp","flags","registeredFlags","g","u","y","toString","augment","captureNames","xSource","xFlags","isInternalOnly","p","__proto__","sort","join","clipDuplicates","copyRegex","options","isRegExp","TypeError","xData","getNativeFlags","flagsToAdd","flagsToRemove","xregexpSource","xregexpFlags","removeG","removeY","addG","addY","hasNamedCapture","slice","dec","hex","parseInt","array","len","isType","type","isQuantifierNext","pattern","pad4","prepareFlags","SyntaxError","$0","$1","prepareOptions","forEach","registerFlag","flag","Error","runTokens","scope","context","leadChar","t","matchLength","output","handler","reparse","setAstral","on","setNatives","toObject","token","generated","appliedPattern","appliedFlags","isInstalled","captures","version","addToken","optionalFlags","cache","flush","cacheName","escape","sticky","cacheKey","r2","lastIndex","global","callback","globalize","install","feature","matchChain","chain","recurseChain","level","addMatch","backref","ReferenceError","search","replacement","isRegex","s2","replaceEach","replacements","r","separator","limit","uninstall","union","patterns","parts","numCaptures","numPriorCaptures","rewrite","paren","origLastIndex","apply","arguments","args","$2","n","isNaN","lastLastIndex","lastLength","Array","input","endIndex","css","find","compact","removeNested","regexInfo","defaultAdd","func","resultMatch","sortMatchesCallback","m1","m2","itemI","itemIEndPos","j","itemJ","padNumber","number","getLines","getLinesToHighlight","opts","results","linesToHighlight","_this","lines","wrapLinesWithCode","line","spaces","space","s","processUrls","gt","suffix","figureOutLineNumbers","lineNumbers","firstLine","wrapLine","lineIndex","lineNumber","lineHtml","classes","renderLineNumbers","html","count","pad","padLineNumbers","getCodeLinesHtml","padLength","indent","getTitleHtml","getMatchesHtml","getBrushNameCss","matchBrushName","offset","gutter","collapse","autoLinks","splitLines","block","eachLine","guid","prefix","Math","round","random","merge","obj1","obj2","toBoolean","bloggerMode","stripBrs","unindenter","retabber","unindent","tabSize","smart","regular","br","isEmpty","min","insertSpaces","tab","tags","hasClass","addClass","removeClass","obj","e","event","srcElement","preventDefault","returnValue","addEventListener","reverse","nodes","childNodes","propertyToFind","expectedValue","found","findParentElement","popup","width","height","x","screen","win","open","focus","findElementsToHighlight","scripts","createElement","highlighterDiv","container","textarea","highlighter","innerText","textContent","readOnly","appendChild","createTextNode","select","removeChild","BrushXML","brushClass","scriptBrush","xmlBrush","htmlScript","offsetMatches","info","add","lastIndexOf","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","timeout","run","nextTick","Item","browser","env","argv","versions","noop","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","regexGroup","eof","end","BrushBase","Brush","keywords","ordinals","specials","getKeywords","inits","forHtmlScript","hereDocProcess","here_doc","full_tag","end_tag","commands","funcs","operators","datatypes","functions","fixComments","getKeywordsCSS","getValuesCSS","fonts","types","constants","methods","verbs","commenthelp","special","builtins","getKeywordsPrependedBy","by","statements","preprocessor","keyops","multiLineCCommentsAdd","matchStart","chunk","stringAdd","swiftTypes","attributes","tag","ops","reservedFunctions","reservedControl","definition","define","amd","fns","listener","doc","hack","documentElement","doScroll","domContentLoaded","loaded","readyState","removeEventListener","shift","fn","string","_","character","Object","keys","SyntaxHighlighter"],"mappings":"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","file":"syntaxhighlighter.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6ed82d7c6ef7b999f01e","import domready from 'domready';\nimport SyntaxHighlighter from './core';\nimport * as dasherize from './dasherize';\n\n// configured through the `--compat` parameter.\nif (COMPAT) {\n  require('./compatibility_layer_v3');\n}\n\ndomready(() => SyntaxHighlighter.highlight(dasherize.object(window.syntaxhighlighterConfig || {})));\n\nexport * from './core';\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","var\n  optsParser = require('opts-parser'),\n  match = require('syntaxhighlighter-match'),\n  Renderer = require('syntaxhighlighter-html-renderer').default,\n  utils = require('./utils'),\n  transformers = require('./transformers'),\n  dom = require('./dom'),\n  config = require('./config'),\n  defaults = require('./defaults'),\n  HtmlScript = require('./html_script')\n  ;\n\nconst sh = {\n  Match: match.Match,\n  Highlighter: require('brush-base'),\n\n  config: require('./config'),\n  regexLib: require('syntaxhighlighter-regex').commonRegExp,\n\n  /** Internal 'global' variables. */\n  vars : {\n    discoveredBrushes : null,\n    highlighters : {}\n  },\n\n  /** This object is populated by user included external brush files. */\n  brushes : {},\n\n  /**\n   * Finds all elements on the page which should be processes by SyntaxHighlighter.\n   *\n   * @param {Object} globalParams   Optional parameters which override element's\n   *                  parameters. Only used if element is specified.\n   *\n   * @param {Object} element  Optional element to highlight. If none is\n   *              provided, all elements in the current document\n   *              are returned which qualify.\n   *\n   * @return {Array}  Returns list of <code>{ target: DOMElement, params: Object }</code> objects.\n   */\n  findElements: function(globalParams, element)\n  {\n    var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)),\n      conf = sh.config,\n      result = []\n      ;\n\n    // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n    elements = elements.concat(dom.getSyntaxHighlighterScriptTags());\n\n    if (elements.length === 0)\n      return result;\n\n    for (var i = 0, l = elements.length; i < l; i++)\n    {\n      var item = {\n        target: elements[i],\n        // local params take precedence over globals\n        params: optsParser.defaults(optsParser.parse(elements[i].className), globalParams)\n      };\n\n      if (item.params['brush'] == null)\n        continue;\n\n      result.push(item);\n    }\n\n    return result;\n  },\n\n  /**\n   * Shorthand to highlight all elements on the page that are marked as\n   * SyntaxHighlighter source code.\n   *\n   * @param {Object} globalParams   Optional parameters which override element's\n   *                  parameters. Only used if element is specified.\n   *\n   * @param {Object} element  Optional element to highlight. If none is\n   *              provided, all elements in the current document\n   *              are highlighted.\n   */\n  highlight: function(globalParams, element)\n  {\n    var elements = sh.findElements(globalParams, element),\n        propertyName = 'innerHTML',\n        brush = null,\n        renderer,\n        conf = sh.config\n        ;\n\n    if (elements.length === 0)\n      return;\n\n    for (var i = 0, l = elements.length; i < l; i++)\n    {\n      var element = elements[i],\n          target = element.target,\n          params = element.params,\n          brushName = params.brush,\n          brush,\n          matches,\n          code\n          ;\n\n      if (brushName == null)\n        continue;\n\n      brush = findBrush(brushName);\n\n      if (!brush)\n        continue;\n\n      // local params take precedence over defaults\n      params = optsParser.defaults(params || {}, defaults);\n      params = optsParser.defaults(params, config);\n\n      // Instantiate a brush\n      if (params['html-script'] == true || defaults['html-script'] == true)\n      {\n        brush = new HtmlScript(findBrush('xml'), brush);\n        brushName = 'htmlscript';\n      }\n      else\n      {\n        brush = new brush();\n      }\n\n      code = target[propertyName];\n\n      // remove CDATA from <SCRIPT/> tags if it's present\n      if (conf.useScriptTags)\n        code = stripCData(code);\n\n      // Inject title if the attribute is present\n      if ((target.title || '') != '')\n        params.title = target.title;\n\n      params['brush'] = brushName;\n\n      code = transformers(code, params);\n      matches = match.applyRegexList(code, brush.regexList, params);\n      renderer = new Renderer(code, matches, params);\n\n      element = dom.create('div');\n      element.innerHTML = renderer.getHtml();\n\n      // id = utils.guid();\n      // element.id = highlighters.id(id);\n      // highlighters.set(id, element);\n\n      if (params.quickCode)\n        dom.attachEvent(dom.findElement(element, '.code'), 'dblclick', dom.quickCodeHandler);\n\n      // carry over ID\n      if ((target.id || '') != '')\n        element.id = target.id;\n\n      target.parentNode.replaceChild(element, target);\n    }\n  }\n}; // end of sh\n\n/**\n * Displays an alert.\n * @param {String} str String to display.\n */\nfunction alert(str)\n{\n  window.alert('SyntaxHighlighter\\n\\n' + str);\n};\n\n/**\n * Finds a brush by its alias.\n *\n * @param {String} alias    Brush alias.\n * @param {Boolean} showAlert Suppresses the alert if false.\n * @return {Brush}        Returns bursh constructor if found, null otherwise.\n */\nfunction findBrush(alias, showAlert)\n{\n  var brushes = sh.vars.discoveredBrushes,\n    result = null\n    ;\n\n  if (brushes == null)\n  {\n    brushes = {};\n\n    // Find all brushes\n    for (var brushName in sh.brushes)\n    {\n      var brush = sh.brushes[brushName],\n        aliases = brush.aliases\n        ;\n\n      if (aliases == null) {\n        continue;\n      }\n\n      brush.className = brush.className || brush.aliases[0];\n      brush.brushName = brush.className || brushName.toLowerCase();\n\n      for (var i = 0, l = aliases.length; i < l; i++) {\n        brushes[aliases[i]] = brushName;\n      }\n    }\n\n    sh.vars.discoveredBrushes = brushes;\n  }\n\n  result = sh.brushes[brushes[alias]];\n\n  if (result == null && showAlert)\n    alert(sh.config.strings.noBrush + alias);\n\n  return result;\n};\n\n/**\n * Strips <![CDATA[]]> from <SCRIPT /> content because it should be used\n * there in most cases for XHTML compliance.\n * @param {String} original Input code.\n * @return {String} Returns code without leading <![CDATA[]]> tags.\n */\nfunction stripCData(original)\n{\n  var left = '<![CDATA[',\n    right = ']]>',\n    // for some reason IE inserts some leading blanks here\n    copy = utils.trim(original),\n    changed = false,\n    leftLength = left.length,\n    rightLength = right.length\n    ;\n\n  if (copy.indexOf(left) == 0)\n  {\n    copy = copy.substring(leftLength);\n    changed = true;\n  }\n\n  var copyLength = copy.length;\n\n  if (copy.indexOf(right) == copyLength - rightLength)\n  {\n    copy = copy.substring(0, copyLength - rightLength);\n    changed = true;\n  }\n\n  return changed ? copy : original;\n};\n\nlet brushCounter = 0;\n\nexport default sh;\nexport const registerBrush = brush => sh.brushes['brush' + brushCounter++] = brush.default || brush;\nexport const clearRegisteredBrushes = () => {\n  sh.brushes = {};\n  brushCounter = 0;\n}\n\n/* an EJS hook for `gulp build --brushes` command\n * */\n\n\n  registerBrush(require('brush-applescript'));\n\n  registerBrush(require('brush-as3'));\n\n  registerBrush(require('brush-base'));\n\n  registerBrush(require('brush-bash'));\n\n  registerBrush(require('brush-coldfusion'));\n\n  registerBrush(require('brush-cpp'));\n\n  registerBrush(require('brush-csharp'));\n\n  registerBrush(require('brush-css'));\n\n  registerBrush(require('brush-delphi'));\n\n  registerBrush(require('brush-diff'));\n\n  registerBrush(require('brush-erlang'));\n\n  registerBrush(require('brush-groovy'));\n\n  registerBrush(require('brush-haxe'));\n\n  registerBrush(require('brush-java'));\n\n  registerBrush(require('brush-javafx'));\n\n  registerBrush(require('brush-javascript'));\n\n  registerBrush(require('brush-perl'));\n\n  registerBrush(require('brush-php'));\n\n  registerBrush(require('brush-plain'));\n\n  registerBrush(require('brush-powershell'));\n\n  registerBrush(require('brush-python'));\n\n  registerBrush(require('brush-ruby'));\n\n  registerBrush(require('brush-sass'));\n\n  registerBrush(require('brush-scala'));\n\n  registerBrush(require('brush-sql'));\n\n  registerBrush(require('brush-swift'));\n\n  registerBrush(require('brush-tap'));\n\n  registerBrush(require('brush-typescript'));\n\n  registerBrush(require('brush-vb'));\n\n  registerBrush(require('brush-xml'));\n\n  registerBrush(require('../repos/brush-halcon/brush.js'));\n\n  registerBrush(require('../repos/brush-IEC61131/brush.js'));\n\n  registerBrush(require('../repos/brush-kotlin/brush.js'));\n\n  registerBrush(require('../repos/brush-latex/brush.js'));\n\n  registerBrush(require('../repos/brush-Makefile/brush.js'));\n\n  registerBrush(require('../repos/brush-mel/brush.js'));\n\n  registerBrush(require('../repos/brush-objective-c/brush.js'));\n\n  registerBrush(require('../repos/brush-yaml/brush.js'));\n\n\n/*\n\n */\n\n\n\n// WEBPACK FOOTER //\n// ./src/core.js","var XRegExp = require('syntaxhighlighter-regex').XRegExp;\n\nvar BOOLEANS = {'true': true, 'false': false};\n\nfunction camelize(key)\n{\n  return key.replace(/-(\\w+)/g, function(match, word)\n  {\n    return word.charAt(0).toUpperCase() + word.substr(1);\n  });\n}\n\nfunction process(value)\n{\n  var result = BOOLEANS[value];\n  return result == null ? value : result;\n}\n\nmodule.exports = {\n  defaults: function(target, source)\n  {\n    for(var key in source || {})\n      if (!target.hasOwnProperty(key))\n        target[key] = target[camelize(key)] = source[key];\n\n    return target;\n  },\n\n  parse: function(str)\n  {\n    var match,\n        key,\n        result = {},\n        arrayRegex = XRegExp(\"^\\\\[(?<values>(.*?))\\\\]$\"),\n        pos = 0,\n        regex = XRegExp(\n          \"(?<name>[\\\\w-]+)\" +\n          \"\\\\s*:\\\\s*\" +\n          \"(?<value>\" +\n            \"[\\\\w%#-]+|\" +    // word\n            \"\\\\[.*?\\\\]|\" +    // [] array\n            '\".*?\"|' +        // \"\" string\n            \"'.*?'\" +         // '' string\n          \")\\\\s*;?\",\n          \"g\"\n        )\n        ;\n\n    while ((match = XRegExp.exec(str, regex, pos)) != null)\n    {\n      var value = match.value\n        .replace(/^['\"]|['\"]$/g, '') // strip quotes from end of strings\n        ;\n\n      // try to parse array value\n      if (value != null && arrayRegex.test(value))\n      {\n        var m = XRegExp.exec(value, arrayRegex);\n        value = m.values.length > 0 ? m.values.split(/\\s*,\\s*/) : [];\n      }\n\n      value = process(value);\n      result[match.name] = result[camelize(match.name)] = value;\n      pos = match.index + match[0].length;\n    }\n\n    return result;\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/opts-parser/opts-parser.js","import XRegExp from './xregexp';\n\nexport { XRegExp };\n\nexport const commonRegExp = {\n  multiLineCComments          : XRegExp('/\\\\*.*?\\\\*/', 'gs'),\n  singleLineCComments         : /\\/\\/.*$/gm,\n  singleLinePerlComments      : /#.*$/gm,\n  doubleQuotedString          : /\"([^\\\\\"\\n]|\\\\.)*\"/g,\n  singleQuotedString          : /'([^\\\\'\\n]|\\\\.)*'/g,\n  multiLineDoubleQuotedString : XRegExp('\"([^\\\\\\\\\"]|\\\\\\\\.)*\"', 'gs'),\n  multiLineSingleQuotedString : XRegExp(\"'([^\\\\\\\\']|\\\\\\\\.)*'\", 'gs'),\n  xmlComments                 : XRegExp('(&lt;|<)!--.*?--(&gt;|>)', 'gs'),\n  url                         : /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g,\n  phpScriptTags               : { left: /(&lt;|<)\\?(?:=|php)?/g, right: /\\?(&gt;|>)/g, 'eof' : true },\n  aspScriptTags               : { left: /(&lt;|<)%=?/g, right: /%(&gt;|>)/g },\n  scriptScriptTags            : { left: /(&lt;|<)\\s*script.*?(&gt;|>)/gi, right: /(&lt;|<)\\/\\s*script\\s*(&gt;|>)/gi }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-regex/index.js","/*!\n * XRegExp 3.1.0-dev\n * <xregexp.com>\n * Steven Levithan (c) 2007-2015 MIT License\n */\n\n/**\n * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and\n * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to\n * make your client-side grepping simpler and more powerful, while freeing you from related\n * cross-browser inconsistencies.\n */\n\n    'use strict';\n\n/* ==============================\n * Private variables\n * ============================== */\n\n    // Property name used for extended regex instance data\n    var REGEX_DATA = 'xregexp';\n    // Optional features that can be installed and uninstalled\n    var features = {\n        astral: false,\n        natives: false\n    };\n    // Native methods to use and restore ('native' is an ES3 reserved keyword)\n    var nativ = {\n        exec: RegExp.prototype.exec,\n        test: RegExp.prototype.test,\n        match: String.prototype.match,\n        replace: String.prototype.replace,\n        split: String.prototype.split\n    };\n    // Storage for fixed/extended native methods\n    var fixed = {};\n    // Storage for regexes cached by `XRegExp.cache`\n    var regexCache = {};\n    // Storage for pattern details cached by the `XRegExp` constructor\n    var patternCache = {};\n    // Storage for regex syntax tokens added internally or by `XRegExp.addToken`\n    var tokens = [];\n    // Token scopes\n    var defaultScope = 'default';\n    var classScope = 'class';\n    // Regexes that match native regex syntax, including octals\n    var nativeTokens = {\n        // Any native multicharacter token in default scope, or any single character\n        'default': /\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??|[\\s\\S]/,\n        // Any native multicharacter token in character class scope, or any single character\n        'class': /\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|[\\s\\S]/\n    };\n    // Any backreference or dollar-prefixed character in replacement strings\n    var replacementToken = /\\$(?:{([\\w$]+)}|(\\d\\d?|[\\s\\S]))/g;\n    // Check for correct `exec` handling of nonparticipating capturing groups\n    var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined;\n    // Check for ES6 `u` flag support\n    var hasNativeU = (function() {\n        var isSupported = true;\n        try {\n            new RegExp('', 'u');\n        } catch (exception) {\n            isSupported = false;\n        }\n        return isSupported;\n    }());\n    // Check for ES6 `y` flag support\n    var hasNativeY = (function() {\n        var isSupported = true;\n        try {\n            new RegExp('', 'y');\n        } catch (exception) {\n            isSupported = false;\n        }\n        return isSupported;\n    }());\n    // Check for ES6 `flags` prop support\n    var hasFlagsProp = /a/.flags !== undefined;\n    // Tracker for known flags, including addon flags\n    var registeredFlags = {\n        g: true,\n        i: true,\n        m: true,\n        u: hasNativeU,\n        y: hasNativeY\n    };\n    // Shortcut to `Object.prototype.toString`\n    var toString = {}.toString;\n\n/* ==============================\n * Private functions\n * ============================== */\n\n/**\n * Attaches extended data and `XRegExp.prototype` properties to a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to augment.\n * @param {Array} captureNames Array with capture names, or `null`.\n * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.\n * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.\n * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal\n *   operations, and never exposed to users. For internal-only regexes, we can improve perf by\n *   skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Augmented regex.\n */\n    function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {\n        var p;\n\n        regex[REGEX_DATA] = {\n            captureNames: captureNames\n        };\n\n        if (isInternalOnly) {\n            return regex;\n        }\n\n        // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value\n        if (regex.__proto__) {\n            regex.__proto__ = XRegExp.prototype;\n        } else {\n            for (p in XRegExp.prototype) {\n                // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since\n                // this is performance sensitive, and enumerable `Object.prototype` or\n                // `RegExp.prototype` extensions exist on `regex.prototype` anyway\n                regex[p] = XRegExp.prototype[p];\n            }\n        }\n\n        regex[REGEX_DATA].source = xSource;\n        // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order\n        regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags;\n\n        return regex;\n    }\n\n/**\n * Removes any duplicate characters from the provided string.\n *\n * @private\n * @param {String} str String to remove duplicate characters from.\n * @returns {String} String with any duplicate characters removed.\n */\n    function clipDuplicates(str) {\n        return nativ.replace.call(str, /([\\s\\S])(?=[\\s\\S]*\\1)/g, '');\n    }\n\n/**\n * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`\n * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing\n * flags g and y while copying the regex.\n *\n * @private\n * @param {RegExp} regex Regex to copy.\n * @param {Object} [options] Options object with optional properties:\n *   <li>`addG` {Boolean} Add flag g while copying the regex.\n *   <li>`addY` {Boolean} Add flag y while copying the regex.\n *   <li>`removeG` {Boolean} Remove flag g while copying the regex.\n *   <li>`removeY` {Boolean} Remove flag y while copying the regex.\n *   <li>`isInternalOnly` {Boolean} Whether the copied regex will be used only for internal\n *     operations, and never exposed to users. For internal-only regexes, we can improve perf by\n *     skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Copy of the provided regex, possibly with modified flags.\n */\n    function copyRegex(regex, options) {\n        if (!XRegExp.isRegExp(regex)) {\n            throw new TypeError('Type RegExp expected');\n        }\n\n        var xData = regex[REGEX_DATA] || {},\n            flags = getNativeFlags(regex),\n            flagsToAdd = '',\n            flagsToRemove = '',\n            xregexpSource = null,\n            xregexpFlags = null;\n\n        options = options || {};\n\n        if (options.removeG) {flagsToRemove += 'g';}\n        if (options.removeY) {flagsToRemove += 'y';}\n        if (flagsToRemove) {\n            flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), '');\n        }\n\n        if (options.addG) {flagsToAdd += 'g';}\n        if (options.addY) {flagsToAdd += 'y';}\n        if (flagsToAdd) {\n            flags = clipDuplicates(flags + flagsToAdd);\n        }\n\n        if (!options.isInternalOnly) {\n            if (xData.source !== undefined) {\n                xregexpSource = xData.source;\n            }\n            // null or undefined; don't want to add to `flags` if the previous value was null, since\n            // that indicates we're not tracking original precompilation flags\n            if (xData.flags != null) {\n                // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are\n                // never removed for non-internal regexes, so don't need to handle it\n                xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags;\n            }\n        }\n\n        // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to\n        // avoid searching for special tokens. That would be wrong for regexes constructed by\n        // `RegExp`, and unnecessary for regexes constructed by `XRegExp` because the regex has\n        // already undergone the translation to native regex syntax\n        regex = augment(\n            new RegExp(regex.source, flags),\n            hasNamedCapture(regex) ? xData.captureNames.slice(0) : null,\n            xregexpSource,\n            xregexpFlags,\n            options.isInternalOnly\n        );\n\n        return regex;\n    }\n\n/**\n * Converts hexadecimal to decimal.\n *\n * @private\n * @param {String} hex\n * @returns {Number}\n */\n    function dec(hex) {\n        return parseInt(hex, 16);\n    }\n\n/**\n * Returns native `RegExp` flags used by a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {String} Native flags in use.\n */\n    function getNativeFlags(regex) {\n        return hasFlagsProp ?\n            regex.flags :\n            // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or\n            // concatenation with an empty string) allows this to continue working predictably when\n            // `XRegExp.proptotype.toString` is overriden\n            nativ.exec.call(/\\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1];\n    }\n\n/**\n * Determines whether a regex has extended instance data used to track capture names.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {Boolean} Whether the regex uses named capture.\n */\n    function hasNamedCapture(regex) {\n        return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);\n    }\n\n/**\n * Converts decimal to hexadecimal.\n *\n * @private\n * @param {Number|String} dec\n * @returns {String}\n */\n    function hex(dec) {\n        return parseInt(dec, 10).toString(16);\n    }\n\n/**\n * Returns the first index at which a given value can be found in an array.\n *\n * @private\n * @param {Array} array Array to search.\n * @param {*} value Value to locate in the array.\n * @returns {Number} Zero-based index at which the item is found, or -1.\n */\n    function indexOf(array, value) {\n        var len = array.length, i;\n\n        for (i = 0; i < len; ++i) {\n            if (array[i] === value) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n/**\n * Determines whether a value is of the specified type, by resolving its internal [[Class]].\n *\n * @private\n * @param {*} value Object to check.\n * @param {String} type Type to check for, in TitleCase.\n * @returns {Boolean} Whether the object matches the type.\n */\n    function isType(value, type) {\n        return toString.call(value) === '[object ' + type + ']';\n    }\n\n/**\n * Checks whether the next nonignorable token after the specified position is a quantifier.\n *\n * @private\n * @param {String} pattern Pattern to search within.\n * @param {Number} pos Index in `pattern` to search at.\n * @param {String} flags Flags used by the pattern.\n * @returns {Boolean} Whether the next token is a quantifier.\n */\n    function isQuantifierNext(pattern, pos, flags) {\n        return nativ.test.call(\n            flags.indexOf('x') > -1 ?\n                // Ignore any leading whitespace, line comments, and inline comments\n                /^(?:\\s+|#.*|\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/ :\n                // Ignore any leading inline comments\n                /^(?:\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/,\n            pattern.slice(pos)\n        );\n    }\n\n/**\n * Pads the provided string with as many leading zeros as needed to get to length 4. Used to produce\n * fixed-length hexadecimal values.\n *\n * @private\n * @param {String} str\n * @returns {String}\n */\n    function pad4(str) {\n        while (str.length < 4) {\n            str = '0' + str;\n        }\n        return str;\n    }\n\n/**\n * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads\n * the flag preparation logic from the `XRegExp` constructor.\n *\n * @private\n * @param {String} pattern Regex pattern, possibly with a leading mode modifier.\n * @param {String} flags Any combination of flags.\n * @returns {Object} Object with properties `pattern` and `flags`.\n */\n    function prepareFlags(pattern, flags) {\n        var i;\n\n        // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags\n        if (clipDuplicates(flags) !== flags) {\n            throw new SyntaxError('Invalid duplicate regex flag ' + flags);\n        }\n\n        // Strip and apply a leading mode modifier with any combination of flags except g or y\n        pattern = nativ.replace.call(pattern, /^\\(\\?([\\w$]+)\\)/, function($0, $1) {\n            if (nativ.test.call(/[gy]/, $1)) {\n                throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0);\n            }\n            // Allow duplicate flags within the mode modifier\n            flags = clipDuplicates(flags + $1);\n            return '';\n        });\n\n        // Throw on unknown native or nonnative flags\n        for (i = 0; i < flags.length; ++i) {\n            if (!registeredFlags[flags.charAt(i)]) {\n                throw new SyntaxError('Unknown regex flag ' + flags.charAt(i));\n            }\n        }\n\n        return {\n            pattern: pattern,\n            flags: flags\n        };\n    }\n\n/**\n * Prepares an options object from the given value.\n *\n * @private\n * @param {String|Object} value Value to convert to an options object.\n * @returns {Object} Options object.\n */\n    function prepareOptions(value) {\n        var options = {};\n\n        if (isType(value, 'String')) {\n            XRegExp.forEach(value, /[^\\s,]+/, function(match) {\n                options[match] = true;\n            });\n\n            return options;\n        }\n\n        return value;\n    }\n\n/**\n * Registers a flag so it doesn't throw an 'unknown flag' error.\n *\n * @private\n * @param {String} flag Single-character flag to register.\n */\n    function registerFlag(flag) {\n        if (!/^[\\w$]$/.test(flag)) {\n            throw new Error('Flag must be a single character A-Za-z0-9_$');\n        }\n\n        registeredFlags[flag] = true;\n    }\n\n/**\n * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified\n * position, until a match is found.\n *\n * @private\n * @param {String} pattern Original pattern from which an XRegExp object is being built.\n * @param {String} flags Flags being used to construct the regex.\n * @param {Number} pos Position to search for tokens within `pattern`.\n * @param {Number} scope Regex scope to apply: 'default' or 'class'.\n * @param {Object} context Context object to use for token handler functions.\n * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.\n */\n    function runTokens(pattern, flags, pos, scope, context) {\n        var i = tokens.length,\n            leadChar = pattern.charAt(pos),\n            result = null,\n            match,\n            t;\n\n        // Run in reverse insertion order\n        while (i--) {\n            t = tokens[i];\n            if (\n                (t.leadChar && t.leadChar !== leadChar) ||\n                (t.scope !== scope && t.scope !== 'all') ||\n                (t.flag && flags.indexOf(t.flag) === -1)\n            ) {\n                continue;\n            }\n\n            match = XRegExp.exec(pattern, t.regex, pos, 'sticky');\n            if (match) {\n                result = {\n                    matchLength: match[0].length,\n                    output: t.handler.call(context, match, scope, flags),\n                    reparse: t.reparse\n                };\n                // Finished with token tests\n                break;\n            }\n        }\n\n        return result;\n    }\n\n/**\n * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to\n * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if\n * the Unicode Base addon is not available, since flag A is registered by that addon.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n    function setAstral(on) {\n        features.astral = on;\n    }\n\n/**\n * Enables or disables native method overrides.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n    function setNatives(on) {\n        RegExp.prototype.exec = (on ? fixed : nativ).exec;\n        RegExp.prototype.test = (on ? fixed : nativ).test;\n        String.prototype.match = (on ? fixed : nativ).match;\n        String.prototype.replace = (on ? fixed : nativ).replace;\n        String.prototype.split = (on ? fixed : nativ).split;\n\n        features.natives = on;\n    }\n\n/**\n * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow\n * the ES5 abstract operation `ToObject`.\n *\n * @private\n * @param {*} value Object to check and return.\n * @returns {*} The provided object.\n */\n    function toObject(value) {\n        // null or undefined\n        if (value == null) {\n            throw new TypeError('Cannot convert null or undefined to object');\n        }\n\n        return value;\n    }\n\n/* ==============================\n * Constructor\n * ============================== */\n\n/**\n * Creates an extended regular expression object for matching text with a pattern. Differs from a\n * native regular expression in that additional syntax and flags are supported. The returned object\n * is in fact a native `RegExp` and works with all native methods.\n *\n * @class XRegExp\n * @constructor\n * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.\n * @param {String} [flags] Any combination of flags.\n *   Native flags:\n *     <li>`g` - global\n *     <li>`i` - ignore case\n *     <li>`m` - multiline anchors\n *     <li>`u` - unicode (ES6)\n *     <li>`y` - sticky (Firefox 3+, ES6)\n *   Additional XRegExp flags:\n *     <li>`n` - explicit capture\n *     <li>`s` - dot matches all (aka singleline)\n *     <li>`x` - free-spacing and line comments (aka extended)\n *     <li>`A` - astral (requires the Unicode Base addon)\n *   Flags cannot be provided when constructing one `RegExp` from another.\n * @returns {RegExp} Extended regular expression object.\n * @example\n *\n * // With named capture and flag x\n * XRegExp('(?<year>  [0-9]{4} ) -?  # year  \\n\\\n *          (?<month> [0-9]{2} ) -?  # month \\n\\\n *          (?<day>   [0-9]{2} )     # day   ', 'x');\n *\n * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)\n * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and\n * // have fresh `lastIndex` properties (set to zero).\n * XRegExp(/regex/);\n */\n    function XRegExp(pattern, flags) {\n        var context = {\n                hasNamedCapture: false,\n                captureNames: []\n            },\n            scope = defaultScope,\n            output = '',\n            pos = 0,\n            result,\n            token,\n            generated,\n            appliedPattern,\n            appliedFlags;\n\n        if (XRegExp.isRegExp(pattern)) {\n            if (flags !== undefined) {\n                throw new TypeError('Cannot supply flags when copying a RegExp');\n            }\n            return copyRegex(pattern);\n        }\n\n        // Copy the argument behavior of `RegExp`\n        pattern = pattern === undefined ? '' : String(pattern);\n        flags = flags === undefined ? '' : String(flags);\n\n        if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) {\n            // This causes an error to be thrown if the Unicode Base addon is not available\n            flags += 'A';\n        }\n\n        if (!patternCache[pattern]) {\n            patternCache[pattern] = {};\n        }\n\n        if (!patternCache[pattern][flags]) {\n            // Check for flag-related errors, and strip/apply flags in a leading mode modifier\n            result = prepareFlags(pattern, flags);\n            appliedPattern = result.pattern;\n            appliedFlags = result.flags;\n\n            // Use XRegExp's tokens to translate the pattern to a native regex pattern.\n            // `appliedPattern.length` may change on each iteration if tokens use `reparse`\n            while (pos < appliedPattern.length) {\n                do {\n                    // Check for custom tokens at the current position\n                    result = runTokens(appliedPattern, appliedFlags, pos, scope, context);\n                    // If the matched token used the `reparse` option, splice its output into the\n                    // pattern before running tokens again at the same position\n                    if (result && result.reparse) {\n                        appliedPattern = appliedPattern.slice(0, pos) +\n                            result.output +\n                            appliedPattern.slice(pos + result.matchLength);\n                    }\n                } while (result && result.reparse);\n\n                if (result) {\n                    output += result.output;\n                    pos += (result.matchLength || 1);\n                } else {\n                    // Get the native token at the current position\n                    token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0];\n                    output += token;\n                    pos += token.length;\n                    if (token === '[' && scope === defaultScope) {\n                        scope = classScope;\n                    } else if (token === ']' && scope === classScope) {\n                        scope = defaultScope;\n                    }\n                }\n            }\n\n            patternCache[pattern][flags] = {\n                // Cleanup token cruft: repeated `(?:)(?:)` and leading/trailing `(?:)`\n                pattern: nativ.replace.call(output, /\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??(?=\\(\\?:\\))|^\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??|\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??$/g, ''),\n                // Strip all but native flags\n                flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''),\n                // `context.captureNames` has an item for each capturing group, even if unnamed\n                captures: context.hasNamedCapture ? context.captureNames : null\n            };\n        }\n\n        generated = patternCache[pattern][flags];\n        return augment(\n            new RegExp(generated.pattern, generated.flags),\n            generated.captures,\n            pattern,\n            flags\n        );\n    };\n\n// Add `RegExp.prototype` to the prototype chain\n    XRegExp.prototype = new RegExp();\n\n/* ==============================\n * Public properties\n * ============================== */\n\n/**\n * The XRegExp version number as a string containing three dot-separated parts. For example,\n * '2.0.0-beta-3'.\n *\n * @static\n * @memberOf XRegExp\n * @type String\n */\n    XRegExp.version = '3.1.0-dev';\n\n/* ==============================\n * Public methods\n * ============================== */\n\n/**\n * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to\n * create XRegExp addons. If more than one token can match the same string, the last added wins.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex object that matches the new token.\n * @param {Function} handler Function that returns a new pattern string (using native regex syntax)\n *   to replace the matched token within all future XRegExp regexes. Has access to persistent\n *   properties of the regex being built, through `this`. Invoked with three arguments:\n *   <li>The match array, with named backreference properties.\n *   <li>The regex scope where the match was found: 'default' or 'class'.\n *   <li>The flags used by the regex, including any flags in a leading mode modifier.\n *   The handler function becomes part of the XRegExp construction process, so be careful not to\n *   construct XRegExps within the function or you will trigger infinite recursion.\n * @param {Object} [options] Options object with optional properties:\n *   <li>`scope` {String} Scope where the token applies: 'default', 'class', or 'all'.\n *   <li>`flag` {String} Single-character flag that triggers the token. This also registers the\n *     flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.\n *   <li>`optionalFlags` {String} Any custom flags checked for within the token `handler` that are\n *     not required to trigger the token. This registers the flags, to prevent XRegExp from\n *     throwing an 'unknown flag' error when any of the flags are used.\n *   <li>`reparse` {Boolean} Whether the `handler` function's output should not be treated as\n *     final, and instead be reparseable by other tokens (including the current token). Allows\n *     token chaining or deferring.\n *   <li>`leadChar` {String} Single character that occurs at the beginning of any successful match\n *     of the token (not always applicable). This doesn't change the behavior of the token unless\n *     you provide an erroneous value. However, providing it can increase the token's performance\n *     since the token can be skipped at any positions where this character doesn't appear.\n * @example\n *\n * // Basic usage: Add \\a for the ALERT control code\n * XRegExp.addToken(\n *   /\\\\a/,\n *   function() {return '\\\\x07';},\n *   {scope: 'all'}\n * );\n * XRegExp('\\\\a[\\\\a-\\\\n]+').test('\\x07\\n\\x07'); // -> true\n *\n * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.\n * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of\n * // character classes only)\n * XRegExp.addToken(\n *   /([?*+]|{\\d+(?:,\\d*)?})(\\??)/,\n *   function(match) {return match[1] + (match[2] ? '' : '?');},\n *   {flag: 'U'}\n * );\n * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'\n * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'\n */\n    XRegExp.addToken = function(regex, handler, options) {\n        options = options || {};\n        var optionalFlags = options.optionalFlags, i;\n\n        if (options.flag) {\n            registerFlag(options.flag);\n        }\n\n        if (optionalFlags) {\n            optionalFlags = nativ.split.call(optionalFlags, '');\n            for (i = 0; i < optionalFlags.length; ++i) {\n                registerFlag(optionalFlags[i]);\n            }\n        }\n\n        // Add to the private list of syntax tokens\n        tokens.push({\n            regex: copyRegex(regex, {\n                addG: true,\n                addY: hasNativeY,\n                isInternalOnly: true\n            }),\n            handler: handler,\n            scope: options.scope || defaultScope,\n            flag: options.flag,\n            reparse: options.reparse,\n            leadChar: options.leadChar\n        });\n\n        // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and\n        // flags might now produce different results\n        XRegExp.cache.flush('patterns');\n    };\n\n/**\n * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with\n * the same pattern and flag combination, the cached copy of the regex is returned.\n *\n * @memberOf XRegExp\n * @param {String} pattern Regex pattern string.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Cached XRegExp object.\n * @example\n *\n * while (match = XRegExp.cache('.', 'gs').exec(str)) {\n *   // The regex is compiled once only\n * }\n */\n    XRegExp.cache = function(pattern, flags) {\n        if (!regexCache[pattern]) {\n            regexCache[pattern] = {};\n        }\n        return regexCache[pattern][flags] || (\n            regexCache[pattern][flags] = XRegExp(pattern, flags)\n        );\n    };\n\n// Intentionally undocumented\n    XRegExp.cache.flush = function(cacheName) {\n        if (cacheName === 'patterns') {\n            // Flush the pattern cache used by the `XRegExp` constructor\n            patternCache = {};\n        } else {\n            // Flush the regex cache populated by `XRegExp.cache`\n            regexCache = {};\n        }\n    };\n\n/**\n * Escapes any regular expression metacharacters, for use when matching literal strings. The result\n * can safely be used at any point within a regex that uses any flags.\n *\n * @memberOf XRegExp\n * @param {String} str String to escape.\n * @returns {String} String with regex metacharacters escaped.\n * @example\n *\n * XRegExp.escape('Escaped? <.>');\n * // -> 'Escaped\\?\\ <\\.>'\n */\n    XRegExp.escape = function(str) {\n        return nativ.replace.call(toObject(str), /[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n    };\n\n/**\n * Executes a regex search in a specified string. Returns a match array or `null`. If the provided\n * regex uses named capture, named backreference properties are included on the match array.\n * Optional `pos` and `sticky` arguments specify the search start position, and whether the match\n * must start at the specified position only. The `lastIndex` property of the provided regex is not\n * used, but is updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.exec` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n *   only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Array} Match array with named backreference properties, or `null`.\n * @example\n *\n * // Basic use, with named backreference\n * var match = XRegExp.exec('U+2620', XRegExp('U\\\\+(?<hex>[0-9A-F]{4})'));\n * match.hex; // -> '2620'\n *\n * // With pos and sticky, in a loop\n * var pos = 2, result = [], match;\n * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\\d)>/, pos, 'sticky')) {\n *   result.push(match[1]);\n *   pos = match.index + match[0].length;\n * }\n * // result -> ['2', '3', '4']\n */\n    XRegExp.exec = function(str, regex, pos, sticky) {\n        var cacheKey = 'g',\n            addY = false,\n            match,\n            r2;\n\n        addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false));\n        if (addY) {\n            cacheKey += 'y';\n        }\n\n        regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n        // Shares cached copies with `XRegExp.match`/`replace`\n        r2 = regex[REGEX_DATA][cacheKey] || (\n            regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n                addG: true,\n                addY: addY,\n                removeY: sticky === false,\n                isInternalOnly: true\n            })\n        );\n\n        r2.lastIndex = pos = pos || 0;\n\n        // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.\n        match = fixed.exec.call(r2, str);\n\n        if (sticky && match && match.index !== pos) {\n            match = null;\n        }\n\n        if (regex.global) {\n            regex.lastIndex = match ? r2.lastIndex : 0;\n        }\n\n        return match;\n    };\n\n/**\n * Executes a provided function once per regex match. Searches always start at the beginning of the\n * string and continue until the end, regardless of the state of the regex's `global` property and\n * initial `lastIndex`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Function} callback Function to execute for each match. Invoked with four arguments:\n *   <li>The match array, with named backreference properties.\n *   <li>The zero-based match index.\n *   <li>The string being traversed.\n *   <li>The regex object being used to traverse the string.\n * @example\n *\n * // Extracts every other digit from a string\n * var evens = [];\n * XRegExp.forEach('1a2345', /\\d/, function(match, i) {\n *   if (i % 2) evens.push(+match[0]);\n * });\n * // evens -> [2, 4]\n */\n    XRegExp.forEach = function(str, regex, callback) {\n        var pos = 0,\n            i = -1,\n            match;\n\n        while ((match = XRegExp.exec(str, regex, pos))) {\n            // Because `regex` is provided to `callback`, the function could use the deprecated/\n            // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since\n            // `XRegExp.exec` doesn't use `lastIndex` to set the search position, this can't lead\n            // to an infinite loop, at least. Actually, because of the way `XRegExp.exec` caches\n            // globalized versions of regexes, mutating the regex will not have any effect on the\n            // iteration or matched strings, which is a nice side effect that brings extra safety\n            callback(match, ++i, str, regex);\n\n            pos = match.index + (match[0].length || 1);\n        }\n    };\n\n/**\n * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with\n * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native\n * regexes are not recompiled using XRegExp syntax.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex to globalize.\n * @returns {RegExp} Copy of the provided regex with flag `g` added.\n * @example\n *\n * var globalCopy = XRegExp.globalize(/regex/);\n * globalCopy.global; // -> true\n */\n    XRegExp.globalize = function(regex) {\n        return copyRegex(regex, {addG: true});\n    };\n\n/**\n * Installs optional features according to the specified options. Can be undone using\n * {@link #XRegExp.uninstall}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.install({\n *   // Enables support for astral code points in Unicode addons (implicitly sets flag A)\n *   astral: true,\n *\n *   // Overrides native regex methods with fixed/extended versions that support named\n *   // backreferences and fix numerous cross-browser bugs\n *   natives: true\n * });\n *\n * // With an options string\n * XRegExp.install('astral natives');\n */\n    XRegExp.install = function(options) {\n        options = prepareOptions(options);\n\n        if (!features.astral && options.astral) {\n            setAstral(true);\n        }\n\n        if (!features.natives && options.natives) {\n            setNatives(true);\n        }\n    };\n\n/**\n * Checks whether an individual optional feature is installed.\n *\n * @memberOf XRegExp\n * @param {String} feature Name of the feature to check. One of:\n *   <li>`natives`\n *   <li>`astral`\n * @returns {Boolean} Whether the feature is installed.\n * @example\n *\n * XRegExp.isInstalled('natives');\n */\n    XRegExp.isInstalled = function(feature) {\n        return !!(features[feature]);\n    };\n\n/**\n * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes\n * created in another frame, when `instanceof` and `constructor` checks would fail.\n *\n * @memberOf XRegExp\n * @param {*} value Object to check.\n * @returns {Boolean} Whether the object is a `RegExp` object.\n * @example\n *\n * XRegExp.isRegExp('string'); // -> false\n * XRegExp.isRegExp(/regex/i); // -> true\n * XRegExp.isRegExp(RegExp('^', 'm')); // -> true\n * XRegExp.isRegExp(XRegExp('(?s).')); // -> true\n */\n    XRegExp.isRegExp = function(value) {\n        return toString.call(value) === '[object RegExp]';\n        //return isType(value, 'RegExp');\n    };\n\n/**\n * Returns the first matched string, or in global mode, an array containing all matched strings.\n * This is essentially a more convenient re-implementation of `String.prototype.match` that gives\n * the result types you actually want (string instead of `exec`-style array in match-first mode,\n * and an empty array instead of `null` when no matches are found in match-all mode). It also lets\n * you override flag g and ignore `lastIndex`, and fixes browser bugs.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to\n *   return an array of all matched strings. If not explicitly specified and `regex` uses flag g,\n *   `scope` is 'all'.\n * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all\n *   mode: Array of all matched strings, or an empty array.\n * @example\n *\n * // Match first\n * XRegExp.match('abc', /\\w/); // -> 'a'\n * XRegExp.match('abc', /\\w/g, 'one'); // -> 'a'\n * XRegExp.match('abc', /x/g, 'one'); // -> null\n *\n * // Match all\n * XRegExp.match('abc', /\\w/g); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /\\w/, 'all'); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /x/, 'all'); // -> []\n */\n    XRegExp.match = function(str, regex, scope) {\n        var global = (regex.global && scope !== 'one') || scope === 'all',\n            cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY',\n            result,\n            r2;\n\n        regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n        // Shares cached copies with `XRegExp.exec`/`replace`\n        r2 = regex[REGEX_DATA][cacheKey] || (\n            regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n                addG: !!global,\n                addY: !!regex.sticky,\n                removeG: scope === 'one',\n                isInternalOnly: true\n            })\n        );\n\n        result = nativ.match.call(toObject(str), r2);\n\n        if (regex.global) {\n            regex.lastIndex = (\n                (scope === 'one' && result) ?\n                    // Can't use `r2.lastIndex` since `r2` is nonglobal in this case\n                    (result.index + result[0].length) : 0\n            );\n        }\n\n        return global ? (result || []) : (result && result[0]);\n    };\n\n/**\n * Retrieves the matches from searching a string using a chain of regexes that successively search\n * within previous matches. The provided `chain` array can contain regexes and or objects with\n * `regex` and `backref` properties. When a backreference is specified, the named or numbered\n * backreference is passed forward to the next regex or returned.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} chain Regexes that each search for matches within preceding results.\n * @returns {Array} Matches by the last regex in the chain, or an empty array.\n * @example\n *\n * // Basic usage; matches numbers within <b> tags\n * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [\n *   XRegExp('(?is)<b>.*?</b>'),\n *   /\\d+/\n * ]);\n * // -> ['2', '4', '56']\n *\n * // Passing forward and returning specific backreferences\n * html = '<a href=\"http://xregexp.com/api/\">XRegExp</a>\\\n *         <a href=\"http://www.google.com/\">Google</a>';\n * XRegExp.matchChain(html, [\n *   {regex: /<a href=\"([^\"]+)\">/i, backref: 1},\n *   {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}\n * ]);\n * // -> ['xregexp.com', 'www.google.com']\n */\n    XRegExp.matchChain = function(str, chain) {\n        return (function recurseChain(values, level) {\n            var item = chain[level].regex ? chain[level] : {regex: chain[level]},\n                matches = [],\n                addMatch = function(match) {\n                    if (item.backref) {\n                        /* Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold\n                         * the `undefined`s for backreferences to nonparticipating capturing\n                         * groups. In such cases, a `hasOwnProperty` or `in` check on its own would\n                         * inappropriately throw the exception, so also check if the backreference\n                         * is a number that is within the bounds of the array.\n                         */\n                        if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) {\n                            throw new ReferenceError('Backreference to undefined group: ' + item.backref);\n                        }\n\n                        matches.push(match[item.backref] || '');\n                    } else {\n                        matches.push(match[0]);\n                    }\n                },\n                i;\n\n            for (i = 0; i < values.length; ++i) {\n                XRegExp.forEach(values[i], item.regex, addMatch);\n            }\n\n            return ((level === chain.length - 1) || !matches.length) ?\n                matches :\n                recurseChain(matches, level + 1);\n        }([str], 0));\n    };\n\n/**\n * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string\n * or regex, and the replacement can be a string or a function to be called for each match. To\n * perform a global search and replace, use the optional `scope` argument or include flag g if using\n * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement\n * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared\n * to the native `String.prototype.replace` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n *   Replacement strings can include special replacement syntax:\n *     <li>$$ - Inserts a literal $ character.\n *     <li>$&, $0 - Inserts the matched substring.\n *     <li>$` - Inserts the string that precedes the matched substring (left context).\n *     <li>$' - Inserts the string that follows the matched substring (right context).\n *     <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts\n *       backreference n/nn.\n *     <li>${n} - Where n is a name or any number of digits that reference an existent capturing\n *       group, inserts backreference n.\n *   Replacement functions are invoked with three or more arguments:\n *     <li>The matched substring (corresponds to $& above). Named backreferences are accessible as\n *       properties of this first argument.\n *     <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).\n *     <li>The zero-based index of the match within the total search string.\n *     <li>The total string being searched.\n * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not\n *   explicitly specified and using a regex with flag g, `scope` is 'all'.\n * @returns {String} New string with one or all matches replaced.\n * @example\n *\n * // Regex search, using named backreferences in replacement string\n * var name = XRegExp('(?<first>\\\\w+) (?<last>\\\\w+)');\n * XRegExp.replace('John Smith', name, '${last}, ${first}');\n * // -> 'Smith, John'\n *\n * // Regex search, using named backreferences in replacement function\n * XRegExp.replace('John Smith', name, function(match) {\n *   return match.last + ', ' + match.first;\n * });\n * // -> 'Smith, John'\n *\n * // String search, with replace-all\n * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');\n * // -> 'XRegExp builds XRegExps'\n */\n    XRegExp.replace = function(str, search, replacement, scope) {\n        var isRegex = XRegExp.isRegExp(search),\n            global = (search.global && scope !== 'one') || scope === 'all',\n            cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY',\n            s2 = search,\n            result;\n\n        if (isRegex) {\n            search[REGEX_DATA] = search[REGEX_DATA] || {};\n\n            // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s\n            // `lastIndex` isn't updated *during* replacement iterations\n            s2 = search[REGEX_DATA][cacheKey] || (\n                search[REGEX_DATA][cacheKey] = copyRegex(search, {\n                    addG: !!global,\n                    addY: !!search.sticky,\n                    removeG: scope === 'one',\n                    isInternalOnly: true\n                })\n            );\n        } else if (global) {\n            s2 = new RegExp(XRegExp.escape(String(search)), 'g');\n        }\n\n        // Fixed `replace` required for named backreferences, etc.\n        result = fixed.replace.call(toObject(str), s2, replacement);\n\n        if (isRegex && search.global) {\n            // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n            search.lastIndex = 0;\n        }\n\n        return result;\n    };\n\n/**\n * Performs batch processing of string replacements. Used like {@link #XRegExp.replace}, but\n * accepts an array of replacement details. Later replacements operate on the output of earlier\n * replacements. Replacement details are accepted as an array with a regex or string to search for,\n * the replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp\n * replacement text syntax, which supports named backreference properties via `${name}`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} replacements Array of replacement detail arrays.\n * @returns {String} New string with all replacements.\n * @example\n *\n * str = XRegExp.replaceEach(str, [\n *   [XRegExp('(?<name>a)'), 'z${name}'],\n *   [/b/gi, 'y'],\n *   [/c/g, 'x', 'one'], // scope 'one' overrides /g\n *   [/d/, 'w', 'all'],  // scope 'all' overrides lack of /g\n *   ['e', 'v', 'all'],  // scope 'all' allows replace-all for strings\n *   [/f/g, function($0) {\n *     return $0.toUpperCase();\n *   }]\n * ]);\n */\n    XRegExp.replaceEach = function(str, replacements) {\n        var i, r;\n\n        for (i = 0; i < replacements.length; ++i) {\n            r = replacements[i];\n            str = XRegExp.replace(str, r[0], r[1], r[2]);\n        }\n\n        return str;\n    };\n\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * XRegExp.split('a b c', ' ');\n * // -> ['a', 'b', 'c']\n *\n * // With limit\n * XRegExp.split('a b c', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * XRegExp.split('..word1..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', '..']\n */\n    XRegExp.split = function(str, separator, limit) {\n        return fixed.split.call(toObject(str), separator, limit);\n    };\n\n/**\n * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and\n * `sticky` arguments specify the search start position, and whether the match must start at the\n * specified position only. The `lastIndex` property of the provided regex is not used, but is\n * updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.test` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n *   only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Boolean} Whether the regex matched the provided value.\n * @example\n *\n * // Basic use\n * XRegExp.test('abc', /c/); // -> true\n *\n * // With pos and sticky\n * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false\n * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true\n */\n    XRegExp.test = function(str, regex, pos, sticky) {\n        // Do this the easy way :-)\n        return !!XRegExp.exec(str, regex, pos, sticky);\n    };\n\n/**\n * Uninstalls optional features according to the specified options. All optional features start out\n * uninstalled, so this is used to undo the actions of {@link #XRegExp.install}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.uninstall({\n *   // Disables support for astral code points in Unicode addons\n *   astral: true,\n *\n *   // Restores native regex methods\n *   natives: true\n * });\n *\n * // With an options string\n * XRegExp.uninstall('astral natives');\n */\n    XRegExp.uninstall = function(options) {\n        options = prepareOptions(options);\n\n        if (features.astral && options.astral) {\n            setAstral(false);\n        }\n\n        if (features.natives && options.natives) {\n            setNatives(false);\n        }\n    };\n\n/**\n * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as\n * regex objects or strings. Metacharacters are escaped in patterns provided as strings.\n * Backreferences in provided regex objects are automatically renumbered to work correctly within\n * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the\n * `flags` argument.\n *\n * @memberOf XRegExp\n * @param {Array} patterns Regexes and strings to combine.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Union of the provided regexes and strings.\n * @example\n *\n * XRegExp.union(['a+b*c', /(dogs)\\1/, /(cats)\\1/], 'i');\n * // -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\n */\n    XRegExp.union = function(patterns, flags) {\n        var parts = /(\\()(?!\\?)|\\\\([1-9]\\d*)|\\\\[\\s\\S]|\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*]/g,\n            output = [],\n            numCaptures = 0,\n            numPriorCaptures,\n            captureNames,\n            pattern,\n            rewrite = function(match, paren, backref) {\n                var name = captureNames[numCaptures - numPriorCaptures];\n\n                // Capturing group\n                if (paren) {\n                    ++numCaptures;\n                    // If the current capture has a name, preserve the name\n                    if (name) {\n                        return '(?<' + name + '>';\n                    }\n                // Backreference\n                } else if (backref) {\n                    // Rewrite the backreference\n                    return '\\\\' + (+backref + numPriorCaptures);\n                }\n\n                return match;\n            },\n            i;\n\n        if (!(isType(patterns, 'Array') && patterns.length)) {\n            throw new TypeError('Must provide a nonempty array of patterns to merge');\n        }\n\n        for (i = 0; i < patterns.length; ++i) {\n            pattern = patterns[i];\n\n            if (XRegExp.isRegExp(pattern)) {\n                numPriorCaptures = numCaptures;\n                captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || [];\n\n                // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns\n                // are independently valid; helps keep this simple. Named captures are put back\n                output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite));\n            } else {\n                output.push(XRegExp.escape(pattern));\n            }\n        }\n\n        return XRegExp(output.join('|'), flags);\n    };\n\n/* ==============================\n * Fixed/extended native methods\n * ============================== */\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to\n * override the native method. Use via `XRegExp.exec` without overriding natives.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Array} Match array with named backreference properties, or `null`.\n */\n    fixed.exec = function(str) {\n        var origLastIndex = this.lastIndex,\n            match = nativ.exec.apply(this, arguments),\n            name,\n            r2,\n            i;\n\n        if (match) {\n            // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating\n            // capturing groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of\n            // older IEs. IE 9 in standards mode follows the spec\n            if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) {\n                r2 = copyRegex(this, {\n                    removeG: true,\n                    isInternalOnly: true\n                });\n                // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed\n                // matching due to characters outside the match\n                nativ.replace.call(String(str).slice(match.index), r2, function() {\n                    var len = arguments.length, i;\n                    // Skip index 0 and the last 2\n                    for (i = 1; i < len - 2; ++i) {\n                        if (arguments[i] === undefined) {\n                            match[i] = undefined;\n                        }\n                    }\n                });\n            }\n\n            // Attach named capture properties\n            if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {\n                // Skip index 0\n                for (i = 1; i < match.length; ++i) {\n                    name = this[REGEX_DATA].captureNames[i - 1];\n                    if (name) {\n                        match[name] = match[i];\n                    }\n                }\n            }\n\n            // Fix browsers that increment `lastIndex` after zero-length matches\n            if (this.global && !match[0].length && (this.lastIndex > match.index)) {\n                this.lastIndex = match.index;\n            }\n        }\n\n        if (!this.global) {\n            // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n            this.lastIndex = origLastIndex;\n        }\n\n        return match;\n    };\n\n/**\n * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')`\n * uses this to override the native method.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Boolean} Whether the regex matched the provided value.\n */\n    fixed.test = function(str) {\n        // Do this the easy way :-)\n        return !!fixed.exec.call(this, str);\n    };\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to\n * override the native method.\n *\n * @private\n * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.\n * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,\n *   the result of calling `regex.exec(this)`.\n */\n    fixed.match = function(regex) {\n        var result;\n\n        if (!XRegExp.isRegExp(regex)) {\n            // Use the native `RegExp` rather than `XRegExp`\n            regex = new RegExp(regex);\n        } else if (regex.global) {\n            result = nativ.match.apply(this, arguments);\n            // Fixes IE bug\n            regex.lastIndex = 0;\n\n            return result;\n        }\n\n        return fixed.exec.call(regex, toObject(this));\n    };\n\n/**\n * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and\n * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser\n * bugs in replacement text syntax when performing a replacement using a nonregex search value, and\n * the value of a replacement regex's `lastIndex` property during replacement iterations and upon\n * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note\n * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via\n * `XRegExp.replace` without overriding natives.\n *\n * @private\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * @returns {String} New string with one or all matches replaced.\n */\n    fixed.replace = function(search, replacement) {\n        var isRegex = XRegExp.isRegExp(search),\n            origLastIndex,\n            captureNames,\n            result;\n\n        if (isRegex) {\n            if (search[REGEX_DATA]) {\n                captureNames = search[REGEX_DATA].captureNames;\n            }\n            // Only needed if `search` is nonglobal\n            origLastIndex = search.lastIndex;\n        } else {\n            search += ''; // Type-convert\n        }\n\n        // Don't use `typeof`; some older browsers return 'function' for regex objects\n        if (isType(replacement, 'Function')) {\n            // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement\n            // functions isn't type-converted to a string\n            result = nativ.replace.call(String(this), search, function() {\n                var args = arguments, i;\n                if (captureNames) {\n                    // Change the `arguments[0]` string primitive to a `String` object that can\n                    // store properties. This really does need to use `String` as a constructor\n                    args[0] = new String(args[0]);\n                    // Store named backreferences on the first argument\n                    for (i = 0; i < captureNames.length; ++i) {\n                        if (captureNames[i]) {\n                            args[0][captureNames[i]] = args[i + 1];\n                        }\n                    }\n                }\n                // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox,\n                // Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)\n                if (isRegex && search.global) {\n                    search.lastIndex = args[args.length - 2] + args[0].length;\n                }\n                // ES6 specs the context for replacement functions as `undefined`\n                return replacement.apply(undefined, args);\n            });\n        } else {\n            // Ensure that the last value of `args` will be a string when given nonstring `this`,\n            // while still throwing on null or undefined context\n            result = nativ.replace.call(this == null ? this : String(this), search, function() {\n                // Keep this function's `arguments` available through closure\n                var args = arguments;\n                return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) {\n                    var n;\n                    // Named or numbered backreference with curly braces\n                    if ($1) {\n                        // XRegExp behavior for `${n}`:\n                        // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for\n                        //    for the entire match. Any number of leading zeros may be used.\n                        // 2. Backreference to named capture `n`, if it exists and is not an\n                        //    integer overridden by numbered capture. In practice, this does not\n                        //    overlap with numbered capture since XRegExp does not allow named\n                        //    capture to use a bare integer as the name.\n                        // 3. If the name or number does not refer to an existing capturing group,\n                        //    it's an error.\n                        n = +$1; // Type-convert; drop leading zeros\n                        if (n <= args.length - 3) {\n                            return args[n] || '';\n                        }\n                        // Groups with the same name is an error, else would need `lastIndexOf`\n                        n = captureNames ? indexOf(captureNames, $1) : -1;\n                        if (n < 0) {\n                            throw new SyntaxError('Backreference to undefined group ' + $0);\n                        }\n                        return args[n + 1] || '';\n                    }\n                    // Else, special variable or numbered backreference without curly braces\n                    if ($2 === '$') { // $$\n                        return '$';\n                    }\n                    if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00\n                        return args[0];\n                    }\n                    if ($2 === '`') { // $` (left context)\n                        return args[args.length - 1].slice(0, args[args.length - 2]);\n                    }\n                    if ($2 === \"'\") { // $' (right context)\n                        return args[args.length - 1].slice(args[args.length - 2] + args[0].length);\n                    }\n                    // Else, numbered backreference without curly braces\n                    $2 = +$2; // Type-convert; drop leading zero\n                    // XRegExp behavior for `$n` and `$nn`:\n                    // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits.\n                    // - `$1` is an error if no capturing groups.\n                    // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead.\n                    // - `$01` is `$1` if at least one capturing group, else it's an error.\n                    // - `$0` (not followed by 1-9) and `$00` are the entire match.\n                    // Native behavior, for comparison:\n                    // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.\n                    // - `$1` is a literal `$1` if no capturing groups.\n                    // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.\n                    // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.\n                    // - `$0` is a literal `$0`.\n                    if (!isNaN($2)) {\n                        if ($2 > args.length - 3) {\n                            throw new SyntaxError('Backreference to undefined group ' + $0);\n                        }\n                        return args[$2] || '';\n                    }\n                    // `$` followed by an unsupported char is an error, unlike native JS\n                    throw new SyntaxError('Invalid token ' + $0);\n                });\n            });\n        }\n\n        if (isRegex) {\n            if (search.global) {\n                // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n                search.lastIndex = 0;\n            } else {\n                // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n                search.lastIndex = origLastIndex;\n            }\n        }\n\n        return result;\n    };\n\n/**\n * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')`\n * uses this to override the native method. Use via `XRegExp.split` without overriding natives.\n *\n * @private\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n */\n    fixed.split = function(separator, limit) {\n        if (!XRegExp.isRegExp(separator)) {\n            // Browsers handle nonregex split correctly, so use the faster native method\n            return nativ.split.apply(this, arguments);\n        }\n\n        var str = String(this),\n            output = [],\n            origLastIndex = separator.lastIndex,\n            lastLastIndex = 0,\n            lastLength;\n\n        // Values for `limit`, per the spec:\n        // If undefined: pow(2,32) - 1\n        // If 0, Infinity, or NaN: 0\n        // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);\n        // If negative number: pow(2,32) - floor(abs(limit))\n        // If other: Type-convert, then use the above rules\n        // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63,\n        // unless Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+\n        limit = (limit === undefined ? -1 : limit) >>> 0;\n\n        XRegExp.forEach(str, separator, function(match) {\n            // This condition is not the same as `if (match[0].length)`\n            if ((match.index + match[0].length) > lastLastIndex) {\n                output.push(str.slice(lastLastIndex, match.index));\n                if (match.length > 1 && match.index < str.length) {\n                    Array.prototype.push.apply(output, match.slice(1));\n                }\n                lastLength = match[0].length;\n                lastLastIndex = match.index + lastLength;\n            }\n        });\n\n        if (lastLastIndex === str.length) {\n            if (!nativ.test.call(separator, '') || lastLength) {\n                output.push('');\n            }\n        } else {\n            output.push(str.slice(lastLastIndex));\n        }\n\n        separator.lastIndex = origLastIndex;\n        return output.length > limit ? output.slice(0, limit) : output;\n    };\n\n/* ==============================\n * Built-in syntax/flag tokens\n * ============================== */\n\n/*\n * Letter escapes that natively match literal characters: `\\a`, `\\A`, etc. These should be\n * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser\n * consistency and to reserve their syntax, but lets them be superseded by addons.\n */\n    XRegExp.addToken(\n        /\\\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|x(?![\\dA-Fa-f]{2}))/,\n        function(match, scope) {\n            // \\B is allowed in default scope only\n            if (match[1] === 'B' && scope === defaultScope) {\n                return match[0];\n            }\n            throw new SyntaxError('Invalid escape ' + match[0]);\n        },\n        {\n            scope: 'all',\n            leadChar: '\\\\'\n        }\n    );\n\n/*\n * Unicode code point escape with curly braces: `\\u{N..}`. `N..` is any one or more digit\n * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag\n * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to\n * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior\n * if you follow a `\\u{N..}` token that references a code point above U+FFFF with a quantifier, or\n * if you use the same in a character class.\n */\n    XRegExp.addToken(\n        /\\\\u{([\\dA-Fa-f]+)}/,\n        function(match, scope, flags) {\n            var code = dec(match[1]);\n            if (code > 0x10FFFF) {\n                throw new SyntaxError('Invalid Unicode code point ' + match[0]);\n            }\n            if (code <= 0xFFFF) {\n                // Converting to \\uNNNN avoids needing to escape the literal character and keep it\n                // separate from preceding tokens\n                return '\\\\u' + pad4(hex(code));\n            }\n            // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling\n            if (hasNativeU && flags.indexOf('u') > -1) {\n                return match[0];\n            }\n            throw new SyntaxError('Cannot use Unicode code point above \\\\u{FFFF} without flag u');\n        },\n        {\n            scope: 'all',\n            leadChar: '\\\\'\n        }\n    );\n\n/*\n * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency.\n * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because\n * character class endings can't be determined.\n */\n    XRegExp.addToken(\n        /\\[(\\^?)]/,\n        function(match) {\n            // For cross-browser compatibility with ES3, convert [] to \\b\\B and [^] to [\\s\\S].\n            // (?!) should work like \\b\\B, but is unreliable in some versions of Firefox\n            return match[1] ? '[\\\\s\\\\S]' : '\\\\b\\\\B';\n        },\n        {leadChar: '['}\n    );\n\n/*\n * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in\n * free-spacing mode (flag x).\n */\n    XRegExp.addToken(\n        /\\(\\?#[^)]*\\)/,\n        function(match, scope, flags) {\n            // Keep tokens separated unless the following token is a quantifier\n            return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n                '' : '(?:)';\n        },\n        {leadChar: '('}\n    );\n\n/*\n * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.\n */\n    XRegExp.addToken(\n        /\\s+|#.*/,\n        function(match, scope, flags) {\n            // Keep tokens separated unless the following token is a quantifier\n            return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n                '' : '(?:)';\n        },\n        {flag: 'x'}\n    );\n\n/*\n * Dot, in dotall mode (aka singleline mode, flag s) only.\n */\n    XRegExp.addToken(\n        /\\./,\n        function() {\n            return '[\\\\s\\\\S]';\n        },\n        {\n            flag: 's',\n            leadChar: '.'\n        }\n    );\n\n/*\n * Named backreference: `\\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _,\n * and $ only. Also allows numbered backreferences as `\\k<n>`.\n */\n    XRegExp.addToken(\n        /\\\\k<([\\w$]+)>/,\n        function(match) {\n            // Groups with the same name is an error, else would need `lastIndexOf`\n            var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1],\n                endIndex = match.index + match[0].length;\n            if (!index || index > this.captureNames.length) {\n                throw new SyntaxError('Backreference to undefined group ' + match[0]);\n            }\n            // Keep backreferences separate from subsequent literal numbers\n            return '\\\\' + index + (\n                endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ?\n                    '' : '(?:)'\n            );\n        },\n        {leadChar: '\\\\'}\n    );\n\n/*\n * Numbered backreference or octal, plus any following digits: `\\0`, `\\11`, etc. Octals except `\\0`\n * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches\n * are returned unaltered. IE < 9 doesn't support backreferences above `\\99` in regex syntax.\n */\n    XRegExp.addToken(\n        /\\\\(\\d+)/,\n        function(match, scope) {\n            if (\n                !(\n                    scope === defaultScope &&\n                    /^[1-9]/.test(match[1]) &&\n                    +match[1] <= this.captureNames.length\n                ) &&\n                match[1] !== '0'\n            ) {\n                throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' +\n                    match[0]);\n            }\n            return match[0];\n        },\n        {\n            scope: 'all',\n            leadChar: '\\\\'\n        }\n    );\n\n/*\n * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the\n * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style\n * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively\n * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to\n * Python-style named capture as octals.\n */\n    XRegExp.addToken(\n        /\\(\\?P?<([\\w$]+)>/,\n        function(match) {\n            // Disallow bare integers as names because named backreferences are added to match\n            // arrays and therefore numeric properties may lead to incorrect lookups\n            if (!isNaN(match[1])) {\n                throw new SyntaxError('Cannot use integer as capture name ' + match[0]);\n            }\n            if (match[1] === 'length' || match[1] === '__proto__') {\n                throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]);\n            }\n            if (indexOf(this.captureNames, match[1]) > -1) {\n                throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]);\n            }\n            this.captureNames.push(match[1]);\n            this.hasNamedCapture = true;\n            return '(';\n        },\n        {leadChar: '('}\n    );\n\n/*\n * Capturing group; match the opening parenthesis only. Required for support of named capturing\n * groups. Also adds explicit capture mode (flag n).\n */\n    XRegExp.addToken(\n        /\\((?!\\?)/,\n        function(match, scope, flags) {\n            if (flags.indexOf('n') > -1) {\n                return '(?:';\n            }\n            this.captureNames.push(null);\n            return '(';\n        },\n        {\n            optionalFlags: 'n',\n            leadChar: '('\n        }\n    );\n\n/* ==============================\n * Expose XRegExp\n * ============================== */\n\n    module.exports = XRegExp;\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-regex/xregexp.js","export * from './lib/match';\nexport * from './lib/apply-regex-list';\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-match/index.js","export class Match {\n  constructor(value, index, css) {\n    this.value = value;\n    this.index = index;\n    this.length = value.length;\n    this.css = css;\n    this.brushName = null;\n  }\n\n  toString() {\n    return this.value;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-match/lib/match.js","import { find, sort, removeNested, compact } from './matches';\n\n/**\n * Applies all regular expression to the code and stores all found\n * matches in the `this.matches` array.\n */\nexport function applyRegexList(code, regexList)\n{\n  let result = [];\n\n  regexList = regexList || [];\n\n  for (let i = 0, l = regexList.length; i < l; i++) {\n    // BUG: length returns len+1 for array if methods added to prototype chain (oising@gmail.com)\n    if (typeof regexList[i] === 'object')\n      result = result.concat(find(code, regexList[i]));\n  }\n\n  result = sort(result);\n  result = removeNested(result);\n  result = compact(result);\n\n  return result;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-match/lib/apply-regex-list.js","import { Match } from './match';\nimport { XRegExp } from 'syntaxhighlighter-regex';\n\n/**\n * Executes given regular expression on provided code and returns all matches that are found.\n *\n * @param {String} code    Code to execute regular expression on.\n * @param {Object} regex   Regular expression item info from `regexList` collection.\n * @return {Array}         Returns a list of Match objects.\n */\nexport function find(code, regexInfo)\n{\n  function defaultAdd(match, regexInfo)\n  {\n    return match[0];\n  };\n\n  var index = 0,\n      match = null,\n      matches = [],\n      process = regexInfo.func ? regexInfo.func : defaultAdd,\n      pos = 0\n      ;\n\n  while(match = XRegExp.exec(code, regexInfo.regex, pos))\n  {\n    var resultMatch = process(match, regexInfo);\n\n    if (typeof resultMatch === 'string')\n      resultMatch = [new Match(resultMatch, match.index, regexInfo.css)];\n\n    matches = matches.concat(resultMatch);\n    pos = match.index + match[0].length;\n  }\n\n  return matches;\n};\n\n/**\n * Sorts matches by index position and then by length.\n */\nexport function sort(matches)\n{\n  function sortMatchesCallback(m1, m2)\n  {\n    // sort matches by index first\n    if(m1.index < m2.index)\n      return -1;\n    else if(m1.index > m2.index)\n      return 1;\n    else\n    {\n      // if index is the same, sort by length\n      if(m1.length < m2.length)\n        return -1;\n      else if(m1.length > m2.length)\n        return 1;\n    }\n\n    return 0;\n  }\n\n  return matches.sort(sortMatchesCallback);\n}\n\nexport function compact(matches)\n{\n  var result = [], i, l;\n\n  for (i = 0, l = matches.length; i < l; i++)\n    if (matches[i])\n      result.push(matches[i]);\n\n  return result;\n}\n\n/**\n * Checks to see if any of the matches are inside of other matches.\n * This process would get rid of highligted strings inside comments,\n * keywords inside strings and so on.\n */\nexport function removeNested(matches)\n{\n  // Optimized by Jose Prado (http://joseprado.com)\n  for (var i = 0, l = matches.length; i < l; i++)\n  {\n    if (matches[i] === null)\n      continue;\n\n    var itemI = matches[i],\n        itemIEndPos = itemI.index + itemI.length\n        ;\n\n    for (var j = i + 1, l = matches.length; j < l && matches[i] !== null; j++)\n    {\n      var itemJ = matches[j];\n\n      if (itemJ === null)\n        continue;\n      else if (itemJ.index > itemIEndPos)\n        break;\n      else if (itemJ.index == itemI.index && itemJ.length > itemI.length)\n        matches[i] = null;\n      else if (itemJ.index >= itemI.index && itemJ.index < itemIEndPos)\n        matches[j] = null;\n    }\n  }\n\n  return matches;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-match/lib/matches.js","/**\n * Pads number with zeros until it's length is the same as given length.\n *\n * @param {Number} number Number to pad.\n * @param {Number} length Max string length with.\n * @return {String}     Returns a string padded with proper amount of '0'.\n */\nfunction padNumber(number, length)\n{\n  var result = number.toString();\n\n  while (result.length < length)\n    result = '0' + result;\n\n  return result;\n};\n\nfunction getLines(str)\n{\n  return str.split(/\\r?\\n/);\n}\n\nfunction getLinesToHighlight(opts)\n{\n  var results = {},\n      linesToHighlight,\n      l,\n      i\n      ;\n\n  linesToHighlight = opts.highlight || [];\n\n  if (typeof(linesToHighlight.push) !== 'function')\n    linesToHighlight = [linesToHighlight];\n\n  for (i = 0, l = linesToHighlight.length; i < l; i++)\n    results[linesToHighlight[i]] = true;\n\n  return results;\n}\n\nexport default function Renderer(code, matches, opts)\n{\n  var _this = this;\n\n  _this.opts = opts;\n  _this.code = code;\n  _this.matches = matches;\n  _this.lines = getLines(code);\n  _this.linesToHighlight = getLinesToHighlight(opts);\n}\n\nRenderer.prototype = {\n  /**\n   * Wraps each line of the string into <code/> tag with given style applied to it.\n   *\n   * @param {String} str   Input string.\n   * @param {String} css   Style name to apply to the string.\n   * @return {String}      Returns input string with each line surrounded by <span/> tag.\n   */\n  wrapLinesWithCode: function(str, css)\n  {\n    if (str == null || str.length == 0 || str == '\\n' || css == null)\n      return str;\n\n    var _this = this,\n        results = [],\n        lines,\n        line,\n        spaces,\n        i,\n        l\n        ;\n\n    str = str.replace(/</g, '&lt;');\n\n    // Replace two or more sequential spaces with &nbsp; leaving last space untouched.\n    str = str.replace(/ {2,}/g, function(m)\n    {\n      spaces = '';\n\n      for (i = 0, l = m.length; i < l - 1; i++)\n        spaces += _this.opts.space;\n\n      return spaces + ' ';\n    });\n\n    lines = getLines(str);\n\n    // Split each line and apply <span class=\"...\">...</span> to them so that leading spaces aren't included.\n    for (i = 0, l = lines.length; i < l; i++)\n    {\n      line = lines[i];\n      spaces = '';\n\n      if (line.length > 0)\n      {\n        line = line.replace(/^(&nbsp;| )+/, function(s)\n        {\n          spaces = s;\n          return '';\n        });\n\n        line = line.length === 0\n          ? spaces\n          : spaces + '<code class=\"' + css + '\">' + line + '</code>'\n          ;\n      }\n\n      results.push(line);\n    }\n\n    return results.join('\\n');\n  },\n\n  /**\n   * Turns all URLs in the code into <a/> tags.\n   * @param {String} code Input code.\n   * @return {String} Returns code with </a> tags.\n   */\n  processUrls: function(code)\n  {\n    var gt = /(.*)((&gt;|&lt;).*)/,\n        url = /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g\n        ;\n\n    return code.replace(url, function(m)\n    {\n      var suffix = '',\n          match = null\n          ;\n\n      // We include &lt; and &gt; in the URL for the common cases like <http://google.com>\n      // The problem is that they get transformed into &lt;http://google.com&gt;\n      // Where as &gt; easily looks like part of the URL string.\n\n      if (match = gt.exec(m))\n      {\n        m = match[1];\n        suffix = match[2];\n      }\n\n      return '<a href=\"' + m + '\">' + m + '</a>' + suffix;\n    });\n  },\n\n  /**\n   * Creates an array containing integer line numbers starting from the 'first-line' param.\n   * @return {Array} Returns array of integers.\n   */\n  figureOutLineNumbers: function(code)\n  {\n    var lineNumbers = [],\n        lines = this.lines,\n        firstLine = parseInt(this.opts.firstLine || 1),\n        i,\n        l\n        ;\n\n    for (i = 0, l = lines.length; i < l; i++)\n      lineNumbers.push(i + firstLine);\n\n    return lineNumbers;\n  },\n\n  /**\n   * Generates HTML markup for a single line of code while determining alternating line style.\n   * @param {Integer} lineNumber  Line number.\n   * @param {String} code Line  HTML markup.\n   * @return {String}       Returns HTML markup.\n   */\n  wrapLine: function(lineIndex, lineNumber, lineHtml)\n  {\n    var classes = [\n      'line',\n      'number' + lineNumber,\n      'index' + lineIndex,\n      'alt' + (lineNumber % 2 == 0 ? 1 : 2).toString()\n    ];\n\n    if (this.linesToHighlight[lineNumber])\n      classes.push('highlighted');\n\n    if (lineNumber == 0)\n      classes.push('break');\n\n    return '<div class=\"' + classes.join(' ') + '\">' + lineHtml + '</div>';\n  },\n\n  /**\n   * Generates HTML markup for line number column.\n   * @param {String} code     Complete code HTML markup.\n   * @param {Array} lineNumbers Calculated line numbers.\n   * @return {String}       Returns HTML markup.\n   */\n  renderLineNumbers: function(code, lineNumbers)\n  {\n    var _this = this,\n        opts = _this.opts,\n        html = '',\n        count = _this.lines.length,\n        firstLine = parseInt(opts.firstLine || 1),\n        pad = opts.padLineNumbers,\n        lineNumber,\n        i\n        ;\n\n    if (pad == true)\n      pad = (firstLine + count - 1).toString().length;\n    else if (isNaN(pad) == true)\n      pad = 0;\n\n    for (i = 0; i < count; i++)\n    {\n      lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n      code = lineNumber == 0 ? opts.space : padNumber(lineNumber, pad);\n      html += _this.wrapLine(i, lineNumber, code);\n    }\n\n    return html;\n  },\n\n  /**\n   * Splits block of text into individual DIV lines.\n   * @param {String} code     Code to highlight.\n   * @param {Array} lineNumbers Calculated line numbers.\n   * @return {String}       Returns highlighted code in HTML form.\n   */\n  getCodeLinesHtml: function(html, lineNumbers)\n  {\n    // html = utils.trim(html);\n\n    var _this = this,\n        opts = _this.opts,\n        lines = getLines(html),\n        padLength = opts.padLineNumbers,\n        firstLine = parseInt(opts.firstLine || 1),\n        brushName = opts.brush,\n        html = ''\n        ;\n\n    for (var i = 0, l = lines.length; i < l; i++)\n    {\n      var line = lines[i],\n          indent = /^(&nbsp;|\\s)+/.exec(line),\n          spaces = null,\n          lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n          ;\n\n      if (indent != null)\n      {\n        spaces = indent[0].toString();\n        line = line.substr(spaces.length);\n        spaces = spaces.replace(' ', opts.space);\n      }\n\n      // line = utils.trim(line);\n\n      if (line.length == 0)\n        line = opts.space;\n\n      html += _this.wrapLine(\n        i,\n        lineNumber,\n        (spaces != null ? '<code class=\"' + brushName + ' spaces\">' + spaces + '</code>' : '') + line\n      );\n    }\n\n    return html;\n  },\n\n  /**\n   * Returns HTML for the table title or empty string if title is null.\n   */\n  getTitleHtml: function(title)\n  {\n    return title ? '<caption>' + title + '</caption>' : '';\n  },\n\n  /**\n   * Finds all matches in the source code.\n   * @param {String} code   Source code to process matches in.\n   * @param {Array} matches Discovered regex matches.\n   * @return {String} Returns formatted HTML with processed mathes.\n   */\n  getMatchesHtml: function(code, matches)\n  {\n    function getBrushNameCss(match)\n    {\n      var result = match ? (match.brushName || brushName) : brushName;\n      return result ? result + ' ' : '';\n    };\n\n    var _this = this,\n        pos = 0,\n        result = '',\n        brushName = _this.opts.brush || '',\n        match,\n        matchBrushName,\n        i,\n        l\n        ;\n\n    // Finally, go through the final list of matches and pull the all\n    // together adding everything in between that isn't a match.\n    for (i = 0, l = matches.length; i < l; i++)\n    {\n      match = matches[i];\n\n      if (match === null || match.length === 0)\n        continue;\n\n      matchBrushName = getBrushNameCss(match);\n\n      result += _this.wrapLinesWithCode(code.substr(pos, match.index - pos), matchBrushName + 'plain')\n          + _this.wrapLinesWithCode(match.value, matchBrushName + match.css)\n          ;\n\n      pos = match.index + match.length + (match.offset || 0);\n    }\n\n    // don't forget to add whatever's remaining in the string\n    result += _this.wrapLinesWithCode(code.substr(pos), getBrushNameCss() + 'plain');\n\n    return result;\n  },\n\n  /**\n   * Generates HTML markup for the whole syntax highlighter.\n   * @param {String} code Source code.\n   * @return {String} Returns HTML markup.\n   */\n  getHtml: function()\n  {\n    var _this = this,\n        opts = _this.opts,\n        code = _this.code,\n        matches = _this.matches,\n        classes = ['syntaxhighlighter'],\n        lineNumbers,\n        gutter,\n        html\n        ;\n\n    if (opts.collapse === true)\n      classes.push('collapsed');\n\n    gutter = opts.gutter !== false;\n\n    if (!gutter)\n      classes.push('nogutter');\n\n    // add custom user style name\n    classes.push(opts.className);\n\n    // add brush alias to the class name for custom CSS\n    classes.push(opts.brush);\n\n    if (gutter)\n      lineNumbers = _this.figureOutLineNumbers(code);\n\n    // processes found matches into the html\n    html = _this.getMatchesHtml(code, matches);\n\n    // finally, split all lines so that they wrap well\n    html = _this.getCodeLinesHtml(html, lineNumbers);\n\n    // finally, process the links\n    if (opts.autoLinks)\n      html = _this.processUrls(html);\n\n    html = `\n      <div class=\"${classes.join(' ')}\">\n        <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          ${_this.getTitleHtml(opts.title)}\n          <tbody>\n            <tr>\n              ${gutter ? `<td class=\"gutter\">${_this.renderLineNumbers(code)}</td>` : ``}\n              <td class=\"code\">\n                <div class=\"container\">${html}</div>\n              </td>\n            </tr>\n          </tbody>\n        </table>\n      </div>\n    `;\n\n    return html;\n  },\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/syntaxhighlighter-html-renderer/index.js","/**\n * Splits block of text into lines.\n * @param {String} block Block of text.\n * @return {Array} Returns array of lines.\n */\nfunction splitLines(block)\n{\n  return block.split(/\\r?\\n/);\n}\n\n/**\n * Executes a callback on each line and replaces each line with result from the callback.\n * @param {Object} str      Input string.\n * @param {Object} callback   Callback function taking one string argument and returning a string.\n */\nfunction eachLine(str, callback)\n{\n  var lines = splitLines(str);\n\n  for (var i = 0, l = lines.length; i < l; i++)\n    lines[i] = callback(lines[i], i);\n\n  return lines.join('\\n');\n}\n\n/**\n * Generates a unique element ID.\n */\nfunction guid(prefix)\n{\n  return (prefix || '') + Math.round(Math.random() * 1000000).toString();\n}\n\n/**\n * Merges two objects. Values from obj2 override values in obj1.\n * Function is NOT recursive and works only for one dimensional objects.\n * @param {Object} obj1 First object.\n * @param {Object} obj2 Second object.\n * @return {Object} Returns combination of both objects.\n */\nfunction merge(obj1, obj2)\n{\n  var result = {}, name;\n\n  for (name in obj1)\n    result[name] = obj1[name];\n\n  for (name in obj2)\n    result[name] = obj2[name];\n\n  return result;\n}\n\n/**\n * Removes all white space at the begining and end of a string.\n *\n * @param {String} str   String to trim.\n * @return {String}      Returns string without leading and following white space characters.\n */\nfunction trim(str)\n{\n  return str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Converts the source to array object. Mostly used for function arguments and\n * lists returned by getElementsByTagName() which aren't Array objects.\n * @param {List} source Source list.\n * @return {Array} Returns array.\n */\nfunction toArray(source)\n{\n  return Array.prototype.slice.apply(source);\n}\n\n/**\n * Attempts to convert string to boolean.\n * @param {String} value Input string.\n * @return {Boolean} Returns true if input was \"true\", false if input was \"false\" and value otherwise.\n */\nfunction toBoolean(value)\n{\n  var result = {\"true\" : true, \"false\" : false}[value];\n  return result == null ? value : result;\n}\n\nmodule.exports = {\n  splitLines: splitLines,\n  eachLine: eachLine,\n  guid: guid,\n  merge: merge,\n  trim: trim,\n  toArray: toArray,\n  toBoolean: toBoolean\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","var\n  trim        = require('./trim'),\n  bloggerMode = require('./blogger_mode'),\n  stripBrs    = require('./strip_brs'),\n  unindenter  = require('unindenter'),\n  retabber    = require('retabber')\n  ;\n\nmodule.exports = function(code, opts)\n{\n  code = trim(code, opts);\n  code = bloggerMode(code, opts);\n  code = stripBrs(code, opts);\n  code = unindenter.unindent(code, opts);\n\n  var tabSize = opts['tab-size'];\n  code = opts['smart-tabs'] === true ? retabber.smart(code, tabSize) : retabber.regular(code, tabSize);\n\n  return code;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/transformers/index.js","module.exports = function(code, opts)\n{\n  return code\n     // This is a special trim which only removes first and last empty lines\n     // and doesn't affect valid leading space on the first line.\n    .replace(/^[ ]*[\\n]+|[\\n]*[ ]*$/g, '')\n\n    // IE lets these buggers through\n    .replace(/\\r/g, ' ')\n    ;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/transformers/trim.js","module.exports = function(code, opts) {\n  var br = /<br\\s*\\/?>|&lt;br\\s*\\/?&gt;/gi;\n\n  if (opts['bloggerMode'] === true)\n    code = code.replace(br, '\\n');\n\n  return code;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/transformers/blogger_mode.js","module.exports = function(code, opts)\n{\n  var br = /<br\\s*\\/?>|&lt;br\\s*\\/?&gt;/gi;\n\n  if (opts['stripBrs'] === true)\n    code = code.replace(br, '');\n\n  return code;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/transformers/strip_brs.js","function isEmpty(str)\n{\n  return /^\\s*$/.test(str);\n}\n\nmodule.exports = {\n  unindent: function(code)\n  {\n    var lines = code.split(/\\r?\\n/),\n        regex = /^\\s*/,\n        min = 1000,\n        line,\n        matches,\n        i,\n        l\n        ;\n\n    // go through every line and check for common number of indents\n    for (i = 0, l = lines.length; i < l && min > 0; i++)\n    {\n      line = lines[i];\n\n      if (isEmpty(line))\n        continue;\n\n      matches = regex.exec(line);\n\n      // In the event that just one line doesn't have leading white space\n      // we can't unindent anything, so bail completely.\n      if (matches == null)\n        return code;\n\n      min = Math.min(matches[0].length, min);\n    }\n\n    // trim minimum common number of white space from the begining of every line\n    if (min > 0)\n      for (i = 0, l = lines.length; i < l; i++)\n        if (!isEmpty(lines[i]))\n          lines[i] = lines[i].substr(min);\n\n    return lines.join('\\n');\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/unindenter/unindenter.js","var spaces = '';\n\n// Create a string with 1000 spaces to copy spaces from...\n// It's assumed that there would be no indentation longer than that.\nfor (var i = 0; i < 50; i++)\n  spaces += '                    '; // 20 spaces * 50\n\n// This function inserts specified amount of spaces in the string\n// where a tab is while removing that given tab.\nfunction insertSpaces(line, pos, count)\n{\n  return line.substr(0, pos)\n    + spaces.substr(0, count)\n    + line.substr(pos + 1, line.length) // pos + 1 will get rid of the tab\n    ;\n}\n\nmodule.exports = {\n  smart: function(code, tabSize)\n  {\n    var lines = code.split(/\\r?\\n/),\n        tab = '\\t',\n        line,\n        pos,\n        i,\n        l\n        ;\n\n    // Go through all the lines and do the 'smart tabs' magic.\n    for (i = 0, l = lines.length; i < l; i++)\n    {\n      line = lines[i];\n\n      if (line.indexOf(tab) === -1)\n        continue;\n\n      pos = 0;\n\n      while ((pos = line.indexOf(tab)) !== -1)\n      {\n        // This is pretty much all there is to the 'smart tabs' logic.\n        // Based on the position within the line and size of a tab,\n        // calculate the amount of spaces we need to insert.\n        line = insertSpaces(line, pos, tabSize - pos % tabSize);\n      }\n\n      lines[i] = line;\n    }\n\n    return lines.join('\\n');\n  },\n\n  regular: function(code, tabSize)\n  {\n    return code.replace(/\\t/g, spaces.substr(0, tabSize));\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/retabber/retabber.js","/**\n * Finds all &lt;SCRIPT TYPE=\"text/syntaxhighlighter\" /> elementss.\n * Finds both \"text/syntaxhighlighter\" and \"syntaxhighlighter\"\n * ...in order to make W3C validator happy with subtype and backwardscompatible without subtype\n * @return {Array} Returns array of all found SyntaxHighlighter tags.\n */\nfunction getSyntaxHighlighterScriptTags()\n{\n  var tags = document.getElementsByTagName('script'),\n    result = []\n    ;\n\n  for (var i = 0; i < tags.length; i++)\n    if (tags[i].type == 'text/syntaxhighlighter' || tags[i].type == 'syntaxhighlighter')\n      result.push(tags[i]);\n\n  return result;\n};\n\n/**\n * Checks if target DOM elements has specified CSS class.\n * @param {DOMElement} target Target DOM element to check.\n * @param {String} className Name of the CSS class to check for.\n * @return {Boolean} Returns true if class name is present, false otherwise.\n */\nfunction hasClass(target, className)\n{\n  return target.className.indexOf(className) != -1;\n}\n\n/**\n * Adds CSS class name to the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className New CSS class to add.\n */\nfunction addClass(target, className)\n{\n  if (!hasClass(target, className))\n    target.className += ' ' + className;\n}\n\n/**\n * Removes CSS class name from the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className CSS class to remove.\n */\nfunction removeClass(target, className)\n{\n  target.className = target.className.replace(className, '');\n}\n\n/**\n * Adds event handler to the target object.\n * @param {Object} obj    Target object.\n * @param {String} type   Name of the event.\n * @param {Function} func Handling function.\n */\nfunction attachEvent(obj, type, func, scope)\n{\n  function handler(e)\n  {\n    e = e || window.event;\n\n    if (!e.target)\n    {\n      e.target = e.srcElement;\n      e.preventDefault = function()\n      {\n        this.returnValue = false;\n      };\n    }\n\n    func.call(scope || window, e);\n  };\n\n  if (obj.attachEvent)\n  {\n    obj.attachEvent('on' + type, handler);\n  }\n  else\n  {\n    obj.addEventListener(type, handler, false);\n  }\n}\n\n/**\n * Looks for a child or parent node which has specified classname.\n * Equivalent to jQuery's $(container).find(\".className\")\n * @param {Element} target Target element.\n * @param {String} search Class name or node name to look for.\n * @param {Boolean} reverse If set to true, will go up the node tree instead of down.\n * @return {Element} Returns found child or parent element on null.\n */\nfunction findElement(target, search, reverse /* optional */)\n{\n  if (target == null)\n    return null;\n\n  var nodes     = reverse != true ? target.childNodes : [ target.parentNode ],\n    propertyToFind  = { '#' : 'id', '.' : 'className' }[search.substr(0, 1)] || 'nodeName',\n    expectedValue,\n    found\n    ;\n\n  expectedValue = propertyToFind != 'nodeName'\n    ? search.substr(1)\n    : search.toUpperCase()\n    ;\n\n  // main return of the found node\n  if ((target[propertyToFind] || '').indexOf(expectedValue) != -1)\n    return target;\n\n  for (var i = 0, l = nodes.length; nodes && i < l && found == null; i++)\n    found = findElement(nodes[i], search, reverse);\n\n  return found;\n}\n\n/**\n * Looks for a parent node which has specified classname.\n * This is an alias to <code>findElement(container, className, true)</code>.\n * @param {Element} target Target element.\n * @param {String} className Class name to look for.\n * @return {Element} Returns found parent element on null.\n */\nfunction findParentElement(target, className)\n{\n  return findElement(target, className, true);\n}\n\n/**\n * Opens up a centered popup window.\n * @param {String} url    URL to open in the window.\n * @param {String} name   Popup name.\n * @param {int} width   Popup width.\n * @param {int} height    Popup height.\n * @param {String} options  window.open() options.\n * @return {Window}     Returns window instance.\n */\nfunction popup(url, name, width, height, options)\n{\n  var x = (screen.width - width) / 2,\n    y = (screen.height - height) / 2\n    ;\n\n  options +=  ', left=' + x +\n        ', top=' + y +\n        ', width=' + width +\n        ', height=' + height\n    ;\n  options = options.replace(/^,/, '');\n\n  var win = window.open(url, name, options);\n  win.focus();\n  return win;\n}\n\nfunction getElementsByTagName(name)\n{\n  return document.getElementsByTagName(name);\n}\n\n/**\n * Finds all elements on the page which could be processes by SyntaxHighlighter.\n */\nfunction findElementsToHighlight(opts)\n{\n  var elements = getElementsByTagName(opts['tagName']),\n      scripts,\n      i\n      ;\n\n  // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n  if(opts['useScriptTags'])\n  {\n    scripts = getElementsByTagName('script');\n\n    for (i = 0; i < scripts.length; i++)\n    {\n      if (scripts[i].type.match(/^(text\\/)?syntaxhighlighter$/))\n        elements.push(scripts[i]);\n    }\n  }\n\n  return elements;\n}\n\nfunction create(name)\n{\n  return document.createElement(name);\n}\n\n/**\n * Quick code mouse double click handler.\n */\nfunction quickCodeHandler(e)\n{\n  var target = e.target,\n    highlighterDiv = findParentElement(target, '.syntaxhighlighter'),\n    container = findParentElement(target, '.container'),\n    textarea = document.createElement('textarea'),\n    highlighter\n    ;\n\n  if (!container || !highlighterDiv || findElement(container, 'textarea'))\n    return;\n\n  //highlighter = highlighters.get(highlighterDiv.id);\n\n  // add source class name\n  addClass(highlighterDiv, 'source');\n\n  // Have to go over each line and grab it's text, can't just do it on the\n  // container because Firefox loses all \\n where as Webkit doesn't.\n  var lines = container.childNodes,\n    code = []\n    ;\n\n  for (var i = 0, l = lines.length; i < l; i++)\n    code.push(lines[i].innerText || lines[i].textContent);\n\n  // using \\r instead of \\r or \\r\\n makes this work equally well on IE, FF and Webkit\n  code = code.join('\\r');\n\n    // For Webkit browsers, replace nbsp with a breaking space\n    code = code.replace(/\\u00a0/g, \" \");\n\n  // inject <textarea/> tag\n  textarea.readOnly = true; // https://github.com/syntaxhighlighter/syntaxhighlighter/pull/329\n  textarea.appendChild(document.createTextNode(code));\n  container.appendChild(textarea);\n\n  // preselect all text\n  textarea.focus();\n  textarea.select();\n\n  // set up handler for lost focus\n  attachEvent(textarea, 'blur', function(e)\n  {\n    textarea.parentNode.removeChild(textarea);\n    removeClass(highlighterDiv, 'source');\n  });\n};\n\nmodule.exports = {\n  quickCodeHandler: quickCodeHandler,\n  create: create,\n  popup: popup,\n  hasClass: hasClass,\n  addClass: addClass,\n  removeClass: removeClass,\n  attachEvent: attachEvent,\n  findElement: findElement,\n  findParentElement: findParentElement,\n  getSyntaxHighlighterScriptTags: getSyntaxHighlighterScriptTags,\n  findElementsToHighlight: findElementsToHighlight\n}\n\n\n// WEBPACK FOOTER //\n// ./src/dom.js","module.exports = {\n  space: '&nbsp;',\n\n  /** Enables use of <SCRIPT type=\"syntaxhighlighter\" /> tags. */\n  useScriptTags: true,\n\n  /** Blogger mode flag. */\n  bloggerMode: false,\n\n  stripBrs: false,\n\n  /** Name of the tag that SyntaxHighlighter will automatically look for. */\n  tagName: 'pre'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/config.js","module.exports = {\n  /** Additional CSS class names to be added to highlighter elements. */\n  'class-name': '',\n\n  /** First line number. */\n  'first-line': 1,\n\n  /**\n   * Pads line numbers. Possible values are:\n   *\n   *   false - don't pad line numbers.\n   *   true  - automaticaly pad numbers with minimum required number of leading zeroes.\n   *   [int] - length up to which pad line numbers.\n   */\n  'pad-line-numbers': false,\n\n  /** Lines to highlight. */\n  'highlight': null,\n\n  /** Title to be displayed above the code block. */\n  'title': null,\n\n  /** Enables or disables smart tabs. */\n  'smart-tabs': true,\n\n  /** Gets or sets tab size. */\n  'tab-size': 4,\n\n  /** Enables or disables gutter. */\n  'gutter': true,\n\n  /** Enables quick code copy and paste from double click. */\n  'quick-code': true,\n\n  /** Forces code view to be collapsed. */\n  'collapse': false,\n\n  /** Enables or disables automatic links. */\n  'auto-links': true,\n\n  'unindent': true,\n\n  'html-script': false\n};\n\n\n// WEBPACK FOOTER //\n// ./src/defaults.js","var applyRegexList = require('syntaxhighlighter-match').applyRegexList;\n\nfunction HtmlScript(BrushXML, brushClass)\n{\n  var scriptBrush,\n    xmlBrush = new BrushXML()\n    ;\n\n  if (brushClass == null)\n    return;\n\n  scriptBrush = new brushClass();\n\n  if (scriptBrush.htmlScript == null)\n    throw new Error('Brush wasn\\'t configured for html-script option: ' + brushClass.brushName);\n\n  xmlBrush.regexList.push(\n    { regex: scriptBrush.htmlScript.code, func: process }\n  );\n\n  this.regexList = xmlBrush.regexList;\n\n  function offsetMatches(matches, offset)\n  {\n    for (var j = 0, l = matches.length; j < l; j++)\n      matches[j].index += offset;\n  }\n\n  function process(match, info)\n  {\n    var code = match.code,\n        results = [],\n        regexList = scriptBrush.regexList,\n        offset = match.index + match.left.length,\n        htmlScript = scriptBrush.htmlScript,\n        matches\n        ;\n\n    function add(matches)\n    {\n      results = results.concat(matches);\n    }\n\n    matches = applyRegexList(code, regexList);\n    offsetMatches(matches, offset);\n    add(matches);\n\n    // add left script bracket\n    if (htmlScript.left != null && match.left != null)\n    {\n      matches = applyRegexList(match.left, [htmlScript.left]);\n      offsetMatches(matches, match.index);\n      add(matches);\n    }\n\n    // add right script bracket\n    if (htmlScript.right != null && match.right != null)\n    {\n      matches = applyRegexList(match.right, [htmlScript.right]);\n      offsetMatches(matches, match.index + match[0].lastIndexOf(match.right));\n      add(matches);\n    }\n\n    for (var j = 0, l = results.length; j < l; j++)\n      results[j].brushName = brushClass.brushName;\n\n    return results;\n  }\n};\n\nmodule.exports = HtmlScript;\n\n\n\n// WEBPACK FOOTER //\n// ./src/html_script.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n// WEBPACK FOOTER //\n// ./~/process/browser.js","import Renderer from 'syntaxhighlighter-html-renderer';\nimport { XRegExp } from 'syntaxhighlighter-regex';\nimport { applyRegexList } from 'syntaxhighlighter-match';\n\nmodule.exports = class BrushBase {\n  /**\n   * Converts space separated list of keywords into a regular expression string.\n   * @param {String} str Space separated keywords.\n   * @return {String} Returns regular expression string.\n   */\n  getKeywords(str)\n  {\n    const results = str\n      .replace(/^\\s+|\\s+$/g, '')\n      .replace(/\\s+/g, '|')\n      ;\n\n    return `\\\\b(?:${results})\\\\b`;\n  }\n\n  /**\n   * Makes a brush compatible with the `html-script` functionality.\n   * @param {Object} regexGroup Object containing `left` and `right` regular expressions.\n   */\n  forHtmlScript(regexGroup)\n  {\n    const regex = { 'end': regexGroup.right.source };\n\n    if (regexGroup.eof) {\n      regex.end = `(?:(?:${regex.end})|$)`;\n    }\n\n    this.htmlScript = {\n      left: { regex: regexGroup.left, css: 'script' },\n      right: { regex: regexGroup.right, css: 'script' },\n      code: XRegExp(\n        \"(?<left>\" + regexGroup.left.source + \")\" +\n        \"(?<code>.*?)\" +\n        \"(?<right>\" + regex.end + \")\",\n        \"sgi\"\n        )\n    };\n  }\n\n  getHtml(code, params = {}) {\n    const matches = applyRegexList(code, this.regexList);\n    const renderer = new Renderer(code, matches, params);\n    return renderer.getHtml();\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-base/brush-base.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // AppleScript brush by David Chambers\n  // http://davidchambersdesign.com/\n  var keywords = 'after before beginning continue copy each end every from return get global in local named of set some that the then times to where whose with without';\n  var ordinals = 'first second third fourth fifth sixth seventh eighth ninth tenth last front back middle';\n  var specials = 'activate add alias ask attachment boolean class constant delete duplicate empty exists id integer list make message modal modified new no pi properties quit real record remove rest result reveal reverse run running save string word yes';\n\n  this.regexList = [\n\n    {\n      regex: /(--|#).*$/gm,\n      css: 'comments'\n    },\n\n    {\n      regex: /\\(\\*(?:[\\s\\S]*?\\(\\*[\\s\\S]*?\\*\\))*[\\s\\S]*?\\*\\)/gm, // support nested comments\n      css: 'comments'\n    },\n\n    {\n      regex: /\"[\\s\\S]*?\"/gm,\n      css: 'string'\n    },\n\n    {\n      regex: /(?:,|:|¬|'s\\b|\\(|\\)|\\{|\\}|«|\\b\\w*»)/g, // operators\n      css: 'color1'\n    },\n\n    {\n      regex: /(-)?(\\d)+(\\.(\\d)?)?(E\\+(\\d)+)?/g, // numbers\n      css: 'color1'\n    },\n\n    {\n      regex: /(?:&(amp;|gt;|lt;)?|=|� |>|<|≥|>=|≤|<=|\\*|\\+|-|\\/|÷|\\^)/g,\n      css: 'color2'\n    },\n\n    {\n      regex: /\\b(?:and|as|div|mod|not|or|return(?!\\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\\b/g,\n      css: 'keyword'\n    },\n\n    {\n      regex: /\\b\\d+(st|nd|rd|th)\\b/g, // ordinals\n      css: 'keyword'\n    },\n\n    {\n      regex: /\\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\\b/g,\n      css: 'color3'\n    },\n\n    {\n      regex: /\\b(?:adding folder items to|after receiving|clipboard info|set the clipboard to|(the )?clipboard|entire contents|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|return(ed)?|second(?! item)(s)?|list (disks|folder)|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|starting at|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\\b/g,\n      css: 'color4'\n    },\n\n    {\n      regex: /\\b(?:tracks|paragraph|text item(s)?)\\b/g,\n      css: 'classes'\n    },\n\n    {\n      regex: /\\b(?:AppleScript|album|video kind|grouping|length|text item delimiters|quoted form|POSIX path(?= of))\\b/g,\n      css: 'properties'\n    },\n\n    {\n      regex: /\\b(?:run|exists|count)\\b/g,\n      css: 'commandNames'\n    },\n\n    {\n      regex: /\\b(?:POSIX (file|path))\\b/g,\n      css: 'additionClasses'\n    },\n\n    {\n      regex: /\\b(?:message|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|regexp|string result|using( delimiters)?|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor))\\b/g,\n      css: 'additionParameterNames'\n    },\n\n    {\n      regex: /\\b(?:display(ing| (alert|dialog|mode))?|choose( ((remote )?application|color|folder|from list|URL))?|(do( shell)?|load|run|store) script|re_compile|find text)\\b/g,\n      css: 'additionCommandNames'\n    },\n\n    {\n      regex: /\\b(?:xxx)\\b/g,\n      css: 'parameterNames'\n    },\n\n    {\n      regex: /\\b(?:true|false|none)\\b/g,\n      css: 'enumeratedValues'\n    },\n\n\n    {\n      regex: new RegExp(this.getKeywords(specials), 'gm'),\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(this.getKeywords(ordinals), 'gm'),\n      css: 'keyword'\n    }\n  ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['applescript'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-applescript/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Created by Peter Atoria @ http://iAtoria.com\n\n  var inits = 'class interface function package';\n\n  var keywords = '-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' +\n    'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' +\n    'extends false final finally flash_proxy for get if implements import in include Infinity ' +\n    'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' +\n    'Null Number Object object_proxy override parseFloat parseInt private protected public ' +\n    'return set static String super switch this throw true try typeof uint undefined unescape ' +\n    'use void while with';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(inits), 'gm'),\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp('var', 'gm'),\n      css: 'variable'\n    },\n    {\n      regex: new RegExp('trace', 'gm'),\n      css: 'color1'\n    }\n\t\t];\n\n  this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['actionscript3', 'as3'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-as3/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n  function hereDocProcess(match, regexInfo) {\n    var result = [];\n\n    if (match.here_doc != null)\n      result.push(new Match(match.here_doc, match.index + match[0].indexOf(match.here_doc), 'string'));\n\n    if (match.full_tag != null)\n      result.push(new Match(match.full_tag, match.index, 'preprocessor'));\n\n    if (match.end_tag != null)\n      result.push(new Match(match.end_tag, match.index + match[0].lastIndexOf(match.end_tag), 'preprocessor'));\n\n    return result;\n  }\n\n  var keywords = 'if fi then elif else for do done until while break continue case esac function return in eq ne ge le';\n  var commands = 'alias apropos awk basename base64 bash bc bg builtin bunzip2 bzcat bzip2 bzip2recover cal cat cd cfdisk chgrp chmod chown chroot' +\n    'cksum clear cmp comm command cp cron crontab crypt csplit cut date dc dd ddrescue declare df ' +\n    'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' +\n    'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' +\n    'free fsck ftp gawk gcc gdb getconf getopts grep groups gunzip gzcat gzip hash head history hostname id ifconfig ' +\n    'import install join kill less let ln local locate logname logout look lpc lpr lprint ' +\n    'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' +\n    'mv nasm nc ndisasm netstat nice nl nohup nslookup objdump od open op passwd paste pathchk ping popd pr printcap ' +\n    'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' +\n    'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' +\n    'sleep sort source split ssh strace strings su sudo sum symlink sync tail tar tee test time ' +\n    'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' +\n    'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' +\n    'vi watch wc whereis which who whoami Wget xargs xxd yes chsh zcat';\n\n  this.regexList = [\n    {\n      regex: /^#!.*$/gm,\n      css: 'preprocessor bold'\n    },\n    {\n      regex: /\\/[\\w-\\/]+/gm,\n      css: 'plain'\n    },\n    {\n      regex: regexLib.singleLinePerlComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(this.getKeywords(commands), 'gm'),\n      css: 'functions'\n    },\n    {\n      regex: new XRegExp(\"(?<full_tag>(&lt;|<){2}(?<tag>\\\\w+)) .*$(?<here_doc>[\\\\s\\\\S]*)(?<end_tag>^\\\\k<tag>$)\", 'gm'),\n      func: hereDocProcess\n    }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['bash', 'shell', 'sh'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-bash/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Jen\n  // http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus\n\n  var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' +\n    'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' +\n    'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' +\n    'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' +\n    'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' +\n    'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' +\n    'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' +\n    'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' +\n    'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' +\n    'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' +\n    'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' +\n    'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' +\n    'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' +\n    'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' +\n    'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' +\n    'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' +\n    'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' +\n    'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' +\n    'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' +\n    'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' +\n    'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' +\n    'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' +\n    'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' +\n    'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' +\n    'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' +\n    'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' +\n    'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' +\n    'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' +\n    'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' +\n    'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' +\n    'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' +\n    'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' +\n    'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' +\n    'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' +\n    'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' +\n    'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' +\n    'XmlValidate Year YesNoFormat';\n\n  var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' +\n    'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' +\n    'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' +\n    'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' +\n    'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' +\n    'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' +\n    'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' +\n    'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' +\n    'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' +\n    'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' +\n    'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' +\n    'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' +\n    'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' +\n    'cfwindow cfxml cfzip cfzipparam';\n\n  var operators = 'all and any between cross in join like not null or outer some';\n\n  this.regexList = [\n    {\n      regex: new RegExp('--(.*)$', 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: regexLib.xmlComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n      css: 'functions'\n    },\n    {\n      regex: new RegExp(this.getKeywords(operators), 'gmi'),\n      css: 'color1'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n      css: 'keyword'\n    }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['coldfusion', 'cf'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-coldfusion/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Copyright 2006 Shin, YoungJin\n\n  var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' +\n    'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' +\n    'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' +\n    'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' +\n    'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' +\n    'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' +\n    'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' +\n    'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' +\n    'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' +\n    'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' +\n    'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' +\n    'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' +\n    'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' +\n    'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' +\n    'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' +\n    'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' +\n    'char char16_t char32_t bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' +\n    'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' +\n    'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' +\n    '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' +\n    'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' +\n    'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' +\n    'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' +\n    'va_list wchar_t wctrans_t wctype_t wint_t signed';\n\n  var keywords = 'alignas alignof auto break case catch class const constexpr decltype __finally __exception __try ' +\n    'const_cast continue private public protected __declspec ' +\n    'default delete deprecated dllexport dllimport do dynamic_cast ' +\n    'else enum explicit extern if for friend goto inline ' +\n    'mutable naked namespace new noinline noreturn nothrow noexcept nullptr ' +\n    'register reinterpret_cast return selectany ' +\n    'sizeof static static_cast static_assert struct switch template this ' +\n    'thread thread_local throw true false try typedef typeid typename union ' +\n    'using uuid virtual void volatile whcar_t while';\n\n  var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint ' +\n    'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' +\n    'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' +\n    'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' +\n    'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' +\n    'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' +\n    'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' +\n    'fwrite getc getchar gets perror printf putc putchar puts remove ' +\n    'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' +\n    'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' +\n    'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' +\n    'mbtowc qsort rand realloc srand strtod strtol strtoul system ' +\n    'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' +\n    'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' +\n    'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' +\n    'clock ctime difftime gmtime localtime mktime strftime time';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /^ *#.*/gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n      css: 'color1 bold'\n    },\n    {\n      regex: new RegExp(this.getKeywords(functions), 'gm'),\n      css: 'functions bold'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword bold'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['cpp', 'cc', 'c++', 'c', 'h', 'hpp', 'h++'];\nmodule.exports = Brush;\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-cpp/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n  var keywords = 'abstract as base bool break byte case catch char checked class const ' +\n    'continue decimal default delegate do double else enum event explicit volatile ' +\n    'extern false finally fixed float for foreach get goto if implicit in int ' +\n    'interface internal is lock long namespace new null object operator out ' +\n    'override params private protected public readonly ref return sbyte sealed set ' +\n    'short sizeof stackalloc static string struct switch this throw true try ' +\n    'typeof uint ulong unchecked unsafe ushort using virtual void while var ' +\n    'from group by into select let where orderby join on equals ascending descending';\n\n  function fixComments(match, regexInfo) {\n    var css = (match[0].indexOf(\"///\") == 0) ? 'color1' : 'comments';\n    return [new Match(match[0], match.index, css)];\n  }\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      func: fixComments\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: /@\"(?:[^\"]|\"\")*\"/g,\n      css: 'string'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /^\\s*#.*/gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: /\\bpartial(?=\\s+(?:class|interface|struct)\\b)/g,\n      css: 'keyword'\n    },\n    {\n      regex: /\\byield(?=\\s+(?:return|break)\\b)/g,\n      css: 'keyword'\n    }\n\t\t];\n\n  this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['c#', 'c-sharp', 'csharp'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-csharp/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  function getKeywordsCSS(str) {\n    return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n  };\n\n  function getValuesCSS(str) {\n    return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n  };\n\n  var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n    'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n    'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n    'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n    'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n    'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n    'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n    'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n    'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n    'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n    'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n    'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n    'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n    'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';\n\n  var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n    'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n    'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double ' +\n    'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n    'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n    'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n    'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n    'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n    'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n    'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n    'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n    'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n    'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n    'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n  var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n  this.regexList = [\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\#[a-fA-F0-9]{3,6}/g,\n      css: 'value'\n    },\n    {\n      regex: /(-?\\d+)(\\.\\d+)?(px|em|pt|\\:|\\%|)/g,\n      css: 'value'\n    },\n    {\n      regex: /!important/g,\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(getValuesCSS(values), 'g'),\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(fonts), 'g'),\n      css: 'color1'\n    }\n\t\t];\n\n  this.forHtmlScript({\n    left: /(&lt;|<)\\s*style.*?(&gt;|>)/gi,\n    right: /(&lt;|<)\\/\\s*style\\s*(&gt;|>)/gi\n  });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['css'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-css/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +\n    'case char class comp const constructor currency destructor div do double ' +\n    'downto else end except exports extended false file finalization finally ' +\n    'for function goto if implementation in inherited int64 initialization ' +\n    'integer interface is label library longint longword mod nil not object ' +\n    'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' +\n    'pint64 pointer private procedure program property pshortstring pstring ' +\n    'pvariant pwidechar pwidestring protected public published raise real real48 ' +\n    'record repeat set shl shortint shortstring shr single smallint string then ' +\n    'threadvar to true try type unit until uses val var varirnt while widechar ' +\n    'widestring with word write writeln xor';\n\n  this.regexList = [\n    {\n      regex: /\\(\\*[\\s\\S]*?\\*\\)/gm,\n      css: 'comments'\n    },\n    {\n      regex: /{(?!\\$)[\\s\\S]*?}/gm,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\{\\$[a-zA-Z]+ .+\\}/g,\n      css: 'color1'\n    },\n    {\n      regex: /\\b[\\d\\.]+\\b/g,\n      css: 'value'\n    },\n    {\n      regex: /\\$[a-zA-Z0-9]+\\b/g,\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n      css: 'keyword'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['delphi', 'pascal', 'pas'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-delphi/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  this.regexList = [\n    {\n      regex: /^\\+\\+\\+ .*$/gm,\n      css: 'color2'\n    },\n    {\n      regex: /^\\-\\-\\- .*$/gm,\n      css: 'color2'\n    },\n    {\n      regex: /^\\s.*$/gm,\n      css: 'color1'\n    },\n    {\n      regex: /^@@.*@@.*$/gm,\n      css: 'variable'\n    },\n    {\n      regex: /^\\+.*$/gm,\n      css: 'string'\n    },\n    {\n      regex: /^\\-.*$/gm,\n      css: 'color3'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['diff', 'patch'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-diff/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Jean-Lou Dupont\n  // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html\n\n  // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5\n  var keywords = 'after and andalso band begin bnot bor bsl bsr bxor ' +\n    'case catch cond div end fun if let not of or orelse ' +\n    'query receive rem try when xor' +\n    // additional\n    ' module export import define';\n\n  this.regexList = [\n    {\n      regex: new RegExp(\"[A-Z][A-Za-z0-9_]+\", 'g'),\n      css: 'constants'\n    },\n    {\n      regex: new RegExp(\"\\\\%.+\", 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: new RegExp(\"\\\\?[A-Za-z0-9_]+\", 'g'),\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(\"[a-z0-9_]+:[a-z0-9_]+\", 'g'),\n      css: 'functions'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['erl', 'erlang'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-erlang/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Andres Almiray\n  // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter\n\n  var keywords = 'as assert break case catch class continue def default do else extends finally ' +\n    'if in implements import instanceof interface new package property return switch ' +\n    'throw throws try while public protected private static';\n  var types = 'void boolean byte char short int long float double';\n  var constants = 'null';\n  var methods = 'allProperties count get size ' +\n    'collect each eachProperty eachPropertyName eachWithIndex find findAll ' +\n    'findIndexOf grep inject max min reverseEach sort ' +\n    'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' +\n    'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' +\n    'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' +\n    'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' +\n    'transformChar transformLine withOutputStream withPrintWriter withStream ' +\n    'withStreams withWriter withWriterAppend write writeLine ' +\n    'dump inspect invokeMethod print println step times upto use waitForOrKill ' +\n    'getText';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\"\"\".*\"\"\"/g,\n      css: 'string'\n    },\n    {\n      regex: new RegExp('\\\\b([\\\\d]+(\\\\.[\\\\d]+)?|0x[a-f0-9]+)\\\\b', 'gi'),\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(this.getKeywords(types), 'gm'),\n      css: 'color1'\n    },\n    {\n      regex: new RegExp(this.getKeywords(constants), 'gm'),\n      css: 'constants'\n    },\n    {\n      regex: new RegExp(this.getKeywords(methods), 'gm'),\n      css: 'functions'\n    }\n\t\t];\n\n  this.forHtmlScript(regexLib.aspScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['groovy'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-groovy/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n\n  var inits = 'class interface package macro enum typedef extends implements dynamic in for if while else do try switch case catch';\n\n  var keywords = 'return break continue new throw cast using import function public private inline static untyped callback true false null Int Float String Void Std Bool Dynamic Array Vector';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(inits), 'gm'),\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp('var', 'gm'),\n      css: 'variable'\n    },\n    {\n      regex: new RegExp('trace', 'gm'),\n      css: 'color1'\n    },\n    {\n      regex: new RegExp('#if', 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: new RegExp('#elseif', 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: new RegExp('#end', 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: new RegExp('#error', 'gm'),\n      css: 'comments'\n    }\n\t];\n\n  //standard compiler conditionals flags\n  var flags = [\n\t\t\"debug\", \"error\", \"cpp\", \"js\", \"neko\", \"php\", \"flash\", \"flash8\", \"flash9\", \"flash10\", \"flash10\", \"mobile\", \"desktop\", \"web\", \"ios\", \"android\", \"iphone\"\n\t];\n\n  //append the flags to the array with a ! operator\n  var i;\n  var length = flags.length;\n  for (i = 0; i <= length - 1; i++) {\n    this.regexList.push({\n      regex: new RegExp(flags[i], 'gm'),\n      css: 'comments'\n    });\n    this.regexList.push({\n      regex: new RegExp('!' + flags[i], 'gm'),\n      css: 'comments'\n    });\n  }\n\n  this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\n;\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['haxe', 'hx'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-haxe/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'abstract assert boolean break byte case catch char class const ' +\n    'continue default do double else enum extends ' +\n    'false final finally float for goto if implements import ' +\n    'instanceof int interface long native new null ' +\n    'package private protected public return ' +\n    'short static strictfp super switch synchronized this throw throws true ' +\n    'transient try void volatile while';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n      css: 'comments'\n    },\n    {\n      regex: /\\/\\*(?!\\*\\/)\\*[\\s\\S]*?\\*\\//gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\b([\\d]+(\\.[\\d]+)?f?|[\\d]+l?|0x[a-f0-9]+)\\b/gi,\n      css: 'value'\n    },\n    {\n      regex: /(?!\\@interface\\b)\\@[\\$\\w]+\\b/g,\n      css: 'color1'\n    },\n    {\n      regex: /\\@interface\\b/g,\n      css: 'color2'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t\t];\n\n  this.forHtmlScript({\n    left: /(&lt;|<)%[@!=]?/g,\n    right: /%(&gt;|>)/g\n  });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['java'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-java/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Patrick Webster\n  // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html\n  var datatypes = 'Boolean Byte Character Double Duration ' + 'Float Integer Long Number Short String Void';\n\n  var keywords = 'abstract after and as assert at before bind bound break catch class ' + 'continue def delete else exclusive extends false finally first for from ' + 'function if import in indexof init insert instanceof into inverse last ' + 'lazy mixin mod nativearray new not null on or override package postinit ' + 'protected public public-init public-read replace return reverse sizeof ' + 'step super then this throw true try tween typeof var where while with ' + 'attribute let private readonly static trigger';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /(-?\\.?)(\\b(\\d*\\.?\\d+|\\d+\\.?\\d*)(e[+-]?\\d+)?|0x[a-f\\d]+)\\b\\.?/gi,\n      css: 'color2'\n    },\n    {\n      regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n      css: 'variable'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t];\n  this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['jfx', 'javafx'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-javafx/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'break case catch class continue ' +\n    'default delete do else enum export extends false  ' +\n    'for from as function if implements import in instanceof ' +\n    'interface let new null package private protected ' +\n    'static return super switch ' +\n    'this throw true try typeof var while with yield';\n\n  this.regexList = [\n    {\n      regex: regexLib.multiLineDoubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.multiLineSingleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: /\\s*#.*/gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n    ];\n\n  this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['js', 'jscript', 'javascript', 'json'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-javascript/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by David Simmons-Duffin and Marty Kube\n\n  var funcs =\n    'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' +\n    'chroot close closedir connect cos crypt defined delete each endgrent ' +\n    'endhostent endnetent endprotoent endpwent endservent eof exec exists ' +\n    'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' +\n    'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' +\n    'getnetbyname getnetent getpeername getpgrp getppid getpriority ' +\n    'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' +\n    'getservbyname getservbyport getservent getsockname getsockopt glob ' +\n    'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' +\n    'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' +\n    'oct open opendir ord pack pipe pop pos print printf prototype push ' +\n    'quotemeta rand read readdir readline readlink readpipe recv rename ' +\n    'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' +\n    'semget semop send setgrent sethostent setnetent setpgrp setpriority ' +\n    'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' +\n    'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' +\n    'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' +\n    'system syswrite tell telldir time times tr truncate uc ucfirst umask ' +\n    'undef unlink unpack unshift utime values vec wait waitpid warn write ' +\n    // feature\n    'say';\n\n  var keywords =\n    'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' +\n    'for foreach goto if import last local my next no our package redo ref ' +\n    'require return sub tie tied unless untie until use wantarray while ' +\n    // feature\n    'given when default ' +\n    // Try::Tiny\n    'try catch finally ' +\n    // Moose\n    'has extends with before after around override augment';\n\n  this.regexList = [\n    {\n      regex: /(<<|&lt;&lt;)((\\w+)|(['\"])(.+?)\\4)[\\s\\S]+?\\n\\3\\5\\n/g,\n      css: 'string'\n    },\n    {\n      regex: /#.*$/gm,\n      css: 'comments'\n    },\n    {\n      regex: /^#!.*\\n/g,\n      css: 'preprocessor'\n    },\n    {\n      regex: /-?\\w+(?=\\s*=(>|&gt;))/g,\n      css: 'string'\n    },\n\n\t\t// is this too much?\n    {\n      regex: /\\bq[qwxr]?\\([\\s\\S]*?\\)/g,\n      css: 'string'\n    },\n    {\n      regex: /\\bq[qwxr]?\\{[\\s\\S]*?\\}/g,\n      css: 'string'\n    },\n    {\n      regex: /\\bq[qwxr]?\\[[\\s\\S]*?\\]/g,\n      css: 'string'\n    },\n    {\n      regex: /\\bq[qwxr]?(<|&lt;)[\\s\\S]*?(>|&gt;)/g,\n      css: 'string'\n    },\n    {\n      regex: /\\bq[qwxr]?([^\\w({<[])[\\s\\S]*?\\1/g,\n      css: 'string'\n    },\n\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /(?:&amp;|[$@%*]|\\$#)\\$?[a-zA-Z_](\\w+|::)*/g,\n      css: 'variable'\n    },\n    {\n      regex: /\\b__(?:END|DATA)__\\b[\\s\\S]*$/g,\n      css: 'comments'\n    },\n    {\n      regex: /(^|\\n)=\\w[\\s\\S]*?(\\n=cut\\s*(?=\\n)|$)/g,\n      css: 'comments'\n    },\n\n    {\n      regex: new RegExp(this.getKeywords(funcs), 'gm'),\n      css: 'functions'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t];\n\n  this.forHtmlScript(regexLib.phpScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['perl', 'Perl', 'pl'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-perl/brush.js","import BrushBase from 'brush-base';\nimport {commonRegExp} from 'syntaxhighlighter-regex';\n\nconst functions = 'abs acos acosh addcslashes addslashes ' +\n  'array_change_key_case array_chunk array_combine array_count_values array_diff ' +\n  'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill ' +\n  'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key ' +\n  'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map ' +\n  'array_merge array_merge_recursive array_multisort array_pad array_pop array_product ' +\n  'array_push array_rand array_reduce array_reverse array_search array_shift ' +\n  'array_slice array_splice array_sum array_udiff array_udiff_assoc ' +\n  'array_udiff_uassoc array_uintersect array_uintersect_assoc ' +\n  'array_uintersect_uassoc array_unique array_unshift array_values array_walk ' +\n  'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert ' +\n  'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress ' +\n  'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir ' +\n  'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists ' +\n  'closedir closelog copy cos cosh count count_chars date decbin dechex decoct ' +\n  'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log ' +\n  'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded ' +\n  'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents ' +\n  'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype ' +\n  'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf ' +\n  'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname ' +\n  'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt ' +\n  'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext ' +\n  'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set ' +\n  'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double ' +\n  'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long ' +\n  'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault ' +\n  'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br ' +\n  'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir ' +\n  'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split ' +\n  'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes ' +\n  'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk ' +\n  'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime ' +\n  'strtoupper strtr strval substr substr_compare';\n\nconst keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' +\n  'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final finally for foreach ' +\n  'function global goto if implements include include_once interface instanceof insteadof namespace new ' +\n  'old_function or private protected public return require require_once static switch ' +\n  'trait throw try use const while xor yield ';\n\nconst constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';\n\nexport default class Brush extends BrushBase {\n  static get aliases() {\n    return ['php'];\n  }\n\n  constructor() {\n    super();\n\n    this.regexList = [\n      {regex: commonRegExp.singleLineCComments, css: 'comments'},\n      {regex: commonRegExp.multiLineCComments, css: 'comments'},\n      {regex: commonRegExp.doubleQuotedString, css: 'string'},\n      {regex: commonRegExp.singleQuotedString, css: 'string'},\n      {regex: /\\$\\w+/g, css: 'variable'},\n      {regex: new RegExp(this.getKeywords(functions), 'gmi'), css: 'functions'},\n      {regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants'},\n      {regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword'}\n    ];\n\n    this.forHtmlScript(commonRegExp.phpScriptTags);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-php/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  this.regexList = [];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['text', 'plain'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-plain/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Joel 'Jaykul' Bennett, http://PoshCode.org | http://HuddledMasses.org\n  var keywords = 'while validateset validaterange validatepattern validatelength validatecount ' +\n    'until trap switch return ref process param parameter in if global: ' +\n    'function foreach for finally filter end elseif else dynamicparam do default ' +\n    'continue cmdletbinding break begin alias \\\\? % #script #private #local #global ' +\n    'mandatory parametersetname position valuefrompipeline ' +\n    'valuefrompipelinebypropertyname valuefromremainingarguments helpmessage ';\n\n  var operators = ' and as band bnot bor bxor casesensitive ccontains ceq cge cgt cle ' +\n    'clike clt cmatch cne cnotcontains cnotlike cnotmatch contains ' +\n    'creplace eq exact f file ge gt icontains ieq ige igt ile ilike ilt ' +\n    'imatch ine inotcontains inotlike inotmatch ireplace is isnot le like ' +\n    'lt match ne not notcontains notlike notmatch or regex replace wildcard';\n\n  var verbs = 'write where wait use update unregister undo trace test tee take suspend ' +\n    'stop start split sort skip show set send select scroll resume restore ' +\n    'restart resolve resize reset rename remove register receive read push ' +\n    'pop ping out new move measure limit join invoke import group get format ' +\n    'foreach export expand exit enter enable disconnect disable debug cxnew ' +\n    'copy convertto convertfrom convert connect complete compare clear ' +\n    'checkpoint aggregate add';\n\n  // I can't find a way to match the comment based help in multi-line comments, because SH won't highlight in highlights, and javascript doesn't support lookbehind\n  var commenthelp = ' component description example externalhelp forwardhelpcategory forwardhelptargetname forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsis';\n\n  this.regexList = [\n    {\n      regex: new RegExp('^\\\\s*#[#\\\\s]*\\\\.(' + this.getKeywords(commenthelp) + ').*$', 'gim'),\n      css: 'preprocessor help bold'\n    },\n    {\n      regex: regexLib.singleLinePerlComments,\n      css: 'comments'\n    },\n    {\n      regex: /(&lt;|<)#[\\s\\S]*?#(&gt;|>)/gm,\n      css: 'comments here'\n    },\n\n    {\n      regex: new RegExp('@\"\\\\n[\\\\s\\\\S]*?\\\\n\"@', 'gm'),\n      css: 'script string here'\n    },\n    {\n      regex: new RegExp(\"@'\\\\n[\\\\s\\\\S]*?\\\\n'@\", 'gm'),\n      css: 'script string single here'\n    },\n    {\n      regex: new RegExp('\"(?:\\\\$\\\\([^\\\\)]*\\\\)|[^\"]|`\"|\"\")*[^`]\"', 'g'),\n      css: 'string'\n    },\n    {\n      regex: new RegExp(\"'(?:[^']|'')*'\", 'g'),\n      css: 'string single'\n    },\n\n    {\n      regex: new RegExp('[\\\\$|@|@@](?:(?:global|script|private|env):)?[A-Z0-9_]+', 'gi'),\n      css: 'variable'\n    },\n    {\n      regex: new RegExp('(?:\\\\b' + verbs.replace(/ /g, '\\\\b|\\\\b') + ')-[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n      css: 'functions'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp('-' + this.getKeywords(operators), 'gmi'),\n      css: 'operator value'\n    },\n    {\n      regex: new RegExp('\\\\[[A-Z_\\\\[][A-Z0-9_. `,\\\\[\\\\]]*\\\\]', 'gi'),\n      css: 'constants'\n    },\n    {\n      regex: new RegExp('\\\\s+-(?!' + this.getKeywords(operators) + ')[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n      css: 'color1'\n    },\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['powershell', 'ps', 'posh'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-powershell/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Gheorghe Milas and Ahmad Sherif\n\n  var keywords = 'and assert break class continue def del elif else ' +\n    'except exec finally for from global if import in is ' +\n    'lambda not or pass raise return try yield while';\n\n  var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' +\n    'chr classmethod cmp coerce compile complex delattr dict dir ' +\n    'divmod enumerate eval execfile file filter float format frozenset ' +\n    'getattr globals hasattr hash help hex id input int intern ' +\n    'isinstance issubclass iter len list locals long map max min next ' +\n    'object oct open ord pow print property range raw_input reduce ' +\n    'reload repr reversed round set setattr slice sorted staticmethod ' +\n    'str sum super tuple type type unichr unicode vars xrange zip';\n\n  var special = 'None True False self cls class_';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLinePerlComments,\n      css: 'comments'\n    },\n    {\n      regex: /^\\s*@\\w+/gm,\n      css: 'decorator'\n    },\n    {\n      regex: /(['\\\"]{3})([^\\1])*?\\1/gm,\n      css: 'comments'\n    },\n    {\n      regex: /\"(?!\")(?:\\.|\\\\\\\"|[^\\\"\"\\n])*\"/gm,\n      css: 'string'\n    },\n    {\n      regex: /'(?!')(?:\\.|(\\\\\\')|[^\\''\\n])*'/gm,\n      css: 'string'\n    },\n    {\n      regex: /\\+|\\-|\\*|\\/|\\%|=|==/gm,\n      css: 'keyword'\n    },\n    {\n      regex: /\\b\\d+\\.?\\w*/g,\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n      css: 'functions'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(this.getKeywords(special), 'gm'),\n      css: 'color1'\n    }\n\t\t\t];\n\n  this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['py', 'python'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-python/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Erik Peterson.\n\n  var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' +\n    'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +\n    'self super then throw true undef unless until when while yield';\n\n  var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +\n    'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +\n    'ThreadGroup Thread Time TrueClass';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLinePerlComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\b[A-Z0-9_]+\\b/g,\n      css: 'constants'\n    },\n    {\n      regex: /:[a-z][A-Za-z0-9_]*/g,\n      css: 'color2'\n    },\n    {\n      regex: /(\\$|@@|@)\\w+/g,\n      css: 'variable bold'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(this.getKeywords(builtins), 'gm'),\n      css: 'color1'\n    }\n\t\t];\n\n  this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ruby', 'rails', 'ror', 'rb'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-ruby/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  function getKeywordsCSS(str) {\n    return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n  };\n\n  function getValuesCSS(str) {\n    return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n  };\n\n  function getKeywordsPrependedBy(keywords, by) {\n    return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n  }\n\n  var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n    'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n    'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n    'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n    'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n    'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n    'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n    'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n    'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n    'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n    'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n    'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n    'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n    'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index zoom';\n\n  var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n    'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n    'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double ' +\n    'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n    'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n    'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n    'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n    'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n    'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n    'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n    'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n    'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n    'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n    'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n  var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n  var statements = 'important default';\n  var preprocessor = 'import extend debug warn if else for while mixin function include content media';\n\n  var r = regexLib;\n\n  this.regexList = [\n    {\n      regex: r.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: r.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: r.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: r.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /\\#[a-fA-F0-9]{3,6}/g,\n      css: 'value'\n    },\n    {\n      regex: /\\b(-?\\d+)(\\.\\d+)?(px|em|rem|pt|\\:|\\%|)\\b/g,\n      css: 'value'\n    },\n    {\n      regex: /\\$[\\w-]+/g,\n      css: 'variable'\n    },\n    {\n      regex: new RegExp(getKeywordsPrependedBy(statements, '!'), 'g'),\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(getKeywordsPrependedBy(preprocessor, '@'), 'g'),\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(getValuesCSS(values), 'g'),\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(fonts), 'g'),\n      css: 'color1'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sass', 'scss'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-sass/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Yegor Jbanov and David Bernard.\n\n  var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' +\n    'override try lazy for var catch throw type extends class while with new final yield abstract ' +\n    'else do if return protected private this package false';\n\n  var keyops = '[_:=><%#@]+';\n\n  this.regexList = [\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineSingleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.multiLineDoubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /0x[a-f0-9]+|\\d+(\\.\\d+)?/gi,\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(keyops, 'gm'),\n      css: 'keyword'\n    }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['scala'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-scala/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var funcs = 'abs avg case cast coalesce convert count current_timestamp ' +\n    'current_user day isnull left lower month nullif replace right ' +\n    'session_user space substring sum system_user upper user year';\n\n  var keywords = 'absolute action add after alter as asc at authorization begin bigint ' +\n    'binary bit by cascade char character check checkpoint close collate ' +\n    'column commit committed connect connection constraint contains continue ' +\n    'create cube current current_date current_time cursor database date ' +\n    'deallocate dec decimal declare default delete desc distinct double drop ' +\n    'dynamic else end end-exec escape except exec execute false fetch first ' +\n    'float for force foreign forward free from full function global goto grant ' +\n    'group grouping having hour ignore index inner insensitive insert instead ' +\n    'int integer intersect into is isolation key last level load local max min ' +\n    'minute modify move name national nchar next no numeric of off on only ' +\n    'open option order out output partial password precision prepare primary ' +\n    'prior privileges procedure public read real references relative repeatable ' +\n    'restrict return returns revoke rollback rollup rows rule schema scroll ' +\n    'second section select sequence serializable set size smallint static ' +\n    'statistics table temp temporary then time timestamp to top transaction ' +\n    'translation trigger true truncate uncommitted union unique update values ' +\n    'varchar varying view when where with work';\n\n  var operators = 'all and any between cross in join like not null or outer some';\n\n  this.regexList = [\n    {\n      regex: /--(.*)$/gm,\n      css: 'comments'\n    },\n    {\n      regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineDoubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.multiLineSingleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n      css: 'color2'\n    },\n    {\n      regex: new RegExp(this.getKeywords(operators), 'gmi'),\n      css: 'color1'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n      css: 'keyword'\n    }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sql'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-sql/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n  // Swift brush contributed by Nate Cook\n  // http://natecook.com/code/swift-syntax-highlighting\n\n  function getKeywordsPrependedBy(keywords, by) {\n    return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n  }\n\n  function multiLineCCommentsAdd(match, regexInfo) {\n    var str = match[0],\n      result = [],\n      pos = 0,\n      matchStart = 0,\n      level = 0;\n\n    while (pos < str.length - 1) {\n      var chunk = str.substr(pos, 2);\n      if (level == 0) {\n        if (chunk == \"/*\") {\n          matchStart = pos;\n          level++;\n          pos += 2;\n        } else {\n          pos++;\n        }\n      } else {\n        if (chunk == \"/*\") {\n          level++;\n          pos += 2;\n        } else if (chunk == \"*/\") {\n          level--;\n          if (level == 0) {\n            result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n          }\n          pos += 2;\n        } else {\n          pos++;\n        }\n      }\n    }\n\n    return result;\n  }\n\n  function stringAdd(match, regexInfo) {\n    var str = match[0],\n      result = [],\n      pos = 0,\n      matchStart = 0,\n      level = 0;\n\n    while (pos < str.length - 1) {\n      if (level == 0) {\n        if (str.substr(pos, 2) == \"\\\\(\") {\n          result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n          level++;\n          pos += 2;\n        } else {\n          pos++;\n        }\n      } else {\n        if (str[pos] == \"(\") {\n          level++;\n        }\n        if (str[pos] == \")\") {\n          level--;\n          if (level == 0) {\n            matchStart = pos;\n          }\n        }\n        pos++;\n      }\n    }\n    if (level == 0) {\n      result.push(new Match(str.substring(matchStart, str.length), matchStart + match.index, regexInfo.css));\n    }\n\n    return result;\n  };\n\n  // \"Swift-native types\" are all the protocols, classes, structs, enums, funcs, vars, and typealiases built into the language\n  var swiftTypes = 'AbsoluteValuable Any AnyClass Array ArrayBound ArrayBuffer ArrayBufferType ArrayLiteralConvertible ArrayType AutoreleasingUnsafePointer BidirectionalIndex Bit BitwiseOperations Bool C CBool CChar CChar16 CChar32 CConstPointer CConstVoidPointer CDouble CFloat CInt CLong CLongLong CMutablePointer CMutableVoidPointer COpaquePointer CShort CSignedChar CString CUnsignedChar CUnsignedInt CUnsignedLong CUnsignedLongLong CUnsignedShort CVaListPointer CVarArg CWideChar Character CharacterLiteralConvertible Collection CollectionOfOne Comparable ContiguousArray ContiguousArrayBuffer DebugPrintable Dictionary DictionaryGenerator DictionaryIndex DictionaryLiteralConvertible Double EmptyCollection EmptyGenerator EnumerateGenerator Equatable ExtendedGraphemeClusterLiteralConvertible ExtendedGraphemeClusterType ExtensibleCollection FilterCollectionView FilterCollectionViewIndex FilterGenerator FilterSequenceView Float Float32 Float64 Float80 FloatLiteralConvertible FloatLiteralType FloatingPointClassification FloatingPointNumber ForwardIndex Generator GeneratorOf GeneratorOfOne GeneratorSequence Hashable HeapBuffer HeapBufferStorage HeapBufferStorageBase ImplicitlyUnwrappedOptional IndexingGenerator Int Int16 Int32 Int64 Int8 IntEncoder IntMax Integer IntegerArithmetic IntegerLiteralConvertible IntegerLiteralType Less LifetimeManager LogicValue MapCollectionView MapSequenceGenerator MapSequenceView MaxBuiltinFloatType MaxBuiltinIntegerType Mirror MirrorDisposition MutableCollection MutableSliceable ObjectIdentifier OnHeap Optional OutputStream PermutationGenerator Printable QuickLookObject RandomAccessIndex Range RangeGenerator RawByte RawOptionSet RawRepresentable Reflectable Repeat ReverseIndex ReverseRange ReverseRangeGenerator ReverseView Sequence SequenceOf SignedInteger SignedNumber Sink SinkOf Slice SliceBuffer Sliceable StaticString Streamable StridedRangeGenerator String StringElement StringInterpolationConvertible StringLiteralConvertible StringLiteralType UInt UInt16 UInt32 UInt64 UInt8 UIntMax UTF16 UTF32 UTF8 UWord UnicodeCodec UnicodeScalar Unmanaged UnsafeArray UnsafePointer UnsignedInteger Void Word Zip2 ZipGenerator2 abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList';\n\n  var keywords = 'as break case class continue default deinit do dynamicType else enum ' +\n    'extension fallthrough for func if import in init is let new protocol ' +\n    'return self Self static struct subscript super switch Type typealias ' +\n    'var where while __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity ' +\n    'didSet get infix inout left mutating none nonmutating operator override ' +\n    'postfix precedence prefix right set unowned unowned(safe) unowned(unsafe) weak willSet';\n\n  var attributes = 'assignment class_protocol exported final lazy noreturn NSCopying NSManaged objc optional required auto_closure noreturn IBAction IBDesignable IBInspectable IBOutlet infix prefix postfix';\n\n\n  this.regexList = [\n    // html entities\n    {\n      regex: new RegExp('\\&[a-z]+;', 'gi'),\n      css: 'plain'\n    },\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: new RegExp('\\\\/\\\\*[\\\\s\\\\S]*\\\\*\\\\/', 'g'),\n      css: 'comments',\n      func: multiLineCCommentsAdd\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string',\n      func: stringAdd\n    },\n    {\n      regex: new RegExp('\\\\b([\\\\d_]+(\\\\.[\\\\de_]+)?|0x[a-f0-9_]+(\\\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b', 'gi'),\n      css: 'value'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp(getKeywordsPrependedBy(attributes, '@'), 'gm'),\n      css: 'color1'\n    },\n    {\n      regex: new RegExp(this.getKeywords(swiftTypes), 'gm'),\n      css: 'color2'\n    },\n    {\n      regex: new RegExp('\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b', 'gi'),\n      css: 'variable'\n    },\n    ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['swift'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-swift/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  // Contributed by Chad Granum\n  this.regexList = [\n    {\n      regex: new RegExp('^1..\\\\d+', 'gm'),\n      css: 'plain bold italic'\n    },\n    {\n      regex: new RegExp('^ok( \\\\d+)?', 'gm'),\n      css: 'keyword'\n    },\n    {\n      regex: new RegExp('^not ok( \\\\d+)?', 'gm'),\n      css: 'color3 bold'\n    },\n    {\n      regex: new RegExp('(?!^\\\\s*)#.*$', 'gm'),\n      css: 'variable bold'\n    },\n    {\n      regex: new RegExp('^#.*$', 'gm'),\n      css: 'comments bold'\n    },\n    {\n      regex: new RegExp('^(?!(not )?ok)[^1].*$', 'gm'),\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n  ];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['tap', 'Tap', 'TAP'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-tap/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'break case catch class continue ' +\n    'default delete do else enum export extends false  ' +\n    'for function if implements import in instanceof ' +\n    'interface let new null package private protected ' +\n    'static return super switch ' +\n    'this throw true try typeof var while with yield' +\n    ' any bool declare get module never number public readonly set string'; // TypeScript-specific, everything above is common with JavaScript\n\n  this.regexList = [\n    {\n      regex: regexLib.multiLineDoubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.multiLineSingleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.multiLineCComments,\n      css: 'comments'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t];\n\n  this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ts', 'typescript'];\nmodule.exports = Brush;\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-typescript/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' +\n    'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' +\n    'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' +\n    'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' +\n    'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' +\n    'Function Get GetType GoSub GoTo Handles If Implements Imports In ' +\n    'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' +\n    'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' +\n    'NotInheritable NotOverridable Object On Option Optional Or OrElse ' +\n    'Overloads Overridable Overrides ParamArray Preserve Private Property ' +\n    'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' +\n    'Return Select Set Shadows Shared Short Single Static Step Stop String ' +\n    'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' +\n    'Variant When While With WithEvents WriteOnly Xor';\n\n  this.regexList = [\n    {\n      regex: /'.*$/gm,\n      css: 'comments'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: /^\\s*#.*$/gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n\t];\n\n  this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['vb', 'vbnet'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-vb/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n  function process(match, regexInfo) {\n    var code = match[0],\n      tag = XRegExp.exec(code, XRegExp('(&lt;|<)[\\\\s\\\\/\\\\?!]*(?<name>[:\\\\w-\\\\.]+)', 'xg')),\n      result = [];\n\n    if (match.attributes != null) {\n      var attributes,\n        pos = 0,\n        regex = XRegExp('(?<name> [\\\\w:.-]+)' +\n          '\\\\s*=\\\\s*' +\n          '(?<value> \".*?\"|\\'.*?\\'|\\\\w+)',\n          'xg');\n\n      while ((attributes = XRegExp.exec(code, regex, pos)) != null) {\n        result.push(new Match(attributes.name, match.index + attributes.index, 'color1'));\n        result.push(new Match(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));\n        pos = attributes.index + attributes[0].length;\n      }\n    }\n\n    if (tag != null)\n      result.push(\n        new Match(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')\n      );\n\n    return result;\n  }\n\n  this.regexList = [\n    {\n      regex: XRegExp('(\\\\&lt;|<)\\\\!\\\\[[\\\\w\\\\s]*?\\\\[(.|\\\\s)*?\\\\]\\\\](\\\\&gt;|>)', 'gm'),\n      css: 'color2'\n    },\n    {\n      regex: regexLib.xmlComments,\n      css: 'comments'\n    },\n    {\n      regex: XRegExp('(&lt;|<)[\\\\s\\\\/\\\\?!]*(\\\\w+)(?<attributes>.*?)[\\\\s\\\\/\\\\?]*(&gt;|>)', 'sg'),\n      func: process\n    }\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['xml', 'xhtml', 'xslt', 'html', 'plist'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-xml/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\t\n\tvar ops = 'abs_diff_image abs_funct_1d abs_image abs_matrix abs_matrix_mod access_channel acos_image activate_compute_device adapt_template add_channels add_class_train_data_gmm add_class_train_data_knn add_class_train_data_mlp add_class_train_data_svm add_deformable_surface_model_reference_point add_deformable_surface_model_sample add_image add_matrix add_matrix_mod add_metrology_object_circle_measure add_metrology_object_ellipse_measure add_metrology_object_generic add_metrology_object_line_measure add_metrology_object_rectangle2_measure add_noise_distribution add_noise_white add_noise_white_contour_xld add_sample_class_gmm add_sample_class_knn add_sample_class_mlp add_sample_class_svm add_sample_class_train_data add_sample_identifier_preparation_data add_sample_identifier_training_data add_samples_image_class_gmm add_samples_image_class_knn add_samples_image_class_mlp add_samples_image_class_svm add_scene_3d_camera add_scene_3d_instance add_scene_3d_label add_scene_3d_light add_texture_inspection_model_image adjust_mosaic_images affine_trans_contour_xld affine_trans_image affine_trans_image_size affine_trans_object_model_3d affine_trans_pixel affine_trans_point_2d affine_trans_point_3d affine_trans_polygon_xld affine_trans_region align_metrology_model angle_ll angle_lx anisotropic_diffusion append_channel append_ocr_trainf apply_bead_inspection_model apply_color_trans_lut apply_distance_transform_xld apply_metrology_model apply_sample_identifier apply_sheet_of_light_calibration apply_texture_inspection_model approx_chain approx_chain_simple area_center area_center_gray area_center_points_xld area_center_xld area_holes area_object_model_3d asin_image atan2_image atan_image attach_background_to_window attach_drawing_object_to_window auto_threshold axis_angle_to_quat background_seg bandpass_image best_match best_match_mg best_match_pre_mg best_match_rot best_match_rot_mg bilateral_filter bin_threshold binary_threshold binocular_calibration binocular_disparity binocular_disparity_mg binocular_disparity_ms binocular_distance binocular_distance_mg binocular_distance_ms binomial_filter bit_and bit_lshift bit_mask bit_not bit_or bit_rshift bit_slice bit_xor bottom_hat boundary broadcast_condition bundle_adjust_mosaic calibrate_cameras calibrate_hand_eye calibrate_sheet_of_light caltab_points cam_mat_to_cam_par cam_par_pose_to_hom_mat3d cam_par_to_cam_mat camera_calibration cfa_to_rgb change_domain change_format change_radial_distortion_cam_par change_radial_distortion_contours_xld change_radial_distortion_image change_radial_distortion_points channels_to_image char_threshold check_difference circularity circularity_xld class_2dim_sup class_2dim_unsup class_ndim_box class_ndim_norm classify_class_gmm classify_class_knn classify_class_mlp classify_class_svm classify_image_class_gmm classify_image_class_knn classify_image_class_lut classify_image_class_mlp classify_image_class_svm clear_all_bar_code_models clear_all_barriers clear_all_calib_data clear_all_camera_setup_models clear_all_class_gmm clear_all_class_knn clear_all_class_lut clear_all_class_mlp clear_all_class_svm clear_all_class_train_data clear_all_color_trans_luts clear_all_component_models clear_all_conditions clear_all_data_code_2d_models clear_all_deformable_models clear_all_descriptor_models clear_all_events clear_all_lexica clear_all_matrices clear_all_metrology_models clear_all_mutexes clear_all_ncc_models clear_all_object_model_3d clear_all_ocr_class_knn clear_all_ocr_class_mlp clear_all_ocr_class_svm clear_all_sample_identifiers clear_all_scattered_data_interpolators clear_all_serialized_items clear_all_shape_model_3d clear_all_shape_models clear_all_sheet_of_light_models clear_all_stereo_models clear_all_surface_matching_results clear_all_surface_models clear_all_templates clear_all_text_models clear_all_text_results clear_all_training_components clear_all_variation_models clear_bar_code_model clear_barrier clear_bead_inspection_model clear_calib_data clear_camera_setup_model clear_class_gmm clear_class_knn clear_class_lut clear_class_mlp clear_class_svm clear_class_train_data clear_color_trans_lut clear_component_model clear_condition clear_data_code_2d_model clear_deformable_model clear_deformable_surface_matching_result clear_deformable_surface_model clear_descriptor_model clear_distance_transform_xld clear_drawing_object clear_event clear_lexicon clear_matrix clear_message clear_message_queue clear_metrology_model clear_metrology_object clear_mutex clear_ncc_model clear_obj clear_object_model_3d clear_ocr_class_cnn clear_ocr_class_knn clear_ocr_class_mlp clear_ocr_class_svm clear_rectangle clear_sample_identifier clear_samples_class_gmm clear_samples_class_mlp clear_samples_class_svm clear_sampset clear_scattered_data_interpolator clear_scene_3d clear_serial clear_serialized_item clear_shape_model clear_shape_model_3d clear_sheet_of_light_model clear_stereo_model clear_surface_matching_result clear_surface_model clear_template clear_text_model clear_text_result clear_texture_inspection_model clear_texture_inspection_result clear_train_data_variation_model clear_training_components clear_variation_model clear_window clip_contours_xld clip_end_points_contours_xld clip_region clip_region_rel close_all_bg_esti close_all_class_box close_all_files close_all_framegrabbers close_all_measures close_all_ocrs close_all_ocvs close_all_serials close_all_sockets close_bg_esti close_class_box close_contours_xld close_edges close_edges_length close_file close_framegrabber close_io_channel close_io_device close_measure close_ocr close_ocv close_serial close_socket close_window closest_point_transform closing closing_circle closing_golay closing_rectangle1 cluster_model_components coherence_enhancing_diff combine_roads_xld compactness compactness_xld compare_ext_variation_model compare_obj compare_variation_model complement complex_to_real compose2 compose3 compose4 compose5 compose6 compose7 compose_funct_1d concat_obj concat_ocr_trainf connect_and_holes connect_grid_points connection connection_object_model_3d contlength contour_point_num_xld contour_to_world_plane_xld control_io_channel control_io_device control_io_interface convert_coordinates_image_to_window convert_coordinates_window_to_image convert_image_type convert_map_type convert_point_3d_cart_to_spher convert_point_3d_spher_to_cart convert_pose_type convert_tuple_to_vector_1d convert_vector_to_tuple convex_hull_object_model_3d convexity convexity_xld convol_fft convol_gabor convol_image cooc_feature_image cooc_feature_matrix copy_file copy_image copy_matrix copy_metrology_model copy_metrology_object copy_obj copy_object_model_3d copy_rectangle corner_response correlation_fft cos_image count_channels count_obj count_relation count_seconds create_aniso_shape_model create_aniso_shape_model_xld create_bar_code_model create_barrier create_bead_inspection_model create_bg_esti create_calib_data create_calib_descriptor_model create_caltab create_cam_pose_look_at_point create_camera_setup_model create_class_box create_class_gmm create_class_knn create_class_lut_gmm create_class_lut_knn create_class_lut_mlp create_class_lut_svm create_class_mlp create_class_svm create_class_train_data create_color_trans_lut create_component_model create_condition create_data_code_2d_model create_deformable_surface_model create_distance_transform_xld create_drawing_object_circle create_drawing_object_circle_sector create_drawing_object_ellipse create_drawing_object_ellipse_sector create_drawing_object_line create_drawing_object_rectangle1 create_drawing_object_rectangle2 create_drawing_object_text create_drawing_object_xld create_event create_funct_1d_array create_funct_1d_pairs create_lexicon create_local_deformable_model create_local_deformable_model_xld create_matrix create_message create_message_queue create_metrology_model create_mutex create_ncc_model create_ocr_class_box create_ocr_class_knn create_ocr_class_mlp create_ocr_class_svm create_ocv_proj create_planar_calib_deformable_model create_planar_calib_deformable_model_xld create_planar_uncalib_deformable_model create_planar_uncalib_deformable_model_xld create_pose create_rectification_grid create_sample_identifier create_scaled_shape_model create_scaled_shape_model_xld create_scattered_data_interpolator create_scene_3d create_serialized_item_ptr create_shape_model create_shape_model_3d create_shape_model_xld create_sheet_of_light_calib_object create_sheet_of_light_model create_stereo_model create_surface_model create_template create_template_rot create_text_model create_text_model_reader create_texture_inspection_model create_trained_component_model create_uncalib_descriptor_model create_variation_model critical_points_sub_pix crop_contours_xld crop_domain crop_domain_rel crop_part crop_rectangle1 deactivate_all_compute_devices deactivate_compute_device decode_bar_code_rectangle2 decompose2 decompose3 decompose4 decompose5 decompose6 decompose7 decompose_matrix delete_file depth_from_focus dequeue_message derivate_funct_1d derivate_gauss derivate_vector_field descript_class_box deserialize_bar_code_model deserialize_calib_data deserialize_cam_par deserialize_camera_setup_model deserialize_class_box deserialize_class_gmm deserialize_class_knn deserialize_class_mlp deserialize_class_svm deserialize_class_train_data deserialize_component_model deserialize_data_code_2d_model deserialize_deformable_model deserialize_deformable_surface_model deserialize_descriptor_model deserialize_distance_transform_xld deserialize_dual_quat deserialize_fft_optimization_data deserialize_hom_mat2d deserialize_hom_mat3d deserialize_image deserialize_matrix deserialize_measure deserialize_metrology_model deserialize_ncc_model deserialize_object deserialize_object_model_3d deserialize_ocr deserialize_ocr_class_cnn deserialize_ocr_class_knn deserialize_ocr_class_mlp deserialize_ocr_class_svm deserialize_ocv deserialize_pose deserialize_quat deserialize_region deserialize_sample_identifier deserialize_shape_model deserialize_shape_model_3d deserialize_sheet_of_light_model deserialize_surface_model deserialize_template deserialize_texture_inspection_model deserialize_training_components deserialize_tuple deserialize_variation_model deserialize_xld detach_background_from_window detach_drawing_object_from_window detect_edge_segments determinant_matrix determine_deformable_model_params determine_ncc_model_params determine_shape_model_params dev_clear_obj dev_clear_window dev_close_inspect_ctrl dev_close_tool dev_close_window dev_disp_text dev_display dev_error_var dev_get_exception_data dev_get_preferences dev_get_system dev_get_window dev_inspect_ctrl dev_map_par dev_map_prog dev_map_var dev_open_dialog dev_open_file_dialog dev_open_tool dev_open_window dev_set_check dev_set_color dev_set_colored dev_set_draw dev_set_line_width dev_set_lut dev_set_paint dev_set_part dev_set_preferences dev_set_shape dev_set_tool_geometry dev_set_window dev_set_window_extents dev_show_tool dev_unmap_par dev_unmap_prog dev_unmap_var dev_update_pc dev_update_time dev_update_var dev_update_window deviation_image deviation_n diameter_region diameter_xld diff_of_gauss difference difference_closed_contours_xld difference_closed_polygons_xld dilation1 dilation2 dilation_circle dilation_golay dilation_rectangle1 dilation_seq disp_arc disp_arrow disp_caltab disp_channel disp_circle disp_color disp_cross disp_distribution disp_ellipse disp_image disp_line disp_lut disp_obj disp_object_model_3d disp_polygon disp_rectangle1 disp_rectangle2 disp_region disp_text disp_xld disparity_image_to_xyz disparity_to_distance disparity_to_point_3d display_scene_3d dist_ellipse_contour_points_xld dist_ellipse_contour_xld dist_rectangle2_contour_points_xld distance_cc distance_cc_min distance_contours_xld distance_funct_1d distance_lc distance_lr distance_object_model_3d distance_pc distance_pl distance_pp distance_pr distance_ps distance_rr_min distance_rr_min_dil distance_sc distance_sl distance_sr distance_ss distance_to_disparity distance_transform div_element_matrix div_element_matrix_mod div_image do_ocr_multi do_ocr_multi_class_cnn do_ocr_multi_class_knn do_ocr_multi_class_mlp do_ocr_multi_class_svm do_ocr_single do_ocr_single_class_cnn do_ocr_single_class_knn do_ocr_single_class_mlp do_ocr_single_class_svm do_ocr_word_cnn do_ocr_word_knn do_ocr_word_mlp do_ocr_word_svm do_ocv_simple dots_image drag_region1 drag_region2 drag_region3 draw_circle draw_circle_mod draw_ellipse draw_ellipse_mod draw_line draw_line_mod draw_nurbs draw_nurbs_interp draw_nurbs_interp_mod draw_nurbs_mod draw_point draw_point_mod draw_polygon draw_rectangle1 draw_rectangle1_mod draw_rectangle2 draw_rectangle2_mod draw_region draw_xld draw_xld_mod dual_quat_compose dual_quat_conjugate dual_quat_interpolate dual_quat_normalize dual_quat_to_hom_mat3d dual_quat_to_pose dual_quat_to_screw dual_quat_trans_line_3d dual_rank dual_threshold dump_window dump_window_image dyn_threshold eccentricity eccentricity_points_xld eccentricity_xld edges_color edges_color_sub_pix edges_image edges_object_model_3d edges_sub_pix eigenvalues_general_matrix eigenvalues_symmetric_matrix eliminate_min_max eliminate_runs eliminate_sp elliptic_axis elliptic_axis_gray elliptic_axis_points_xld elliptic_axis_xld emphasize energy_gabor enqueue_message enquire_class_box enquire_reject_class_box entropy_gray entropy_image equ_histo_image erosion1 erosion2 erosion_circle erosion_golay erosion_rectangle1 erosion_seq essential_to_fundamental_matrix estimate_al_am estimate_noise estimate_sl_al_lr estimate_sl_al_zc estimate_tilt_lr estimate_tilt_zc euler_number evaluate_class_gmm evaluate_class_mlp evaluate_class_svm executable_expression exhaustive_match exhaustive_match_mg exp_image expand_domain_gray expand_gray expand_gray_ref expand_line expand_region fast_match fast_match_mg fast_threshold fft_generic fft_image fft_image_inv file_exists fill_interlace fill_up fill_up_shape filter_kalman find_aniso_shape_model find_aniso_shape_models find_bar_code find_calib_descriptor_model find_calib_object find_caltab find_component_model find_data_code_2d find_deformable_surface_model find_local_deformable_model find_marks_and_pose find_ncc_model find_ncc_models find_neighbors find_planar_calib_deformable_model find_planar_uncalib_deformable_model find_rectification_grid find_scaled_shape_model find_scaled_shape_models find_shape_model find_shape_model_3d find_shape_models find_surface_model find_surface_model_image find_text find_uncalib_descriptor_model fit_circle_contour_xld fit_ellipse_contour_xld fit_line_contour_xld fit_primitives_object_model_3d fit_rectangle2_contour_xld fit_surface_first_order fit_surface_second_order fitting flush_buffer fnew_line fread_char fread_line fread_serialized_item fread_string frei_amp frei_dir full_domain funct_1d_to_pairs fuzzy_entropy fuzzy_measure_pairing fuzzy_measure_pairs fuzzy_measure_pos fuzzy_perimeter fwrite_serialized_item fwrite_string gamma_image gauss_distribution gauss_filter gauss_image gen_arbitrary_distortion_map gen_bandfilter gen_bandpass gen_binocular_proj_rectification gen_binocular_rectification_map gen_box_object_model_3d gen_bundle_adjusted_mosaic gen_caltab gen_checker_region gen_circle gen_circle_contour_xld gen_circle_sector gen_contour_nurbs_xld gen_contour_polygon_rounded_xld gen_contour_polygon_xld gen_contour_region_xld gen_contours_skeleton_xld gen_cooc_matrix gen_cross_contour_xld gen_cube_map_mosaic gen_cylinder_object_model_3d gen_derivative_filter gen_disc_se gen_ellipse gen_ellipse_contour_xld gen_ellipse_sector gen_empty_obj gen_empty_object_model_3d gen_empty_region gen_filter_mask gen_gabor gen_gauss_filter gen_gauss_pyramid gen_grid_rectification_map gen_grid_region gen_highpass gen_image1 gen_image1_extern gen_image1_rect gen_image3 gen_image3_extern gen_image_const gen_image_gray_ramp gen_image_interleaved gen_image_proto gen_image_surface_first_order gen_image_surface_second_order gen_image_to_world_plane_map gen_initial_components gen_lowpass gen_mean_filter gen_measure_arc gen_measure_rectangle2 gen_nurbs_interp gen_object_model_3d_from_points gen_parallel_contour_xld gen_parallels_xld gen_plane_object_model_3d gen_polygons_xld gen_principal_comp_trans gen_projective_mosaic gen_psf_defocus gen_psf_motion gen_radial_distortion_map gen_random_region gen_random_regions gen_rectangle1 gen_rectangle2 gen_rectangle2_contour_xld gen_region_contour_xld gen_region_histo gen_region_hline gen_region_line gen_region_points gen_region_polygon gen_region_polygon_filled gen_region_polygon_xld gen_region_runs gen_sin_bandpass gen_sphere_object_model_3d gen_sphere_object_model_3d_center gen_spherical_mosaic gen_std_bandpass gen_struct_elements generalized_eigenvalues_general_matrix generalized_eigenvalues_symmetric_matrix get_aop_info get_bar_code_object get_bar_code_param get_bar_code_param_specific get_bar_code_result get_bead_inspection_param get_bg_esti_params get_calib_data get_calib_data_observ_contours get_calib_data_observ_points get_calib_data_observ_pose get_camera_setup_param get_channel_info get_chapter_info get_check get_circle_pose get_class_box_param get_class_train_data_gmm get_class_train_data_knn get_class_train_data_mlp get_class_train_data_svm get_component_model_params get_component_model_tree get_component_relations get_comprise get_compute_device_info get_compute_device_param get_contour_angle_xld get_contour_attrib_xld get_contour_global_attrib_xld get_contour_xld get_current_dir get_data_code_2d_objects get_data_code_2d_param get_data_code_2d_results get_deformable_model_contours get_deformable_model_origin get_deformable_model_params get_deformable_surface_matching_result get_deformable_surface_model_param get_descriptor_model_origin get_descriptor_model_params get_descriptor_model_points get_descriptor_model_results get_diagonal_matrix get_disp_object_model_3d_info get_display_scene_3d_info get_distance_transform_xld_contour get_distance_transform_xld_param get_domain get_draw get_drawing_object_iconic get_drawing_object_params get_error_text get_extended_error_info get_features_ocr_class_knn get_features_ocr_class_mlp get_features_ocr_class_svm get_fix get_fixed_lut get_font get_font_extents get_found_component_model get_framegrabber_callback get_framegrabber_lut get_framegrabber_param get_full_matrix get_grayval get_grayval_contour_xld get_grayval_interpolated get_hsi get_icon get_image_pointer1 get_image_pointer1_rect get_image_pointer3 get_image_size get_image_time get_image_type get_insert get_io_channel_param get_io_device_param get_keywords get_line_approx get_line_of_sight get_line_style get_line_width get_lines_xld get_lut get_lut_style get_mbutton get_mbutton_sub_pix get_message_obj get_message_param get_message_queue_param get_message_tuple get_metrology_model_param get_metrology_object_fuzzy_param get_metrology_object_indices get_metrology_object_measures get_metrology_object_model_contour get_metrology_object_num_instances get_metrology_object_param get_metrology_object_result get_metrology_object_result_contour get_modules get_mposition get_mposition_sub_pix get_mshape get_ncc_model_origin get_ncc_model_params get_ncc_model_region get_next_socket_data_type get_obj_class get_object_model_3d_params get_operator_info get_operator_name get_os_window_handle get_paint get_pair_funct_1d get_parallels_xld get_param_info get_param_names get_param_num get_param_types get_params_class_gmm get_params_class_knn get_params_class_mlp get_params_class_svm get_params_ocr_class_cnn get_params_ocr_class_knn get_params_ocr_class_mlp get_params_ocr_class_svm get_part get_part_style get_pixel get_points_ellipse get_polygon_xld get_pose_type get_prep_info_class_gmm get_prep_info_class_mlp get_prep_info_class_svm get_prep_info_ocr_class_mlp get_prep_info_ocr_class_svm get_rectangle_pose get_region_chain get_region_contour get_region_convex get_region_index get_region_points get_region_polygon get_region_runs get_region_thickness get_regress_params_xld get_regularization_params_class_mlp get_regularization_params_ocr_class_mlp get_rejection_params_class_mlp get_rejection_params_ocr_class_mlp get_rgb get_rgba get_sample_class_gmm get_sample_class_knn get_sample_class_mlp get_sample_class_svm get_sample_class_train_data get_sample_identifier_object_info get_sample_identifier_param get_sample_num_class_gmm get_sample_num_class_knn get_sample_num_class_mlp get_sample_num_class_svm get_sample_num_class_train_data get_serial_param get_serialized_item_ptr get_shape get_shape_model_3d_contours get_shape_model_3d_params get_shape_model_contours get_shape_model_origin get_shape_model_params get_sheet_of_light_param get_sheet_of_light_result get_sheet_of_light_result_object_model_3d get_size_matrix get_socket_descriptor get_socket_param get_spy get_stereo_model_image_pairs get_stereo_model_object get_stereo_model_object_model_3d get_stereo_model_param get_string_extents get_sub_matrix get_support_vector_class_svm get_support_vector_num_class_svm get_support_vector_num_ocr_class_svm get_support_vector_ocr_class_svm get_surface_matching_result get_surface_model_param get_system get_system_time get_text_model_param get_text_object get_text_result get_texture_inspection_model_image get_texture_inspection_model_param get_texture_inspection_result_object get_threading_attrib get_thresh_images_variation_model get_tposition get_training_components get_tshape get_value_matrix get_variation_model get_window_attr get_window_background_image get_window_extents get_window_param get_window_pointer3 get_window_type get_y_value_funct_1d give_bg_esti gnuplot_close gnuplot_open_file gnuplot_open_pipe gnuplot_plot_ctrl gnuplot_plot_funct_1d gnuplot_plot_image golay_elements grab_data grab_data_async grab_image grab_image_async grab_image_start gray_bothat gray_closing gray_closing_rect gray_closing_shape gray_dilation gray_dilation_rect gray_dilation_shape gray_erosion gray_erosion_rect gray_erosion_shape gray_features gray_histo gray_histo_abs gray_histo_range gray_inside gray_opening gray_opening_rect gray_opening_shape gray_projections gray_range_rect gray_skeleton gray_tophat guided_filter hamming_change_region hamming_distance hamming_distance_norm hand_eye_calibration harmonic_interpolation highpass_image histo_2dim histo_to_thresh hit_or_miss hit_or_miss_golay hit_or_miss_seq hom_mat2d_compose hom_mat2d_determinant hom_mat2d_identity hom_mat2d_invert hom_mat2d_reflect hom_mat2d_reflect_local hom_mat2d_rotate hom_mat2d_rotate_local hom_mat2d_scale hom_mat2d_scale_local hom_mat2d_slant hom_mat2d_slant_local hom_mat2d_to_affine_par hom_mat2d_translate hom_mat2d_translate_local hom_mat2d_transpose hom_mat3d_compose hom_mat3d_determinant hom_mat3d_identity hom_mat3d_invert hom_mat3d_project hom_mat3d_rotate hom_mat3d_rotate_local hom_mat3d_scale hom_mat3d_scale_local hom_mat3d_to_pose hom_mat3d_translate hom_mat3d_translate_local hom_mat3d_transpose hom_vector_to_proj_hom_mat2d hough_circle_trans hough_circles hough_line_trans hough_line_trans_dir hough_lines hough_lines_dir hysteresis_threshold illuminate image_points_to_world_plane image_to_channels image_to_world_plane import import_lexicon info_edges info_framegrabber info_ocr_class_box info_parallels_xld info_smooth init_compute_device inner_circle inner_rectangle1 inpainting_aniso inpainting_ced inpainting_ct inpainting_mcf inpainting_texture inspect_clustered_components inspect_lexicon inspect_shape_model integer_to_obj integrate_funct_1d intensity interjacent interleave_channels interpolate_scattered_data interpolate_scattered_data_image interpolate_scattered_data_points_to_image intersect_lines_of_sight intersect_plane_object_model_3d intersection intersection_circle_contour_xld intersection_circles intersection_closed_contours_xld intersection_closed_polygons_xld intersection_contours_xld intersection_line_circle intersection_line_contour_xld intersection_lines intersection_ll intersection_segment_circle intersection_segment_contour_xld intersection_segment_line intersection_segments invert_funct_1d invert_image invert_matrix invert_matrix_mod isotropic_diffusion junctions_skeleton kirsch_amp kirsch_dir label_to_region laplace laplace_of_gauss learn_class_box learn_ndim_box learn_ndim_norm learn_sampset_box length_xld line_orientation line_position linear_trans_color lines_color lines_facet lines_gauss list_files local_max local_max_contours_xld local_max_sub_pix local_min local_min_max_funct_1d local_min_sub_pix local_threshold lock_mutex log_image lookup_lexicon lowlands lowlands_center lut_trans make_dir map_image match_essential_matrix_ransac match_funct_1d_trans match_fundamental_matrix_distortion_ransac match_fundamental_matrix_ransac match_rel_pose_ransac max_diameter_object_model_3d max_image max_matrix max_parallels_xld mean_curvature_flow mean_image mean_matrix mean_n mean_sp measure_pairs measure_pos measure_profile_sheet_of_light measure_projection measure_thresh median_image median_rect median_separate median_weighted merge_cont_line_scan_xld merge_regions_line_scan midrange_image min_image min_matrix min_max_gray minkowski_add1 minkowski_add2 minkowski_sub1 minkowski_sub2 mirror_image mirror_region mod_parallels_xld modify_component_relations moments_any_points_xld moments_any_xld moments_gray_plane moments_object_model_3d moments_points_xld moments_region_2nd moments_region_2nd_invar moments_region_2nd_rel_invar moments_region_3rd moments_region_3rd_invar moments_region_central moments_region_central_invar moments_xld monotony morph_hat morph_skeleton morph_skiz move_rectangle move_region mult_element_matrix mult_element_matrix_mod mult_image mult_matrix mult_matrix_mod negate_funct_1d new_extern_window new_line noise_distribution_mean nonmax_suppression_amp nonmax_suppression_dir norm_matrix num_points_funct_1d obj_diff obj_to_integer object_model_3d_to_xyz ocr_change_char ocr_get_features open_compute_device open_file open_framegrabber open_io_channel open_io_device open_serial open_socket_accept open_socket_connect open_textwindow open_window opening opening_circle opening_golay opening_rectangle1 opening_seg optical_flow_mg optimize_aop optimize_fft_speed optimize_rft_speed orientation_points_xld orientation_region orientation_xld orthogonal_decompose_matrix overpaint_gray overpaint_region paint_gray paint_region paint_xld partition_dynamic partition_lines partition_rectangle phase_correlation_fft phase_deg phase_rad photometric_stereo plane_deviation plateaus plateaus_center point_line_to_hom_mat2d points_foerstner points_harris points_harris_binomial points_lepetit points_sojka polar_trans_contour_xld polar_trans_contour_xld_inv polar_trans_image polar_trans_image_ext polar_trans_image_inv polar_trans_region polar_trans_region_inv pose_average pose_compose pose_invert pose_to_dual_quat pose_to_hom_mat3d pose_to_quat pouring pow_element_matrix pow_element_matrix_mod pow_image pow_matrix pow_matrix_mod pow_scalar_element_matrix pow_scalar_element_matrix_mod power_byte power_ln power_real prepare_direct_variation_model prepare_object_model_3d prepare_sample_identifier prepare_variation_model prewitt_amp prewitt_dir principal_comp proj_hom_mat2d_to_pose proj_match_points_distortion_ransac proj_match_points_distortion_ransac_guided proj_match_points_ransac proj_match_points_ransac_guided project_3d_point project_hom_point_hom_mat3d project_object_model_3d project_point_hom_mat3d project_shape_model_3d projection_pl projective_trans_contour_xld projective_trans_hom_point_3d projective_trans_image projective_trans_image_size projective_trans_object_model_3d projective_trans_pixel projective_trans_point_2d projective_trans_point_3d projective_trans_region protect_ocr_trainf pruning quat_compose quat_conjugate quat_interpolate quat_normalize quat_rotate_point_3d quat_to_hom_mat3d quat_to_pose query_all_colors query_aop_info query_available_compute_devices query_bar_code_params query_calib_data_observ_indices query_color query_colored query_contour_attribs_xld query_contour_global_attribs_xld query_data_code_2d_params query_font query_gray query_insert query_io_device query_io_interface query_line_width query_lut query_mshape query_operator_info query_paint query_param_info query_params_ocr_class_cnn query_shape query_sheet_of_light_params query_spy query_tshape query_window_type radial_distortion_self_calibration radiometric_self_calibration rank_image rank_n rank_rect rank_region read_aop_knowledge read_bar_code_model read_calib_data read_cam_par read_camera_setup_model read_char read_class_box read_class_gmm read_class_knn read_class_mlp read_class_svm read_class_train_data read_component_model read_contour_xld_arc_info read_contour_xld_dxf read_data_code_2d_model read_deformable_model read_deformable_surface_model read_descriptor_model read_distance_transform_xld read_fft_optimization_data read_funct_1d read_gray_se read_image read_io_channel read_kalman read_matrix read_measure read_metrology_model read_ncc_model read_object read_object_model_3d read_ocr read_ocr_class_cnn read_ocr_class_knn read_ocr_class_mlp read_ocr_class_svm read_ocr_trainf read_ocr_trainf_names read_ocr_trainf_names_protected read_ocr_trainf_select read_ocv read_polygon_xld_arc_info read_polygon_xld_dxf read_pose read_region read_sample_identifier read_samples_class_gmm read_samples_class_mlp read_samples_class_svm read_sampset read_sequence read_serial read_shape_model read_shape_model_3d read_sheet_of_light_model read_string read_surface_model read_template read_texture_inspection_model read_training_components read_tuple read_variation_model read_world_file real_to_complex real_to_vector_field receive_data receive_image receive_region receive_serialized_item receive_tuple receive_xld reconst3d_from_fundamental_matrix reconstruct_height_field_from_gradient reconstruct_points_stereo reconstruct_surface_stereo rectangle1_domain rectangularity reduce_class_svm reduce_domain reduce_object_model_3d_by_view reduce_ocr_class_svm refine_deformable_surface_model refine_surface_model_pose refine_surface_model_pose_image region_features region_to_bin region_to_label region_to_mean regiongrowing regiongrowing_mean regiongrowing_n register_object_model_3d_global register_object_model_3d_pair regress_contours_xld rel_pose_to_fundamental_matrix release_all_compute_devices release_compute_device remove_calib_data remove_calib_data_observ remove_dir remove_noise_region remove_sample_identifier_preparation_data remove_sample_identifier_training_data remove_scene_3d_camera remove_scene_3d_instance remove_scene_3d_label remove_scene_3d_light remove_texture_inspection_model_image render_object_model_3d render_scene_3d repeat_matrix reset_fuzzy_measure reset_metrology_object_fuzzy_param reset_metrology_object_param reset_obj_db reset_sheet_of_light_model rft_generic rgb1_to_gray rgb3_to_gray rigid_trans_object_model_3d roberts robinson_amp robinson_dir rotate_image roundness run_bg_esti runlength_distribution runlength_features saddle_points_sub_pix sample_funct_1d sample_object_model_3d scale_image scale_image_max scale_matrix scale_matrix_mod scale_y_funct_1d scene_flow_calib scene_flow_uncalib screw_to_dual_quat search_operator segment_characters segment_contour_attrib_xld segment_contours_xld segment_image_mser segment_object_model_3d select_characters select_contours_xld select_feature_set_gmm select_feature_set_knn select_feature_set_mlp select_feature_set_svm select_feature_set_trainf_knn select_feature_set_trainf_mlp select_feature_set_trainf_mlp_protected select_feature_set_trainf_svm select_feature_set_trainf_svm_protected select_gray select_grayvalues_from_channels select_lines select_lines_longest select_matching_lines select_obj select_object_model_3d select_points_object_model_3d select_region_point select_region_spatial select_shape select_shape_proto select_shape_std select_shape_xld select_sub_feature_class_train_data select_xld_point send_data send_image send_mouse_double_click_event send_mouse_down_event send_mouse_drag_event send_mouse_up_event send_region send_serialized_item send_tuple send_xld serialize_bar_code_model serialize_calib_data serialize_cam_par serialize_camera_setup_model serialize_class_box serialize_class_gmm serialize_class_knn serialize_class_mlp serialize_class_svm serialize_class_train_data serialize_component_model serialize_data_code_2d_model serialize_deformable_model serialize_deformable_surface_model serialize_descriptor_model serialize_distance_transform_xld serialize_dual_quat serialize_fft_optimization_data serialize_hom_mat2d serialize_hom_mat3d serialize_image serialize_matrix serialize_measure serialize_metrology_model serialize_ncc_model serialize_object serialize_object_model_3d serialize_ocr serialize_ocr_class_cnn serialize_ocr_class_knn serialize_ocr_class_mlp serialize_ocr_class_svm serialize_ocv serialize_pose serialize_quat serialize_region serialize_sample_identifier serialize_shape_model serialize_shape_model_3d serialize_sheet_of_light_model serialize_surface_model serialize_template serialize_texture_inspection_model serialize_training_components serialize_tuple serialize_variation_model serialize_xld set_aop_info set_bar_code_param set_bar_code_param_specific set_bead_inspection_param set_bg_esti_params set_calib_data set_calib_data_calib_object set_calib_data_cam_param set_calib_data_observ_points set_calib_data_observ_pose set_camera_setup_cam_param set_camera_setup_param set_check set_class_box_param set_color set_colored set_comprise set_compute_device_param set_content_update_callback set_current_dir set_data_code_2d_param set_deformable_model_origin set_deformable_model_param set_descriptor_model_origin set_diagonal_matrix set_distance_transform_xld_param set_draw set_drawing_object_callback set_drawing_object_params set_drawing_object_xld set_feature_lengths_class_train_data set_fix set_fixed_lut set_font set_framegrabber_callback set_framegrabber_lut set_framegrabber_param set_full_matrix set_fuzzy_measure set_fuzzy_measure_norm_pair set_gray set_grayval set_hsi set_icon set_insert set_io_channel_param set_io_device_param set_line_approx set_line_style set_line_width set_local_deformable_model_metric set_lut set_lut_style set_message_obj set_message_param set_message_queue_param set_message_tuple set_metrology_model_image_size set_metrology_model_param set_metrology_object_fuzzy_param set_metrology_object_param set_mshape set_ncc_model_origin set_ncc_model_param set_object_model_3d_attrib set_object_model_3d_attrib_mod set_offset_template set_origin_pose set_paint set_params_class_knn set_part set_part_style set_pixel set_planar_calib_deformable_model_metric set_planar_uncalib_deformable_model_metric set_profile_sheet_of_light set_reference_template set_regularization_params_class_mlp set_regularization_params_ocr_class_mlp set_rejection_params_class_mlp set_rejection_params_ocr_class_mlp set_rgb set_rgba set_sample_identifier_object_info set_sample_identifier_param set_scene_3d_camera_pose set_scene_3d_instance_param set_scene_3d_instance_pose set_scene_3d_label_param set_scene_3d_light_param set_scene_3d_param set_scene_3d_to_world_pose set_serial_param set_shape set_shape_model_metric set_shape_model_origin set_shape_model_param set_sheet_of_light_param set_socket_param set_spy set_stereo_model_image_pairs set_stereo_model_param set_sub_matrix set_surface_model_param set_system set_text_model_param set_texture_inspection_model_param set_tposition set_tshape set_value_matrix set_window_attr set_window_dc set_window_extents set_window_param set_window_type sfs_mod_lr sfs_orig_lr sfs_pentland shade_height_field shape_histo_all shape_histo_point shape_trans shape_trans_xld shock_filter sigma_image signal_condition signal_event sim_caltab simplify_object_model_3d simulate_defocus simulate_motion sin_image skeleton slide_image smallest_bounding_box_object_model_3d smallest_circle smallest_circle_xld smallest_rectangle1 smallest_rectangle1_xld smallest_rectangle2 smallest_rectangle2_xld smallest_sphere_object_model_3d smooth_contours_xld smooth_funct_1d_gauss smooth_funct_1d_mean smooth_image smooth_object_model_3d sobel_amp sobel_dir socket_accept_connect solve_matrix sort_contours_xld sort_region sp_distribution spatial_relation split_contours_xld split_skeleton_lines split_skeleton_region sqrt_image sqrt_matrix sqrt_matrix_mod stationary_camera_self_calibration sub_image sub_matrix sub_matrix_mod suggest_lexicon sum_matrix surface_normals_object_model_3d svd_matrix symm_difference symm_difference_closed_contours_xld symm_difference_closed_polygons_xld symmetry system_call tan_image test_closed_xld test_equal_obj test_equal_region test_region_point test_sampset_box test_self_intersection_xld test_subset_region test_xld_point testd_ocr_class_box text_line_orientation text_line_slant texture_laws thickening thickening_golay thickening_seq thinning thinning_golay thinning_seq threshold threshold_sub_pix tile_channels tile_images tile_images_offset timed_wait_condition top_hat topographic_sketch train_class_gmm train_class_knn train_class_mlp train_class_svm train_model_components train_sample_identifier train_texture_inspection_model train_variation_model traind_ocr_class_box traind_ocv_proj trainf_ocr_class_box trainf_ocr_class_knn trainf_ocr_class_mlp trainf_ocr_class_mlp_protected trainf_ocr_class_svm trainf_ocr_class_svm_protected trans_from_rgb trans_pose_shape_model_3d trans_to_rgb transform_funct_1d transform_metrology_object translate_measure transpose_matrix transpose_matrix_mod transpose_region triangulate_object_model_3d trimmed_mean try_lock_mutex try_wait_event tuple_abs tuple_acos tuple_add tuple_and tuple_asin tuple_atan tuple_atan2 tuple_band tuple_bnot tuple_bor tuple_bxor tuple_ceil tuple_chr tuple_chrt tuple_concat tuple_cos tuple_cosh tuple_cumul tuple_deg tuple_deviation tuple_difference tuple_div tuple_environment tuple_equal tuple_equal_elem tuple_exp tuple_fabs tuple_find tuple_find_first tuple_find_last tuple_first_n tuple_floor tuple_fmod tuple_gen_const tuple_gen_sequence tuple_greater tuple_greater_elem tuple_greater_equal tuple_greater_equal_elem tuple_histo_range tuple_insert tuple_int tuple_intersection tuple_inverse tuple_is_int tuple_is_int_elem tuple_is_mixed tuple_is_number tuple_is_real tuple_is_real_elem tuple_is_string tuple_is_string_elem tuple_last_n tuple_ldexp tuple_length tuple_less tuple_less_elem tuple_less_equal tuple_less_equal_elem tuple_log tuple_log10 tuple_lsh tuple_max tuple_max2 tuple_mean tuple_median tuple_min tuple_min2 tuple_mod tuple_mult tuple_neg tuple_not tuple_not_equal tuple_not_equal_elem tuple_number tuple_or tuple_ord tuple_ords tuple_pow tuple_rad tuple_rand tuple_real tuple_regexp_match tuple_regexp_replace tuple_regexp_select tuple_regexp_test tuple_remove tuple_replace tuple_round tuple_rsh tuple_select tuple_select_mask tuple_select_range tuple_select_rank tuple_sgn tuple_sin tuple_sinh tuple_sort tuple_sort_index tuple_split tuple_sqrt tuple_str_bit_select tuple_str_first_n tuple_str_last_n tuple_strchr tuple_string tuple_strlen tuple_strrchr tuple_strrstr tuple_strstr tuple_sub tuple_substr tuple_sum tuple_symmdiff tuple_tan tuple_tanh tuple_type tuple_type_elem tuple_union tuple_uniq tuple_xor union1 union2 union2_closed_contours_xld union2_closed_polygons_xld union_adjacent_contours_xld union_cocircular_contours_xld union_collinear_contours_ext_xld union_collinear_contours_xld union_cotangential_contours_xld union_object_model_3d union_straight_contours_histo_xld union_straight_contours_xld unlock_mutex unproject_coordinates unwarp_image_vector_field update_bg_esti update_kalman update_window_pose var_threshold vector_angle_to_rigid vector_field_length vector_field_to_hom_mat2d vector_field_to_real vector_to_aniso vector_to_essential_matrix vector_to_fundamental_matrix vector_to_fundamental_matrix_distortion vector_to_hom_mat2d vector_to_hom_mat3d vector_to_pose vector_to_proj_hom_mat2d vector_to_proj_hom_mat2d_distortion vector_to_rel_pose vector_to_rigid vector_to_similarity volume_object_model_3d_relative_to_plane wait_barrier wait_condition wait_event wait_seconds watersheds watersheds_threshold wiener_filter wiener_filter_ni write_aop_knowledge write_bar_code_model write_calib_data write_cam_par write_camera_setup_model write_class_box write_class_gmm write_class_knn write_class_mlp write_class_svm write_class_train_data write_component_model write_contour_xld_arc_info write_contour_xld_dxf write_data_code_2d_model write_deformable_model write_deformable_surface_model write_descriptor_model write_distance_transform_xld write_fft_optimization_data write_funct_1d write_image write_io_channel write_lut write_matrix write_measure write_metrology_model write_ncc_model write_object write_object_model_3d write_ocr write_ocr_class_knn write_ocr_class_mlp write_ocr_class_svm write_ocr_trainf write_ocr_trainf_image write_ocv write_polygon_xld_arc_info write_polygon_xld_dxf write_pose write_region write_sample_identifier write_samples_class_gmm write_samples_class_mlp write_samples_class_svm write_serial write_shape_model write_shape_model_3d write_sheet_of_light_model write_string write_surface_model write_template write_texture_inspection_model write_training_components write_tuple write_variation_model x_range_funct_1d xyz_to_object_model_3d y_range_funct_1d zero_crossing zero_crossing_sub_pix zero_crossings_funct_1d zoom_image_factor zoom_image_size zoom_region';\n\t\n    var reservedFunctions = 'H_MSG_FAIL H_MSG_FALSE H_MSG_TRUE H_MSG_VOID H_TYPE_ANY H_TYPE_INT H_TYPE_MIXED H_TYPE_REAL H_TYPE_STRING abs acos and asin atan atan2 band bnot bor bxor ceil chr chrt cos cosh cumul deg deviation environment exp fabs false find floor fmod gen_tuple_const int inverse is_int is_int_elem is_mixed is_number is_real is_real_elem is_string is_string_elem ldexp log log10 lsh max max2 mean median min min2 not or ord ords par_start pow rad rand real regexp_match regexp_replace regexp_select regexp_test remove replace round rsh select_mask select_rank sgn sin sinh sort sort_index split sqrt strchr strlen strrchr strrstr strstr subset sum tan tanh true type type_elem uniq xor';\n\t\n\tvar reservedControl = 'assign assign_at break case catch comment continue convert_tuple_to_vector_1d convert_vector_to_tuple default else elseif endfor endif endswitch endtry endwhile executable_expression exit export_def for global if ifelse import insert par_join repeat return stop switch throw try until while';\n\t\n\tthis.regexList = [\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n\t{\n      regex: new RegExp(this.getKeywords(ops), 'gm'),\n      css: 'color1'\n    },\n\t{\n      regex: new RegExp(this.getKeywords(reservedFunctions), 'gm'),\n      css: 'functions'\n    },\n\t{\n      regex: new RegExp(this.getKeywords(reservedControl)+'|:=', 'gm'),\n      css: 'keyword'\n    },\n\t{\n      regex: new RegExp(/\\*.*/, 'gm'),\n      css: 'comments'\n    }\n    ];\n\n  \n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['halcon','hdevelop','hdev'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-halcon/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords =  'ABS ACOS ACTION ADD AND ANDN ANY ANY_BIT ANY_DATE ANY_INT ANY_NUM ANY_REAL ARRAY ASIN AT ATAN ' +\n                  'BOOL BY BYTE ' +\n                  'CAL CALC CALCN CASE CD CDT CLK CONCAT CONFIGURATION CONSTANT COS CTD CTU CTUD CU CV ' +\n                  'D DATE DATE_AND_TIME DELETE DINT DIV DO DS DT DWORD '+\n                  'ELSE ELSIF END_ACTION END_CASE END_CONFIGURATION END_FOR END_FUNCTION END_FUNCTION_BLOCK END_IF END_PROGRAM END_REPEAT END_RESOURCE END_STEP END_STRUCT END_TRANSITION END_TYPE END_VAR END_WHILE EN ENO EQ ET EXIT EXP EXPT '+\n                  'FALSE F_EDGE F_TRIG FIND FOR FROM FUNCTION FUNCTION_BLOCK '+\n                  'GE GT'+\n                  'IF IN INITIAL_STEP INSERT INT INTERVAL '+\n                  'JMP JMPC JMPCN '+\n                  'L LD LDN LE LEFT LEN LIMIT LINT LN LOG LREAL LT LWORD '+\n                  'MAX MID MIN MOD MOVE MUL MUX '+\n                  'N NE NEG NOT '+\n                  'OF ON OR OEN '+\n                  'P PRIORITY PROGRAM PT PV '+\n                  'Q Q1 QU QD '+\n                  'R R1 R_TRIG READ_ONLY READ_WRITE REAL RELEASE REPEAT REPLACE RESOURCE RET RETAIN RETC RTCN RETURN RIGHT ROL ROR RS RTC R_EDGE '+\n                  'S S1 SD SEL SEMA SHL SHR SIN SINGLE SINT SL SQRT SR ST STEP STN STRING STRUCT SUB '+\n                  'TAN TASK THEN TIME TIME_OF_DAY TO TOD TOF TON TP TRANSITION TRUE TYPE '+\n                  'UDINT UINT ULINT UNTIL USINT '+\n                  'VAR VAR_ACCESS VAR_EXTERNAL VAR_GLOBAL VAR_INPUT VAR_IN_OUT VAR_OUTPUT '+\n                  'WHILE WITH WORD '+\n                  'XOR XORN';\n\n  this.regexList = [\n    {\n      //time literal\n      regex: /(T|t|TIME|time)(?=.*([hms]|[HMS]))#(\\d+(h|H))?(\\d+(m|M))?(\\d+(s|s))?(\\d+(ms|MS))?/g,\n      css: 'color2'\n    },\n    {\n      // date and time literal\n      regex: /(DT|dt|date_and_time|DATE_AND_TIME)#\\d{4}-\\d{2}-\\d{2}-\\d{2}:\\d{2}:\\d{2}\\.\\d{2}/g,\n      css: 'color2'\n    },\n    {\n      // time of day literal\n      regex: /(TOD|tod|time_of_day|TIME_OF_DAY)#\\d+:\\d+(:\\d+)?((\\.\\d+)|(\\.?))/g,\n      css: 'color2'\n    },\n    {\n      //date literal\n      regex: /(D|d|DATE|date)#\\d{4}-\\d{2}-\\d{2}/g,\n      css: 'color2'\n    },\n    {\n      //direct adressing\n      regex: /%[A-Z]{1,2}\\d+(\\.\\d+)*/g,\n      css: 'color2'\n    },\n    {\n      //multiline comment (* *)\n      regex: /\\(\\*[\\s\\S]*?\\*\\)/gm,\n      css: 'comments'\n    },\n    {\n      //string literal 'myvalue'\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      //number integers, floating point with dot or exponential\n      regex: /\\b\\d+([\\.eE]\\d+)?\\b/g,\n      css: 'value'\n    },\n    {\n      //keywords\n      regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n      css: 'keyword'\n    }];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['structuredtext', 'ST', 'IEC61131','st','iec61131'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-IEC61131/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n  var keywords = 'abstract annotation as break by catch class companion const constructor continue' +\n                 ' crossinline data do dynamic else enum external false final finally for fun get if' +\n                 ' import in infix init inline inner interface internal is lateinit noinline null object' +\n                 ' open operator out override package private protected public reified return sealed' +\n                 ' set super tailrec this throw trait true try type val var vararg when where while' +\n                 ' String Array Unit Int';\n\n  this.regexList = [\n    {\n      // line comment\n      regex: regexLib.singleLineCComments,\n      css: 'comments'\n    },\n    {\n      // block comment\n      regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n      css: 'comments'\n    },\n    {\n      // javadoc\n      regex: /\\/\\*(?!\\*\\/)\\*[\\s\\S]*?\\*\\//gm,\n      css: 'preprocessor'\n    },\n    {\n      regex: regexLib.doubleQuotedString,\n      css: 'string'\n    },\n    {\n      regex: regexLib.singleQuotedString,\n      css: 'string'\n    },\n    {\n      // numbers\n      regex: /\\b([\\d]+(\\.[\\d]+)?f?|[\\d]+l?|0x[a-f0-9]+)\\b/gi,\n      css: 'value'\n    },\n    {\n      // annotations\n      regex: /\\@(Target|Retention|Repeatable|MustBeDocumented|Test|Deprecated)/g,\n      css: 'color2'\n    },\n    { \n      // User-site targets\n      regex: /\\@(file|property|field|get|set|receiver|param|setparam|delegate):/g,\n      css: 'color2'\n    },  \n    { \n      // @Inject annotation\n      regex: /\\@(Inject)\\b/g,\n      css: 'color3'\n    },\n    {\n      regex: new RegExp(this.getKeywords(keywords), 'gm'),\n      css: 'keyword'\n    }\n  ];\n\n  this.forHtmlScript({\n    left: /(&lt;|<)%[@!=]?/g,\n    right: /%(&gt;|>)/g\n  });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['kotlin'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-kotlin/brush.js","/**\n * SyntaxHighlighter LaTeX Brush by DiGMi\n * http://digmi.org\n *\n * Used for SyntaxHighlighter which can be found at:\n * http://alexgorbatchev.com/SyntaxHighlighter\n *\n * @version\n * 1.0.0 (July 21 2012)\n * \n * @copyright\n * Copyright (C) 2012 Or Dagmi.\n *               2016 Erik Wegner\n */\nvar BrushBase = require('brush-base');\n \nfunction Brush()\n{\n\tvar keywords =\t'if fi then elif else for do done until while break continue case function return in eq ne gt lt ge le';\n\tvar specials =  'include usepackage begin end ref label includegraphics';\n\n\tthis.regexList = [\n\n\t\t{ regex: /%.*$/gm,\n\t\t    css: 'comments' },\n\n\t\t{ regex: /\\$[\\s\\S]*?\\$/gm,\n\t\t    css: 'string' },\n\n\t\t{ regex: /\\\\\\w+/gm, // Command\n\t\t    css: 'keyword' },\n            \n           { regex: /\\{.*}/gm, // Parameter\n\t\t    css: 'color2' },\n           { regex: /\\[.*]/gm, // Optional Parameter\n\t    css: 'color3' },\n\n\t\t{ regex: new RegExp(this.getKeywords(specials), 'gm'), css: 'color3' },\n\t\t{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['latex'];\nmodule.exports = Brush;\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-latex/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nfunction Brush() {\n    var functions =  'subst patsubst strip findstring filter filter-out sort dir notdir suffix basename addsuffix addprefix join word wordlist words firstword wildcard foreach origin shell'; \n    var constants = 'PHONY SUFFIXES DEFAULT PRECIOUS INTERMEDIATE SECONDARY IGNORE SILENT EXPORT_ALL_VARIABLES';\n    this.regexList = [\n        { regex: regexLib.singleLinePerlComments, css: 'comments' },  // one line comments\n        { regex: regexLib.doubleQuotedString, css: 'string' }, // double quoted strings\n        { regex: regexLib.singleQuotedString, css: 'string' }, // single quoted strings\n        { regex: /\\$\\([^\\@%<\\?\\^\\+\\*]\\w+\\)/gm,             css: 'variable' },  // 変数\n        { regex: /((\\$\\(?[\\@%<\\?\\^\\+\\*](D\\)|F\\))*)|%|\\$&lt;)/gm,    css: 'keyword' },   // 自動変数\n        { regex: new RegExp(this.getKeywords(functions), 'gm'),   css: 'functions' }, // テキスト変形関数\n        { regex: new RegExp(this.getKeywords(constants), 'gm'),   css: 'constants' }  // ビルトインターゲット名  \n    ];\n}\nBrush.prototype = new BrushBase();\nBrush.aliases = ['Makefile'];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-Makefile/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\nvar keywords = 'alias break case catch catchQuiet continue default do else false float for global if in int matrix proc return source string switch true vector while';\nvar functions = 'aaf2fcp about abs addAttr addDynamic addExtension addMetadata addPP affectedNet affects aimConstraint air aliasAttr align alignCtx alignCurve alignSurface allNodeTypes ambientLight angle angleBetween animCurveEditor animDisplay animLayer animView annotate applyAttrPattern applyMetadata applyTake arclen arcLenDimContext arcLengthDimension arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assembly assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attributeInfo attributeMenu attributeName attributeQuery attrNavigationControlGrp audioTrack autoKeyframe autoPlace autoSave bakeClip bakePartialHistory bakeResults bakeSimulation baseTemplate baseView batchRender bevel bevelPlus bezierAnchorPreset bezierAnchorState bezierCurveToNurbs bezierInfo bindSkin binMembership blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip cacheFile cacheFileCombine cacheFileMerge cacheFileTrack callbacks camera cameraSet cameraView canCreateCaddyManip canCreateManip canvas ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterize characterMap chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipMatching clipSchedule clipSchedulerOutliner closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorInputWidgetGrp colorManagementCatalog colorManagementFileRules colorManagementPrefs colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandLogging commandPort componentBox componentEditor condition cone confirmDialog connectAttr connectControl connectDynamic connectionInfo connectJoint constrain constrainValue constructionHistory container containerBind containerProxy containerPublish containerTemplate containerView contextInfo control convertIffToPsd convertSolidTx convertTessellation convertUnit copyAttr copyDeformerWeights copyFlexor copyKey copySkinWeights cos createAttrPatterns createDisplayLayer createEditor createLayeredPsdFile createNode createRenderLayer createSubdivRegion cross ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEditorCtx curveEPCtx curveIntersect curveMoveEPCtx curveOnSurface curveRGBColor curveSketchCtx cutKey cycleCheck cylinder dagObjectCompare dagPose dataStructure date dbcount dbmessage dbpeek dbtrace defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deformerWeights deg_to_rad delete deleteAttr deleteAttrPattern deleteExtension deleteUI delrandstr deltaMush detachCurve detachDeviceAttr detachSurface deviceEditor deviceManager devicePanel dgdirty dgeval dgfilter dgInfo dgmodified dgtimer dimWhen directionalLight directKeyCtx dirmap disable disableIncorrectNameWarning disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dockControl dolly dollyCtx dopeSheetEditor dot doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynamicLoad dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref editDisplayLayerGlobals editDisplayLayerMembers editMetadata editor editorTemplate editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers effector emit emitter enableDevice encodeString env erf error eval evalDeferred evalEcho evalNoSelectNotify evaluationManager evaluator event exactWorldBoundingBox exclusiveLightCheckBox exec exists exp exportEdits expression expressionEditorListen extendCurve extendSurface extrude falloffCurve fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileDialog2 fileInfo filePathEditor filetest filletCurve filter filterCurve filterExpand filterStudioImport findKeyframe findType fitBspline flexor floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow flowLayout fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen format formLayout fprint frameBufferName frameLayout fread freadAllLines freadAllText freeFormFillet frewind fwrite fwriteAllLines fwriteAllText gamma gauss geomBind geometryConstraint geomToBBox getAttr getClassification getDefaultBrush getenv getFileList getFluidAttr getInputDeviceRange getLastError getMetadata getModifiers getModulePath getPanel getParticleAttr getpid getProcArguments getRenderDependencies getRenderTasks globalStitch glRender glRenderEditor gmatch goal grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity greasePencilCtx grid gridLayout group hardenPointCurve hardware hardwareRenderPanel hasMetadata headsUpDisplay headsUpMessage help helpLine hermite hide hikGlobals hilite hitTest hotBox hotkey hotkeyCheck hotkeyCtx hotkeyEditorPanel hotkeySet hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikfkDisplayMethod ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo illustratorCurves image imagePlane imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer internalVar intersect intField intFieldGrp intScrollBar intSlider intSliderGrp inViewEditor inViewMessage iprEngine isConnected isDirty isolateSelect isTrue itemFilter itemFilterAttr itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats keyingGroup keyTangent lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog license lightlink lightList linearPrecision linstep listAnimatable listAttr listAttrPatterns listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listNodesWithIncorrectNames listNodeTypes listRelatives listSets loadFluid loadModule loadPlugin loadPrefObjects loadUI lockNode loft log lookThru ls lsThroughFilter lsUI mag makebot makeIdentity makeLive makePaintable makeSingleSurface manipMoveContext manipMoveLimitsCtx manipOptions manipPivot manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max maxfloat maxint mayaDpiSetting melInfo melOptions memory menu menuBarLayout menuEditor menuItem menuSet menuSetPref messageLine min minfloat minimizeApp minint mirrorJoint modelCurrentTimeCtx modelEditor modelPanel moduleInfo mouse move moveKeyCtx moveVertexAlongDirection movieInfo movIn movOut multiProfileBirailSurface multiTouch mute nameCommand nameField namespace namespaceInfo nBase newton nodeCast nodeEditor nodeIconButton nodeOutliner nodePreset nodeTreeLister nodeType noise nonLinear normalConstraint nParticle nSoft nurbsBoolean nurbsCopyUVSet nurbsCube nurbsCurveToBezier nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet objectCenter objectType objectTypeUI objExists offsetCurve offsetCurveOnSurface offsetSurface ogs ogsRender openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort panel paneLayout panelConfiguration panelHistory panZoom panZoomCtx paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleFill particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose perCameraVisibility percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast pluginDisplayFilter pluginInfo pointConstraint pointCurveConstraint pointLight pointOnCurve pointOnPolyConstraint pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBevel3 polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCBoolOp polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorMod polyColorPerVertex polyColorSet polyCompare polyCone polyConnectComponents polyContourProjection polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditEdgeFlow polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyHole polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyMultiLayoutUV polyNormal polyNormalizeUV polyNormalPerVertex polyOptions polyOptUvs polyOutput polyPinUV polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjectCurve polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polyRemesh polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySlideEdge polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitCtx2 polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyTorus polyToSubdiv polyTransfer polyTriangulate polyUnite polyUniteSkinned polyUVRectangle polyUVSet polyWedgeFace popen popupMenu pose pow preloadRefEd prepareRender print profiler profilerTool progressBar progressWindow projectCurve projectionContext projectionManip projectTangent promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshEditorTemplates regionSelectKeyCtx rehash relationship reloadImage removeJoint removeMultiInstance rename renameAttr renameUI render renderer renderGlobalsNode renderInfo renderLayerPostProcess renderManip renderPartition renderPassRegistry renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext reorder reorderContainer reorderDeformers requires reroot resampleFluid resetTool resolutionNode resourceManager retimeKeyCtx reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings saveViewportSettings scale scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptedPanel scriptedPanelType scriptJob scriptNode scriptTable scrollField scrollLayout sculpt sculptMeshCacheCtx sculptTarget seed select selectContext selectedNodes selectionConnection selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selLoadSettings separator sequenceManager setAttr setAttrMapping setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyframe setKeyframeBlendshapeTargetWts setKeyPath setMenuMode setNodeTypeFlag setParent setParticleAttr setRenderPassType sets setStartupMessage setToolTo setUITemplate setXformManip shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shot shotRipple shotTrack showHelp showHidden showManipCtx showMetadata showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinBindCtx skinCluster skinPercent smoothCurve smoothstep smoothTangentSurface snapKey snapMode snapshot snapshotBeadCtx snapshotModifyKeyCtx snapTogetherCtx soft softMod softModCtx softSelect soloMaterial sort sortCaseInsensitive sound soundControl spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace stereoCameraView stereoRigManager stitchSurface stitchSurfacePoints strcmp stringArrayIntersector stringArrayRemove stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdiv subdivCrease subdivDisplaySmoothness subdLayoutUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdPlanarProjection subdToBlind subdToPoly subdTransferUVsToCache substitute substituteGeometry substring suitePrefs surface surfaceSampler surfaceShaderList swatchDisplayPort swatchRefresh switchTable symbolButton symbolCheckBox symmetricModelling sysFile system tabLayout tan tangentConstraint targetWeldCtx texCutContext texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSculptCacheContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textureDeformer texturePlacementContext textureWindow texTweakUVContext texWinToolCtx threadCount threePointArcCtx timeCode timeControl timePort timer timerX timeWarp toggle toggleAxis toggleWindowVisibility tokenize tolerance tolower toolBar toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transferShadingSets transformCompare transformLimits translator treeLister treeView trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx ubercam uiTemplate unassignInputDevice undo undoInfo unfold ungroup uniform unit unknownNode unknownPlugin unloadPlugin untangleUV untrim upAxis userCtx uvLink uvSnapshot vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor vnn vnnCompound vnnConnect volumeAxis volumeBind vortex waitCursor walkCtx warning webBrowser webBrowserPrefs webView whatIs whatsNewHighlight window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xform xformConstraint xpmPicker';\n\tthis.regexList = [\n\t\t{regex: regexLib.singleLineCComments, css: 'comments'},\n\t\t{regex: regexLib.multiLineCComments, css: 'color1'},\n\t\t{regex: regexLib.doubleQuotedString, css: 'string'},\n\t\t{regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions italic'},\n\t\t{regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword'}\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['mel'];\nmodule.exports = Brush;\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-mel/brush.js","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n\tvar datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR '\n\t\t\t+ 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH '\n\t\t\t+ 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP '\n\t\t\t+ 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY '\n\t\t\t+ 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT '\n\t\t\t+ 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE '\n\t\t\t+ 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF '\n\t\t\t+ 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR '\n\t\t\t+ 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR '\n\t\t\t+ 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT '\n\t\t\t+ 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 '\n\t\t\t+ 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR '\n\t\t\t+ 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 '\n\t\t\t+ 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT '\n\t\t\t+ 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG '\n\t\t\t+ 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM '\n\t\t\t+ 'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t '\n\t\t\t+ 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS '\n\t\t\t+ 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t '\n\t\t\t+ '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t id '\n\t\t\t+ 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler '\n\t\t\t+ 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function '\n\t\t\t+ 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf '\n\t\t\t+ 'va_list wchar_t wctrans_t wctype_t wint_t signed';\n\n\tvar keywords = 'break case catch class copy const __finally __exception __try '\n\t\t\t+ 'const_cast continue private public protected __declspec '\n\t\t\t+ 'default delete deprecated dllexport dllimport do dynamic_cast '\n\t\t\t+ 'else enum explicit extern if for friend getter goto inline '\n\t\t\t+ 'mutable naked namespace new nil NO noinline nonatomic noreturn nothrow NULL '\n\t\t\t+ 'readonly readwrite register reinterpret_cast retain return SEL selectany self '\n\t\t\t+ 'setter sizeof static static_cast struct super switch template this '\n\t\t\t+ 'thread throw true false try typedef typeid typename union '\n\t\t\t+ 'using uuid virtual void volatile whcar_t while YES';\n\n\tvar functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint'\n\t\t\t+ 'ispunct isspace isupper isxdigit tolower toupper errno localeconv '\n\t\t\t+ 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod '\n\t\t\t+ 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf '\n\t\t\t+ 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start '\n\t\t\t+ 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen '\n\t\t\t+ 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell '\n\t\t\t+ 'fwrite getc getchar gets perror printf putc putchar puts remove '\n\t\t\t+ 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam '\n\t\t\t+ 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol '\n\t\t\t+ 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs '\n\t\t\t+ 'mbtowc qsort rand realloc srand strtod strtol strtoul system '\n\t\t\t+ 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr '\n\t\t\t+ 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp '\n\t\t\t+ 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime '\n\t\t\t+ 'clock ctime difftime gmtime localtime mktime strftime time';\n\n\tthis.regexList = [ {\n\t\tregex : regexLib.singleLineCComments,\n\t\tcss : 'comments'\n\t}, {\n\t\tregex : regexLib.multiLineCComments,\n\t\tcss : 'comments'\n\t}, {\n\t\tregex : regexLib.doubleQuotedString,\n\t\tcss : 'string'\n\t}, {\n\t\tregex : regexLib.singleQuotedString,\n\t\tcss : 'string'\n\t}, {\n\t\tregex : /^ *#.*/gm,\n\t\tcss : 'preprocessor'\n\t}, {\n\t\tregex : /^#!.*$/gm,\n\t\tcss : 'preprocessor'\n\t}, {\n\t\tregex : new RegExp(this.getKeywords(datatypes), 'gm'),\n\t\tcss : 'keyword bold'\n\t}, {\n\t\tregex : new RegExp(this.getKeywords(functions), 'gm'),\n\t\tcss : 'functions bold'\n\t}, {\n\t\tregex : new RegExp(this.getKeywords(keywords), 'gm'),\n\t\tcss : 'keyword bold'\n\t}, {\n\t\tregex : new RegExp('\\\\bNS\\\\w+\\\\b', 'gm'),\n\t\tcss : 'keyword bold'\n\t}, {\n\t\tregex : new RegExp('\\\\bUI\\\\w+\\\\b', 'gm'),\n\t\tcss : 'keyword bold'\n\t}, {\n\t\tregex : new RegExp('\\\\bIB\\\\w+\\\\b', 'gm'),\n\t\tcss : 'keyword bold'\n\t}, {\n\t\tregex : new RegExp('@\\\\w+\\\\b', 'gm'),\n\t\tcss : 'keyword bold'\n\t}, ];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = [ 'objective-c', 'obj-c', 'objc', 'oc' ];\nmodule.exports = Brush;\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-objective-c/brush.js","/**\n * Yaml Brush for SyntaxHighlighter\n *\n * ppepin@rentpath.com\n * erik.wegner@ewus.de\n *\n */\nvar BrushBase = require('brush-base');\n \nfunction Brush()\n{\n    // Yaml Brush\n  \n    var constants   = '~ true false on off';\n\n    var regexLib = require('syntaxhighlighter-regex').commonRegExp;\n     \n    this.regexList = [\n        { regex: regexLib.singleLinePerlComments, css: 'comments' },      // comment\n        { regex: regexLib.doubleQuotedString,     css: 'string' },        // double quoted string\n        { regex: regexLib.singleQuotedString,     css: 'string' },        // single quoted string\n        { regex: /^\\s*([a-z0-9\\._-])+\\s*:/gmi,                      css: 'variable' },      // key\n        { regex: /\\s?(\\.)([a-z0-9\\._-])+\\s?:/gmi,                   css: 'comments' },      // section\n        { regex: /\\s(@|:)([a-z0-9\\._-])+\\s*$/gmi,                   css: 'variable bold' }, // variable, reference\n        { regex: /\\s+\\d+\\s?$/gm,                                    css: 'color2 bold' },   // integers\n        { regex: /(\\{|\\}|\\[|\\]|,|~|:)/gm,                           css: 'constants' },     // inline hash and array, comma, null\n        { regex: /^\\s+(-)+/gm,                                      css: 'string bold' },   // array list entry\n        { regex: /^---/gm,                                          css: 'string bold' },   // category\n        { regex: new RegExp(this.getKeywords(constants), 'gmi'),    css: 'constants' }      // constants\n    ];\n \n    this.forHtmlScript(regexLib.phpScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['yaml', 'yml'];\nmodule.exports = Brush;\n\n\n\n\n// WEBPACK FOOTER //\n// ./repos/brush-yaml/brush.js","/*!\n  * domready (c) Dustin Diaz 2014 - License MIT\n  */\n!function (name, definition) {\n\n  if (typeof module != 'undefined') module.exports = definition()\n  else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n  else this[name] = definition()\n\n}('domready', function () {\n\n  var fns = [], listener\n    , doc = document\n    , hack = doc.documentElement.doScroll\n    , domContentLoaded = 'DOMContentLoaded'\n    , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n  if (!loaded)\n  doc.addEventListener(domContentLoaded, listener = function () {\n    doc.removeEventListener(domContentLoaded, listener)\n    loaded = 1\n    while (listener = fns.shift()) listener()\n  })\n\n  return function (fn) {\n    loaded ? setTimeout(fn, 0) : fns.push(fn)\n  }\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/domready/ready.js","export const string = value =>\n  value\n    .replace(/^([A-Z])/g, (_, character) => character.toLowerCase())\n    .replace(/([A-Z])/g, (_, character) => '-' + character.toLowerCase());\n\nexport const object = value => {\n  const result = {};\n  Object.keys(value).forEach(key => result[string(key)] = value[key]);\n  return result;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/dasherize.js","// Compatability layer to support V3 brushes. This file is only included when `--compat`\n// flag is passed to the `gulp build` command.\n\nimport core from './core';\nwindow.SyntaxHighlighter = core;\n\nif (typeof window.XRegExp === 'undefined') {\n  window.XRegExp = require('syntaxhighlighter-regex').XRegExp;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/compatibility_layer_v3.js"],"sourceRoot":""}