(function(a){a(CodeMirror)})(function(a){"use strict";a.defineMode("javascript",function(b,d){function c(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return Ga=a,Ha=c,b}function f(a,b){var d=a.next();if("\""==d||"'"==d)return b.tokenize=g(d),b.tokenize(a,b);if("."==d&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==d&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(d))return e(d);if("="==d&&a.eat(">"))return e("=>","operator");if("0"==d&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==d&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==d&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(d))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==d)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):Fa(a,b,1)?(c(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eat("="),e("operator","operator",a.current()));if("`"==d)return b.tokenize=i,i(a,b);if("#"==d)return a.skipToEnd(),e("error","error");if(Pa.test(d))return">"==d&&b.lexical&&">"==b.lexical.type||(a.eat("=")?("!"==d||"="==d)&&a.eat("="):/[<>*+\-]/.test(d)&&(a.eat(d),">"==d&&a.eat(d))),e("operator","operator",a.current());if(Na.test(d)){a.eatWhile(Na);var f=a.current();if("."!=b.lastType){if(Oa.propertyIsEnumerable(f)){var j=Oa[f];return e(j.type,j.style,f)}if("async"==f&&a.match(/^(\s|\/\*.*?\*\/)*[\(\w]/,!1))return e("async","keyword",f)}return e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(Ka&&"@"==b.peek()&&b.match(Qa))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){if(Ma){var d=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(a.string.slice(a.start,c));d&&(c=d.index)}for(var e=0,f=!1,g=c-1;0<=g;--g){var h=a.string.charAt(g),i="([{}])".indexOf(h);if(0<=i&&3>i){if(!e){++g;break}if(0==--e){"("==h&&(f=!0);break}}else if(3<=i&&6>i)++e;else if(Na.test(h))f=!0;else{if(/["'\/]/.test(h))return;if(f&&!e){++g;break}}}f&&!e&&(b.fatArrowAt=g)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Sa.state=a,Sa.stream=e,Sa.marked=null,Sa.cc=f,Sa.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():La?x:w;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Sa.marked?Sa.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;0<=a;a--)Sa.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var c=Sa.state;if(Sa.marked="def",c.context){if(b(c.localVars))return;c.localVars={name:a,next:c.localVars}}else{if(b(c.globalVars))return;d.globalVars&&(c.globalVars={name:a,next:c.globalVars})}}function q(a){return"public"==a||"private"==a||"protected"==a||"abstract"==a||"readonly"==a}function r(){Sa.state.context={prev:Sa.state.context,vars:Sa.state.localVars},Sa.state.localVars=Ta}function s(){Sa.state.localVars=Sa.state.context.vars,Sa.state.context=Sa.state.context.prev}function t(a,b){var c=function(){var c=Sa.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Sa.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function u(){var a=Sa.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function v(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function w(a,b){return"var"==a?o(t("vardef",b.length),ca,v(";"),u):"keyword a"==a?o(t("form"),z,w,u):"keyword b"==a?o(t("form"),w,u):"keyword d"==a?Sa.stream.match(/^\s*$/,!1)?o():o(t("stat"),B,v(";"),u):"debugger"==a?o(v(";")):"{"==a?o(t("}"),S,u):";"==a?o():"if"==a?("else"==Sa.state.lexical.info&&Sa.state.cc[Sa.state.cc.length-1]==u&&Sa.state.cc.pop()(),o(t("form"),z,w,u,ha)):"function"==a?o(na):"for"==a?o(t("form"),ia,w,u):"class"==a||Ma&&"interface"==b?(Sa.marked="keyword",o(t("form"),qa,u)):"variable"==a?Ma&&"declare"==b?(Sa.marked="keyword",o(w)):Ma&&("module"==b||"enum"==b||"type"==b)&&Sa.stream.match(/^\s*\w/,!1)?(Sa.marked="keyword","enum"==b?o(Ca):"type"==b?o(W,v("operator"),W,v(";")):o(t("form"),da,v("{"),t("}"),S,u,u)):Ma&&"namespace"==b?(Sa.marked="keyword",o(t("form"),x,S,u)):o(t("stat"),L):"switch"==a?o(t("form"),z,v("{"),t("}","switch"),S,u,u):"case"==a?o(x,v(":")):"default"==a?o(v(":")):"catch"==a?o(t("form"),r,v("("),oa,v(")"),w,u,s):"export"==a?o(t("stat"),ua,u):"import"==a?o(t("stat"),wa,u):"async"==a?o(w):"@"==b?o(x,w):n(t("stat"),x,v(";"),u)}function x(a,b){return A(a,b,!1)}function y(a,b){return A(a,b,!0)}function z(a){return"("==a?o(t(")"),x,v(")"),u):n()}function A(a,b,c){if(Sa.state.fatArrowAt==Sa.stream.start){var d=c?H:G;if("("==a)return o(r,t(")"),Q(oa,")"),u,v("=>"),d,s);if("variable"==a)return n(r,da,v("=>"),d,s)}var e=c?D:C;return Ra.hasOwnProperty(a)?o(e):"function"==a?o(na,e):"class"==a||Ma&&"interface"==b?(Sa.marked="keyword",o(t("form"),pa,u)):"keyword c"==a||"async"==a?o(c?y:x):"("==a?o(t(")"),B,v(")"),u,e):"operator"==a||"spread"==a?o(c?y:x):"["==a?o(t("]"),Ba,u,e):"{"==a?R(N,"}",null,e):"quasi"==a?n(E,e):"new"==a?o(I(c)):"import"==a?o(x):o()}function B(a){return a.match(/[;\}\)\],]/)?n():n(x)}function C(a,b){return","==a?o(x):D(a,b,!1)}function D(a,b,c){var d=!1==c?C:D,e=!1==c?x:y;return"=>"==a?o(r,c?H:G,s):"operator"==a?/\+\+|--/.test(b)||Ma&&"!"==b?o(d):Ma&&"<"==b&&Sa.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?o(t(">"),Q(W,">"),u,d):"?"==b?o(x,v(":"),e):o(e):"quasi"==a?n(E,d):";"==a?void 0:"("==a?R(y,")","call",d):"."==a?o(M,d):"["==a?o(t("]"),B,v("]"),u,d):Ma&&"as"==b?(Sa.marked="keyword",o(W,d)):"regexp"==a?(Sa.state.lastType=Sa.marked="operator",Sa.stream.backUp(Sa.stream.pos-Sa.stream.start-1),o(e)):void 0}function E(a,b){return"quasi"==a?"${"==b.slice(b.length-2)?o(x,F):o(E):n()}function F(a){if("}"==a)return Sa.marked="string-2",Sa.state.tokenize=i,o(E)}function G(a){return j(Sa.stream,Sa.state),n("{"==a?w:x)}function H(a){return j(Sa.stream,Sa.state),n("{"==a?w:y)}function I(a){return function(b){return"."==b?o(a?K:J):"variable"==b&&Ma?o(_,a?D:C):n(a?y:x)}}function J(a,b){if("target"==b)return Sa.marked="keyword",o(C)}function K(a,b){if("target"==b)return Sa.marked="keyword",o(D)}function L(a){return":"==a?o(u,w):n(C,v(";"),u)}function M(a){if("variable"==a)return Sa.marked="property",o()}function N(a,b){if("async"==a)return Sa.marked="property",o(N);if("variable"==a||"keyword"==Sa.style){if(Sa.marked="property","get"==b||"set"==b)return o(O);var c;return Ma&&Sa.state.fatArrowAt==Sa.stream.start&&(c=Sa.stream.match(/^\s*:\s*/,!1))&&(Sa.state.fatArrowAt=Sa.stream.pos+c[0].length),o(P)}return"number"==a||"string"==a?(Sa.marked=Ka?"property":Sa.style+" property",o(P)):"jsonld-keyword"==a?o(P):Ma&&q(b)?(Sa.marked="keyword",o(N)):"["==a?o(x,T,v("]"),P):"spread"==a?o(y,P):"*"==b?(Sa.marked="keyword",o(N)):":"==a?n(P):void 0}function O(a){return"variable"==a?(Sa.marked="property",o(na)):n(P)}function P(a){return":"==a?o(y):"("==a?n(na):void 0}function Q(a,b,c){function d(e,f){if(c?-1"==a)return o(W)}function Y(a,b){return"variable"==a||"keyword"==Sa.style?(Sa.marked="property",o(Y)):"?"==b?o(Y):":"==a?o(W):"["==a?o(x,T,v("]"),Y):void 0}function Z(a){return"variable"==a?o(Z):":"==a?o(W):void 0}function $(a,b){return"<"==b?o(t(">"),Q(W,">"),u,$):"|"==b||"."==a||"&"==b?o(W):"["==a?o(v("]"),$):"extends"==b||"implements"==b?(Sa.marked="keyword",o(W)):void 0}function _(a,b){if("<"==b)return o(t(">"),Q(W,">"),u,$)}function aa(){return n(W,ba)}function ba(a,b){if("="==b)return o(W)}function ca(a,b){return"enum"==b?(Sa.marked="keyword",o(Ca)):n(da,T,fa,ga)}function da(a,b){return Ma&&q(b)?(Sa.marked="keyword",o(da)):"variable"==a?(p(b),o()):"spread"==a?o(da):"["==a?R(da,"]"):"{"==a?R(ea,"}"):void 0}function ea(a,b){return"variable"!=a||Sa.stream.match(/^\s*:/,!1)?("variable"==a&&(Sa.marked="property"),"spread"==a?o(da):"}"==a?n():o(v(":"),da,fa)):(p(b),o(fa))}function fa(a,b){if("="==b)return o(y)}function ga(a){if(","==a)return o(ca)}function ha(a,b){if("keyword b"==a&&"else"==b)return o(t("form","else"),w,u)}function ia(a,b){return"await"==b?o(ia):"("==a?o(t(")"),ja,v(")"),u):void 0}function ja(a){return"var"==a?o(ca,v(";"),la):";"==a?o(la):"variable"==a?o(ka):n(x,v(";"),la)}function ka(a,b){return"in"==b||"of"==b?(Sa.marked="keyword",o(x)):o(C,la)}function la(a,b){return";"==a?o(ma):"in"==b||"of"==b?(Sa.marked="keyword",o(x)):n(x,v(";"),ma)}function ma(a){")"!=a&&o(x)}function na(a,b){return"*"==b?(Sa.marked="keyword",o(na)):"variable"==a?(p(b),o(na)):"("==a?o(r,t(")"),Q(oa,")"),u,U,w,s):Ma&&"<"==b?o(t(">"),Q(aa,">"),u,na):void 0}function oa(a,b){return"@"==b&&o(x,oa),"spread"==a?o(oa):Ma&&q(b)?(Sa.marked="keyword",o(oa)):n(da,T,fa)}function pa(a,b){return"variable"==a?qa(a,b):ra(a,b)}function qa(a,b){if("variable"==a)return p(b),o(ra)}function ra(a,b){return"<"==b?o(t(">"),Q(aa,">"),u,ra):"extends"==b||"implements"==b||Ma&&","==a?("implements"==b&&(Sa.marked="keyword"),o(Ma?W:x,ra)):"{"==a?o(t("}"),sa,u):void 0}function sa(a,b){return"async"==a||"variable"==a&&("static"==b||"get"==b||"set"==b||Ma&&q(b))&&Sa.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Sa.marked="keyword",o(sa)):"variable"==a||"keyword"==Sa.style?(Sa.marked="property",o(Ma?ta:na,sa)):"["==a?o(x,T,v("]"),Ma?ta:na,sa):"*"==b?(Sa.marked="keyword",o(sa)):";"==a?o(sa):"}"==a?o():"@"==b?o(x,sa):void 0}function ta(a,b){return"?"==b?o(ta):":"==a?o(W,fa):"="==b?o(y):n(na)}function ua(a,b){return"*"==b?(Sa.marked="keyword",o(Aa,v(";"))):"default"==b?(Sa.marked="keyword",o(x,v(";"))):"{"==a?o(Q(va,"}"),Aa,v(";")):n(w)}function va(a,b){return"as"==b?(Sa.marked="keyword",o(v("variable"))):"variable"==a?n(y,va):void 0}function wa(a){return"string"==a?o():"("==a?n(x):n(xa,ya,Aa)}function xa(a,b){return"{"==a?R(xa,"}"):("variable"==a&&p(b),"*"==b&&(Sa.marked="keyword"),o(za))}function ya(a){if(","==a)return o(xa,ya)}function za(a,b){if("as"==b)return Sa.marked="keyword",o(xa)}function Aa(a,b){if("from"==b)return Sa.marked="keyword",o(x)}function Ba(a){return"]"==a?o():n(Q(y,"]"))}function Ca(){return n(t("form"),da,v("{"),t("}"),Q(Da,"}"),u,u)}function Da(){return n(da,fa)}function Ea(a,b){return"operator"==a.lastType||","==a.lastType||Pa.test(b.charAt(0))||/[,.]/.test(b.charAt(0))}function Fa(a,b,c){return b.tokenize==f&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-(c||0)))}var Ga,Ha,Ia=b.indentUnit,Ja=d.statementIndent,Ka=d.jsonld,La=d.json||Ka,Ma=d.typescript,Na=d.wordCharacters||/[\w$\xa1-\uffff]/,Oa=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("keyword d"),f=a("operator"),g={type:"atom",style:"atom"};return{if:a("if"),while:b,with:b,else:c,do:c,try:c,finally:c,return:e,break:e,continue:e,new:a("new"),delete:d,void:d,throw:d,debugger:a("debugger"),var:a("var"),const:a("var"),let:a("var"),function:a("function"),catch:a("catch"),for:a("for"),switch:a("switch"),case:a("case"),default:a("default"),in:f,typeof:f,instanceof:f,true:g,false:g,null:g,undefined:g,NaN:g,Infinity:g,this:a("this"),class:a("class"),super:a("atom"),yield:d,export:a("export"),import:a("import"),extends:d,await:d}}(),Pa=/[+\-*&%=<>!?|~^@]/,Qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ra={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Sa={state:null,column:null,marked:null,cc:null},Ta={name:"this",next:{name:"arguments"}};return u.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-Ia,0,"block",!1),localVars:d.localVars,context:d.localVars&&{vars:d.localVars},indented:a||0};return d.globalVars&&"object"==typeof d.globalVars&&(b.globalVars=d.globalVars),b},token:function(a,b){if(a.sol()&&(!b.lexical.hasOwnProperty("align")&&(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==Ga?c:(b.lastType="operator"==Ga&&("++"==Ha||"--"==Ha)?"incdec":Ga,m(b,c,Ga,Ha,a))},indent:function(b,e){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var g,j=e&&e.charAt(0),k=b.lexical;if(!/^\s*else\b/.test(e))for(var l,c=b.cc.length-1;0<=c;--c)if(l=b.cc[c],l==u)k=k.prev;else if(l!=ha)break;for(;("stat"==k.type||"form"==k.type)&&("}"==j||(g=b.cc[b.cc.length-1])&&(g==C||g==D)&&!/^[,\.=+\-*:?[\(]/.test(e));)k=k.prev;Ja&&")"==k.type&&"stat"==k.prev.type&&(k=k.prev);var i=k.type,m=j==i;return"vardef"==i?k.indented+("operator"==b.lastType||","==b.lastType?k.info+1:0):"form"==i&&"{"==j?k.indented:"form"==i?k.indented+Ia:"stat"==i?k.indented+(Ea(b,e)?Ja||Ia:0):"switch"!=k.info||m||!1==d.doubleIndentSwitch?k.align?k.column+(m?0:1):k.indented+(m?0:Ia):k.indented+(/^(?:case|default)\b/.test(e)?Ia:2*Ia)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:La?null:"/*",blockCommentEnd:La?null:"*/",blockCommentContinue:La?null:" * ",lineComment:La?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:La?"json":"javascript",jsonldMode:Ka,jsonMode:La,expressionAllowed:Fa,skipExpression:function(a){var b=a.cc[a.cc.length-1];(b==x||b==y)&&a.cc.pop()}}}),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})});