zhuguifei
2026-03-10 58402bd5e762361363a0f7d7907153c77dbb819f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/SyntaxHighlighter
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
 *
 * @version
 * 3.0.83 (July 02 2010)
 * 
 * @copyright
 * Copyright (C) 2004-2010 Alex Gorbatchev.
 *
 * @license
 * Dual licensed under the MIT and GPL licenses.
 */
var XRegExp,SyntaxHighlighter;!function(){function a(a,c){if(!XRegExp.isRegExp(a))throw TypeError("type RegExp expected");var d=a._xregexp;return a=XRegExp(a.source,b(a)+(c||"")),d&&(a._xregexp={source:d.source,captureNames:d.captureNames?d.captureNames.slice(0):null}),a}function b(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":"")}function c(a,b,c,d){var e,f,g,j=i.length;h=!0;try{for(;j--;)if(g=i[j],c&g.scope&&(!g.trigger||g.trigger.call(d))&&(g.pattern.lastIndex=b,(f=g.pattern.exec(a))&&f.index===b)){e={output:g.handler.call(d,f,c),match:f};break}}catch(k){throw k}finally{h=!1}return e}function d(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(c=c||0;c<a.length;c++)if(a[c]===b)return c;return-1}XRegExp=function(b,d){var e,g,i=[],k=XRegExp.OUTSIDE_CLASS,l=0;if(XRegExp.isRegExp(b)){if(void 0!==d)throw TypeError("can't supply flags when constructing one RegExp from another");return a(b)}if(h)throw Error("can't call the XRegExp constructor within token definition functions");for(d=d||"",e={hasNamedCapture:!1,captureNames:[],hasFlag:function(a){return d.indexOf(a)>-1},setFlag:function(a){d+=a}};l<b.length;)(g=c(b,l,k,e))?(i.push(g.output),l+=g.match[0].length||1):(g=j.exec.call(o[k],b.slice(l)))?(i.push(g[0]),l+=g[0].length):(g=b.charAt(l),"["===g?k=XRegExp.INSIDE_CLASS:"]"===g&&(k=XRegExp.OUTSIDE_CLASS),i.push(g),l++);return i=RegExp(i.join(""),j.replace.call(d,f,"")),i._xregexp={source:b,captureNames:e.hasNamedCapture?e.captureNames:null},i},XRegExp.version="1.5.0",XRegExp.INSIDE_CLASS=1,XRegExp.OUTSIDE_CLASS=2;var e=/\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g,f=/[^gimy]+|([\s\S])(?=[\s\S]*\1)/g,g=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,h=!1,i=[],j={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},k=void 0===j.exec.call(/()??/,"")[1],l=function(){var a=/^/g;return j.test.call(a,""),!a.lastIndex}(),m=function(){var a=/x/g;return j.replace.call("x",a,""),!a.lastIndex}(),n=void 0!==RegExp.prototype.sticky,o={};o[XRegExp.INSIDE_CLASS]=/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/,o[XRegExp.OUTSIDE_CLASS]=/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,XRegExp.addToken=function(b,c,d,e){i.push({pattern:a(b,"g"+(n?"y":"")),handler:c,scope:d||XRegExp.OUTSIDE_CLASS,trigger:e||null})},XRegExp.cache=function(a,b){var c=a+"/"+(b||"");return XRegExp.cache[c]||(XRegExp.cache[c]=XRegExp(a,b))},XRegExp.copyAsGlobal=function(b){return a(b,"g")},XRegExp.escape=function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},XRegExp.execAt=function(b,c,d,e){return c=a(c,"g"+(e&&n?"y":"")),c.lastIndex=d=d||0,b=c.exec(b),e?b&&b.index===d?b:null:b},XRegExp.freezeTokens=function(){XRegExp.addToken=function(){throw Error("can't run addToken after freezeTokens")}},XRegExp.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)},XRegExp.iterate=function(b,c,d,e){for(var f,g=a(c,"g"),h=-1;f=g.exec(b);)d.call(e,f,++h,b,g),g.lastIndex===f.index&&g.lastIndex++;c.global&&(c.lastIndex=0)},XRegExp.matchChain=function(b,c){return function d(b,e){var f,g=c[e].regex?c[e]:{regex:c[e]},h=a(g.regex,"g"),i=[];for(f=0;f<b.length;f++)XRegExp.iterate(b[f],h,function(a){i.push(g.backref?a[g.backref]||"":a[0])});return e!==c.length-1&&i.length?d(i,e+1):i}([b],0)},RegExp.prototype.apply=function(a,b){return this.exec(b[0])},RegExp.prototype.call=function(a,b){return this.exec(b)},RegExp.prototype.exec=function(a){var c,e,f=j.exec.apply(this,arguments);if(f){if(!k&&f.length>1&&d(f,"")>-1&&(c=RegExp(this.source,j.replace.call(b(this),"g","")),j.replace.call(a.toString().slice(f.index),c,function(){for(var a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(f[a]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(e=1;e<f.length;e++)(c=this._xregexp.captureNames[e-1])&&(f[c]=f[e]);!l&&this.global&&!f[0].length&&this.lastIndex>f.index&&this.lastIndex--}return f},l||(RegExp.prototype.test=function(a){return(a=j.exec.call(this,a))&&this.global&&!a[0].length&&this.lastIndex>a.index&&this.lastIndex--,!!a}),String.prototype.match=function(a){if(XRegExp.isRegExp(a)||(a=RegExp(a)),a.global){var b=j.match.apply(this,arguments);return a.lastIndex=0,b}return a.exec(this)},String.prototype.replace=function(a,b){var c,f,g=XRegExp.isRegExp(a);return g&&"string"==typeof b.valueOf()&&-1===b.indexOf("${")&&m?j.replace.apply(this,arguments):(g?a._xregexp&&(c=a._xregexp.captureNames):a+="","function"==typeof b?f=j.replace.call(this,a,function(){if(c){arguments[0]=new String(arguments[0]);for(var d=0;d<c.length;d++)c[d]&&(arguments[0][c[d]]=arguments[d+1])}return g&&a.global&&(a.lastIndex=arguments[arguments.length-2]+arguments[0].length),b.apply(null,arguments)}):(f=this+"",f=j.replace.call(f,a,function(){var a=arguments;return j.replace.call(b,e,function(b,e,f){if(!e)return e=+f,e<=a.length-3?a[e]:(e=c?d(c,f):-1,e>-1?a[e+1]:b);switch(e){case"$":return"$";case"&":return a[0];case"`":return a[a.length-1].slice(0,a[a.length-2]);case"'":return a[a.length-1].slice(a[a.length-2]+a[0].length);default:if(f="",e=+e,!e)return b;for(;e>a.length-3;)f=String.prototype.slice.call(e,-1)+f,e=Math.floor(e/10);return(e?a[e]||"":"$")+f}})})),g&&a.global&&(a.lastIndex=0),f)},String.prototype.split=function(a,b){if(!XRegExp.isRegExp(a))return j.split.apply(this,arguments);var c,d,e=this+"",f=[],g=0;if(void 0===b||0>+b)b=1/0;else if(b=Math.floor(+b),!b)return[];for(a=XRegExp.copyAsGlobal(a);(c=a.exec(e))&&!(a.lastIndex>g&&(f.push(e.slice(g,c.index)),c.length>1&&c.index<e.length&&Array.prototype.push.apply(f,c.slice(1)),d=c[0].length,g=a.lastIndex,f.length>=b));)a.lastIndex===c.index&&a.lastIndex++;return g===e.length?(!j.test.call(a,"")||d)&&f.push(""):f.push(e.slice(g)),f.length>b?f.slice(0,b):f},XRegExp.addToken(/\(\?#[^)]*\)/,function(a){return j.test.call(g,a.input.slice(a.index+a[0].length))?"":"(?:)"}),XRegExp.addToken(/\((?!\?)/,function(){return this.captureNames.push(null),"("}),XRegExp.addToken(/\(\?<([$\w]+)>/,function(a){return this.captureNames.push(a[1]),this.hasNamedCapture=!0,"("}),XRegExp.addToken(/\\k<([\w$]+)>/,function(a){var b=d(this.captureNames,a[1]);return b>-1?"\\"+(b+1)+(isNaN(a.input.charAt(a.index+a[0].length))?"":"(?:)"):a[0]}),XRegExp.addToken(/\[\^?]/,function(a){return"[]"===a[0]?"\\b\\B":"[\\s\\S]"}),XRegExp.addToken(/^\(\?([imsx]+)\)/,function(a){return this.setFlag(a[1]),""}),XRegExp.addToken(/(?:\s+|#.*)+/,function(a){return j.test.call(g,a.input.slice(a.index+a[0].length))?"":"(?:)"},XRegExp.OUTSIDE_CLASS,function(){return this.hasFlag("x")}),XRegExp.addToken(/\./,function(){return"[\\s\\S]"},XRegExp.OUTSIDE_CLASS,function(){return this.hasFlag("s")})}(),SyntaxHighlighter=function(){function a(a,b){return-1!=a.className.indexOf(b)}function b(b,c){a(b,c)||(b.className+=" "+c)}function c(a,b){a.className=a.className.replace(b,"")}function d(a){var b,c=[];for(b=0;b<a.length;b++)c.push(a[b]);return c}function e(a){return a.split("\n")}function f(a){var b="highlighter_";return 0==a.indexOf(b)?a:b+a}function g(a){return J.vars.highlighters[f(a)]}function h(a){return document.getElementById(f(a))}function i(a){J.vars.highlighters[f(a.id)]=a}function j(a,b,c){var d,e,f,g,h;if(null==a)return null;if(f=1!=c?a.childNodes:[a.parentNode],g={"#":"id",".":"className"}[b.substr(0,1)]||"nodeName",d="nodeName"!=g?b.substr(1):b.toUpperCase(),-1!=(a[g]||"").indexOf(d))return a;for(h=0;f&&h<f.length&&null==e;h++)e=j(f[h],b,c);return e}function k(a,b){return j(a,b,!0)}function l(a,b,c){c=Math.max(c||0,0);for(var d=c;d<a.length;d++)if(a[d]==b)return d;return-1}function m(a){return(a||"")+Math.round(1e6*Math.random()).toString()}function n(a,b){var c,d={};for(c in a)d[c]=a[c];for(c in b)d[c]=b[c];return d}function o(a){var b={"true":!0,"false":!1}[a];return null==b?a:b}function p(a,b,c,d,e){var f,g=(screen.width-c)/2,h=(screen.height-d)/2;return e+=", left="+g+", top="+h+", width="+c+", height="+d,e=e.replace(/^,/,""),f=window.open(a,b,e),f.focus(),f}function q(a,b,c,d){function e(a){a=a||window.event,a.target||(a.target=a.srcElement,a.preventDefault=function(){this.returnValue=!1}),c.call(d||window,a)}a.attachEvent?a.attachEvent("on"+b,e):a.addEventListener(b,e,!1)}function r(a){window.alert(J.config.strings.alert+a)}function s(a,b){var c,d,e,f,g=J.vars.discoveredBrushes,h=null;if(null==g){g={};for(c in J.brushes)if(d=J.brushes[c],e=d.aliases,null!=e)for(d.brushName=c.toLowerCase(),f=0;f<e.length;f++)g[e[f]]=c;J.vars.discoveredBrushes=g}return h=J.brushes[g[a]],null==h&&0!=b&&r(J.config.strings.noBrush+a),h}function t(a,b){var c,d=e(a);for(c=0;c<d.length;c++)d[c]=b(d[c],c);return d.join("\n")}function u(a){return a.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g,"")}function v(a){for(var b,c,d,e={},f=new XRegExp("^\\[(?<values>(.*?))\\]$"),g=new XRegExp("(?<name>[\\w-]+)\\s*:\\s*(?<value>[\\w-%#]+|\\[.*?\\]|\".*?\"|'.*?')\\s*;?","g");null!=(b=g.exec(a));)c=b.value.replace(/^['"]|['"]$/g,""),null!=c&&f.test(c)&&(d=f.exec(c),c=d.values.length>0?d.values.split(/\s*,\s*/):[]),e[b.name]=c;return e}function w(a,b){return null==a||0==a.length||"\n"==a?a:(a=a.replace(/</g,"&lt;"),a=a.replace(/ {2,}/g,function(a){var b,c="";for(b=0;b<a.length-1;b++)c+=J.config.space;return c+" "}),null!=b&&(a=t(a,function(a){if(0==a.length)return"";var c="";return a=a.replace(/^(&nbsp;| )+/,function(a){return c=a,""}),0==a.length?c:c+'<code class="'+b+'">'+a+"</code>"})),a)}function x(a,b){for(var c=a.toString();c.length<b;)c="0"+c;return c}function y(a,b){var c,d="";for(c=0;b>c;c++)d+=" ";return a.replace(/\t/g,d)}function z(a,b){function c(a,b,c){return a.substr(0,b)+g.substr(0,c)+a.substr(b+1,a.length)}var d,f=(e(a),"    "),g="";for(d=0;50>d;d++)g+="                    ";return a=t(a,function(a){var d,e;if(-1==a.indexOf(f))return a;for(d=0;-1!=(d=a.indexOf(f));)e=b-d%b,a=c(a,d,e);return a})}function A(a){var b=/<br\s*\/?>|&lt;br\s*\/?&gt;/gi;return 1==J.config.bloggerMode&&(a=a.replace(b,"\n")),1==J.config.stripBrs&&(a=a.replace(b,"")),a}function B(a){return a.replace(/^\s+|\s+$/g,"")}function C(a){var b,c,d,f=e(A(a)),g=(new Array,/^\s*/),h=1e3;for(b=0;b<f.length&&h>0;b++)if(c=f[b],0!=B(c).length){if(d=g.exec(c),null==d)return a;h=Math.min(d[0].length,h)}if(h>0)for(b=0;b<f.length;b++)f[b]=f[b].substr(h);return f.join("\n")}function D(a,b){return a.index<b.index?-1:a.index>b.index?1:a.length<b.length?-1:a.length>b.length?1:0}function E(a,b){function c(a){return a[0]}for(var d,e=null,f=[],g=b.func?b.func:c;null!=(e=b.regex.exec(a));)d=g(e,b),"string"==typeof d&&(d=[new J.Match(d,e.index,b.css)]),f=f.concat(d);return f}function F(a){var b=/(.*)((&gt;|&lt;).*)/;return a.replace(J.regexLib.url,function(a){var c="",d=null;return(d=b.exec(a))&&(a=d[1],c=d[2]),'<a href="'+a+'">'+a+"</a>"+c})}function G(){var a,b=document.getElementsByTagName("script"),c=[];for(a=0;a<b.length;a++)"syntaxhighlighter"==b[a].type&&c.push(b[a]);return c}function H(a){var b,c="<![CDATA[",d="]]>",e=B(a),f=!1,g=c.length,h=d.length;return 0==e.indexOf(c)&&(e=e.substring(g),f=!0),b=e.length,e.indexOf(d)==b-h&&(e=e.substring(0,b-h),f=!0),f?e:a}function I(a){var d,e,f,h,i=a.target,l=k(i,".syntaxhighlighter"),m=k(i,".container"),n=document.createElement("textarea");if(m&&l&&!j(m,"textarea")){for(d=g(l.id),b(l,"source"),e=m.childNodes,f=[],h=0;h<e.length;h++)f.push(e[h].innerText||e[h].textContent);f=f.join("\r"),n.appendChild(document.createTextNode(f)),m.appendChild(n),n.focus(),n.select(),q(n,"blur",function(){n.parentNode.removeChild(n),c(l,"source")})}}"undefined"!=typeof require&&"undefined"==typeof XRegExp&&(XRegExp=require("XRegExp").XRegExp);var J={defaults:{"class-name":"","first-line":1,"pad-line-numbers":!1,highlight:null,title:null,"smart-tabs":!0,"tab-size":4,gutter:!0,toolbar:!0,"quick-code":!0,collapse:!1,"auto-links":!0,light:!1,"html-script":!1},config:{space:"&nbsp;",useScriptTags:!0,bloggerMode:!1,stripBrs:!1,tagName:"pre",strings:{expandSource:"expand source",help:"?",alert:"SyntaxHighlighter\n\n",noBrush:"Can't find brush for: ",brushNotHtmlScript:"Brush wasn't configured for html-script option: ",aboutDialog:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>About SyntaxHighlighter</title></head><body style="font-family:Geneva,Arial,Helvetica,sans-serif;background-color:#fff;color:#000;font-size:1em;text-align:center;"><div style="text-align:center;margin-top:1.5em;"><div style="font-size:xx-large;">SyntaxHighlighter</div><div style="font-size:.75em;margin-bottom:3em;"><div>version 3.0.83 (July 02 2010)</div><div><a href="http://alexgorbatchev.com/SyntaxHighlighter" target="_blank" style="color:#005896">http://alexgorbatchev.com/SyntaxHighlighter</a></div><div>JavaScript code syntax highlighter.</div><div>Copyright 2004-2010 Alex Gorbatchev.</div></div><div>If you like this script, please <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2930402" style="color:#005896">donate</a> to <br/>keep development active!</div></div></body></html>'}},vars:{discoveredBrushes:null,highlighters:{}},brushes:{},regexLib:{multiLineCComments:/\/\*[\s\S]*?\*\//gm,singleLineCComments:/\/\/.*$/gm,singleLinePerlComments:/#.*$/gm,doubleQuotedString:/"([^\\"\n]|\\.)*"/g,singleQuotedString:/'([^\\'\n]|\\.)*'/g,multiLineDoubleQuotedString:new XRegExp('"([^\\\\"]|\\\\.)*"',"gs"),multiLineSingleQuotedString:new XRegExp("'([^\\\\']|\\\\.)*'","gs"),xmlComments:/(&lt;|<)!--[\s\S]*?--(&gt;|>)/gm,url:/\w+:\/\/[\w-.\/?%&=:@;]*/g,phpScriptTags:{left:/(&lt;|<)\?=?/g,right:/\?(&gt;|>)/g},aspScriptTags:{left:/(&lt;|<)%=?/g,right:/%(&gt;|>)/g},scriptScriptTags:{left:/(&lt;|<)\s*script.*?(&gt;|>)/gi,right:/(&lt;|<)\/\s*script\s*(&gt;|>)/gi}},toolbar:{getHtml:function(a){function b(a,b){return J.toolbar.getButtonHtml(a,b,J.config.strings[b])}var c,d='<div class="toolbar">',e=J.toolbar.items,f=e.list;for(c=0;c<f.length;c++)d+=(e[f[c]].getHtml||b)(a,f[c]);return d+="</div>"},getButtonHtml:function(a,b,c){return'<span><a href="#" class="toolbar_item command_'+b+" "+b+'">'+c+"</a></span>"},handler:function(a){function b(a){var b=new RegExp(a+"_(\\w+)"),c=b.exec(d);return c?c[1]:null}var c=a.target,d=c.className||"",e=g(k(c,".syntaxhighlighter").id),f=b("command");e&&f&&J.toolbar.items[f].execute(e),a.preventDefault()},items:{list:["expandSource","help"],expandSource:{getHtml:function(a){if(1!=a.getParam("collapse"))return"";var b=a.getParam("title");return J.toolbar.getButtonHtml(a,"expandSource",b?b:J.config.strings.expandSource)},execute:function(a){var b=h(a.id);c(b,"collapsed")}},help:{execute:function(){var a=p("","_blank",500,250,"scrollbars=0"),b=a.document;b.write(J.config.strings.aboutDialog),b.close(),a.focus()}}}},findElements:function(a,b){var c,e,f=b?[b]:d(document.getElementsByTagName(J.config.tagName)),g=J.config,h=[];if(g.useScriptTags&&(f=f.concat(G())),0===f.length)return h;for(c=0;c<f.length;c++)e={target:f[c],params:n(a,v(f[c].className))},null!=e.params.brush&&h.push(e);return h},highlight:function(a,b){var c,d,e,f,g,h,i=this.findElements(a,b),j="innerHTML",k=null,l=J.config;if(0!==i.length)for(c=0;c<i.length;c++)if(b=i[c],e=b.target,f=b.params,g=f.brush,null!=g){if("true"==f["html-script"]||1==J.defaults["html-script"])k=new J.HtmlScript(g),g="htmlscript";else{if(h=s(g),!h)continue;k=new h}d=e[j],l.useScriptTags&&(d=H(d)),""!=(e.title||"")&&(f.title=e.title),f.brush=g,k.init(f),b=k.getDiv(d),""!=(e.id||"")&&(b.id=e.id),e.parentNode.replaceChild(b,e)}},all:function(a){q(window,"load",function(){J.highlight(a)})}};return J.all=J.all,J.highlight=J.highlight,J.Match=function(a,b,c){this.value=a,this.index=b,this.length=a.length,this.css=c,this.brushName=null},J.Match.prototype.toString=function(){return this.value},J.HtmlScript=function(a){function b(a,b){for(var c=0;c<a.length;c++)a[c].index+=b}function c(a){var c,e,g,h=a.code,i=[],j=d.regexList,k=a.index+a.left.length,l=d.htmlScript;for(e=0;e<j.length;e++)c=E(h,j[e]),b(c,k),i=i.concat(c);for(null!=l.left&&null!=a.left&&(c=E(a.left,l.left),b(c,a.index),i=i.concat(c)),null!=l.right&&null!=a.right&&(c=E(a.right,l.right),b(c,a.index+a[0].lastIndexOf(a.right)),i=i.concat(c)),g=0;g<i.length;g++)i[g].brushName=f.brushName;return i}var d,e,f=s(a),g=new J.brushes.Xml,h=this,i="getDiv getHtml init".split(" ");if(null!=f){for(d=new f,e=0;e<i.length;e++)!function(){var a=i[e];h[a]=function(){return g[a].apply(g,arguments)}}();return null==d.htmlScript?(r(J.config.strings.brushNotHtmlScript+a),void 0):(g.regexList.push({regex:d.htmlScript.code,func:c}),void 0)}},J.Highlighter=function(){},J.Highlighter.prototype={getParam:function(a,b){var c=this.params[a];return o(null==c?b:c)},create:function(a){return document.createElement(a)},findMatches:function(a,b){var c,d=[];if(null!=a)for(c=0;c<a.length;c++)"object"==typeof a[c]&&(d=d.concat(E(b,a[c])));return this.removeNestedMatches(d.sort(D))},removeNestedMatches:function(a){var b,c,d,e,f;for(b=0;b<a.length;b++)if(null!==a[b])for(c=a[b],d=c.index+c.length,e=b+1;e<a.length&&null!==a[b];e++)if(f=a[e],null!==f){if(f.index>d)break;f.index==c.index&&f.length>c.length?a[b]=null:f.index>=c.index&&f.index<d&&(a[e]=null)}return a},figureOutLineNumbers:function(a){var b=[],c=parseInt(this.getParam("first-line"));return t(a,function(a,d){b.push(d+c)}),b},isLineHighlighted:function(a){var b=this.getParam("highlight",[]);return"object"!=typeof b&&null==b.push&&(b=[b]),-1!=l(b,a.toString())},getLineHtml:function(a,b,c){var d=["line","number"+b,"index"+a,"alt"+(0==b%2?1:2).toString()];return this.isLineHighlighted(b)&&d.push("highlighted"),0==b&&d.push("break"),'<div class="'+d.join(" ")+'">'+c+"</div>"},getLineNumbersHtml:function(a,b){var c,d,f="",g=e(a).length,h=parseInt(this.getParam("first-line")),i=this.getParam("pad-line-numbers");for(1==i?i=(h+g-1).toString().length:1==isNaN(i)&&(i=0),c=0;g>c;c++)d=b?b[c]:h+c,a=0==d?J.config.space:x(d,i),f+=this.getLineHtml(c,d,a);return f},getCodeLinesHtml:function(a,b){var c,d,f,g,h,i,j,k;for(a=B(a),c=e(a),this.getParam("pad-line-numbers"),d=parseInt(this.getParam("first-line")),a="",f=this.getParam("brush"),g=0;g<c.length;g++)h=c[g],i=/^(&nbsp;|\s)+/.exec(h),j=null,k=b?b[g]:d+g,null!=i&&(j=i[0].toString(),h=h.substr(j.length),j=j.replace(" ",J.config.space)),h=B(h),0==h.length&&(h=J.config.space),a+=this.getLineHtml(g,k,(null!=j?'<code class="'+f+' spaces">'+j+"</code>":"")+h);return a},getTitleHtml:function(a){return a?"<caption>"+a+"</caption>":""},getMatchesHtml:function(a,b){function c(a){var b=a?a.brushName||i:i;return b?b+" ":""}var d,e,f,g=0,h="",i=this.getParam("brush","");for(d=0;d<b.length;d++)f=b[d],null!==f&&0!==f.length&&(e=c(f),h+=w(a.substr(g,f.index-g),e+"plain")+w(f.value,e+f.css),g=f.index+f.length+(f.offset||0));return h+=w(a.substr(g),c()+"plain")},getHtml:function(a){var b,c,d,e="",g=["syntaxhighlighter"];return 1==this.getParam("light")&&(this.params.toolbar=this.params.gutter=!1),className="syntaxhighlighter",1==this.getParam("collapse")&&g.push("collapsed"),0==(gutter=this.getParam("gutter"))&&g.push("nogutter"),g.push(this.getParam("class-name")),g.push(this.getParam("brush")),a=u(a).replace(/\r/g," "),b=this.getParam("tab-size"),a=1==this.getParam("smart-tabs")?z(a,b):y(a,b),a=C(a),gutter&&(d=this.figureOutLineNumbers(a)),c=this.findMatches(this.regexList,a),e=this.getMatchesHtml(a,c),e=this.getCodeLinesHtml(e,d),this.getParam("auto-links")&&(e=F(e)),"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.match(/MSIE/)&&g.push("ie"),e='<div id="'+f(this.id)+'" class="'+g.join(" ")+'">'+(this.getParam("toolbar")?J.toolbar.getHtml(this):"")+'<table border="0" cellpadding="0" cellspacing="0">'+this.getTitleHtml(this.getParam("title"))+"<tbody>"+"<tr>"+(gutter?'<td class="gutter">'+this.getLineNumbersHtml(a)+"</td>":"")+'<td class="code">'+'<div class="container">'+e+"</div>"+"</td>"+"</tr>"+"</tbody>"+"</table>"+"</div>"},getDiv:function(a){null===a&&(a=""),this.code=a;var b=this.create("div");return b.innerHTML=this.getHtml(a),this.getParam("toolbar")&&q(j(b,".toolbar"),"click",J.toolbar.handler),this.getParam("quick-code")&&q(j(b,".code"),"dblclick",I),b},init:function(a){this.id=m(),i(this),this.params=n(J.defaults,a||{}),1==this.getParam("light")&&(this.params.toolbar=this.params.gutter=!1)},getKeywords:function(a){return a=a.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"|"),"\\b(?:"+a+")\\b"},forHtmlScript:function(a){this.htmlScript={left:{regex:a.left,css:"script"},right:{regex:a.right,css:"script"},code:new XRegExp("(?<left>"+a.left.source+")"+"(?<code>.*?)"+"(?<right>"+a.right.source+")","sgi")}}},J}(),"undefined"!=typeof exports?exports.SyntaxHighlighter=SyntaxHighlighter:null;