text: /* eslint-disable */
  window.PR_SHOULD_USE_CONTINUATION = true;
  (function() {
      var h = ['break,continue,do,else,for,if,return,while'];
      var u = [
          h,
          'auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile',
      ];
      var p = [
          u,
          'catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof',
      ];
      var l = [
          p,
          'alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where',
      ];
      var x = [
          p,
          'abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient',
      ];
      var R = [
          x,
          'as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var',
      ];
      var r =
          'all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes';
      var w = [
          p,
          'debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN',
      ];
      var s =
          'caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END';
      var I = [
          h,
          'and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None',
      ];
      var f = [
          h,
          'alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END',
      ];
      var H = [h, 'case,done,elif,esac,eval,fi,function,in,local,set,then,until'];
      var A = [l, R, w, s + I, f, H];
      var e = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;
      var C = 'str';
      var z = 'kwd';
      var j = 'com';
      var O = 'typ';
      var G = 'lit';
      var L = 'pun';
      var F = 'pln';
      var m = 'tag';
      var E = 'dec';
      var J = 'src';
      var P = 'atn';
      var n = 'atv';
      var N = 'nocode';
      var M =
          '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
      function k(Z) {
          var ad = 0;
          var S = false;
          var ac = false;
          for (var V = 0, U = Z.length; V < U; ++V) {
              var ae = Z[V];
              if (ae.ignoreCase) {
                  ac = true;
              } else {
                  if (
                      /[a-z]/i.test(
                          ae.source.replace(
                              /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,
                              '',
                          ),
                      )
                  ) {
                      S = true;
                      ac = false;
                      break;
                  }
              }
          }
          var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 };
          function ab(ah) {
              var ag = ah.charCodeAt(0);
              if (ag !== 92) {
                  return ag;
              }
              var af = ah.charAt(1);
              ag = Y[af];
              if (ag) {
                  return ag;
              } else {
                  if ('0' <= af && af <= '7') {
                      return parseInt(ah.substring(1), 8);
                  } else {
                      if (af === 'u' || af === 'x') {
                          return parseInt(ah.substring(2), 16);
                      } else {
                          return ah.charCodeAt(1);
                      }
                  }
              }
          }
          function T(af) {
              if (af < 32) {
                  return (af < 16 ? '\\x0' : '\\x') + af.toString(16);
              }
              var ag = String.fromCharCode(af);
              if (ag === '\\' || ag === '-' || ag === '[' || ag === ']') {
                  ag = '\\' + ag;
              }
              return ag;
          }
          function X(am) {
              var aq = am
                  .substring(1, am.length - 1)
                  .match(
                      new RegExp(
                          '\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]',
                          'g',
                      ),
                  );
              var ak = [];
              var af = [];
              var ao = aq[0] === '^';
              for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) {
                  var ah = aq[ar];
                  if (/\\[bdsw]/i.test(ah)) {
                      ak.push(ah);
                  } else {
                      var ag = ab(ah);
                      var al;
                      if (ar + 2 < aj && '-' === aq[ar + 1]) {
                          al = ab(aq[ar + 2]);
                          ar += 2;
                      } else {
                          al = ag;
                      }
                      af.push([ag, al]);
                      if (!(al < 65 || ag > 122)) {
                          if (!(al < 65 || ag > 90)) {
                              af.push([
                                  Math.max(65, ag) | 32,
                                  Math.min(al, 90) | 32,
                              ]);
                          }
                          if (!(al < 97 || ag > 122)) {
                              af.push([
                                  Math.max(97, ag) & ~32,
                                  Math.min(al, 122) & ~32,
                              ]);
                          }
                      }
                  }
              }
              af.sort(function(av, au) {
                  return av[0] - au[0] || au[1] - av[1];
              });
              var ai = [];
              var ap = [NaN, NaN];
              for (var ar = 0; ar < af.length; ++ar) {
                  var at = af[ar];
                  if (at[0] <= ap[1] + 1) {
                      ap[1] = Math.max(ap[1], at[1]);
                  } else {
                      ai.push((ap = at));
                  }
              }
              var an = ['['];
              if (ao) {
                  an.push('^');
              }
              an.push.apply(an, ak);
              for (var ar = 0; ar < ai.length; ++ar) {
                  var at = ai[ar];
                  an.push(T(at[0]));
                  if (at[1] > at[0]) {
                      if (at[1] + 1 > at[0]) {
                          an.push('-');
                      }
                      an.push(T(at[1]));
                  }
              }
              an.push(']');
              return an.join('');
          }
          function W(al) {
              var aj = al.source.match(
                  new RegExp(
                      '(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)',
                      'g',
                  ),
              );
              var ah = aj.length;
              var an = [];
              for (var ak = 0, am = 0; ak < ah; ++ak) {
                  var ag = aj[ak];
                  if (ag === '(') {
                      ++am;
                  } else {
                      if ('\\' === ag.charAt(0)) {
                          var af = +ag.substring(1);
                          if (af && af <= am) {
                              an[af] = -1;
                          }
                      }
                  }
              }
              for (var ak = 1; ak < an.length; ++ak) {
                  if (-1 === an[ak]) {
                      an[ak] = ++ad;
                  }
              }
              for (var ak = 0, am = 0; ak < ah; ++ak) {
                  var ag = aj[ak];
                  if (ag === '(') {
                      ++am;
                      if (an[am] === undefined) {
                          aj[ak] = '(?:';
                      }
                  } else {
                      if ('\\' === ag.charAt(0)) {
                          var af = +ag.substring(1);
                          if (af && af <= am) {
                              aj[ak] = '\\' + an[am];
                          }
                      }
                  }
              }
              for (var ak = 0, am = 0; ak < ah; ++ak) {
                  if ('^' === aj[ak] && '^' !== aj[ak + 1]) {
                      aj[ak] = '';
                  }
              }
              if (al.ignoreCase && S) {
                  for (var ak = 0; ak < ah; ++ak) {
                      var ag = aj[ak];
                      var ai = ag.charAt(0);
                      if (ag.length >= 2 && ai === '[') {
                          aj[ak] = X(ag);
                      } else {
                          if (ai !== '\\') {
                              aj[ak] = ag.replace(/[a-zA-Z]/g, function(ao) {
                                  var ap = ao.charCodeAt(0);
                                  return (
                                      '[' +
                                      String.fromCharCode(ap & ~32, ap | 32) +
                                      ']'
                                  );
                              });
                          }
                      }
                  }
              }
              return aj.join('');
          }
          var aa = [];
          for (var V = 0, U = Z.length; V < U; ++V) {
              var ae = Z[V];
              if (ae.global || ae.multiline) {
                  throw new Error('' + ae);
              }
              aa.push('(?:' + W(ae) + ')');
          }
          return new RegExp(aa.join('|'), ac ? 'gi' : 'g');
      }
      function a(V) {
          var U = /(?:^|\s)nocode(?:\s|$)/;
          var X = [];
          var T = 0;
          var Z = [];
          var W = 0;
          var S;
          if (V.currentStyle) {
              S = V.currentStyle.whiteSpace;
          } else {
              if (window.getComputedStyle) {
                  S = document.defaultView
                      .getComputedStyle(V, null)
                      .getPropertyValue('white-space');
              }
          }
          var Y = S && 'pre' === S.substring(0, 3);
          function aa(ab) {
              switch (ab.nodeType) {
                  case 1:
                      if (U.test(ab.className)) {
                          return;
                      }
                      for (var ae = ab.firstChild; ae; ae = ae.nextSibling) {
                          aa(ae);
                      }
                      var ad = ab.nodeName;
                      if ('BR' === ad || 'LI' === ad) {
                          X[W] = '\n';
                          Z[W << 1] = T++;
                          Z[(W++ << 1) | 1] = ab;
                      }
                      break;
                  case 3:
                  case 4:
                      var ac = ab.nodeValue;
                      if (ac.length) {
                          if (!Y) {
                              ac = ac.replace(/[ \t\r\n]+/g, ' ');
                          } else {
                              ac = ac.replace(/\r\n?/g, '\n');
                          }
                          X[W] = ac;
                          Z[W << 1] = T;
                          T += ac.length;
                          Z[(W++ << 1) | 1] = ab;
                      }
                      break;
              }
          }
          aa(V);
          return { sourceCode: X.join('').replace(/\n$/, ''), spans: Z };
      }
      function B(S, U, W, T) {
          if (!U) {
              return;
          }
          var V = { sourceCode: U, basePos: S };
          W(V);
          T.push.apply(T, V.decorations);
      }
      var v = /\S/;
      function o(S) {
          var V = undefined;
          for (var U = S.firstChild; U; U = U.nextSibling) {
              var T = U.nodeType;
              V =
                  T === 1
                      ? V
                          ? S
                          : U
                      : T === 3
                      ? v.test(U.nodeValue)
                          ? S
                          : V
                      : V;
          }
          return V === S ? undefined : V;
      }
      function g(U, T) {
          var S = {};
          var V;
          (function() {
              var ad = U.concat(T);
              var ah = [];
              var ag = {};
              for (var ab = 0, Z = ad.length; ab < Z; ++ab) {
                  var Y = ad[ab];
                  var ac = Y[3];
                  if (ac) {
                      for (var ae = ac.length; --ae >= 0; ) {
                          S[ac.charAt(ae)] = Y;
                      }
                  }
                  var af = Y[1];
                  var aa = '' + af;
                  if (!ag.hasOwnProperty(aa)) {
                      ah.push(af);
                      ag[aa] = null;
                  }
              }
              ah.push(/[\0-\uffff]/);
              V = k(ah);
          })();
          var X = T.length;
          var W = function(ah) {
              var Z = ah.sourceCode,
                  Y = ah.basePos;
              var ad = [Y, F];
              var af = 0;
              var an = Z.match(V) || [];
              var aj = {};
              for (var ae = 0, aq = an.length; ae < aq; ++ae) {
                  var ag = an[ae];
                  var ap = aj[ag];
                  var ai = void 0;
                  var am;
                  if (typeof ap === 'string') {
                      am = false;
                  } else {
                      var aa = S[ag.charAt(0)];
                      if (aa) {
                          ai = ag.match(aa[1]);
                          ap = aa[0];
                      } else {
                          for (var ao = 0; ao < X; ++ao) {
                              aa = T[ao];
                              ai = ag.match(aa[1]);
                              if (ai) {
                                  ap = aa[0];
                                  break;
                              }
                          }
                          if (!ai) {
                              ap = F;
                          }
                      }
                      am = ap.length >= 5 && 'lang-' === ap.substring(0, 5);
                      if (am && !(ai && typeof ai[1] === 'string')) {
                          am = false;
                          ap = J;
                      }
                      if (!am) {
                          aj[ag] = ap;
                      }
                  }
                  var ab = af;
                  af += ag.length;
                  if (!am) {
                      ad.push(Y + ab, ap);
                  } else {
                      var al = ai[1];
                      var ak = ag.indexOf(al);
                      var ac = ak + al.length;
                      if (ai[2]) {
                          ac = ag.length - ai[2].length;
                          ak = ac - al.length;
                      }
                      var ar = ap.substring(5);
                      B(Y + ab, ag.substring(0, ak), W, ad);
                      B(Y + ab + ak, al, q(ar, al), ad);
                      B(Y + ab + ac, ag.substring(ac), W, ad);
                  }
              }
              ah.decorations = ad;
          };
          return W;
      }
      function i(T) {
          var W = [],
              S = [];
          if (T.tripleQuotedStrings) {
              W.push([
                  C,
                  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
                  null,
                  '\'"',
              ]);
          } else {
              if (T.multiLineStrings) {
                  W.push([
                      C,
                      /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
                      null,
                      '\'"`',
                  ]);
              } else {
                  W.push([
                      C,
                      /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
                      null,
                      '"\'',
                  ]);
              }
          }
          if (T.verbatimStrings) {
              S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
          }
          var Y = T.hashComments;
          if (Y) {
              if (T.cStyleComments) {
                  if (Y > 1) {
                      W.push([
                          j,
                          /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,
                          null,
                          '#',
                      ]);
                  } else {
                      W.push([
                          j,
                          /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
                          null,
                          '#',
                      ]);
                  }
                  S.push([
                      C,
                      /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
                      null,
                  ]);
              } else {
                  W.push([j, /^#[^\r\n]*/, null, '#']);
              }
          }
          if (T.cStyleComments) {
              S.push([j, /^\/\/[^\r\n]*/, null]);
              S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
          }
          if (T.regexLiterals) {
              var X =
                  '/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/';
              S.push(['lang-regex', new RegExp('^' + M + '(' + X + ')')]);
          }
          var V = T.types;
          if (V) {
              S.push([O, V]);
          }
          var U = ('' + T.keywords).replace(/^ | $/g, '');
          if (U.length) {
              S.push([
                  z,
                  new RegExp('^(?:' + U.replace(/[\s,]+/g, '|') + ')\\b'),
                  null,
              ]);
          }
          W.push([F, /^\s+/, null, ' \r\n\t\xA0']);
          S.push(
              [G, /^@[a-z_$][a-z_$@0-9]*/i, null],
              [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
              [F, /^[a-z_$][a-z_$@0-9]*/i, null],
              [
                  G,
                  new RegExp(
                      '^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*',
                      'i',
                  ),
                  null,
                  '0123456789',
              ],
              [F, /^\\[\s\S]?/, null],
              [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null],
          );
          return g(W, S);
      }
      var K = i({
          keywords: A,
          hashComments: true,
          cStyleComments: true,
          multiLineStrings: true,
          regexLiterals: true,
      });
      function Q(V, ag) {
          var U = /(?:^|\s)nocode(?:\s|$)/;
          var ab = /\r\n?|\n/;
          var ac = V.ownerDocument;
          var S;
          if (V.currentStyle) {
              S = V.currentStyle.whiteSpace;
          } else {
              if (window.getComputedStyle) {
                  S = ac.defaultView
                      .getComputedStyle(V, null)
                      .getPropertyValue('white-space');
              }
          }
          var Z = S && 'pre' === S.substring(0, 3);
          var af = ac.createElement('LI');
          while (V.firstChild) {
              af.appendChild(V.firstChild);
          }
          var W = [af];
          function ae(al) {
              switch (al.nodeType) {
                  case 1:
                      if (U.test(al.className)) {
                          break;
                      }
                      if ('BR' === al.nodeName) {
                          ad(al);
                          if (al.parentNode) {
                              al.parentNode.removeChild(al);
                          }
                      } else {
                          for (var an = al.firstChild; an; an = an.nextSibling) {
                              ae(an);
                          }
                      }
                      break;
                  case 3:
                  case 4:
                      if (Z) {
                          var am = al.nodeValue;
                          var aj = am.match(ab);
                          if (aj) {
                              var ai = am.substring(0, aj.index);
                              al.nodeValue = ai;
                              var ah = am.substring(aj.index + aj[0].length);
                              if (ah) {
                                  var ak = al.parentNode;
                                  ak.insertBefore(
                                      ac.createTextNode(ah),
                                      al.nextSibling,
                                  );
                              }
                              ad(al);
                              if (!ai) {
                                  al.parentNode.removeChild(al);
                              }
                          }
                      }
                      break;
              }
          }
          function ad(ak) {
              while (!ak.nextSibling) {
                  ak = ak.parentNode;
                  if (!ak) {
                      return;
                  }
              }
              function ai(al, ar) {
                  var aq = ar ? al.cloneNode(false) : al;
                  var ao = al.parentNode;
                  if (ao) {
                      var ap = ai(ao, 1);
                      var an = al.nextSibling;
                      ap.appendChild(aq);
                      for (var am = an; am; am = an) {
                          an = am.nextSibling;
                          ap.appendChild(am);
                      }
                  }
                  return aq;
              }
              var ah = ai(ak.nextSibling, 0);
              for (var aj; (aj = ah.parentNode) && aj.nodeType === 1; ) {
                  ah = aj;
              }
              W.push(ah);
          }
          for (var Y = 0; Y < W.length; ++Y) {
              ae(W[Y]);
          }
          if (ag === (ag | 0)) {
              W[0].setAttribute('value', ag);
          }
          var aa = ac.createElement('OL');
          aa.className = 'linenums';
          var X = Math.max(0, (ag - 1) | 0) || 0;
          for (var Y = 0, T = W.length; Y < T; ++Y) {
              af = W[Y];
              af.className = 'L' + ((Y + X) % 10);
              if (!af.firstChild) {
                  af.appendChild(ac.createTextNode('\xA0'));
              }
              aa.appendChild(af);
          }
          V.appendChild(aa);
      }
      function D(ac) {
          var aj = /\bMSIE\b/.test(navigator.userAgent);
          var am = /\n/g;
          var al = ac.sourceCode;
          var an = al.length;
          var V = 0;
          var aa = ac.spans;
          var T = aa.length;
          var ah = 0;
          var X = ac.decorations;
          var Y = X.length;
          var Z = 0;
          X[Y] = an;
          var ar, aq;
          for (aq = ar = 0; aq < Y; ) {
              if (X[aq] !== X[aq + 2]) {
                  X[ar++] = X[aq++];
                  X[ar++] = X[aq++];
              } else {
                  aq += 2;
              }
          }
          Y = ar;
          for (aq = ar = 0; aq < Y; ) {
              var at = X[aq];
              var ab = X[aq + 1];
              var W = aq + 2;
              while (W + 2 <= Y && X[W + 1] === ab) {
                  W += 2;
              }
              X[ar++] = at;
              X[ar++] = ab;
              aq = W;
          }
          Y = X.length = ar;
          var ae = null;
          while (ah < T) {
              var af = aa[ah];
              var S = aa[ah + 2] || an;
              var ag = X[Z];
              var ap = X[Z + 2] || an;
              var W = Math.min(S, ap);
              var ak = aa[ah + 1];
              var U;
              if (ak.nodeType !== 1 && (U = al.substring(V, W))) {
                  if (aj) {
                      U = U.replace(am, '\r');
                  }
                  ak.nodeValue = U;
                  var ai = ak.ownerDocument;
                  var ao = ai.createElement('SPAN');
                  ao.className = X[Z + 1];
                  var ad = ak.parentNode;
                  ad.replaceChild(ao, ak);
                  ao.appendChild(ak);
                  if (V < S) {
                      aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S));
                      ad.insertBefore(ak, ao.nextSibling);
                  }
              }
              V = W;
              if (V >= S) {
                  ah += 2;
              }
              if (V >= ap) {
                  Z += 2;
              }
          }
      }
      var t = {};
      function c(U, V) {
          for (var S = V.length; --S >= 0; ) {
              var T = V[S];
              if (!t.hasOwnProperty(T)) {
                  t[T] = U;
              } else {
                  if (window.console) {
                      console.warn('cannot override language handler %s', T);
                  }
              }
          }
      }
      function q(T, S) {
          if (!(T && t.hasOwnProperty(T))) {
              T = /^\s*</.test(S) ? 'default-markup' : 'default-code';
          }
          return t[T];
      }
      c(K, ['default-code']);
      c(
          g(
              [],
              [
                  [F, /^[^<?]+/],
                  [E, /^<!\w[^>]*(?:>|$)/],
                  [j, /^<\!--[\s\S]*?(?:-\->|$)/],
                  ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/],
                  ['lang-', /^<%([\s\S]+?)(?:%>|$)/],
                  [L, /^(?:<[%?]|[%?]>)/],
                  ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
                  ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
                  ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
                  ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i],
              ],
          ),
          ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl'],
      );
      c(
          g(
              [
                  [F, /^[\s]+/, null, ' \t\r\n'],
                  [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '"\''],
              ],
              [
                  [m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
                  [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
                  ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
                  [L, /^[=<>\/]+/],
                  ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i],
                  ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i],
                  ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i],
                  ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i],
                  ['lang-css', /^style\s*=\s*\'([^\']+)\'/i],
                  ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i],
              ],
          ),
          ['in.tag'],
      );
      c(g([], [[n, /^[\s\S]+/]]), ['uq.val']);
      c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), [
          'c',
          'cc',
          'cpp',
          'cxx',
          'cyc',
          'm',
      ]);
      c(i({ keywords: 'null,true,false' }), ['json']);
      c(
          i({
              keywords: R,
              hashComments: true,
              cStyleComments: true,
              verbatimStrings: true,
              types: e,
          }),
          ['cs'],
      );
      c(i({ keywords: x, cStyleComments: true }), ['java']);
      c(i({ keywords: H, hashComments: true, multiLineStrings: true }), [
          'bsh',
          'csh',
          'sh',
      ]);
      c(
          i({
              keywords: I,
              hashComments: true,
              multiLineStrings: true,
              tripleQuotedStrings: true,
          }),
          ['cv', 'py'],
      );
      c(
          i({
              keywords: s,
              hashComments: true,
              multiLineStrings: true,
              regexLiterals: true,
          }),
          ['perl', 'pl', 'pm'],
      );
      c(
          i({
              keywords: f,
              hashComments: true,
              multiLineStrings: true,
              regexLiterals: true,
          }),
          ['rb'],
      );
      c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ['js']);
      c(
          i({
              keywords: r,
              hashComments: 3,
              cStyleComments: true,
              multilineStrings: true,
              tripleQuotedStrings: true,
              regexLiterals: true,
          }),
          ['coffee'],
      );
      c(g([], [[C, /^[\s\S]+/]]), ['regex']);
      function d(V) {
          var U = V.langExtension;
          try {
              var S = a(V.sourceNode);
              var T = S.sourceCode;
              V.sourceCode = T;
              V.spans = S.spans;
              V.basePos = 0;
              q(U, T)(V);
              D(V);
          } catch (W) {
              if ('console' in window) {
                  console.log(W && W.stack ? W.stack : W);
              }
          }
      }
      function y(W, V, U) {
          var S = document.createElement('PRE');
          S.innerHTML = W;
          if (U) {
              Q(S, U);
          }
          var T = { langExtension: V, numberLines: U, sourceNode: S };
          d(T);
          return S.innerHTML;
      }
      function b(ad) {
          function Y(af) {
              return document.getElementsByTagName(af);
          }
          var ac = [Y('pre'), Y('code'), Y('xmp')];
          var T = [];
          for (var aa = 0; aa < ac.length; ++aa) {
              for (var Z = 0, V = ac[aa].length; Z < V; ++Z) {
                  T.push(ac[aa][Z]);
              }
          }
          ac = null;
          var W = Date;
          if (!W.now) {
              W = {
                  now: function() {
                      return +new Date();
                  },
              };
          }
          var X = 0;
          var S;
          var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/;
          var ae = /\bprettyprint\b/;
          function U() {
              var ag = window.PR_SHOULD_USE_CONTINUATION
                  ? W.now() + 250
                  : Infinity;
              for (; X < T.length && W.now() < ag; X++) {
                  var aj = T[X];
                  var ai = aj.className;
                  if (ai.indexOf('prettyprint') >= 0) {
                      var ah = ai.match(ab);
                      var am;
                      if (!ah && (am = o(aj)) && 'CODE' === am.tagName) {
                          ah = am.className.match(ab);
                      }
                      if (ah) {
                          ah = ah[1];
                      }
                      var al = false;
                      for (var ak = aj.parentNode; ak; ak = ak.parentNode) {
                          if (
                              (ak.tagName === 'pre' ||
                                  ak.tagName === 'code' ||
                                  ak.tagName === 'xmp') &&
                              ak.className &&
                              ak.className.indexOf('prettyprint') >= 0
                          ) {
                              al = true;
                              break;
                          }
                      }
                      if (!al) {
                          var af = aj.className.match(/\blinenums\b(?::(\d+))?/);
                          af = af
                              ? af[1] && af[1].length
                                  ? +af[1]
                                  : true
                              : false;
                          if (af) {
                              Q(aj, af);
                          }
                          S = {
                              langExtension: ah,
                              sourceNode: aj,
                              numberLines: af,
                          };
                          d(S);
                      }
                  }
              }
              if (X < T.length) {
                  setTimeout(U, 250);
              } else {
                  if (ad) {
                      ad();
                  }
              }
          }
          U();
      }
      window.prettyPrintOne = y;
      window.prettyPrint = b;
      window.PR = {
          createSimpleLexer: g,
          registerLangHandler: c,
          sourceDecorator: i,
          PR_ATTRIB_NAME: P,
          PR_ATTRIB_VALUE: n,
          PR_COMMENT: j,
          PR_DECLARATION: E,
          PR_KEYWORD: z,
          PR_LITERAL: G,
          PR_NOCODE: N,
          PR_PLAIN: F,
          PR_PUNCTUATION: L,
          PR_SOURCE: J,
          PR_STRING: C,
          PR_TAG: m,
          PR_TYPE: O,
      };
  })();
  PR.registerLangHandler(
      PR.createSimpleLexer(
          [],
          [
              [PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
              [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/],
              [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
              ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/],
              ['lang-', /^<%([\s\S]+?)(?:%>|$)/],
              ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
              [
                  'lang-handlebars',
                  /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i,
              ],
              ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
              ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
              ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i],
              [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/],
              [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/],
              [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/],
              [PR.PR_COMMENT, /^{{![^}]*}}/],
          ],
      ),
      ['handlebars', 'hbs'],
  );
  PR.registerLangHandler(
      PR.createSimpleLexer(
          [[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']],
          [
              [
                  PR.PR_STRING,
                  /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,
                  null,
              ],
              [
                  PR.PR_STRING,
                  /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,
                  null,
              ],
              ['lang-css-str', /^url\(([^\)\"\']*)\)/i],
              [
                  PR.PR_KEYWORD,
                  /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
                  null,
              ],
              [
                  'lang-css-kw',
                  /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i,
              ],
              [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
              [PR.PR_COMMENT, /^(?:<!--|-->)/],
              [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
              [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i],
              [
                  PR.PR_PLAIN,
                  /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i,
              ],
              [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/],
          ],
      ),
      ['css'],
  );
  PR.registerLangHandler(
      PR.createSimpleLexer(
          [],
          [
              [
                  PR.PR_KEYWORD,
                  /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i,
              ],
          ],
      ),
      ['css-kw'],
  );
  PR.registerLangHandler(
      PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]),
      ['css-str'],
  );
  