'use strict';var lang=/\blang(?:uage)?-(?!\*)(\w+)\b/i;var Prism=exports.Prism={util:{type:function(o){return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];},clone:function(o){var type=Prism.util.type(o);switch(type){case'Object':var clone={};for(var key in o){if(o.hasOwnProperty(key)){clone[key]=Prism.util.clone(o[key]);}}
return clone;case'Array':return o.slice();}
return o;}},languages:{extend:function(id,redef){var lang=Prism.util.clone(Prism.languages[id]);for(var key in redef){lang[key]=redef[key];}
return lang;}, insertBefore:function(inside,before,insert,root){root=root||Prism.languages;var grammar=root[inside];var ret={};for(var token in grammar){if(grammar.hasOwnProperty(token)){if(token==before){for(var newToken in insert){if(insert.hasOwnProperty(newToken)){ret[newToken]=insert[newToken];}}}
ret[token]=grammar[token];}}
root[inside]=ret;return ret;}, DFS:function(o,callback){for(var i in o){callback.call(o,i,o[i]);if(Prism.util.type(o)==='Object'){Prism.languages.DFS(o[i],callback);}}}},highlightAll:function(async,callback){var elements=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');elements.forEach(function(element){Prism.highlightElement(element,async===true,callback);});},highlightElement:function(element,async,callback){ var language;var grammar;var parent=element;while(parent&&!lang.test(parent.className)){parent=parent.parentNode;}
if(parent){language=(parent.className.match(lang)||[,''])[1];grammar=Prism.languages[language];}
if(!grammar){return;} 
element.className=element.className.replace(lang,'').replace(/\s+/g,' ')+' language-'+language; parent=element.parentNode;if(/pre/i.test(parent.nodeName)){parent.className=parent.className.replace(lang,'').replace(/\s+/g,' ')+' language-'+language;}
var code=element.textContent;if(!code){return;}
code=code.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/\u00a0/g,' ');var env={element:element,language:language,grammar:grammar,code:code};Prism.hooks.run('before-highlight',env);env.highlightedCode=Prism.highlight(env.code,env.grammar,env.language);Prism.hooks.run('before-insert',env);env.element.innerHTML=env.highlightedCode;if(callback){callback.call(element);}
Prism.hooks.run('after-highlight',env);},highlight:function(text,grammar,language){return Token.stringify(Prism.tokenize(text,grammar),language);},tokenize:function(text,grammar,language){var Token=Prism.Token;var strarr=[text];var rest=grammar.rest;var token;if(rest){for(token in rest){grammar[token]=rest[token];}
delete grammar.rest;}
tokenloop:for(token in grammar){if(!grammar.hasOwnProperty(token)||!grammar[token]){continue;}
var pattern=grammar[token],inside=pattern.inside,lookbehind=!!pattern.lookbehind,lookbehindLength=0;pattern=pattern.pattern||pattern;for(var i=0;i<strarr.length;i++){ var str=strarr[i];if(strarr.length>text.length){break tokenloop;}
if(str instanceof Token){continue;}
pattern.lastIndex=0;var match=pattern.exec(str);if(match){if(lookbehind){lookbehindLength=match[1].length;}
var from=match.index-1+lookbehindLength;match=match[0].slice(lookbehindLength);var len=match.length;var to=from+len;var before=str.slice(0,from+1);var after=str.slice(to+1);var args=[i,1];if(before){args.push(before);}
var wrapped=new Token(token,inside?Prism.tokenize(match,inside):match);args.push(wrapped);if(after){args.push(after);}
Array.prototype.splice.apply(strarr,args);}}}
return strarr;},hooks:{all:{},add:function(name,callback){var hooks=Prism.hooks.all;hooks[name]=hooks[name]||[];hooks[name].push(callback);},run:function(name,env){var callbacks=Prism.hooks.all[name];if(!callbacks||!callbacks.length){return;}
callbacks.forEach(function(callback){callback(env);});}}};var Token=Prism.Token=function(type,content){this.type=type;this.content=content;};Token.stringify=function(o,language,parent){if(typeof o=='string'){return o;}
if(Object.prototype.toString.call(o)=='[object Array]'){return o.map(function(element){return Token.stringify(element,language,o);}).join('');}
var env={type:o.type,content:Token.stringify(o.content,language,parent),tag:'span',classes:['token',o.type],attributes:{},language:language,parent:parent};if(env.type=='comment'){env.attributes.spellcheck='true';}
Prism.hooks.run('wrap',env);var attributes='';for(var name in env.attributes){attributes+=name+'="'+(env.attributes[name]||'')+'"';}
return'<'+env.tag+' class="'+env.classes.join(' ')+'" '+attributes+'>'+env.content+'</'+env.tag+'>';};Prism.languages.clike={'comment':{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:true},'string':/("|')(\\?.)*?\1/g,'class-name':{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:true,inside:{punctuation:/(\.|\\)/}},'keyword':/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,'boolean':/\b(true|false)\b/g,'function':{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}},'number':/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,'operator':/[-+]{1,2}|!|&lt;=?|>=?|={1,3}|(&amp;){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,'ignore':/&(lt|gt|amp);/gi,'punctuation':/[{}[\];(),.:]/g};Prism.languages.javascript=Prism.languages.extend('clike',{'keyword':/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,'number':/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore('javascript','keyword',{'regex':{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:true}});if(Prism.languages.markup){Prism.languages.insertBefore('markup','tag',{'script':{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/script(>|&gt;)/ig,inside:{'tag':{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)|(&lt;|<)\/script(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});}