2017-06-28 08:45:13 +00:00
! function ( ) { / *
Copyright ( C ) 2006 Google Inc .
Licensed under the Apache License , Version 2.0 ( the "License" ) ;
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
* /
window . PR _SHOULD _USE _CONTINUATION = ! 0 ;
( function ( ) { function T ( a ) { function d ( e ) { var b = e . charCodeAt ( 0 ) ; if ( 92 !== b ) return b ; var a = e . charAt ( 1 ) ; return ( b = w [ a ] ) ? b : "0" <= a && "7" >= a ? parseInt ( e . substring ( 1 ) , 8 ) : "u" === a || "x" === a ? parseInt ( e . substring ( 2 ) , 16 ) : e . charCodeAt ( 1 ) } function f ( e ) { if ( 32 > e ) return ( 16 > e ? "\\x0" : "\\x" ) + e . toString ( 16 ) ; e = String . fromCharCode ( e ) ; return "\\" === e || "-" === e || "]" === e || "^" === e ? "\\" + e : e } function b ( e ) { var b = e . substring ( 1 , e . length - 1 ) . match ( /\\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 ) ; e =
[ ] ; var a = "^" === b [ 0 ] , c = [ "[" ] ; a && c . push ( "^" ) ; for ( var a = a ? 1 : 0 , g = b . length ; a < g ; ++ a ) { var h = b [ a ] ; if ( /\\[bdsw]/i . test ( h ) ) c . push ( h ) ; else { var h = d ( h ) , k ; a + 2 < g && "-" === b [ a + 1 ] ? ( k = d ( b [ a + 2 ] ) , a += 2 ) : k = h ; e . push ( [ h , k ] ) ; 65 > k || 122 < h || ( 65 > k || 90 < h || e . push ( [ Math . max ( 65 , h ) | 32 , Math . min ( k , 90 ) | 32 ] ) , 97 > k || 122 < h || e . push ( [ Math . max ( 97 , h ) & - 33 , Math . min ( k , 122 ) & - 33 ] ) ) } } e . sort ( function ( e , a ) { return e [ 0 ] - a [ 0 ] || a [ 1 ] - e [ 1 ] } ) ; b = [ ] ; g = [ ] ; for ( a = 0 ; a < e . length ; ++ a ) h = e [ a ] , h [ 0 ] <= g [ 1 ] + 1 ? g [ 1 ] = Math . max ( g [ 1 ] , h [ 1 ] ) : b . push ( g = h ) ; for ( a = 0 ; a < b . length ; ++ a ) h = b [ a ] ,
c . push ( f ( h [ 0 ] ) ) , h [ 1 ] > h [ 0 ] && ( h [ 1 ] + 1 > h [ 0 ] && c . push ( "-" ) , c . push ( f ( h [ 1 ] ) ) ) ; c . push ( "]" ) ; return c . join ( "" ) } function v ( e ) { for ( var a = e . source . match ( /(?:\[(?:[^\x5C\x5D]|\\[\s\S])*\]|\\u[A-Fa-f0-9]{4}|\\x[A-Fa-f0-9]{2}|\\[0-9]+|\\[^ux0-9]|\(\?[:!=]|[\(\)\^]|[^\x5B\x5C\(\)\^]+)/g ) , c = a . length , d = [ ] , g = 0 , h = 0 ; g < c ; ++ g ) { var k = a [ g ] ; "(" === k ? ++ h : "\\" === k . charAt ( 0 ) && ( k = + k . substring ( 1 ) ) && ( k <= h ? d [ k ] = - 1 : a [ g ] = f ( k ) ) } for ( g = 1 ; g < d . length ; ++ g ) - 1 === d [ g ] && ( d [ g ] = ++ A ) ; for ( h = g = 0 ; g < c ; ++ g ) k = a [ g ] , "(" === k ? ( ++ h , d [ h ] || ( a [ g ] = "(?:" ) ) : "\\" ===
k . charAt ( 0 ) && ( k = + k . substring ( 1 ) ) && k <= h && ( a [ g ] = "\\" + d [ k ] ) ; for ( g = 0 ; g < c ; ++ g ) "^" === a [ g ] && "^" !== a [ g + 1 ] && ( a [ g ] = "" ) ; if ( e . ignoreCase && n ) for ( g = 0 ; g < c ; ++ g ) k = a [ g ] , e = k . charAt ( 0 ) , 2 <= k . length && "[" === e ? a [ g ] = b ( k ) : "\\" !== e && ( a [ g ] = k . replace ( /[a-zA-Z]/g , function ( a ) { a = a . charCodeAt ( 0 ) ; return "[" + String . fromCharCode ( a & - 33 , a | 32 ) + "]" } ) ) ; return a . join ( "" ) } for ( var A = 0 , n = ! 1 , l = ! 1 , m = 0 , c = a . length ; m < c ; ++ m ) { var p = a [ m ] ; if ( p . ignoreCase ) l = ! 0 ; else if ( /[a-z]/i . test ( p . source . replace ( /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi , "" ) ) ) { n = ! 0 ;
l = ! 1 ; break } } for ( var w = { b : 8 , t : 9 , n : 10 , v : 11 , f : 12 , r : 13 } , r = [ ] , m = 0 , c = a . length ; m < c ; ++ m ) { p = a [ m ] ; if ( p . global || p . multiline ) throw Error ( "" + p ) ; r . push ( "(?:" + v ( p ) + ")" ) } return new RegExp ( r . join ( "|" ) , l ? "gi" : "g" ) } function U ( a , d ) { function f ( a ) { var c = a . nodeType ; if ( 1 == c ) { if ( ! b . test ( a . className ) ) { for ( c = a . firstChild ; c ; c = c . nextSibling ) f ( c ) ; c = a . nodeName . toLowerCase ( ) ; if ( "br" === c || "li" === c ) v [ l ] = "\n" , n [ l << 1 ] = A ++ , n [ l ++ << 1 | 1 ] = a } } else if ( 3 == c || 4 == c ) c = a . nodeValue , c . length && ( c = d ? c . replace ( /\r\n?/g , "\n" ) : c . replace ( /[ \t\r\n]+/g ,
" " ) , v [ l ] = c , n [ l << 1 ] = A , A += c . length , n [ l ++ << 1 | 1 ] = a ) } var b = /(?:^|\s)nocode(?:\s|$)/ , v = [ ] , A = 0 , n = [ ] , l = 0 ; f ( a ) ; return { a : v . join ( "" ) . replace ( /\n$/ , "" ) , c : n } } function J ( a , d , f , b , v ) { f && ( a = { h : a , l : 1 , j : null , m : null , a : f , c : null , i : d , g : null } , b ( a ) , v . push . apply ( v , a . g ) ) } function V ( a ) { for ( var d = void 0 , f = a . firstChild ; f ; f = f . nextSibling ) var b = f . nodeType , d = 1 === b ? d ? a : f : 3 === b ? W . test ( f . nodeValue ) ? a : d : d ; return d === a ? void 0 : d } function G ( a , d ) { function f ( a ) { for ( var l = a . i , m = a . h , c = [ l , "pln" ] , p = 0 , w = a . a . match ( v ) || [ ] , r = { } , e = 0 , t = w . length ; e <
t ; ++ e ) { var z = w [ e ] , q = r [ z ] , g = void 0 , h ; if ( "string" === typeof q ) h = ! 1 ; else { var k = b [ z . charAt ( 0 ) ] ; if ( k ) g = z . match ( k [ 1 ] ) , q = k [ 0 ] ; else { for ( h = 0 ; h < A ; ++ h ) if ( k = d [ h ] , g = z . match ( k [ 1 ] ) ) { q = k [ 0 ] ; break } g || ( q = "pln" ) } ! ( h = 5 <= q . length && "lang-" === q . substring ( 0 , 5 ) ) || g && "string" === typeof g [ 1 ] || ( h = ! 1 , q = "src" ) ; h || ( r [ z ] = q ) } k = p ; p += z . length ; if ( h ) { h = g [ 1 ] ; var B = z . indexOf ( h ) , D = B + h . length ; g [ 2 ] && ( D = z . length - g [ 2 ] . length , B = D - h . length ) ; q = q . substring ( 5 ) ; J ( m , l + k , z . substring ( 0 , B ) , f , c ) ; J ( m , l + k + B , h , K ( q , h ) , c ) ; J ( m , l + k + D , z . substring ( D ) , f , c ) } else c . push ( l +
k , q ) } a . g = c } var b = { } , v ; ( function ( ) { for ( var f = a . concat ( d ) , l = [ ] , m = { } , c = 0 , p = f . length ; c < p ; ++ c ) { var w = f [ c ] , r = w [ 3 ] ; if ( r ) for ( var e = r . length ; 0 <= -- e ; ) b [ r . charAt ( e ) ] = w ; w = w [ 1 ] ; r = "" + w ; m . hasOwnProperty ( r ) || ( l . push ( w ) , m [ r ] = null ) } l . push ( /[\0-\uffff]/ ) ; v = T ( l ) } ) ( ) ; var A = d . length ; return f } function y ( a ) { var d = [ ] , f = [ ] ; a . tripleQuotedStrings ? d . push ( [ "str" , /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/ ,
null , "'\"" ] ) : a . multiLineStrings ? d . push ( [ "str" , /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/ , null , "'\"`" ] ) : d . push ( [ "str" , /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/ , null , "\"'" ] ) ; a . verbatimStrings && f . push ( [ "str" , /^@\"(?:[^\"]|\"\")*(?:\"|$)/ , null ] ) ; var b = a . hashComments ; b && ( a . cStyleComments ? ( 1 < b ? d . push ( [ "com" , /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/ , null , "#" ] ) : d . push ( [ "com" , /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/ ,
null , "#" ] ) , f . push ( [ "str" , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/ , null ] ) ) : d . push ( [ "com" , /^#[^\r\n]*/ , null , "#" ] ) ) ; a . cStyleComments && ( f . push ( [ "com" , /^\/\/[^\r\n]*/ , null ] ) , f . push ( [ "com" , /^\/\*[\s\S]*?(?:\*\/|$)/ , null ] ) ) ; if ( b = a . regexLiterals ) { var v = ( b = 1 < b ? "" : "\n\r" ) ? "." : "[\\S\\s]" ; f . push ( [ "lang-regex" , RegExp ( "^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(" +
( "/(?=[^/*" + b + "])(?:[^/\\x5B\\x5C" + b + "]|\\x5C" + v + "|\\x5B(?:[^\\x5C\\x5D" + b + "]|\\x5C" + v + ")*(?:\\x5D|$))+/" ) + ")" ) ] ) } ( b = a . types ) && f . push ( [ "typ" , b ] ) ; b = ( "" + a . keywords ) . replace ( /^ | $/g , "" ) ; b . length && f . push ( [ "kwd" , new RegExp ( "^(?:" + b . replace ( /[\s,]+/g , "|" ) + ")\\b" ) , null ] ) ; d . push ( [ "pln" , /^\s+/ , null , " \r\n\t\u00a0" ] ) ; b = "^.[^\\s\\w.$@'\"`/\\\\]*" ; a . regexLiterals && ( b += "(?!s*/)" ) ; f . push ( [ "lit" , /^@[a-z_$][a-z_$@0-9]*/i , null ] , [ "typ" , /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/ , null ] , [ "pln" , /^[a-z_$][a-z_$@0-9]*/i ,
null ] , [ "lit" , /^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i , null , "0123456789" ] , [ "pln" , /^\\[\s\S]?/ , null ] , [ "pun" , new RegExp ( b ) , null ] ) ; return G ( d , f ) } function L ( a , d , f ) { function b ( a ) { var c = a . nodeType ; if ( 1 == c && ! A . test ( a . className ) ) if ( "br" === a . nodeName ) v ( a ) , a . parentNode && a . parentNode . removeChild ( a ) ; else for ( a = a . firstChild ; a ; a = a . nextSibling ) b ( a ) ; else if ( ( 3 == c || 4 == c ) && f ) { var d = a . nodeValue , q = d . match ( n ) ; q && ( c = d . substring ( 0 , q . index ) , a . nodeValue = c , ( d = d . substring ( q . index + q [ 0 ] . length ) ) &&
a . parentNode . insertBefore ( l . createTextNode ( d ) , a . nextSibling ) , v ( a ) , c || a . parentNode . removeChild ( a ) ) } } function v ( a ) { function b ( a , c ) { var d = c ? a . cloneNode ( ! 1 ) : a , k = a . parentNode ; if ( k ) { var k = b ( k , 1 ) , e = a . nextSibling ; k . appendChild ( d ) ; for ( var f = e ; f ; f = e ) e = f . nextSibling , k . appendChild ( f ) } return d } for ( ; ! a . nextSibling ; ) if ( a = a . parentNode , ! a ) return ; a = b ( a . nextSibling , 0 ) ; for ( var d ; ( d = a . parentNode ) && 1 === d . nodeType ; ) a = d ; c . push ( a ) } for ( var A = /(?:^|\s)nocode(?:\s|$)/ , n = /\r\n?|\n/ , l = a . ownerDocument , m = l . createElement ( "li" ) ; a . firstChild ; ) m . appendChild ( a . firstChild ) ;
for ( var c = [ m ] , p = 0 ; p < c . length ; ++ p ) b ( c [ p ] ) ; d === ( d | 0 ) && c [ 0 ] . setAttribute ( "value" , d ) ; var w = l . createElement ( "ol" ) ; w . className = "linenums" ; d = Math . max ( 0 , d - 1 | 0 ) || 0 ; for ( var p = 0 , r = c . length ; p < r ; ++ p ) m = c [ p ] , m . className = "L" + ( p + d ) % 10 , m . firstChild || m . appendChild ( l . createTextNode ( "\u00a0" ) ) , w . appendChild ( m ) ; a . appendChild ( w ) } function t ( a , d ) { for ( var f = d . length ; 0 <= -- f ; ) { var b = d [ f ] ; I . hasOwnProperty ( b ) ? E . console && console . warn ( "cannot override language handler %s" , b ) : I [ b ] = a } } function K ( a , d ) { a && I . hasOwnProperty ( a ) || ( a = /^\s*</ . test ( d ) ?
"default-markup" : "default-code" ) ; return I [ a ] } function M ( a ) { var d = a . j ; try { var f = U ( a . h , a . l ) , b = f . a ; a . a = b ; a . c = f . c ; a . i = 0 ; K ( d , b ) ( a ) ; var v = /\bMSIE\s(\d+)/ . exec ( navigator . userAgent ) , v = v && 8 >= + v [ 1 ] , d = /\n/g , A = a . a , n = A . length , f = 0 , l = a . c , m = l . length , b = 0 , c = a . g , p = c . length , w = 0 ; c [ p ] = n ; var r , e ; for ( e = r = 0 ; e < p ; ) c [ e ] !== c [ e + 2 ] ? ( c [ r ++ ] = c [ e ++ ] , c [ r ++ ] = c [ e ++ ] ) : e += 2 ; p = r ; for ( e = r = 0 ; e < p ; ) { for ( var t = c [ e ] , z = c [ e + 1 ] , q = e + 2 ; q + 2 <= p && c [ q + 1 ] === z ; ) q += 2 ; c [ r ++ ] = t ; c [ r ++ ] = z ; e = q } c . length = r ; var g = a . h ; a = "" ; g && ( a = g . style . display , g . style . display = "none" ) ;
try { for ( ; b < m ; ) { var h = l [ b + 2 ] || n , k = c [ w + 2 ] || n , q = Math . min ( h , k ) , B = l [ b + 1 ] , D ; if ( 1 !== B . nodeType && ( D = A . substring ( f , q ) ) ) { v && ( D = D . replace ( d , "\r" ) ) ; B . nodeValue = D ; var N = B . ownerDocument , u = N . createElement ( "span" ) ; u . className = c [ w + 1 ] ; var y = B . parentNode ; y . replaceChild ( u , B ) ; u . appendChild ( B ) ; f < h && ( l [ b + 1 ] = B = N . createTextNode ( A . substring ( q , h ) ) , y . insertBefore ( B , u . nextSibling ) ) } f = q ; f >= h && ( b += 2 ) ; f >= k && ( w += 2 ) } } finally { g && ( g . style . display = a ) } } catch ( x ) { E . console && console . log ( x && x . stack || x ) } } var E = window , C = [ "break,continue,do,else,for,if,return,while" ] ,
F = [ [ C , "auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,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" ] , H = [ F , "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where" ] ,
O = [ F , "abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient" ] , P = [ F , "abstract,as,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where" ] , F = [ F , "debugger,eval,export,function,get,instanceof,null,set,undefined,var,with,Infinity,NaN" ] ,
Q = [ C , "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" ] , R = [ C , "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" ] , C = [ C , "case,done,elif,esac,eval,fi,function,in,local,set,then,until" ] , S = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/ ,
W = /\S/ , X = y ( { keywords : [ H , P , O , F , "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" , Q , R , C ] , hashComments : ! 0 , cStyleComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , I = { } ; t ( X , [ "default-code" ] ) ; t ( G ( [ ] , [ [ "pln" , /^[^<?]+/ ] , [ "dec" , /^<!\w[^>]*(?:>|$)/ ] , [ "com" , /^<\!--[\s\S]*?(?:-\->|$)/ ] , [ "lang-" , /^<\?([\s\S]+?)(?:\?>|$)/ ] , [ "lang-" , /^<%([\s\S]+?)(?:%>|$)/ ] , [ "pun" , /^(?:<[%?]|[%?]>)/ ] , [ "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" . split ( " " ) ) ; t ( G ( [ [ "pln" , /^[\s]+/ , null , " \t\r\n" ] , [ "atv" , /^(?:\"[^\"]*\"?|\'[^\']*\'?)/ , null , "\"'" ] ] , [ [ "tag" , /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i ] , [ "atn" , /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i ] , [ "lang-uq.val" , /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/ ] ,
[ "pun" , /^[=<>\/]+/ ] , [ "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" ] ) ; t ( G ( [ ] , [ [ "atv" , /^[\s\S]+/ ] ] ) , [ "uq.val" ] ) ; t ( y ( { keywords : H , hashComments : ! 0 , cStyleComments : ! 0 , types : S } ) , "c cc cpp cxx cyc m" . split ( " " ) ) ; t ( y ( { keywords : "null,true,false" } ) , [ "json" ] ) ; t ( y ( { keywords : P , hashComments : ! 0 , cStyleComments : ! 0 ,
verbatimStrings : ! 0 , types : S } ) , [ "cs" ] ) ; t ( y ( { keywords : O , cStyleComments : ! 0 } ) , [ "java" ] ) ; t ( y ( { keywords : C , hashComments : ! 0 , multiLineStrings : ! 0 } ) , [ "bash" , "bsh" , "csh" , "sh" ] ) ; t ( y ( { keywords : Q , hashComments : ! 0 , multiLineStrings : ! 0 , tripleQuotedStrings : ! 0 } ) , [ "cv" , "py" , "python" ] ) ; t ( y ( { keywords : "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" , hashComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : 2 } ) ,
[ "perl" , "pl" , "pm" ] ) ; t ( y ( { keywords : R , hashComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , [ "rb" , "ruby" ] ) ; t ( y ( { keywords : F , cStyleComments : ! 0 , regexLiterals : ! 0 } ) , [ "javascript" , "js" ] ) ; t ( y ( { 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" ] ) ; t ( G ( [ ] , [ [ "str" , /^[\s\S]+/ ] ] ) , [ "regex" ] ) ;
var Y = E . PR = { createSimpleLexer : G , registerLangHandler : t , sourceDecorator : y , PR _ATTRIB _NAME : "atn" , PR _ATTRIB _VALUE : "atv" , PR _COMMENT : "com" , PR _DECLARATION : "dec" , PR _KEYWORD : "kwd" , PR _LITERAL : "lit" , PR _NOCODE : "nocode" , PR _PLAIN : "pln" , PR _PUNCTUATION : "pun" , PR _SOURCE : "src" , PR _STRING : "str" , PR _TAG : "tag" , PR _TYPE : "typ" , prettyPrintOne : E . prettyPrintOne = function ( a , d , f ) { f = f || ! 1 ; d = d || null ; var b = document . createElement ( "div" ) ; b . innerHTML = "<pre>" + a + "</pre>" ; b = b . firstChild ; f && L ( b , f , ! 0 ) ; M ( { j : d , m : f , h : b , l : 1 , a : null , i : null , c : null ,
g : null } ) ; return b . innerHTML } , prettyPrint : E . prettyPrint = function ( a , d ) { function f ( ) { for ( var b = E . PR _SHOULD _USE _CONTINUATION ? c . now ( ) + 250 : Infinity ; p < t . length && c . now ( ) < b ; p ++ ) { for ( var d = t [ p ] , l = g , m = d ; m = m . previousSibling ; ) { var n = m . nodeType , u = ( 7 === n || 8 === n ) && m . nodeValue ; if ( u ? ! /^\??prettify\b/ . test ( u ) : 3 !== n || /\S/ . test ( m . nodeValue ) ) break ; if ( u ) { l = { } ; u . replace ( /\b(\w+)=([\w:.%+-]+)/g , function ( a , b , c ) { l [ b ] = c } ) ; break } } m = d . className ; if ( ( l !== g || r . test ( m ) ) && ! e . test ( m ) ) { n = ! 1 ; for ( u = d . parentNode ; u ; u = u . parentNode ) if ( q . test ( u . tagName ) &&
u . className && r . test ( u . className ) ) { n = ! 0 ; break } if ( ! n ) { d . className += " prettyprinted" ; n = l . lang ; if ( ! n ) { var n = m . match ( w ) , C ; ! n && ( C = V ( d ) ) && z . test ( C . tagName ) && ( n = C . className . match ( w ) ) ; n && ( n = n [ 1 ] ) } if ( y . test ( d . tagName ) ) u = 1 ; else var u = d . currentStyle , x = v . defaultView , u = ( u = u ? u . whiteSpace : x && x . getComputedStyle ? x . getComputedStyle ( d , null ) . getPropertyValue ( "white-space" ) : 0 ) && "pre" === u . substring ( 0 , 3 ) ; x = l . linenums ; ( x = "true" === x || + x ) || ( x = ( x = m . match ( /\blinenums\b(?::(\d+))?/ ) ) ? x [ 1 ] && x [ 1 ] . length ? + x [ 1 ] : ! 0 : ! 1 ) ; x && L ( d , x , u ) ;
M ( { j : n , h : d , m : x , l : u , a : null , i : null , c : null , g : null } ) } } } p < t . length ? E . setTimeout ( f , 250 ) : "function" === typeof a && a ( ) } for ( var b = d || document . body , v = b . ownerDocument || document , b = [ b . getElementsByTagName ( "pre" ) , b . getElementsByTagName ( "code" ) , b . getElementsByTagName ( "xmp" ) ] , t = [ ] , n = 0 ; n < b . length ; ++ n ) for ( var l = 0 , m = b [ n ] . length ; l < m ; ++ l ) t . push ( b [ n ] [ l ] ) ; var b = null , c = Date ; c . now || ( c = { now : function ( ) { return + new Date } } ) ; var p = 0 , w = /\blang(?:uage)?-([\w.]+)(?!\S)/ , r = /\bprettyprint\b/ , e = /\bprettyprinted\b/ , y = /pre|xmp/i , z = /^code$/i ,
q = /^(?:pre|code|xmp)$/i , g = { } ; f ( ) } } , H = E . define ; "function" === typeof H && H . amd && H ( "google-code-prettify" , [ ] , function ( ) { return Y } ) } ) ( ) ; } ( )