!(function (n) { function e(n, e) { return RegExp( n .replace(//g, function () { return '(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})'; }) .replace(//g, function () { return '(?:\\)|\\((?![^|()\n]+\\)))'; }), e || '' ); } var i = { css: { pattern: /\{[^{}]+\}/, inside: { rest: n.languages.css } }, 'class-id': { pattern: /(\()[^()]+(?=\))/, lookbehind: !0, alias: 'attr-value', }, lang: { pattern: /(\[)[^\[\]]+(?=\])/, lookbehind: !0, alias: 'attr-value', }, punctuation: /[\\\/]\d+|\S/, }, t = (n.languages.textile = n.languages.extend('markup', { phrase: { pattern: /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/, lookbehind: !0, inside: { 'block-tag': { pattern: e('^[a-z]\\w*(?:||[<>=])*\\.'), inside: { modifier: { pattern: e('(^[a-z]\\w*)(?:||[<>=])+(?=\\.)'), lookbehind: !0, inside: i, }, tag: /^[a-z]\w*/, punctuation: /\.$/, }, }, list: { pattern: e('^[*#]+*\\s+\\S.*', 'm'), inside: { modifier: { pattern: e('(^[*#]+)+'), lookbehind: !0, inside: i, }, punctuation: /^[*#]+/, }, }, table: { pattern: e( '^(?:(?:||[<>=^~])+\\.\\s*)?(?:\\|(?:(?:||[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:||[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|', 'm' ), inside: { modifier: { pattern: e( '(^|\\|(?:\r?\n|\r)?)(?:||[<>=^~_]|[\\\\/]\\d+)+(?=\\.)' ), lookbehind: !0, inside: i, }, punctuation: /\||^\./, }, }, inline: { pattern: e( '(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])*.+?\\2(?![a-zA-Z\\d])' ), lookbehind: !0, inside: { bold: { pattern: e('(^(\\*\\*?)*).+?(?=\\2)'), lookbehind: !0, }, italic: { pattern: e('(^(__?)*).+?(?=\\2)'), lookbehind: !0, }, cite: { pattern: e('(^\\?\\?*).+?(?=\\?\\?)'), lookbehind: !0, alias: 'string', }, code: { pattern: e('(^@*).+?(?=@)'), lookbehind: !0, alias: 'keyword', }, inserted: { pattern: e('(^\\+*).+?(?=\\+)'), lookbehind: !0, }, deleted: { pattern: e('(^-*).+?(?=-)'), lookbehind: !0 }, span: { pattern: e('(^%*).+?(?=%)'), lookbehind: !0 }, modifier: { pattern: e('(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])+'), lookbehind: !0, inside: i, }, punctuation: /[*_%?@+\-^~]+/, }, }, 'link-ref': { pattern: /^\[[^\]]+\]\S+$/m, inside: { string: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: !0 }, url: { pattern: /(^\])\S+$/, lookbehind: !0 }, punctuation: /[\[\]]/, }, }, link: { pattern: e('"*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'), inside: { text: { pattern: e('(^"*)[^"]+(?=")'), lookbehind: !0 }, modifier: { pattern: e('(^")+'), lookbehind: !0, inside: i }, url: { pattern: /(:).+/, lookbehind: !0 }, punctuation: /[":]/, }, }, image: { pattern: e( '!(?:||[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?' ), inside: { source: { pattern: e( '(^!(?:||[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)' ), lookbehind: !0, alias: 'url', }, modifier: { pattern: e('(^!)(?:||[<>=])+'), lookbehind: !0, inside: i, }, url: { pattern: /(:).+/, lookbehind: !0 }, punctuation: /[!:]/, }, }, footnote: { pattern: /\b\[\d+\]/, alias: 'comment', inside: { punctuation: /\[|\]/ }, }, acronym: { pattern: /\b[A-Z\d]+\([^)]+\)/, inside: { comment: { pattern: /(\()[^()]+(?=\))/, lookbehind:
(Prism.languages.chaiscript = Prism.languages.extend('clike', {
  string: {
    pattern: /(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,
    lookbehind: !0,
    greedy: !0,
  },
  'class-name': [
    { pattern: /(\bclass\s+)\w+/, lookbehind: !0 },
    { pattern: /(\b(?:attr|def)\s+)\w+(?=\s*::)/, lookbehind: !0 },
  ],
  keyword:
    /\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,
  number: [Prism.languages.cpp.number, /\b(?:Infinity|NaN)\b/],
  operator:
    />>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/,
})),
  Prism.languages.insertBefore('chaiscript', 'operator', {
    'parameter-type': {
      pattern: /([,(]\s*)\w+(?=\s+\w)/,
      lookbehind: !0,
      alias: 'class-name',
    },
  }),
  Prism.languages.insertBefore('chaiscript', 'string', {
    'string-interpolation': {
      pattern:
        /(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,
      lookbehind: !0,
      greedy: !0,
      inside: {
        interpolation: {
          pattern:
            /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,
          lookbehind: !0,
          inside: {
            'interpolation-expression': {
              pattern: /(^\$\{)[\s\S]+(?=\}$)/,
              lookbehind: !0,
              inside: Prism.languages.chaiscript,
            },
            'interpolation-punctuation': {
              pattern: /^\$\{|\}$/,
              alias: 'punctuation',
            },
          },
        },
        string: /[\s\S]+/,
      },
    },
  });