snipt

Ctrl+h for KB shortcuts

JavaScript

prism.js

/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript+apacheconf+bash+coffeescript+css-extras+git+haml+http+jade+java+less+makefile+markdown+php+jsx+rest+ruby+sass+scss+sql+yaml&plugins=line-highlight+line-numbers+autolinker+remove-initial-line-feed */
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=_self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==n)for(var l in a)a.hasOwnProperty(l)&&(o[l]=a[l]);o[s]=i[s]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0;a=r[i++];)t.highlightElement(a,e===!0,n)},highlightElement:function(a,r,i){for(var l,o,s=a;s&&!e.test(s.className);)s=s.parentNode;s&&(l=(s.className.match(e)||[,""])[1],o=t.languages[l]),a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,s=a.parentNode,/pre/i.test(s.nodeName)&&(s.className=s.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var u=a.textContent,g={element:a,language:l,grammar:o,code:u};if(!u||!o)return t.hooks.run("complete",g),void 0;if(t.hooks.run("before-highlight",g),r&&_self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){g.highlightedCode=n.stringify(JSON.parse(e.data),l),t.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,i&&i.call(g.element),t.hooks.run("after-highlight",g),t.hooks.run("complete",g)},c.postMessage(JSON.stringify({language:g.language,code:g.code}))}else g.highlightedCode=t.highlight(g.code,g.grammar,g.language),t.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",g),t.hooks.run("complete",g)},highlight:function(e,a,r){var i=t.tokenize(e,a);return n.stringify(t.util.encode(i),r)},tokenize:function(e,n){var a=t.Token,r=[e],i=n.rest;if(i){for(var l in i)n[l]=i[l];delete n.rest}e:for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var o=n[l];o="Array"===t.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],g=u.inside,c=!!u.lookbehind,f=0,h=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){u.lastIndex=0;var m=u.exec(d);if(m){c&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),N=[p,1];b&&N.push(b);var O=new a(l,g?t.tokenize(m,g):m,h);N.push(O),w&&N.push(w),Array.prototype.splice.apply(r,N)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=s+'="'+(i.attributes[s]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+o+">"+i.content+"</"+i.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;_self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),_self.close()},!1),_self.Prism):_self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);;
Prism.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))});;
Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/i,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/i,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css},alias:"language-css"}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},Prism.languages.markup.tag));;
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};;
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/(?!\d)[a-z0-9_$]+(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),Prism.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/i,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/i,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript},alias:"language-javascript"}});;
Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/^(\s*)\b(AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\b *.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(\w,?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/}},variable:/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/,regex:/\^?.*\$|\^.*\$?/};;
Prism.languages.bash=Prism.languages.extend("clike",{comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:{pattern:/("|')(\\?[\s\S])*?\1/,inside:{property:/\$([a-zA-Z0-9_#\?\-\*[email protected]]+|\{[^\}]+\})/}},number:{pattern:/([^\w\.])-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,lookbehind:!0},"function":/\b(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)\b/,keyword:/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/}),Prism.languages.insertBefore("bash","keyword",{property:/\$([a-zA-Z0-9_#\?\-\*[email protected]]+|\{[^}]+\})/}),Prism.languages.insertBefore("bash","comment",{important:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/});;
!function(e){var n=/#(?!\{).+/,t={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:n,string:[/'(?:\\?[^\\])*?'/,{pattern:/"(?:\\?[^\\])*?"/,inside:{interpolation:t}}],keyword:/\b(and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:n,interpolation:t}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\?[\s\S])*?`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:e.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,alias:"string"},{pattern:/"""[\s\S]*?"""/,alias:"string",inside:{interpolation:t}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/})}(Prism);;
Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+(?:\(.*\))?/,"class":/\.[-:\.\w]+/,id:/#[-:\.\w]+/}},Prism.languages.insertBefore("css","function",{hexcode:/#[\da-f]{3,6}/i,entity:/\\[\da-f]{1,8}/i,number:/[\d%\.]+/});;
Prism.languages.git={comment:/^#.*$/m,string:/("|')(\\?.)*?\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s(--|-)\w+/m}},coord:/^@@.*@@$/m,deleted:/^-(?!-).+$/m,inserted:/^\+(?!\+).+$/m,commit_sha1:/^commit \w{40}$/m};;
!function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/,lookbehind:!0,inside:{rest:e.languages.ruby}},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/,lookbehind:!0,inside:{rest:e.languages.ruby}}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,lookbehind:!0,inside:{rest:e.languages.ruby}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:{rest:e.languages.ruby}}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:{rest:e.languages.ruby}},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t="((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+",r=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},a=0,i=r.length;i>a;a++){var l=r[a];l="string"==typeof l?{filter:l,language:l}:l,e.languages[l.language]&&(n["filter-"+l.filter]={pattern:RegExp(t.replace("{{filter_name}}",l.filter)),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:e.languages[l.language]}})}e.languages.insertBefore("haml","filter",n)}(Prism);;
Prism.languages.http={"request-line":{pattern:/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] [0-9]+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )[0-9]+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var httpLanguages={"application/json":Prism.languages.javascript,"application/xml":Prism.languages.markup,"text/xml":Prism.languages.markup,"text/html":Prism.languages.markup};for(var contentType in httpLanguages)if(httpLanguages[contentType]){var options={};options[contentType]={pattern:new RegExp("(content-type:\\s*"+contentType+"[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*","i"),lookbehind:!0,inside:{rest:httpLanguages[contentType]}},Prism.languages.insertBefore("http","header-name",options)};
!function(e){e.languages.jade={comment:{pattern:/(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},filter:{pattern:/(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,"function":/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:{rest:e.languages.javascript}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:{rest:e.languages.javascript}},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}}],punctuation:/[.\-!=|]+/};for(var t="(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+",n=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","hogan","less","livescript","markdown","mustache","plates",{filter:"sass",language:"scss"},"stylus","swig"],a={},i=0,r=n.length;r>i;i++){var s=n[i];s="string"==typeof s?{filter:s,language:s}:s,e.languages[s.language]&&(a["filter-"+s.filter]={pattern:RegExp(t.replace("{{filter_name}}",s.filter),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:e.languages[s.language]}})}e.languages.insertBefore("jade","filter",a)}(Prism);;
Prism.languages.java=Prism.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}});;
Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\w\W]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\[email protected]])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,punctuation:/[{}();:,]/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","punctuation",{"function":Prism.languages.less.function}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}});;
Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|.)*/,lookbehind:!0},string:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^[^:=\r\n]+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/};;
Prism.languages.markdown=Prism.languages.extend("markup",{}),Prism.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},code:[{pattern:/^(?: {4}|\t).+/m,alias:"keyword"},{pattern:/``.+?``|`[^`\n]+`/,alias:"keyword"}],title:[{pattern:/\w+.*(?:\r?\n|\r)(?:==+|--+)/,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^\*\*|^__|\*\*$|__$/}},italic:{pattern:/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^[*_]|[*_]$/}},url:{pattern:/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,inside:{variable:{pattern:/(!?\[)[^\]]+(?=\]$)/,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),Prism.languages.markdown.bold.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.italic.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.bold.inside.italic=Prism.util.clone(Prism.languages.markdown.italic),Prism.languages.markdown.italic.inside.bold=Prism.util.clone(Prism.languages.markdown.bold);;
Prism.languages.php=Prism.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),Prism.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),Prism.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),Prism.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),Prism.languages.markup&&(Prism.hooks.add("before-highlight",function(e){"php"===e.language&&(e.tokenStack=[],e.backupCode=e.code,e.code=e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(n){return e.tokenStack.push(n),"{{{PHP"+e.tokenStack.length+"}}}"}))}),Prism.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),Prism.hooks.add("after-highlight",function(e){if("php"===e.language){for(var n,a=0;n=e.tokenStack[a];a++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(a+1)+"}}}",Prism.highlight(n,e.grammar,"php"));e.element.innerHTML=e.highlightedCode}}),Prism.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'<span class="token php">$1</span>'))}),Prism.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:Prism.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/}));;
!function(a){var s=a.util.clone(a.languages.javascript);a.languages.jsx=a.languages.extend("markup",s),a.languages.jsx.tag.pattern=/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+|(\{[\w\W]*?\})))?\s*)*\/?>/i,a.languages.jsx.tag.inside["attr-value"].pattern=/=[^\{](?:('|")[\w\W]*?(\1)|[^\s>]+)/i,a.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{[^}]*\}|[^}])+\})/i,inside:{"function":a.languages.javascript.function,punctuation:/[={}[\];(),.:]/,keyword:a.languages.javascript.keyword},alias:"language-javascript"}},a.languages.jsx.tag)}(Prism);;
Prism.languages.rest={table:[{pattern:/(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/,lookbehind:!0,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(\s*)(?:=+ +)+=+((?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/,lookbehind:!0,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( +)[^:]+::/,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^\s*\.\. )\[[^\]]+\]/m,lookbehind:!0,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^\s*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:!0,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^\s*\.\. )[^:]+::/m,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:!0,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:!0,alias:"punctuation"},field:{pattern:/(^\s*):[^:\r\n]+:(?= )/m,lookbehind:!0,alias:"attr-name"},"command-line-option":{pattern:/(^\s*)(?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,lookbehind:!0,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>[email protected]\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:!0,alias:"punctuation"},"doctest-block":{pattern:/(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s).*?[^\s]\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:!0},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:!0},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:!0,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d](?:[_.:+]?[a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m,lookbehind:!0}};;
Prism.languages.ruby=Prism.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/}),Prism.languages.insertBefore("ruby","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0},variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),Prism.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),Prism.languages.ruby.string={pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:Prism.util.clone(Prism.languages.ruby)}}}};;
!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var a=/((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i,t=/[-+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/;e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:a,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:a,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,delete e.languages.sass.selector,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,lookbehind:!0}})}(Prism);;
Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)*url(?=\()/i,selector:{pattern:/(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m,inside:{placeholder:/%[-_\w]+/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","property",{variable:/\$[-_\w]+|#\{\$[-_\w]+\}/}),Prism.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-_\w]+/,alias:"selector"},statement:/\B!(?:default|optional)\b/i,"boolean":/\b(?:true|false)\b/,"null":/\bnull\b/,operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.util.clone(Prism.languages.scss);;
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},string:{pattern:/(^|[^@\\])("|')(?:\\?[\s\S])*?\2/,lookbehind:!0},variable:/@[\w.$]+|@("|'|`)(?:\\?[\s\S])+?\1/,"function":/\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATETIME|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i,"boolean":/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b-?(?:0x)?\d*\.?[\da-f]+\b/,operator:/[-+*\/=%^~]|&&?|\|?\||!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};;
Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(![^\s]+)?[ \t]*[|>])[ \t]*(?:(\n[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#[^\n]+/,key:{pattern:/(\s*[:\-,[{\n?][ \t]*(![^\s]+)?[ \t]*)[^\n{[\]},#]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/((^|\n)[ \t]*)%[^\n]+/,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(\d{4}-\d\d?-\d\d?([tT]|[ \t]+)\d\d?:\d{2}:\d{2}(\.\d*)?[ \t]*(Z|[-+]\d\d?(:\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(:\d{2}(\.\d*)?)?)(?=[ \t]*(\n|$|,|]|}))/,lookbehind:!0,alias:"number"},"boolean":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(true|false)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0,alias:"important"},"null":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(null|~)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')(?=[ \t]*(\n|$|,|]|}))/,lookbehind:!0},number:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)[+\-]?(0x[\dA-Fa-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/([:[\]{}\-,|>?]|---|\.\.\.)/};;
!function(){function e(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function t(e,t){return t=" "+t+" ",(" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(t)>-1}function n(e,n,i){for(var a,o=n.replace(/\s+/g,"").split(","),l=+e.getAttribute("data-line-offset")||0,d=r()?parseInt:parseFloat,c=d(getComputedStyle(e).lineHeight),s=0;a=o[s++];){a=a.split("-");var u=+a[0],h=+a[1]||u,m=document.createElement("div");m.textContent=Array(h-u+2).join(" \n"),m.className=(i||"")+" line-highlight",t(e,"line-numbers")||(m.setAttribute("data-start",u),h>u&&m.setAttribute("data-end",h)),m.style.top=(u-l-1)*c+"px",t(e,"line-numbers")?e.appendChild(m):(e.querySelector("code")||e).appendChild(m)}}function i(){var t=location.hash.slice(1);e(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)});var i=(t.match(/\.([\d,-]+)$/)||[,""])[1];if(i&&!document.getElementById(t)){var r=t.slice(0,t.lastIndexOf(".")),a=document.getElementById(r);a&&(a.hasAttribute("data-line")||a.setAttribute("data-line",""),n(a,i,"temporary "),document.querySelector(".temporary.line-highlight").scrollIntoView())}}if(window.Prism){var r=function(){var e;return function(){if("undefined"==typeof e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding=0,t.style.border=0,t.innerHTML="&nbsp;<br />&nbsp;",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}}(),a=0;Prism.hooks.add("complete",function(t){var r=t.element.parentNode,o=r&&r.getAttribute("data-line");r&&o&&/pre/i.test(r.nodeName)&&(clearTimeout(a),e(".line-highlight",r).forEach(function(e){e.parentNode.removeChild(e)}),n(r,o),a=setTimeout(i,1))}),addEventListener("hashchange",i)}}();;
Prism.hooks.add("complete",function(e){if(e.code){var t=e.element.parentNode,s=/\s*\bline-numbers\b\s*/;if(t&&/pre/i.test(t.nodeName)&&(s.test(t.className)||s.test(e.element.className))&&!e.element.querySelector(".line-numbers-rows")){s.test(e.element.className)&&(e.element.className=e.element.className.replace(s,"")),s.test(t.className)||(t.className+=" line-numbers");var a,n=e.code.match(/\n(?!$)/g),l=n?n.length+1:1,m=new Array(l+1);m=m.join("<span></span>"),a=document.createElement("span"),a.className="line-numbers-rows",a.innerHTML=m,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),e.element.appendChild(a)}}});;
!function(){if(self.Prism){var i=/\b([a-z]{3,7}:\/\/|tel:)[\w\-+%~/.:#=?&amp;]+/,n=/\b\[email protected][\w.]+[a-z]{2}/,t=/\[([^\]]+)]\(([^)]+)\)/,e=["comment","url","attr-value","string"];for(var a in Prism.languages){var r=Prism.languages[a];Prism.languages.DFS(r,function(a,r,l){e.indexOf(l)>-1&&"Array"!==Prism.util.type(r)&&(r.pattern||(r=this[a]={pattern:r}),r.inside=r.inside||{},"comment"==l&&(r.inside["md-link"]=t),"attr-value"==l?Prism.languages.insertBefore("inside","punctuation",{"url-link":i},r):r.inside["url-link"]=i,r.inside["email-link"]=n)}),r["url-link"]=i,r["email-link"]=n}Prism.hooks.add("wrap",function(i){if(/-link$/.test(i.type)){i.tag="a";var n=i.content;if("email-link"==i.type&&0!=n.indexOf("mailto:"))n="mailto:"+n;else if("md-link"==i.type){var e=i.content.match(t);n=e[2],i.content=e[1]}i.attributes.href=n}})}}();;
Prism.hooks.add("before-highlight",function(e){if(e.code){var a=e.element.parentNode,o=/\s*\bkeep-initial-line-feed\b\s*/;!a||"pre"!==a.nodeName.toLowerCase()||o.test(a.className)||o.test(e.element.className)||(e.code=e.code.replace(/^(?:\r?\n|\r)/,""))}});;

Description

Custom prism.js
https://snipt.net/embed/d1ac346a15ce39dc3bb52484a57df27c/
/raw/d1ac346a15ce39dc3bb52484a57df27c/
d1ac346a15ce39dc3bb52484a57df27c
js
JavaScript
31
2019-08-25T11:47:07
True
False
False
/api/public/snipt/140794/
prismjs
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="cm">/* http://prismjs.com/download.html?themes=prism-okaidia&amp;languages=markup+css+clike+javascript+apacheconf+bash+coffeescript+css-extras+git+haml+http+jade+java+less+makefile+markdown+php+jsx+rest+ruby+sass+scss+sql+yaml&amp;plugins=line-highlight+line-numbers+autolinker+remove-initial-line-feed */</span> </span><span id="L-2"><a name="L-2"></a><span class="kd">var</span> <span class="nx">_self</span><span class="o">=</span><span class="s2">&quot;undefined&quot;</span><span class="o">!=</span><span class="k">typeof</span> <span class="nb">window</span><span class="o">?</span><span class="nb">window</span><span class="o">:</span><span class="s2">&quot;undefined&quot;</span><span class="o">!=</span><span class="k">typeof</span> <span class="nx">WorkerGlobalScope</span><span class="o">&amp;&amp;</span><span class="nx">self</span> <span class="k">instanceof</span> <span class="nx">WorkerGlobalScope</span><span class="o">?</span><span class="nx">self</span><span class="o">:</span><span class="p">{},</span><span class="nx">Prism</span><span class="o">=</span><span class="kd">function</span><span class="p">(){</span><span class="kd">var</span> <span class="nx">e</span><span class="o">=</span><span class="sr">/\blang(?:uage)?-(?!\*)(\w+)\b/i</span><span class="p">,</span><span class="nx">t</span><span class="o">=</span><span class="nx">_self</span><span class="p">.</span><span class="nx">Prism</span><span class="o">=</span><span class="p">{</span><span class="nx">util</span><span class="o">:</span><span class="p">{</span><span class="nx">encode</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">return</span> <span class="nx">e</span> <span class="k">instanceof</span> <span class="nx">n</span><span class="o">?</span><span class="k">new</span> <span class="nx">n</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">encode</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">content</span><span class="p">),</span><span class="nx">e</span><span class="p">.</span><span class="nx">alias</span><span class="p">)</span><span class="o">:</span><span class="s2">&quot;Array&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span><span class="o">?</span><span class="nx">e</span><span class="p">.</span><span class="nx">map</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">encode</span><span class="p">)</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/&amp;/g</span><span class="p">,</span><span class="s2">&quot;&amp;amp;&quot;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/&lt;/g</span><span class="p">,</span><span class="s2">&quot;&amp;lt;&quot;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\u00a0/g</span><span class="p">,</span><span class="s2">&quot; &quot;</span><span class="p">)},</span><span class="nx">type</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">return</span> <span class="nb">Object</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">toString</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">e</span><span class="p">).</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\[object (\w+)\]/</span><span class="p">)[</span><span class="mi">1</span><span class="p">]},</span><span class="nx">clone</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="kd">var</span> <span class="nx">n</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">);</span><span class="k">switch</span><span class="p">(</span><span class="nx">n</span><span class="p">){</span><span class="k">case</span><span class="s2">&quot;Object&quot;</span><span class="o">:</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="p">{};</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">r</span> <span class="k">in</span> <span class="nx">e</span><span class="p">)</span><span class="nx">e</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">r</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="nx">r</span><span class="p">]</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">]));</span><span class="k">return</span> <span class="nx">a</span><span class="p">;</span><span class="k">case</span><span class="s2">&quot;Array&quot;</span><span class="o">:</span><span class="k">return</span> <span class="nx">e</span><span class="p">.</span><span class="nx">map</span><span class="o">&amp;&amp;</span><span class="nx">e</span><span class="p">.</span><span class="nx">map</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">return</span> <span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">e</span><span class="p">)})}</span><span class="k">return</span> <span class="nx">e</span><span class="p">}},</span><span class="nx">languages</span><span class="o">:</span><span class="p">{</span><span class="nx">extend</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">e</span><span class="p">]);</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">r</span> <span class="k">in</span> <span class="nx">n</span><span class="p">)</span><span class="nx">a</span><span class="p">[</span><span class="nx">r</span><span class="p">]</span><span class="o">=</span><span class="nx">n</span><span class="p">[</span><span class="nx">r</span><span class="p">];</span><span class="k">return</span> <span class="nx">a</span><span class="p">},</span><span class="nx">insertBefore</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">,</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">){</span><span class="nx">r</span><span class="o">=</span><span class="nx">r</span><span class="o">||</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">;</span><span class="kd">var</span> <span class="nx">i</span><span class="o">=</span><span class="nx">r</span><span class="p">[</span><span class="nx">e</span><span class="p">];</span><span class="k">if</span><span class="p">(</span><span class="mi">2</span><span class="o">==</span><span class="nx">arguments</span><span class="p">.</span><span class="nx">length</span><span class="p">){</span><span class="nx">a</span><span class="o">=</span><span class="nx">arguments</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span> <span class="k">in</span> <span class="nx">a</span><span class="p">)</span><span class="nx">a</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">i</span><span class="p">[</span><span class="nx">l</span><span class="p">]</span><span class="o">=</span><span class="nx">a</span><span class="p">[</span><span class="nx">l</span><span class="p">]);</span><span class="k">return</span> <span class="nx">i</span><span class="p">}</span><span class="kd">var</span> <span class="nx">o</span><span class="o">=</span><span class="p">{};</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">s</span> <span class="k">in</span> <span class="nx">i</span><span class="p">)</span><span class="k">if</span><span class="p">(</span><span class="nx">i</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">s</span><span class="p">)){</span><span class="k">if</span><span class="p">(</span><span class="nx">s</span><span class="o">==</span><span class="nx">n</span><span class="p">)</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span> <span class="k">in</span> <span class="nx">a</span><span class="p">)</span><span class="nx">a</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">o</span><span class="p">[</span><span class="nx">l</span><span class="p">]</span><span class="o">=</span><span class="nx">a</span><span class="p">[</span><span class="nx">l</span><span class="p">]);</span><span class="nx">o</span><span class="p">[</span><span class="nx">s</span><span class="p">]</span><span class="o">=</span><span class="nx">i</span><span class="p">[</span><span class="nx">s</span><span class="p">]}</span><span class="k">return</span> <span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">DFS</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">t</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="nx">n</span><span class="o">===</span><span class="nx">r</span><span class="p">[</span><span class="nx">e</span><span class="p">]</span><span class="o">&amp;&amp;</span><span class="nx">t</span><span class="o">!=</span><span class="nx">e</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="k">this</span><span class="p">[</span><span class="nx">t</span><span class="p">]</span><span class="o">=</span><span class="nx">o</span><span class="p">)}),</span><span class="nx">r</span><span class="p">[</span><span class="nx">e</span><span class="p">]</span><span class="o">=</span><span class="nx">o</span><span class="p">},</span><span class="nx">DFS</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">,</span><span class="nx">a</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">r</span> <span class="k">in</span> <span class="nx">e</span><span class="p">)</span><span class="nx">e</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">r</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">n</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">r</span><span class="p">,</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">],</span><span class="nx">a</span><span class="o">||</span><span class="nx">r</span><span class="p">),</span><span class="s2">&quot;Object&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">])</span><span class="o">?</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">DFS</span><span class="p">(</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">],</span><span class="nx">n</span><span class="p">)</span><span class="o">:</span><span class="s2">&quot;Array&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">])</span><span class="o">&amp;&amp;</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">DFS</span><span class="p">(</span><span class="nx">e</span><span class="p">[</span><span class="nx">r</span><span class="p">],</span><span class="nx">n</span><span class="p">,</span><span class="nx">r</span><span class="p">))}},</span><span class="nx">highlightAll</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="s1">&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;</span><span class="p">),</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">a</span><span class="o">=</span><span class="nx">r</span><span class="p">[</span><span class="nx">i</span><span class="o">++</span><span class="p">];)</span><span class="nx">t</span><span class="p">.</span><span class="nx">highlightElement</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="nx">e</span><span class="o">===!</span><span class="mi">0</span><span class="p">,</span><span class="nx">n</span><span class="p">)},</span><span class="nx">highlightElement</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">,</span><span class="nx">i</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span><span class="p">,</span><span class="nx">o</span><span class="p">,</span><span class="nx">s</span><span class="o">=</span><span class="nx">a</span><span class="p">;</span><span class="nx">s</span><span class="o">&amp;&amp;!</span><span class="nx">e</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">className</span><span class="p">);)</span><span class="nx">s</span><span class="o">=</span><span class="nx">s</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">;</span><span class="nx">s</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">l</span><span class="o">=</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">className</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span><span class="o">||</span><span class="p">[,</span><span class="s2">&quot;&quot;</span><span class="p">])[</span><span class="mi">1</span><span class="p">],</span><span class="nx">o</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">l</span><span class="p">]),</span><span class="nx">a</span><span class="p">.</span><span class="nx">className</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">className</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s+/g</span><span class="p">,</span><span class="s2">&quot; &quot;</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot; language-&quot;</span><span class="o">+</span><span class="nx">l</span><span class="p">,</span><span class="nx">s</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">,</span><span class="sr">/pre/i</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">nodeName</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">className</span><span class="o">=</span><span class="nx">s</span><span class="p">.</span><span class="nx">className</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s+/g</span><span class="p">,</span><span class="s2">&quot; &quot;</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot; language-&quot;</span><span class="o">+</span><span class="nx">l</span><span class="p">);</span><span class="kd">var</span> <span class="nx">u</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">textContent</span><span class="p">,</span><span class="nx">g</span><span class="o">=</span><span class="p">{</span><span class="nx">element</span><span class="o">:</span><span class="nx">a</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="nx">l</span><span class="p">,</span><span class="nx">grammar</span><span class="o">:</span><span class="nx">o</span><span class="p">,</span><span class="nx">code</span><span class="o">:</span><span class="nx">u</span><span class="p">};</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">u</span><span class="o">||!</span><span class="nx">o</span><span class="p">)</span><span class="k">return</span> <span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;complete&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="k">void</span> <span class="mi">0</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;before-highlight&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="nx">r</span><span class="o">&amp;&amp;</span><span class="nx">_self</span><span class="p">.</span><span class="nx">Worker</span><span class="p">){</span><span class="kd">var</span> <span class="nx">c</span><span class="o">=</span><span class="k">new</span> <span class="nx">Worker</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">filename</span><span class="p">);</span><span class="nx">c</span><span class="p">.</span><span class="nx">onmessage</span><span class="o">=</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">g</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">data</span><span class="p">),</span><span class="nx">l</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;before-insert&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="nx">g</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">g</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="p">,</span><span class="nx">i</span><span class="o">&amp;&amp;</span><span class="nx">i</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">g</span><span class="p">.</span><span class="nx">element</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;after-highlight&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;complete&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">)},</span><span class="nx">c</span><span class="p">.</span><span class="nx">postMessage</span><span class="p">(</span><span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">({</span><span class="nx">language</span><span class="o">:</span><span class="nx">g</span><span class="p">.</span><span class="nx">language</span><span class="p">,</span><span class="nx">code</span><span class="o">:</span><span class="nx">g</span><span class="p">.</span><span class="nx">code</span><span class="p">}))}</span><span class="k">else</span> <span class="nx">g</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">highlight</span><span class="p">(</span><span class="nx">g</span><span class="p">.</span><span class="nx">code</span><span class="p">,</span><span class="nx">g</span><span class="p">.</span><span class="nx">grammar</span><span class="p">,</span><span class="nx">g</span><span class="p">.</span><span class="nx">language</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;before-insert&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="nx">g</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">g</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="p">,</span><span class="nx">i</span><span class="o">&amp;&amp;</span><span class="nx">i</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">a</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;after-highlight&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">),</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;complete&quot;</span><span class="p">,</span><span class="nx">g</span><span class="p">)},</span><span class="nx">highlight</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">){</span><span class="kd">var</span> <span class="nx">i</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">tokenize</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">a</span><span class="p">);</span><span class="k">return</span> <span class="nx">n</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">encode</span><span class="p">(</span><span class="nx">i</span><span class="p">),</span><span class="nx">r</span><span class="p">)},</span><span class="nx">tokenize</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">Token</span><span class="p">,</span><span class="nx">r</span><span class="o">=</span><span class="p">[</span><span class="nx">e</span><span class="p">],</span><span class="nx">i</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">rest</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="nx">i</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span> <span class="k">in</span> <span class="nx">i</span><span class="p">)</span><span class="nx">n</span><span class="p">[</span><span class="nx">l</span><span class="p">]</span><span class="o">=</span><span class="nx">i</span><span class="p">[</span><span class="nx">l</span><span class="p">];</span><span class="k">delete</span> <span class="nx">n</span><span class="p">.</span><span class="nx">rest</span><span class="p">}</span><span class="nx">e</span><span class="o">:</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span> <span class="k">in</span> <span class="nx">n</span><span class="p">)</span><span class="k">if</span><span class="p">(</span><span class="nx">n</span><span class="p">.</span><span class="nx">hasOwnProperty</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="nx">n</span><span class="p">[</span><span class="nx">l</span><span class="p">]){</span><span class="kd">var</span> <span class="nx">o</span><span class="o">=</span><span class="nx">n</span><span class="p">[</span><span class="nx">l</span><span class="p">];</span><span class="nx">o</span><span class="o">=</span><span class="s2">&quot;Array&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span><span class="o">?</span><span class="nx">o</span><span class="o">:</span><span class="p">[</span><span class="nx">o</span><span class="p">];</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">s</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">s</span><span class="o">&lt;</span><span class="nx">o</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="o">++</span><span class="nx">s</span><span class="p">){</span><span class="kd">var</span> <span class="nx">u</span><span class="o">=</span><span class="nx">o</span><span class="p">[</span><span class="nx">s</span><span class="p">],</span><span class="nx">g</span><span class="o">=</span><span class="nx">u</span><span class="p">.</span><span class="nx">inside</span><span class="p">,</span><span class="nx">c</span><span class="o">=!!</span><span class="nx">u</span><span class="p">.</span><span class="nx">lookbehind</span><span class="p">,</span><span class="nx">f</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="nx">h</span><span class="o">=</span><span class="nx">u</span><span class="p">.</span><span class="nx">alias</span><span class="p">;</span><span class="nx">u</span><span class="o">=</span><span class="nx">u</span><span class="p">.</span><span class="nx">pattern</span><span class="o">||</span><span class="nx">u</span><span class="p">;</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">p</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">p</span><span class="o">&lt;</span><span class="nx">r</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="nx">p</span><span class="o">++</span><span class="p">){</span><span class="kd">var</span> <span class="nx">d</span><span class="o">=</span><span class="nx">r</span><span class="p">[</span><span class="nx">p</span><span class="p">];</span><span class="k">if</span><span class="p">(</span><span class="nx">r</span><span class="p">.</span><span class="nx">length</span><span class="o">&gt;</span><span class="nx">e</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span><span class="k">break</span> <span class="nx">e</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="nx">d</span> <span class="k">instanceof</span> <span class="nx">a</span><span class="p">)){</span><span class="nx">u</span><span class="p">.</span><span class="nx">lastIndex</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="kd">var</span> <span class="nx">m</span><span class="o">=</span><span class="nx">u</span><span class="p">.</span><span class="nx">exec</span><span class="p">(</span><span class="nx">d</span><span class="p">);</span><span class="k">if</span><span class="p">(</span><span class="nx">m</span><span class="p">){</span><span class="nx">c</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">f</span><span class="o">=</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="nx">length</span><span class="p">);</span><span class="kd">var</span> <span class="nx">y</span><span class="o">=</span><span class="nx">m</span><span class="p">.</span><span class="nx">index</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="nx">f</span><span class="p">,</span><span class="nx">m</span><span class="o">=</span><span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">slice</span><span class="p">(</span><span class="nx">f</span><span class="p">),</span><span class="nx">v</span><span class="o">=</span><span class="nx">m</span><span class="p">.</span><span class="nx">length</span><span class="p">,</span><span class="nx">k</span><span class="o">=</span><span class="nx">y</span><span class="o">+</span><span class="nx">v</span><span class="p">,</span><span class="nx">b</span><span class="o">=</span><span class="nx">d</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nx">y</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="nx">w</span><span class="o">=</span><span class="nx">d</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="nx">k</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="nx">N</span><span class="o">=</span><span class="p">[</span><span class="nx">p</span><span class="p">,</span><span class="mi">1</span><span class="p">];</span><span class="nx">b</span><span class="o">&amp;&amp;</span><span class="nx">N</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">b</span><span class="p">);</span><span class="kd">var</span> <span class="nx">O</span><span class="o">=</span><span class="k">new</span> <span class="nx">a</span><span class="p">(</span><span class="nx">l</span><span class="p">,</span><span class="nx">g</span><span class="o">?</span><span class="nx">t</span><span class="p">.</span><span class="nx">tokenize</span><span class="p">(</span><span class="nx">m</span><span class="p">,</span><span class="nx">g</span><span class="p">)</span><span class="o">:</span><span class="nx">m</span><span class="p">,</span><span class="nx">h</span><span class="p">);</span><span class="nx">N</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">O</span><span class="p">),</span><span class="nx">w</span><span class="o">&amp;&amp;</span><span class="nx">N</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">w</span><span class="p">),</span><span class="nb">Array</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">splice</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="nx">N</span><span class="p">)}}}}}</span><span class="k">return</span> <span class="nx">r</span><span class="p">},</span><span class="nx">hooks</span><span class="o">:</span><span class="p">{</span><span class="nx">all</span><span class="o">:</span><span class="p">{},</span><span class="nx">add</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">all</span><span class="p">;</span><span class="nx">a</span><span class="p">[</span><span class="nx">e</span><span class="p">]</span><span class="o">=</span><span class="nx">a</span><span class="p">[</span><span class="nx">e</span><span class="p">]</span><span class="o">||</span><span class="p">[],</span><span class="nx">a</span><span class="p">[</span><span class="nx">e</span><span class="p">].</span><span class="nx">push</span><span class="p">(</span><span class="nx">n</span><span class="p">)},</span><span class="nx">run</span><span class="o">:</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">all</span><span class="p">[</span><span class="nx">e</span><span class="p">];</span><span class="k">if</span><span class="p">(</span><span class="nx">a</span><span class="o">&amp;&amp;</span><span class="nx">a</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">r</span><span class="p">,</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">r</span><span class="o">=</span><span class="nx">a</span><span class="p">[</span><span class="nx">i</span><span class="o">++</span><span class="p">];)</span><span class="nx">r</span><span class="p">(</span><span class="nx">n</span><span class="p">)}}},</span><span class="nx">n</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">Token</span><span class="o">=</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">t</span><span class="p">,</span><span class="nx">n</span><span class="p">){</span><span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="o">=</span><span class="nx">e</span><span class="p">,</span><span class="k">this</span><span class="p">.</span><span class="nx">content</span><span class="o">=</span><span class="nx">t</span><span class="p">,</span><span class="k">this</span><span class="p">.</span><span class="nx">alias</span><span class="o">=</span><span class="nx">n</span><span class="p">};</span><span class="k">if</span><span class="p">(</span><span class="nx">n</span><span class="p">.</span><span class="nx">stringify</span><span class="o">=</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">){</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;string&quot;</span><span class="o">==</span><span class="k">typeof</span> <span class="nx">e</span><span class="p">)</span><span class="k">return</span> <span class="nx">e</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;Array&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">))</span><span class="k">return</span> <span class="nx">e</span><span class="p">.</span><span class="nx">map</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">t</span><span class="p">){</span><span class="k">return</span> <span class="nx">n</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">t</span><span class="p">,</span><span class="nx">a</span><span class="p">,</span><span class="nx">e</span><span class="p">)}).</span><span class="nx">join</span><span class="p">(</span><span class="s2">&quot;&quot;</span><span class="p">);</span><span class="kd">var</span> <span class="nx">i</span><span class="o">=</span><span class="p">{</span><span class="nx">type</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span><span class="nx">content</span><span class="o">:</span><span class="nx">n</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">content</span><span class="p">,</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">),</span><span class="nx">tag</span><span class="o">:</span><span class="s2">&quot;span&quot;</span><span class="p">,</span><span class="nx">classes</span><span class="o">:</span><span class="p">[</span><span class="s2">&quot;token&quot;</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">type</span><span class="p">],</span><span class="nx">attributes</span><span class="o">:</span><span class="p">{},</span><span class="nx">language</span><span class="o">:</span><span class="nx">a</span><span class="p">,</span><span class="nx">parent</span><span class="o">:</span><span class="nx">r</span><span class="p">};</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;comment&quot;</span><span class="o">==</span><span class="nx">i</span><span class="p">.</span><span class="nx">type</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">i</span><span class="p">.</span><span class="nx">attributes</span><span class="p">.</span><span class="nx">spellcheck</span><span class="o">=</span><span class="s2">&quot;true&quot;</span><span class="p">),</span><span class="nx">e</span><span class="p">.</span><span class="nx">alias</span><span class="p">){</span><span class="kd">var</span> <span class="nx">l</span><span class="o">=</span><span class="s2">&quot;Array&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">alias</span><span class="p">)</span><span class="o">?</span><span class="nx">e</span><span class="p">.</span><span class="nx">alias</span><span class="o">:</span><span class="p">[</span><span class="nx">e</span><span class="p">.</span><span class="nx">alias</span><span class="p">];</span><span class="nb">Array</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">push</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">i</span><span class="p">.</span><span class="nx">classes</span><span class="p">,</span><span class="nx">l</span><span class="p">)}</span><span class="nx">t</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="s2">&quot;wrap&quot;</span><span class="p">,</span><span class="nx">i</span><span class="p">);</span><span class="kd">var</span> <span class="nx">o</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">;</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">s</span> <span class="k">in</span> <span class="nx">i</span><span class="p">.</span><span class="nx">attributes</span><span class="p">)</span><span class="nx">o</span><span class="o">+=</span><span class="nx">s</span><span class="o">+</span><span class="s1">&#39;=&quot;&#39;</span><span class="o">+</span><span class="p">(</span><span class="nx">i</span><span class="p">.</span><span class="nx">attributes</span><span class="p">[</span><span class="nx">s</span><span class="p">]</span><span class="o">||</span><span class="s2">&quot;&quot;</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39;&quot;&#39;</span><span class="p">;</span><span class="k">return</span><span class="s2">&quot;&lt;&quot;</span><span class="o">+</span><span class="nx">i</span><span class="p">.</span><span class="nx">tag</span><span class="o">+</span><span class="s1">&#39; class=&quot;&#39;</span><span class="o">+</span><span class="nx">i</span><span class="p">.</span><span class="nx">classes</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s2">&quot; &quot;</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39;&quot; &#39;</span><span class="o">+</span><span class="nx">o</span><span class="o">+</span><span class="s2">&quot;&gt;&quot;</span><span class="o">+</span><span class="nx">i</span><span class="p">.</span><span class="nx">content</span><span class="o">+</span><span class="s2">&quot;&lt;/&quot;</span><span class="o">+</span><span class="nx">i</span><span class="p">.</span><span class="nx">tag</span><span class="o">+</span><span class="s2">&quot;&gt;&quot;</span><span class="p">},</span><span class="o">!</span><span class="nx">_self</span><span class="p">.</span><span class="nb">document</span><span class="p">)</span><span class="k">return</span> <span class="nx">_self</span><span class="p">.</span><span class="nx">addEventListener</span><span class="o">?</span><span class="p">(</span><span class="nx">_self</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s2">&quot;message&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="kd">var</span> <span class="nx">n</span><span class="o">=</span><span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">data</span><span class="p">),</span><span class="nx">a</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">language</span><span class="p">,</span><span class="nx">r</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">code</span><span class="p">;</span><span class="nx">_self</span><span class="p">.</span><span class="nx">postMessage</span><span class="p">(</span><span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">encode</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">tokenize</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">a</span><span class="p">])))),</span><span class="nx">_self</span><span class="p">.</span><span class="nx">close</span><span class="p">()},</span><span class="o">!</span><span class="mi">1</span><span class="p">),</span><span class="nx">_self</span><span class="p">.</span><span class="nx">Prism</span><span class="p">)</span><span class="o">:</span><span class="nx">_self</span><span class="p">.</span><span class="nx">Prism</span><span class="p">;</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">&quot;script&quot;</span><span class="p">);</span><span class="k">return</span> <span class="nx">a</span><span class="o">=</span><span class="nx">a</span><span class="p">[</span><span class="nx">a</span><span class="p">.</span><span class="nx">length</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="nx">a</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">filename</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">src</span><span class="p">,</span><span class="nb">document</span><span class="p">.</span><span class="nx">addEventListener</span><span class="o">&amp;&amp;!</span><span class="nx">a</span><span class="p">.</span><span class="nx">hasAttribute</span><span class="p">(</span><span class="s2">&quot;data-manual&quot;</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="nb">document</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s2">&quot;DOMContentLoaded&quot;</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">highlightAll</span><span class="p">)),</span><span class="nx">_self</span><span class="p">.</span><span class="nx">Prism</span><span class="p">}();</span><span class="s2">&quot;undefined&quot;</span><span class="o">!=</span><span class="k">typeof</span> <span class="nx">module</span><span class="o">&amp;&amp;</span><span class="nx">module</span><span class="p">.</span><span class="nx">exports</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">module</span><span class="p">.</span><span class="nx">exports</span><span class="o">=</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-3"><a name="L-3"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/&lt;!--[\w\W]*?--&gt;/</span><span class="p">,</span><span class="nx">prolog</span><span class="o">:</span><span class="sr">/&lt;\?[\w\W]+?\?&gt;/</span><span class="p">,</span><span class="nx">doctype</span><span class="o">:</span><span class="sr">/&lt;!DOCTYPE[\w\W]+?&gt;/</span><span class="p">,</span><span class="nx">cdata</span><span class="o">:</span><span class="sr">/&lt;!\[CDATA\[[\w\W]*?]]&gt;/i</span><span class="p">,</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;\/?[^\s&gt;\/]+(?:\s+[^\s&gt;\/=]+(?:=(?:(&quot;|&#39;)(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s&#39;&quot;&gt;=]+))?)*\s*\/?&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^&lt;\/?[^\s&gt;\/]+/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^&lt;\/?/</span><span class="p">,</span><span class="nx">namespace</span><span class="o">:</span><span class="sr">/^[^\s&gt;\/:]+:/</span><span class="p">}},</span><span class="s2">&quot;attr-value&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/=(?:(&#39;|&quot;)[\w\W]*?(\1)|[^\s&gt;]+)/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[=&gt;&quot;&#39;]/</span><span class="p">}},</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/\/?&gt;/</span><span class="p">,</span><span class="s2">&quot;attr-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/[^\s&gt;\/]+/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">namespace</span><span class="o">:</span><span class="sr">/^[^\s&gt;\/:]+:/</span><span class="p">}}}},</span><span class="nx">entity</span><span class="o">:</span><span class="sr">/&amp;#?[\da-z]{1,8};/i</span><span class="p">},</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;wrap&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">t</span><span class="p">){</span><span class="s2">&quot;entity&quot;</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">type</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">attributes</span><span class="p">.</span><span class="nx">title</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">content</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/&amp;amp;/</span><span class="p">,</span><span class="s2">&quot;&amp;&quot;</span><span class="p">))});;</span> </span><span id="L-4"><a name="L-4"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/\/\*[\w\W]*?\*\//</span><span class="p">,</span><span class="nx">atrule</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/@[\w-]+?.*?(;|(?=\s*\{))/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rule</span><span class="o">:</span><span class="sr">/@[\w-]+/</span><span class="p">}},</span><span class="nx">url</span><span class="o">:</span><span class="sr">/url\((?:([&quot;&#39;])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i</span><span class="p">,</span><span class="nx">selector</span><span class="o">:</span><span class="sr">/[^\{\}\s][^\{\};]*?(?=\s*\{)/</span><span class="p">,</span><span class="nx">string</span><span class="o">:</span><span class="sr">/(&quot;|&#39;)(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/</span><span class="p">,</span><span class="nx">property</span><span class="o">:</span><span class="sr">/(\b|\B)[\w-]+(?=\s*:)/i</span><span class="p">,</span><span class="nx">important</span><span class="o">:</span><span class="sr">/\B!important\b/i</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/[-a-z0-9]+(?=\()/i</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[(){};:]/</span><span class="p">},</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="p">.</span><span class="nx">atrule</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">rest</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="p">),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;markup&quot;</span><span class="p">,</span><span class="s2">&quot;tag&quot;</span><span class="p">,{</span><span class="nx">style</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;style[\w\W]*?&gt;[\w\W]*?&lt;\/style&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;style[\w\W]*?&gt;|&lt;\/style&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">.</span><span class="nx">tag</span><span class="p">.</span><span class="nx">inside</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;language-css&quot;</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;inside&quot;</span><span class="p">,</span><span class="s2">&quot;attr-value&quot;</span><span class="p">,{</span><span class="s2">&quot;style-attr&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\s*style=(&quot;|&#39;).*?\1/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;attr-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^\s*style/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">.</span><span class="nx">tag</span><span class="p">.</span><span class="nx">inside</span><span class="p">},</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^\s*=\s*[&#39;&quot;]|[&#39;&quot;]\s*$/</span><span class="p">,</span><span class="s2">&quot;attr-value&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/.+/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="p">}},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;language-css&quot;</span><span class="p">}},</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">.</span><span class="nx">tag</span><span class="p">));;</span> </span><span id="L-5"><a name="L-5"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">clike</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])\/\*[\w\W]*?\*\//</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\:])\/\/.*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}],</span><span class="nx">string</span><span class="o">:</span><span class="sr">/(&quot;|&#39;)(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/</span><span class="p">,</span><span class="s2">&quot;class-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/(\.|\\)/</span><span class="p">}},</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/</span><span class="p">,</span><span class="s2">&quot;boolean&quot;</span><span class="o">:</span><span class="sr">/\b(true|false)\b/</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/[a-z0-9_]+(?=\()/i</span><span class="p">,</span><span class="nx">number</span><span class="o">:</span><span class="sr">/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="sr">/--?|\+\+?|!=?=?|&lt;=?|&gt;=?|==?=?|&amp;&amp;?|\|\|?|\?|\*|\/|~|\^|%/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[{}[\];(),.:]/</span><span class="p">};;</span> </span><span id="L-6"><a name="L-6"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;clike&quot;</span><span class="p">,{</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/</span><span class="p">,</span><span class="nx">number</span><span class="o">:</span><span class="sr">/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/(?!\d)[a-z0-9_$]+(?=\()/i</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;javascript&quot;</span><span class="p">,</span><span class="s2">&quot;keyword&quot;</span><span class="p">,{</span><span class="nx">regex</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;javascript&quot;</span><span class="p">,</span><span class="s2">&quot;class-name&quot;</span><span class="p">,{</span><span class="s2">&quot;template-string&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/`(?:\\`|\\?[^`])*`/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">interpolation</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\$\{[^}]+\}/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;interpolation-punctuation&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^\$\{|\}$/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="nx">string</span><span class="o">:</span><span class="sr">/[\s\S]+/</span><span class="p">}}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="o">&amp;&amp;</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;markup&quot;</span><span class="p">,</span><span class="s2">&quot;tag&quot;</span><span class="p">,{</span><span class="nx">script</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;script[\w\W]*?&gt;[\w\W]*?&lt;\/script&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;script[\w\W]*?&gt;|&lt;\/script&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">.</span><span class="nx">tag</span><span class="p">.</span><span class="nx">inside</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;language-javascript&quot;</span><span class="p">}});;</span> </span><span id="L-7"><a name="L-7"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">apacheconf</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/#.*/</span><span class="p">,</span><span class="s2">&quot;directive-inline&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(\s*)\b(AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;property&quot;</span><span class="p">},</span><span class="s2">&quot;directive-block&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;\/?\b(AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\b *.*&gt;/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;directive-block&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^&lt;\/?\w+/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^&lt;\/?/</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;tag&quot;</span><span class="p">},</span><span class="s2">&quot;directive-block-parameter&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/.*[^&gt;]/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/:/</span><span class="p">,</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(&quot;|&#39;).*\1/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/</span><span class="p">}}},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;attr-value&quot;</span><span class="p">},</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/&gt;/</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;tag&quot;</span><span class="p">},</span><span class="s2">&quot;directive-flags&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\[(\w,?)+\]/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;keyword&quot;</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(&quot;|&#39;).*\1/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/</span><span class="p">}},</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/(\$|%)\{?(\w\.?(\+|\-|:)?)+\}?/</span><span class="p">,</span><span class="nx">regex</span><span class="o">:</span><span class="sr">/\^?.*\$|\^.*\$?/</span><span class="p">};;</span> </span><span id="L-8"><a name="L-8"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">bash</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;clike&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^&quot;{\\])#.*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(&quot;|&#39;)(\\?[\s\S])*?\1/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">property</span><span class="o">:</span><span class="sr">/\$([a-zA-Z0-9_#\?\-\*[email protected]]+|\{[^\}]+\})/</span><span class="p">}},</span><span class="nx">number</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([^\w\.])-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/\b(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)\b/</span><span class="p">,</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;bash&quot;</span><span class="p">,</span><span class="s2">&quot;keyword&quot;</span><span class="p">,{</span><span class="nx">property</span><span class="o">:</span><span class="sr">/\$([a-zA-Z0-9_#\?\-\*[email protected]]+|\{[^}]+\})/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;bash&quot;</span><span class="p">,</span><span class="s2">&quot;comment&quot;</span><span class="p">,{</span><span class="nx">important</span><span class="o">:</span><span class="sr">/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/</span><span class="p">});;</span> </span><span id="L-9"><a name="L-9"></a><span class="o">!</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="kd">var</span> <span class="nx">n</span><span class="o">=</span><span class="sr">/#(?!\{).+/</span><span class="p">,</span><span class="nx">t</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/#\{[^}]+\}/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">};</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">coffeescript</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;javascript&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="nx">n</span><span class="p">,</span><span class="nx">string</span><span class="o">:</span><span class="p">[</span><span class="sr">/&#39;(?:\\?[^\\])*?&#39;/</span><span class="p">,{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&quot;(?:\\?[^\\])*?&quot;/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">interpolation</span><span class="o">:</span><span class="nx">t</span><span class="p">}}],</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/</span><span class="p">,</span><span class="s2">&quot;class-member&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/@(?!\d)\w+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">}}),</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;coffeescript&quot;</span><span class="p">,</span><span class="s2">&quot;comment&quot;</span><span class="p">,{</span><span class="s2">&quot;multiline-comment&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/###[\s\S]+?###/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;comment&quot;</span><span class="p">},</span><span class="s2">&quot;block-regex&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\/{3}[\s\S]*?\/{3}/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;regex&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="nx">n</span><span class="p">,</span><span class="nx">interpolation</span><span class="o">:</span><span class="nx">t</span><span class="p">}}}),</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;coffeescript&quot;</span><span class="p">,</span><span class="s2">&quot;string&quot;</span><span class="p">,{</span><span class="s2">&quot;inline-javascript&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/`(?:\\?[\s\S])*?`/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">delimiter</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^`|`$/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="s2">&quot;multiline-string&quot;</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&#39;&#39;&#39;[\s\S]*?&#39;&#39;&#39;/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&quot;&quot;&quot;[\s\S]*?&quot;&quot;&quot;/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">interpolation</span><span class="o">:</span><span class="nx">t</span><span class="p">}}]}),</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;coffeescript&quot;</span><span class="p">,</span><span class="s2">&quot;keyword&quot;</span><span class="p">,{</span><span class="nx">property</span><span class="o">:</span><span class="sr">/(?!\d)\w+(?=\s*:(?!:))/</span><span class="p">})}(</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-10"><a name="L-10"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">css</span><span class="p">.</span><span class="nx">selector</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/[^\{\}\s][^\{\}]*(?=\s*\{)/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;pseudo-element&quot;</span><span class="o">:</span><span class="sr">/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/</span><span class="p">,</span><span class="s2">&quot;pseudo-class&quot;</span><span class="o">:</span><span class="sr">/:[-\w]+(?:\(.*\))?/</span><span class="p">,</span><span class="s2">&quot;class&quot;</span><span class="o">:</span><span class="sr">/\.[-:\.\w]+/</span><span class="p">,</span><span class="nx">id</span><span class="o">:</span><span class="sr">/#[-:\.\w]+/</span><span class="p">}},</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;css&quot;</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="p">,{</span><span class="nx">hexcode</span><span class="o">:</span><span class="sr">/#[\da-f]{3,6}/i</span><span class="p">,</span><span class="nx">entity</span><span class="o">:</span><span class="sr">/\\[\da-f]{1,8}/i</span><span class="p">,</span><span class="nx">number</span><span class="o">:</span><span class="sr">/[\d%\.]+/</span><span class="p">});;</span> </span><span id="L-11"><a name="L-11"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">git</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/^#.*$/m</span><span class="p">,</span><span class="nx">string</span><span class="o">:</span><span class="sr">/(&quot;|&#39;)(\\?.)*?\1/m</span><span class="p">,</span><span class="nx">command</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^.*\$ git .*$/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">parameter</span><span class="o">:</span><span class="sr">/\s(--|-)\w+/m</span><span class="p">}},</span><span class="nx">coord</span><span class="o">:</span><span class="sr">/^@@.*@@$/m</span><span class="p">,</span><span class="nx">deleted</span><span class="o">:</span><span class="sr">/^-(?!-).+$/m</span><span class="p">,</span><span class="nx">inserted</span><span class="o">:</span><span class="sr">/^\+(?!\+).+$/m</span><span class="p">,</span><span class="nx">commit_sha1</span><span class="o">:</span><span class="sr">/^commit \w{40}$/m</span><span class="p">};;</span> </span><span id="L-12"><a name="L-12"></a><span class="o">!</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">haml</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;multiline-comment&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;comment&quot;</span><span class="p">},</span><span class="s2">&quot;multiline-code&quot;</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&amp;!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&amp;!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}}],</span><span class="nx">filter</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;filter-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^:[\w-]+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">}}},</span><span class="nx">markup</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)[\t ]*)&lt;.+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">}},</span><span class="nx">doctype</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/&lt;&gt;]*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">attributes</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\([^)]+\)/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;attr-value&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(=\s*)(?:&quot;(?:\\?.)*?&quot;|[^)\s]+)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="s2">&quot;attr-name&quot;</span><span class="o">:</span><span class="sr">/[\w:-]+(?=\s*!?=|\s*[,)])/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[=(),]/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\[[^\]]+\]/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}}],</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[&lt;&gt;]/</span><span class="p">}},</span><span class="nx">code</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&amp;!]?=)).+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}},</span><span class="nx">interpolation</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/#\{[^}]+\}/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">delimiter</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^#\{|\}$/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">}},</span><span class="nx">punctuation</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\r?\n|\r)[\t ]*)[~=\-&amp;!]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}};</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">t</span><span class="o">=</span><span class="s2">&quot;((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+&quot;</span><span class="p">,</span><span class="nx">r</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;css&quot;</span><span class="p">,{</span><span class="nx">filter</span><span class="o">:</span><span class="s2">&quot;coffee&quot;</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="s2">&quot;coffeescript&quot;</span><span class="p">},</span><span class="s2">&quot;erb&quot;</span><span class="p">,</span><span class="s2">&quot;javascript&quot;</span><span class="p">,</span><span class="s2">&quot;less&quot;</span><span class="p">,</span><span class="s2">&quot;markdown&quot;</span><span class="p">,</span><span class="s2">&quot;ruby&quot;</span><span class="p">,</span><span class="s2">&quot;scss&quot;</span><span class="p">,</span><span class="s2">&quot;textile&quot;</span><span class="p">],</span><span class="nx">n</span><span class="o">=</span><span class="p">{},</span><span class="nx">a</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="nx">i</span><span class="o">=</span><span class="nx">r</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="nx">i</span><span class="o">&gt;</span><span class="nx">a</span><span class="p">;</span><span class="nx">a</span><span class="o">++</span><span class="p">){</span><span class="kd">var</span> <span class="nx">l</span><span class="o">=</span><span class="nx">r</span><span class="p">[</span><span class="nx">a</span><span class="p">];</span><span class="nx">l</span><span class="o">=</span><span class="s2">&quot;string&quot;</span><span class="o">==</span><span class="k">typeof</span> <span class="nx">l</span><span class="o">?</span><span class="p">{</span><span class="nx">filter</span><span class="o">:</span><span class="nx">l</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="nx">l</span><span class="p">}</span><span class="o">:</span><span class="nx">l</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">l</span><span class="p">.</span><span class="nx">language</span><span class="p">]</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">n</span><span class="p">[</span><span class="s2">&quot;filter-&quot;</span><span class="o">+</span><span class="nx">l</span><span class="p">.</span><span class="nx">filter</span><span class="p">]</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="nb">RegExp</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s2">&quot;{{filter_name}}&quot;</span><span class="p">,</span><span class="nx">l</span><span class="p">.</span><span class="nx">filter</span><span class="p">)),</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;filter-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^:[\w-]+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">l</span><span class="p">.</span><span class="nx">language</span><span class="p">]}})}</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;haml&quot;</span><span class="p">,</span><span class="s2">&quot;filter&quot;</span><span class="p">,</span><span class="nx">n</span><span class="p">)}(</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-13"><a name="L-13"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">http</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;request-line&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">property</span><span class="o">:</span><span class="sr">/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/</span><span class="p">,</span><span class="s2">&quot;attr-name&quot;</span><span class="o">:</span><span class="sr">/:\w+/</span><span class="p">}},</span><span class="s2">&quot;response-status&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^HTTP\/1.[01] [0-9]+.*/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">property</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^HTTP\/1.[01] )[0-9]+.*/i</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}},</span><span class="s2">&quot;header-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^[\w-]+:(?=.)/m</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;keyword&quot;</span><span class="p">}};</span><span class="kd">var</span> <span class="nx">httpLanguages</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;application/json&quot;</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">,</span><span class="s2">&quot;application/xml&quot;</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">,</span><span class="s2">&quot;text/xml&quot;</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">,</span><span class="s2">&quot;text/html&quot;</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">};</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">contentType</span> <span class="k">in</span> <span class="nx">httpLanguages</span><span class="p">)</span><span class="k">if</span><span class="p">(</span><span class="nx">httpLanguages</span><span class="p">[</span><span class="nx">contentType</span><span class="p">]){</span><span class="kd">var</span> <span class="nx">options</span><span class="o">=</span><span class="p">{};</span><span class="nx">options</span><span class="p">[</span><span class="nx">contentType</span><span class="p">]</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="k">new</span> <span class="nb">RegExp</span><span class="p">(</span><span class="s2">&quot;(content-type:\\s*&quot;</span><span class="o">+</span><span class="nx">contentType</span><span class="o">+</span><span class="s2">&quot;[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*&quot;</span><span class="p">,</span><span class="s2">&quot;i&quot;</span><span class="p">),</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">httpLanguages</span><span class="p">[</span><span class="nx">contentType</span><span class="p">]}},</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;http&quot;</span><span class="p">,</span><span class="s2">&quot;header-name&quot;</span><span class="p">,</span><span class="nx">options</span><span class="p">)};</span> </span><span id="L-14"><a name="L-14"></a><span class="o">!</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">jade</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="s2">&quot;multiline-script&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="nx">filter</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;filter-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^:[\w-]+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">}}},</span><span class="s2">&quot;multiline-plain-text&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">markup</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)&lt;.+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">}},</span><span class="nx">doctype</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:^|\n)[\t ]*)doctype(?: .+)?/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="s2">&quot;flow-control&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">each</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^each .+? in\b/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(?:each|in)\b/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/,/</span><span class="p">}},</span><span class="nx">branch</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(?:if|unless|else|case|when|default|while)\b/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;keyword&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="nx">keyword</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">mixin</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)mixin .+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/^mixin/</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/\w+(?=\s*\(|\s*$)/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[(),.]/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)\+.+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">name</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^\+\w+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;function&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}}],</span><span class="nx">script</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*script(?:(?:&amp;[^(]+)?\([^)]+\))*[\t ]+).+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="s2">&quot;plain-text&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&amp;[^(]+)?\([^)]+\))*\/?[\t ]+).+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">tag</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&amp;[^(]+)?\([^)]+\))*\/?:?/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">attributes</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&amp;[^(]+\([^)]+\)/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\([^)]+\)/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;attr-value&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}},</span><span class="s2">&quot;attr-name&quot;</span><span class="o">:</span><span class="sr">/[\w-]+(?=\s*!?=|\s*[,)])/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[!=(),]+/</span><span class="p">}}],</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/:/</span><span class="p">}},</span><span class="nx">code</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^[\t ]*(?:-|!?=)).+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">}}],</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[.\-!=|]+/</span><span class="p">};</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">t</span><span class="o">=</span><span class="s2">&quot;(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+&quot;</span><span class="p">,</span><span class="nx">n</span><span class="o">=</span><span class="p">[{</span><span class="nx">filter</span><span class="o">:</span><span class="s2">&quot;atpl&quot;</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="s2">&quot;twig&quot;</span><span class="p">},{</span><span class="nx">filter</span><span class="o">:</span><span class="s2">&quot;coffee&quot;</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="s2">&quot;coffeescript&quot;</span><span class="p">},</span><span class="s2">&quot;ejs&quot;</span><span class="p">,</span><span class="s2">&quot;handlebars&quot;</span><span class="p">,</span><span class="s2">&quot;hogan&quot;</span><span class="p">,</span><span class="s2">&quot;less&quot;</span><span class="p">,</span><span class="s2">&quot;livescript&quot;</span><span class="p">,</span><span class="s2">&quot;markdown&quot;</span><span class="p">,</span><span class="s2">&quot;mustache&quot;</span><span class="p">,</span><span class="s2">&quot;plates&quot;</span><span class="p">,{</span><span class="nx">filter</span><span class="o">:</span><span class="s2">&quot;sass&quot;</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="s2">&quot;scss&quot;</span><span class="p">},</span><span class="s2">&quot;stylus&quot;</span><span class="p">,</span><span class="s2">&quot;swig&quot;</span><span class="p">],</span><span class="nx">a</span><span class="o">=</span><span class="p">{},</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="nx">r</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="nx">r</span><span class="o">&gt;</span><span class="nx">i</span><span class="p">;</span><span class="nx">i</span><span class="o">++</span><span class="p">){</span><span class="kd">var</span> <span class="nx">s</span><span class="o">=</span><span class="nx">n</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span><span class="nx">s</span><span class="o">=</span><span class="s2">&quot;string&quot;</span><span class="o">==</span><span class="k">typeof</span> <span class="nx">s</span><span class="o">?</span><span class="p">{</span><span class="nx">filter</span><span class="o">:</span><span class="nx">s</span><span class="p">,</span><span class="nx">language</span><span class="o">:</span><span class="nx">s</span><span class="p">}</span><span class="o">:</span><span class="nx">s</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">s</span><span class="p">.</span><span class="nx">language</span><span class="p">]</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="s2">&quot;filter-&quot;</span><span class="o">+</span><span class="nx">s</span><span class="p">.</span><span class="nx">filter</span><span class="p">]</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="nb">RegExp</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s2">&quot;{{filter_name}}&quot;</span><span class="p">,</span><span class="nx">s</span><span class="p">.</span><span class="nx">filter</span><span class="p">),</span><span class="s2">&quot;m&quot;</span><span class="p">),</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;filter-name&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^:[\w-]+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;variable&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">s</span><span class="p">.</span><span class="nx">language</span><span class="p">]}})}</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;jade&quot;</span><span class="p">,</span><span class="s2">&quot;filter&quot;</span><span class="p">,</span><span class="nx">a</span><span class="p">)}(</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-15"><a name="L-15"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">java</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;clike&quot;</span><span class="p">,{</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/</span><span class="p">,</span><span class="nx">number</span><span class="o">:</span><span class="sr">/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|&lt;&lt;?=?|&gt;&gt;?&gt;?=?|==?|&amp;[&amp;=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}});;</span> </span><span id="L-16"><a name="L-16"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">less</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;css&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="p">[</span><span class="sr">/\/\*[\w\W]*?\*\//</span><span class="p">,{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])\/\/.*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}],</span><span class="nx">atrule</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[:()]/</span><span class="p">}},</span><span class="nx">selector</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(?:@\{[\w-]+\}|[^{};\[email protected]])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/@+[\w-]+/</span><span class="p">}},</span><span class="nx">property</span><span class="o">:</span><span class="sr">/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[{}();:,]/</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="sr">/[+\-*\/]/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;less&quot;</span><span class="p">,</span><span class="s2">&quot;punctuation&quot;</span><span class="p">,{</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">less</span><span class="p">.</span><span class="kd">function</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;less&quot;</span><span class="p">,</span><span class="s2">&quot;property&quot;</span><span class="p">,{</span><span class="nx">variable</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/@[\w-]+\s*:/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/:/</span><span class="p">}},</span><span class="sr">/@@?[\w-]+/</span><span class="p">],</span><span class="s2">&quot;mixin-usage&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;function&quot;</span><span class="p">}});;</span> </span><span id="L-17"><a name="L-17"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">makefile</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|.)*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="sr">/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/</span><span class="p">,</span><span class="nx">builtin</span><span class="o">:</span><span class="sr">/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/</span><span class="p">,</span><span class="nx">symbol</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^[^:=\r\n]+(?=\s*:(?!=))/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/\$+(?:[^(){}:#=\s]+|(?=[({]))/</span><span class="p">}},</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/\$+(?:[^(){}:#=\s]+|\([@*%&lt;^+?][DF]\)|(?=[({]))/</span><span class="p">,</span><span class="nx">keyword</span><span class="o">:</span><span class="p">[</span><span class="sr">/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/</span><span class="p">,{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}],</span><span class="nx">operator</span><span class="o">:</span><span class="sr">/(?:::|[?:+!])?=|[|@]/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[:;(){}]/</span><span class="p">};;</span> </span><span id="L-18"><a name="L-18"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;markup&quot;</span><span class="p">,{}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;markdown&quot;</span><span class="p">,</span><span class="s2">&quot;prolog&quot;</span><span class="p">,{</span><span class="nx">blockquote</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^&gt;(?:[\t ]*&gt;)*/m</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">code</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(?: {4}|\t).+/m</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;keyword&quot;</span><span class="p">},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/``.+?``|`[^`\n]+`/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;keyword&quot;</span><span class="p">}],</span><span class="nx">title</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\w+.*(?:\r?\n|\r)(?:==+|--+)/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;important&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/==+$|--+$/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)#+.+/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;important&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^#+|#+$/</span><span class="p">}}],</span><span class="nx">hr</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">list</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="s2">&quot;url-reference&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/!?\[[^\]]+\]:[\t ]+(?:\S+|&lt;(?:\\.|[^&gt;\\])+&gt;)(?:[\t ]+(?:&quot;(?:\\.|[^&quot;\\])*&quot;|&#39;(?:\\.|[^&#39;\\])*&#39;|\((?:\\.|[^)\\])*\)))?/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(!?\[)[^\]]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="sr">/(?:&quot;(?:\\.|[^&quot;\\])*&quot;|&#39;(?:\\.|[^&#39;\\])*&#39;|\((?:\\.|[^)\\])*\))$/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^[\[\]!:]|[&lt;&gt;]/</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;url&quot;</span><span class="p">},</span><span class="nx">bold</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^\*\*|^__|\*\*$|__$/</span><span class="p">}},</span><span class="nx">italic</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^[*_]|[*_]$/</span><span class="p">}},</span><span class="nx">url</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+&quot;(?:\\.|[^&quot;\\])*&quot;)?\)| ?\[[^\]\n]*\])/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">variable</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(!?\[)[^\]]+(?=\]$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&quot;(?:\\.|[^&quot;\\])*&quot;(?=\)$)/</span><span class="p">}}}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">bold</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">url</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">url</span><span class="p">),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">italic</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">url</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">url</span><span class="p">),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">bold</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">italic</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">italic</span><span class="p">),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">italic</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">bold</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markdown</span><span class="p">.</span><span class="nx">bold</span><span class="p">);;</span> </span><span id="L-19"><a name="L-19"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">php</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;clike&quot;</span><span class="p">,{</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i</span><span class="p">,</span><span class="nx">constant</span><span class="o">:</span><span class="sr">/\b[A-Z0-9_]{2,}\b/</span><span class="p">,</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;php&quot;</span><span class="p">,</span><span class="s2">&quot;class-name&quot;</span><span class="p">,{</span><span class="s2">&quot;shell-comment&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])#.*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;comment&quot;</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;php&quot;</span><span class="p">,</span><span class="s2">&quot;keyword&quot;</span><span class="p">,{</span><span class="nx">delimiter</span><span class="o">:</span><span class="sr">/\?&gt;|&lt;\?(?:php)?/i</span><span class="p">,</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/\$\w+\b/i</span><span class="p">,</span><span class="s2">&quot;package&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\\|namespace\s+|use\s+)[\w\\]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/\\/</span><span class="p">}}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;php&quot;</span><span class="p">,</span><span class="s2">&quot;operator&quot;</span><span class="p">,{</span><span class="nx">property</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(-&gt;)[\w]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;before-highlight&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="s2">&quot;php&quot;</span><span class="o">===</span><span class="nx">e</span><span class="p">.</span><span class="nx">language</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">tokenStack</span><span class="o">=</span><span class="p">[],</span><span class="nx">e</span><span class="p">.</span><span class="nx">backupCode</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/(?:&lt;\?php|&lt;\?)[\w\W]*?(?:\?&gt;)/gi</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">n</span><span class="p">){</span><span class="k">return</span> <span class="nx">e</span><span class="p">.</span><span class="nx">tokenStack</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">n</span><span class="p">),</span><span class="s2">&quot;{{{PHP&quot;</span><span class="o">+</span><span class="nx">e</span><span class="p">.</span><span class="nx">tokenStack</span><span class="p">.</span><span class="nx">length</span><span class="o">+</span><span class="s2">&quot;}}}&quot;</span><span class="p">}))}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;before-insert&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="s2">&quot;php&quot;</span><span class="o">===</span><span class="nx">e</span><span class="p">.</span><span class="nx">language</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">backupCode</span><span class="p">,</span><span class="k">delete</span> <span class="nx">e</span><span class="p">.</span><span class="nx">backupCode</span><span class="p">)}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;after-highlight&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;php&quot;</span><span class="o">===</span><span class="nx">e</span><span class="p">.</span><span class="nx">language</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">n</span><span class="p">,</span><span class="nx">a</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">n</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">tokenStack</span><span class="p">[</span><span class="nx">a</span><span class="p">];</span><span class="nx">a</span><span class="o">++</span><span class="p">)</span><span class="nx">e</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s2">&quot;{{{PHP&quot;</span><span class="o">+</span><span class="p">(</span><span class="nx">a</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;}}}&quot;</span><span class="p">,</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">highlight</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">grammar</span><span class="p">,</span><span class="s2">&quot;php&quot;</span><span class="p">));</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">highlightedCode</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;wrap&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="s2">&quot;php&quot;</span><span class="o">===</span><span class="nx">e</span><span class="p">.</span><span class="nx">language</span><span class="o">&amp;&amp;</span><span class="s2">&quot;markup&quot;</span><span class="o">===</span><span class="nx">e</span><span class="p">.</span><span class="nx">type</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">content</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">content</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/(\{\{\{PHP[0-9]+\}\}\})/g</span><span class="p">,</span><span class="s1">&#39;&lt;span class=&quot;token php&quot;&gt;$1&lt;/span&gt;&#39;</span><span class="p">))}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;php&quot;</span><span class="p">,</span><span class="s2">&quot;comment&quot;</span><span class="p">,{</span><span class="nx">markup</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/&lt;[^?]\/?(.*?)&gt;/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">markup</span><span class="p">},</span><span class="nx">php</span><span class="o">:</span><span class="sr">/\{\{\{PHP[0-9]+\}\}\}/</span><span class="p">}));;</span> </span><span id="L-20"><a name="L-20"></a><span class="o">!</span><span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">){</span><span class="kd">var</span> <span class="nx">s</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">);</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">jsx</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;markup&quot;</span><span class="p">,</span><span class="nx">s</span><span class="p">),</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">jsx</span><span class="p">.</span><span class="nx">tag</span><span class="p">.</span><span class="nx">pattern</span><span class="o">=</span><span class="sr">/&lt;\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:(&quot;|&#39;)(\\?[\w\W])*?\1|[^\s&#39;&quot;&gt;=]+|(\{[\w\W]*?\})))?\s*)*\/?&gt;/i</span><span class="p">,</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">jsx</span><span class="p">.</span><span class="nx">tag</span><span class="p">.</span><span class="nx">inside</span><span class="p">[</span><span class="s2">&quot;attr-value&quot;</span><span class="p">].</span><span class="nx">pattern</span><span class="o">=</span><span class="sr">/=[^\{](?:(&#39;|&quot;)[\w\W]*?(\1)|[^\s&gt;]+)/i</span><span class="p">,</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;inside&quot;</span><span class="p">,</span><span class="s2">&quot;attr-value&quot;</span><span class="p">,{</span><span class="nx">script</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/=(\{(?:\{[^}]*\}|[^}])+\})/i</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">.</span><span class="kd">function</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[={}[\];(),.:]/</span><span class="p">,</span><span class="nx">keyword</span><span class="o">:</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">javascript</span><span class="p">.</span><span class="nx">keyword</span><span class="p">},</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;language-javascript&quot;</span><span class="p">}},</span><span class="nx">a</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">jsx</span><span class="p">.</span><span class="nx">tag</span><span class="p">)}(</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-21"><a name="L-21"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">rest</span><span class="o">=</span><span class="p">{</span><span class="nx">table</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/\||(?:\+[=-]+)+\+/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\s*)(?:=+ +)+=+((?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[=-]+/</span><span class="p">}}],</span><span class="s2">&quot;substitution-def&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">substitution</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;attr-value&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^\||\|$/</span><span class="p">}},</span><span class="nx">directive</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/( +)[^:]+::/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;function&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/::$/</span><span class="p">}}}},</span><span class="s2">&quot;link-target&quot;</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*\.\. )\[[^\]]+\]/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^\[|\]$/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^_|:$/</span><span class="p">}}],</span><span class="nx">directive</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*\.\. )[^:]+::/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;function&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/::$/</span><span class="p">}},</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">title</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(([!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^[!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~]+|[!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~]+$/</span><span class="p">,</span><span class="nx">important</span><span class="o">:</span><span class="sr">/.+/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~]+$/</span><span class="p">,</span><span class="nx">important</span><span class="o">:</span><span class="sr">/.+/</span><span class="p">}}],</span><span class="nx">hr</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((?:\r?\n|\r){2})([!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="nx">field</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*):[^:\r\n]+:(?= )/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;attr-name&quot;</span><span class="p">},</span><span class="s2">&quot;command-line-option&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)(?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|&lt;[^&lt;&gt;]+&gt;))?(?:, (?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|&lt;[^&lt;&gt;]+&gt;))?)*(?=(?:\r?\n|\r)? {2,}\S)/im</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;symbol&quot;</span><span class="p">},</span><span class="s2">&quot;literal-block&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;literal-block-punctuation&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^::/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">}}},</span><span class="s2">&quot;quoted-literal-block&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/::(?:\r?\n|\r){2}([!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="s2">&quot;literal-block-punctuation&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(?:::|([!&quot;#$%&amp;&#39;()*+,\-.\/:;&lt;=&gt;[email protected]\[\\\]^_`{|}~])\1*)/m</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">}}},</span><span class="s2">&quot;list-bullet&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;punctuation&quot;</span><span class="p">},</span><span class="s2">&quot;doctest-block&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)&gt;&gt;&gt; .+(?:(?:\r?\n|\r).+)*/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^&gt;&gt;&gt;/</span><span class="p">}},</span><span class="nx">inline</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[\s\-:\/&#39;&quot;&lt;(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s).*?[^\s]\2(?=[\s\-.,:;!?\\\/&#39;&quot;)\]}]|$))/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">bold</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\*\*).+(?=\*\*$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">italic</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\*).+(?=\*$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="s2">&quot;inline-literal&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^``).+(?=``$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;symbol&quot;</span><span class="p">},</span><span class="nx">role</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^:[^:]+:|:[^:]+:$/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;function&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^:|:$/</span><span class="p">}},</span><span class="s2">&quot;interpreted-text&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^`).+(?=`$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;attr-value&quot;</span><span class="p">},</span><span class="nx">substitution</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\|).+(?=\|$)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;attr-value&quot;</span><span class="p">},</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/\*\*?|``?|\|/</span><span class="p">}}],</span><span class="nx">link</span><span class="o">:</span><span class="p">[{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/\[[^\]]+\]_(?=[\s\-.,:;!?\\\/&#39;&quot;)\]}]|$)/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^\[|\]_$/</span><span class="p">}},{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(?:\b[a-z\d](?:[_.:+]?[a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/&#39;&quot;)\]}]|$)/i</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/^_?`|`$|`?_?_$/</span><span class="p">}}],</span><span class="nx">punctuation</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}};;</span> </span><span id="L-22"><a name="L-22"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;clike&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/#(?!\{[^\r\n]*?\}).*/</span><span class="p">,</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;ruby&quot;</span><span class="p">,</span><span class="s2">&quot;keyword&quot;</span><span class="p">,{</span><span class="nx">regex</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/</span><span class="p">,</span><span class="nx">symbol</span><span class="o">:</span><span class="sr">/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;ruby&quot;</span><span class="p">,</span><span class="s2">&quot;number&quot;</span><span class="p">,{</span><span class="nx">builtin</span><span class="o">:</span><span class="sr">/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/</span><span class="p">,</span><span class="nx">constant</span><span class="o">:</span><span class="sr">/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">.</span><span class="nx">string</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(&quot;|&#39;)(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">interpolation</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/#\{[^}]+\}/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">delimiter</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^#\{|\}$/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;tag&quot;</span><span class="p">},</span><span class="nx">rest</span><span class="o">:</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">ruby</span><span class="p">)}}}};;</span> </span><span id="L-23"><a name="L-23"></a><span class="o">!</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;css&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}),</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;sass&quot;</span><span class="p">,</span><span class="s2">&quot;atrule&quot;</span><span class="p">,{</span><span class="s2">&quot;atrule-line&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^(?:[ \t]*)[@+=].+/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">atrule</span><span class="o">:</span><span class="sr">/(?:@[\w-]+|[+=])/m</span><span class="p">}}}),</span><span class="k">delete</span> <span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="p">.</span><span class="nx">atrule</span><span class="p">;</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="sr">/((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i</span><span class="p">,</span><span class="nx">t</span><span class="o">=</span><span class="sr">/[-+*\/%]|[=!]=|&lt;=?|&gt;=?|\b(?:and|or|not)\b/</span><span class="p">;</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;sass&quot;</span><span class="p">,</span><span class="s2">&quot;property&quot;</span><span class="p">,{</span><span class="s2">&quot;variable-line&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^[ \t]*\$.+/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/:/</span><span class="p">,</span><span class="nx">variable</span><span class="o">:</span><span class="nx">a</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="nx">t</span><span class="p">}},</span><span class="s2">&quot;property-line&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">property</span><span class="o">:</span><span class="p">[</span><span class="sr">/[^:\s]+(?=\s*:)/</span><span class="p">,{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(:)[^:\s]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}],</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/:/</span><span class="p">,</span><span class="nx">variable</span><span class="o">:</span><span class="nx">a</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="nx">t</span><span class="p">,</span><span class="nx">important</span><span class="o">:</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="p">.</span><span class="nx">important</span><span class="p">}}}),</span><span class="k">delete</span> <span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="p">.</span><span class="nx">property</span><span class="p">,</span><span class="k">delete</span> <span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="p">.</span><span class="nx">important</span><span class="p">,</span><span class="k">delete</span> <span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sass</span><span class="p">.</span><span class="nx">selector</span><span class="p">,</span><span class="nx">e</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;sass&quot;</span><span class="p">,</span><span class="s2">&quot;punctuation&quot;</span><span class="p">,{</span><span class="nx">selector</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}})}(</span><span class="nx">Prism</span><span class="p">);;</span> </span><span id="L-24"><a name="L-24"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">scss</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="s2">&quot;css&quot;</span><span class="p">,{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">atrule</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">rule</span><span class="o">:</span><span class="sr">/@[\w-]+/</span><span class="p">}},</span><span class="nx">url</span><span class="o">:</span><span class="sr">/(?:[-a-z]+-)*url(?=\()/i</span><span class="p">,</span><span class="nx">selector</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&amp;|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m</span><span class="p">,</span><span class="nx">inside</span><span class="o">:</span><span class="p">{</span><span class="nx">placeholder</span><span class="o">:</span><span class="sr">/%[-_\w]+/</span><span class="p">}}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;scss&quot;</span><span class="p">,</span><span class="s2">&quot;atrule&quot;</span><span class="p">,{</span><span class="nx">keyword</span><span class="o">:</span><span class="p">[</span><span class="sr">/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i</span><span class="p">,{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/( +)(?:from|through)(?= )/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}]}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;scss&quot;</span><span class="p">,</span><span class="s2">&quot;property&quot;</span><span class="p">,{</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/\$[-_\w]+|#\{\$[-_\w]+\}/</span><span class="p">}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;scss&quot;</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="p">,{</span><span class="nx">placeholder</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/%[-_\w]+/</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;selector&quot;</span><span class="p">},</span><span class="nx">statement</span><span class="o">:</span><span class="sr">/\B!(?:default|optional)\b/i</span><span class="p">,</span><span class="s2">&quot;boolean&quot;</span><span class="o">:</span><span class="sr">/\b(?:true|false)\b/</span><span class="p">,</span><span class="s2">&quot;null&quot;</span><span class="o">:</span><span class="sr">/\bnull\b/</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\s)(?:[-+*\/%]|[=!]=|&lt;=?|&gt;=?|and|or|not)(?=\s)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">}}),</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">scss</span><span class="p">.</span><span class="nx">atrule</span><span class="p">.</span><span class="nx">inside</span><span class="p">.</span><span class="nx">rest</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">clone</span><span class="p">(</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">scss</span><span class="p">);;</span> </span><span id="L-25"><a name="L-25"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">sql</span><span class="o">=</span><span class="p">{</span><span class="nx">comment</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:--|\/\/|#).*)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(^|[^@\\])(&quot;|&#39;)(?:\\?[\s\S])*?\2/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">variable</span><span class="o">:</span><span class="sr">/@[\w.$]+|@(&quot;|&#39;|`)(?:\\?[\s\S])+?\1/</span><span class="p">,</span><span class="s2">&quot;function&quot;</span><span class="o">:</span><span class="sr">/\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i</span><span class="p">,</span><span class="nx">keyword</span><span class="o">:</span><span class="sr">/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATETIME|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i</span><span class="p">,</span><span class="s2">&quot;boolean&quot;</span><span class="o">:</span><span class="sr">/\b(?:TRUE|FALSE|NULL)\b/i</span><span class="p">,</span><span class="nx">number</span><span class="o">:</span><span class="sr">/\b-?(?:0x)?\d*\.?[\da-f]+\b/</span><span class="p">,</span><span class="nx">operator</span><span class="o">:</span><span class="sr">/[-+*\/=%^~]|&amp;&amp;?|\|?\||!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/[;[\]()`,.]/</span><span class="p">};;</span> </span><span id="L-26"><a name="L-26"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">yaml</span><span class="o">=</span><span class="p">{</span><span class="nx">scalar</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([\-:]\s*(![^\s]+)?[ \t]*[|&gt;])[ \t]*(?:(\n[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;string&quot;</span><span class="p">},</span><span class="nx">comment</span><span class="o">:</span><span class="sr">/#[^\n]+/</span><span class="p">,</span><span class="nx">key</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/(\s*[:\-,[{\n?][ \t]*(![^\s]+)?[ \t]*)[^\n{[\]},#]+?(?=\s*:\s)/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;atrule&quot;</span><span class="p">},</span><span class="nx">directive</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/((^|\n)[ \t]*)%[^\n]+/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;important&quot;</span><span class="p">},</span><span class="nx">datetime</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([:\-,[{]\s*(![^\s]+)?[ \t]*)(\d{4}-\d\d?-\d\d?([tT]|[ \t]+)\d\d?:\d{2}:\d{2}(\.\d*)?[ \t]*(Z|[-+]\d\d?(:\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(:\d{2}(\.\d*)?)?)(?=[ \t]*(\n|$|,|]|}))/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;number&quot;</span><span class="p">},</span><span class="s2">&quot;boolean&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([:\-,[{]\s*(![^\s]+)?[ \t]*)(true|false)[ \t]*(?=\n|$|,|]|})/i</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;important&quot;</span><span class="p">},</span><span class="s2">&quot;null&quot;</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([:\-,[{]\s*(![^\s]+)?[ \t]*)(null|~)[ \t]*(?=\n|$|,|]|})/i</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">,</span><span class="nx">alias</span><span class="o">:</span><span class="s2">&quot;important&quot;</span><span class="p">},</span><span class="nx">string</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([:\-,[{]\s*(![^\s]+)?[ \t]*)(&quot;(?:\\.|[^&quot;\\])*&quot;|&#39;(?:\\.|[^&#39;\\])*&#39;)(?=[ \t]*(\n|$|,|]|}))/</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">number</span><span class="o">:</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="sr">/([:\-,[{]\s*(![^\s]+)?[ \t]*)[+\-]?(0x[\dA-Fa-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)[ \t]*(?=\n|$|,|]|})/i</span><span class="p">,</span><span class="nx">lookbehind</span><span class="o">:!</span><span class="mi">0</span><span class="p">},</span><span class="nx">tag</span><span class="o">:</span><span class="sr">/![^\s]+/</span><span class="p">,</span><span class="nx">important</span><span class="o">:</span><span class="sr">/[&amp;*][\w]+/</span><span class="p">,</span><span class="nx">punctuation</span><span class="o">:</span><span class="sr">/([:[\]{}\-,|&gt;?]|---|\.\.\.)/</span><span class="p">};;</span> </span><span id="L-27"><a name="L-27"></a><span class="o">!</span><span class="kd">function</span><span class="p">(){</span><span class="kd">function</span> <span class="nx">e</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">t</span><span class="p">){</span><span class="k">return</span> <span class="nb">Array</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">slice</span><span class="p">.</span><span class="nx">call</span><span class="p">((</span><span class="nx">t</span><span class="o">||</span><span class="nb">document</span><span class="p">).</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="nx">e</span><span class="p">))}</span><span class="kd">function</span> <span class="nx">t</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">t</span><span class="p">){</span><span class="k">return</span> <span class="nx">t</span><span class="o">=</span><span class="s2">&quot; &quot;</span><span class="o">+</span><span class="nx">t</span><span class="o">+</span><span class="s2">&quot; &quot;</span><span class="p">,(</span><span class="s2">&quot; &quot;</span><span class="o">+</span><span class="nx">e</span><span class="p">.</span><span class="nx">className</span><span class="o">+</span><span class="s2">&quot; &quot;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/[\n\t]/g</span><span class="p">,</span><span class="s2">&quot; &quot;</span><span class="p">).</span><span class="nx">indexOf</span><span class="p">(</span><span class="nx">t</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">}</span><span class="kd">function</span> <span class="nx">n</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="nx">n</span><span class="p">,</span><span class="nx">i</span><span class="p">){</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">a</span><span class="p">,</span><span class="nx">o</span><span class="o">=</span><span class="nx">n</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\s+/g</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class="p">),</span><span class="nx">l</span><span class="o">=+</span><span class="nx">e</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;data-line-offset&quot;</span><span class="p">)</span><span class="o">||</span><span class="mi">0</span><span class="p">,</span><span class="nx">d</span><span class="o">=</span><span class="nx">r</span><span class="p">()</span><span class="o">?</span><span class="nb">parseInt</span><span class="o">:</span><span class="nb">parseFloat</span><span class="p">,</span><span class="nx">c</span><span class="o">=</span><span class="nx">d</span><span class="p">(</span><span class="nx">getComputedStyle</span><span class="p">(</span><span class="nx">e</span><span class="p">).</span><span class="nx">lineHeight</span><span class="p">),</span><span class="nx">s</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">a</span><span class="o">=</span><span class="nx">o</span><span class="p">[</span><span class="nx">s</span><span class="o">++</span><span class="p">];){</span><span class="nx">a</span><span class="o">=</span><span class="nx">a</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s2">&quot;-&quot;</span><span class="p">);</span><span class="kd">var</span> <span class="nx">u</span><span class="o">=+</span><span class="nx">a</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="nx">h</span><span class="o">=+</span><span class="nx">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">||</span><span class="nx">u</span><span class="p">,</span><span class="nx">m</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span><span class="nx">m</span><span class="p">.</span><span class="nx">textContent</span><span class="o">=</span><span class="nb">Array</span><span class="p">(</span><span class="nx">h</span><span class="o">-</span><span class="nx">u</span><span class="o">+</span><span class="mi">2</span><span class="p">).</span><span class="nx">join</span><span class="p">(</span><span class="s2">&quot; \n&quot;</span><span class="p">),</span><span class="nx">m</span><span class="p">.</span><span class="nx">className</span><span class="o">=</span><span class="p">(</span><span class="nx">i</span><span class="o">||</span><span class="s2">&quot;&quot;</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot; line-highlight&quot;</span><span class="p">,</span><span class="nx">t</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="s2">&quot;line-numbers&quot;</span><span class="p">)</span><span class="o">||</span><span class="p">(</span><span class="nx">m</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s2">&quot;data-start&quot;</span><span class="p">,</span><span class="nx">u</span><span class="p">),</span><span class="nx">h</span><span class="o">&gt;</span><span class="nx">u</span><span class="o">&amp;&amp;</span><span class="nx">m</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s2">&quot;data-end&quot;</span><span class="p">,</span><span class="nx">h</span><span class="p">)),</span><span class="nx">m</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">top</span><span class="o">=</span><span class="p">(</span><span class="nx">u</span><span class="o">-</span><span class="nx">l</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="nx">c</span><span class="o">+</span><span class="s2">&quot;px&quot;</span><span class="p">,</span><span class="nx">t</span><span class="p">(</span><span class="nx">e</span><span class="p">,</span><span class="s2">&quot;line-numbers&quot;</span><span class="p">)</span><span class="o">?</span><span class="nx">e</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">m</span><span class="p">)</span><span class="o">:</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;code&quot;</span><span class="p">)</span><span class="o">||</span><span class="nx">e</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">m</span><span class="p">)}}</span><span class="kd">function</span> <span class="nx">i</span><span class="p">(){</span><span class="kd">var</span> <span class="nx">t</span><span class="o">=</span><span class="nx">location</span><span class="p">.</span><span class="nx">hash</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><span class="nx">e</span><span class="p">(</span><span class="s2">&quot;.temporary.line-highlight&quot;</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">removeChild</span><span class="p">(</span><span class="nx">e</span><span class="p">)});</span><span class="kd">var</span> <span class="nx">i</span><span class="o">=</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\.([\d,-]+)$/</span><span class="p">)</span><span class="o">||</span><span class="p">[,</span><span class="s2">&quot;&quot;</span><span class="p">])[</span><span class="mi">1</span><span class="p">];</span><span class="k">if</span><span class="p">(</span><span class="nx">i</span><span class="o">&amp;&amp;!</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="nx">t</span><span class="p">)){</span><span class="kd">var</span> <span class="nx">r</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">lastIndexOf</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)),</span><span class="nx">a</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="nx">r</span><span class="p">);</span><span class="nx">a</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">a</span><span class="p">.</span><span class="nx">hasAttribute</span><span class="p">(</span><span class="s2">&quot;data-line&quot;</span><span class="p">)</span><span class="o">||</span><span class="nx">a</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s2">&quot;data-line&quot;</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">),</span><span class="nx">n</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="nx">i</span><span class="p">,</span><span class="s2">&quot;temporary &quot;</span><span class="p">),</span><span class="nb">document</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.temporary.line-highlight&quot;</span><span class="p">).</span><span class="nx">scrollIntoView</span><span class="p">())}}</span><span class="k">if</span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">Prism</span><span class="p">){</span><span class="kd">var</span> <span class="nx">r</span><span class="o">=</span><span class="kd">function</span><span class="p">(){</span><span class="kd">var</span> <span class="nx">e</span><span class="p">;</span><span class="k">return</span> <span class="kd">function</span><span class="p">(){</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;undefined&quot;</span><span class="o">==</span><span class="k">typeof</span> <span class="nx">e</span><span class="p">){</span><span class="kd">var</span> <span class="nx">t</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span><span class="nx">t</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">fontSize</span><span class="o">=</span><span class="s2">&quot;13px&quot;</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">lineHeight</span><span class="o">=</span><span class="s2">&quot;1.5&quot;</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">padding</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">border</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="s2">&quot;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&quot;</span><span class="p">,</span><span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">t</span><span class="p">),</span><span class="nx">e</span><span class="o">=</span><span class="mi">38</span><span class="o">===</span><span class="nx">t</span><span class="p">.</span><span class="nx">offsetHeight</span><span class="p">,</span><span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">removeChild</span><span class="p">(</span><span class="nx">t</span><span class="p">)}</span><span class="k">return</span> <span class="nx">e</span><span class="p">}}(),</span><span class="nx">a</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;complete&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">t</span><span class="p">){</span><span class="kd">var</span> <span class="nx">r</span><span class="o">=</span><span class="nx">t</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">,</span><span class="nx">o</span><span class="o">=</span><span class="nx">r</span><span class="o">&amp;&amp;</span><span class="nx">r</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;data-line&quot;</span><span class="p">);</span><span class="nx">r</span><span class="o">&amp;&amp;</span><span class="nx">o</span><span class="o">&amp;&amp;</span><span class="sr">/pre/i</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">r</span><span class="p">.</span><span class="nx">nodeName</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">clearTimeout</span><span class="p">(</span><span class="nx">a</span><span class="p">),</span><span class="nx">e</span><span class="p">(</span><span class="s2">&quot;.line-highlight&quot;</span><span class="p">,</span><span class="nx">r</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">removeChild</span><span class="p">(</span><span class="nx">e</span><span class="p">)}),</span><span class="nx">n</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="nx">o</span><span class="p">),</span><span class="nx">a</span><span class="o">=</span><span class="nx">setTimeout</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span><span class="mi">1</span><span class="p">))}),</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s2">&quot;hashchange&quot;</span><span class="p">,</span><span class="nx">i</span><span class="p">)}}();;</span> </span><span id="L-28"><a name="L-28"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;complete&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">if</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">){</span><span class="kd">var</span> <span class="nx">t</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">,</span><span class="nx">s</span><span class="o">=</span><span class="sr">/\s*\bline-numbers\b\s*/</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="nx">t</span><span class="o">&amp;&amp;</span><span class="sr">/pre/i</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">nodeName</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">className</span><span class="p">)</span><span class="o">||</span><span class="nx">s</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">className</span><span class="p">))</span><span class="o">&amp;&amp;!</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.line-numbers-rows&quot;</span><span class="p">)){</span><span class="nx">s</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">className</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">className</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">className</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="nx">s</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">)),</span><span class="nx">s</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">className</span><span class="p">)</span><span class="o">||</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">className</span><span class="o">+=</span><span class="s2">&quot; line-numbers&quot;</span><span class="p">);</span><span class="kd">var</span> <span class="nx">a</span><span class="p">,</span><span class="nx">n</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\n(?!$)/g</span><span class="p">),</span><span class="nx">l</span><span class="o">=</span><span class="nx">n</span><span class="o">?</span><span class="nx">n</span><span class="p">.</span><span class="nx">length</span><span class="o">+</span><span class="mi">1</span><span class="o">:</span><span class="mi">1</span><span class="p">,</span><span class="nx">m</span><span class="o">=</span><span class="k">new</span> <span class="nb">Array</span><span class="p">(</span><span class="nx">l</span><span class="o">+</span><span class="mi">1</span><span class="p">);</span><span class="nx">m</span><span class="o">=</span><span class="nx">m</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s2">&quot;&lt;span&gt;&lt;/span&gt;&quot;</span><span class="p">),</span><span class="nx">a</span><span class="o">=</span><span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;span&quot;</span><span class="p">),</span><span class="nx">a</span><span class="p">.</span><span class="nx">className</span><span class="o">=</span><span class="s2">&quot;line-numbers-rows&quot;</span><span class="p">,</span><span class="nx">a</span><span class="p">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">m</span><span class="p">,</span><span class="nx">t</span><span class="p">.</span><span class="nx">hasAttribute</span><span class="p">(</span><span class="s2">&quot;data-start&quot;</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">counterReset</span><span class="o">=</span><span class="s2">&quot;linenumber &quot;</span><span class="o">+</span><span class="p">(</span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;data-start&quot;</span><span class="p">),</span><span class="mi">10</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">)),</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">a</span><span class="p">)}}});;</span> </span><span id="L-29"><a name="L-29"></a><span class="o">!</span><span class="kd">function</span><span class="p">(){</span><span class="k">if</span><span class="p">(</span><span class="nx">self</span><span class="p">.</span><span class="nx">Prism</span><span class="p">){</span><span class="kd">var</span> <span class="nx">i</span><span class="o">=</span><span class="sr">/\b([a-z]{3,7}:\/\/|tel:)[\w\-+%~/.:#=?&amp;amp;]+/</span><span class="p">,</span><span class="nx">n</span><span class="o">=</span><span class="sr">/\b\[email protected][\w.]+[a-z]{2}/</span><span class="p">,</span><span class="nx">t</span><span class="o">=</span><span class="sr">/\[([^\]]+)]\(([^)]+)\)/</span><span class="p">,</span><span class="nx">e</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;comment&quot;</span><span class="p">,</span><span class="s2">&quot;url&quot;</span><span class="p">,</span><span class="s2">&quot;attr-value&quot;</span><span class="p">,</span><span class="s2">&quot;string&quot;</span><span class="p">];</span><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">a</span> <span class="k">in</span> <span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">){</span><span class="kd">var</span> <span class="nx">r</span><span class="o">=</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">[</span><span class="nx">a</span><span class="p">];</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">DFS</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="nx">r</span><span class="p">,</span><span class="nx">l</span><span class="p">){</span><span class="nx">e</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="o">&amp;&amp;</span><span class="s2">&quot;Array&quot;</span><span class="o">!==</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">type</span><span class="p">(</span><span class="nx">r</span><span class="p">)</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">r</span><span class="p">.</span><span class="nx">pattern</span><span class="o">||</span><span class="p">(</span><span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="p">[</span><span class="nx">a</span><span class="p">]</span><span class="o">=</span><span class="p">{</span><span class="nx">pattern</span><span class="o">:</span><span class="nx">r</span><span class="p">}),</span><span class="nx">r</span><span class="p">.</span><span class="nx">inside</span><span class="o">=</span><span class="nx">r</span><span class="p">.</span><span class="nx">inside</span><span class="o">||</span><span class="p">{},</span><span class="s2">&quot;comment&quot;</span><span class="o">==</span><span class="nx">l</span><span class="o">&amp;&amp;</span><span class="p">(</span><span class="nx">r</span><span class="p">.</span><span class="nx">inside</span><span class="p">[</span><span class="s2">&quot;md-link&quot;</span><span class="p">]</span><span class="o">=</span><span class="nx">t</span><span class="p">),</span><span class="s2">&quot;attr-value&quot;</span><span class="o">==</span><span class="nx">l</span><span class="o">?</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">languages</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="s2">&quot;inside&quot;</span><span class="p">,</span><span class="s2">&quot;punctuation&quot;</span><span class="p">,{</span><span class="s2">&quot;url-link&quot;</span><span class="o">:</span><span class="nx">i</span><span class="p">},</span><span class="nx">r</span><span class="p">)</span><span class="o">:</span><span class="nx">r</span><span class="p">.</span><span class="nx">inside</span><span class="p">[</span><span class="s2">&quot;url-link&quot;</span><span class="p">]</span><span class="o">=</span><span class="nx">i</span><span class="p">,</span><span class="nx">r</span><span class="p">.</span><span class="nx">inside</span><span class="p">[</span><span class="s2">&quot;email-link&quot;</span><span class="p">]</span><span class="o">=</span><span class="nx">n</span><span class="p">)}),</span><span class="nx">r</span><span class="p">[</span><span class="s2">&quot;url-link&quot;</span><span class="p">]</span><span class="o">=</span><span class="nx">i</span><span class="p">,</span><span class="nx">r</span><span class="p">[</span><span class="s2">&quot;email-link&quot;</span><span class="p">]</span><span class="o">=</span><span class="nx">n</span><span class="p">}</span><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;wrap&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">){</span><span class="k">if</span><span class="p">(</span><span class="sr">/-link$/</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">i</span><span class="p">.</span><span class="nx">type</span><span class="p">)){</span><span class="nx">i</span><span class="p">.</span><span class="nx">tag</span><span class="o">=</span><span class="s2">&quot;a&quot;</span><span class="p">;</span><span class="kd">var</span> <span class="nx">n</span><span class="o">=</span><span class="nx">i</span><span class="p">.</span><span class="nx">content</span><span class="p">;</span><span class="k">if</span><span class="p">(</span><span class="s2">&quot;email-link&quot;</span><span class="o">==</span><span class="nx">i</span><span class="p">.</span><span class="nx">type</span><span class="o">&amp;&amp;</span><span class="mi">0</span><span class="o">!=</span><span class="nx">n</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s2">&quot;mailto:&quot;</span><span class="p">))</span><span class="nx">n</span><span class="o">=</span><span class="s2">&quot;mailto:&quot;</span><span class="o">+</span><span class="nx">n</span><span class="p">;</span><span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="s2">&quot;md-link&quot;</span><span class="o">==</span><span class="nx">i</span><span class="p">.</span><span class="nx">type</span><span class="p">){</span><span class="kd">var</span> <span class="nx">e</span><span class="o">=</span><span class="nx">i</span><span class="p">.</span><span class="nx">content</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">t</span><span class="p">);</span><span class="nx">n</span><span class="o">=</span><span class="nx">e</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="nx">i</span><span class="p">.</span><span class="nx">content</span><span class="o">=</span><span class="nx">e</span><span class="p">[</span><span class="mi">1</span><span class="p">]}</span><span class="nx">i</span><span class="p">.</span><span class="nx">attributes</span><span class="p">.</span><span class="nx">href</span><span class="o">=</span><span class="nx">n</span><span class="p">}})}}();;</span> </span><span id="L-30"><a name="L-30"></a><span class="nx">Prism</span><span class="p">.</span><span class="nx">hooks</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;before-highlight&quot;</span><span class="p">,</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span><span class="k">if</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">){</span><span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">,</span><span class="nx">o</span><span class="o">=</span><span class="sr">/\s*\bkeep-initial-line-feed\b\s*/</span><span class="p">;</span><span class="o">!</span><span class="nx">a</span><span class="o">||</span><span class="s2">&quot;pre&quot;</span><span class="o">!==</span><span class="nx">a</span><span class="p">.</span><span class="nx">nodeName</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">()</span><span class="o">||</span><span class="nx">o</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">a</span><span class="p">.</span><span class="nx">className</span><span class="p">)</span><span class="o">||</span><span class="nx">o</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">element</span><span class="p">.</span><span class="nx">className</span><span class="p">)</span><span class="o">||</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="o">=</span><span class="nx">e</span><span class="p">.</span><span class="nx">code</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/^(?:\r?\n|\r)/</span><span class="p">,</span><span class="s2">&quot;&quot;</span><span class="p">))}});;</span> </span></pre></div> </td></tr></table>
javascript