MediaWiki:Gadget-code-prettify.js
外观
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
/**
* -------------------------------------------------------------------------
* !!! DON'T MODIFY THIS PAGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN !!!
* -------------------------------------------------------------------------
*/
var _addText = '{{GHIACode|page=GHIA:MoegirlPediaInterfaceCodes/blob/master/src/gadgets/code-prettify/Gadget-code-prettify.js|user=[[U:AnnAngela]]|co-authors=[[U:GH:Copilot Autofix powered by AI]]|longId=619560f52b4888ea1b1bc9b948cf1ca1d10137f3|shortId=619560f5|summary=Potential fix for code scanning alert no. 71: Bad HTML filtering regexp (#612)|body=<nowiki>Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]📧users.noreply.github.com></nowiki>}}';
/* <pre> */
"use strict";$(()=>{if(mw.user.options.get("gadget-prism"))return;mw.config.get("wgPageName").match(/\.js$/)&&$(".mw-code").addClass("prettyprint lang-js"),mw.config.get("wgPageName").match(/\.css$/)&&$(".mw-code").addClass("prettyprint lang-css");const e={ts:"ts",typescript:"ts",js:"js",javascript:"js",json:"json",css:"css","sanitized-css":"css",htm:"html",html:"html",xml:"xml",scribunto:"lua",lua:"lua",php:"php",regex:"regex",latex:"latex",tex:"latex"},t=mw.config.get("wgPageContentModel","").toLowerCase();if(Reflect.has(e,t)&&$(".mw-code").addClass(`prettyprint lang-${e[t]}`),$("pre[lang]").each(function(){const t=$(this),n=t.attr("lang").toLowerCase();Reflect.has(e,n)&&t.addClass(`prettyprint lang-${e[n]}`)}),0===$('.prettyprint[class*=" lang-"]').length)return;$('pre.prettyprint[class*=" lang-"]').each((e,t)=>{const n=t.dataset.start;/^[1-9]\d*$/.test(n)?$(t).removeClass("linenums").addClass(`linenums:${n}`):$(t).addClass("linenums")}),window.PR_SHOULD_USE_CONTINUATION=!0;const n=["break,continue,do,else,for,if,return,while"],s=[[n,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],l=[s,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],r=[s,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],o=[s,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"],a=[s,"abstract,async,await,constructor,debugger,enum,eval,export,from,function,get,import,implements,instanceof,interface,let,null,of,set,undefined,var,with,yield,Infinity,NaN"],i="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",c=[n,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],u=[n,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],f=[n,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],d=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,p="str",m="kwd",g="com",w="typ",y="lit",x="pun",b="pln",h="atv",appendDecorations=(e,t,n,s,l)=>{if(!n)return;const r={sourceNode:e,pre:1,langExtension:null,numberLines:null,sourceCode:n,spans:null,basePos:t,decorations:null};s(r),l.push(...r.decorations)},S=/\S/,childContentWrapper=e=>{let t;for(let n=e.firstChild;n;n=n.nextSibling){const s=n.nodeType;t=1===s?t?e:n:3===s&&S.test(n.nodeValue)?e:t}return t===e?void 0:t},createSimpleLexer=(e,t)=>{const n={};let s;(()=>{const l=e.concat(t),r=[],o={};for(let e=0,t=l.length;e<t;++e){const t=l[e],s=t[3];if(s)for(let e=s.length;--e>=0;)n[s.charAt(e)]=t;const a=t[1],i=`${a}`;Object.prototype.hasOwnProperty.bind(o)(i)||(r.push(a),o[i]=null)}r.push(/[\0-\uffff]/),s=(e=>{let t=0,n=!1,s=!1;for(let t=0,l=e.length;t<l;++t){const l=e[t];if(l.ignoreCase)s=!0;else if(/[a-z]/i.test(l.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){n=!0,s=!1;break}}const l={b:8,t:9,n:10,v:11,f:12,r:13},decodeEscape=e=>{let t=e.charCodeAt(0);if(92!==t)return t;const n=e.charAt(1);return t=l[n],t||("0"<=n&&n<="7"?parseInt(e.substring(1),8):"u"===n||"x"===n?parseInt(e.substring(2),16):e.charCodeAt(1))},encodeEscape=e=>{if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);const t=String.fromCharCode(e);return"\\"===t||"-"===t||"]"===t||"^"===t?`\\${t}`:t},caseFoldCharset=e=>{const t=e.substring(1,e.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),n=[],s="^"===t[0],l=["["];s&&l.push("^");for(let e=s?1:0,r=t.length;e<r;++e){const s=t[e];if(/\\[bdsw]/i.test(s))l.push(s);else{const l=decodeEscape(s);let o;e+2<r&&"-"===t[e+1]?(o=decodeEscape(t[e+2]),e+=2):o=l,n.push([l,o]),o<65||l>122||(o<65||l>90||n.push([32|Math.max(65,l),32|Math.min(o,90)]),o<97||l>122||n.push([-33&Math.max(97,l),-33&Math.min(o,122)]))}}n.sort((e,t)=>e[0]-t[0]||t[1]-e[1]);const r=[];let o=[];for(let e=0;e<n.length;++e){const t=n[e];t[0]<=o[1]+1?o[1]=Math.max(o[1],t[1]):r.push(o=t)}for(let e=0;e<r.length;++e){const t=r[e];l.push(encodeEscape(t[0])),t[1]>t[0]&&(t[1]+1>t[0]&&l.push("-"),l.push(encodeEscape(t[1])))}return l.push("]"),l.join("")},allowAnywhereFoldCaseAndRenumberGroups=e=>{const s=e.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),l=s.length,r=[];for(let e=0,t=0;e<l;++e){const n=s[e];if("("===n)++t;else if("\\"===n.charAt(0)){const l=+n.substring(1);l&&(l<=t?r[l]=-1:s[e]=encodeEscape(l))}}for(let e=1;e<r.length;++e)-1===r[e]&&(r[e]=++t);for(let e=0,t=0;e<l;++e){const n=s[e];if("("===n)++t,r[t]||(s[e]="(?:");else if("\\"===n.charAt(0)){const l=+n.substring(1);l&&l<=t&&(s[e]=`\\${r[l]}`)}}for(let e=0;e<l;++e)"^"===s[e]&&"^"!==s[e+1]&&(s[e]="");if(e.ignoreCase&&n)for(let e=0;e<l;++e){const t=s[e],n=t.charAt(0);t.length>=2&&"["===n?s[e]=caseFoldCharset(t):"\\"!==n&&(s[e]=t.replace(/[a-zA-Z]/g,e=>{const t=e.charCodeAt(0);return`[${String.fromCharCode(-33&t,32|t)}]`}))}return s.join("")},r=[];for(let t=0,n=e.length;t<n;++t){const n=e[t];if(n.global||n.multiline)throw new Error(`${n}`);r.push(`(?:${allowAnywhereFoldCaseAndRenumberGroups(n)})`)}return new RegExp(r.join("|"),s?"gi":"g")})(r)})();const l=t.length,decorate=e=>{const r=e.sourceCode,o=e.basePos,a=e.sourceNode,i=[o,b];let c=0;const u=r.match(s)||[],f={};for(let e=0,s=u.length;e<s;++e){const s=u[e];let r,d,p=f[s];if("string"==typeof p)d=!1;else{let e=n[s.charAt(0)];if(e)r=s.match(e[1]),p=e[0];else{for(let n=0;n<l;++n)if(e=t[n],r=s.match(e[1]),r){p=e[0];break}r||(p=b)}d=p.length>=5&&"lang-"===p.substring(0,5),!d||r&&"string"==typeof r[1]||(d=!1,p="src"),d||(f[s]=p)}const m=c;if(c+=s.length,d){const e=r[1];let t=s.indexOf(e),n=t+e.length;r[2]&&(n=s.length-r[2].length,t=n-e.length);const l=p.substring(5);appendDecorations(a,o+m,s.substring(0,t),decorate,i),appendDecorations(a,o+m+t,e,langHandlerForExtension(l,e),i),appendDecorations(a,o+m+n,s.substring(n),decorate,i)}else i.push(o+m,p)}e.decorations=i};return decorate},sourceDecorator=e=>{const t=[],n=[];e.tripleQuotedStrings?t.push([p,/^(?:'''(?:[^'\\]|\\[\s\S]|'{1,2}(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\s\S]|"{1,2}(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$)|"(?:[^"\\]|\\[\s\S])*(?:"|$))/,null,"'\""]):e.multiLineStrings?t.push([p,/^(?:'(?:[^'\\]|\\[\s\S])*(?:'|$)|"(?:[^"\\]|\\[\s\S])*(?:"|$)|`(?:[^`\\]|\\[\s\S])*(?:`|$))/,null,"'\"`"]):t.push([p,/^(?:'(?:[^'\\\r\n]|\\.)*(?:'|$)|"(?:[^"\\\r\n]|\\.)*(?:"|$))/,null,"\"'"]),e.verbatimStrings&&n.push([p,/^@"(?:[^"]|"")*(?:"|$)/,null]);const s=e.hashComments;s&&(e.cStyleComments?(s>1?t.push([g,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):t.push([g,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),n.push([p,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):t.push([g,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(n.push([g,/^\/\/[^\r\n]*/,null]),n.push([g,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));const l=e.regexLiterals;if(l){const e=l>1?"":"\n\r",t=e?".":"[\\S\\s]",s=`/(?=[^/*${e}])(?:[^/\\x5B\\x5C${e}]|\\x5C${t}|\\x5B(?:[^\\x5C\\x5D${e}]|\\x5C${t})*(?:\\x5D|$))+/`;n.push(["lang-regex",RegExp(`^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(${s})`)])}const r=e.types;r&&n.push([w,r]);const o=`${e.keywords}`.replace(/^ | $/g,"");o.length&&n.push([m,new RegExp(`^(?:${o.replace(/[\s,]+/g,"|")})\\b`),null]),t.push([b,/^\s+/,null," \r\n\t "]);let a="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(a+="(?!s*/)"),n.push([y,/^@[a-z_$][a-z_$@0-9]*/i,null],[w,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[b,/^[a-z_$][a-z_$@0-9]*/i,null],[y,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[b,/^\\[\s\S]?/,null],[x,new RegExp(a),null]),createSimpleLexer(t,n)},_=sourceDecorator({keywords:[l,o,r,a,i,c,u,f],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),numberLines=(e,t,n)=>{const s=/(?:^|\s)nocode(?:\s|$)/,l=/\r\n?|\n/,r=e.ownerDocument;let o=r.createElement("li");for(;e.firstChild;)o.appendChild(e.firstChild);const a=[o],walk=e=>{const t=e.nodeType;if(1!==t||s.test(e.className)){if((3===t||4===t)&&n){const t=e.nodeValue,n=t.match(l);if(n){const s=t.substring(0,n.index);e.nodeValue=s;const l=t.substring(n.index+n[0].length);l&&e.parentNode.insertBefore(r.createTextNode(l),e.nextSibling),breakAfter(e),s||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName.toLowerCase())breakAfter(e),e.parentNode&&e.parentNode.removeChild(e);else for(let t=e.firstChild;t;t=t.nextSibling)walk(t)},breakAfter=e=>{let t=e;for(;!t.nextSibling;)if(t=t.parentNode,!t)return;const breakLeftOf=(e,t)=>{const n=t?e.cloneNode(!1):e,s=e.parentNode;if(s){const t=breakLeftOf(s,1);let l=e.nextSibling;t.appendChild(n);for(let e=l;e;e=l)l=e.nextSibling,t.appendChild(e)}return n};let n=breakLeftOf(t.nextSibling,0)
;for(let e;(e=n.parentNode)&&1===e.nodeType;)n=e;a.push(n)};for(let e=0;e<a.length;++e)walk(a[e]);t===(0|t)&&a[0].setAttribute("value",t);const i=r.createElement("ol");i.className="linenums";const c=Math.max(0,t-1|0)||0;for(let e=0,t=a.length;e<t;++e)o=a[e],o.className="L"+(e+c)%10,o.id=`L${e+c+1}`,o.firstChild||o.appendChild(r.createTextNode(" ")),i.appendChild(o);e.appendChild(i)},k={},registerLangHandler=(e,t)=>{for(let n=t.length;--n>=0;){const s=t[n];Object.prototype.hasOwnProperty.bind(k)(s)?window.console&&console.warn("cannot override language handler %s",s):k[s]=e}},langHandlerForExtension=(e,t)=>{let n=e;return n&&Object.prototype.hasOwnProperty.bind(k)(n)||(n=/^\s*</.test(t)?"default-markup":"default-code"),k[n]};registerLangHandler(_,["default-code"]),registerLangHandler(createSimpleLexer([],[[b,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[g,/^<!--[\s\S]*?(?:-->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[x,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),registerLangHandler(createSimpleLexer([[b,/^[\s]+/,null," \t\r\n"],[h,/^(?:"[^"]*"?|'[^']*'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>'"\s]*(?:[^>'"\s/]|\/(?=\s)))/],[x,/^[=<>/]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^"'>\s]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^"'>\s]+)/i]]),["in.tag"]),registerLangHandler(createSimpleLexer([],[[h,/^[\s\S]+/]]),["uq.val"]),registerLangHandler(sourceDecorator({keywords:l,hashComments:!0,cStyleComments:!0,types:d}),["c","cc","cpp","cxx","cyc","m"]),registerLangHandler(sourceDecorator({keywords:"null,true,false"}),["json"]),registerLangHandler(sourceDecorator({keywords:o,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:d}),["cs"]),registerLangHandler(sourceDecorator({keywords:r,cStyleComments:!0}),["java"]),registerLangHandler(sourceDecorator({keywords:f,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]),registerLangHandler(sourceDecorator({keywords:c,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]),registerLangHandler(sourceDecorator({keywords:i,hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]),registerLangHandler(sourceDecorator({keywords:u,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]),registerLangHandler(sourceDecorator({keywords:a,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]),registerLangHandler(sourceDecorator({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),registerLangHandler(createSimpleLexer([],[[p,/^[\s\S]+/]]),["regex"]);const applyDecorator=e=>{const t=e.langExtension;try{const n=((e,t)=>{const n=/(?:^|\s)nocode(?:\s|$)/,s=[];let l=0;const r=[];let o=0;const walk=e=>{const a=e.nodeType;if(1===a){if(n.test(e.className))return;for(let t=e.firstChild;t;t=t.nextSibling)walk(t);const t=e.nodeName.toLowerCase();"br"!==t&&"li"!==t||(s[o]="\n",r[o<<1]=l++,r[o++<<1|1]=e)}else if(3===a||4===a){let n=e.nodeValue;n.length&&(n=t?n.replace(/\r\n?/g,"\n"):n.replace(/[ \t\r\n]+/g," "),s[o]=n,r[o<<1]=l,l+=n.length,r[o++<<1|1]=e)}};return walk(e),{sourceCode:s.join("").replace(/\n$/,""),spans:r}})(e.sourceNode,e.pre),s=n.sourceCode;e.sourceCode=s,e.spans=n.spans,e.basePos=0,langHandlerForExtension(t,s)(e),(e=>{let t=/\bMSIE\s(\d+)/.exec(navigator.userAgent);t&&(t=+t[1]<=8);const n=/\n/g,s=e.sourceCode,l=s.length;let r=0;const o=e.spans,a=o.length;let i=0;const c=e.decorations;let u,f,d=c.length,p=0;for(c[d]=l,f=u=0;f<d;)c[f]!==c[f+2]?(c[u++]=c[f++],c[u++]=c[f++]):f+=2;for(d=u,f=u=0;f<d;){const e=c[f],t=c[f+1];let n=f+2;for(;n+2<=d&&c[n+1]===t;)n+=2;c[u++]=e,c[u++]=t,f=n}d=c.length=u;const m=e.sourceNode;let g="";m&&(g=m.style.display,m.style.display="none");try{for(;i<a;){const e=o[i+2]||l,a=c[p+2]||l,u=Math.min(e,a);let f,d=o[i+1];if(1!==d.nodeType&&(f=s.substring(r,u))){t&&(f=f.replace(n,"\r")),d.nodeValue=f;const l=d.ownerDocument,a=l.createElement("span");a.className=c[p+1];const m=d.parentNode;m.replaceChild(a,d),a.appendChild(d),r<e&&(o[i+1]=d=l.createTextNode(s.substring(u,e)),m.insertBefore(d,a.nextSibling))}r=u,r>=e&&(i+=2),r>=a&&(p+=2)}}finally{m&&(m.style.display=g)}})(e)}catch(e){window.console&&console.log(e&&e.stack||e)}},$prettyPrint=(e,t)=>{const n=t||document.body,s=n.ownerDocument||document,byTagName=e=>n.getElementsByTagName(e);let l=[byTagName("pre"),byTagName("code"),byTagName("xmp")];const r=[];for(let e=0;e<l.length;++e)for(let t=0,n=l[e].length;t<n;++t)r.push(l[e][t]);l=null;let o=Date;o.now||(o={now:()=>+new Date});let a=0;const i=/\blang(?:uage)?-([\w.]+)(?!\S)/,c=/\bprettyprint\b/,u=/\bprettyprinted\b/,f=/pre|xmp/i,d=/^code$/i,p=/^(?:pre|code|xmp)$/i,doWork=()=>{const t=window.PR_SHOULD_USE_CONTINUATION?o.now()+250:Infinity;for(;a<r.length&&o.now()<t;a++){const e=r[a],t={};let n=e;for(;Number.MAX_SAFE_INTEGER>Number.MIN_SAFE_INTEGER;){const e=n.nodeType,s=(7===e||8===e)&&n.nodeValue;if(s?!/^\??prettify\b/.test(s):3!==e||/\S/.test(n.nodeValue))break;if(s){s.replace(/\b(\w+)=([\w:.%+-]+)/g,(e,n,s)=>{t[n]=s});break}n=n.previousSibling}const l=e.className;if((Object.keys(t).length>0||c.test(l))&&!u.test(l)){let n=!1;for(let t=e.parentNode;t;t=t.parentNode){const e=t.tagName;if(p.test(e)&&t.className&&c.test(t.className)){n=!0;break}}if(!n){e.classList.add("prettyprinted");let n,r=t.lang;if(!r){let t;r=l.match(i),!r&&(t=childContentWrapper(e))&&d.test(t.tagName)&&(r=t.className.match(i)),r&&(r=r[1])}if(f.test(e.tagName))n=1;else{const t=e.currentStyle,l=s.defaultView,r=t?t.whiteSpace:l&&l.getComputedStyle?l.getComputedStyle(e,null).getPropertyValue("white-space"):0;n=r&&"pre"===r.substring(0,3)}let o=t.linenums;(o="true"===o||+o)||(o=l.match(/\blinenums\b(?::(\d+))?/),o=!!o&&(!o[1]||!o[1].length||+o[1])),o&&numberLines(e,o,n),applyDecorator({langExtension:r,sourceNode:e,numberLines:o,pre:n,sourceCode:null,basePos:null,spans:null,decorations:null})}}}a<r.length?window.setTimeout(doWork,250):"function"==typeof e&&e()};doWork()};window.PR={createSimpleLexer,registerLangHandler,sourceDecorator,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:h,PR_COMMENT:g,PR_DECLARATION:"dec",PR_KEYWORD:m,PR_LITERAL:y,PR_NOCODE:"nocode",PR_PLAIN:b,PR_PUNCTUATION:x,PR_SOURCE:"src",PR_STRING:p,PR_TAG:"tag",PR_TYPE:w,prettyPrintOne:window.prettyPrintOne=(e,t,n)=>{const s=n||!1,l=t||null;let r=document.createElement("div");return r.innerHTML=`<pre>${e}</pre>`,r=r.firstChild,s&&numberLines(r,s,!0),applyDecorator({langExtension:l,numberLines:s,sourceNode:r,pre:1,sourceCode:null,basePos:null,spans:null,decorations:null}),r.innerHTML},prettyPrint:window.prettyPrint=$prettyPrint},registerLangHandler(createSimpleLexer([[b,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[p,/^"(?:[^\n\r\f"\\]|\\(?:\r\n?|\n|\f)|\\[\s\S])*"/,null],[p,/^'(?:[^\n\r\f'\\]|\\(?:\r\n?|\n|\f)|\\[\s\S])*'/,null],["lang-css-str",/^url\(([^)"']+)\)/i],[m,/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[g,/^\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//],[g,/^(?:<!--|--!?>)/],[y,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[y,/^#(?:[0-9a-f]{3}){1,2}\b/i],[b,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d-]|\\(?:\\[\da-f]+ ?))*/i],[x,/^[^\s\w'"]+/]]),["css"]),registerLangHandler(createSimpleLexer([],[[m,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]),registerLangHandler(createSimpleLexer([],[[p,/^[^)"']+/]]),["css-str"]),registerLangHandler(createSimpleLexer([[b,/^[\t\n\r \xA0]+/,null,"\t\n\r "],[p,/^(?:"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))/,null,"\"'"]],[[g,/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[p,/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[m,/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],[y,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?))/i],[b,/^[a-z_]\w*/i],[x,/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0"'\-+=]*/]]),["lua"]),registerLangHandler(createSimpleLexer([[b,/^[\t\n\r \xA0]+/,null,"\t\n\r "],[g,/^%[^\r\n]*/,null,"%"]],[[m,/^\\[a-zA-Z@]+/],[m,/^\\./],[w,/^[$&]/],[y,/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],[x,/^[{}()[\]=]+/]]),["latex","tex"]),$prettyPrint()});
/* </pre> */