2014-03-16 23:25:01 +08:00
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* forked from bootstrap - confirmation . js
* http : //ethaizone.github.io/Bootstrap-Confirmation/
* === === === === === === === === === === === === === === === === === === === ==
* Copyright 2013 Nimit Suwannagate < ethaizone @ hotmail . com >
*
* 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 .
* === === === === === === === === === === === === === === === === === === === == * /
! function ( $ ) {
'use strict' ;
//var for check event at body can have only one.
var event _body = false ;
// CONFIRMATION PUBLIC CLASS DEFINITION
// ===============================
var Confirmation = function ( element , options ) {
var that = this ;
this . init ( 'confirmation' , element , options ) ;
$ ( element ) . on ( 'show.bs.confirmation' , function ( e ) {
that . options . onShow ( e , this ) ;
$ ( this ) . addClass ( 'open' ) ;
var options = that . options ;
var all = options . all _selector ;
if ( options . singleton ) {
$ ( all + '.in' ) . not ( that . $element ) . confirmation ( 'hide' ) ;
}
} ) ;
$ ( element ) . on ( 'hide.bs.confirmation' , function ( e ) {
that . options . onHide ( e , this ) ;
$ ( this ) . removeClass ( 'open' ) ;
} ) ;
$ ( element ) . on ( 'shown.bs.confirmation' , function ( e ) {
var options = that . options ;
var all = options . all _selector ;
that . $element . on ( 'click.dismiss.bs.confirmation' , '[data-dismiss="confirmation"]' , $ . proxy ( that . hide , that ) ) ;
if ( that . isPopout ( ) ) {
if ( ! event _body ) {
event _body = $ ( 'body' ) . on ( 'click' , function ( e ) {
if ( that . $element . is ( e . target ) ) return ;
if ( that . $element . has ( e . target ) . length ) return ;
if ( $ ( '.popover' ) . has ( e . target ) . length ) return ;
that . $element . confirmation ( 'hide' ) ;
$ ( 'body' ) . unbind ( e ) ;
event _body = false ;
return ;
} ) ;
}
}
} ) ;
$ ( element ) . on ( 'click' , function ( e ) {
e . preventDefault ( ) ;
} ) ;
}
if ( ! $ . fn . popover || ! $ . fn . tooltip ) throw new Error ( 'Confirmation requires popover.js and tooltip.js' ) ;
Confirmation . DEFAULTS = $ . extend ( { } , $ . fn . popover . Constructor . DEFAULTS , {
placement : 'top' ,
title : 'Are you sure?' ,
btnOkClass : 'btn btn-danger btn-sm' ,
btnOkLabel : 'Yes' ,
btnOkIcon : '' ,
btnCancelClass : 'btn btn-default btn-sm' ,
btnCancelLabel : 'Cancel' ,
btnCancelIcon : '' ,
href : '#' ,
target : '_self' ,
singleton : true ,
popout : true ,
onShow : function ( event , element ) { } ,
onHide : function ( event , element ) { } ,
onConfirm : function ( event , element ) { } ,
onCancel : function ( event , element ) { } ,
template : '<div class="popover"><div class="arrow"></div>'
+ '<h3 class="popover-title"></h3>'
+ '<div class="popover-content">'
+ '<div class="btn-group"><a data-apply="confirmation">Yes</a>'
+ ' <a data-dismiss="confirmation">No</a></div>'
+ '</div>'
+ '</div>'
} ) ;
// NOTE: CONFIRMATION EXTENDS popover.js
// ================================
Confirmation . prototype = $ . extend ( { } , $ . fn . popover . Constructor . prototype ) ;
Confirmation . prototype . constructor = Confirmation ;
Confirmation . prototype . getDefaults = function ( ) {
return Confirmation . DEFAULTS ;
}
Confirmation . prototype . setContent = function ( ) {
var that = this ;
var $tip = this . tip ( ) ;
var title = this . getTitle ( ) ;
var $btnOk = $tip . find ( '[data-apply="confirmation"]' ) ;
var $btnCancel = $tip . find ( '[data-dismiss="confirmation"]' ) ;
var options = this . options
$btnOk . addClass ( this . getBtnOkClass ( ) )
. html ( this . getBtnOkLabel ( ) )
. prepend ( $ ( '<i></i>' ) . addClass ( this . getBtnOkIcon ( ) ) , " " )
. attr ( 'href' , this . getHref ( ) )
. attr ( 'target' , this . getTarget ( ) )
. off ( 'click' ) . on ( 'click' , function ( event ) {
options . onConfirm ( event , that . $element ) ;
that . $element . confirmation ( 'hide' ) ;
} ) ;
$btnCancel . addClass ( this . getBtnCancelClass ( ) )
. html ( this . getBtnCancelLabel ( ) )
. prepend ( $ ( '<i></i>' ) . addClass ( this . getBtnCancelIcon ( ) ) , " " )
. off ( 'click' ) . on ( 'click' , function ( event ) {
options . onCancel ( event , that . $element ) ;
that . $element . confirmation ( 'hide' ) ;
} ) ;
$tip . find ( '.popover-title' ) [ this . options . html ? 'html' : 'text' ] ( title ) ;
$tip . removeClass ( 'fade top bottom left right in' ) ;
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
// this manually by checking the contents.
if ( ! $tip . find ( '.popover-title' ) . html ( ) ) $tip . find ( '.popover-title' ) . hide ( ) ;
}
Confirmation . prototype . getBtnOkClass = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnOkClass' ) || ( typeof o . btnOkClass == 'function' ? o . btnOkClass . call ( $e [ 0 ] ) : o . btnOkClass ) ;
}
Confirmation . prototype . getBtnOkLabel = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnOkLabel' ) || ( typeof o . btnOkLabel == 'function' ? o . btnOkLabel . call ( $e [ 0 ] ) : o . btnOkLabel ) ;
}
Confirmation . prototype . getBtnOkIcon = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnOkIcon' ) || ( typeof o . btnOkIcon == 'function' ? o . btnOkIcon . call ( $e [ 0 ] ) : o . btnOkIcon ) ;
}
Confirmation . prototype . getBtnCancelClass = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnCancelClass' ) || ( typeof o . btnCancelClass == 'function' ? o . btnCancelClass . call ( $e [ 0 ] ) : o . btnCancelClass ) ;
}
Confirmation . prototype . getBtnCancelLabel = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnCancelLabel' ) || ( typeof o . btnCancelLabel == 'function' ? o . btnCancelLabel . call ( $e [ 0 ] ) : o . btnCancelLabel ) ;
}
Confirmation . prototype . getBtnCancelIcon = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-btnCancelIcon' ) || ( typeof o . btnCancelIcon == 'function' ? o . btnCancelIcon . call ( $e [ 0 ] ) : o . btnCancelIcon ) ;
}
Confirmation . prototype . getHref = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-href' ) || ( typeof o . href == 'function' ? o . href . call ( $e [ 0 ] ) : o . href ) ;
}
Confirmation . prototype . getTarget = function ( ) {
var $e = this . $element ;
var o = this . options ;
return $e . attr ( 'data-target' ) || ( typeof o . target == 'function' ? o . target . call ( $e [ 0 ] ) : o . target ) ;
}
Confirmation . prototype . isPopout = function ( ) {
var popout ;
var $e = this . $element ;
var o = this . options ;
popout = $e . attr ( 'data-popout' ) || ( typeof o . popout == 'function' ? o . popout . call ( $e [ 0 ] ) : o . popout ) ;
if ( popout == 'false' ) popout = false ;
return popout
}
// CONFIRMATION PLUGIN DEFINITION
// =========================
var old = $ . fn . confirmation ;
$ . fn . confirmation = function ( option ) {
var that = this ;
return this . each ( function ( ) {
var $this = $ ( this ) ;
var data = $this . data ( 'bs.confirmation' ) ;
var options = typeof option == 'object' && option ;
options = options || { } ;
options . all _selector = that . selector ;
if ( ! data && option == 'destroy' ) return ;
if ( ! data ) $this . data ( 'bs.confirmation' , ( data = new Confirmation ( this , options ) ) ) ;
if ( typeof option == 'string' ) data [ option ] ( ) ;
} ) ;
}
$ . fn . confirmation . Constructor = Confirmation
// CONFIRMATION NO CONFLICT
// ===================
$ . fn . confirmation . noConflict = function ( ) {
$ . fn . confirmation = old ;
return this ;
}
} ( jQuery ) ;
2014-03-16 23:39:42 +08:00
/ * !
* jQuery Cookie Plugin v1 . 4.0
* https : //github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
* /
( function ( c ) { "function" === typeof define && define . amd ? define ( [ "jquery" ] , c ) : c ( jQuery ) } ) ( function ( c ) { function m ( b ) { return f . raw ? b : encodeURIComponent ( b ) } function n ( b , e ) { var a ; if ( f . raw ) a = b ; else a : { var d = b ; 0 === d . indexOf ( '"' ) && ( d = d . slice ( 1 , - 1 ) . replace ( /\\"/g , '"' ) . replace ( /\\\\/g , "\\" ) ) ; try { d = decodeURIComponent ( d . replace ( l , " " ) ) ; a = f . json ? JSON . parse ( d ) : d ; break a } catch ( g ) { } a = void 0 } return c . isFunction ( e ) ? e ( a ) : a } var l = /\+/g , f = c . cookie = function ( b , e , a ) { if ( void 0 !== e && ! c . isFunction ( e ) ) { a = c . extend ( { } , f . defaults ,
a ) ; if ( "number" === typeof a . expires ) { var d = a . expires , g = a . expires = new Date ; g . setDate ( g . getDate ( ) + d ) } return document . cookie = [ m ( b ) , "=" , m ( f . json ? JSON . stringify ( e ) : String ( e ) ) , a . expires ? "; expires=" + a . expires . toUTCString ( ) : "" , a . path ? "; path=" + a . path : "" , a . domain ? "; domain=" + a . domain : "" , a . secure ? "; secure" : "" ] . join ( "" ) } a = b ? void 0 : { } ; for ( var d = document . cookie ? document . cookie . split ( "; " ) : [ ] , g = 0 , l = d . length ; g < l ; g ++ ) { var h = d [ g ] . split ( "=" ) , k ; k = h . shift ( ) ; k = f . raw ? k : decodeURIComponent ( k ) ; h = h . join ( "=" ) ; if ( b && b === k ) { a =
n ( h , e ) ; break } b || void 0 === ( h = n ( h ) ) || ( a [ k ] = h ) } return a } ; f . defaults = { } ; c . removeCookie = function ( b , e ) { if ( void 0 === c . cookie ( b ) ) return ! 1 ; c . cookie ( b , "" , c . extend ( { } , e , { expires : - 1 } ) ) ; return ! c . cookie ( b ) } } ) ;
/ *
Copyright 2012 Igor Vaynberg
Version : 3.4 . 3 Timestamp : Tue Sep 17 06 : 47 : 14 PDT 2013
This software is licensed under the Apache License , Version 2.0 ( the "Apache License" ) or the GNU
General Public License version 2 ( the "GPL License" ) . You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License .
You may obtain a copy of the Apache License and the GPL License at :
http : //www.apache.org/licenses/LICENSE-2.0
http : //www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing , software distributed under the Apache License
or the GPL Licesnse is distributed on an "AS IS" BASIS , WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND ,
either express or implied . See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License .
* /
! function ( a ) { "undefined" == typeof a . fn . each2 && a . extend ( a . fn , { each2 : function ( b ) { for ( var c = a ( [ 0 ] ) , d = - 1 , e = this . length ; ++ d < e && ( c . context = c [ 0 ] = this [ d ] ) && b . call ( c [ 0 ] , d , c ) !== ! 1 ; ) ; return this } } ) } ( jQuery ) , function ( a , b ) { "use strict" ; function n ( a ) { var b , c , d , e ; if ( ! a || a . length < 1 ) return a ; for ( b = "" , c = 0 , d = a . length ; d > c ; c ++ ) e = a . charAt ( c ) , b += m [ e ] || e ; return b } function o ( a , b ) { for ( var c = 0 , d = b . length ; d > c ; c += 1 ) if ( q ( a , b [ c ] ) ) return c ; return - 1 } function p ( ) { var b = a ( l ) ; b . appendTo ( "body" ) ; var c = { width : b . width ( ) - b [ 0 ] . clientWidth , height : b . height ( ) - b [ 0 ] . clientHeight } ; return b . remove ( ) , c } function q ( a , c ) { return a === c ? ! 0 : a === b || c === b ? ! 1 : null === a || null === c ? ! 1 : a . constructor === String ? a + "" == c + "" : c . constructor === String ? c + "" == a + "" : ! 1 } function r ( b , c ) { var d , e , f ; if ( null === b || b . length < 1 ) return [ ] ; for ( d = b . split ( c ) , e = 0 , f = d . length ; f > e ; e += 1 ) d [ e ] = a . trim ( d [ e ] ) ; return d } function s ( a ) { return a . outerWidth ( ! 1 ) - a . width ( ) } function t ( c ) { var d = "keyup-change-value" ; c . on ( "keydown" , function ( ) { a . data ( c , d ) === b && a . data ( c , d , c . val ( ) ) } ) , c . on ( "keyup" , function ( ) { var e = a . data ( c , d ) ; e !== b && c . val ( ) !== e && ( a . removeData ( c , d ) , c . trigger ( "keyup-change" ) ) } ) } function u ( c ) { c . on ( "mousemove" , function ( c ) { var d = i ; ( d === b || d . x !== c . pageX || d . y !== c . pageY ) && a ( c . target ) . trigger ( "mousemove-filtered" , c ) } ) } function v ( a , c , d ) { d = d || b ; var e ; return function ( ) { var b = arguments ; window . clearTimeout ( e ) , e = window . setTimeout ( function ( ) { c . apply ( d , b ) } , a ) } } function w ( a ) { var c , b = ! 1 ; return function ( ) { return b === ! 1 && ( c = a ( ) , b = ! 0 ) , c } } function x ( a , b ) { var c = v ( a , function ( a ) { b . trigger ( "scroll-debounced" , a ) } ) ; b . on ( "scroll" , function ( a ) { o ( a . target , b . get ( ) ) >= 0 && c ( a ) } ) } function y ( a ) { a [ 0 ] !== document . activeElement && window . setTimeout ( function ( ) { var d , b = a [ 0 ] , c = a . val ( ) . length ; a . focus ( ) , a . is ( ":visible" ) && b === document . activeElement && ( b . setSelectionRange ? b . setSelectionRange ( c , c ) : b . createTextRange && ( d = b . createTextRange ( ) , d . collapse ( ! 1 ) , d . select ( ) ) ) } , 0 ) } function z ( b ) { b = a ( b ) [ 0 ] ; var c = 0 , d = 0 ; if ( "selectionStart" in b ) c = b . selectionStart , d = b . selectionEnd - c ; else if ( "selection" in document ) { b . focus ( ) ; var e = document . selection . createRange ( ) ; d = document . selection . createRange ( ) . text . length , e . moveStart ( "character" , - b . value . length ) , c = e . text . length - d } return { offset : c , length : d } } function A ( a ) { a . preventDefault ( ) , a . stopPropagation ( ) } function B ( a ) { a . preventDefault ( ) , a . stopImmediatePropagation ( ) } function C ( b ) { if ( ! h ) { var c = b [ 0 ] . currentStyle || window . getComputedStyle ( b [ 0 ] , null ) ; h = a ( document . createElement ( "div" ) ) . css ( { position : "absolute" , left : "-10000px" , top : "-10000px" , display : "none" , fontSize : c . fontSize , fontFamily : c . fontFamily , fontStyle : c . fontStyle , fontWeight : c . fontWeight , letterSpacing : c . letterSpacing , textTransform : c . textTransform , whiteSpace : "nowrap" } ) , h . attr ( "class" , "select2-sizer" ) , a ( "body" ) . append ( h ) } return h . text ( b . val ( ) ) , h . width ( ) } function D ( b , c , d ) { var e , g , f = [ ] ; e = b . attr ( "class" ) , e && ( e = "" + e , a ( e . split ( " " ) ) . each2 ( function ( ) { 0 === this . indexOf ( "select2-" ) && f . push ( this ) } ) ) , e = c . attr ( "class" ) , e && ( e = "" + e , a ( e . split ( " " ) ) . each2 ( function ( ) { 0 !== this . indexOf ( "select2-" ) && ( g = d ( this ) , g && f . push ( this ) ) } ) ) , b . attr ( "class" , f . join ( " " ) ) } function E ( a , b , c , d ) { var e = n ( a . toUpperCase ( ) ) . indexOf ( n ( b . toUpperCase ( ) ) ) , f = b . length ; return 0 > e ? ( c . push ( d ( a ) ) , void 0 ) : ( c . push ( d ( a . substring ( 0 , e ) ) ) , c . push ( "<span class='select2-match'>" ) , c . push ( d ( a . substring ( e , e + f ) ) ) , c . push ( "</span>" ) , c . push ( d ( a . substring ( e + f , a . length ) ) ) , void 0 ) } function F ( a ) { var b = { "\\" : "\" , "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "/" : "/" } ; return String ( a ) . replace ( /[&<>"'\/\\]/g , function ( a ) { return b [ a ] } ) } function G ( c ) { var d , e = null , f = c . quietMillis || 100 , g = c . url , h = this ; return function ( i ) { window . clearTimeout ( d ) , d = window . setTimeout ( function ( ) { var d = c . data , f = g , j = c . transport || a . fn . select2 . ajaxDefaults . transport , k = { type : c . type || "GET" , cache : c . cache || ! 1 , jsonpCallback : c . jsonpCallback || b , dataType : c . dataType || "json" } , l = a . extend ( { } , a . fn . select2 . ajaxDefaults . params , k ) ; d = d ? d . call ( h , i . term , i . page , i . context ) : null , f = "function" == typeof f ? f . call ( h , i . term , i . page , i . context ) : f , e && e . abort ( ) , c . params && ( a . isFunction ( c . params ) ? a . extend ( l , c . params . call ( h ) ) : a . extend ( l , c . params ) ) , a . extend ( l , { url : f , dataType : c . dataType , data : d , success : function ( a ) { var b = c . results (
f . formatSearching && 0 === this . findHighlightableChoices ( ) . length && n ( "<li class='select2-searching'>" + f . formatSearching ( ) + "</li>" ) , d . addClass ( "select2-active" ) , this . removeHighlight ( ) , i = this . tokenize ( ) , i != b && null != i && d . val ( i ) , this . resultsPage = 1 , f . query ( { element : f . element , term : d . val ( ) , page : this . resultsPage , context : null , matcher : f . matcher , callback : this . bind ( function ( g ) { var i ; if ( l == this . queryCount ) { if ( ! this . opened ( ) ) return this . search . removeClass ( "select2-active" ) , void 0 ; if ( this . context = g . context === b ? null : g . context , this . opts . createSearchChoice && "" !== d . val ( ) && ( i = this . opts . createSearchChoice . call ( h , d . val ( ) , g . results ) , i !== b && null !== i && h . id ( i ) !== b && null !== h . id ( i ) && 0 === a ( g . results ) . filter ( function ( ) { return q ( h . id ( this ) , h . id ( i ) ) } ) . length && g . results . unshift ( i ) ) , 0 === g . results . length && J ( f . formatNoMatches , "formatNoMatches" ) ) return n ( "<li class='select2-no-results'>" + f . formatNoMatches ( d . val ( ) ) + "</li>" ) , void 0 ; e . empty ( ) , h . opts . populateResults . call ( this , e , g . results , { term : d . val ( ) , page : this . resultsPage , context : null } ) , g . more === ! 0 && J ( f . formatLoadMore , "formatLoadMore" ) && ( e . append ( "<li class='select2-more-results'>" + h . opts . escapeMarkup ( f . formatLoadMore ( this . resultsPage ) ) + "</li>" ) , window . setTimeout ( function ( ) { h . loadMoreIfNeeded ( ) } , 10 ) ) , this . postprocessResults ( g , c ) , m ( ) , this . opts . element . trigger ( { type : "select2-loaded" , items : g } ) } } ) } ) } } , cancel : function ( ) { this . close ( ) } , blur : function ( ) { this . opts . selectOnBlur && this . selectHighlighted ( { noFocus : ! 0 } ) , this . close ( ) , this . container . removeClass ( "select2-container-active" ) , this . search [ 0 ] === document . activeElement && this . search . blur ( ) , this . clearSearch ( ) , this . selection . find ( ".select2-search-choice-focus" ) . removeClass ( "select2-search-choice-focus" ) } , focusSearch : function ( ) { y ( this . search ) } , selectHighlighted : function ( a ) { var b = this . highlight ( ) , c = this . results . find ( ".select2-highlighted" ) , d = c . closest ( ".select2-result" ) . data ( "select2-data" ) ; d ? ( this . highlight ( b ) , this . onSelect ( d , a ) ) : a && a . noFocus && this . close ( ) } , getPlaceholder : function ( ) { var a ; return this . opts . element . attr ( "placeholder" ) || this . opts . element . attr ( "data-placeholder" ) || this . opts . element . data ( "placeholder" ) || this . opts . placeholder || ( ( a = this . getPlaceholderOption ( ) ) !== b ? a . text ( ) : b ) } , getPlaceholderOption : function ( ) { if ( this . select ) { var a = this . select . children ( ) . first ( ) ; if ( this . opts . placeholderOption !== b ) return "first" === this . opts . placeholderOption && a || "function" == typeof this . opts . placeholderOption && this . opts . placeholderOption ( this . select ) ; if ( "" === a . text ( ) && "" === a . val ( ) ) return a } } , initContainerWidth : function ( ) { function c ( ) { var c , d , e , f , g ; if ( "off" === this . opts . width ) return null ; if ( "element" === this . opts . width ) return 0 === this . opts . element . outerWidth ( ! 1 ) ? "auto" : this . opts . element . outerWidth ( ! 1 ) + "px" ; if ( "copy" === this . opts . width || "resolve" === this . opts . width ) { if ( c = this . opts . element . attr ( "style" ) , c !== b ) for ( d = c . split ( ";" ) , f = 0 , g = d . length ; g > f ; f += 1 ) if ( e = d [ f ] . replace ( /\s/g , "" ) . match ( /[^-]width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i ) , null !== e && e . length >= 1 ) return e [ 1 ] ; return "resolve" === this . opts . width ? ( c = this . opts . element . css ( "width" ) , c . indexOf ( "%" ) > 0 ? c : 0 === this . opts . element . outerWidth ( ! 1 ) ? "auto" : this . opts . element . outerWidth ( ! 1 ) + "px" ) : null } return a . isFunction ( this . opts . width ) ? this . opts . width ( ) : this . opts . width } var d = c . call ( this ) ; null !== d && this . container . css ( "width" , d ) } } ) , e = N ( d , { createContainer : function ( ) { var b = a ( document . createElement ( "div" ) ) . attr ( { "class" : "select2-container" } ) . html ( [ "<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>" , " <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>" , " <span class='select2-arrow'><b></b></span>" , "</a>" , "<input class='select2-focusser select2-offscreen' type='text'/>" , "<div class='select2-drop select2-display-none'>" , " <div class='select2-search'>" , " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>" , " </div>" , " <ul class='select2-results'>" , " </ul>" , "</div>" ] . join ( "" ) ) ; return b } , enableInterface : function ( ) { this . parent . enableInterface . apply ( this , arguments ) && this . focusser . prop (
( function ( $ ) {
switch ( $ . cookie ( "lang" ) ) {
case "zh-CN" :
// Select2 Chinese translation
( function ( c ) { c . extend ( c . fn . select2 . defaults , { formatNoMatches : function ( ) { return "\u6ca1\u6709\u627e\u5230\u5339\u914d\u9879" } , formatInputTooShort : function ( a , b ) { return "\u8bf7\u518d\u8f93\u5165" + ( b - a . length ) + "\u4e2a\u5b57\u7b26" } , formatInputTooLong : function ( a , b ) { return "\u8bf7\u5220\u6389" + ( a . length - b ) + "\u4e2a\u5b57\u7b26" } , formatSelectionTooBig : function ( a ) { return "\u4f60\u53ea\u80fd\u9009\u62e9\u6700\u591a" + a + "\u9879" } , formatLoadMore : function ( a ) { return "\u52a0\u8f7d\u7ed3\u679c\u4e2d..." } , formatSearching : function ( ) { return "\u641c\u7d22\u4e2d..." } } ) } ) ( jQuery ) ;
break
case "zh-TW" :
// Select2 Traditional Chinese translation
( function ( c ) { c . extend ( c . fn . select2 . defaults , { formatNoMatches : function ( ) { return "\u6c92\u6709\u627e\u5230\u76f8\u7b26\u7684\u9805\u76ee" } , formatInputTooShort : function ( a , b ) { return "\u8acb\u518d\u8f38\u5165" + ( b - a . length ) + "\u500b\u5b57\u5143" } , formatInputTooLong : function ( a , b ) { return "\u8acb\u522a\u6389" + ( a . length - b ) + "\u500b\u5b57\u5143" } , formatSelectionTooBig : function ( a ) { return "\u4f60\u53ea\u80fd\u9078\u64c7\u6700\u591a" + a + "\u9805" } , formatLoadMore : function ( a ) { return "\u8f09\u5165\u4e2d..." } , formatSearching : function ( ) { return "\u641c\u5c0b\u4e2d..." } } ) } ) ( jQuery ) ;
}
} ) ( jQuery ) ;
/ * !
Autosize v1 . 17.8 - 2013 - 09 - 07
Automatically adjust textarea height based on user input .
( c ) 2013 Jack Moore - http : //www.jacklmoore.com/autosize
license : http : //www.opensource.org/licenses/mit-license.php
* /
( function ( e ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , e ) : e ( window . jQuery || window . $ ) } ) ( function ( e ) { var t , o = { className : "autosizejs" , append : "" , callback : ! 1 , resizeDelay : 10 } , i = '<textarea tabindex="-1" style="position:absolute; top:-999px; left:0; right:auto; bottom:auto; border:0; padding: 0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden; transition:none; -webkit-transition:none; -moz-transition:none;"/>' , n = [ "fontFamily" , "fontSize" , "fontWeight" , "fontStyle" , "letterSpacing" , "textTransform" , "wordSpacing" , "textIndent" ] , s = e ( i ) . data ( "autosize" , ! 0 ) [ 0 ] ; s . style . lineHeight = "99px" , "99px" === e ( s ) . css ( "lineHeight" ) && n . push ( "lineHeight" ) , s . style . lineHeight = "" , e . fn . autosize = function ( i ) { return this . length ? ( i = e . extend ( { } , o , i || { } ) , s . parentNode !== document . body && e ( document . body ) . append ( s ) , this . each ( function ( ) { function o ( ) { var t , o ; "getComputedStyle" in window ? ( t = window . getComputedStyle ( u ) , o = u . getBoundingClientRect ( ) . width , e . each ( [ "paddingLeft" , "paddingRight" , "borderLeftWidth" , "borderRightWidth" ] , function ( e , i ) { o -= parseInt ( t [ i ] , 10 ) } ) , s . style . width = o + "px" ) : s . style . width = Math . max ( p . width ( ) , 0 ) + "px" } function a ( ) { var a = { } ; if ( t = u , s . className = i . className , d = parseInt ( p . css ( "maxHeight" ) , 10 ) , e . each ( n , function ( e , t ) { a [ t ] = p . css ( t ) } ) , e ( s ) . css ( a ) , o ( ) , window . chrome ) { var r = u . style . width ; u . style . width = "0px" , u . offsetWidth , u . style . width = r } } function r ( ) { var e , n ; t !== u ? a ( ) : o ( ) , s . value = u . value + i . append , s . style . overflowY = u . style . overflowY , n = parseInt ( u . style . height , 10 ) , s . scrollTop = 0 , s . scrollTop = 9e4 , e = s . scrollTop , d && e > d ? ( u . style . overflowY = "scroll" , e = d ) : ( u . style . overflowY = "hidden" , c > e && ( e = c ) ) , e += f , n !== e && ( u . style . height = e + "px" , w && i . callback . call ( u , u ) ) } function l ( ) { clearTimeout ( h ) , h = setTimeout ( function ( ) { var e = p . width ( ) ; e !== g && ( g = e , r ( ) ) } , parseInt ( i . resizeDelay , 10 ) ) } var d , c , h , u = this , p = e ( u ) , f = 0 , w = e . isFunction ( i . callback ) , z = { height : u . style . height , overflow : u . style . overflow , overflowY : u . style . overflowY , wordWrap : u . style . wordWrap , resize : u . style . resize } , g = p . width ( ) ; p . data ( "autosize" ) || ( p . data ( "autosize" , ! 0 ) , ( "border-box" === p . css ( "box-sizing" ) || "border-box" === p . css ( "-moz-box-sizing" ) || "border-box" === p . css ( "-webkit-box-sizing" ) ) && ( f = p . outerHeight ( ) - p . height ( ) ) , c = Math . max ( parseInt ( p . css ( "minHeight" ) , 10 ) - f || 0 , p . height ( ) ) , p . css ( { overflow : "hidden" , overflowY : "hidden" , wordWrap : "break-word" , resize : "none" === p . css ( "resize" ) || "vertical" === p . css ( "resize" ) ? "none" : "horizontal" } ) , "onpropertychange" in u ? "oninput" in u ? p . on ( "input.autosize keyup.autosize" , r ) : p . on ( "propertychange.autosize" , function ( ) { "value" === event . propertyName && r ( ) } ) : p . on ( "input.autosize" , r ) , i . resizeDelay !== ! 1 && e ( window ) . on ( "resize.autosize" , l ) , p . on ( "autosize.resize" , r ) , p . on ( "autosize.resizeIncludeStyle" , function ( ) { t = null , r ( ) } ) , p . on ( "autosize.destroy" , function ( ) { t = null , clearTimeout ( h ) , e ( window ) . off ( "resize" , l ) , p . off ( "autosize" ) . off ( ".autosize" ) . css ( z ) . removeData ( "autosize" ) } ) , r ( ) ) } ) ) : this } } ) ;
/*! jquery-textcomplete - v0.1.0 - 2013-10-28 */
! function ( a ) { "use strict" ; var b = function ( a ) { var b , d ; return b = function ( ) { d = ! 1 } , function ( ) { var e ; d || ( d = ! 0 , e = c ( arguments ) , e . unshift ( b ) , a . apply ( this , e ) ) } } , c = function ( a ) { var b ; return b = Array . prototype . slice . call ( a ) } , d = function ( a , b ) { return a . bind ? a . bind ( b ) : function ( ) { a . apply ( b , arguments ) } } , e = function ( ) { var b ; return b = a ( "<div></div>" ) . css ( [ "color" ] ) . color , "undefined" != typeof b ? function ( a , b ) { return a . css ( b ) } : function ( b , c ) { var d ; return d = { } , a . each ( c , function ( a , c ) { d [ c ] = b . css ( c ) } ) , d } } ( ) , f = function ( a ) { return a } , g = function ( a ) { var b = { } ; return function ( c , d ) { b [ c ] ? d ( b [ c ] ) : a . call ( this , c , function ( a ) { b [ c ] = ( b [ c ] || [ ] ) . concat ( a ) , d . apply ( null , arguments ) } ) } } , h = function ( a , b ) { var c , d ; if ( a . indexOf ) return - 1 != a . indexOf ( b ) ; for ( c = 0 , d = a . length ; d > c ; c ++ ) if ( a [ c ] === b ) return ! 0 ; return ! 1 } , i = function ( ) { function c ( b , c ) { var e , f , g ; f = i . clone ( ) , this . el = b . get ( 0 ) , this . $el = b , e = k ( this . $el ) , g = this . el === document . activeElement , this . $el . wrap ( e ) . before ( f ) , g && this . el . focus ( ) , this . listView = new j ( f , this ) , this . strategies = c , this . $el . on ( "keyup" , d ( this . onKeyup , this ) ) , this . $el . on ( "keydown" , d ( this . listView . onKeydown , this . listView ) ) , a ( document ) . on ( "click" , d ( function ( a ) { a . originalEvent && ! a . originalEvent . keepTextCompleteDropdown && this . listView . deactivate ( ) } , this ) ) } var f , g , h , i ; f = { wrapper : '<div class="textcomplete-wrapper"></div>' , list : '<ul class="dropdown-menu"></ul>' } , g = { wrapper : { position : "relative" } , list : { position : "absolute" , top : 0 , left : 0 , zIndex : "100" , display : "none" } } , h = a ( f . wrapper ) . css ( g . wrapper ) , i = a ( f . list ) . css ( g . list ) , a . extend ( c . prototype , { renderList : function ( a ) { this . clearAtNext && ( this . listView . clear ( ) , this . clearAtNext = ! 1 ) , a . length ? ( this . listView . shown || ( this . listView . setPosition ( this . getCaretPosition ( ) ) . clear ( ) . activate ( ) , this . listView . strategy = this . strategy ) , a = a . slice ( 0 , this . strategy . maxCount ) , this . listView . render ( a ) ) : this . listView . shown && this . listView . deactivate ( ) } , searchCallbackFactory : function ( a ) { var b = this ; return function ( c , d ) { b . renderList ( c ) , d || ( a ( ) , b . clearAtNext = ! 0 ) } } , onKeyup : function ( ) { var a , b ; if ( a = this . extractSearchQuery ( this . getTextFromHeadToCaret ( ) ) , a . length ) { if ( b = a [ 1 ] , this . term === b ) return ; this . term = b , this . search ( a ) } else this . term = null , this . listView . deactivate ( ) } , onSelect : function ( b ) { var c , d , e ; c = this . getTextFromHeadToCaret ( ) , d = this . el . value . substring ( this . el . selectionEnd ) , e = this . strategy . replace ( b ) , a . isArray ( e ) && ( d = e [ 1 ] + d , e = e [ 0 ] ) , c = c . replace ( this . strategy . match , e ) , this . $el . val ( c + d ) , this . el . focus ( ) , this . el . selectionStart = this . el . selectionEnd = c . length } , getCaretPosition : function ( ) { if ( 0 !== this . el . selectionEnd ) { var b , c , d , f , g ; return b = [ "border-width" , "font-family" , "font-size" , "font-style" , "font-variant" , "font-weight" , "height" , "letter-spacing" , "word-spacing" , "line-height" , "text-decoration" , "width" , "padding-top" , "padding-right" , "padding-bottom" , "padding-left" , "margin-top" , "margin-right" , "margin-bottom" , "margin-left" ] , c = a . extend ( { position : "absolute" , overflow : "auto" , "white-space" : "pre-wrap" , top : 0 , left : - 9999 } , e ( this . $el , b ) ) , d = a ( "<div></div>" ) . css ( c ) . text ( this . getTextFromHeadToCaret ( ) ) , f = a ( "<span></span>" ) . text ( " " ) . appendTo ( d ) , this . $el . before ( d ) , g = f . position ( ) , g . top += f . height ( ) - this . $el . scrollTop ( ) , d . remove ( ) , g } } , getTextFromHeadToCaret : function ( ) { var a , b , c ; return b = this . el . selectionEnd , "number" == typeof b ? a = this . el . value . substring ( 0 , b ) : document . selection && ( c = this . el . createTextRange ( ) , c . moveStart ( "character" , 0 ) , c . moveEnd ( "textedit" ) , a = c . text ) , a } , extractSearchQuery : function ( a ) { var b , c , d , e ; for ( b = 0 , c = this . strategies . length ; c > b ; b ++ ) if ( d = this . strategies [ b ] , e = a . match ( d . match ) ) return [ d , e [ d . index ] ] ; return [ ] } , search : b ( function ( a , b ) { var c ; this . strategy = b [ 0 ] , c = b [ 1 ] , this . strategy . search ( c , this . searchCallbackFactory ( a ) ) } ) } ) ; var k = function ( a ) { return h . clone ( ) . css ( "display" , a . css ( "display" ) ) } ; return c } ( ) , j = function ( ) { function b ( a , b ) { this . $el = a , this . index = 0 , this . completer = b , this . $el . on ( "click" , "li.textcomplete-item" , d ( this . onClick , this ) ) } return a . extend ( b . prototype , { shown : ! 1 , render : function ( a ) { var b , c , d , e , f ; for ( b = "" , c = 0 , d = a . length ; d > c && ( f = a [ c ] , h ( this . data , f ) || ( e = this . data . length , this . data . push ( f ) , b += '<li class="textcomplete-item" data-index="' + e + '"><a>' , b += this . strategy . template ( f ) , b += " < / a > < / l i
/*! jquery-overlay - v0.0.2 - 2013-10-02 */
! function ( a ) { "use strict" ; var b = function ( a , b ) { return a . bind ? a . bind ( b ) : function ( ) { a . apply ( b , arguments ) } } , c = function ( ) { var b ; return b = a ( "<div></div>" ) . css ( [ "color" ] ) . color , "undefined" != typeof b ? function ( a , b ) { return a . css ( b ) } : function ( b , c ) { var d ; return d = { } , a . each ( c , function ( a , c ) { d [ c ] = b . css ( c ) } ) , d } } ( ) , d = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "/" : "/" } , e = /[&<>"'\/]/g , f = function ( a ) { return a . replace ( e , function ( a ) { return d [ a ] } ) } , g = function ( ) { function d ( d , f ) { var j , k ; k = d . css ( "position" ) , "static" === k && ( k = "relative" ) , j = a ( e . wrapper ) . css ( a . extend ( { } , g . wrapper , c ( d , h ) , { position : k } ) ) , this . textareaTop = parseInt ( d . css ( "border-top-width" ) ) , this . $el = a ( e . overlay ) . css ( a . extend ( { } , g . overlay , c ( d , i ) , { top : this . textareaTop , right : parseInt ( d . css ( "border-right-width" ) ) , bottom : parseInt ( d . css ( "border-bottom-width" ) ) , left : parseInt ( d . css ( "border-left-width" ) ) } ) ) , this . $textarea = d . css ( g . textarea ) , this . $textarea . wrap ( j ) . before ( this . $el ) , this . $textarea . origVal = d . val , this . $textarea . val = b ( this . val , this ) , this . $textarea . on ( "input" , b ( this . onInput , this ) ) , this . $textarea . on ( "change" , b ( this . onInput , this ) ) , this . $textarea . on ( "scroll" , b ( this . resizeOverlay , this ) ) , this . $textarea . on ( "resize" , b ( this . resizeOverlay , this ) ) , this . strategies = a . isArray ( f ) ? f : [ f ] , this . renderTextOnOverlay ( ) } var e , g , h , i ; return e = { wrapper : '<div class="textoverlay-wrapper"></div>' , overlay : '<div class="textoverlay"></div>' } , g = { wrapper : { margin : 0 , padding : 0 , overflow : "hidden" } , overlay : { position : "absolute" , color : "transparent" , "white-space" : "pre-wrap" , "word-wrap" : "break-word" , overflow : "hidden" } , textarea : { background : "transparent" , position : "relative" , outline : 0 } } , h = [ "display" ] , i = [ "margin-top" , "margin-right" , "margin-bottom" , "margin-left" , "padding-top" , "padding-right" , "padding-bottom" , "padding-left" , "font-family" , "font-weight" , "font-size" , "background-color" ] , a . extend ( d . prototype , { val : function ( a ) { return null == a ? this . $textarea . origVal ( ) : this . setVal ( a ) } , setVal : function ( a ) { return this . $textarea . origVal ( a ) , this . renderTextOnOverlay ( ) } , onInput : function ( ) { this . renderTextOnOverlay ( ) } , renderTextOnOverlay : function ( ) { var b , c , d , e , g , h ; for ( b = f ( this . $textarea . val ( ) ) , c = 0 , d = this . strategies . length ; d > c ; c ++ ) e = this . strategies [ c ] , g = e . match , a . isArray ( g ) && ( g = a . map ( g , function ( a ) { return a . replace ( /(\(|\)|\|)/g , "$1" ) } ) , g = new RegExp ( "(" + g . join ( "|" ) + ")" , "g" ) ) , h = "background-color:" + e . css [ "background-color" ] , b = b . replace ( g , function ( a ) { return '<span style="' + h + '">' + a + "</span>" } ) ; return this . $el . html ( b ) , this } , resizeOverlay : function ( ) { this . $el . css ( { top : this . textareaTop - this . $textarea . scrollTop ( ) } ) } } ) , d } ( ) ; a . fn . overlay = function ( a ) { return new g ( this , a ) , this } } ( window . jQuery ) ;
/* https://github.com/balupton/jquery-scrollto */
( function ( ) { var e , h ; e = window . jQuery || require ( "jquery" ) ; e . propHooks . scrollTop = e . propHooks . scrollLeft = { get : function ( a , d ) { var b = null ; if ( "HTML" === a . tagName || "BODY" === a . tagName ) "scrollLeft" === d ? b = window . scrollX : "scrollTop" === d && ( b = window . scrollY ) ; null == b && ( b = a [ d ] ) ; return b } } ; e . Tween . propHooks . scrollTop = e . Tween . propHooks . scrollLeft = { get : function ( a ) { return e . propHooks . scrollTop . get ( a . elem , a . prop ) } , set : function ( a ) { "HTML" === a . elem . tagName || "BODY" === a . elem . tagName ? ( a . options . bodyScrollLeft = a . options . bodyScrollLeft ||
window . scrollX , a . options . bodyScrollTop = a . options . bodyScrollTop || window . scrollY , "scrollLeft" === a . prop ? a . options . bodyScrollLeft = Math . round ( a . now ) : "scrollTop" === a . prop && ( a . options . bodyScrollTop = Math . round ( a . now ) ) , window . scrollTo ( a . options . bodyScrollLeft , a . options . bodyScrollTop ) ) : a . elem . nodeType && a . elem . parentNode && ( a . elem [ a . prop ] = a . now ) } } ; h = { config : { duration : 400 , easing : "swing" , callback : void 0 , durationMode : "each" , offsetTop : 0 , offsetLeft : 0 } , configure : function ( a ) { e . extend ( h . config , a || { } ) ; return this } , scroll : function ( a ,
d ) { var b , c , f , g , n , l , m , k , p ; b = a . pop ( ) ; c = b . $container ; f = b . $target ; c . prop ( "tagName" ) ; g = e ( "<span/>" ) . css ( { position : "absolute" , top : "0px" , left : "0px" } ) ; n = c . css ( "position" ) ; c . css ( { position : "relative" } ) ; g . appendTo ( c ) ; b = g . offset ( ) . top ; b = f . offset ( ) . top - b - parseInt ( d . offsetTop , 10 ) ; l = g . offset ( ) . left ; m = f . offset ( ) . left - l - parseInt ( d . offsetLeft , 10 ) ; f = c . prop ( "scrollTop" ) ; l = c . prop ( "scrollLeft" ) ; g . remove ( ) ; c . css ( { position : n } ) ; k = { } ; p = function ( b ) { 0 === a . length ? "function" === typeof d . callback && d . callback ( ) : h . scroll ( a , d ) ; return ! 0 } ;
d . onlyIfOutside && ( g = f + c . height ( ) , n = l + c . width ( ) , f < b && b < g && ( b = f ) , l < m && m < n && ( m = l ) ) ; b !== f && ( k . scrollTop = b ) ; m !== l && ( k . scrollLeft = m ) ; c . prop ( "scrollHeight" ) === c . width ( ) && delete k . scrollTop ; c . prop ( "scrollWidth" ) === c . width ( ) && delete k . scrollLeft ; null != k . scrollTop || null != k . scrollLeft ? c . animate ( k , { duration : d . duration , easing : d . easing , complete : p } ) : p ( ) ; return ! 0 } , fn : function ( a ) { var d , b , c ; d = [ ] ; var f = e ( this ) ; if ( 0 === f . length ) return this ; a = e . extend ( { } , h . config , a ) ; b = f . parent ( ) ; for ( c = b . get ( 0 ) ; 1 === b . length && c !== document . body &&
c !== document ; ) { var g ; g = "visible" !== b . css ( "overflow-y" ) && c . scrollHeight !== c . clientHeight ; c = "visible" !== b . css ( "overflow-x" ) && c . scrollWidth !== c . clientWidth ; if ( g || c ) d . push ( { $container : b , $target : f } ) , f = b ; b = b . parent ( ) ; c = b . get ( 0 ) } d . push ( { $container : e ( "html" ) , $target : f } ) ; "all" === a . durationMode && ( a . duration /= d . length ) ; h . scroll ( d , a ) ; return this } } ; e . ScrollTo = e . ScrollTo || h ; e . fn . ScrollTo = e . fn . ScrollTo || h . fn ; return h } ) . call ( this ) ;
// pretty print
2014-03-16 23:25:01 +08:00
! function ( ) { var q = null ; window . PR _SHOULD _USE _CONTINUATION = ! 0 ;
( function ( ) { function S ( a ) { function d ( e ) { var b = e . charCodeAt ( 0 ) ; if ( b !== 92 ) return b ; var a = e . charAt ( 1 ) ; return ( b = r [ a ] ) ? b : "0" <= a && a <= "7" ? parseInt ( e . substring ( 1 ) , 8 ) : a === "u" || a === "x" ? parseInt ( e . substring ( 2 ) , 16 ) : e . charCodeAt ( 1 ) } function g ( e ) { if ( e < 32 ) return ( e < 16 ? "\\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[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g ) , e = [ ] , a =
b [ 0 ] === "^" , c = [ "[" ] ; a && c . push ( "^" ) ; for ( var a = a ? 1 : 0 , f = b . length ; a < f ; ++ a ) { var h = b [ a ] ; if ( /\\[bdsw]/i . test ( h ) ) c . push ( h ) ; else { var h = d ( h ) , l ; a + 2 < f && "-" === b [ a + 1 ] ? ( l = d ( b [ a + 2 ] ) , a += 2 ) : l = h ; e . push ( [ h , l ] ) ; l < 65 || h > 122 || ( l < 65 || h > 90 || e . push ( [ Math . max ( 65 , h ) | 32 , Math . min ( l , 90 ) | 32 ] ) , l < 97 || h > 122 || e . push ( [ Math . max ( 97 , h ) & - 33 , Math . min ( l , 122 ) & - 33 ] ) ) } } e . sort ( function ( e , a ) { return e [ 0 ] - a [ 0 ] || a [ 1 ] - e [ 1 ] } ) ; b = [ ] ; f = [ ] ; for ( a = 0 ; a < e . length ; ++ a ) h = e [ a ] , h [ 0 ] <= f [ 1 ] + 1 ? f [ 1 ] = Math . max ( f [ 1 ] , h [ 1 ] ) : b . push ( f = h ) ; for ( a = 0 ; a < b . length ; ++ a ) h = b [ a ] , c . push ( g ( h [ 0 ] ) ) ,
h [ 1 ] > h [ 0 ] && ( h [ 1 ] + 1 > h [ 0 ] && c . push ( "-" ) , c . push ( g ( h [ 1 ] ) ) ) ; c . push ( "]" ) ; return c . join ( "" ) } function s ( e ) { for ( var a = e . source . match ( /\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g ) , c = a . length , d = [ ] , f = 0 , h = 0 ; f < c ; ++ f ) { var l = a [ f ] ; l === "(" ? ++ h : "\\" === l . charAt ( 0 ) && ( l = + l . substring ( 1 ) ) && ( l <= h ? d [ l ] = - 1 : a [ f ] = g ( l ) ) } for ( f = 1 ; f < d . length ; ++ f ) - 1 === d [ f ] && ( d [ f ] = ++ x ) ; for ( h = f = 0 ; f < c ; ++ f ) l = a [ f ] , l === "(" ? ( ++ h , d [ h ] || ( a [ f ] = "(?:" ) ) : "\\" === l . charAt ( 0 ) && ( l = + l . substring ( 1 ) ) && l <= h &&
( a [ f ] = "\\" + d [ l ] ) ; for ( f = 0 ; f < c ; ++ f ) "^" === a [ f ] && "^" !== a [ f + 1 ] && ( a [ f ] = "" ) ; if ( e . ignoreCase && m ) for ( f = 0 ; f < c ; ++ f ) l = a [ f ] , e = l . charAt ( 0 ) , l . length >= 2 && e === "[" ? a [ f ] = b ( l ) : e !== "\\" && ( a [ f ] = l . replace ( /[A-Za-z]/g , function ( a ) { a = a . charCodeAt ( 0 ) ; return "[" + String . fromCharCode ( a & - 33 , a | 32 ) + "]" } ) ) ; return a . join ( "" ) } for ( var x = 0 , m = ! 1 , j = ! 1 , k = 0 , c = a . length ; k < c ; ++ k ) { var i = a [ k ] ; if ( i . ignoreCase ) j = ! 0 ; else if ( /[a-z]/i . test ( i . source . replace ( /\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi , "" ) ) ) { m = ! 0 ; j = ! 1 ; break } } for ( var r = { b : 8 , t : 9 , n : 10 , v : 11 ,
f : 12 , r : 13 } , n = [ ] , k = 0 , c = a . length ; k < c ; ++ k ) { i = a [ k ] ; if ( i . global || i . multiline ) throw Error ( "" + i ) ; n . push ( "(?:" + s ( i ) + ")" ) } return RegExp ( n . join ( "|" ) , j ? "gi" : "g" ) } function T ( a , d ) { function g ( a ) { var c = a . nodeType ; if ( c == 1 ) { if ( ! b . test ( a . className ) ) { for ( c = a . firstChild ; c ; c = c . nextSibling ) g ( c ) ; c = a . nodeName . toLowerCase ( ) ; if ( "br" === c || "li" === c ) s [ j ] = "\n" , m [ j << 1 ] = x ++ , m [ j ++ << 1 | 1 ] = a } } else if ( c == 3 || c == 4 ) c = a . nodeValue , c . length && ( c = d ? c . replace ( /\r\n?/g , "\n" ) : c . replace ( /[\t\n\r ]+/g , " " ) , s [ j ] = c , m [ j << 1 ] = x , x += c . length , m [ j ++ << 1 | 1 ] =
a ) } var b = /(?:^|\s)nocode(?:\s|$)/ , s = [ ] , x = 0 , m = [ ] , j = 0 ; g ( a ) ; return { a : s . join ( "" ) . replace ( /\n$/ , "" ) , d : m } } function H ( a , d , g , b ) { d && ( a = { a : d , e : a } , g ( a ) , b . push . apply ( b , a . g ) ) } function U ( a ) { for ( var d = void 0 , g = a . firstChild ; g ; g = g . nextSibling ) var b = g . nodeType , d = b === 1 ? d ? a : g : b === 3 ? V . test ( g . nodeValue ) ? a : d : d ; return d === a ? void 0 : d } function C ( a , d ) { function g ( a ) { for ( var j = a . e , k = [ j , "pln" ] , c = 0 , i = a . a . match ( s ) || [ ] , r = { } , n = 0 , e = i . length ; n < e ; ++ n ) { var z = i [ n ] , w = r [ z ] , t = void 0 , f ; if ( typeof w === "string" ) f = ! 1 ; else { var h = b [ z . charAt ( 0 ) ] ;
if ( h ) t = z . match ( h [ 1 ] ) , w = h [ 0 ] ; else { for ( f = 0 ; f < x ; ++ f ) if ( h = d [ f ] , t = z . match ( h [ 1 ] ) ) { w = h [ 0 ] ; break } t || ( w = "pln" ) } if ( ( f = w . length >= 5 && "lang-" === w . substring ( 0 , 5 ) ) && ! ( t && typeof t [ 1 ] === "string" ) ) f = ! 1 , w = "src" ; f || ( r [ z ] = w ) } h = c ; c += z . length ; if ( f ) { f = t [ 1 ] ; var l = z . indexOf ( f ) , B = l + f . length ; t [ 2 ] && ( B = z . length - t [ 2 ] . length , l = B - f . length ) ; w = w . substring ( 5 ) ; H ( j + h , z . substring ( 0 , l ) , g , k ) ; H ( j + h + l , f , I ( w , f ) , k ) ; H ( j + h + B , z . substring ( B ) , g , k ) } else k . push ( j + h , w ) } a . g = k } var b = { } , s ; ( function ( ) { for ( var g = a . concat ( d ) , j = [ ] , k = { } , c = 0 , i = g . length ; c < i ; ++ c ) { var r =
g [ c ] , n = r [ 3 ] ; if ( n ) for ( var e = n . length ; -- e >= 0 ; ) b [ n . charAt ( e ) ] = r ; r = r [ 1 ] ; n = "" + r ; k . hasOwnProperty ( n ) || ( j . push ( r ) , k [ n ] = q ) } j . push ( /[\S\s]/ ) ; s = S ( j ) } ) ( ) ; var x = d . length ; return g } function v ( a ) { var d = [ ] , g = [ ] ; a . tripleQuotedStrings ? d . push ( [ "str" , /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/ , q , "'\"" ] ) : a . multiLineStrings ? d . push ( [ "str" , /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/ ,
q , "'\"`" ] ) : d . push ( [ "str" , /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/ , q , "\"'" ] ) ; a . verbatimStrings && g . push ( [ "str" , /^@"(?:[^"]|"")*(?:"|$)/ , q ] ) ; var b = a . hashComments ; b && ( a . cStyleComments ? ( b > 1 ? d . push ( [ "com" , /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/ , q , "#" ] ) : d . push ( [ "com" , /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/ , q , "#" ] ) , g . push ( [ "str" , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/ , q ] ) ) : d . push ( [ "com" ,
/^#[^\n\r]*/ , q , "#" ] ) ) ; a . cStyleComments && ( g . push ( [ "com" , /^\/\/[^\n\r]*/ , q ] ) , g . push ( [ "com" , /^\/\*[\S\s]*?(?:\*\/|$)/ , q ] ) ) ; if ( b = a . regexLiterals ) { var s = ( b = b > 1 ? "" : "\n\r" ) ? "." : "[\\S\\s]" ; g . push ( [ "lang-regex" , RegExp ( "^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(" + ( "/(?=[^/*" + b + "])(?:[^/\\x5B\\x5C" + b + "]|\\x5C" + s + "|\\x5B(?:[^\\x5C\\x5D" + b + "]|\\x5C" +
s + ")*(?:\\x5D|$))+/" ) + ")" ) ] ) } ( b = a . types ) && g . push ( [ "typ" , b ] ) ; b = ( "" + a . keywords ) . replace ( /^ | $/g , "" ) ; b . length && g . push ( [ "kwd" , RegExp ( "^(?:" + b . replace ( /[\s,]+/g , "|" ) + ")\\b" ) , q ] ) ; d . push ( [ "pln" , /^\s+/ , q , " \r\n\t\u00a0" ] ) ; b = "^.[^\\s\\w.$@'\"`/\\\\]*" ; a . regexLiterals && ( b += "(?!s*/)" ) ; g . push ( [ "lit" , /^@[$_a-z][\w$@]*/i , q ] , [ "typ" , /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/ , q ] , [ "pln" , /^[$_a-z][\w$@]*/i , q ] , [ "lit" , /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i , q , "0123456789" ] , [ "pln" , /^\\[\S\s]?/ ,
q ] , [ "pun" , RegExp ( b ) , q ] ) ; return C ( d , g ) } function J ( a , d , g ) { function b ( a ) { var c = a . nodeType ; if ( c == 1 && ! x . test ( a . className ) ) if ( "br" === a . nodeName ) s ( a ) , a . parentNode && a . parentNode . removeChild ( a ) ; else for ( a = a . firstChild ; a ; a = a . nextSibling ) b ( a ) ; else if ( ( c == 3 || c == 4 ) && g ) { var d = a . nodeValue , i = d . match ( m ) ; if ( i ) c = d . substring ( 0 , i . index ) , a . nodeValue = c , ( d = d . substring ( i . index + i [ 0 ] . length ) ) && a . parentNode . insertBefore ( j . createTextNode ( d ) , a . nextSibling ) , s ( a ) , c || a . parentNode . removeChild ( a ) } } function s ( a ) { function b ( a , c ) { var d =
c ? a . cloneNode ( ! 1 ) : a , e = a . parentNode ; if ( e ) { var e = b ( e , 1 ) , g = a . nextSibling ; e . appendChild ( d ) ; for ( var i = g ; i ; i = g ) g = i . nextSibling , e . appendChild ( i ) } return d } for ( ; ! a . nextSibling ; ) if ( a = a . parentNode , ! a ) return ; for ( var a = b ( a . nextSibling , 0 ) , d ; ( d = a . parentNode ) && d . nodeType === 1 ; ) a = d ; c . push ( a ) } for ( var x = /(?:^|\s)nocode(?:\s|$)/ , m = /\r\n?|\n/ , j = a . ownerDocument , k = j . createElement ( "li" ) ; a . firstChild ; ) k . appendChild ( a . firstChild ) ; for ( var c = [ k ] , i = 0 ; i < c . length ; ++ i ) b ( c [ i ] ) ; d === ( d | 0 ) && c [ 0 ] . setAttribute ( "value" , d ) ; var r = j . createElement ( "ol" ) ;
2014-03-23 22:14:29 +08:00
r . className = "linenums" ; for ( var d = Math . max ( 0 , d - 1 | 0 ) || 0 , i = 0 , n = c . length ; i < n ; ++ i ) k = c [ i ] , k . setAttribute ( "rel" , "L" + ( i + d + 1 ) ) , k . className = "L" + ( i + d + 1 ) , k . firstChild || k . appendChild ( j . createTextNode ( "\u00a0" ) ) , r . appendChild ( k ) ; a . appendChild ( r ) } function p ( a , d ) { for ( var g = d . length ; -- g >= 0 ; ) { var b = d [ g ] ; F . hasOwnProperty ( b ) ? D . console && console . warn ( "cannot override language handler %s" , b ) : F [ b ] = a } } function I ( a , d ) { if ( ! a || ! F . hasOwnProperty ( a ) ) a = /^\s*</ . test ( d ) ? "default-markup" : "default-code" ; return F [ a ] } function K ( a ) { var d = a . h ; try { var g = T ( a . c , a . i ) , b = g . a ;
2014-03-16 23:25:01 +08:00
a . a = b ; a . d = g . d ; a . e = 0 ; I ( d , b ) ( a ) ; var s = /\bMSIE\s(\d+)/ . exec ( navigator . userAgent ) , s = s && + s [ 1 ] <= 8 , d = /\n/g , x = a . a , m = x . length , g = 0 , j = a . d , k = j . length , b = 0 , c = a . g , i = c . length , r = 0 ; c [ i ] = m ; var n , e ; for ( e = n = 0 ; e < i ; ) c [ e ] !== c [ e + 2 ] ? ( c [ n ++ ] = c [ e ++ ] , c [ n ++ ] = c [ e ++ ] ) : e += 2 ; i = n ; for ( e = n = 0 ; e < i ; ) { for ( var p = c [ e ] , w = c [ e + 1 ] , t = e + 2 ; t + 2 <= i && c [ t + 1 ] === w ; ) t += 2 ; c [ n ++ ] = p ; c [ n ++ ] = w ; e = t } c . length = n ; var f = a . c , h ; if ( f ) h = f . style . display , f . style . display = "none" ; try { for ( ; b < k ; ) { var l = j [ b + 2 ] || m , B = c [ r + 2 ] || m , t = Math . min ( l , B ) , A = j [ b + 1 ] , G ; if ( A . nodeType !== 1 && ( G = x . substring ( g ,
t ) ) ) { s && ( G = G . replace ( d , "\r" ) ) ; A . nodeValue = G ; var L = A . ownerDocument , o = L . createElement ( "span" ) ; o . className = c [ r + 1 ] ; var v = A . parentNode ; v . replaceChild ( o , A ) ; o . appendChild ( A ) ; g < l && ( j [ b + 1 ] = A = L . createTextNode ( x . substring ( t , l ) ) , v . insertBefore ( A , o . nextSibling ) ) } g = t ; g >= l && ( b += 2 ) ; g >= B && ( r += 2 ) } } finally { if ( f ) f . style . display = h } } catch ( u ) { D . console && console . log ( u && u . stack || u ) } } var D = window , y = [ "break,continue,do,else,for,if,return,while" ] , E = [ [ y , "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" ] , M = [ E , "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" ] , N = [ E , "abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient" ] ,
O = [ N , "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where" ] , E = [ E , "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN" ] , P = [ y , "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" ] ,
Q = [ y , "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" ] , W = [ y , "as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use" ] , y = [ y , "case,done,elif,esac,eval,fi,function,in,local,set,then,until" ] , R = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/ ,
V = /\S/ , X = v ( { keywords : [ M , O , E , "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" , P , Q , y ] , hashComments : ! 0 , cStyleComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , F = { } ; p ( X , [ "default-code" ] ) ; p ( C ( [ ] , [ [ "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" ] ) ; p ( C ( [ [ "pln" , /^\s+/ , q , " \t\r\n" ] , [ "atv" , /^(?:"[^"]*"?|'[^']*'?)/ , q , "\"'" ] ] , [ [ "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" ] ) ; p ( C ( [ ] , [ [ "atv" , /^[\S\s]+/ ] ] ) , [ "uq.val" ] ) ; p ( v ( { keywords : M , hashComments : ! 0 , cStyleComments : ! 0 , types : R } ) , [ "c" , "cc" , "cpp" , "cxx" , "cyc" , "m" ] ) ; p ( v ( { keywords : "null,true,false" } ) , [ "json" ] ) ; p ( v ( { keywords : O , hashComments : ! 0 , cStyleComments : ! 0 , verbatimStrings : ! 0 , types : R } ) ,
[ "cs" ] ) ; p ( v ( { keywords : N , cStyleComments : ! 0 } ) , [ "java" ] ) ; p ( v ( { keywords : y , hashComments : ! 0 , multiLineStrings : ! 0 } ) , [ "bash" , "bsh" , "csh" , "sh" ] ) ; p ( v ( { keywords : P , hashComments : ! 0 , multiLineStrings : ! 0 , tripleQuotedStrings : ! 0 } ) , [ "cv" , "py" , "python" ] ) ; p ( v ( { 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" ] ) ; p ( v ( { keywords : Q ,
hashComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , [ "rb" , "ruby" ] ) ; p ( v ( { keywords : E , cStyleComments : ! 0 , regexLiterals : ! 0 } ) , [ "javascript" , "js" ] ) ; p ( v ( { 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" ] ) ; p ( v ( { keywords : W , cStyleComments : ! 0 , multilineStrings : ! 0 } ) , [ "rc" , "rs" , "rust" ] ) ;
p ( C ( [ ] , [ [ "str" , /^[\S\s]+/ ] ] ) , [ "regex" ] ) ; var Y = D . PR = { createSimpleLexer : C , registerLangHandler : p , sourceDecorator : v , 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 : D . prettyPrintOne = function ( a , d , g ) { var b = document . createElement ( "div" ) ; b . innerHTML = "<pre>" + a + "</pre>" ; b = b . firstChild ; g && J ( b , g , ! 0 ) ; K ( { h : d , j : g , c : b , i : 1 } ) ;
return b . innerHTML } , prettyPrint : D . prettyPrint = function ( a , d ) { function g ( ) { for ( var b = D . PR _SHOULD _USE _CONTINUATION ? c . now ( ) + 250 : Infinity ; i < p . length && c . now ( ) < b ; i ++ ) { for ( var d = p [ i ] , j = h , k = d ; k = k . previousSibling ; ) { var m = k . nodeType , o = ( m === 7 || m === 8 ) && k . nodeValue ; if ( o ? ! /^\??prettify\b/ . test ( o ) : m !== 3 || /\S/ . test ( k . nodeValue ) ) break ; if ( o ) { j = { } ; o . replace ( /\b(\w+)=([\w%+\-.:]+)/g , function ( a , b , c ) { j [ b ] = c } ) ; break } } k = d . className ; if ( ( j !== h || e . test ( k ) ) && ! v . test ( k ) ) { m = ! 1 ; for ( o = d . parentNode ; o ; o = o . parentNode ) if ( f . test ( o . tagName ) &&
o . className && e . test ( o . className ) ) { m = ! 0 ; break } if ( ! m ) { d . className += " prettyprinted" ; m = j . lang ; if ( ! m ) { var m = k . match ( n ) , y ; if ( ! m && ( y = U ( d ) ) && t . test ( y . tagName ) ) m = y . className . match ( n ) ; m && ( m = m [ 1 ] ) } if ( w . test ( d . tagName ) ) o = 1 ; else var o = d . currentStyle , u = s . defaultView , o = ( o = o ? o . whiteSpace : u && u . getComputedStyle ? u . getComputedStyle ( d , q ) . getPropertyValue ( "white-space" ) : 0 ) && "pre" === o . substring ( 0 , 3 ) ; u = j . linenums ; if ( ! ( u = u === "true" || + u ) ) u = ( u = k . match ( /\blinenums\b(?::(\d+))?/ ) ) ? u [ 1 ] && u [ 1 ] . length ? + u [ 1 ] : ! 0 : ! 1 ; u && J ( d , u , o ) ; r =
{ h : m , c : d , j : u , i : o } ; K ( r ) } } } i < p . length ? setTimeout ( g , 250 ) : "function" === typeof a && a ( ) } for ( var b = d || document . body , s = b . ownerDocument || document , b = [ b . getElementsByTagName ( "pre" ) , b . getElementsByTagName ( "code" ) , b . getElementsByTagName ( "xmp" ) ] , p = [ ] , m = 0 ; m < b . length ; ++ m ) for ( var j = 0 , k = b [ m ] . length ; j < k ; ++ j ) p . push ( b [ m ] [ j ] ) ; var b = q , c = Date ; c . now || ( c = { now : function ( ) { return + new Date } } ) ; var i = 0 , r , n = /\blang(?:uage)?-([\w.]+)(?!\S)/ , e = /\bprettyprint\b/ , v = /\bprettyprinted\b/ , w = /pre|xmp/i , t = /^code$/i , f = /^(?:pre|code|xmp)$/i ,
h = { } ; g ( ) } } ; typeof define === "function" && define . amd && define ( "google-code-prettify" , [ ] , function ( ) { return Y } ) } ) ( ) ; } ( )
// lang-apollo.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "com" , /^#[^\n\r]*/ , null , "#" ] , [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , null , '"' ] ] , [ [ "kwd" , /^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/ ,
null ] , [ "typ" , /^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/ , null ] , [ "lit" , /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/ ] , [ "pln" , /^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/ ] , [ "pun" , /^[^\w\t\n\r "'-);\\\xa0]+/ ] ] ) , [ "apollo" , "agc" , "aea" ] ) ;
// lang-basic.js
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "str" , /^"(?:[^\n\r"\\]|\\.)*(?:"|$)/ , a , '"' ] , [ "pln" , /^\s+/ , a , " \r\n\t\u00a0" ] ] , [ [ "com" , /^REM[^\n\r]*/ , a ] , [ "kwd" , /^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/ , a ] , [ "pln" , /^[a-z][^\W_]?(?:\$|%)?/i , a ] , [ "lit" , /^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i , a , "0123456789" ] , [ "pun" ,
/^.[^\s\w"$%.]*/ , a ] ] ) , [ "basic" , "cbm" ] ) ;
// lang-clj.js
/ *
Copyright ( C ) 2011 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 .
* /
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "opn" , /^[([{]+/ , a , "([{" ] , [ "clo" , /^[)\]}]+/ , a , ")]}" ] , [ "com" , /^;[^\n\r]*/ , a , ";" ] , [ "pln" , /^[\t\n\r \xa0]+/ , a , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , a , '"' ] ] , [ [ "kwd" , /^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/ , a ] ,
[ "typ" , /^:[\dA-Za-z-]+/ ] ] ) , [ "clj" ] ) ;
// lang-css.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\f\r ]+/ , null , " \t\r\n\u000c" ] ] , [ [ "str" , /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/ , null ] , [ "str" , /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/ , null ] , [ "lang-css-str" , /^url\(([^"')]+)\)/i ] , [ "kwd" , /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i , null ] , [ "lang-css-kw" , /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i ] , [ "com" , /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\// ] ,
[ "com" , /^(?:<\!--|--\>)/ ] , [ "lit" , /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i ] , [ "lit" , /^#[\da-f]{3,6}\b/i ] , [ "pln" , /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i ] , [ "pun" , /^[^\s\w"']+/ ] ] ) , [ "css" ] ) ; PR . registerLangHandler ( PR . createSimpleLexer ( [ ] , [ [ "kwd" , /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i ] ] ) , [ "css-kw" ] ) ; PR . registerLangHandler ( PR . createSimpleLexer ( [ ] , [ [ "str" , /^[^"')]+/ ] ] ) , [ "css-str" ] ) ;
// lang-dart.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] ] , [ [ "com" , /^#!.*/ ] , [ "kwd" , /^\b(?:import|library|part of|part|as|show|hide)\b/i ] , [ "com" , /^\/\/.*/ ] , [ "com" , /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\// ] , [ "kwd" , /^\b(?:class|interface)\b/i ] , [ "kwd" , /^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i ] , [ "kwd" , /^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i ] ,
[ "typ" , /^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i ] , [ "kwd" , /^\b(?:false|null|true)\b/i ] , [ "str" , /^r?'''[\S\s]*?[^\\]'''/ ] , [ "str" , /^r?"""[\S\s]*?[^\\]"""/ ] , [ "str" , /^r?'('|[^\n\f\r]*?[^\\]')/ ] , [ "str" , /^r?"("|[^\n\f\r]*?[^\\]")/ ] , [ "pln" , /^[$_a-z]\w*/i ] , [ "pun" , /^[!%&*+/:<-?^|~-]/ ] , [ "lit" , /^\b0x[\da-f]+/i ] , [ "lit" , /^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i ] , [ "lit" , /^\b\.\d+(?:e[+-]?\d+)?/i ] , [ "pun" , /^[(),.;[\]{}]/ ] ] ) ,
[ "dart" ] ) ;
// lang-erlang.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t-\r ]+/ , null , "\t\n\u000b\u000c\r " ] , [ "str" , /^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/ , null , '"' ] , [ "lit" , /^[a-z]\w*/ ] , [ "lit" , /^'(?:[^\n\f\r'\\]|\\[^&])+'?/ , null , "'" ] , [ "lit" , /^\?[^\t\n ({]+/ , null , "?" ] , [ "lit" , /^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i , null , "0123456789" ] ] , [ [ "com" , /^%[^\n]*/ ] , [ "kwd" , /^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/ ] ,
[ "kwd" , /^-[_a-z]+/ ] , [ "typ" , /^[A-Z_]\w*/ ] , [ "pun" , /^[,.;]/ ] ] ) , [ "erlang" , "erl" ] ) ;
// lang-go.js
2014-03-20 23:37:17 +08:00
// PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);
2014-03-16 23:25:01 +08:00
// lang-hs.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t-\r ]+/ , null , "\t\n\u000b\u000c\r " ] , [ "str" , /^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/ , null , '"' ] , [ "str" , /^'(?:[^\n\f\r'\\]|\\[^&])'?/ , null , "'" ] , [ "lit" , /^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i , null , "0123456789" ] ] , [ [ "com" , /^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/ ] , [ "kwd" , /^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/ ,
null ] , [ "pln" , /^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/ ] , [ "pun" , /^[^\d\t-\r "'A-Za-z]+/ ] ] ) , [ "hs" ] ) ;
// lang-lisp.js
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "opn" , /^\(+/ , a , "(" ] , [ "clo" , /^\)+/ , a , ")" ] , [ "com" , /^;[^\n\r]*/ , a , ";" ] , [ "pln" , /^[\t\n\r \xa0]+/ , a , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , a , '"' ] ] , [ [ "kwd" , /^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/ , a ] ,
[ "lit" , /^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i ] , [ "lit" , /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/ ] , [ "pln" , /^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i ] , [ "pun" , /^[^\w\t\n\r "'-);\\\xa0]+/ ] ] ) , [ "cl" , "el" , "lisp" , "lsp" , "scm" , "ss" , "rkt" ] ) ;
// lang-llvm.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , null , '"' ] , [ "com" , /^;[^\n\r]*/ , null , ";" ] ] , [ [ "pln" , /^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/ ] , [ "kwd" , /^[^\W\d]\w*/ , null ] , [ "lit" , /^\d+\.\d+/ ] , [ "lit" , /^(?:\d+|0[Xx][\dA-Fa-f]+)/ ] , [ "pun" , /^[(-*,:<->[\]{}]|\.\.\.$/ ] ] ) , [ "llvm" , "ll" ] ) ;
// lang-lua.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/ , null , "\"'" ] ] , [ [ "com" , /^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/ ] , [ "str" , /^\[(=*)\[[\S\s]*?(?:]\1]|$)/ ] , [ "kwd" , /^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ , null ] , [ "lit" , /^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i ] ,
[ "pln" , /^[_a-z]\w*/i ] , [ "pun" , /^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/ ] ] ) , [ "lua" ] ) ;
// lang-ml.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "com" , /^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i , null , "#" ] , [ "str" , /^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/ , null , "\"'" ] ] , [ [ "com" , /^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/ ] , [ "kwd" , /^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/ ] ,
[ "lit" , /^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i ] , [ "pln" , /^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i ] , [ "pun" , /^[^\w\t\n\r "'\xa0]+/ ] ] ) , [ "fs" , "ml" ] ) ;
// lang-mumps.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"]|\\.)*"/ , null , '"' ] ] , [ [ "com" , /^;[^\n\r]*/ , null , ";" ] , [ "dec" , /^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i ,
null ] , [ "kwd" , /^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i , null ] , [ "lit" , /^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i ] , [ "pln" , /^[a-z][^\W_]*/i ] , [ "pun" , /^[^\w\t\n\r"$%;^\xa0]|_/ ] ] ) , [ "mumps" ] ) ;
// lang-n.js
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "str" , /^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/ , a , '"' ] , [ "com" , /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/ , a , "#" ] , [ "pln" , /^\s+/ , a , " \r\n\t\u00a0" ] ] , [ [ "str" , /^@"(?:[^"]|"")*(?:"|$)/ , a ] , [ "str" , /^<#[^#>]*(?:#>|$)/ , a ] , [ "str" , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/ , a ] , [ "com" , /^\/\/[^\n\r]*/ , a ] , [ "com" , /^\/\*[\S\s]*?(?:\*\/|$)/ ,
a ] , [ "kwd" , /^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/ ,
a ] , [ "typ" , /^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/ , a ] , [ "lit" , /^@[$_a-z][\w$@]*/i , a ] , [ "typ" , /^@[A-Z]+[a-z][\w$@]*/ , a ] , [ "pln" , /^'?[$_a-z][\w$@]*/i , a ] , [ "lit" , /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i , a , "0123456789" ] , [ "pun" , /^.[^\s\w"-$'./@`]*/ , a ] ] ) , [ "n" , "nemerle" ] ) ;
// lang-pascal.js
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "str" , /^'(?:[^\n\r'\\]|\\.)*(?:'|$)/ , a , "'" ] , [ "pln" , /^\s+/ , a , " \r\n\t\u00a0" ] ] , [ [ "com" , /^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/ , a ] , [ "kwd" , /^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i , a ] ,
[ "lit" , /^(?:true|false|self|nil)/i , a ] , [ "pln" , /^[a-z][^\W_]*/i , a ] , [ "lit" , /^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i , a , "0123456789" ] , [ "pun" , /^.[^\s\w$'./@]*/ , a ] ] ) , [ "pascal" ] ) ;
// lang-proto.js
PR . registerLangHandler ( PR . sourceDecorator ( { keywords : "bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true" , types : /^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/ , cStyleComments : ! 0 } ) , [ "proto" ] ) ;
// lang-r.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , null , '"' ] , [ "str" , /^'(?:[^'\\]|\\[\S\s])*(?:'|$)/ , null , "'" ] ] , [ [ "com" , /^#.*/ ] , [ "kwd" , /^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/ ] , [ "lit" , /^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/ ] , [ "lit" , /^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/ ] , [ "lit" , /^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/ ] ,
[ "pun" , /^(?:<<?-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/ ] , [ "pln" , /^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/ ] , [ "str" , /^`.+`/ ] ] ) , [ "r" , "s" , "R" , "S" , "Splus" ] ) ;
// lang-rd.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "com" , /^%[^\n\r]*/ , null , "%" ] ] , [ [ "lit" , /^\\(?:cr|l?dots|R|tab)\b/ ] , [ "kwd" , /^\\[@-Za-z]+/ ] , [ "kwd" , /^#(?:ifn?def|endif)/ ] , [ "pln" , /^\\[{}]/ ] , [ "pun" , /^[()[\]{}]+/ ] ] ) , [ "Rd" , "rd" ] ) ;
// lang-scala.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/ , null , '"' ] , [ "lit" , /^`(?:[^\n\r\\`]|\\.)*`?/ , null , "`" ] , [ "pun" , /^[!#%&(--:-@[-^{-~]+/ , null , "!#%&()*+,-:;<=>?@[\\]^{|}~" ] ] , [ [ "str" , /^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/ ] , [ "lit" , /^'[$A-Z_a-z][\w$]*(?![\w$'])/ ] , [ "kwd" , /^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/ ] ,
[ "lit" , /^(?:true|false|null|this)\b/ ] , [ "lit" , /^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i ] , [ "typ" , /^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/ ] , [ "pln" , /^[$A-Z_a-z][\w$]*/ ] , [ "com" , /^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/ ] , [ "pun" , /^(?:\.+|\/)/ ] ] ) , [ "scala" ] ) ;
// lang-sql.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "str" , /^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/ , null , "\"'" ] ] , [ [ "com" , /^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/ ] , [ "kwd" , /^(?:add|all|alter|and|any|apply|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|connect|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|following|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|matched|merge|natural|national|nocheck|nonclustered|nocycle|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|partition|percent|pivot|plan|preceding|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rows?|rule|save|schema|select|session_user|set|setuser|shutdown|some|start|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|unbounded|union|unique|unpivot|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|within|writetext|xml)(?=[^\w-]|$)/i ,
null ] , [ "lit" , /^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i ] , [ "pln" , /^[_a-z][\w-]*/i ] , [ "pun" , /^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/ ] ] ) , [ "sql" ] ) ;
// lang-tcl.js
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "opn" , /^{+/ , a , "{" ] , [ "clo" , /^}+/ , a , "}" ] , [ "com" , /^#[^\n\r]*/ , a , "#" ] , [ "pln" , /^[\t\n\r \xa0]+/ , a , "\t\n\r \u00a0" ] , [ "str" , /^"(?:[^"\\]|\\[\S\s])*(?:"|$)/ , a , '"' ] ] , [ [ "kwd" , /^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/ , a ] , [ "lit" , /^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i ] , [ "lit" ,
/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/ ] , [ "pln" , /^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i ] , [ "pun" , /^[^\w\t\n\r "'-);\\\xa0]+/ ] ] ) , [ "tcl" ] ) ;
// lang-tex.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] , [ "com" , /^%[^\n\r]*/ , null , "%" ] ] , [ [ "kwd" , /^\\[@-Za-z]+/ ] , [ "kwd" , /^\\./ ] , [ "typ" , /^[$&]/ ] , [ "lit" , /[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i ] , [ "pun" , /^[()=[\]{}]+/ ] ] ) , [ "latex" , "tex" ] ) ;
// lang-vb.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0\u2028\u2029]+/ , null , "\t\n\r \u00a0\u2028\u2029" ] , [ "str" , /^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i , null , '"\u201c\u201d' ] , [ "com" , /^['\u2018\u2019](?:_(?:\r\n?|[^\r]?)|[^\n\r_\u2028\u2029])*/ , null , "'\u2018\u2019" ] ] , [ [ "kwd" , /^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i ,
null ] , [ "com" , /^rem\b.*/i ] , [ "lit" , /^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i ] , [ "pln" , /^(?:(?:[a-z]|_\w)\w*(?:\[[!#%&@]+])?|\[(?:[a-z]|_\w)\w*])/i ] , [ "pun" , /^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/ ] , [ "pun" , /^(?:\[|])/ ] ] ) , [ "vb" , "vbs" ] ) ;
// lang-vhdl.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\t\n\r \xa0]+/ , null , "\t\n\r \u00a0" ] ] , [ [ "str" , /^(?:[box]?"(?:[^"]|"")*"|'.')/i ] , [ "com" , /^--[^\n\r]*/ ] , [ "kwd" , /^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i ,
null ] , [ "typ" , /^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i , null ] , [ "typ" , /^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i , null ] , [ "lit" , /^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i ] ,
[ "pln" , /^(?:[a-z]\w*|\\[^\\]*\\)/i ] , [ "pun" , /^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/ ] ] ) , [ "vhdl" , "vhd" ] ) ;
// lang-wiki.js
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pln" , /^[\d\t a-gi-z\xa0]+/ , null , "\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789" ] , [ "pun" , /^[*=[\]^~]+/ , null , "=*~^[]" ] ] , [ [ "lang-wiki.meta" , /(?:^^|\r\n?|\n)(#[a-z]+)\b/ ] , [ "lit" , /^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/ ] , [ "lang-" , /^{{{([\S\s]+?)}}}/ ] , [ "lang-" , /^`([^\n\r`]+)`/ ] , [ "str" , /^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i ] , [ "pln" , /^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/ ] ] ) , [ "wiki" ] ) ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "kwd" , /^#[a-z]+/i , null , "#" ] ] , [ ] ) , [ "wiki.meta" ] ) ;
// lang-yaml.js
var a = null ;
var a = null ;
PR . registerLangHandler ( PR . createSimpleLexer ( [ [ "pun" , /^[:>?|]+/ , a , ":|>?" ] , [ "dec" , /^%(?:YAML|TAG)[^\n\r#]+/ , a , "%" ] , [ "typ" , /^&\S+/ , a , "&" ] , [ "typ" , /^!\S*/ , a , "!" ] , [ "str" , /^"(?:[^"\\]|\\.)*(?:"|$)/ , a , '"' ] , [ "str" , /^'(?:[^']|'')*(?:'|$)/ , a , "'" ] , [ "com" , /^#[^\n\r]*/ , a , "#" ] , [ "pln" , /^\s+/ , a , " \t\r\n" ] ] , [ [ "dec" , /^(?:---|\.\.\.)(?:[\n\r]|$)/ ] , [ "pun" , /^-/ ] , [ "kwd" , /^\w+:[\n\r ]/ ] , [ "pln" , /^\w+/ ] ] ) , [ "yaml" , "yml" ] ) ;
2014-04-03 00:56:26 +08:00
/ *
* zClip : : jQuery ZeroClipboard v1 . 1.1
* http : //steamdev.com/zclip
*
* Copyright 2011 , SteamDev
* Released under the MIT license .
* http : //www.opensource.org/licenses/mit-license.php
*
* Date : Wed Jun 01 , 2011
* /
( function ( a ) { a . fn . zclip = function ( c ) { if ( typeof c == "object" && ! c . length ) { var b = a . extend ( { path : "ZeroClipboard.swf" , copy : null , beforeCopy : null , afterCopy : null , clickAfter : true , setHandCursor : true , setCSSEffects : true } , c ) ; return this . each ( function ( ) { var e = a ( this ) ; if ( e . is ( ":visible" ) && ( typeof b . copy == "string" || a . isFunction ( b . copy ) ) ) { ZeroClipboard . setMoviePath ( b . path ) ; var d = new ZeroClipboard . Client ( ) ; if ( a . isFunction ( b . copy ) ) { e . bind ( "zClip_copy" , b . copy ) } if ( a . isFunction ( b . beforeCopy ) ) { e . bind ( "zClip_beforeCopy" , b . beforeCopy ) } if ( a . isFunction ( b . afterCopy ) ) { e . bind ( "zClip_afterCopy" , b . afterCopy ) } d . setHandCursor ( b . setHandCursor ) ; d . setCSSEffects ( b . setCSSEffects ) ; d . addEventListener ( "mouseOver" , function ( f ) { e . trigger ( "mouseenter" ) } ) ; d . addEventListener ( "mouseOut" , function ( f ) { e . trigger ( "mouseleave" ) } ) ; d . addEventListener ( "mouseDown" , function ( f ) { e . trigger ( "mousedown" ) ; if ( ! a . isFunction ( b . copy ) ) { d . setText ( b . copy ) } else { d . setText ( e . triggerHandler ( "zClip_copy" ) ) } if ( a . isFunction ( b . beforeCopy ) ) { e . trigger ( "zClip_beforeCopy" ) } } ) ; d . addEventListener ( "complete" , function ( f , g ) { if ( a . isFunction ( b . afterCopy ) ) { e . trigger ( "zClip_afterCopy" ) } else { if ( g . length > 500 ) { g = g . substr ( 0 , 500 ) + "...\n\n(" + ( g . length - 500 ) + " characters not shown)" } e . removeClass ( "hover" ) ; alert ( "Copied text to clipboard:\n\n " + g ) } if ( b . clickAfter ) { e . trigger ( "click" ) } } ) ; d . glue ( e [ 0 ] , e . parent ( ) [ 0 ] ) ; a ( window ) . bind ( "load resize" , function ( ) { d . reposition ( ) } ) } } ) } else { if ( typeof c == "string" ) { return this . each ( function ( ) { var f = a ( this ) ; c = c . toLowerCase ( ) ; var e = f . data ( "zclipId" ) ; var d = a ( "#" + e + ".zclip" ) ; if ( c == "remove" ) { d . remove ( ) ; f . removeClass ( "active hover" ) } else { if ( c == "hide" ) { d . hide ( ) ; f . removeClass ( "active hover" ) } else { if ( c == "show" ) { d . show ( ) } } } } ) } } } } ) ( jQuery ) ; var ZeroClipboard = { version : "1.0.7" , clients : { } , moviePath : "ZeroClipboard.swf" , nextId : 1 , $ : function ( a ) { if ( typeof ( a ) == "string" ) { a = document . getElementById ( a ) } if ( ! a . addClass ) { a . hide = function ( ) { /*this.style.display="none"*/ } ; a . show = function ( ) { this . style . display = "" } ; a . addClass = function ( b ) { this . removeClass ( b ) ; this . className += " " + b } ; a . removeClass = function ( d ) { var e = this . className . split ( /\s+/ ) ; var b = - 1 ; for ( var c = 0 ; c < e . length ; c ++ ) { if ( e [ c ] == d ) { b = c ; c = e . length } } if ( b > - 1 ) { e . splice ( b , 1 ) ; this . className = e . join ( " " ) } return this } ; a . hasClass = function ( b ) { return ! ! this . className . match ( new RegExp ( "\\s*" + b + "\\s*" ) ) } } return a } , setMoviePath : function ( a ) { this . moviePath = a } , dispatch : function ( d , b , c ) { var a = this . clients [ d ] ; if ( a ) { a . receiveEvent ( b , c ) } } , register : function ( b , a ) { this . clients [ b ] = a } , getDOMObjectPosition : function ( c , a ) { var b = { left : 0 , top : 0 , width : c . width ? c . width : c . offsetWidth , height : c . height ? c . height : c . offsetHeight } ; if ( c && ( c != a ) ) { b . left += c . offsetLeft ; b . top += c . offsetTop } return b } , Client : function ( a ) { this . handlers = { } ; this . id = ZeroClipboard . nextId ++ ; this . movieId = "ZeroClipboardMovie_" + this . id ; ZeroClipboard . register ( this . id , this ) ; if ( a ) { this . glue ( a ) } } } ; ZeroClipboard . Client . prototype = { id : 0 , ready : false , movie : null , clipText : "" , handCursorEnabled : true , cssEffects : true , handlers : null , glue : function ( d , b , e ) { this . domElement = ZeroClipboard . $ ( d ) ; var f = 99 ; if ( this . domElement . style . zIndex ) { f = parseInt ( this . domElement . style . zIndex , 10 ) + 1 } if ( typeof ( b ) == "string" ) { b = ZeroClipboard . $ ( b ) } else { if ( typeof ( b ) == "undefined" ) { b = document . getElementsByTagName ( "body" ) [ 0 ] } } var c = ZeroClipboard . getDOMObjectPosition ( this . domElement , b ) ; this . div = document . createElement ( "div" ) ; this . div . className = "zclip" ; this . div . id = "zclip-" + this . movieId ; $ ( this . domElement ) . data ( "zclipId" , "zclip-" + this . movieId ) ; var a = this . div . style ; a . position = "absolute" ; a . left = "" + c . left + "px" ; a . top = "" + c . top + "px" ; a . width = "" + c . width + "px" ; a . height = "" + c . height + "px" ; a . zIndex = f ; if ( typeof ( e ) == "object" ) { for ( addedStyle in e ) { a [ addedStyle ] = e [ addedStyle ] } } b . appendChild ( this . div ) ; this . div . innerHTML = this . getHTML ( c . width , c . height ) } , getHTML : function ( d , a ) { var c = "" ; var b = "id=" + this . id + "&width=" + d + "&height=" + a ; if ( navigator . userAgent . match ( /MSIE/ ) ) { var e = location . href . match ( /^https/i ) ? "https://" : "http://" ; c += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + e + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + d + '" height="' + a + '" id="' + this . movie