2023-10-18 11:24:20 +01:00
/ * P r i s m J S 1 . 2 9 . 0
2023-10-18 18:03:54 +01:00
https : //prismjs.com/download.html#themes=prism-twilight&languages=markup+css+clike+javascript+bash+go+go-module+json+ruby+typescript+yaml&plugins=line-highlight+line-numbers+autoloader+toolbar+copy-to-clipboard */
2023-10-18 11:24:20 +01:00
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : { } , Prism = function ( e ) { var n = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i , t = 0 , r = { } , a = { manual : e . Prism && e . Prism . manual , disableWorkerMessageHandler : e . Prism && e . Prism . disableWorkerMessageHandler , util : { encode : function e ( n ) { return n instanceof i ? new i ( n . type , e ( n . content ) , n . alias ) : Array . isArray ( n ) ? n . map ( e ) : n . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( /\u00a0/g , " " ) } , type : function ( e ) { return Object . prototype . toString . call ( e ) . slice ( 8 , - 1 ) } , objId : function ( e ) { return e . _ _id || Object . defineProperty ( e , "__id" , { value : ++ t } ) , e . _ _id } , clone : function e ( n , t ) { var r , i ; switch ( t = t || { } , a . util . type ( n ) ) { case "Object" : if ( i = a . util . objId ( n ) , t [ i ] ) return t [ i ] ; for ( var l in r = { } , t [ i ] = r , n ) n . hasOwnProperty ( l ) && ( r [ l ] = e ( n [ l ] , t ) ) ; return r ; case "Array" : return i = a . util . objId ( n ) , t [ i ] ? t [ i ] : ( r = [ ] , t [ i ] = r , n . forEach ( ( function ( n , a ) { r [ a ] = e ( n , t ) } ) ) , r ) ; default : return n } } , getLanguage : function ( e ) { for ( ; e ; ) { var t = n . exec ( e . className ) ; if ( t ) return t [ 1 ] . toLowerCase ( ) ; e = e . parentElement } return "none" } , setLanguage : function ( e , t ) { e . className = e . className . replace ( RegExp ( n , "gi" ) , "" ) , e . classList . add ( "language-" + t ) } , currentScript : function ( ) { if ( "undefined" == typeof document ) return null ; if ( "currentScript" in document ) return document . currentScript ; try { throw new Error } catch ( r ) { var e = ( /at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i . exec ( r . stack ) || [ ] ) [ 1 ] ; if ( e ) { var n = document . getElementsByTagName ( "script" ) ; for ( var t in n ) if ( n [ t ] . src == e ) return n [ t ] } return null } } , isActive : function ( e , n , t ) { for ( var r = "no-" + n ; e ; ) { var a = e . classList ; if ( a . contains ( n ) ) return ! 0 ; if ( a . contains ( r ) ) return ! 1 ; e = e . parentElement } return ! ! t } } , languages : { plain : r , plaintext : r , text : r , txt : r , extend : function ( e , n ) { var t = a . util . clone ( a . languages [ e ] ) ; for ( var r in n ) t [ r ] = n [ r ] ; return t } , insertBefore : function ( e , n , t , r ) { var i = ( r = r || a . languages ) [ e ] , l = { } ; for ( var o in i ) if ( i . hasOwnProperty ( o ) ) { if ( o == n ) for ( var s in t ) t . hasOwnProperty ( s ) && ( l [ s ] = t [ s ] ) ; t . hasOwnProperty ( o ) || ( l [ o ] = i [ o ] ) } var u = r [ e ] ; return r [ e ] = l , a . languages . DFS ( a . languages , ( function ( n , t ) { t === u && n != e && ( this [ n ] = l ) } ) ) , l } , DFS : function e ( n , t , r , i ) { i = i || { } ; var l = a . util . objId ; for ( var o in n ) if ( n . hasOwnProperty ( o ) ) { t . call ( n , o , n [ o ] , r || o ) ; var s = n [ o ] , u = a . util . type ( s ) ; "Object" !== u || i [ l ( s ) ] ? "Array" !== u || i [ l ( s ) ] || ( i [ l ( s ) ] = ! 0 , e ( s , t , o , i ) ) : ( i [ l ( s ) ] = ! 0 , e ( s , t , null , i ) ) } } } , plugins : { } , highlightAll : function ( e , n ) { a . highlightAllUnder ( document , e , n ) } , highlightAllUnder : function ( e , n , t ) { var r = { callback : t , container : e , selector : 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' } ; a . hooks . run ( "before-highlightall" , r ) , r . elements = Array . prototype . slice . apply ( r . container . querySelectorAll ( r . selector ) ) , a . hooks . run ( "before-all-elements-highlight" , r ) ; for ( var i , l = 0 ; i = r . elements [ l ++ ] ; ) a . highlightElement ( i , ! 0 === n , r . callback ) } , highlightElement : function ( n , t , r ) { var i = a . util . getLanguage ( n ) , l = a . languages [ i ] ; a . util . setLanguage ( n , i ) ; var o = n . parentElement ; o && "pre" === o . nodeName . toLowerCase ( ) && a . util . setLanguage ( o , i ) ; var s = { element : n , language : i , grammar : l , code : n . textContent } ; function u ( e ) { s . highlightedCode = e , a . hooks . run ( "before-insert" , s ) , s . element . innerHTML = s . highlightedCode , a . hooks . run ( "after-highlight" , s ) , a . hooks . run ( "complete" , s ) , r && r . call ( s . element ) } if ( a . hooks . run ( "before-sanity-check" , s ) , ( o = s . element . parentElement ) && "pre" === o . nodeName . toLowerCase ( ) && ! o . hasAttribute ( "tabindex" ) && o . setAttribute ( "tabindex" , "0" ) , ! s . code ) return a . hooks . run ( "complete" , s ) , void ( r && r . call ( s . element ) ) ; if ( a . hooks . run ( "before-highlight" , s ) , s . grammar ) if ( t && e . Worker ) { var c = new Worker ( a . filename ) ; c . onmessage = function ( e ) { u ( e . data ) } , c . postMessage ( JSON . stringify ( { language : s . language , code : s . code , immediateClose : ! 0 } ) ) } else u ( a . highlight ( s . code , s . grammar , s . language ) ) ; else u ( a . util . encode ( s . code ) ) } , highlight : function ( e , n , t ) { var r = { code : e , grammar : n , language : t } ; if ( a . hooks . run ( "before-tokenize" , r ) , ! r . grammar ) throw new Error ( 'The language "' + r . language + '" has no grammar.' ) ; return r . tokens = a . tokenize ( r . code , r . grammar ) , a . hooks . run ( "after-tokenize" , r ) , i . stringify ( a . util . encode ( r . tokens ) , r . language ) } , tokenize : function ( e , n ) { var t = n . rest ; if (
Prism . languages . markup = { comment : { pattern : /<!--(?:(?!<!--)[\s\S])*?-->/ , greedy : ! 0 } , prolog : { pattern : /<\?[\s\S]+?\?>/ , greedy : ! 0 } , doctype : { pattern : /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i , greedy : ! 0 , inside : { "internal-subset" : { pattern : /(^[^\[]*\[)[\s\S]+(?=\]>$)/ , lookbehind : ! 0 , greedy : ! 0 , inside : null } , string : { pattern : /"[^"]*"|'[^']*'/ , greedy : ! 0 } , punctuation : /^<!|>$|[[\]]/ , "doctype-tag" : /^DOCTYPE/i , name : /[^\s<>'"]+/ } } , cdata : { pattern : /<!\[CDATA\[[\s\S]*?\]\]>/i , greedy : ! 0 } , tag : { pattern : /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ , greedy : ! 0 , inside : { tag : { pattern : /^<\/?[^\s>\/]+/ , inside : { punctuation : /^<\/?/ , namespace : /^[^\s>\/:]+:/ } } , "special-attr" : [ ] , "attr-value" : { pattern : /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/ , inside : { punctuation : [ { pattern : /^=/ , alias : "attr-equals" } , { pattern : /^(\s*)["']|["']$/ , lookbehind : ! 0 } ] } } , punctuation : /\/?>/ , "attr-name" : { pattern : /[^\s>\/]+/ , inside : { namespace : /^[^\s>\/:]+:/ } } } } , entity : [ { pattern : /&[\da-z]{1,8};/i , alias : "named-entity" } , /&#x?[\da-f]{1,8};/i ] } , Prism . languages . markup . tag . inside [ "attr-value" ] . inside . entity = Prism . languages . markup . entity , Prism . languages . markup . doctype . inside [ "internal-subset" ] . inside = Prism . languages . markup , Prism . hooks . add ( "wrap" , ( function ( a ) { "entity" === a . type && ( a . attributes . title = a . content . replace ( /&/ , "&" ) ) } ) ) , Object . defineProperty ( Prism . languages . markup . tag , "addInlined" , { value : function ( a , e ) { var s = { } ; s [ "language-" + e ] = { pattern : /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i , lookbehind : ! 0 , inside : Prism . languages [ e ] } , s . cdata = /^<!\[CDATA\[|\]\]>$/i ; var t = { "included-cdata" : { pattern : /<!\[CDATA\[[\s\S]*?\]\]>/i , inside : s } } ; t [ "language-" + e ] = { pattern : /[\s\S]+/ , inside : Prism . languages [ e ] } ; var n = { } ; n [ a ] = { pattern : RegExp ( "(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)" . replace ( /__/g , ( function ( ) { return a } ) ) , "i" ) , lookbehind : ! 0 , greedy : ! 0 , inside : t } , Prism . languages . insertBefore ( "markup" , "cdata" , n ) } } ) , Object . defineProperty ( Prism . languages . markup . tag , "addAttribute" , { value : function ( a , e ) { Prism . languages . markup . tag . inside [ "special-attr" ] . push ( { pattern : RegExp ( "(^|[\"'\\s])(?:" + a + ")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))" , "i" ) , lookbehind : ! 0 , inside : { "attr-name" : /^[^\s=]+/ , "attr-value" : { pattern : /=[\s\S]+/ , inside : { value : { pattern : /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/ , lookbehind : ! 0 , alias : [ e , "language-" + e ] , inside : Prism . languages [ e ] } , punctuation : [ { pattern : /^=/ , alias : "attr-equals" } , /"|'/ ] } } } } ) } } ) , Prism . languages . html = Prism . languages . markup , Prism . languages . mathml = Prism . languages . markup , Prism . languages . svg = Prism . languages . markup , Prism . languages . xml = Prism . languages . extend ( "markup" , { } ) , Prism . languages . ssml = Prism . languages . xml , Prism . languages . atom = Prism . languages . xml , Prism . languages . rss = Prism . languages . xml ;
! function ( s ) { var e = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/ ; s . languages . css = { comment : /\/\*[\s\S]*?\*\// , atrule : { pattern : RegExp ( "@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|" + e . source + ")*?(?:;|(?=\\s*\\{))" ) , inside : { rule : /^@[\w-]+/ , "selector-function-argument" : { pattern : /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/ , lookbehind : ! 0 , alias : "selector" } , keyword : { pattern : /(^|[^\w-])(?:and|not|only|or)(?![\w-])/ , lookbehind : ! 0 } } } , url : { pattern : RegExp ( "\\burl\\((?:" + e . source + "|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)" , "i" ) , greedy : ! 0 , inside : { function : /^url/i , punctuation : /^\(|\)$/ , string : { pattern : RegExp ( "^" + e . source + "$" ) , alias : "url" } } } , selector : { pattern : RegExp ( "(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|" + e . source + ")*(?=\\s*\\{)" ) , lookbehind : ! 0 } , string : { pattern : e , greedy : ! 0 } , property : { pattern : /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i , lookbehind : ! 0 } , important : /!important\b/i , function : { pattern : /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i , lookbehind : ! 0 } , punctuation : /[(){};:,]/ } , s . languages . css . atrule . inside . rest = s . languages . css ; var t = s . languages . markup ; t && ( t . tag . addInlined ( "style" , "css" ) , t . tag . addAttribute ( "style" , "css" ) ) } ( Prism ) ;
Prism . languages . clike = { comment : [ { pattern : /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /(^|[^\\:])\/\/.*/ , lookbehind : ! 0 , greedy : ! 0 } ] , string : { pattern : /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i , lookbehind : ! 0 , inside : { punctuation : /[.\\]/ } } , keyword : /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/ , boolean : /\b(?:false|true)\b/ , function : /\b\w+(?=\()/ , number : /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i , operator : /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/ , punctuation : /[{}[\];(),.:]/ } ;
Prism . languages . javascript = Prism . languages . extend ( "clike" , { "class-name" : [ Prism . languages . clike [ "class-name" ] , { pattern : /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/ , lookbehind : ! 0 } ] , keyword : [ { pattern : /((?:^|\})\s*)catch\b/ , lookbehind : ! 0 } , { pattern : /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ , lookbehind : ! 0 } ] , function : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ , number : { pattern : RegExp ( "(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])" ) , lookbehind : ! 0 } , operator : /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ } ) , Prism . languages . javascript [ "class-name" ] [ 0 ] . pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/ , Prism . languages . insertBefore ( "javascript" , "keyword" , { regex : { pattern : RegExp ( "((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))" ) , lookbehind : ! 0 , greedy : ! 0 , inside : { "regex-source" : { pattern : /^(\/)[\s\S]+(?=\/[a-z]*$)/ , lookbehind : ! 0 , alias : "language-regex" , inside : Prism . languages . regex } , "regex-delimiter" : /^\/|\/$/ , "regex-flags" : /^[a-z]+$/ } } , "function-variable" : { pattern : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/ , alias : "function" } , parameter : [ { pattern : /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } , { pattern : /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/ , lookbehind : ! 0 , inside : Prism . languages . javascript } ] , constant : /\b[A-Z](?:[A-Z_]|\dx?)*\b/ } ) , Prism . languages . insertBefore ( "javascript" , "string" , { hashbang : { pattern : /^#!.*/ , greedy : ! 0 , alias : "comment" } , "template-string" : { pattern : /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/ , greedy : ! 0 , inside : { "template-punctuation" : { pattern : /^`|`$/ , alias : "string" } , interpolation : { pattern : /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ , lookbehind : ! 0 , inside : { "interpolation-punctuation" : { pattern : /^\$\{|\}$/ , alias : "punctuation" } , rest : Prism . languages . javascript } } , string : /[\s\S]+/ } } , "string-property" : { pattern : /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m , lookbehind : ! 0 , greedy : ! 0 , alias : "property" } } ) , Prism . languages . insertBefore ( "javascript" , "operator" , { "literal-property" : { pattern : / ( ( ? : ^
2023-10-18 18:03:54 +01:00
! function ( e ) { var t = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b" , a = { pattern : /(^(["']?)\w+\2)[ \t]+\S.*/ , lookbehind : ! 0 , alias : "punctuation" , inside : null } , n = { bash : a , environment : { pattern : RegExp ( "\\$" + t ) , alias : "constant" } , variable : [ { pattern : /\$?\(\([\s\S]+?\)\)/ , greedy : ! 0 , inside : { variable : [ { pattern : /(^\$\(\([\s\S]+)\)\)/ , lookbehind : ! 0 } , /^\$\(\(/ ] , number : /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/ , operator : /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/ , punctuation : /\(\(?|\)\)?|,|;/ } } , { pattern : /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/ , greedy : ! 0 , inside : { variable : /^\$\(|^`|\)$|`$/ } } , { pattern : /\$\{[^}]+\}/ , greedy : ! 0 , inside : { operator : /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/ , punctuation : /[\[\]]/ , environment : { pattern : RegExp ( "(\\{)" + t ) , lookbehind : ! 0 , alias : "constant" } } } , /\$(?:\w+|[#?*!@$])/ ] , entity : /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/ } ; e . languages . bash = { shebang : { pattern : /^#!\s*\/.*/ , alias : "important" } , comment : { pattern : /(^|[^"{\\$])#.*/ , lookbehind : ! 0 } , "function-name" : [ { pattern : /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/ , lookbehind : ! 0 , alias : "function" } , { pattern : /\b[\w-]+(?=\s*\(\s*\)\s*\{)/ , alias : "function" } ] , "for-or-select" : { pattern : /(\b(?:for|select)\s+)\w+(?=\s+in\s)/ , alias : "variable" , lookbehind : ! 0 } , "assign-left" : { pattern : /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/ , inside : { environment : { pattern : RegExp ( "(^|[\\s;|&]|[<>]\\()" + t ) , lookbehind : ! 0 , alias : "constant" } } , alias : "variable" , lookbehind : ! 0 } , parameter : { pattern : /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/ , alias : "variable" , lookbehind : ! 0 } , string : [ { pattern : /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/ , lookbehind : ! 0 , greedy : ! 0 , inside : n } , { pattern : /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/ , lookbehind : ! 0 , greedy : ! 0 , inside : { bash : a } } , { pattern : /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/ , lookbehind : ! 0 , greedy : ! 0 , inside : n } , { pattern : /(^|[^$\\])'[^']*'/ , lookbehind : ! 0 , greedy : ! 0 } , { pattern : /\$'(?:[^'\\]|\\[\s\S])*'/ , greedy : ! 0 , inside : { entity : n . entity } } ] , environment : { pattern : RegExp ( "\\$?" + t ) , alias : "constant" } , variable : n . variable , function : { pattern : / ( ^ | [ \ s ; | & ] | [ < > ] \ ( ) ( ? : a d d | a p r o p o s | a p t | a p t - c a c h e | a p t - g e t | a p t i t u d e | a s p e l l | a u t o m y s q l b a c k u p | a w k | b a s e n a m e | b a s h | b c | b c o n s o l e | b g | b z i p 2 | c a l | c a r g o | c a t | c f d i s k | c h g r p | c h k c o n f i g | c h m o d | c h o w n | c h r o o t | c k s u m | c l e a r | c m p | c o l u m n | c o m m | c o m p o s e r | c p | c r o n | c r o n t a b | c s p l i t | c u r l | c u t | d a t e | d c | d d | d d r e s c u e | d e b o o t s t r a p | d f | d i f f | d i f f 3 | d i g | d i r | d i r c o l o r s | d i r n a m e | d i r s | d m e s g | d o c k e r | d o c k e r - c o m p o s e | d u | e g r e p | e j e c t | e n v | e t h t o o l | e x p a n d | e x p e c t | e x p r | f d f o r m a t | f d i s k | f g | f g r e p | f i l e | f i n d | f m t | f o l d | f o r m a t | f r e e | f s c k | f t p | f u s e r | g a w k | g i t | g p a r t e d | g r e p | g r o u p a d d | g r o u p d e l | g r o u p m o d | g r o u p s | g r u b - m k c o n f i g | g z i p | h a l t | h e a d | h g | h i s t o r y | h o s t | h o s t n a m e | h t o p | i c o n v | i d | i f c o n f i g | i f d o w n | i f u p | i m p o r t | i n s t a l l | i p | j a v a | j o b s | j o i n | k i l l | k i l l a l l | l e s s | l i n k | l n | l o c a t e | l o g n a m e | l o g r o t a t e | l o o k | l p c | l p r | l p r i n t | l p r i n t d | l p r i n t q | l p r m | l s | l s o f | l y n x | m a k e | m a n | m c | m d a d m | m k c o n f i g | m k d i r | m k e 2 f s | m k f i f o | m k f s | m k i s o f s | m k n o d | m k s w a p | m m v | m o r e | m o s t | m o u n t | m t o o l s
2023-10-18 11:24:20 +01:00
Prism . languages . go = Prism . languages . extend ( "clike" , { string : { pattern : /(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/ , lookbehind : ! 0 , greedy : ! 0 } , keyword : /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ , boolean : /\b(?:_|false|iota|nil|true)\b/ , number : [ /\b0(?:b[01_]+|o[0-7_]+)i?\b/i , /\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i , /(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i ] , operator : /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ , builtin : /\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/ } ) , Prism . languages . insertBefore ( "go" , "string" , { char : { pattern : /'(?:\\.|[^'\\\r\n]){0,10}'/ , greedy : ! 0 } } ) , delete Prism . languages . go [ "class-name" ] ;
Prism . languages [ "go-mod" ] = Prism . languages [ "go-module" ] = { comment : { pattern : /\/\/.*/ , greedy : ! 0 } , version : { pattern : /(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/ , lookbehind : ! 0 , alias : "number" } , "go-version" : { pattern : /((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/ , lookbehind : ! 0 , alias : "number" } , keyword : { pattern : /^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m , lookbehind : ! 0 } , operator : /=>/ , punctuation : /[()[\],]/ } ;
2023-10-18 18:03:54 +01:00
Prism . languages . json = { property : { pattern : /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/ , lookbehind : ! 0 , greedy : ! 0 } , string : { pattern : /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/ , lookbehind : ! 0 , greedy : ! 0 } , comment : { pattern : /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/ , greedy : ! 0 } , number : /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i , punctuation : /[{}[\],]/ , operator : /:/ , boolean : /\b(?:false|true)\b/ , null : { pattern : /\bnull\b/ , alias : "keyword" } } , Prism . languages . webmanifest = Prism . languages . json ;
2023-10-18 11:24:20 +01:00
! function ( e ) { e . languages . ruby = e . languages . extend ( "clike" , { comment : { pattern : /#.*|^=begin\s[\s\S]*?^=end/m , greedy : ! 0 } , "class-name" : { pattern : /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/ , lookbehind : ! 0 , inside : { punctuation : /[.\\]/ } } , keyword : /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ , operator : /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/ , punctuation : /[(){}[\].,;]/ } ) , e . languages . insertBefore ( "ruby" , "operator" , { "double-colon" : { pattern : /::/ , alias : "punctuation" } } ) ; var n = { pattern : /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/ , lookbehind : ! 0 , inside : { content : { pattern : /^(#\{)[\s\S]+(?=\}$)/ , lookbehind : ! 0 , inside : e . languages . ruby } , delimiter : { pattern : /^#\{|\}$/ , alias : "punctuation" } } } ; delete e . languages . ruby . function ; var t = "(?:" + [ "([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1" , "\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)" , "\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}" , "\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]" , "<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>" ] . join ( "|" ) + ")" , i = '(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)' ; e . languages . insertBefore ( "ruby" , "keyword" , { "regex-literal" : [ { pattern : RegExp ( "%r" + t + "[egimnosux]{0,6}" ) , greedy : ! 0 , inside : { interpolation : n , regex : /[\s\S]+/ } } , { pattern : /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/ , lookbehind : ! 0 , greedy : ! 0 , inside : { interpolation : n , regex : /[\s\S]+/ } } ] , variable : /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/ , symbol : [ { pattern : RegExp ( "(^|[^:]):" + i ) , lookbehind : ! 0 , greedy : ! 0 } , { pattern : RegExp ( "([\r\n{(,][ \t]*)" + i + "(?=:(?!:))" ) , lookbehind : ! 0 , greedy : ! 0 } ] , "method-definition" : { pattern : /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/ , lookbehind : ! 0 , inside : { function : /\b\w+$/ , keyword : /^self\b/ , "class-name" : /^\w+/ , punctuation : /\./ } } } ) , e . languages . insertBefore ( "ruby" , "string" , { "string-literal" : [ { pattern : RegExp ( "%[qQiIwWs]?" + t ) , greedy : ! 0 , inside : { interpolation : n , string : /[\s\S]+/ } } , { pattern : /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/ , greedy : ! 0 , inside : { interpolation : n , string : /[\s\S]+/ } } , { pattern : /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i , alias : "heredoc-string" , greedy : ! 0 , inside : { delimiter : { pattern : /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i , inside : { symbol : /\b\w+/ , punctuation : /^<<[-~]?/ } } , interpolation : n , string : /[\s\S]+/ } } , { pattern : /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i , alias : "heredoc-string" , greedy : ! 0 , inside : { delimiter : { pattern : /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i , inside : { symbol : /\b\w+/ , punctuation : /^<<[-~]?'|'$/ } } , string : /[\s\S]+/ } } ] , "command-literal" : [ { pattern : RegExp ( "%x" + t ) , greedy : ! 0 , inside : { interpolation : n , command : { pattern : /[\s\S]+/ , alias : "string" } } } , { pattern : /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/ , greedy : ! 0 , inside : { interpolation : n , command : { pattern : /[\s\S]+/ , alias : "string" } } } ] } ) , delete e . languages . ruby . string , e . languages . insertBefore ( "ruby" , "number" , { builtin : /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/ , constant : /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/ } ) , e . languages . rb = e . languages . ruby } ( Prism ) ;
! function ( e ) { e . languages . typescript = e . languages . extend ( "javascript" , { "class-name" : { pattern : /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ , lookbehind : ! 0 , greedy : ! 0 , inside : null } , builtin : /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/ } ) , e . languages . typescript . keyword . push ( /\b(?:abstract|declare|is|keyof|readonly|require)\b/ , /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/ , /\btype\b(?=\s*(?:[\{*]|$))/ ) , delete e . languages . typescript . parameter , delete e . languages . typescript [ "literal-property" ] ; var s = e . languages . extend ( "typescript" , { } ) ; delete s [ "class-name" ] , e . languages . typescript [ "class-name" ] . inside = s , e . languages . insertBefore ( "typescript" , "function" , { decorator : { pattern : /@[$\w\xA0-\uFFFF]+/ , inside : { at : { pattern : /^@/ , alias : "operator" } , function : /^[\s\S]+/ } } , "generic-function" : { pattern : /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ , greedy : ! 0 , inside : { function : /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/ , generic : { pattern : /<[\s\S]+/ , alias : "class-name" , inside : s } } } } ) , e . languages . ts = e . languages . typescript } ( Prism ) ;
2023-10-18 13:20:29 +01:00
! function ( e ) { var n = /[*&][^\s[\]{},]+/ , r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/ , t = "(?:" + r . source + "(?:[ \t]+" + n . source + ")?|" + n . source + "(?:[ \t]+" + r . source + ")?)" , a = "(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*" . replace ( /<PLAIN>/g , ( function ( ) { return "[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]" } ) ) , d = "\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'" ; function o ( e , n ) { n = ( n || "" ) . replace ( /m/g , "" ) + "m" ; var r = "([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))" . replace ( /<<prop>>/g , ( function ( ) { return t } ) ) . replace ( /<<value>>/g , ( function ( ) { return e } ) ) ; return RegExp ( r , n ) } e . languages . yaml = { scalar : { pattern : RegExp ( "([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)" . replace ( /<<prop>>/g , ( function ( ) { return t } ) ) ) , lookbehind : ! 0 , alias : "string" } , comment : /#.*/ , key : { pattern : RegExp ( "((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\\s*:\\s)" . replace ( /<<prop>>/g , ( function ( ) { return t } ) ) . replace ( /<<key>>/g , ( function ( ) { return "(?:" + a + "|" + d + ")" } ) ) ) , lookbehind : ! 0 , greedy : ! 0 , alias : "atrule" } , directive : { pattern : /(^[ \t]*)%.+/m , lookbehind : ! 0 , alias : "important" } , datetime : { pattern : o ( "\\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*)?)?" ) , lookbehind : ! 0 , alias : "number" } , boolean : { pattern : o ( "false|true" , "i" ) , lookbehind : ! 0 , alias : "important" } , null : { pattern : o ( "null|~" , "i" ) , lookbehind : ! 0 , alias : "important" } , string : { pattern : o ( d ) , lookbehind : ! 0 , greedy : ! 0 } , number : { pattern : o ( "[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)" , "i" ) , lookbehind : ! 0 } , tag : r , important : n , punctuation : /---|[:[\]{}\-,|>?]|\.\.\./ } , e . languages . yml = e . languages . yaml } ( Prism ) ;
2023-10-18 11:24:20 +01:00
! function ( ) { if ( "undefined" != typeof Prism && "undefined" != typeof document && document . querySelector ) { var e , t = "line-numbers" , i = "linkable-line-numbers" , n = /\n(?!$)/g , r = ! 0 ; Prism . plugins . lineHighlight = { highlightLines : function ( o , u , c ) { var h = ( u = "string" == typeof u ? u : o . getAttribute ( "data-line" ) || "" ) . replace ( /\s+/g , "" ) . split ( "," ) . filter ( Boolean ) , d = + o . getAttribute ( "data-line-offset" ) || 0 , f = ( function ( ) { if ( void 0 === 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 = " <br /> " , document . body . appendChild ( t ) , e = 38 === t . offsetHeight , document . body . removeChild ( t ) } return e } ( ) ? parseInt : parseFloat ) ( getComputedStyle ( o ) . lineHeight ) , p = Prism . util . isActive ( o , t ) , g = o . querySelector ( "code" ) , m = p ? o : g || o , v = [ ] , y = g . textContent . match ( n ) , b = y ? y . length + 1 : 1 , A = g && m != g ? function ( e , t ) { var i = getComputedStyle ( e ) , n = getComputedStyle ( t ) ; function r ( e ) { return + e . substr ( 0 , e . length - 2 ) } return t . offsetTop + r ( n . borderTopWidth ) + r ( n . paddingTop ) - r ( i . paddingTop ) } ( o , g ) : 0 ; h . forEach ( ( function ( e ) { var t = e . split ( "-" ) , i = + t [ 0 ] , n = + t [ 1 ] || i ; if ( ! ( ( n = Math . min ( b + d , n ) ) < i ) ) { var r = o . querySelector ( '.line-highlight[data-range="' + e + '"]' ) || document . createElement ( "div" ) ; if ( v . push ( ( function ( ) { r . setAttribute ( "aria-hidden" , "true" ) , r . setAttribute ( "data-range" , e ) , r . className = ( c || "" ) + " line-highlight" } ) ) , p && Prism . plugins . lineNumbers ) { var s = Prism . plugins . lineNumbers . getLine ( o , i ) , l = Prism . plugins . lineNumbers . getLine ( o , n ) ; if ( s ) { var a = s . offsetTop + A + "px" ; v . push ( ( function ( ) { r . style . top = a } ) ) } if ( l ) { var u = l . offsetTop - s . offsetTop + l . offsetHeight + "px" ; v . push ( ( function ( ) { r . style . height = u } ) ) } } else v . push ( ( function ( ) { r . setAttribute ( "data-start" , String ( i ) ) , n > i && r . setAttribute ( "data-end" , String ( n ) ) , r . style . top = ( i - d - 1 ) * f + A + "px" , r . textContent = new Array ( n - i + 2 ) . join ( " \n" ) } ) ) ; v . push ( ( function ( ) { r . style . width = o . scrollWidth + "px" } ) ) , v . push ( ( function ( ) { m . appendChild ( r ) } ) ) } } ) ) ; var P = o . id ; if ( p && Prism . util . isActive ( o , i ) && P ) { l ( o , i ) || v . push ( ( function ( ) { o . classList . add ( i ) } ) ) ; var E = parseInt ( o . getAttribute ( "data-start" ) || "1" ) ; s ( ".line-numbers-rows > span" , o ) . forEach ( ( function ( e , t ) { var i = t + E ; e . onclick = function ( ) { var e = P + "." + i ; r = ! 1 , location . hash = e , setTimeout ( ( function ( ) { r = ! 0 } ) , 1 ) } } ) ) } return function ( ) { v . forEach ( a ) } } } ; var o = 0 ; Prism . hooks . add ( "before-sanity-check" , ( function ( e ) { var t = e . element . parentElement ; if ( u ( t ) ) { var i = 0 ; s ( ".line-highlight" , t ) . forEach ( ( function ( e ) { i += e . textContent . length , e . parentNode . removeChild ( e ) } ) ) , i && /^(?: \n)+$/ . test ( e . code . slice ( - i ) ) && ( e . code = e . code . slice ( 0 , - i ) ) } } ) ) , Prism . hooks . add ( "complete" , ( function e ( i ) { var n = i . element . parentElement ; if ( u ( n ) ) { clearTimeout ( o ) ; var r = Prism . plugins . lineNumbers , s = i . plugins && i . plugins . lineNumbers ; l ( n , t ) && r && ! s ? Prism . hooks . add ( "line-numbers" , e ) : ( Prism . plugins . lineHighlight . highlightLines ( n ) ( ) , o = setTimeout ( c , 1 ) ) } } ) ) , window . addEventListener ( "hashchange" , c ) , window . addEventListener ( "resize" , ( function ( ) { s ( "pre" ) . filter ( u ) . map ( ( function ( e ) { return Prism . plugins . lineHighlight . highlightLines ( e ) } ) ) . forEach ( a ) } ) ) } function s ( e , t ) { return Array . prototype . slice . call ( ( t || document ) . querySelectorAll ( e ) ) } function l ( e , t ) { return e . classList . contains ( t ) } function a ( e ) { e ( ) } function u ( e ) { return ! ! ( e && /pre/i . test ( e . nodeName ) && ( e . hasAttribute ( "data-line" ) || e . id && Prism . util . isActive ( e , i ) ) ) } function c ( ) { var e = location . hash . slice ( 1 ) ; s ( ".temporary.line-highlight" ) . forEach ( ( function ( e ) { e . parentNode . removeChild ( e ) } ) ) ; var t = ( e . match ( /\.([\d,-]+)$/ ) || [ , "" ] ) [ 1 ] ; if ( t && ! document . getElementById ( e ) ) { var i = e . slice ( 0 , e . lastIndexOf ( "." ) ) , n = document . getElementById ( i ) ; n && ( n . hasAttribute ( "data-line" ) || n . setAttribute ( "data-line" , "" ) , Prism . plugins . lineHighlight . highlightLines ( n , t , "temporary " ) ( ) , r && document . querySelector ( ".temporary.line-highlight" ) . scrollIntoView ( ) ) } } } ( ) ;
! function ( ) { if ( "undefined" != typeof Prism && "undefined" != typeof document ) { var e = "line-numbers" , n = /\n(?!$)/g , t = Prism . plugins . lineNumbers = { getLine : function ( n , t ) { if ( "PRE" === n . tagName && n . classList . contains ( e ) ) { var i = n . querySelector ( ".line-numbers-rows" ) ; if ( i ) { var r = parseInt ( n . getAttribute ( "data-start" ) , 10 ) || 1 , s = r + ( i . children . length - 1 ) ; t < r && ( t = r ) , t > s && ( t = s ) ; var l = t - r ; return i . children [ l ] } } } , resize : function ( e ) { r ( [ e ] ) } , assumeViewportIndependence : ! 0 } , i = void 0 ; window . addEventListener ( "resize" , ( function ( ) { t . assumeViewportIndependence && i === window . innerWidth || ( i = window . innerWidth , r ( Array . prototype . slice . call ( document . querySelectorAll ( "pre.line-numbers" ) ) ) ) } ) ) , Prism . hooks . add ( "complete" , ( function ( t ) { if ( t . code ) { var i = t . element , s = i . parentNode ; if ( s && /pre/i . test ( s . nodeName ) && ! i . querySelector ( ".line-numbers-rows" ) && Prism . util . isActive ( i , e ) ) { i . classList . remove ( e ) , s . classList . add ( e ) ; var l , o = t . code . match ( n ) , a = o ? o . length + 1 : 1 , u = new Array ( a + 1 ) . join ( "<span></span>" ) ; ( l = document . createElement ( "span" ) ) . setAttribute ( "aria-hidden" , "true" ) , l . className = "line-numbers-rows" , l . innerHTML = u , s . hasAttribute ( "data-start" ) && ( s . style . counterReset = "linenumber " + ( parseInt ( s . getAttribute ( "data-start" ) , 10 ) - 1 ) ) , t . element . appendChild ( l ) , r ( [ s ] ) , Prism . hooks . run ( "line-numbers" , t ) } } } ) ) , Prism . hooks . add ( "line-numbers" , ( function ( e ) { e . plugins = e . plugins || { } , e . plugins . lineNumbers = ! 0 } ) ) } function r ( e ) { if ( 0 != ( e = e . filter ( ( function ( e ) { var n , t = ( n = e , n ? window . getComputedStyle ? getComputedStyle ( n ) : n . currentStyle || null : null ) [ "white-space" ] ; return "pre-wrap" === t || "pre-line" === t } ) ) ) . length ) { var t = e . map ( ( function ( e ) { var t = e . querySelector ( "code" ) , i = e . querySelector ( ".line-numbers-rows" ) ; if ( t && i ) { var r = e . querySelector ( ".line-numbers-sizer" ) , s = t . textContent . split ( n ) ; r || ( ( r = document . createElement ( "span" ) ) . className = "line-numbers-sizer" , t . appendChild ( r ) ) , r . innerHTML = "0" , r . style . display = "block" ; var l = r . getBoundingClientRect ( ) . height ; return r . innerHTML = "" , { element : e , lines : s , lineHeights : [ ] , oneLinerHeight : l , sizer : r } } } ) ) . filter ( Boolean ) ; t . forEach ( ( function ( e ) { var n = e . sizer , t = e . lines , i = e . lineHeights , r = e . oneLinerHeight ; i [ t . length - 1 ] = void 0 , t . forEach ( ( function ( e , t ) { if ( e && e . length > 1 ) { var s = n . appendChild ( document . createElement ( "span" ) ) ; s . style . display = "block" , s . textContent = e } else i [ t ] = r } ) ) } ) ) , t . forEach ( ( function ( e ) { for ( var n = e . sizer , t = e . lineHeights , i = 0 , r = 0 ; r < t . length ; r ++ ) void 0 === t [ r ] && ( t [ r ] = n . children [ i ++ ] . getBoundingClientRect ( ) . height ) } ) ) , t . forEach ( ( function ( e ) { var n = e . sizer , t = e . element . querySelector ( ".line-numbers-rows" ) ; n . style . display = "none" , n . innerHTML = "" , e . lineHeights . forEach ( ( function ( e , n ) { t . children [ n ] . style . height = e + "px" } ) ) } ) ) } } } ( ) ;
2023-10-18 13:20:29 +01:00
! function ( ) { if ( "undefined" != typeof Prism && "undefined" != typeof document ) { var e = { javascript : "clike" , actionscript : "javascript" , apex : [ "clike" , "sql" ] , arduino : "cpp" , aspnet : [ "markup" , "csharp" ] , birb : "clike" , bison : "c" , c : "clike" , csharp : "clike" , cpp : "c" , cfscript : "clike" , chaiscript : [ "clike" , "cpp" ] , cilkc : "c" , cilkcpp : "cpp" , coffeescript : "javascript" , crystal : "ruby" , "css-extras" : "css" , d : "clike" , dart : "clike" , django : "markup-templating" , ejs : [ "javascript" , "markup-templating" ] , etlua : [ "lua" , "markup-templating" ] , erb : [ "ruby" , "markup-templating" ] , fsharp : "clike" , "firestore-security-rules" : "clike" , flow : "javascript" , ftl : "markup-templating" , gml : "clike" , glsl : "c" , go : "clike" , gradle : "clike" , groovy : "clike" , haml : "ruby" , handlebars : "markup-templating" , haxe : "clike" , hlsl : "c" , idris : "haskell" , java : "clike" , javadoc : [ "markup" , "java" , "javadoclike" ] , jolie : "clike" , jsdoc : [ "javascript" , "javadoclike" , "typescript" ] , "js-extras" : "javascript" , json5 : "json" , jsonp : "json" , "js-templates" : "javascript" , kotlin : "clike" , latte : [ "clike" , "markup-templating" , "php" ] , less : "css" , lilypond : "scheme" , liquid : "markup-templating" , markdown : "markup" , "markup-templating" : "markup" , mongodb : "javascript" , n4js : "javascript" , objectivec : "c" , opencl : "c" , parser : "markup" , php : "markup-templating" , phpdoc : [ "php" , "javadoclike" ] , "php-extras" : "php" , plsql : "sql" , processing : "clike" , protobuf : "clike" , pug : [ "markup" , "javascript" ] , purebasic : "clike" , purescript : "haskell" , qsharp : "clike" , qml : "javascript" , qore : "clike" , racket : "scheme" , cshtml : [ "markup" , "csharp" ] , jsx : [ "markup" , "javascript" ] , tsx : [ "jsx" , "typescript" ] , reason : "clike" , ruby : "clike" , sass : "css" , scss : "css" , scala : "java" , "shell-session" : "bash" , smarty : "markup-templating" , solidity : "clike" , soy : "markup-templating" , sparql : "turtle" , sqf : "clike" , squirrel : "clike" , stata : [ "mata" , "java" , "python" ] , "t4-cs" : [ "t4-templating" , "csharp" ] , "t4-vb" : [ "t4-templating" , "vbnet" ] , tap : "yaml" , tt2 : [ "clike" , "markup-templating" ] , textile : "markup" , twig : "markup-templating" , typescript : "javascript" , v : "clike" , vala : "clike" , vbnet : "basic" , velocity : "markup" , wiki : "markup" , xeora : "markup" , "xml-doc" : "markup" , xquery : "markup" } , a = { html : "markup" , xml : "markup" , svg : "markup" , mathml : "markup" , ssml : "markup" , atom : "markup" , rss : "markup" , js : "javascript" , g4 : "antlr4" , ino : "arduino" , "arm-asm" : "armasm" , art : "arturo" , adoc : "asciidoc" , avs : "avisynth" , avdl : "avro-idl" , gawk : "awk" , sh : "bash" , shell : "bash" , shortcode : "bbcode" , rbnf : "bnf" , oscript : "bsl" , cs : "csharp" , dotnet : "csharp" , cfc : "cfscript" , "cilk-c" : "cilkc" , "cilk-cpp" : "cilkcpp" , cilk : "cilkcpp" , coffee : "coffeescript" , conc : "concurnas" , jinja2 : "django" , "dns-zone" : "dns-zone-file" , dockerfile : "docker" , gv : "dot" , eta : "ejs" , xlsx : "excel-formula" , xls : "excel-formula" , gamemakerlanguage : "gml" , po : "gettext" , gni : "gn" , ld : "linker-script" , "go-mod" : "go-module" , hbs : "handlebars" , mustache : "handlebars" , hs : "haskell" , idr : "idris" , gitignore : "ignore" , hgignore : "ignore" , npmignore : "ignore" , webmanifest : "json" , kt : "kotlin" , kts : "kotlin" , kum : "kumir" , tex : "latex" , context : "latex" , ly : "lilypond" , emacs : "lisp" , elisp : "lisp" , "emacs-lisp" : "lisp" , md : "markdown" , moon : "moonscript" , n4jsd : "n4js" , nani : "naniscript" , objc : "objectivec" , qasm : "openqasm" , objectpascal : "pascal" , px : "pcaxis" , pcode : "peoplecode" , plantuml : "plant-uml" , pq : "powerquery" , mscript : "powerquery" , pbfasm : "purebasic" , purs : "purescript" , py : "python" , qs : "qsharp" , rkt : "racket" , razor : "cshtml" , rpy : "renpy" , res : "rescript" , robot : "robotframework" , rb : "ruby" , "sh-session" : "shell-session" , shellsession : "shell-session" , smlnj : "sml" , sol : "solidity" , sln : "solution-file" , rq : "sparql" , sclang : "supercollider" , t4 : "t4-cs" , trickle : "tremor" , troy : "tremor" , trig : "turtle" , ts : "typescript" , tsconfig : "typoscript" , uscript : "unrealscript" , uc : "unrealscript" , url : "uri" , vb : "visual-basic" , vba : "visual-basic" , webidl : "web-idl" , mathematica : "wolfram" , nb : "wolfram" , wl : "wolfram" , xeoracube : "xeora" , yml : "yaml" } , r = { } , s = "components/" , i = Prism . util . currentScript ( ) ; if ( i ) { var t = /\bplugins\/autoloader\/prism-autoloader\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i , c = /(^|\/)[\w-]+\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i , l = i . getAttribute ( "data-autoloader-path" ) ; if ( null != l ) s = l . trim ( ) . replace ( /\/?$/ , "/" ) ; else { var p = i . src ; t . test ( p ) ? s = p . replace ( t , "components/" ) : c . test ( p ) && ( s = p . replace ( c , " $1compone
2023-10-18 11:24:20 +01:00
! function ( ) { if ( "undefined" != typeof Prism && "undefined" != typeof document ) { var e = [ ] , t = { } , n = function ( ) { } ; Prism . plugins . toolbar = { } ; var a = Prism . plugins . toolbar . registerButton = function ( n , a ) { var r ; r = "function" == typeof a ? a : function ( e ) { var t ; return "function" == typeof a . onClick ? ( ( t = document . createElement ( "button" ) ) . type = "button" , t . addEventListener ( "click" , ( function ( ) { a . onClick . call ( this , e ) } ) ) ) : "string" == typeof a . url ? ( t = document . createElement ( "a" ) ) . href = a . url : t = document . createElement ( "span" ) , a . className && t . classList . add ( a . className ) , t . textContent = a . text , t } , n in t ? console . warn ( 'There is a button with the key "' + n + '" registered already.' ) : e . push ( t [ n ] = r ) } , r = Prism . plugins . toolbar . hook = function ( a ) { var r = a . element . parentNode ; if ( r && /pre/i . test ( r . nodeName ) && ! r . parentNode . classList . contains ( "code-toolbar" ) ) { var o = document . createElement ( "div" ) ; o . classList . add ( "code-toolbar" ) , r . parentNode . insertBefore ( o , r ) , o . appendChild ( r ) ; var i = document . createElement ( "div" ) ; i . classList . add ( "toolbar" ) ; var l = e , d = function ( e ) { for ( ; e ; ) { var t = e . getAttribute ( "data-toolbar-order" ) ; if ( null != t ) return ( t = t . trim ( ) ) . length ? t . split ( /\s*,\s*/g ) : [ ] ; e = e . parentElement } } ( a . element ) ; d && ( l = d . map ( ( function ( e ) { return t [ e ] || n } ) ) ) , l . forEach ( ( function ( e ) { var t = e ( a ) ; if ( t ) { var n = document . createElement ( "div" ) ; n . classList . add ( "toolbar-item" ) , n . appendChild ( t ) , i . appendChild ( n ) } } ) ) , o . appendChild ( i ) } } ; a ( "label" , ( function ( e ) { var t = e . element . parentNode ; if ( t && /pre/i . test ( t . nodeName ) && t . hasAttribute ( "data-label" ) ) { var n , a , r = t . getAttribute ( "data-label" ) ; try { a = document . querySelector ( "template#" + r ) } catch ( e ) { } return a ? n = a . content : ( t . hasAttribute ( "data-url" ) ? ( n = document . createElement ( "a" ) ) . href = t . getAttribute ( "data-url" ) : n = document . createElement ( "span" ) , n . textContent = r ) , n } } ) ) , Prism . hooks . add ( "complete" , r ) } } ( ) ;
! function ( ) { function t ( t ) { var e = document . createElement ( "textarea" ) ; e . value = t . getText ( ) , e . style . top = "0" , e . style . left = "0" , e . style . position = "fixed" , document . body . appendChild ( e ) , e . focus ( ) , e . select ( ) ; try { var o = document . execCommand ( "copy" ) ; setTimeout ( ( function ( ) { o ? t . success ( ) : t . error ( ) } ) , 1 ) } catch ( e ) { setTimeout ( ( function ( ) { t . error ( e ) } ) , 1 ) } document . body . removeChild ( e ) } "undefined" != typeof Prism && "undefined" != typeof document && ( Prism . plugins . toolbar ? Prism . plugins . toolbar . registerButton ( "copy-to-clipboard" , ( function ( e ) { var o = e . element , n = function ( t ) { var e = { copy : "Copy" , "copy-error" : "Press Ctrl+C to copy" , "copy-success" : "Copied!" , "copy-timeout" : 5e3 } ; for ( var o in e ) { for ( var n = "data-prismjs-" + o , c = t ; c && ! c . hasAttribute ( n ) ; ) c = c . parentElement ; c && ( e [ o ] = c . getAttribute ( n ) ) } return e } ( o ) , c = document . createElement ( "button" ) ; c . className = "copy-to-clipboard-button" , c . setAttribute ( "type" , "button" ) ; var r = document . createElement ( "span" ) ; return c . appendChild ( r ) , u ( "copy" ) , function ( e , o ) { e . addEventListener ( "click" , ( function ( ) { ! function ( e ) { navigator . clipboard ? navigator . clipboard . writeText ( e . getText ( ) ) . then ( e . success , ( function ( ) { t ( e ) } ) ) : t ( e ) } ( o ) } ) ) } ( c , { getText : function ( ) { return o . textContent } , success : function ( ) { u ( "copy-success" ) , i ( ) } , error : function ( ) { u ( "copy-error" ) , setTimeout ( ( function ( ) { ! function ( t ) { window . getSelection ( ) . selectAllChildren ( t ) } ( o ) } ) , 1 ) , i ( ) } } ) , c ; function i ( ) { setTimeout ( ( function ( ) { u ( "copy" ) } ) , n [ "copy-timeout" ] ) } function u ( t ) { r . textContent = n [ t ] , c . setAttribute ( "data-copy-state" , t ) } } ) ) : console . warn ( "Copy to Clipboard plugin loaded before Toolbar plugin." ) ) } ( ) ;