WordPress.org

Plugin Directory

Changeset 623199


Ignore:
Timestamp:
11/09/12 22:11:42 (18 months ago)
Author:
TobiasBg
Message:

Update to a new beta version 0.7-beta.

Location:
tablepress/trunk
Files:
7 deleted
40 edited

Legend:

Unmodified
Added
Removed
  • tablepress/trunk/admin/codemirror.css

    r607623 r623199  
    8181  line-height: inherit; 
    8282  color: inherit; 
     83  overflow: visible; 
    8384} 
    8485 
     
    185186    height: 102px; 
    186187    margin: 1px; 
     188    -moz-tab-size: 2; 
     189    -o-tab-size: 2; 
     190    tab-size: 2; 
    187191} 
    188192#tablepress-page .CodeMirror-scroll { 
  • tablepress/trunk/admin/codemirror.min.css

    r607623 r623199  
    1 .CodeMirror{line-height:1em;font-family:monospace;position:relative;overflow:hidden}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:0}.CodeMirror-scrollbar{position:absolute;right:0;top:0;overflow-x:hidden;overflow-y:scroll;z-index:5}.CodeMirror-scrollbar-inner{width:1px}.CodeMirror-scrollbar.cm-sb-overlap{position:absolute;z-index:1;float:none;right:0;min-width:12px}.CodeMirror-scrollbar.cm-sb-nonoverlap{min-width:12px}.CodeMirror-scrollbar.cm-sb-ie7{min-width:18px}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre!important;cursor:default}.CodeMirror-lines{padding:.4em;white-space:pre;cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none!important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:0;width:0}.cm-keymap-fat-cursor pre.CodeMirror-cursor{width:auto;border:0;background:transparent;background:rgba(0,200,0,.4);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800,endColorstr=#4c00c800)}.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id){filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:black}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:black}.cm-s-default span.cm-operator{color:black}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:#f00}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#997}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:blue}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-header,span.cm-strong{font-weight:bold}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:bold}span.cm-link{text-decoration:underline}span.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}@media print{.CodeMirror pre.CodeMirror-cursor{visibility:hidden}}#option-custom-css,#tablepress-page .CodeMirror{font-family:Consolas,Monaco,monospace;font-size:12px;line-height:inherit;margin-bottom:6px}#option-custom-css{width:98%;height:102px;margin:1px}#tablepress-page .CodeMirror-scroll{background-color:#fff;border-color:#dfdfdf;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;cursor:text;width:98%;height:100px;margin:1px;resize:vertical}#tablepress-page .CodeMirror-lines{padding:3px}#tablepress-page .CodeMirror-scroll.disabled{background-color:#eee;height:100px!important}#option-custom-css:focus,#tablepress-page .CodeMirror-focused{border-color:#a1a1a1;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,0.1);box-shadow:1px 1px 2px rgba(0,0,0,0.1)}#tablepress-page .large .CodeMirror-scroll{height:300px} 
     1.CodeMirror{line-height:1em;font-family:monospace;position:relative;overflow:hidden}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:0}.CodeMirror-scrollbar{position:absolute;right:0;top:0;overflow-x:hidden;overflow-y:scroll;z-index:5}.CodeMirror-scrollbar-inner{width:1px}.CodeMirror-scrollbar.cm-sb-overlap{position:absolute;z-index:1;float:none;right:0;min-width:12px}.CodeMirror-scrollbar.cm-sb-nonoverlap{min-width:12px}.CodeMirror-scrollbar.cm-sb-ie7{min-width:18px}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre!important;cursor:default}.CodeMirror-lines{padding:.4em;white-space:pre;cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none!important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:0;width:0}.cm-keymap-fat-cursor pre.CodeMirror-cursor{width:auto;border:0;background:transparent;background:rgba(0,200,0,.4);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800,endColorstr=#4c00c800)}.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id){filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:black}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:black}.cm-s-default span.cm-operator{color:black}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:#f00}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#997}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:blue}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-header,span.cm-strong{font-weight:bold}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:bold}span.cm-link{text-decoration:underline}span.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}@media print{.CodeMirror pre.CodeMirror-cursor{visibility:hidden}}#option-custom-css,#tablepress-page .CodeMirror{font-family:Consolas,Monaco,monospace;font-size:12px;line-height:inherit;margin-bottom:6px}#option-custom-css{width:98%;height:102px;margin:1px;-moz-tab-size:2;-o-tab-size:2;tab-size:2}#tablepress-page .CodeMirror-scroll{background-color:#fff;border-color:#dfdfdf;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;cursor:text;width:98%;height:100px;margin:1px;resize:vertical}#tablepress-page .CodeMirror-lines{padding:3px}#tablepress-page .CodeMirror-scroll.disabled{background-color:#eee;height:100px!important}#option-custom-css:focus,#tablepress-page .CodeMirror-focused{border-color:#a1a1a1;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,0.1);box-shadow:1px 1px 2px rgba(0,0,0,0.1)}#tablepress-page .large .CodeMirror-scroll{height:300px} 
  • tablepress/trunk/admin/codemirror.min.js

    r607623 r623199  
    1 // CodeMirror version 2.34 
    2 window.CodeMirror=function(){function n(a,b){function c(d){(!h.onDragEvent||!h.onDragEvent(C,Wa(d)))&&jb(d)}function e(d){return 0<=d&&d<s.size}function g(d){for(var a=s;!a.lines;)for(var k=0;;++k){var b=a.children[k],D=b.chunkSize();if(d<D){a=b;break}d-=D}return a.lines[d]}function i(d,a){na=!0;for(var k=a-d.height,b=d;b;b=b.parent)b.height+=k}function l(d,a){d.styles||d.highlight(Q,d.stateAfter=Xa(La(d)),h.tabSize);return d.getContent(h.tabSize,a,h.lineWrapping)}function A(d){var a={line:0,ch:0}; 
    3 pc(a,{line:s.size-1,ch:g(s.size-1).text.length},kb(d),a,a);xa=!0}function w(d){if(!h.onDragEvent||!h.onDragEvent(C,Wa(d))){G(d);var a=Ya(d,!0),k=d.dataTransfer.files;if(a&&!h.readOnly)if(k&&k.length&&window.FileReader&&window.File)for(var b=k.length,D=Array(b),c=0,d=function(d,k){var j=new FileReader;j.onload=function(){D[k]=j.result;++c==b&&(a=z(a),m(function(){var d=V(D.join(""),a,a);ka(a,d)})())};j.readAsText(d)},j=0;j<b;++j)d(k[j],j);else if(!lb||M(a,f.from)||M(f.to,a))try{(D=d.dataTransfer.getData("Text"))&& 
    4 qc(function(){var d=f.from,k=f.to;ka(a,a);lb&&V("",d,k);R(D);$()})}catch(g){}}}function Rb(d){var a=Sb();d.dataTransfer.setData("Text",a);d.dataTransfer.setDragImage&&d.dataTransfer.setDragImage(r("img"),0,0)}function mb(d,a){if("string"==typeof d&&(d=Tb[d],!d))return!1;var k=la;try{h.readOnly&&(nb=!0),a&&(la=null),d(C)}catch(b){if(b!=rc)throw b;return!1}finally{la=k,nb=!1}return!0}function sc(d){function a(){j=!0}var k=Ub(h.keyMap),b=k.auto;clearTimeout(tc);var D;if(D=b)D=Fa[I(d,"keyCode")],D=!("Ctrl"== 
    5 D||"Alt"==D||"Shift"==D||"Mod"==D);D&&(tc=setTimeout(function(){Ub(h.keyMap)==k&&(h.keyMap=b.call?b.call(null,C):b)},50));D=Fa[I(d,"keyCode")];var c=!1,c=ya&&ob;if(null==D||d.altGraphKey)return!1;I(d,"altKey")&&(D="Alt-"+D);if(I(d,c?"metaKey":"ctrlKey"))D="Ctrl-"+D;if(I(d,c?"ctrlKey":"metaKey"))D="Cmd-"+D;var j=!1,c=I(d,"shiftKey")?pb("Shift-"+D,h.extraKeys,h.keyMap,function(d){return mb(d,!0)},a)||pb(D,h.extraKeys,h.keyMap,function(d){if("string"==typeof d&&/^go[A-Z]/.test(d))return mb(d)},a):pb(D, 
    6 h.extraKeys,h.keyMap,mb,a);j&&(c=!1);c&&(G(d),qb(),Ga&&(d.oldKeyCode=d.keyCode,d.keyCode=0));return c}function uc(d){aa||S();Ga&&27==d.keyCode&&(d.returnValue=!1);Ma&&W()&&(Ma=!1);if(!h.onKeyEvent||!h.onKeyEvent(C,Wa(d))){var a=I(d,"keyCode");Ka(16==a||I(d,"shiftKey"));var k=sc(d);ya&&(Vb=k?a:null,!k&&(88==a&&I(d,ob?"metaKey":"ctrlKey"))&&R(""))}}function S(){if("nocursor"!=h.readOnly){if(!aa){if(h.onFocus)h.onFocus(C);aa=!0;-1==p.className.search(/\bCodeMirror-focused\b/)&&(p.className+=" CodeMirror-focused")}ga(); 
    7 qb()}}function N(){if(aa){if(h.onBlur)h.onBlur(C);aa=!1;za&&m(function(){za&&(za(),za=null)})();p.className=p.className.replace(" CodeMirror-focused","")}clearInterval(Wb);setTimeout(function(){aa||(la=null)},150)}function pc(d,a,k,b,c){if(!nb){var F=[];s.iter(d.line,a.line+1,function(d){F.push(Za(d.text,d.markedSpans))});if(O)for(O.addChange(d.line,k.length,F);O.done.length>h.undoDepth;)O.done.shift();var j=K(F[0]),g=K(J(F)),e=d.ch,f=a.ch;if(j||g){if(j)for(var i=0,t;i<j.length;++i){var q=j[i],l= 
    8 q.marker;if(null==q.from||(l.inclusiveLeft?q.from<=e:q.from<e)||"bookmark"==l.type&&q.from==e&&void 0!=q.from){var p=null==q.to||(l.inclusiveRight?q.to>=e:q.to>e);(t||(t=[])).push({from:q.from,to:p?null:q.to,marker:l})}}j=t;if(g)for(var i=0,B;i<g.length;++i)if(t=g[i],q=t.marker,null==t.to||(q.inclusiveRight?t.to>=f:t.to>f)||"bookmark"==q.type&&t.from==f)l=null==t.from||(q.inclusiveLeft?t.from<=f:t.from<f),(B||(B=[])).push({from:l?null:t.from-f,to:null==t.to?null:t.to-f,marker:q});g=B;B=1==k.length; 
    9 i=J(k).length+(B?e:0);if(j)for(f=0;f<j.length;++f)t=j[f],null==t.to&&((q=rb(g,t.marker))?B&&(t.to=null==q.to?null:q.to+i):t.to=e);if(g)for(f=0;f<g.length;++f)t=g[f],null!=t.to&&(t.to+=i),null==t.from?(q=rb(j,t.marker),q||(t.from=i,B&&(j||(j=[])).push(t))):(t.from+=i,B&&(j||(j=[])).push(t));e=[Za(k[0],j)];if(!B){B=k.length-2;var m;if(0<B&&j)for(f=0;f<j.length;++f)null==j[f].to&&(m||(m=[])).push({from:null,to:null,marker:j[f].marker});for(f=0;f<B;++f)e.push(Za(k[f+1],m));e.push(Za(J(k),g))}k=e}va(d, 
    10 a,k,b,c)}}function P(d,a){if(d.length){for(var k=d.pop(),b=[],c=k.length-1;0<=c;c-=1){var F=k[c],j=[],f=F.start+F.added;s.iter(F.start,f,function(d){j.push(Za(d.text,d.markedSpans))});b.push({start:F.start,added:F.old.length,old:j});var e=F.start+F.old.length-1,h;h=T(J(j));var i=T(J(F.old));if(i)if(h){for(var l=h.length,q=i.length;0<=l&&0<=q&&h.charAt(l)==i.charAt(q);--l,--q);h=q+1}else h=i.length;else h=0;e={line:e,ch:h};va({line:F.start,ch:0},{line:f-1,ch:g(f-1).text.length},F.old,e,e)}xa=!0;a.push(b)}} 
    11 function va(d,a,k,b,c){if(!nb){var F=!1,j=oa.text.length;h.lineWrapping||s.iter(d.line,a.line+1,function(d){if(!d.hidden&&d.text.length==j)return F=!0});if(d.line!=a.line||1<k.length)na=!0;var e=a.line-d.line,ja=g(d.line),l=g(a.line),m=J(k);if(0==d.ch&&0==a.ch&&""==T(m)){for(var t=[],q=0,n=k.length-1;q<n;++q)t.push(new Na(T(k[q]),K(k[q])));l.update(l.text,K(m));e&&s.remove(d.line,e,$a);t.length&&s.insert(d.line,t)}else if(ja==l)if(1==k.length)ja.update(ja.text.slice(0,d.ch)+T(k[0])+ja.text.slice(a.ch), 
    12 K(k[0]));else{t=[];q=1;for(n=k.length-1;q<n;++q)t.push(new Na(T(k[q]),K(k[q])));t.push(new Na(T(m)+ja.text.slice(a.ch),K(m)));ja.update(ja.text.slice(0,d.ch)+T(k[0]),K(k[0]));s.insert(d.line+1,t)}else if(1==k.length)ja.update(ja.text.slice(0,d.ch)+T(k[0])+l.text.slice(a.ch),K(k[0])),s.remove(d.line+1,e,$a);else{t=[];ja.update(ja.text.slice(0,d.ch)+T(k[0]),K(k[0]));l.update(T(m)+l.text.slice(a.ch),K(m));q=1;for(n=k.length-1;q<n;++q)t.push(new Na(T(k[q]),K(k[q])));1<e&&s.remove(d.line+1,e-1,$a);s.insert(d.line+ 
    13 1,t)}if(h.lineWrapping){var r=Math.max(5,p.clientWidth/Xb()-3);s.iter(d.line,d.line+k.length,function(d){if(!d.hidden){var a=Math.ceil(d.text.length/r)||1;a!=d.height&&i(d,a)}})}else s.iter(d.line,d.line+k.length,function(d){var a=d.text;!d.hidden&&a.length>j&&(oa=d,j=a.length,sb=!0,F=!1)}),F&&(ab=!0);ca=Math.min(ca,d.line);tb(400);e=k.length-e-1;ra.push({from:d.line,to:a.line+1,diff:e});if(h.onChange){for(q=0;q<k.length;++q)"string"!=typeof k[q]&&(k[q]=k[q].text);d={from:d,to:a,text:k};if(Oa){for(k= 
    14 Oa;k.next;k=k.next);k.next=d}else Oa=d}bb(z(b),z(c),f.from.line<=Math.min(a.line,a.line+e)?f.from.line:f.from.line+e,f.to.line<=Math.min(a.line,a.line+e)?f.to.line:f.to.line+e)}}function da(){var d=s.height*pa()+2*E.offsetTop;return 0.99*d>p.offsetHeight?d:!1}function ba(d){var a=da();u.style.display=a?"block":"none";a?(vc.style.height=qa.style.minHeight=a+"px",u.style.height=p.clientHeight+"px",null!=d&&(u.scrollTop=p.scrollTop=d,ub&&setTimeout(function(){u.scrollTop==d&&(u.scrollTop=d+(d?-1:1), 
    15 u.scrollTop=d)},0))):qa.style.minHeight="";vb.style.top=Pa*pa()+"px"}function wc(){oa=g(0);sb=!0;var d=oa.text.length;s.iter(1,s.size,function(a){var k=a.text;!a.hidden&&k.length>d&&(d=k.length,oa=a)});ab=!1}function V(d,a,k){function b(ma){if(M(ma,a))return ma;if(!M(k,ma))return c;var j=ma.line+d.length-(k.line-a.line)-1,e=ma.ch;ma.line==k.line&&(e+=J(d).length-(k.ch-(k.line==a.line?a.ch:0)));return{line:j,ch:e}}var a=z(a),k=k?z(k):a,d=kb(d),c;ha(d,a,k,function(d){c=d;return{from:b(f.from),to:b(f.to)}}); 
    16 return c}function R(d,a){ha(kb(d),f.from,f.to,function(d){return"end"==a?{from:d,to:d}:"start"==a?{from:f.from,to:f.from}:{from:f.from,to:d}})}function ha(d,a,k,b){var c=1==d.length?d[0].length+a.ch:J(d).length,b=b({line:a.line+d.length-1,ch:c});pc(a,k,d,b.from,b.to)}function xc(d,a,k){var b=d.line,c=a.line;if(b==c)return g(b).text.slice(d.ch,a.ch);var e=[g(b).text.slice(d.ch)];s.iter(b+1,c,function(d){e.push(d.text)});e.push(g(c).text.slice(0,a.ch));return e.join(k||"\n")}function Sb(d){return xc(f.from, 
    17 f.to,d)}function ga(){Ma||Yb.set(h.pollInterval,function(){W();aa&&ga()})}function cb(){function d(){!W()&&!a?(a=!0,Yb.set(60,d)):(Ma=!1,ga())}var a=!1;Ma=!0;Yb.set(20,d)}function W(){if(!aa||Pc(x)||h.readOnly)return!1;var d=x.value;if(d==ia)return!1;wb||yc();la=null;for(var a=0,k=Math.min(ia.length,d.length);a<k&&ia[a]==d[a];)++a;a<ia.length?f.from={line:f.from.line,ch:f.from.ch-(ia.length-a)}:xb&&y(f.from,f.to)&&(f.to={line:f.to.line,ch:Math.min(g(f.to.line).text.length,f.to.ch+(d.length-a))}); 
    18 R(d.slice(a),"end");1E3<d.length?x.value=ia="":ia=d;wb||zc();return!0}function yb(d){y(f.from,f.to)?d&&(ia=x.value=""):(ia="",x.value=Sb(),aa&&(d=x,Zb?(d.selectionStart=0,d.selectionEnd=d.value.length):d.select()))}function $(){"nocursor"!=h.readOnly&&x.focus()}function Ac(){var d=sa(f.inverted?f.from:f.to);return{x:h.lineWrapping?Math.min(d.x,E.offsetWidth):d.x,y:d.y,yBot:d.yBot}}function Bc(d,a,k,b){d=Cc(d,a,k,b);null!=d.scrollLeft&&(p.scrollLeft=d.scrollLeft);null!=d.scrollTop&&(u.scrollTop=p.scrollTop= 
    19 d.scrollTop)}function Cc(d,a,k,b){var c=E.offsetLeft,e=E.offsetTop,a=a+e,b=b+e,d=d+c,k=k+c,j=p.clientHeight,f=u.scrollTop,g={},i=da()||Infinity,l=a<e+10,e=b+e>i-10;a<f?g.scrollTop=l?0:Math.max(0,a):b>f+j&&(g.scrollTop=(e?i:b)-j);a=p.clientWidth;b=p.scrollLeft;j=h.fixedGutter?Z.clientWidth:0;c=d<j+c+10;d<b+j||c?(c&&(d=0),g.scrollLeft=Math.max(0,d-10-j)):k>a+b-3&&(g.scrollLeft=k+10-a);return g}function Da(d){var a=pa(),k=(null!=d?d:u.scrollTop)-E.offsetTop,d=Math.max(0,Math.floor(k/a)),a=Math.ceil((k+ 
    20 p.clientHeight)/a);return{from:$b(s,d),to:$b(s,a)}}function Aa(d,a,k){function b(){var d=ea.firstChild,a=!1;s.iter(H,L,function(k){if(d){if(!k.hidden){var b=Math.round(d.offsetHeight/v)||1;k.height!=b&&(i(k,b),na=a=!0)}d=d.nextSibling}});return a}if(p.clientWidth){var c=Da(k);if(!0!==d&&0==d.length&&c.from>H&&c.to<L)ba(k);else{var e=Math.max(c.from-100,0),j=Math.min(s.size,c.to+100);H<e&&20>e-H&&(e=H);L>j&&20>L-j&&(j=Math.min(s.size,L));if(!0===d)d=[];else{for(var c=[{from:H,to:L,domStart:0}],f=0, 
    21 g=d.length||0;f<g;++f){for(var m=d[f],n=[],t=m.diff||0,q=0,x=c.length;q<x;++q){var A=c[q];m.to<=A.from&&m.diff?n.push({from:A.from+t,to:A.to+t,domStart:A.domStart}):m.to<=A.from||m.from>=A.to?n.push(A):(m.from>A.from&&n.push({from:A.from,to:m.from,domStart:A.domStart}),m.to<A.to&&n.push({from:m.to+t,to:A.to+t,domStart:A.domStart+(m.to-A.from)}))}c=n}d=c}for(var B=d,c=d=0;c<B.length;++c)f=B[c],f.from<e&&(f.domStart+=e-f.from,f.from=e),f.to>j&&(f.to=j),f.from>=f.to?B.splice(c--,1):d+=f.to-f.from;if(d== 
    22 j-e&&e==H&&j==L)ba(k);else{B.sort(function(d,a){return d.domStart-a.domStart});var v=pa(),d=Z.style.display;ea.style.display="none";c=e;f=j;g=function(d){var a=d.nextSibling;d.parentNode.removeChild(d);return a};if(B.length){for(var m=0,u=ea.firstChild,n=0;n<B.length;++n){for(t=B[n];t.domStart>m;)u=g(u),m++;for(var W=0,t=t.to-t.from;W<t;++W)u=u.nextSibling,m++}for(;u;)u=g(u)}else Ha(ea);var z=B.shift(),u=ea.firstChild,W=c;s.iter(c,f,function(d){z&&z.to==W&&(z=B.shift());if(!z||z.from>W){if(d.hidden)var a= 
    23 r("pre");else a=l(d),d.className&&(a.className=d.className),d.bgClassName&&(d=r("pre","\u00a0",d.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2"),a=r("div",[d,a],null,"position: relative"));ea.insertBefore(a,u)}else u=u.nextSibling;++W});ea.style.display=Z.style.display="";(c=e!=H||j!=L||Dc!=p.clientHeight+v)&&(Dc=p.clientHeight+v);(e!=H||j!=L&&h.onViewportChange)&&setTimeout(function(){if(h.onViewportChange)h.onViewportChange(C,e,j)});H=e;L=j;Pa=ac(s,e);tb(100); 
    24 if(ea.childNodes.length!=L-H)throw Error("BAD PATCH! "+JSON.stringify(B)+" size="+(L-H)+" nodes="+ea.childNodes.length);h.lineWrapping&&b();Z.style.display=d;(c||na)&&wa()&&h.lineWrapping&&b()&&wa();ba(k);Ea();if(!a&&h.onUpdate)h.onUpdate(C);return!0}}}else H=L=Pa=0}function wa(){if(h.gutter||h.lineNumbers){var d=vb.offsetHeight,a=p.clientHeight;Z.style.height=(2>d-a?a:d)+"px";var k=document.createDocumentFragment(),b=H,c;s.iter(H,Math.max(L,H+1),function(d){if(d.hidden)k.appendChild(r("pre"));else{var a= 
    25 d.gutterMarker,Y=h.lineNumbers?h.lineNumberFormatter(b+h.firstLineNumber):null;a&&a.text?Y=a.text.replace("%N%",null!=Y?Y:""):null==Y&&(Y="\u00a0");var e=k.appendChild(r("pre",null,a&&a.style));e.innerHTML=Y;for(Y=1;Y<d.height;++Y)e.appendChild(r("br")),e.appendChild(document.createTextNode("\u00a0"));a||(c=b)}++b});Z.style.display="none";Ha(Qa).appendChild(k);if(null!=c&&h.lineNumbers){for(var d=Qa.childNodes[c-H],a=String(s.size).length,e=d.firstChild.textContent||d.firstChild.innerText||d.firstChild.nodeValue|| 
    26 "",f="";e.length+f.length<a;)f+="\u00a0";f&&d.insertBefore(document.createTextNode(f),d.firstChild)}Z.style.display="";d=2<Math.abs((parseInt(E.style.marginLeft)||0)-Z.offsetWidth);E.style.marginLeft=Z.offsetWidth+"px";na=!1;return d}}function Ea(){var d=y(f.from,f.to),a=sa(f.from,!0),b=d?a:sa(f.to,!0),c=f.inverted?a:b,e=pa(),g=Ra(X),j=Ra(ea);Ia.style.top=Math.max(0,Math.min(p.offsetHeight,c.y+j.top-g.top))+"px";Ia.style.left=Math.max(0,Math.min(p.offsetWidth,c.x+j.left-g.left))+"px";if(d)U.style.top= 
    27 c.y+"px",U.style.left=(h.lineWrapping?Math.min(c.x,E.offsetWidth):c.x)+"px",U.style.display="",zb.style.display="none";else{var d=a.y==b.y,i=document.createDocumentFragment(),l=E.clientWidth||E.offsetWidth,c=E.clientHeight||E.offsetHeight,g=function(d,a,b,k){i.appendChild(r("div",null,"CodeMirror-selected","position: absolute; left: "+d+"px; top: "+a+"px; "+(Qc?"width: "+(!b?l:l-b-d)+"px":"right: "+b+"px")+"; height: "+k+"px"))};f.from.ch&&0<=a.y&&g(a.x,a.y,d?l-b.x:0,e);a=Math.max(0,a.y+(f.from.ch? 
    28 e:0));j=Math.min(b.y,c)-a;j>0.2*e&&g(0,a,0,j);(!d||!f.from.ch)&&b.y<c-0.5*e&&g(0,b.y,l-b.x,e);Ha(zb).appendChild(i);U.style.display="none";zb.style.display=""}}function Ka(d){la=d?la||(f.inverted?f.to:f.from):null}function ka(d,a){var b=la&&z(la);b&&(M(b,d)?d=b:M(a,b)&&(a=b));bb(d,a);Ab=!0}function bb(d,a,b,c){Bb=null;null==b&&(b=f.from.line,c=f.to.line);if(!y(f.from,d)||!y(f.to,a)){if(M(a,d))var e=a,a=d,d=e;d.line!=b&&((b=ua(d,b,f.from.ch))?d=b:bc(d.line,!1));a.line!=c&&(a=ua(a,c,f.to.ch));y(d,a)? 
    29 f.inverted=!1:y(d,f.to)?f.inverted=!1:y(a,f.from)&&(f.inverted=!0);if(h.autoClearEmptyLines&&y(f.from,f.to)&&(f.inverted?d:a).line!=f.from.line&&f.from.line<s.size){var F=g(f.from.line);/^\s+$/.test(F.text)&&setTimeout(m(function(){if(F.parent&&/^\s+$/.test(F.text)){var d=La(F);V("",{line:d,ch:0},{line:d,ch:F.text.length})}},10))}f.from=d;f.to=a;Ba=!0}}function ua(d,a,b){function c(a){for(var Y=d.line+a,e=1==a?s.size:-1;Y!=e;){var ma=g(Y);if(!ma.hidden){a=d.ch;if(f||a>b||a>ma.text.length)a=ma.text.length; 
    30 return{line:Y,ch:a}}Y+=a}}var e=g(d.line),f=d.ch==e.text.length&&d.ch!=b;return!e.hidden?d:d.line>=a?c(1)||c(-1):c(-1)||c(1)}function Ca(d,a,b){d=z({line:d,ch:a||0});(b?ka:bb)(d,d)}function Cb(d){return Math.max(0,Math.min(d,s.size-1))}function z(d){if(0>d.line)return{line:0,ch:0};if(d.line>=s.size)return{line:s.size-1,ch:g(s.size-1).text.length};var a=d.ch,b=g(d.line).text.length;return null==a||a>b?{line:d.line,ch:b}:0>a?{line:d.line,ch:0}:d}function Ja(d,a){function b(a){if(h==(0>d?0:j.text.length)){if(a= 
    31 !a)a:{for(var a=e+d,k=0>d?-1:s.size;a!=k;a+=d){var c=g(a);if(!c.hidden){e=a;j=c;a=!0;break a}}a=void 0}if(a)h=0>d?j.text.length:0;else return!1}else h+=d;return!0}var c=f.inverted?f.from:f.to,e=c.line,h=c.ch,j=g(e);if("char"==a)b();else if("column"==a)b(!0);else if("word"==a)for(c=!1;!(0>d)||b();){if(Db(j.text.charAt(h)))c=!0;else if(c){0>d&&(d=1,b());break}if(0<d&&!b())break}return{line:e,ch:h}}function Va(d){var a=g(d.line).text,b=d.ch,c=d.ch;if(a){!1===d.after||c==a.length?--b:++c;for(var e=a.charAt(b), 
    32 e=Db(e)?Db:/\s/.test(e)?function(d){return/\s/.test(d)}:function(d){return!/\s/.test(d)&&!Db(d)};0<b&&e(a.charAt(b-1));)--b;for(;c<a.length&&e(a.charAt(c));)++c}return{from:{line:d.line,ch:b},to:{line:d.line,ch:c}}}function Eb(d,a){a||(a="add");if("smart"==a)if(Q.indent)var b=Xa(d);else a="prev";var c=g(d),e=c.indentation(h.tabSize),f=c.text.match(/^\s*/)[0],j;"smart"==a&&(j=Q.indent(b,c.text.slice(f.length),c.text),j==rc&&(a="prev"));"prev"==a?j=d?g(d-1).indentation(h.tabSize):0:"add"==a?j=e+h.indentUnit: 
    33 "subtract"==a&&(j=e-h.indentUnit);j=Math.max(0,j);b="";c=0;if(h.indentWithTabs)for(e=Math.floor(j/h.tabSize);e;--e)c+=h.tabSize,b+="\t";c<j&&(b+=Ec(j-c));b!=f&&V(b,{line:d,ch:0},{line:d,ch:f.length})}function gb(){Q=n.getMode(h,h.mode);s.iter(0,s.size,function(d){d.stateAfter=null});ca=0;tb(100)}function Qb(){if(h.lineWrapping){X.className+=" CodeMirror-wrap";var d=p.clientWidth/Xb()-3;s.iter(0,s.size,function(a){if(!a.hidden){var b=Math.ceil(a.text.length/d)||1;1!=b&&i(a,b)}});E.style.minWidth=Fb.style.left= 
    34 ""}else X.className=X.className.replace(" CodeMirror-wrap",""),wc(),s.iter(0,s.size,function(d){1!=d.height&&!d.hidden&&i(d,1)});ra.push({from:0,to:s.size})}function hb(){p.className=p.className.replace(/\s*cm-s-\S+/g,"")+h.theme.replace(/(^|\s)\s*/g," cm-s-")}function ib(){var d=fa[h.keyMap].style;X.className=X.className.replace(/\s*cm-keymap-\S+/g,"")+(d?" cm-keymap-"+d:"")}function Gb(d,a){this.lines=[];this.type=d;a&&(this.style=a)}function cc(d,a,b,c){var d=z(d),a=z(a),e=new Gb("range",b);if(c)for(var f in c)c.hasOwnProperty(f)&& 
    35 (e[f]=c[f]);var g=d.line;s.iter(g,a.line+1,function(b){var c={from:g==d.line?d.ch:null,to:g==a.line?a.ch:null,marker:e};(b.markedSpans||(b.markedSpans=[])).push(c);e.lines.push(b);++g});ra.push({from:d.line,to:a.line+1});return e}function Fc(a,b){var c=a,e=a;"number"==typeof a?e=g(Cb(a)):c=La(a);if(null!=c&&b(e,c))ra.push({from:c,to:c+1});else return null;return e}function bc(a,b){return Fc(a,function(a,d){if(a.hidden!=b){a.hidden=b;h.lineWrapping||(b&&a.text.length==oa.text.length?ab=!0:!b&&a.text.length> 
    36 oa.text.length&&(oa=a,ab=!1));i(a,b?0:1);var c=f.from.line,e=f.to.line;if(b&&(c==d||e==d)){c=c==d?ua({line:c,ch:0},c,0):f.from;e=e==d?ua({line:e,ch:0},e,0):f.to;if(!e)return;bb(c,e)}return na=!0}})}function dc(a,b){if(0==b)return{top:0,left:0};h.lineWrapping&&b<a.text.length&&Hb.test(a.text.slice(b-1,b+1));var c=l(a,b);Ha(Sa).appendChild(c);var c=c.anchor,e=c.offsetTop,f=c.offsetLeft;Ga&&(0==e&&0==f)&&(e=r("span","x"),c.parentNode.insertBefore(e,c.nextSibling),e=e.offsetTop);return{top:e,left:f}} 
    37 function sa(a,b){var c,e=pa(),f=e*(ac(s,a.line)-(b?Pa:0));if(0==a.ch)c=0;else{var i=dc(g(a.line),a.ch);c=i.left;h.lineWrapping&&(f+=Math.max(0,i.top))}return{x:c,y:f,yBot:f+e}}function Ib(a,b){function c(a){a=dc(l,a);if(n){var d=Math.round(a.top/e);t=d!=A;return Math.max(0,a.left+(d-A)*p.clientWidth)}return a.left}var e=pa(),f=Xb(),i=Pa+Math.floor(b/e);if(0>i)return{line:0,ch:0};var j=$b(s,i);if(j>=s.size)return{line:s.size-1,ch:g(s.size-1).text.length};var l=g(j),m=l.text,n=h.lineWrapping,A=n?i- 
    38 ac(s,j):0;if(0>=a&&0==A)return{line:j,ch:0};for(var t=!1,q=i=0,m=m.length,r,f=Math.min(m,Math.ceil((a+0.9*A*p.clientWidth)/f));;){var u=c(f);if(u<=a&&f<m)f=Math.min(m,Math.ceil(1.2*f));else{r=u;m=f;break}}if(a>r)return{line:j,ch:m};f=Math.floor(0.8*m);u=c(f);u<a&&(i=f,q=u);for(;;){if(1>=m-i)return r=a-q<r-a,{line:j,ch:r?i:m,after:r};f=Math.ceil((i+m)/2);u=c(f);u>a?(m=f,r=u,t&&(r+=1E3)):(i=f,q=u)}}function pa(){if(null==Ta){Ta=r("pre");for(var a=0;49>a;++a)Ta.appendChild(document.createTextNode("x")), 
    39 Ta.appendChild(r("br"));Ta.appendChild(document.createTextNode("x"))}a=ea.clientHeight;if(a==Gc)return ec;Gc=a;a=Ta.cloneNode(!0);Ha(Sa).appendChild(a);ec=Sa.firstChild.offsetHeight/50||1;Ha(Sa);return ec}function Xb(){if(p.clientWidth==Hc)return Ic;Hc=p.clientWidth;var a=r("span","x"),b=r("pre",[a]);Ha(Sa).appendChild(b);return Ic=a.offsetWidth||10}function Ya(a,b){var c=Ra(p,!0),e,f;try{e=a.clientX,f=a.clientY}catch(g){return null}if(!b&&(e-c.left>p.clientWidth||f-c.top>p.clientHeight))return null; 
    40 c=Ra(E,!0);return Ib(e-c.left,f-c.top)}function Jc(a){function b(){Ia.style.position="relative";x.style.cssText=g;fc&&(u.scrollTop=e);ga();if(null!=x.selectionStart){clearTimeout(gc);var a=x.value=" "+(y(f.from,f.to)?"":x.value),d=0;ia=" ";x.selectionStart=1;x.selectionEnd=a.length;gc=setTimeout(function Oc(){" "==ia&&0==x.selectionStart?m(Tb.selectAll)(C):10>d++?gc=setTimeout(Oc,500):yb()},200)}}var c=Ya(a),e=u.scrollTop;if(c&&!ya){(y(f.from,f.to)||M(c,f.from)||!M(c,f.to))&&m(Ca)(c.line,c.ch);var g= 
    41 x.style.cssText;Ia.style.position="absolute";x.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";$();yb(!0);y(f.from,f.to)&&(x.value=ia=" ");if(db){jb(a);var h=v(window,"mouseup",function(){h();setTimeout(b,20)},!0)}else setTimeout(b,50)}}function qb(){clearInterval(Wb);var a=!0;U.style.visibility="";Wb=setInterval(function(){U.style.visibility= 
    42 (a=!a)?"":"hidden"},h.cursorBlinkRate)}function Kc(a){var b=f.inverted?f.from:f.to,c=g(b.line),e=b.ch-1,h=0<=e&&hc[c.text.charAt(e)]||hc[c.text.charAt(++e)];if(h){h.charAt(0);for(var i=(h=">"==h.charAt(1))?1:-1,j=c.styles,l=e+1,p=0,n=j.length;p<n;p+=2)if(0>=(l-=j[p].length)){var A=j[p+1];break}j=[c.text.charAt(e)];l=/[(){}[\]]/;p=b.line;for(n=h?Math.min(p+100,s.size):Math.max(-1,p-100);p!=n;p+=i){var c=g(p),t=p==b.line,q;a:{q=t&&h?e+1:0;t=t&&!h?e:c.text.length;if(c.text)for(var r=c.styles,c=h?0:c.text.length- 
    43 1,u=void 0,B=h?0:r.length-2,x=h?r.length:-2;B!=x;B+=2*i){var v=r[B];if(r[B+1]!=A)c+=i*v.length;else for(var W=h?0:v.length-1,z=h?v.length:-1;W!=z;W+=i,c+=i)if(c>=q&&c<t&&l.test(u=v.charAt(W))){var C=hc[u];if(">"==C.charAt(1)==h)j.push(u);else if(j.pop()!=C.charAt(0)){q={pos:c,match:!1};break a}else if(!j.length){q={pos:c,match:!0};break a}}}q=void 0}if(q)break}q||(q={pos:null,match:!1});var A=q.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",E=cc({line:b.line,ch:e},{line:b.line, 
    44 ch:e+1},A),$=null!=q.pos&&cc({line:p,ch:q.pos},{line:p,ch:q.pos+1},A),b=m(function(){E.clear();$&&$.clear()});a?setTimeout(b,800):za=b}}function Xa(a){var b;a:{for(var c,e,f=a,i=a-40;f>i;--f){if(0==f){b=0;break a}var j=g(f-1);if(j.stateAfter){b=f;break a}j=j.indentation(h.tabSize);if(null==e||c>j)e=f-1,c=j}b=e}var l=b&&g(b-1).stateAfter,l=l?Ua(Q,l):Lc(Q);s.iter(b,a,function(c){c.process(Q,l,h.tabSize);c.stateAfter=b==a-1||0==b%5?Ua(Q,l):null});return l}function nc(){if(!(ca>=L)){var a=+new Date+h.workTime, 
    45 b=Ua(Q,Xa(ca)),c=ca;s.iter(ca,L,function(c){ca>=H?(c.highlight(Q,b,h.tabSize),c.stateAfter=Ua(Q,b)):(c.process(Q,b,h.tabSize),c.stateAfter=0==ca%5?Ua(Q,b):null);++ca;if(+new Date>a)return tb(h.workDelay),!0});L>c&&ca>=H&&m(function(){ra.push({from:c,to:ca})})()}}function tb(a){ca<L&&oc.set(a,nc)}function yc(){xa=Ab=Oa=null;ra=[];Ba=!1;$a=[]}function zc(){ab&&wc();if(sb&&!h.lineWrapping){var a=Fb.offsetWidth,b=dc(oa,oa.text.length).left;ic||(Fb.style.left=b+"px",E.style.minWidth=b+a+"px");sb=!1}var c, 
    46 e;Ba&&(a=Ac(),c=Cc(a.x,a.y,a.x,a.yBot));if(ra.length||c&&null!=c.scrollTop)e=Aa(ra,!0,c&&c.scrollTop);e||(Ba&&Ea(),na&&wa());if(c&&(a=Ac(),Bc(a.x,a.y,a.x,a.yBot),aa)){c=qa.getBoundingClientRect();b=null;if(0>a.y+c.top)b=!0;else if(a.y+c.top+pa()>(window.innerHeight||document.documentElement.clientHeight))b=!1;if(null!=b){if(c="none"==U.style.display)U.style.display="",U.style.left=a.x+"px",U.style.top=a.y-Pa+"px";U.scrollIntoView(b);c&&(U.style.display="none")}}Ba&&qb();aa&&(!0===xa||!1!==xa&&Ba)&& 
    47 yb(Ab);Ba&&h.matchBrackets&&setTimeout(m(function(){za&&(za(),za=null);y(f.from,f.to)&&Kc(!1)}),20);b=Ba;a=$a;if(Oa&&h.onChange&&C)h.onChange(C,Oa);if(b&&h.onCursorActivity)h.onCursorActivity(C);for(b=0;b<a.length;++b)a[b](C);if(e&&h.onUpdate)h.onUpdate(C)}function m(a){return function(){wb++||yc();try{var b=a.apply(this,arguments)}finally{--wb||zc()}return b}}function qc(a){O.startCompound();try{return a()}finally{O.endCompound()}}var h={},jc=n.defaults,eb;for(eb in jc)jc.hasOwnProperty(eb)&&(h[eb]= 
    48 (b&&b.hasOwnProperty(eb)?b:jc)[eb]);var x=r("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em");x.setAttribute("wrap","off");x.setAttribute("autocorrect","off");x.setAttribute("autocapitalize","off");var Ia=r("div",[x],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),vc=r("div",null,"CodeMirror-scrollbar-inner"),u=r("div",[vc],"CodeMirror-scrollbar"),ea=r("div"),zb=r("div",null,null,"position: relative; z-index: -1"),U=r("pre","\u00a0","CodeMirror-cursor"), 
    49 Fb=r("pre","\u00a0","CodeMirror-cursor","visibility: hidden"),Sa=r("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"),E=r("div",[Sa,U,Fb,zb,ea],null,"position: relative; z-index: 0"),Qa=r("div",null,"CodeMirror-gutter-text"),Z=r("div",[Qa],"CodeMirror-gutter"),vb=r("div",[Z,r("div",[E],"CodeMirror-lines")],null,"position: relative"),qa=r("div",[vb],null,"position: relative"),p=r("div",[qa],"CodeMirror-scroll");p.setAttribute("tabIndex","-1");var X= 
    50 r("div",[Ia,u,p],"CodeMirror"+(h.lineWrapping?" CodeMirror-wrap":""));a.appendChild?a.appendChild(X):a(X);hb();ib();Zb&&(x.style.width="0px");ub||(p.draggable=!0);E.style.outline="none";null!=h.tabindex&&(x.tabIndex=h.tabindex);h.autofocus&&$();!h.gutter&&!h.lineNumbers&&(Z.style.display="none");kc&&(Ia.style.height="1px",Ia.style.position="absolute");Rc?(u.style.zIndex=-2,u.style.visibility="hidden"):ic&&(u.style.minWidth="18px");var Yb=new lc,oc=new lc,Wb,Q,s=new Jb([new Kb([new Na("")])]),ca=0, 
    51 aa;gb();var f={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},la,Lb,Mb,ta=0,lb,xb=!1,nb=!1,xa,Ab,ra,Oa,Ba,na,$a,Pa=0,H=0,L=0,Dc=0,za,oa=g(0),ab=!1,sb=!0,Ma=!1,Bb=null;m(function(){A(h.value||"");xa=!1})();var O=new Nb;v(p,"mousedown",m(function(a){function b(c){ub&&(p.draggable=!1);lb=!1;A();t();10>Math.abs(a.clientX-c.clientX)+Math.abs(a.clientY-c.clientY)&&(G(c),Ca(j.line,j.ch,!0),$())}function c(a){if("single"==l)ka(j,a);else if("double"==l){var d=Va(a);M(a,q)?ka(d.from,r):ka(q,d.to)}else"triple"== 
    52 l&&(M(a,q)?ka(r,z({line:a.line,ch:0})):ka(q,z({line:a.line+1,ch:0})))}function e(a){var d=Ya(a,!0);if(d&&!y(d,n)){aa||S();n=d;c(d);xa=!1;var b=Da();if(d.line>=b.to||d.line<b.from)s=setTimeout(m(function(){e(a)}),150)}}function g(a){clearTimeout(s);var d=Ya(a);d&&c(d);G(a);$();xa=!0;u();A()}Ka(I(a,"shiftKey"));for(var i=a.target||a.srcElement;i!=X;i=i.parentNode)if(i.parentNode==qa&&i!=vb)return;for(i=a.target||a.srcElement;i!=X;i=i.parentNode)if(i.parentNode==Qa){if(h.onGutterClick)h.onGutterClick(C, 
    53 Ob(Qa.childNodes,i)+H,a);return G(a)}var j=Ya(a);switch(Mc(a)){case 3:db&&Jc(a);return;case 2:j&&Ca(j.line,j.ch,!0);setTimeout($,20);G(a);return}if(j){aa||S();var i=+new Date,l="single";Mb&&Mb.time>i-400&&y(Mb.pos,j)?(l="triple",G(a),setTimeout($,20),i=j.line,ka({line:i,ch:0},z({line:i+1,ch:0}))):Lb&&Lb.time>i-400&&y(Lb.pos,j)?(l="double",Mb={time:i,pos:j},G(a),i=Va(j),ka(i.from,i.to)):Lb={time:i,pos:j};var n=j,s;if(h.dragDrop&&mc&&!h.readOnly&&!y(f.from,f.to)&&!M(j,f.from)&&!M(f.to,j)&&"single"== 
    54 l){ub&&(p.draggable=!0);var A=v(document,"mouseup",m(b),!0),t=v(p,"drop",m(b),!0);lb=!0;p.dragDrop&&p.dragDrop()}else{G(a);"single"==l&&Ca(j.line,j.ch,!0);var q=f.from,r=f.to,u=v(document,"mousemove",m(function(a){clearTimeout(s);G(a);!Ga&&!Mc(a)?g(a):e(a)}),!0),A=v(document,"mouseup",m(g),!0)}}else(a.target||a.srcElement)==p&&G(a)}));v(p,"dblclick",m(function(a){for(var b=a.target||a.srcElement;b!=X;b=b.parentNode)if(b.parentNode==Qa)return G(a);G(a)}));v(E,"selectstart",G);db||v(p,"contextmenu", 
    55 Jc);v(p,"scroll",function(){h.fixedGutter&&Z.style.left!=p.scrollLeft+"px"&&(Z.style.left=p.scrollLeft+"px");p.scrollTop!=ta&&(ta=p.scrollTop,u.scrollTop!=ta&&(u.scrollTop=ta),Aa([]));if(h.onScroll)h.onScroll(C)});v(u,"scroll",function(){u.scrollTop!=ta&&(ta=p.scrollTop=u.scrollTop,Aa([]))});v(u,"mousedown",function(){aa&&setTimeout($,0)});var Sc=v(window,"resize",function(){X.parentNode?Aa(!0):Sc()},!0);v(x,"keyup",m(function(a){if(!h.onKeyEvent||!h.onKeyEvent(C,Wa(a)))16==I(a,"keyCode")&&(la=null)})); 
    56 v(x,"input",cb);v(x,"keydown",m(uc));v(x,"keypress",m(function(a){Ma&&W();if(!h.onKeyEvent||!h.onKeyEvent(C,Wa(a))){var b=I(a,"keyCode"),c=I(a,"charCode");if(ya&&b==Vb)Vb=null,G(a);else if(!(ya&&(!a.which||10>a.which)||kc)||!sc(a)){b=String.fromCharCode(null==c?b:c);h.electricChars&&Q.electricChars&&h.smartIndent&&!h.readOnly&&-1<Q.electricChars.indexOf(b)&&setTimeout(m(function(){Eb(f.to.line,"smart")}),75);if(b=pb("'"+b+"'",h.extraKeys,h.keyMap,function(a){return mb(a,!0)}))G(a),qb();b||cb()}}})); 
    57 v(x,"focus",S);v(x,"blur",N);h.dragDrop&&(v(p,"dragstart",Rb),v(p,"dragenter",c),v(p,"dragover",c),v(p,"drop",m(w)));v(p,"paste",function(){$();cb()});v(x,"paste",cb);v(x,"cut",m(function(){h.readOnly||R("")}));kc&&v(qa,"mouseup",function(){document.activeElement==x&&x.blur();$()});var Nc;try{Nc=document.activeElement==x}catch(Tc){}Nc||h.autofocus?setTimeout(S,20):N();var C=X.CodeMirror={getValue:function(a){var b=[];s.iter(0,s.size,function(a){b.push(a.text)});return b.join(a||"\n")},setValue:m(A), 
    58 getSelection:Sb,replaceSelection:m(R),focus:function(){window.focus();$();S();cb()},setOption:function(a,b){var c=h[a];h[a]=b;"mode"==a||"indentUnit"==a?gb():"readOnly"==a&&"nocursor"==b?(N(),x.blur()):"readOnly"==a&&!b?yb(!0):"theme"==a?hb():"lineWrapping"==a&&c!=b?m(Qb)():"tabSize"==a?Aa(!0):"keyMap"==a&&ib();if("lineNumbers"==a||"gutter"==a||"firstLineNumber"==a||"theme"==a||"lineNumberFormatter"==a)c=h.gutter||h.lineNumbers,Z.style.display=c?"":"none",c?na=!0:ea.parentNode.style.marginLeft=0, 
    59 Aa(!0)},getOption:function(a){return h[a]},getMode:function(){return Q},undo:m(function(){P(O.done,O.undone)}),redo:m(function(){P(O.undone,O.done)}),indentLine:m(function(a,b){"string"!=typeof b&&(b=null==b?h.smartIndent?"smart":"prev":b?"add":"subtract");e(a)&&Eb(a,b)}),indentSelection:m(function(a){if(y(f.from,f.to))return Eb(f.from.line,a);for(var b=f.to.line-(f.to.ch?0:1),c=f.from.line;c<=b;++c)Eb(c,a)}),historySize:function(){return{undo:O.done.length,redo:O.undone.length}},clearHistory:function(){O= 
    60 new Nb},setHistory:function(a){O=new Nb;O.done=a.done;O.undone=a.undone},getHistory:function(){function a(d){for(var b=0,c=[],e;b<d.length;++b){c.push(e=[]);for(var f=0,g=d[b];f<g.length;++f){var h=[],i=g[f];e.push({start:i.start,added:i.added,old:h});for(var l=0;l<i.old.length;++l)h.push(T(i.old[l]))}}return c}return{done:a(O.done),undone:a(O.undone)}},matchBrackets:m(function(){Kc(!0)}),getTokenAt:m(function(a){a=z(a);return g(a.line).getTokenAt(Q,Xa(a.line),h.tabSize,a.ch)}),getStateAfter:function(a){a= 
    61 Cb(null==a?s.size-1:a);return Xa(a+1)},cursorCoords:function(a,b){null==a&&(a=f.inverted);return this.charCoords(a?f.from:f.to,b)},charCoords:function(a,b){a=z(a);if("local"==b)return sa(a,!1);if("div"==b)return sa(a,!0);var c=sa(a,!0),e=Ra(E);return{x:e.left+c.x,y:e.top+c.y,yBot:e.top+c.yBot}},coordsChar:function(a){var b=Ra(E);return Ib(a.x-b.left,a.y-b.top)},markText:m(cc),setBookmark:function(a){var a=z(a),b=new Gb("bookmark"),c=g(a.line),a={from:a.ch,to:a.ch,marker:b};(c.markedSpans||(c.markedSpans= 
    62 [])).push(a);b.lines.push(c);return b},findMarksAt:function(a){var a=z(a),b=[],c=g(a.line).markedSpans;if(c)for(var e=0;e<c.length;++e){var f=c[e];(null==f.from||f.from<=a.ch)&&(null==f.to||f.to>=a.ch)&&b.push(f.marker)}return b},setMarker:m(function(a,b,c){"number"==typeof a&&(a=g(Cb(a)));a.gutterMarker={text:b,style:c};na=!0;return a}),clearMarker:m(function(a){"number"==typeof a&&(a=g(Cb(a)));a.gutterMarker=null;na=!0}),setLineClass:m(function(a,b,c){return Fc(a,function(a){if(a.className!=b|| 
    63 a.bgClassName!=c)return a.className=b,a.bgClassName=c,!0})}),hideLine:m(function(a){return bc(a,!0)}),showLine:m(function(a){return bc(a,!1)}),onDeleteLine:function(a,b){if("number"==typeof a){if(!e(a))return null;a=g(a)}(a.handlers||(a.handlers=[])).push(b);return a},lineInfo:function(a){if("number"==typeof a){if(!e(a))return null;var b=a,a=g(a);if(!a)return null}else if(b=La(a),null==b)return null;var c=a.gutterMarker;return{line:b,handle:a,text:a.text,markerText:c&&c.text,markerClass:c&&c.style, 
    64 lineClass:a.className,bgClass:a.bgClassName}},getViewport:function(){return{from:H,to:L}},addWidget:function(a,b,c,e,f){var a=sa(z(a)),g=a.yBot,h=a.x;b.style.position="absolute";qa.appendChild(b);if("over"==e)g=a.y;else if("near"==e){var e=Math.max(p.offsetHeight,s.height*pa()),i=Math.max(qa.clientWidth,E.clientWidth)-E.offsetLeft;a.yBot+b.offsetHeight>e&&a.y>b.offsetHeight&&(g=a.y-b.offsetHeight);h+b.offsetWidth>i&&(h=i-b.offsetWidth)}b.style.top=g+E.offsetTop+"px";b.style.left=b.style.right=""; 
    65 "right"==f?(h=qa.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==f?h=0:"middle"==f&&(h=(qa.clientWidth-b.offsetWidth)/2),b.style.left=h+E.offsetLeft+"px");c&&Bc(h,g,h+b.offsetWidth,g+b.offsetHeight)},lineCount:function(){return s.size},clipPos:z,getCursor:function(a){null==a&&(a=f.inverted);return{line:(a?f.from:f.to).line,ch:(a?f.from:f.to).ch}},somethingSelected:function(){return!y(f.from,f.to)},setCursor:m(function(a,b,c){null==b&&"number"==typeof a.line?Ca(a.line,a.ch,c):Ca(a,b,c)}),setSelection:m(function(a, 
    66 b,c){(c?ka:bb)(z(a),z(b||a))}),getLine:function(a){if(e(a))return g(a).text},getLineHandle:function(a){if(e(a))return g(a)},setLine:m(function(a,b){e(a)&&V(b,{line:a,ch:0},{line:a,ch:g(a).text.length})}),removeLine:m(function(a){e(a)&&V("",{line:a,ch:0},z({line:a+1,ch:0}))}),replaceRange:m(V),getRange:function(a,b,c){return xc(z(a),z(b),c)},triggerOnKeyDown:m(uc),execCommand:function(a){return Tb[a](C)},moveH:m(function(a,b){var c=0>a?f.from:f.to;if(la||y(f.from,f.to))c=Ja(a,b);Ca(c.line,c.ch,!0)}), 
    67 deleteH:m(function(a,b){y(f.from,f.to)?0>a?V("",Ja(a,b),f.to):V("",f.from,Ja(a,b)):V("",f.from,f.to);Ab=!0}),moveV:m(function(a,b){var c=sa(f.inverted?f.from:f.to,!0);null!=Bb&&(c.x=Bb);if("page"==b)var e=Math.min(p.clientHeight,window.innerHeight||document.documentElement.clientHeight),e=Ib(c.x,c.y+e*a);else"line"==b&&(e=pa(),e=Ib(c.x,c.y+0.5*e+a*e));"page"==b&&(u.scrollTop+=sa(e,!0).y-c.y);Ca(e.line,e.ch,!0);Bb=c.x}),toggleOverwrite:function(){xb?(xb=!1,U.className=U.className.replace(" CodeMirror-overwrite", 
    68 "")):(xb=!0,U.className+=" CodeMirror-overwrite")},posFromIndex:function(a){var b=0,c;s.iter(0,s.size,function(e){e=e.text.length+1;if(e>a)return c=a,!0;a-=e;++b});return z({line:b,ch:c})},indexFromPos:function(a){if(0>a.line||0>a.ch)return 0;var b=a.ch;s.iter(0,a.line,function(a){b+=a.text.length+1});return b},scrollTo:function(a,b){null!=a&&(p.scrollLeft=a);null!=b&&(u.scrollTop=p.scrollTop=b);Aa([])},getScrollInfo:function(){return{x:p.scrollLeft,y:u.scrollTop,height:u.scrollHeight,width:p.scrollWidth}}, 
    69 setSize:function(a,b){function c(a){a=String(a);return/^\d+$/.test(a)?a+"px":a}null!=a&&(X.style.width=c(a));null!=b&&(p.style.height=c(b));C.refresh()},operation:function(a){return m(a)()},compoundChange:function(a){return qc(a)},refresh:function(){Aa(!0,null,ta);u.scrollHeight>ta&&(u.scrollTop=ta)},getInputField:function(){return x},getWrapperElement:function(){return X},getScrollerElement:function(){return p},getGutterElement:function(){return Z}},tc,Vb=null,ia="";Gb.prototype.clear=m(function(){for(var a= 
    70 Infinity,b=-Infinity,c=0;c<this.lines.length;++c){var e=this.lines[c],f=rb(e.markedSpans,this,!0);if(null!=f.from||null!=f.to)e=La(e),a=Math.min(a,e),b=Math.max(b,e)}Infinity!=a&&ra.push({from:a,to:b+1});this.lines.length=0});Gb.prototype.find=function(){for(var a,b,c=0;c<this.lines.length;++c){var e=this.lines[c],f=rb(e.markedSpans,this);if(null!=f.from||null!=f.to)e=La(e),null!=f.from&&(a={line:e,ch:f.from}),null!=f.to&&(b={line:e,ch:f.to})}return"bookmark"==this.type?a:a&&{from:a,to:b}};var ec, 
    71 Gc,Ta,Ic,Hc=0,gc,hc={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},wb=0,fb;for(fb in Pb)Pb.propertyIsEnumerable(fb)&&!C.propertyIsEnumerable(fb)&&(C[fb]=Pb[fb]);return C}function Ub(a){return"string"==typeof a?fa[a]:a}function pb(a,b,c,e,g){function i(b){var b=Ub(b),c=b[a];if(!1===c)return g&&g(),!0;if(null!=c&&e(c))return!0;if(b.nofallthrough)return g&&g(),!0;b=b.fallthrough;if(null==b)return!1;if("[object Array]"!=Object.prototype.toString.call(b))return i(b);for(var c=0,n=b.length;c<n;++c)if(i(b[c]))return!0; 
    72 return!1}return b&&i(b)?!0:i(c)}function Ua(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);var c={},e;for(e in b){var g=b[e];g instanceof Array&&(g=g.concat([]));c[e]=g}return c}function Lc(a,b,c){return a.startState?a.startState(b,c):!0}function Da(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b||8}function rb(a,b,c){if(a)for(var e=0;e<a.length;++e){var g=a[e];if(g.marker==b)return c&&a.splice(e,1),g}}function T(a){return"string"==typeof a?a:a.text}function K(a){return"string"== 
    73 typeof a?null:a.markedSpans}function Za(a,b){return b?{text:a,markedSpans:b}:a}function gb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c){var e=b[c].marker.lines,g=Ob(e,a);e.splice(g,1)}a.markedSpans=null}}function Qb(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.lines.push(a);a.markedSpans=b}}function Na(a,b){this.text=a;this.height=1;Qb(this,b)}function Kb(a){this.lines=a;this.parent=null;for(var b=0,c=a.length,e=0;b<c;++b)a[b].parent=this,e+=a[b].height;this.height=e}function Jb(a){this.children= 
    74 a;for(var b=0,c=0,e=0,g=a.length;e<g;++e){var i=a[e],b=b+i.chunkSize(),c=c+i.height;i.parent=this}this.size=b;this.height=c;this.parent=null}function La(a){if(null==a.parent)return null;for(var b=a.parent,a=Ob(b.lines,a),c=b.parent;c;b=c,c=c.parent)for(var e=0;c.children[e]!=b;++e)a+=c.children[e].chunkSize();return a}function $b(a,b){var c=0;a:do{for(var e=0,g=a.children.length;e<g;++e){var i=a.children[e],l=i.height;if(b<l){a=i;continue a}b-=l;c+=i.chunkSize()}return c}while(!a.lines);e=0;for(g= 
    75 a.lines.length;e<g;++e){i=a.lines[e].height;if(b<i)break;b-=i}return c+e}function ac(a,b){var c=0;a:do{for(var e=0,g=a.children.length;e<g;++e){var i=a.children[e],l=i.chunkSize();if(b<l){a=i;continue a}b-=l;c+=i.height}return c}while(!a.lines);for(e=0;e<b;++e)c+=a.lines[e].height;return c}function Nb(){this.time=0;this.done=[];this.undone=[];this.compound=0;this.closed=!1}function nc(){jb(this)}function Wa(a){a.stop||(a.stop=nc);return a}function G(a){a.preventDefault?a.preventDefault():a.returnValue= 
    76 !1}function hb(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function jb(a){G(a);hb(a)}function Mc(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));ob&&(a.ctrlKey&&1==b)&&(b=3);return b}function I(a,b){return a.override&&a.override.hasOwnProperty(b)?a.override[b]:a[b]}function v(a,b,c,e){if("function"==typeof a.addEventListener){if(a.addEventListener(b,c,!1),e)return function(){a.removeEventListener(b,c,!1)}}else{var g=function(a){c(a||window.event)};a.attachEvent("on"+ 
    77 b,g);if(e)return function(){a.detachEvent("on"+b,g)}}}function lc(){this.id=null}function Ja(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));for(var e=0,g=0;e<b;++e)"\t"==a.charAt(e)?g+=c-g%c:++g;return g}function Ra(a,b){try{var c=a.getBoundingClientRect(),c={top:c.top,left:c.left}}catch(e){c={top:0,left:0}}if(!b)if(null==window.pageYOffset){var g=document.documentElement||document.body.parentNode;null==g.scrollTop&&(g=document.body);c.top+=g.scrollTop;c.left+=g.scrollLeft}else c.top+= 
    78 window.pageYOffset,c.left+=window.pageXOffset;return c}function Ec(a){for(;Ka.length<=a;)Ka.push(J(Ka)+" ");return Ka[a]}function J(a){return a[a.length-1]}function y(a,b){return a.line==b.line&&a.ch==b.ch}function M(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function r(a,b,c,e){a=document.createElement(a);c&&(a.className=c);e&&(a.style.cssText=e);if("string"==typeof b)ib(a,b);else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function Ha(a){a.innerHTML="";return a}function ib(a, 
    79 b){fc?(a.innerHTML="",a.appendChild(document.createTextNode(b))):a.textContent=b}function Ob(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,e=a.length;c<e;++c)if(a[c]==b)return c;return-1}function Db(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()}n.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,smartIndent:!0,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,autoClearEmptyLines:!1,onKeyEvent:null,onDragEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1, 
    80 fixedGutter:!1,firstLineNumber:1,readOnly:!1,dragDrop:!0,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(a){return a}};var Zb=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),ob=Zb||/Mac/.test(navigator.platform);/Win/.test(navigator.platform); 
    81 var ua=n.modes={},va=n.mimeModes={};n.defineMode=function(a,b){!n.defaults.mode&&"null"!=a&&(n.defaults.mode=a);if(2<arguments.length){b.dependencies=[];for(var c=2;c<arguments.length;++c)b.dependencies.push(arguments[c])}ua[a]=b};n.defineMIME=function(a,b){va[a]=b};n.resolveMode=function(a){if("string"==typeof a&&va.hasOwnProperty(a))a=va[a];else if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return n.resolveMode("application/xml");return"string"==typeof a?{name:a}:a||{name:"null"}};n.getMode= 
    82 function(a,b){var b=n.resolveMode(b),c=ua[b.name];if(!c)return n.getMode(a,"text/plain");c=c(a,b);if(wa.hasOwnProperty(b.name)){var e=wa[b.name],g;for(g in e)e.hasOwnProperty(g)&&(c[g]=e[g])}c.name=b.name;return c};n.listModes=function(){var a=[],b;for(b in ua)ua.propertyIsEnumerable(b)&&a.push(b);return a};n.listMIMEs=function(){var a=[],b;for(b in va)va.propertyIsEnumerable(b)&&a.push({mime:b,mode:va[b]});return a};var Pb=n.extensions={};n.defineExtension=function(a,b){Pb[a]=b};var wa=n.modeExtensions= 
    83 {};n.extendMode=function(a,b){var c=wa.hasOwnProperty(a)?wa[a]:wa[a]={},e;for(e in b)b.hasOwnProperty(e)&&(c[e]=b[e])};var Tb=n.commands={selectAll:function(a){a.setSelection({line:0,ch:0},{line:a.lineCount()-1})},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),e=!y(b,c);!e&&a.getLine(b.line).length==b.ch?a.replaceRange("",b,{line:b.line+1,ch:0}):a.replaceRange("",b,e?c:{line:b.line})},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",{line:b,ch:0},{line:b})},undo:function(a){a.undo()}, 
    84 redo:function(a){a.redo()},goDocStart:function(a){a.setCursor(0,0,!0)},goDocEnd:function(a){a.setSelection({line:a.lineCount()-1},null,!0)},goLineStart:function(a){a.setCursor(a.getCursor().line,0,!0)},goLineStartSmart:function(a){var b=a.getCursor(),c=a.getLine(b.line),c=Math.max(0,c.search(/\S/));a.setCursor(b.line,b.ch<=c&&b.ch?0:c,!0)},goLineEnd:function(a){a.setSelection({line:a.getCursor().line},null,!0)},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1, 
    85 "page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goWordRight:function(a){a.moveH(1,"word")},delCharLeft:function(a){a.deleteH(-1,"char")},delCharRight:function(a){a.deleteH(1,"char")},delWordLeft:function(a){a.deleteH(-1,"word")},delWordRight:function(a){a.deleteH(1,"word")}, 
    86 indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection("\t","end")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection("\t","end")},transposeChars:function(a){var b=a.getCursor(),c=a.getLine(b.line);0<b.ch&&b.ch<c.length-1&&a.replaceRange(c.charAt(b.ch)+c.charAt(b.ch-1),{line:b.line,ch:b.ch-1},{line:b.line,ch:b.ch+1})},newlineAndIndent:function(a){a.replaceSelection("\n", 
    87 "end");a.indentLine(a.getCursor().line)},toggleOverwrite:function(a){a.toggleOverwrite()}},fa=n.keyMap={};fa.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};fa.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo", 
    88 "Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};fa.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine", 
    89 "Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore",fallthrough:["basic","emacsy"]}; 
    90 fa["default"]=ob?fa.macDefault:fa.pcDefault;fa.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageUp","Shift-Ctrl-V":"goPageDown","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};n.fromTextArea=function(a,b){function c(){a.value=r.getValue()}b||(b={});b.value= 
    91 a.value;!b.tabindex&&a.tabindex&&(b.tabindex=a.tabindex);if(null==b.autofocus){var e=document.body;try{e=document.activeElement}catch(g){}b.autofocus=e==a||null!=a.getAttribute("autofocus")&&e==document.body}if(a.form){var i=v(a.form,"submit",c,!0);if("function"==typeof a.form.submit){var l=a.form.submit;a.form.submit=function Rb(){c();a.form.submit=l;a.form.submit();a.form.submit=Rb}}}a.style.display="none";var r=n(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);r.save=c;r.getTextArea= 
    92 function(){return a};r.toTextArea=function(){c();a.parentNode.removeChild(r.getWrapperElement());a.style.display="";a.form&&(i(),"function"==typeof a.form.submit&&(a.form.submit=l))};return r};var db=/gecko\/\d{7}/i.test(navigator.userAgent),Ga=/MSIE \d/.test(navigator.userAgent),ic=/MSIE [1-7]\b/.test(navigator.userAgent),fc=/MSIE [1-8]\b/.test(navigator.userAgent),Qc=Ga&&5==document.documentMode,ub=/WebKit\//.test(navigator.userAgent),w=/Chrome\//.test(navigator.userAgent),ya=/Opera\//.test(navigator.userAgent), 
    93 oc=/Apple Computer/.test(navigator.vendor),kc=/KHTML\//.test(navigator.userAgent),Rc=/Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent);n.copyState=Ua;n.startState=Lc;n.innerMode=function(a,b){for(;a.innerMode;)var c=a.innerMode(b),b=c.state,a=c.mode;return c||{mode:a,state:b}};Da.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}, 
    94 eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&(a.test?a.test(b):a(b)))return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0},backUp:function(a){this.pos-=a},column:function(){return Ja(this.string, 
    95 this.start,this.tabSize)},indentation:function(){return Ja(this.string,null,this.tabSize)},match:function(a,b,c){if("string"==typeof a){if((c?this.string.toLowerCase():this.string).indexOf(c?a.toLowerCase():a,this.pos)==this.pos)return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}},current:function(){return this.string.slice(this.start,this.pos)}};n.StringStream=Da;var Va=" ";db||Ga&&!ic?Va="\u200b": 
    96 ya&&(Va="");Na.prototype={update:function(a,b){this.text=a;this.stateAfter=this.styles=null;gb(this);Qb(this,b)},highlight:function(a,b,c){var c=new Da(this.text,c),e=this.styles||(this.styles=[]),g=e.length=0;for(""==this.text&&a.blankLine&&a.blankLine(b);!c.eol();){var i=a.token(c,b),l=c.current();c.start=c.pos;g&&e[g-1]==i?e[g-2]+=l:l&&(e[g++]=l,e[g++]=i);if(5E3<c.pos){e[g++]=this.text.slice(c.pos);e[g++]=null;break}}},process:function(a,b,c){c=new Da(this.text,c);for(""==this.text&&a.blankLine&& 
    97 a.blankLine(b);!c.eol()&&5E3>=c.pos;)a.token(c,b),c.start=c.pos},getTokenAt:function(a,b,c,e){for(c=new Da(this.text,c);c.pos<e&&!c.eol();){c.start=c.pos;var g=a.token(c,b)}return{start:c.start,end:c.pos,string:c.current(),className:g||null,state:b}},indentation:function(a){return Ja(this.text,null,a)},getContent:function(a,b,c){function e(b,c,e){if(c){i&&(Ga&&" "==c.charAt(0))&&(c="\u00a0"+c.slice(1));i=!1;if(n.test(c))for(var g=document.createDocumentFragment(),v=0;;){n.lastIndex=v;var w=n.exec(c), 
    98 y=w?w.index-v:c.length-v;y&&(g.appendChild(document.createTextNode(c.slice(v,v+y))),l+=y);if(!w)break;v+=y+1;"\t"==w[0]?(w=a-l%a,g.appendChild(r("span",Ec(w),"cm-tab")),l+=w):(y=r("span","\u2022","cm-invalidchar"),y.title="\\u"+w[0].charCodeAt(0).toString(16),g.appendChild(y),l+=1)}else{l+=c.length;var g=document.createTextNode(c)}e?b.appendChild(r("span",[g],e)):b.appendChild(g)}}function g(a){return!a?null:"cm-"+a.replace(/ +/g," cm-")}var i=!0,l=0,n=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g, 
    99 v=r("pre"),y=e;if(null!=b)var w=0,G=v.anchor=r("span"),y=function(a,g,i){var l=g.length;if(b>=w&&b<w+l){b>w&&(e(a,g.slice(0,b-w),i),c&&a.appendChild(r("wbr")));a.appendChild(G);var n=b-w;e(G,ya?g.slice(n,n+1):g.slice(n),i);ya&&e(a,g.slice(n+1),i);b--;w+=l}else w+=l,e(a,g,i),w==b&&w==I?(ib(G,Va),a.appendChild(G)):w>b+10&&/\s/.test(g)&&(y=function(){})};var M=this.styles,S=this.text,N=this.markedSpans,I=S.length;if(!S&&null==b)y(v," ");else if(!N||!N.length)for(N=S=0;N<I;S+=2){var P=M[S],T=M[S+1],da= 
    100 P.length;N+da>I&&(P=P.slice(0,I-N));N+=da;y(v,P,g(T))}else{N.sort(function(a,b){return a.from-b.from});for(var S=P=0,da="",ba=N[0].from||0,K=[],V=0;P<I;){if(ba==P){for(ba=void 0;V<N.length&&((ba=N[V]).from==P||null==ba.from);)"range"==ba.marker.type&&K.push(ba),++V;for(var ba=V<N.length?N[V].from:Infinity,R=0;R<K.length;++R){var ha=K[R].to;null==ha&&(ha=Infinity);ha==P?K.splice(R--,1):ba=Math.min(ha,ba)}}for(R=Math.min(I,ba);;){if(da){for(var ha=P+da.length,J=T,fa=0;fa<K.length;++fa){var ga=K[fa], 
    101 J=(J?J+" ":"")+ga.marker.style;ga.marker.endStyle&&ga.to===Math.min(ha,R)&&(J+=" "+ga.marker.endStyle);ga.marker.startStyle&&ga.from===P&&(J+=" "+ga.marker.startStyle)}y(v,ha>R?da.slice(0,R-P):da,J);if(ha>=R){da=da.slice(R-P);P=R;break}P=ha}da=M[S++];T=g(M[S++])}}}return v},cleanUp:function(){this.parent=null;gb(this)}};Kb.prototype={chunkSize:function(){return this.lines.length},remove:function(a,b,c){for(var e=a,g=a+b;e<g;++e){var i=this.lines[e];this.height-=i.height;i.cleanUp();if(i.handlers)for(var l= 
    102 0;l<i.handlers.length;++l)c.push(i.handlers[l])}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertHeight:function(a,b,c){this.height+=c;this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));a=0;for(c=b.length;a<c;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};Jb.prototype={chunkSize:function(){return this.size},remove:function(a,b,c){this.size-=b;for(var e=0;e<this.children.length;++e){var g= 
    103 this.children[e],i=g.chunkSize();if(a<i){var l=Math.min(b,i-a),n=g.height;g.remove(a,l,c);this.height-=n-g.height;i==l&&(this.children.splice(e--,1),g.parent=null);if(0==(b-=l))break;a=0}else a-=i}25>this.size-b&&(a=[],this.collapse(a),this.children=[new Kb(a)],this.children[0].parent=this)},collapse:function(a){for(var b=0,c=this.children.length;b<c;++b)this.children[b].collapse(a)},insert:function(a,b){for(var c=0,e=0,g=b.length;e<g;++e)c+=b[e].height;this.insertHeight(a,b,c)},insertHeight:function(a, 
    104 b,c){this.size+=b.length;this.height+=c;for(var e=0,g=this.children.length;e<g;++e){var i=this.children[e],l=i.chunkSize();if(a<=l){i.insertHeight(a,b,c);if(i.lines&&50<i.lines.length){for(;50<i.lines.length;)a=i.lines.splice(i.lines.length-25,25),a=new Kb(a),i.height-=a.height,this.children.splice(e+1,0,a),a.parent=this;this.maybeSpill()}break}a-=l}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5),b=new Jb(b);if(a.parent){a.size-= 
    105 b.size;a.height-=b.height;var c=Ob(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Jb(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10<a.children.length);a.parent.maybeSpill()}},iter:function(a,b,c){this.iterN(a,b-a,c)},iterN:function(a,b,c){for(var e=0,g=this.children.length;e<g;++e){var i=this.children[e],l=i.chunkSize();if(a<l){l=Math.min(b,l-a);if(i.iterN(a,l,c))return!0;if(0==(b-=l))break;a=0}else a-=l}}};Nb.prototype={addChange:function(a,b,c){this.undone.length= 
    106 0;var e=+new Date,g=J(this.done),i=g&&J(g),l=e-this.time;if(this.compound&&g&&!this.closed)g.push({start:a,added:b,old:c});else if(400<l||!i||this.closed||i.start>a+c.length||i.start+i.added<a)this.done.push([{start:a,added:b,old:c}]),this.closed=!1;else{for(var g=Math.max(0,i.start-a),l=Math.max(0,a+c.length-(i.start+i.added)),n=g;0<n;--n)i.old.unshift(c[n-1]);for(n=l;0<n;--n)i.old.push(c[c.length-n]);g&&(i.start=a);i.added+=b-(c.length-g-l)}this.time=e},startCompound:function(){this.compound++|| 
    107 (this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}};n.e_stop=jb;n.e_preventDefault=G;n.e_stopPropagation=hb;n.connect=v;lc.prototype={set:function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)}};var rc=n.Pass={toString:function(){return"CodeMirror.Pass"}},mc;if(fc)mc=!1;else{var Ea=r("div");mc="draggable"in Ea||"dragDrop"in Ea}Ea=r("textarea");Ea.value="foo\nbar";Ea.value.indexOf("\r");var Hb=/^$/;db?Hb=/$'/:oc?Hb=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:w&&(Hb=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/); 
    108 var Ka=[""],kb=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],e=a.length;b<=e;){var g=a.indexOf("\n",b);-1==g&&(g=a.length);var i=a.slice(b,"\r"==a.charAt(g-1)?g-1:g),l=i.indexOf("\r");-1!=l?(c.push(i.slice(0,l)),b+=l+1):(c.push(i),b=g+1)}return c}:function(a){return a.split(/\r\n?|\n/)};n.splitLines=kb;var Pc=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return!b|| 
    109 b.parentElement()!=a?!1:0!=b.compareEndPoints("StartToEnd",b)};n.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}});n.defineMIME("text/plain","null");var Fa={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",", 
    110 189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};n.keyNames=Fa;for(w=0;10>w;w++)Fa[w+48]=String(w);for(w=65;90>=w;w++)Fa[w]=String.fromCharCode(w);for(w=1;12>=w;w++)Fa[w+111]=Fa[w+63235]="F"+w;n.version="2.34";return n}(); 
     1// CodeMirror version 2.35 
     2window.CodeMirror=function(){function n(a,b){function c(d){(!i.onDragEvent||!i.onDragEvent(B,Xa(d)))&&jb(d)}function e(d){return 0<=d&&d<u.size}function g(d){for(var a=u;!a.lines;)for(var l=0;;++l){var b=a.children[l],c=b.chunkSize();if(d<c){a=b;break}d-=c}return a.lines[d]}function j(d,a){ma=!0;for(var l=a-d.height,b=d;b;b=b.parent)b.height+=l}function m(d,a){d.styles||d.highlight(O,d.stateAfter=Ya(Fa(d)),i.tabSize);return d.getContent(i.tabSize,a,i.lineWrapping)}function ga(d){var a={line:0,ch:0}; 
     3qc(a,{line:u.size-1,ch:g(u.size-1).text.length},kb(d),a,a);xa=!0}function y(d){if(!i.onDragEvent||!i.onDragEvent(B,Xa(d))){E(d);var a=Za(d,!0),l=d.dataTransfer.files;if(a&&!i.readOnly)if(l&&l.length&&window.FileReader&&window.File)for(var b=l.length,c=Array(b),k=0,d=function(d,l){var h=new FileReader;h.onload=function(){c[l]=h.result;++k==b&&(a=D(a),q(function(){var d=T(c.join(""),a,a);ia(a,d)})())};h.readAsText(d)},h=0;h<b;++h)d(l[h],h);else if(!lb||L(a,f.from)||L(f.to,a))try{(c=d.dataTransfer.getData("Text"))&& 
     4rc(function(){var d=f.from,l=f.to;ia(a,a);lb&&T("",d,l);P(c);ja()})}catch(Vc){}}}function Qb(d){var a=Rb();d.dataTransfer.setData("Text",a);d.dataTransfer.setDragImage&&d.dataTransfer.setDragImage(w("img"),0,0)}function mb(d,a){if("string"==typeof d&&(d=Sb[d],!d))return!1;var l=ka;try{i.readOnly&&(nb=!0),a&&(ka=null),d(B)}catch(b){if(b!=sc)throw b;return!1}finally{ka=l,nb=!1}return!0}function tc(d){function a(){h=!0}var l=Tb(i.keyMap),b=l.auto;clearTimeout(uc);b&&!vc(d)&&(uc=setTimeout(function(){Tb(i.keyMap)== 
     5l&&(i.keyMap=b.call?b.call(null,B):b)},50));var c=Ga[G(d,"keyCode")],k=!1,k=ya&&ob;if(null==c||d.altGraphKey)return!1;G(d,"altKey")&&(c="Alt-"+c);if(G(d,k?"metaKey":"ctrlKey"))c="Ctrl-"+c;if(G(d,k?"ctrlKey":"metaKey"))c="Cmd-"+c;var h=!1,k=G(d,"shiftKey")?pb("Shift-"+c,i.extraKeys,i.keyMap,function(d){return mb(d,!0)},a)||pb(c,i.extraKeys,i.keyMap,function(d){if("string"==typeof d&&/^go[A-Z]/.test(d))return mb(d)},a):pb(c,i.extraKeys,i.keyMap,mb,a);h&&(k=!1);k&&(E(d),qb(),Ha&&(d.oldKeyCode=d.keyCode, 
     6d.keyCode=0));return k}function wc(d){X||Q();Ha&&27==d.keyCode&&(d.returnValue=!1);Ma&&ca()&&(Ma=!1);if(!i.onKeyEvent||!i.onKeyEvent(B,Xa(d))){var a=G(d,"keyCode");La(16==a||G(d,"shiftKey"));var l=tc(d);ya&&(Ub=l?a:null,!l&&(88==a&&G(d,ob?"metaKey":"ctrlKey"))&&P(""))}}function Q(){if("nocursor"!=i.readOnly){if(!X){if(i.onFocus)i.onFocus(B);X=!0;-1==s.className.search(/\bCodeMirror-focused\b/)&&(s.className+=" CodeMirror-focused")}da();qb()}}function M(){if(X){if(i.onBlur)i.onBlur(B);X=!1;za&&q(function(){za&& 
     7(za(),za=null)})();s.className=s.className.replace(" CodeMirror-focused","")}clearInterval(Vb);setTimeout(function(){X||(ka=null)},150)}function qc(d,a,l,b,c){if(!nb){var k=[];u.iter(d.line,a.line+1,function(d){k.push(Na(d.text,d.markedSpans))});if(I)for(I.addChange(d.line,l.length,k);I.done.length>i.undoDepth;)I.done.shift();var h=J(k[0]),g=J(H(k)),e=d.ch,f=a.ch;if(h||g){if(h)for(var j=0,v;j<h.length;++j){var p=h[j],m=p.marker;if(null==p.from||(m.inclusiveLeft?p.from<=e:p.from<e)||"bookmark"==m.type&& 
     8p.from==e&&void 0!=p.from){var s=null==p.to||(m.inclusiveRight?p.to>=e:p.to>e);(v||(v=[])).push({from:p.from,to:s?null:p.to,marker:m})}}h=v;if(g)for(var j=0,A;j<g.length;++j)if(v=g[j],p=v.marker,null==v.to||(p.inclusiveRight?v.to>=f:v.to>f)||"bookmark"==p.type&&v.from==f)m=null==v.from||(p.inclusiveLeft?v.from<=f:v.from<f),(A||(A=[])).push({from:m?null:v.from-f,to:null==v.to?null:v.to-f,marker:p});g=A;A=1==l.length;j=H(l).length+(A?e:0);if(h)for(f=0;f<h.length;++f)v=h[f],null==v.to&&((p=rb(g,v.marker))? 
     9A&&(v.to=null==p.to?null:p.to+j):v.to=e);if(g)for(f=0;f<g.length;++f)v=g[f],null!=v.to&&(v.to+=j),null==v.from?(p=rb(h,v.marker),p||(v.from=j,A&&(h||(h=[])).push(v))):(v.from+=j,A&&(h||(h=[])).push(v));e=[Na(l[0],h)];if(!A){A=l.length-2;var q;if(0<A&&h)for(f=0;f<h.length;++f)null==h[f].to&&(q||(q=[])).push({from:null,to:null,marker:h[f].marker});for(f=0;f<A;++f)e.push(Na(l[f+1],q));e.push(Na(H(l),g))}l=e}ua(d,a,l,b,c)}}function N(d,a){if(d.length){for(var l=d.pop(),b=[],c=l.length-1;0<=c;c-=1){var k= 
     10l[c],h=[],f=k.start+k.added;u.iter(k.start,f,function(d){h.push(Na(d.text,d.markedSpans))});b.push({start:k.start,added:k.old.length,old:h});var e=k.start+k.old.length-1,i;i=R(H(h));var j=R(H(k.old));if(j)if(i){for(var m=i.length,p=j.length;0<=m&&0<=p&&i.charAt(m)==j.charAt(p);--m,--p);i=p+1}else i=j.length;else i=0;e={line:e,ch:i};ua({line:k.start,ch:0},{line:f-1,ch:g(f-1).text.length},k.old,e,e)}xa=!0;a.push(b)}}function ua(d,a,l,b,c){if(!nb){var k=!1,h=na.text.length;i.lineWrapping||u.iter(d.line, 
     11a.line+1,function(d){if(!d.hidden&&d.text.length==h)return k=!0});if(d.line!=a.line||1<l.length)ma=!0;var e=a.line-d.line,ha=g(d.line),m=g(a.line),q=H(l);if(0==d.ch&&0==a.ch&&""==R(q)){for(var v=[],p=0,n=l.length-1;p<n;++p)v.push(new Oa(R(l[p]),J(l[p])));m.update(m.text,J(q));e&&u.remove(d.line,e,$a);v.length&&u.insert(d.line,v)}else if(ha==m)if(1==l.length)ha.update(ha.text.slice(0,d.ch)+R(l[0])+ha.text.slice(a.ch),J(l[0]));else{v=[];p=1;for(n=l.length-1;p<n;++p)v.push(new Oa(R(l[p]),J(l[p])));v.push(new Oa(R(q)+ 
     12ha.text.slice(a.ch),J(q)));ha.update(ha.text.slice(0,d.ch)+R(l[0]),J(l[0]));u.insert(d.line+1,v)}else if(1==l.length)ha.update(ha.text.slice(0,d.ch)+R(l[0])+m.text.slice(a.ch),J(l[0])),u.remove(d.line+1,e,$a);else{v=[];ha.update(ha.text.slice(0,d.ch)+R(l[0]),J(l[0]));m.update(R(q)+m.text.slice(a.ch),J(q));p=1;for(n=l.length-1;p<n;++p)v.push(new Oa(R(l[p]),J(l[p])));1<e&&u.remove(d.line+1,e-1,$a);u.insert(d.line+1,v)}if(i.lineWrapping){var w=Math.max(5,s.clientWidth/Wb()-3);u.iter(d.line,d.line+l.length, 
     13function(d){if(!d.hidden){var a=Math.ceil(d.text.length/w)||1;a!=d.height&&j(d,a)}})}else u.iter(d.line,d.line+l.length,function(d){var a=d.text;!d.hidden&&a.length>h&&(na=d,h=a.length,sb=!0,k=!1)}),k&&(ab=!0);Z=Math.min(Z,d.line);tb(400);e=l.length-e-1;qa.push({from:d.line,to:a.line+1,diff:e});if(i.onChange){for(p=0;p<l.length;++p)"string"!=typeof l[p]&&(l[p]=l[p].text);d={from:d,to:a,text:l};if(Pa){for(l=Pa;l.next;l=l.next);l.next=d}else Pa=d}bb(D(b),D(c),f.from.line<=Math.min(a.line,a.line+e)? 
     14f.from.line:f.from.line+e,f.to.line<=Math.min(a.line,a.line+e)?f.to.line:f.to.line+e)}}function $(){var d=u.height*oa()+2*C.offsetTop;return 0.99*d>s.offsetHeight?d:!1}function Y(d){var a=$();x.style.display=a?"block":"none";a?(xc.style.height=pa.style.minHeight=a+"px",x.style.height=s.clientHeight+"px",null!=d&&(x.scrollTop=s.scrollTop=d,ub&&setTimeout(function(){x.scrollTop==d&&(x.scrollTop=d+(d?-1:1),x.scrollTop=d)},0))):pa.style.minHeight="";vb.style.top=Qa*oa()+"px"}function yc(){na=g(0);sb= 
     15!0;var d=na.text.length;u.iter(1,u.size,function(a){var l=a.text;!a.hidden&&l.length>d&&(d=l.length,na=a)});ab=!1}function T(d,a,l){function b(la){if(L(la,a))return la;if(!L(l,la))return c;var h=la.line+d.length-(l.line-a.line)-1,e=la.ch;la.line==l.line&&(e+=H(d).length-(l.ch-(l.line==a.line?a.ch:0)));return{line:h,ch:e}}var a=D(a),l=l?D(l):a,d=kb(d),c;ea(d,a,l,function(d){c=d;return{from:b(f.from),to:b(f.to)}});return c}function P(d,a){ea(kb(d),f.from,f.to,function(d){return"end"==a?{from:d,to:d}: 
     16"start"==a?{from:f.from,to:f.from}:{from:f.from,to:d}})}function ea(d,a,l,b){var c=1==d.length?d[0].length+a.ch:H(d).length,b=b({line:a.line+d.length-1,ch:c});qc(a,l,d,b.from,b.to)}function zc(d,a,l){var b=d.line,c=a.line;if(b==c)return g(b).text.slice(d.ch,a.ch);var k=[g(b).text.slice(d.ch)];u.iter(b+1,c,function(d){k.push(d.text)});k.push(g(c).text.slice(0,a.ch));return k.join(l||"\n")}function Rb(d){return zc(f.from,f.to,d)}function da(){Ma||Xb.set(i.pollInterval,function(){ca();X&&da()})}function cb(){function d(){!ca()&& 
     17!a?(a=!0,Xb.set(60,d)):(Ma=!1,da())}var a=!1;Ma=!0;Xb.set(20,d)}function ca(){if(!X||Rc(t)||i.readOnly)return!1;var d=t.value;if(d==fa)return!1;wb||Ac();ka=null;for(var a=0,l=Math.min(fa.length,d.length);a<l&&fa[a]==d[a];)++a;a<fa.length?f.from={line:f.from.line,ch:f.from.ch-(fa.length-a)}:xb&&(z(f.from,f.to)&&!Yb)&&(f.to={line:f.to.line,ch:Math.min(g(f.to.line).text.length,f.to.ch+(d.length-a))});P(d.slice(a),"end");1E3<d.length?t.value=fa="":fa=d;wb||Bc();Yb=!1;return!0}function yb(d){z(f.from, 
     18f.to)?d&&(fa=t.value=""):(fa="",t.value=Rb(),X&&(d=t,Zb?(d.selectionStart=0,d.selectionEnd=d.value.length):d.select()))}function ja(){"nocursor"!=i.readOnly&&t.focus()}function Cc(){var d=ra(f.inverted?f.from:f.to);return{x:i.lineWrapping?Math.min(d.x,C.offsetWidth):d.x,y:d.y,yBot:d.yBot}}function Dc(d,a,l,b){d=Ec(d,a,l,b);null!=d.scrollLeft&&(s.scrollLeft=d.scrollLeft);null!=d.scrollTop&&(x.scrollTop=s.scrollTop=d.scrollTop)}function Ec(d,a,l,b){var c=C.offsetLeft,k=C.offsetTop,a=a+k,b=b+k,d=d+c, 
     19l=l+c,h=s.clientHeight,e=x.scrollTop,f={},g=$()||Infinity,j=a<k+10,k=b+k>g-10;a<e?f.scrollTop=j?0:Math.max(0,a):b>e+h&&(f.scrollTop=(k?g:b)-h);a=s.clientWidth;b=s.scrollLeft;h=i.fixedGutter?W.clientWidth:0;c=d<h+c+10;d<b+h||c?(c&&(d=0),f.scrollLeft=Math.max(0,d-10-h)):l>a+b-3&&(f.scrollLeft=l+10-a);return f}function Da(d){var a=oa(),l=(null!=d?d:x.scrollTop)-C.offsetTop,d=Math.max(0,Math.floor(l/a)),a=Math.ceil((l+s.clientHeight)/a);return{from:$b(u,d),to:$b(u,a)}}function Aa(d,a,l){function b(){var d= 
     20aa.firstChild,a=!1;u.iter(F,K,function(b){if(d){if(!b.hidden){var l=Math.round(d.offsetHeight/ga)||1;b.height!=l&&(j(b,l),ma=a=!0)}d=d.nextSibling}});return a}if(s.clientWidth){var c=Da(l);if(!0!==d&&0==d.length&&c.from>F&&c.to<K)Y(l);else{var k=Math.max(c.from-100,0),h=Math.min(u.size,c.to+100);F<k&&20>k-F&&(k=F);K>h&&20>K-h&&(h=Math.min(u.size,K));if(!0===d)d=[];else{for(var c=[{from:F,to:K,domStart:0}],e=0,f=d.length||0;e<f;++e){for(var g=d[e],q=[],v=g.diff||0,p=0,n=c.length;p<n;++p){var t=c[p]; 
     21g.to<=t.from&&g.diff?q.push({from:t.from+v,to:t.to+v,domStart:t.domStart}):g.to<=t.from||g.from>=t.to?q.push(t):(g.from>t.from&&q.push({from:t.from,to:g.from,domStart:t.domStart}),g.to<t.to&&q.push({from:g.to+v,to:t.to+v,domStart:t.domStart+(g.to-t.from)}))}c=q}d=c}for(var A=d,c=d=0;c<A.length;++c)e=A[c],e.from<k&&(e.domStart+=k-e.from,e.from=k),e.to>h&&(e.to=h),e.from>=e.to?A.splice(c--,1):d+=e.to-e.from;if(d==h-k&&k==F&&h==K)Y(l);else{A.sort(function(d,a){return d.domStart-a.domStart});var ga=oa(), 
     22d=W.style.display;aa.style.display="none";c=k;e=h;f=function(d){var a=d.nextSibling;d.parentNode.removeChild(d);return a};if(A.length){for(var g=0,r=aa.firstChild,q=0;q<A.length;++q){for(v=A[q];v.domStart>g;)r=f(r),g++;for(var x=0,v=v.to-v.from;x<v;++x)r=r.nextSibling,g++}for(;r;)r=f(r)}else Ia(aa);var ca=A.shift(),r=aa.firstChild,x=c;u.iter(c,e,function(d){ca&&ca.to==x&&(ca=A.shift());if(!ca||ca.from>x){if(d.hidden)var a=w("pre");else a=m(d),d.className&&(a.className=d.className),d.bgClassName&& 
     23(d=w("pre","\u00a0",d.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2"),a=w("div",[d,a],null,"position: relative"));aa.insertBefore(a,r)}else r=r.nextSibling;++x});aa.style.display=W.style.display="";(c=k!=F||h!=K||Fc!=s.clientHeight+ga)&&(Fc=s.clientHeight+ga);(k!=F||h!=K&&i.onViewportChange)&&setTimeout(function(){if(i.onViewportChange)i.onViewportChange(B,k,h)});F=k;K=h;Qa=ac(u,k);tb(100);if(aa.childNodes.length!=K-F)throw Error("BAD PATCH! "+JSON.stringify(A)+ 
     24" size="+(K-F)+" nodes="+aa.childNodes.length);i.lineWrapping&&b();W.style.display=d;(c||ma)&&va()&&i.lineWrapping&&b()&&va();Y(l);Ea();if(!a&&i.onUpdate)i.onUpdate(B);return!0}}}else F=K=Qa=0}function va(){if(i.gutter||i.lineNumbers){var d=vb.offsetHeight,a=s.clientHeight;W.style.height=(2>d-a?a:d)+"px";var b=document.createDocumentFragment(),c=F,e;u.iter(F,Math.max(K,F+1),function(d){if(d.hidden)b.appendChild(w("pre"));else{var a=d.gutterMarker,V=i.lineNumbers?i.lineNumberFormatter(c+i.firstLineNumber): 
     25null;a&&a.text?V=a.text.replace("%N%",null!=V?V:""):null==V&&(V="\u00a0");var h=b.appendChild(w("pre",null,a&&a.style));h.innerHTML=V;for(V=1;V<d.height;++V)h.appendChild(w("br")),h.appendChild(document.createTextNode("\u00a0"));a||(e=c)}++c});W.style.display="none";Ia(Ra).appendChild(b);if(null!=e&&i.lineNumbers){for(var d=Ra.childNodes[e-F],a=String(u.size).length,f=d.firstChild.textContent||d.firstChild.innerText||d.firstChild.nodeValue||"",h="";f.length+h.length<a;)h+="\u00a0";h&&d.insertBefore(document.createTextNode(h), 
     26d.firstChild)}W.style.display="";d=2<Math.abs((parseInt(C.style.marginLeft)||0)-W.offsetWidth);C.style.marginLeft=W.offsetWidth+"px";ma=!1;return d}}function Ea(){var d=z(f.from,f.to),a=ra(f.from,!0),b=d?a:ra(f.to,!0),c=f.inverted?a:b,e=oa(),k=Sa(U),h=Sa(aa);Ja.style.top=Math.max(0,Math.min(s.offsetHeight,c.y+h.top-k.top))+"px";Ja.style.left=Math.max(0,Math.min(s.offsetWidth,c.x+h.left-k.left))+"px";if(d)S.style.top=c.y+"px",S.style.left=(i.lineWrapping?Math.min(c.x,C.offsetWidth):c.x)+"px",S.style.display= 
     27"",zb.style.display="none";else{var d=a.y==b.y,g=document.createDocumentFragment(),j=C.clientWidth||C.offsetWidth,c=C.clientHeight||C.offsetHeight,k=function(d,a,b,l){g.appendChild(w("div",null,"CodeMirror-selected","position: absolute; left: "+d+"px; top: "+a+"px; "+(Sc?"width: "+(!b?j:j-b-d)+"px":"right: "+b+"px")+"; height: "+l+"px"))};f.from.ch&&0<=a.y&&k(a.x,a.y,d?j-b.x:0,e);a=Math.max(0,a.y+(f.from.ch?e:0));h=Math.min(b.y,c)-a;h>0.2*e&&k(0,a,0,h);(!d||!f.from.ch)&&b.y<c-0.5*e&&k(0,b.y,j-b.x, 
     28e);Ia(zb).appendChild(g);S.style.display="none";zb.style.display=""}}function La(d){ka=d?ka||(f.inverted?f.to:f.from):null}function ia(d,a){var b=ka&&D(ka);b&&(L(b,d)?d=b:L(a,b)&&(a=b));bb(d,a);Ab=!0}function bb(d,a,b,c){Bb=null;null==b&&(b=f.from.line,c=f.to.line);if(!z(f.from,d)||!z(f.to,a)){if(L(a,d))var e=a,a=d,d=e;d.line!=b&&((b=ta(d,b,f.from.ch))?d=b:bc(d.line,!1));a.line!=c&&(a=ta(a,c,f.to.ch));z(d,a)?f.inverted=!1:z(d,f.to)?f.inverted=!1:z(a,f.from)&&(f.inverted=!0);if(i.autoClearEmptyLines&& 
     29z(f.from,f.to)&&(f.inverted?d:a).line!=f.from.line&&f.from.line<u.size){var k=g(f.from.line);/^\s+$/.test(k.text)&&setTimeout(q(function(){if(k.parent&&/^\s+$/.test(k.text)){var d=Fa(k);T("",{line:d,ch:0},{line:d,ch:k.text.length})}},10))}f.from=d;f.to=a;Ba=!0}}function ta(d,a,b){function c(a){for(var V=d.line+a,e=1==a?u.size:-1;V!=e;){var la=g(V);if(!la.hidden){a=d.ch;if(f||a>b||a>la.text.length)a=la.text.length;return{line:V,ch:a}}V+=a}}var e=g(d.line),f=d.ch==e.text.length&&d.ch!=b;return!e.hidden? 
     30d:d.line>=a?c(1)||c(-1):c(-1)||c(1)}function Ca(d,a,b){d=D({line:d,ch:a||0});(b?ia:bb)(d,d)}function wa(d){return Math.max(0,Math.min(d,u.size-1))}function D(d){if(0>d.line)return{line:0,ch:0};if(d.line>=u.size)return{line:u.size-1,ch:g(u.size-1).text.length};var a=d.ch,b=g(d.line).text.length;return null==a||a>b?{line:d.line,ch:b}:0>a?{line:d.line,ch:0}:d}function Ka(d,a){function b(a){if(k==(0>d?0:h.text.length)){if(a=!a)a:{for(var a=e+d,c=0>d?-1:u.size;a!=c;a+=d){var l=g(a);if(!l.hidden){e=a;h= 
     31l;a=!0;break a}}a=void 0}if(a)k=0>d?h.text.length:0;else return!1}else k+=d;return!0}var c=f.inverted?f.from:f.to,e=c.line,k=c.ch,h=g(e);if("char"==a)b();else if("column"==a)b(!0);else if("word"==a)for(c=!1;!(0>d)||b();){if(Cb(h.text.charAt(k)))c=!0;else if(c){0>d&&(d=1,b());break}if(0<d&&!b())break}return{line:e,ch:k}}function Wa(a){var b=g(a.line).text,l=a.ch,c=a.ch;if(b){!1===a.after||c==b.length?--l:++c;for(var e=b.charAt(l),e=Cb(e)?Cb:/\s/.test(e)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&& 
     32Cb(a)};0<l&&e(b.charAt(l-1));)--l;for(;c<b.length&&e(b.charAt(c));)++c}return{from:{line:a.line,ch:l},to:{line:a.line,ch:c}}}function Db(a,b){b||(b="add");if("smart"==b)if(O.indent)var c=Ya(a);else b="prev";var e=g(a),f=e.indentation(i.tabSize),k=e.text.match(/^\s*/)[0],h;"smart"==b&&(h=O.indent(c,e.text.slice(k.length),e.text),h==sc&&(b="prev"));"prev"==b?h=a?g(a-1).indentation(i.tabSize):0:"add"==b?h=f+i.indentUnit:"subtract"==b&&(h=f-i.indentUnit);h=Math.max(0,h);c="";f=0;if(i.indentWithTabs)for(var j= 
     33Math.floor(h/i.tabSize);j;--j)f+=i.tabSize,c+="\t";f<h&&(c+=Gc(h-f));c!=k&&T(c,{line:a,ch:0},{line:a,ch:k.length});e.stateAfter=null}function gb(){O=n.getMode(i,i.mode);u.iter(0,u.size,function(a){a.stateAfter=null});Z=0;tb(100)}function Pb(){if(i.lineWrapping){U.className+=" CodeMirror-wrap";var a=s.clientWidth/Wb()-3;u.iter(0,u.size,function(b){if(!b.hidden){var c=Math.ceil(b.text.length/a)||1;1!=c&&j(b,c)}});C.style.minWidth=Eb.style.left=""}else U.className=U.className.replace(" CodeMirror-wrap", 
     34""),yc(),u.iter(0,u.size,function(a){1!=a.height&&!a.hidden&&j(a,1)});qa.push({from:0,to:u.size})}function hb(){s.className=s.className.replace(/\s*cm-s-\S+/g,"")+i.theme.replace(/(^|\s)\s*/g," cm-s-")}function ib(){var a=ba[i.keyMap].style;U.className=U.className.replace(/\s*cm-keymap-\S+/g,"")+(a?" cm-keymap-"+a:"")}function Fb(a,b){this.lines=[];this.type=a;b&&(this.style=b)}function cc(a,b,c,e){var a=D(a),b=D(b),f=new Fb("range",c);if(e)for(var g in e)e.hasOwnProperty(g)&&(f[g]=e[g]);var h=a.line; 
     35u.iter(h,b.line+1,function(c){c.markedSpans=(c.markedSpans||[]).concat([{from:h==a.line?a.ch:null,to:h==b.line?b.ch:null,marker:f}]);f.lines.push(c);++h});qa.push({from:a.line,to:b.line+1});return f}function Hc(a,b){var c=a,e=a;"number"==typeof a?e=g(wa(a)):c=Fa(a);if(null!=c&&b(e,c))qa.push({from:c,to:c+1});else return null;return e}function bc(a,b){return Hc(a,function(a,d){if(a.hidden!=b){a.hidden=b;i.lineWrapping||(b&&a.text.length==na.text.length?ab=!0:!b&&a.text.length>na.text.length&&(na=a, 
     36ab=!1));j(a,b?0:1);var c=f.from.line,e=f.to.line;if(b&&(c==d||e==d)){c=c==d?ta({line:c,ch:0},c,0):f.from;e=e==d?ta({line:e,ch:0},e,0):f.to;if(!e)return;bb(c,e)}return ma=!0}})}function dc(a,b){if(0==b)return{top:0,left:0};var c=m(a,b);Ia(Ta).appendChild(c);var c=c.anchor,e=c.offsetTop,f=c.offsetLeft;Ha&&(0==e&&0==f)&&(e=w("span","x"),c.parentNode.insertBefore(e,c.nextSibling),e=e.offsetTop);return{top:e,left:f}}function ra(a,b){var c,e=oa(),f=e*(ac(u,a.line)-(b?Qa:0));if(0==a.ch)c=0;else{var k=dc(g(a.line), 
     37a.ch);c=k.left;i.lineWrapping&&(f+=Math.max(0,k.top))}return{x:c,y:f,yBot:f+e}}function Gb(a,b){function c(a){a=dc(j,a);if(q){var d=Math.round(a.top/e);v=d!=t;return Math.max(0,a.left+(d-t)*s.clientWidth)}return a.left}var e=oa(),f=Wb(),k=Qa+Math.floor(b/e);if(0>k)return{line:0,ch:0};var h=$b(u,k);if(h>=u.size)return{line:u.size-1,ch:g(u.size-1).text.length};var j=g(h),m=j.text,q=i.lineWrapping,t=q?k-ac(u,h):0;if(0>=a&&0==t)return{line:h,ch:0};for(var v=!1,p=k=0,m=m.length,n,f=Math.min(m,Math.ceil((a+ 
     380.9*t*s.clientWidth)/f));;){var r=c(f);if(r<=a&&f<m)f=Math.min(m,Math.ceil(1.2*f));else{n=r;m=f;break}}if(a>n)return{line:h,ch:m};f=Math.floor(0.8*m);r=c(f);r<a&&(k=f,p=r);for(;;){if(1>=m-k)return n=a-p<n-a,{line:h,ch:n?k:m,after:n};f=Math.ceil((k+m)/2);r=c(f);r>a?(m=f,n=r,v&&(n+=1E3)):(k=f,p=r)}}function oa(){if(null==Ua){Ua=w("pre");for(var a=0;49>a;++a)Ua.appendChild(document.createTextNode("x")),Ua.appendChild(w("br"));Ua.appendChild(document.createTextNode("x"))}a=aa.clientHeight;if(a==Ic)return ec; 
     39Ic=a;a=Ua.cloneNode(!0);Ia(Ta).appendChild(a);ec=Ta.firstChild.offsetHeight/50||1;Ia(Ta);return ec}function Wb(){if(s.clientWidth==Jc)return Kc;Jc=s.clientWidth;var a=w("span","x"),b=w("pre",[a]);Ia(Ta).appendChild(b);return Kc=a.offsetWidth||10}function Za(a,b){var c=Sa(s,!0),e,f;try{e=a.clientX,f=a.clientY}catch(g){return null}if(!b&&(e-c.left>s.clientWidth||f-c.top>s.clientHeight))return null;c=Sa(C,!0);return Gb(e-c.left,f-c.top)}function Lc(a){function b(){Ja.style.position="relative";t.style.cssText= 
     40g;fc&&(x.scrollTop=e);da();if(null!=t.selectionStart){clearTimeout(gc);var a=t.value=" "+(z(f.from,f.to)?"":t.value),d=0;fa=" ";t.selectionStart=1;t.selectionEnd=a.length;gc=setTimeout(function Qc(){" "==fa&&0==t.selectionStart?q(Sb.selectAll)(B):10>d++?gc=setTimeout(Qc,500):yb()},200)}}var c=Za(a),e=x.scrollTop;if(c&&!ya){(z(f.from,f.to)||L(c,f.from)||!L(c,f.to))&&q(Ca)(c.line,c.ch);var g=t.style.cssText;Ja.style.position="absolute";t.style.cssText="position: fixed; width: 30px; height: 30px; top: "+ 
     41(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";ja();yb(!0);z(f.from,f.to)&&(t.value=fa=" ");if(db){jb(a);var k=r(window,"mouseup",function(){k();setTimeout(b,20)},!0)}else setTimeout(b,50)}}function qb(){clearInterval(Vb);var a=!0;S.style.visibility="";Vb=setInterval(function(){S.style.visibility=(a=!a)?"":"hidden"},i.cursorBlinkRate)}function Mc(a){var b=f.inverted?f.from:f.to, 
     42c=g(b.line),e=b.ch-1,i=0<=e&&hc[c.text.charAt(e)]||hc[c.text.charAt(++e)];if(i){i.charAt(0);for(var k=(i=">"==i.charAt(1))?1:-1,h=c.styles,j=e+1,m=0,s=h.length;m<s;m+=2)if(0>=(j-=h[m].length)){var n=h[m+1];break}h=[c.text.charAt(e)];j=/[(){}[\]]/;m=b.line;for(s=i?Math.min(m+100,u.size):Math.max(-1,m-100);m!=s;m+=k){var c=g(m),v=m==b.line,p;a:{p=v&&i?e+1:0;v=v&&!i?e:c.text.length;if(c.text)for(var t=c.styles,c=i?0:c.text.length-1,r=void 0,A=i?0:t.length-2,w=i?t.length:-2;A!=w;A+=2*k){var ga=t[A];if(t[A+ 
     431]!=n)c+=k*ga.length;else for(var x=i?0:ga.length-1,ca=i?ga.length:-1;x!=ca;x+=k,c+=k)if(c>=p&&c<v&&j.test(r=ga.charAt(x))){var B=hc[r];if(">"==B.charAt(1)==i)h.push(r);else if(h.pop()!=B.charAt(0)){p={pos:c,match:!1};break a}else if(!h.length){p={pos:c,match:!0};break a}}}p=void 0}if(p)break}p||(p={pos:null,match:!1});var n=p.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",D=cc({line:b.line,ch:e},{line:b.line,ch:e+1},n),C=null!=p.pos&&cc({line:m,ch:p.pos},{line:m,ch:p.pos+1},n), 
     44b=q(function(){D.clear();C&&C.clear()});a?setTimeout(b,800):za=b}}function Ya(a){var b;a:{for(var c,e,f=a,k=a-40;f>k;--f){if(0==f){b=0;break a}var h=g(f-1);if(h.stateAfter){b=f;break a}h=h.indentation(i.tabSize);if(null==e||c>h)e=f-1,c=h}b=e}var j=b&&g(b-1).stateAfter,j=j?Va(O,j):Nc(O);u.iter(b,a,function(c){c.process(O,j,i.tabSize);c.stateAfter=b==a-1||0==b%5?Va(O,j):null});return j}function oc(){if(!(Z>=K)){var a=+new Date+i.workTime,b=Va(O,Ya(Z)),c=Z;u.iter(Z,K,function(c){Z>=F?(c.highlight(O, 
     45b,i.tabSize),c.stateAfter=Va(O,b)):(c.process(O,b,i.tabSize),c.stateAfter=0==Z%5?Va(O,b):null);++Z;if(+new Date>a)return tb(i.workDelay),!0});K>c&&Z>=F&&q(function(){qa.push({from:c,to:Z})})()}}function tb(a){Z<K&&pc.set(a,oc)}function Ac(){xa=Ab=Pa=null;qa=[];Ba=!1;$a=[]}function Bc(){ab&&yc();if(sb&&!i.lineWrapping){var a=Eb.offsetWidth,b=dc(na,na.text.length).left;Hb||(Eb.style.left=b+"px",C.style.minWidth=b+a+"px");sb=!1}var c,e;Ba&&(a=Cc(),c=Ec(a.x,a.y,a.x,a.yBot));if(qa.length||c&&null!=c.scrollTop)e= 
     46Aa(qa,!0,c&&c.scrollTop);e||(Ba&&Ea(),ma&&va());if(c&&(a=Cc(),Dc(a.x,a.y,a.x,a.yBot),X)){c=pa.getBoundingClientRect();b=null;if(0>a.y+c.top)b=!0;else if(a.y+c.top+oa()>(window.innerHeight||document.documentElement.clientHeight))b=!1;if(null!=b){if(c="none"==S.style.display)S.style.display="",S.style.left=a.x+"px",S.style.top=a.y-Qa+"px";S.scrollIntoView(b);c&&(S.style.display="none")}}Ba&&qb();X&&(!0===xa||!1!==xa&&Ba)&&yb(Ab);Ba&&i.matchBrackets&&setTimeout(q(function(){za&&(za(),za=null);z(f.from, 
     47f.to)&&Mc(!1)}),20);b=Ba;a=$a;if(Pa&&i.onChange&&B)i.onChange(B,Pa);if(b&&i.onCursorActivity)i.onCursorActivity(B);for(b=0;b<a.length;++b)a[b](B);if(e&&i.onUpdate)i.onUpdate(B)}function q(a){return function(){wb++||Ac();try{var b=a.apply(this,arguments)}finally{--wb||Bc()}return b}}function rc(a){I.startCompound();try{return a()}finally{I.endCompound()}}var i={},ic=n.defaults,eb;for(eb in ic)ic.hasOwnProperty(eb)&&(i[eb]=(b&&b.hasOwnProperty(eb)?b:ic)[eb]);var t=w("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em"); 
     48t.setAttribute("wrap","off");t.setAttribute("autocorrect","off");t.setAttribute("autocapitalize","off");var Ja=w("div",[t],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),xc=w("div",null,"CodeMirror-scrollbar-inner"),x=w("div",[xc],"CodeMirror-scrollbar"),aa=w("div"),zb=w("div",null,null,"position: relative; z-index: -1"),S=w("pre","\u00a0","CodeMirror-cursor"),Eb=w("pre","\u00a0","CodeMirror-cursor","visibility: hidden"),Ta=w("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"), 
     49C=w("div",[Ta,S,Eb,zb,aa],null,"position: relative; z-index: 0"),Ra=w("div",null,"CodeMirror-gutter-text"),W=w("div",[Ra],"CodeMirror-gutter"),vb=w("div",[W,w("div",[C],"CodeMirror-lines")],null,"position: relative"),pa=w("div",[vb],null,"position: relative"),s=w("div",[pa],"CodeMirror-scroll");s.setAttribute("tabIndex","-1");var U=w("div",[Ja,x,s],"CodeMirror"+(i.lineWrapping?" CodeMirror-wrap":""));a.appendChild?a.appendChild(U):a(U);hb();ib();Zb&&(t.style.width="0px");ub||(s.draggable=!0);C.style.outline= 
     50"none";null!=i.tabindex&&(t.tabIndex=i.tabindex);i.autofocus&&ja();!i.gutter&&!i.lineNumbers&&(W.style.display="none");jc&&(Ja.style.height="1px",Ja.style.position="absolute");Tc?(x.style.zIndex=-2,x.style.visibility="hidden"):Hb&&(x.style.minWidth="18px");var Xb=new kc,pc=new kc,Vb,O,u=new Ib([new Jb([new Oa("")])]),Z=0,X;gb();var f={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},ka,Kb,Lb,sa=0,lb,xb=!1,nb=!1,Yb=!1,xa,Ab,qa,Pa,Ba,ma,$a,Qa=0,F=0,K=0,Fc=0,za,na=g(0),ab=!1,sb=!0,Ma=!1,Bb=null;q(function(){ga(i.value|| 
     51"");xa=!1})();var I=new Mb;r(s,"mousedown",q(function(a){function b(c){ub&&(s.draggable=!1);lb=!1;t();v();10>Math.abs(a.clientX-c.clientX)+Math.abs(a.clientY-c.clientY)&&(E(c),Ca(h.line,h.ch,!0),ja())}function c(a){if("single"==j)ia(h,a);else if("double"==j){var d=Wa(a);L(a,p)?ia(d.from,u):ia(p,d.to)}else"triple"==j&&(L(a,p)?ia(u,D({line:a.line,ch:0})):ia(p,D({line:a.line+1,ch:0})))}function e(a){var d=Za(a,!0);if(d&&!z(d,m)){X||Q();m=d;c(d);xa=!1;var b=Da();if(d.line>=b.to||d.line<b.from)n=setTimeout(q(function(){e(a)}), 
     52150)}}function g(a){clearTimeout(n);var d=Za(a);d&&c(d);E(a);ja();xa=!0;w();t()}La(G(a,"shiftKey"));for(var k=a.target||a.srcElement;k!=U;k=k.parentNode)if(k.parentNode==pa&&k!=vb)return;for(k=a.target||a.srcElement;k!=U;k=k.parentNode)if(k.parentNode==Ra){if(i.onGutterClick)i.onGutterClick(B,Nb(Ra.childNodes,k)+F,a);return E(a)}var h=Za(a);switch(Oc(a)){case 3:db&&Lc(a);return;case 2:h&&Ca(h.line,h.ch,!0);setTimeout(ja,20);E(a);return}if(h){X||Q();var k=+new Date,j="single";Lb&&Lb.time>k-400&&z(Lb.pos, 
     53h)?(j="triple",E(a),setTimeout(ja,20),k=h.line,ia({line:k,ch:0},D({line:k+1,ch:0}))):Kb&&Kb.time>k-400&&z(Kb.pos,h)?(j="double",Lb={time:k,pos:h},E(a),k=Wa(h),ia(k.from,k.to)):Kb={time:k,pos:h};var m=h,n;if(i.dragDrop&&lc&&!i.readOnly&&!z(f.from,f.to)&&!L(h,f.from)&&!L(f.to,h)&&"single"==j){ub&&(s.draggable=!0);var t=r(document,"mouseup",q(b),!0),v=r(s,"drop",q(b),!0);lb=!0;s.dragDrop&&s.dragDrop()}else{E(a);"single"==j&&Ca(h.line,h.ch,!0);var p=f.from,u=f.to,w=r(document,"mousemove",q(function(a){clearTimeout(n); 
     54E(a);!Ha&&!Oc(a)?g(a):e(a)}),!0),t=r(document,"mouseup",q(g),!0)}}else(a.target||a.srcElement)==s&&E(a)}));r(s,"dblclick",q(function(a){for(var b=a.target||a.srcElement;b!=U;b=b.parentNode)if(b.parentNode==Ra)return E(a);E(a)}));r(C,"selectstart",E);db||r(s,"contextmenu",Lc);r(s,"scroll",function(){i.fixedGutter&&W.style.left!=s.scrollLeft+"px"&&(W.style.left=s.scrollLeft+"px");s.scrollTop!=sa&&(sa=s.scrollTop,x.scrollTop!=sa&&(x.scrollTop=sa),Aa([]));if(i.onScroll)i.onScroll(B)});r(x,"scroll",function(){x.scrollTop!= 
     55sa&&(sa=s.scrollTop=x.scrollTop,Aa([]))});r(x,"mousedown",function(){X&&setTimeout(ja,0)});var Uc=r(window,"resize",function(){U.parentNode?Aa(!0):Uc()},!0);r(t,"keyup",q(function(a){if(!i.onKeyEvent||!i.onKeyEvent(B,Xa(a)))16==G(a,"keyCode")&&(ka=null)}));r(t,"input",cb);r(t,"keydown",q(wc));r(t,"keypress",q(function(a){Ma&&ca();if(!i.onKeyEvent||!i.onKeyEvent(B,Xa(a))){var b=G(a,"keyCode"),c=G(a,"charCode");if(ya&&b==Ub)Ub=null,E(a);else if(!(ya&&(!a.which||10>a.which)||jc)||!tc(a)){b=String.fromCharCode(null== 
     56c?b:c);i.electricChars&&O.electricChars&&i.smartIndent&&!i.readOnly&&-1<O.electricChars.indexOf(b)&&setTimeout(q(function(){Db(f.to.line,"smart")}),75);if(b=pb("'"+b+"'",i.extraKeys,i.keyMap,function(a){return mb(a,!0)}))E(a),qb();b||cb()}}}));r(t,"focus",Q);r(t,"blur",M);i.dragDrop&&(r(s,"dragstart",Qb),r(s,"dragenter",c),r(s,"dragover",c),r(s,"drop",q(y)));r(s,"paste",function(){ja();cb()});r(t,"paste",function(){Yb=!0;cb()});r(t,"cut",q(function(){i.readOnly||P("")}));jc&&r(pa,"mouseup",function(){document.activeElement== 
     57t&&t.blur();ja()});var Pc;try{Pc=document.activeElement==t}catch(Wc){}Pc||i.autofocus?setTimeout(Q,20):M();var B=U.CodeMirror={getValue:function(a){var b=[];u.iter(0,u.size,function(a){b.push(a.text)});return b.join(a||"\n")},setValue:q(ga),getSelection:Rb,replaceSelection:q(P),focus:function(){window.focus();ja();Q();cb()},setOption:function(a,b){var c=i[a];i[a]=b;"mode"==a||"indentUnit"==a?gb():"readOnly"==a&&"nocursor"==b?(M(),t.blur()):"readOnly"==a&&!b?yb(!0):"theme"==a?hb():"lineWrapping"== 
     58a&&c!=b?q(Pb)():"tabSize"==a?Aa(!0):"keyMap"==a?ib():"tabindex"==a&&(t.tabIndex=b);if("lineNumbers"==a||"gutter"==a||"firstLineNumber"==a||"theme"==a||"lineNumberFormatter"==a)c=i.gutter||i.lineNumbers,W.style.display=c?"":"none",c?ma=!0:aa.parentNode.style.marginLeft=0,Aa(!0)},getOption:function(a){return i[a]},getMode:function(){return O},undo:q(function(){N(I.done,I.undone)}),redo:q(function(){N(I.undone,I.done)}),indentLine:q(function(a,b){"string"!=typeof b&&(b=null==b?i.smartIndent?"smart": 
     59"prev":b?"add":"subtract");e(a)&&Db(a,b)}),indentSelection:q(function(a){if(z(f.from,f.to))return Db(f.from.line,a);for(var b=f.to.line-(f.to.ch?0:1),c=f.from.line;c<=b;++c)Db(c,a)}),historySize:function(){return{undo:I.done.length,redo:I.undone.length}},clearHistory:function(){I=new Mb},setHistory:function(a){I=new Mb;I.done=a.done;I.undone=a.undone},getHistory:function(){function a(b){for(var d=0,c=[],e;d<b.length;++d){c.push(e=[]);for(var f=0,g=b[d];f<g.length;++f){var i=[],j=g[f];e.push({start:j.start, 
     60added:j.added,old:i});for(var m=0;m<j.old.length;++m)i.push(R(j.old[m]))}}return c}return{done:a(I.done),undone:a(I.undone)}},matchBrackets:q(function(){Mc(!0)}),getTokenAt:q(function(a){a=D(a);return g(a.line).getTokenAt(O,Ya(a.line),i.tabSize,a.ch)}),getStateAfter:function(a){a=wa(null==a?u.size-1:a);return Ya(a+1)},cursorCoords:function(a,b){null==a&&(a=f.inverted);return this.charCoords(a?f.from:f.to,b)},charCoords:function(a,b){a=D(a);if("local"==b)return ra(a,!1);if("div"==b)return ra(a,!0); 
     61var c=ra(a,!0),e=Sa(C);return{x:e.left+c.x,y:e.top+c.y,yBot:e.top+c.yBot}},coordsChar:function(a){var b=Sa(C);return Gb(a.x-b.left,a.y-b.top)},markText:q(cc),setBookmark:function(a){var a=D(a),b=new Fb("bookmark"),c=g(a.line);I.addChange(a.line,1,[Na(c.text,c.markedSpans)],!0);c.markedSpans=(c.markedSpans||[]).concat([{from:a.ch,to:a.ch,marker:b}]);b.lines.push(c);return b},findMarksAt:function(a){var a=D(a),b=[],c=g(a.line).markedSpans;if(c)for(var e=0;e<c.length;++e){var f=c[e];(null==f.from||f.from<= 
     62a.ch)&&(null==f.to||f.to>=a.ch)&&b.push(f.marker)}return b},setMarker:q(function(a,b,c){"number"==typeof a&&(a=g(wa(a)));a.gutterMarker={text:b,style:c};ma=!0;return a}),clearMarker:q(function(a){"number"==typeof a&&(a=g(wa(a)));a.gutterMarker=null;ma=!0}),setLineClass:q(function(a,b,c){return Hc(a,function(a){if(a.className!=b||a.bgClassName!=c)return a.className=b,a.bgClassName=c,!0})}),hideLine:q(function(a){return bc(a,!0)}),showLine:q(function(a){return bc(a,!1)}),onDeleteLine:function(a,b){if("number"== 
     63typeof a){if(!e(a))return null;a=g(a)}(a.handlers||(a.handlers=[])).push(b);return a},lineInfo:function(a){if("number"==typeof a){if(!e(a))return null;var b=a,a=g(a);if(!a)return null}else if(b=Fa(a),null==b)return null;var c=a.gutterMarker;return{line:b,handle:a,text:a.text,markerText:c&&c.text,markerClass:c&&c.style,lineClass:a.className,bgClass:a.bgClassName}},getViewport:function(){return{from:F,to:K}},addWidget:function(a,b,c,e,f){var a=ra(D(a)),g=a.yBot,h=a.x;b.style.position="absolute";pa.appendChild(b); 
     64if("over"==e)g=a.y;else if("near"==e){var e=Math.max(s.offsetHeight,u.height*oa()),i=Math.max(pa.clientWidth,C.clientWidth)-C.offsetLeft;a.yBot+b.offsetHeight>e&&a.y>b.offsetHeight&&(g=a.y-b.offsetHeight);h+b.offsetWidth>i&&(h=i-b.offsetWidth)}b.style.top=g+C.offsetTop+"px";b.style.left=b.style.right="";"right"==f?(h=pa.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==f?h=0:"middle"==f&&(h=(pa.clientWidth-b.offsetWidth)/2),b.style.left=h+C.offsetLeft+"px");c&&Dc(h,g,h+b.offsetWidth,g+b.offsetHeight)}, 
     65lineCount:function(){return u.size},clipPos:D,getCursor:function(a){null==a&&(a=f.inverted);return{line:(a?f.from:f.to).line,ch:(a?f.from:f.to).ch}},somethingSelected:function(){return!z(f.from,f.to)},setCursor:q(function(a,b,c){null==b&&"number"==typeof a.line?Ca(a.line,a.ch,c):Ca(a,b,c)}),setSelection:q(function(a,b,c){(c?ia:bb)(D(a),D(b||a))}),getLine:function(a){if(e(a))return g(a).text},getLineHandle:function(a){if(e(a))return g(a)},setLine:q(function(a,b){e(a)&&T(b,{line:a,ch:0},{line:a,ch:g(a).text.length})}), 
     66removeLine:q(function(a){e(a)&&T("",{line:a,ch:0},D({line:a+1,ch:0}))}),replaceRange:q(T),getRange:function(a,b,c){return zc(D(a),D(b),c)},triggerOnKeyDown:q(wc),execCommand:function(a){return Sb[a](B)},moveH:q(function(a,b){var c=0>a?f.from:f.to;if(ka||z(f.from,f.to))c=Ka(a,b);Ca(c.line,c.ch,!0)}),deleteH:q(function(a,b){z(f.from,f.to)?0>a?T("",Ka(a,b),f.to):T("",f.from,Ka(a,b)):T("",f.from,f.to);Ab=!0}),moveV:q(function(a,b){var c=ra(f.inverted?f.from:f.to,!0);null!=Bb&&(c.x=Bb);if("page"==b)var e= 
     67Math.min(s.clientHeight,window.innerHeight||document.documentElement.clientHeight),e=Gb(c.x,c.y+e*a);else"line"==b&&(e=oa(),e=Gb(c.x,c.y+0.5*e+a*e));"page"==b&&(x.scrollTop+=ra(e,!0).y-c.y);Ca(e.line,e.ch,!0);Bb=c.x}),toggleOverwrite:function(){xb?(xb=!1,S.className=S.className.replace(" CodeMirror-overwrite","")):(xb=!0,S.className+=" CodeMirror-overwrite")},posFromIndex:function(a){var b=0,c;u.iter(0,u.size,function(e){e=e.text.length+1;if(e>a)return c=a,!0;a-=e;++b});return D({line:b,ch:c})},indexFromPos:function(a){if(0> 
     68a.line||0>a.ch)return 0;var b=a.ch;u.iter(0,a.line,function(a){b+=a.text.length+1});return b},scrollTo:function(a,b){null!=a&&(s.scrollLeft=a);null!=b&&(x.scrollTop=s.scrollTop=b);Aa([])},getScrollInfo:function(){return{x:s.scrollLeft,y:x.scrollTop,height:x.scrollHeight,width:s.scrollWidth}},setSize:function(a,b){function c(a){a=String(a);return/^\d+$/.test(a)?a+"px":a}null!=a&&(U.style.width=c(a));null!=b&&(s.style.height=c(b));B.refresh()},operation:function(a){return q(a)()},compoundChange:function(a){return rc(a)}, 
     69refresh:function(){Aa(!0,null,sa);x.scrollHeight>sa&&(x.scrollTop=sa)},getInputField:function(){return t},getWrapperElement:function(){return U},getScrollerElement:function(){return s},getGutterElement:function(){return W}},uc,Ub=null,fa="";Fb.prototype.clear=q(function(){for(var a,b,c=0;c<this.lines.length;++c){var e=this.lines[c],f=rb(e.markedSpans,this);null!=f.from&&(a=Fa(e));null!=f.to&&(b=Fa(e));for(var g=e,e=e.markedSpans,h=void 0,i=0;i<e.length;++i)e[i]!=f&&(h||(h=[])).push(e[i]);g.markedSpans= 
     70h}null!=a&&qa.push({from:a,to:b+1});this.lines.length=0;this.explicitlyCleared=!0});Fb.prototype.find=function(){for(var a,b,c=0;c<this.lines.length;++c){var e=this.lines[c],f=rb(e.markedSpans,this);if(null!=f.from||null!=f.to)e=Fa(e),null!=f.from&&(a={line:e,ch:f.from}),null!=f.to&&(b={line:e,ch:f.to})}return"bookmark"==this.type?a:a&&{from:a,to:b}};var ec,Ic,Ua,Kc,Jc=0,gc,hc={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},wb=0,fb;for(fb in Ob)Ob.propertyIsEnumerable(fb)&&!B.propertyIsEnumerable(fb)&& 
     71(B[fb]=Ob[fb]);for(var mc=0;mc<nc.length;++mc)nc[mc](B);return B}function Tb(a){return"string"==typeof a?ba[a]:a}function pb(a,b,c,e,g){function j(b){var b=Tb(b),c=b[a];if(!1===c)return g&&g(),!0;if(null!=c&&e(c))return!0;if(b.nofallthrough)return g&&g(),!0;b=b.fallthrough;if(null==b)return!1;if("[object Array]"!=Object.prototype.toString.call(b))return j(b);for(var c=0,n=b.length;c<n;++c)if(j(b[c]))return!0;return!1}return b&&j(b)?!0:j(c)}function vc(a){a=Ga[G(a,"keyCode")];return"Ctrl"==a||"Alt"== 
     72a||"Shift"==a||"Mod"==a}function Va(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);var c={},e;for(e in b){var g=b[e];g instanceof Array&&(g=g.concat([]));c[e]=g}return c}function Nc(a,b,c){return a.startState?a.startState(b,c):!0}function Da(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b||8}function rb(a,b){if(a)for(var c=0;c<a.length;++c){var e=a[c];if(e.marker==b)return e}}function R(a){return"string"==typeof a?a:a.text}function J(a){if("string"==typeof a)return null;for(var a= 
     73a.markedSpans,b=null,c=0;c<a.length;++c)a[c].marker.explicitlyCleared?b||(b=a.slice(0,c)):b&&b.push(a[c]);return!b?a:b.length?b:null}function Na(a,b){return b?{text:a,markedSpans:b}:a}function gb(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c){var e=b[c].marker.lines,g=Nb(e,a);e.splice(g,1)}a.markedSpans=null}}function Pb(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.lines.push(a);a.markedSpans=b}}function Oa(a,b){this.text=a;this.height=1;Pb(this,b)}function Jb(a){this.lines=a;this.parent= 
     74null;for(var b=0,c=a.length,e=0;b<c;++b)a[b].parent=this,e+=a[b].height;this.height=e}function Ib(a){this.children=a;for(var b=0,c=0,e=0,g=a.length;e<g;++e){var j=a[e],b=b+j.chunkSize(),c=c+j.height;j.parent=this}this.size=b;this.height=c;this.parent=null}function Fa(a){if(null==a.parent)return null;for(var b=a.parent,a=Nb(b.lines,a),c=b.parent;c;b=c,c=c.parent)for(var e=0;c.children[e]!=b;++e)a+=c.children[e].chunkSize();return a}function $b(a,b){var c=0;a:do{for(var e=0,g=a.children.length;e<g;++e){var j= 
     75a.children[e],m=j.height;if(b<m){a=j;continue a}b-=m;c+=j.chunkSize()}return c}while(!a.lines);e=0;for(g=a.lines.length;e<g;++e){j=a.lines[e].height;if(b<j)break;b-=j}return c+e}function ac(a,b){var c=0;a:do{for(var e=0,g=a.children.length;e<g;++e){var j=a.children[e],m=j.chunkSize();if(b<m){a=j;continue a}b-=m;c+=j.height}return c}while(!a.lines);for(e=0;e<b;++e)c+=a.lines[e].height;return c}function Mb(){this.time=0;this.done=[];this.undone=[];this.compound=0;this.closed=!1}function oc(){jb(this)} 
     76function Xa(a){a.stop||(a.stop=oc);return a}function E(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function hb(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function jb(a){E(a);hb(a)}function Oc(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));ob&&(a.ctrlKey&&1==b)&&(b=3);return b}function G(a,b){return a.override&&a.override.hasOwnProperty(b)?a.override[b]:a[b]}function r(a,b,c,e){if("function"==typeof a.addEventListener){if(a.addEventListener(b, 
     77c,!1),e)return function(){a.removeEventListener(b,c,!1)}}else{var g=function(a){c(a||window.event)};a.attachEvent("on"+b,g);if(e)return function(){a.detachEvent("on"+b,g)}}}function kc(){this.id=null}function Ka(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));for(var e=0,g=0;e<b;++e)"\t"==a.charAt(e)?g+=c-g%c:++g;return g}function Sa(a,b){try{var c=a.getBoundingClientRect(),c={top:c.top,left:c.left}}catch(e){c={top:0,left:0}}if(!b)if(null==window.pageYOffset){var g=document.documentElement|| 
     78document.body.parentNode;null==g.scrollTop&&(g=document.body);c.top+=g.scrollTop;c.left+=g.scrollLeft}else c.top+=window.pageYOffset,c.left+=window.pageXOffset;return c}function Gc(a){for(;La.length<=a;)La.push(H(La)+" ");return La[a]}function H(a){return a[a.length-1]}function z(a,b){return a.line==b.line&&a.ch==b.ch}function L(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function w(a,b,c,e){a=document.createElement(a);c&&(a.className=c);e&&(a.style.cssText=e);if("string"==typeof b)ib(a, 
     79b);else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function Ia(a){a.innerHTML="";return a}function ib(a,b){fc?(a.innerHTML="",a.appendChild(document.createTextNode(b))):a.textContent=b}function Nb(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,e=a.length;c<e;++c)if(a[c]==b)return c;return-1}function Cb(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()||/[\u4E00-\u9FA5]/.test(a)}n.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,smartIndent:!0,tabSize:4, 
     80keyMap:"default",extraKeys:null,electricChars:!0,autoClearEmptyLines:!1,onKeyEvent:null,onDragEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,readOnly:!1,dragDrop:!0,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(a){return a}};var Zb= 
     81/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),ob=Zb||/Mac/.test(navigator.platform);/Win/.test(navigator.platform);var ta=n.modes={},ua=n.mimeModes={};n.defineMode=function(a,b){!n.defaults.mode&&"null"!=a&&(n.defaults.mode=a);if(2<arguments.length){b.dependencies=[];for(var c=2;c<arguments.length;++c)b.dependencies.push(arguments[c])}ta[a]=b};n.defineMIME=function(a,b){ua[a]=b};n.resolveMode=function(a){if("string"==typeof a&&ua.hasOwnProperty(a))a=ua[a];else if("string"== 
     82typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return n.resolveMode("application/xml");return"string"==typeof a?{name:a}:a||{name:"null"}};n.getMode=function(a,b){var b=n.resolveMode(b),c=ta[b.name];if(!c)return n.getMode(a,"text/plain");c=c(a,b);if(va.hasOwnProperty(b.name)){var e=va[b.name],g;for(g in e)e.hasOwnProperty(g)&&(c[g]=e[g])}c.name=b.name;return c};n.listModes=function(){var a=[],b;for(b in ta)ta.propertyIsEnumerable(b)&&a.push(b);return a};n.listMIMEs=function(){var a=[],b;for(b in ua)ua.propertyIsEnumerable(b)&& 
     83a.push({mime:b,mode:ua[b]});return a};var Ob=n.extensions={};n.defineExtension=function(a,b){Ob[a]=b};var nc=[];n.defineInitHook=function(a){nc.push(a)};var va=n.modeExtensions={};n.extendMode=function(a,b){var c=va.hasOwnProperty(a)?va[a]:va[a]={},e;for(e in b)b.hasOwnProperty(e)&&(c[e]=b[e])};var Sb=n.commands={selectAll:function(a){a.setSelection({line:0,ch:0},{line:a.lineCount()-1})},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),e=!z(b,c);!e&&a.getLine(b.line).length==b.ch?a.replaceRange("", 
     84b,{line:b.line+1,ch:0}):a.replaceRange("",b,e?c:{line:b.line})},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",{line:b,ch:0},{line:b})},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.setCursor(0,0,!0)},goDocEnd:function(a){a.setSelection({line:a.lineCount()-1},null,!0)},goLineStart:function(a){a.setCursor(a.getCursor().line,0,!0)},goLineStartSmart:function(a){var b=a.getCursor(),c=a.getLine(b.line),c=Math.max(0,c.search(/\S/));a.setCursor(b.line, 
     85b.ch<=c&&b.ch?0:c,!0)},goLineEnd:function(a){a.setSelection({line:a.getCursor().line},null,!0)},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goWordRight:function(a){a.moveH(1, 
     86"word")},delCharLeft:function(a){a.deleteH(-1,"char")},delCharRight:function(a){a.deleteH(1,"char")},delWordLeft:function(a){a.deleteH(-1,"word")},delWordRight:function(a){a.deleteH(1,"word")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection("\t","end")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection("\t","end")}, 
     87transposeChars:function(a){var b=a.getCursor(),c=a.getLine(b.line);0<b.ch&&b.ch<c.length-1&&a.replaceRange(c.charAt(b.ch)+c.charAt(b.ch-1),{line:b.line,ch:b.ch-1},{line:b.line,ch:b.ch+1})},newlineAndIndent:function(a){a.replaceSelection("\n","end");a.indentLine(a.getCursor().line)},toggleOverwrite:function(a){a.toggleOverwrite()}},ba=n.keyMap={};ba.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown", 
     88Delete:"delCharRight",Backspace:"delCharLeft",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};ba.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight", 
     89"Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};ba.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight", 
     90"Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore",fallthrough:["basic","emacsy"]};ba["default"]=ob?ba.macDefault:ba.pcDefault;ba.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageUp","Shift-Ctrl-V":"goPageDown", 
     91"Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};n.isModifierKey=vc;n.fromTextArea=function(a,b){function c(){a.value=w.getValue()}b||(b={});b.value=a.value;!b.tabindex&&a.tabindex&&(b.tabindex=a.tabindex);if(null==b.autofocus){var e=document.body;try{e=document.activeElement}catch(g){}b.autofocus=e==a||null!=a.getAttribute("autofocus")&&e==document.body}if(a.form){var j=r(a.form,"submit",c,!0);if("function"== 
     92typeof a.form.submit){var m=a.form.submit;a.form.submit=function Qb(){c();a.form.submit=m;a.form.submit();a.form.submit=Qb}}}a.style.display="none";var w=n(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);w.save=c;w.getTextArea=function(){return a};w.toTextArea=function(){c();a.parentNode.removeChild(w.getWrapperElement());a.style.display="";a.form&&(j(),"function"==typeof a.form.submit&&(a.form.submit=m))};return w};var db=/gecko\/\d{7}/i.test(navigator.userAgent),Ha=/MSIE \d/.test(navigator.userAgent), 
     93Hb=/MSIE [1-7]\b/.test(navigator.userAgent),fc=/MSIE [1-8]\b/.test(navigator.userAgent),Sc=Ha&&5==document.documentMode,ub=/WebKit\//.test(navigator.userAgent),y=/Chrome\//.test(navigator.userAgent),ya=/Opera\//.test(navigator.userAgent),pc=/Apple Computer/.test(navigator.vendor),jc=/KHTML\//.test(navigator.userAgent),Tc=/Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent);n.copyState=Va;n.startState=Nc;n.innerMode=function(a,b){for(;a.innerMode;)var c=a.innerMode(b),b=c.state,a=c.mode;return c|| 
     94{mode:a,state:b}};Da.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&(a.test?a.test(b):a(b)))return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos; 
     95return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0},backUp:function(a){this.pos-=a},column:function(){return Ka(this.string,this.start,this.tabSize)},indentation:function(){return Ka(this.string,null,this.tabSize)},match:function(a,b,c){if("string"==typeof a){if((c?this.string.toLowerCase():this.string).indexOf(c?a.toLowerCase():a,this.pos)==this.pos)return!1!==b&&(this.pos+=a.length),!0}else{if((a= 
     96this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}},current:function(){return this.string.slice(this.start,this.pos)}};n.StringStream=Da;var Wa=" ";db||Ha&&!Hb?Wa="\u200b":ya&&(Wa="");Oa.prototype={update:function(a,b){this.text=a;this.stateAfter=this.styles=null;gb(this);Pb(this,b)},highlight:function(a,b,c){var c=new Da(this.text,c),e=this.styles||(this.styles=[]),g=e.length=0;for(""==this.text&&a.blankLine&&a.blankLine(b);!c.eol();){var j= 
     97a.token(c,b),m=c.current();c.start=c.pos;g&&e[g-1]==j?e[g-2]+=m:m&&(e[g++]=m,e[g++]=j);if(5E3<c.pos){e[g++]=this.text.slice(c.pos);e[g++]=null;break}}},process:function(a,b,c){c=new Da(this.text,c);for(""==this.text&&a.blankLine&&a.blankLine(b);!c.eol()&&5E3>=c.pos;)a.token(c,b),c.start=c.pos},getTokenAt:function(a,b,c,e){for(c=new Da(this.text,c);c.pos<e&&!c.eol();){c.start=c.pos;var g=a.token(c,b)}return{start:c.start,end:c.pos,string:c.current(),className:g||null,state:b}},indentation:function(a){return Ka(this.text, 
     98null,a)},getContent:function(a,b,c){function e(b,c,e){if(c){j&&(Ha&&" "==c.charAt(0))&&(c="\u00a0"+c.slice(1));j=!1;if(n.test(c))for(var g=document.createDocumentFragment(),r=0;;){n.lastIndex=r;var y=n.exec(c),z=y?y.index-r:c.length-r;z&&(g.appendChild(document.createTextNode(c.slice(r,r+z))),m+=z);if(!y)break;r+=z+1;"\t"==y[0]?(y=a-m%a,g.appendChild(w("span",Gc(y),"cm-tab")),m+=y):(z=w("span","\u2022","cm-invalidchar"),z.title="\\u"+y[0].charCodeAt(0).toString(16),g.appendChild(z),m+=1)}else{m+= 
     99c.length;var g=document.createTextNode(c)}e?b.appendChild(w("span",[g],e)):b.appendChild(g)}}function g(a){return!a?null:"cm-"+a.replace(/ +/g," cm-")}var j=!0,m=0,n=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g,r=w("pre"),z=e;if(null!=b)var y=0,E=r.anchor=w("span"),z=function(a,g,j){var m=g.length;if(b>=y&&b<y+m){var n=b-y;if(n&&(e(a,g.slice(0,n),j),c)){var r=g.slice(n-1,n+1);wa.test(r)?a.appendChild(w("wbr")):!Hb&&/\w\w/.test(r)&&a.appendChild(document.createTextNode("\u200d"))}a.appendChild(E); 
     100e(E,ya?g.slice(n,n+1):g.slice(n),j);ya&&e(a,g.slice(n+1),j);b--;y+=m}else y+=m,e(a,g,j),y==b&&y==G?(ib(E,Wa),a.appendChild(E)):y>b+10&&/\s/.test(g)&&(z=function(){})};var L=this.styles,Q=this.text,M=this.markedSpans,G=Q.length;if(!Q&&null==b)z(r," ");else if(!M||!M.length)for(M=Q=0;M<G;Q+=2){var N=L[Q],R=L[Q+1],$=N.length;M+$>G&&(N=N.slice(0,G-M));M+=$;z(r,N,g(R))}else{M.sort(function(a,b){return a.from-b.from});for(var Q=N=0,$="",Y=M[0].from||0,J=[],T=0;N<G;){if(Y==N){for(Y=void 0;T<M.length&&((Y= 
     101M[T]).from==N||null==Y.from);)"range"==Y.marker.type&&J.push(Y),++T;for(var Y=T<M.length?M[T].from:Infinity,P=0;P<J.length;++P){var ea=J[P].to;null==ea&&(ea=Infinity);ea==N?J.splice(P--,1):Y=Math.min(ea,Y)}}for(P=Math.min(G,Y);;){if($){for(var ea=N+$.length,H=R,ba=0;ba<J.length;++ba){var da=J[ba],H=(H?H+" ":"")+da.marker.style;da.marker.endStyle&&da.to===Math.min(ea,P)&&(H+=" "+da.marker.endStyle);da.marker.startStyle&&da.from===N&&(H+=" "+da.marker.startStyle)}z(r,ea>P?$.slice(0,P-N):$,H);if(ea>= 
     102P){$=$.slice(P-N);N=P;break}N=ea}$=L[Q++];R=g(L[Q++])}}}return r},cleanUp:function(){this.parent=null;gb(this)}};Jb.prototype={chunkSize:function(){return this.lines.length},remove:function(a,b,c){for(var e=a,g=a+b;e<g;++e){var j=this.lines[e];this.height-=j.height;j.cleanUp();if(j.handlers)for(var m=0;m<j.handlers.length;++m)c.push(j.handlers[m])}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertHeight:function(a,b,c){this.height+=c;this.lines= 
     103this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));a=0;for(c=b.length;a<c;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};Ib.prototype={chunkSize:function(){return this.size},remove:function(a,b,c){this.size-=b;for(var e=0;e<this.children.length;++e){var g=this.children[e],j=g.chunkSize();if(a<j){var m=Math.min(b,j-a),n=g.height;g.remove(a,m,c);this.height-=n-g.height;j==m&&(this.children.splice(e--,1),g.parent=null);if(0==(b-=m))break;a=0}else a-= 
     104j}25>this.size-b&&(a=[],this.collapse(a),this.children=[new Jb(a)],this.children[0].parent=this)},collapse:function(a){for(var b=0,c=this.children.length;b<c;++b)this.children[b].collapse(a)},insert:function(a,b){for(var c=0,e=0,g=b.length;e<g;++e)c+=b[e].height;this.insertHeight(a,b,c)},insertHeight:function(a,b,c){this.size+=b.length;this.height+=c;for(var e=0,g=this.children.length;e<g;++e){var j=this.children[e],m=j.chunkSize();if(a<=m){j.insertHeight(a,b,c);if(j.lines&&50<j.lines.length){for(;50< 
     105j.lines.length;)a=j.lines.splice(j.lines.length-25,25),a=new Jb(a),j.height-=a.height,this.children.splice(e+1,0,a),a.parent=this;this.maybeSpill()}break}a-=m}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5),b=new Ib(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=Nb(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Ib(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10<a.children.length); 
     106a.parent.maybeSpill()}},iter:function(a,b,c){this.iterN(a,b-a,c)},iterN:function(a,b,c){for(var e=0,g=this.children.length;e<g;++e){var j=this.children[e],m=j.chunkSize();if(a<m){m=Math.min(b,m-a);if(j.iterN(a,m,c))return!0;if(0==(b-=m))break;a=0}else a-=m}}};Mb.prototype={addChange:function(a,b,c){this.undone.length=0;var e=+new Date,g=H(this.done),j=g&&H(g),m=e-this.time;if(g&&!this.closed&&this.compound)g.push({start:a,added:b,old:c});else if(400<m||!j||this.closed||j.start>a+c.length||j.start+ 
     107j.added<a)this.done.push([{start:a,added:b,old:c}]),this.closed=!1;else{for(var g=Math.max(0,j.start-a),m=Math.max(0,a+c.length-(j.start+j.added)),n=g;0<n;--n)j.old.unshift(c[n-1]);for(n=m;0<n;--n)j.old.push(c[c.length-n]);g&&(j.start=a);j.added+=b-(c.length-g-m)}this.time=e},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}};n.e_stop=jb;n.e_preventDefault=E;n.e_stopPropagation=hb;n.connect=r;kc.prototype={set:function(a,b){clearTimeout(this.id); 
     108this.id=setTimeout(b,a)}};var sc=n.Pass={toString:function(){return"CodeMirror.Pass"}},lc;if(fc)lc=!1;else{var Ea=w("div");lc="draggable"in Ea||"dragDrop"in Ea}Ea=w("textarea");Ea.value="foo\nbar";Ea.value.indexOf("\r");var wa=/^$/;db?wa=/$'/:pc?wa=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:y&&(wa=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/);var La=[""],kb=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],e=a.length;b<=e;){var g=a.indexOf("\n",b);-1==g&&(g= 
     109a.length);var j=a.slice(b,"\r"==a.charAt(g-1)?g-1:g),m=j.indexOf("\r");-1!=m?(c.push(j.slice(0,m)),b+=m+1):(c.push(j),b=g+1)}return c}:function(a){return a.split(/\r\n?|\n/)};n.splitLines=kb;var Rc=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return!b||b.parentElement()!=a?!1:0!=b.compareEndPoints("StartToEnd",b)};n.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}); 
     110n.defineMIME("text/plain","null");var Ga={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left", 
     11163232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};n.keyNames=Ga;for(y=0;10>y;y++)Ga[y+48]=String(y);for(y=65;90>=y;y++)Ga[y]=String.fromCharCode(y);for(y=1;12>=y;y++)Ga[y+111]=Ga[y+63235]="F"+y;n.version="2.35";return n}(); 
    111112 
    112 // CodeMirror CSS mode version 2.34 
     113// CodeMirror CSS mode version 2.35 
    113114CodeMirror.defineMode("css",function(m){function g(a){for(var c={},b=0;b<a.length;++b)c[a[b]]=!0;return c}function e(a,c){f=c;return a}function h(a,c){var b=a.next();if("@"==b)return a.eatWhile(/[\w\\\-]/),e("def",a.current());if("/"==b&&a.eat("*"))return c.tokenize=j,j(a,c);if("<"==b&&a.eat("!"))return c.tokenize=k,k(a,c);if("="==b)e(null,"compare");else{if(("~"==b||"|"==b)&&a.eat("="))return e(null,"compare");if('"'==b||"'"==b)return c.tokenize=function(a,c){for(var f=!1,g;null!=(g=a.next())&&(g!= 
    114 b||f);)f=!f&&"\\"==g;f||(c.tokenize=h);return e("string","string")},c.tokenize(a,c);if("#"==b)return a.eatWhile(/[\w\\\-]/),e("atom","hash");if("!"==b)return a.match(/^\s*\w*/),e("keyword","important");if(/\d/.test(b))return a.eatWhile(/[\w.%]/),e("number","unit");if("-"===b){if(/\d/.test(a.peek()))return a.eatWhile(/[\w.%]/),e("number","unit");if(a.match(/^[^-]+-/))return e("meta",f)}else{if(/[,+>*\/]/.test(b))return e(null,"select-op");if("."==b&&a.match(/^\w+/))return e("qualifier",f);if(":"== 
    115 b)return e("operator",b);if(/[;{}\[\]\(\)]/.test(b))return e(null,b);a.eatWhile(/[\w\\\-]/);return e("property","variable")}}}function j(a,c){for(var b=!1,d;null!=(d=a.next());){if(b&&"/"==d){c.tokenize=h;break}b="*"==d}return e("comment","comment")}function k(a,c){for(var b=0,d;null!=(d=a.next());){if(2<=b&&">"==d){c.tokenize=h;break}b="-"==d?b+1:0}return e("comment","comment")}var n=m.indentUnit,f,i=g("all aural braille handheld print projection screen tty tv embossed".split(" ")),p=g("width min-width max-width height min-height max-height device-width min-device-width max-device-width device-height min-device-height max-device-height aspect-ratio min-aspect-ratio max-aspect-ratio device-aspect-ratio min-device-aspect-ratio max-device-aspect-ratio color min-color max-color color-index min-color-index max-color-index monochrome min-monochrome max-monochrome resolution min-resolution max-resolution scan grid".split(" ")), 
    116 l=g("align-content align-items align-self alignment-adjust alignment-baseline anchor-point animation animation-delay animation-direction animation-duration animation-iteration-count animation-name animation-play-state animation-timing-function appearance azimuth backface-visibility background background-attachment background-clip background-color background-image background-origin background-position background-repeat background-size baseline-shift binding bleed bookmark-label bookmark-level bookmark-state bookmark-target border border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip color color-profile column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns content counter-increment counter-reset crop cue cue-after cue-before cursor direction display dominant-baseline drop-initial-after-adjust drop-initial-after-align drop-initial-before-adjust drop-initial-before-align drop-initial-size drop-initial-value elevation empty-cells fit fit-position flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float float-offset font font-feature-settings font-family font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid-cell grid-column grid-column-align grid-column-sizing grid-column-span grid-columns grid-flow grid-row grid-row-align grid-row-sizing grid-row-span grid-rows grid-template hanging-punctuation height hyphens icon image-orientation image-rendering image-resolution inline-box-align justify-content left letter-spacing line-break line-height line-stacking line-stacking-ruby line-stacking-shift line-stacking-strategy list-style list-style-image list-style-position list-style-type margin margin-bottom margin-left margin-right margin-top marker-offset marks marquee-direction marquee-loop marquee-play-count marquee-speed marquee-style max-height max-width min-height min-width move-to nav-down nav-index nav-left nav-right nav-up opacity order orphans outline outline-color outline-offset outline-style outline-width overflow overflow-style overflow-wrap overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top page page-break-after page-break-before page-break-inside page-policy pause pause-after pause-before perspective perspective-origin pitch pitch-range play-during position presentation-level punctuation-trim quotes rendering-intent resize rest rest-after rest-before richness right rotation rotation-point ruby-align ruby-overhang ruby-position ruby-span size speak speak-as speak-header speak-numeral speak-punctuation speech-rate stress string-set tab-size table-layout target target-name target-new target-position text-align text-align-last text-decoration text-decoration-color text-decoration-line text-decoration-skip text-decoration-style text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-height text-indent text-justify text-outline text-shadow text-space-collapse text-transform text-underline-position text-wrap top transform transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-range voice-rate voice-stress voice-volume volume white-space widows width word-break word-spacing word-wrap z-index".split(" ")), 
     115b||f);)f=!f&&"\\"==g;f||(c.tokenize=h);return e("string","string")},c.tokenize(a,c);if("#"==b)return a.eatWhile(/[\w\\\-]/),e("atom","hash");if("!"==b)return a.match(/^\s*\w*/),e("keyword","important");if(/\d/.test(b))return a.eatWhile(/[\w.%]/),e("number","unit");if("-"===b){if(/\d/.test(a.peek()))return a.eatWhile(/[\w.%]/),e("number","unit");if(a.match(/^[^-]+-/))return e("meta",f)}else{if(/[,+>*\/]/.test(b))return e(null,"select-op");if("."==b&&a.match(/^-?[_a-z][_a-z0-9-]*/i))return e("qualifier", 
     116f);if(":"==b)return e("operator",b);if(/[;{}\[\]\(\)]/.test(b))return e(null,b);a.eatWhile(/[\w\\\-]/);return e("property","variable")}}}function j(a,c){for(var b=!1,d;null!=(d=a.next());){if(b&&"/"==d){c.tokenize=h;break}b="*"==d}return e("comment","comment")}function k(a,c){for(var b=0,d;null!=(d=a.next());){if(2<=b&&">"==d){c.tokenize=h;break}b="-"==d?b+1:0}return e("comment","comment")}var n=m.indentUnit,f,i=g("all aural braille handheld print projection screen tty tv embossed".split(" ")),p= 
     117g("width min-width max-width height min-height max-height device-width min-device-width max-device-width device-height min-device-height max-device-height aspect-ratio min-aspect-ratio max-aspect-ratio device-aspect-ratio min-device-aspect-ratio max-device-aspect-ratio color min-color max-color color-index min-color-index max-color-index monochrome min-monochrome max-monochrome resolution min-resolution max-resolution scan grid".split(" ")),l=g("align-content align-items align-self alignment-adjust alignment-baseline anchor-point animation animation-delay animation-direction animation-duration animation-iteration-count animation-name animation-play-state animation-timing-function appearance azimuth backface-visibility background background-attachment background-clip background-color background-image background-origin background-position background-repeat background-size baseline-shift binding bleed bookmark-label bookmark-level bookmark-state bookmark-target border border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip color color-profile column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns content counter-increment counter-reset crop cue cue-after cue-before cursor direction display dominant-baseline drop-initial-after-adjust drop-initial-after-align drop-initial-before-adjust drop-initial-before-align drop-initial-size drop-initial-value elevation empty-cells fit fit-position flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float float-offset font font-feature-settings font-family font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid-cell grid-column grid-column-align grid-column-sizing grid-column-span grid-columns grid-flow grid-row grid-row-align grid-row-sizing grid-row-span grid-rows grid-template hanging-punctuation height hyphens icon image-orientation image-rendering image-resolution inline-box-align justify-content left letter-spacing line-break line-height line-stacking line-stacking-ruby line-stacking-shift line-stacking-strategy list-style list-style-image list-style-position list-style-type margin margin-bottom margin-left margin-right margin-top marker-offset marks marquee-direction marquee-loop marquee-play-count marquee-speed marquee-style max-height max-width min-height min-width move-to nav-down nav-index nav-left nav-right nav-up opacity order orphans outline outline-color outline-offset outline-style outline-width overflow overflow-style overflow-wrap overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top page page-break-after page-break-before page-break-inside page-policy pause pause-after pause-before perspective perspective-origin pitch pitch-range play-during position presentation-level punctuation-trim quotes rendering-intent resize rest rest-after rest-before richness right rotation rotation-point ruby-align ruby-overhang ruby-position ruby-span size speak speak-as speak-header speak-numeral speak-punctuation speech-rate stress string-set tab-size table-layout target target-name target-new target-position text-align text-align-last text-decoration text-decoration-color text-decoration-line text-decoration-skip text-decoration-style text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-height text-indent text-justify text-outline text-shadow text-space-collapse text-transform text-underline-position text-wrap top transform transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-range voice-rate voice-stress voice-volume volume white-space widows width word-break word-spacing word-wrap z-index".split(" ")), 
    117118q=g("black silver gray white maroon red purple fuchsia green lime olive yellow navy blue teal aqua".split(" ")),r=g("above absolute activeborder activecaption afar after-white-space ahead alias all all-scroll alternate always amharic amharic-abegede antialiased appworkspace arabic-indic armenian asterisks auto avoid background backwards baseline below bidi-override binary bengali blink block block-axis bold bolder border border-box both bottom break-all break-word button button-bevel buttonface buttonhighlight buttonshadow buttontext cambodian capitalize caps-lock-indicator caption captiontext caret cell center checkbox circle cjk-earthly-branch cjk-heavenly-stem cjk-ideographic clear clip close-quote col-resize collapse compact condensed contain content content-box context-menu continuous copy cover crop cross crosshair currentcolor cursive dashed decimal decimal-leading-zero default default-button destination-atop destination-in destination-out destination-over devanagari disc discard document dot-dash dot-dot-dash dotted double down e-resize ease ease-in ease-in-out ease-out element ellipsis embed end ethiopic ethiopic-abegede ethiopic-abegede-am-et ethiopic-abegede-gez ethiopic-abegede-ti-er ethiopic-abegede-ti-et ethiopic-halehame-aa-er ethiopic-halehame-aa-et ethiopic-halehame-am-et ethiopic-halehame-gez ethiopic-halehame-om-et ethiopic-halehame-sid-et ethiopic-halehame-so-et ethiopic-halehame-ti-er ethiopic-halehame-ti-et ethiopic-halehame-tig ew-resize expanded extra-condensed extra-expanded fantasy fast fill fixed flat footnotes forwards from geometricPrecision georgian graytext groove gujarati gurmukhi hand hangul hangul-consonant hebrew help hidden hide higher highlight highlighttext hiragana hiragana-iroha horizontal hsl hsla icon ignore inactiveborder inactivecaption inactivecaptiontext infinite infobackground infotext inherit initial inline inline-axis inline-block inline-table inset inside intrinsic invert italic justify kannada katakana katakana-iroha khmer landscape lao large larger left level lighter line-through linear lines list-item listbox listitem local logical loud lower lower-alpha lower-armenian lower-greek lower-hexadecimal lower-latin lower-norwegian lower-roman lowercase ltr malayalam match media-controls-background media-current-time-display media-fullscreen-button media-mute-button media-play-button media-return-to-realtime-button media-rewind-button media-seek-back-button media-seek-forward-button media-slider media-sliderthumb media-time-remaining-display media-volume-slider media-volume-slider-container media-volume-sliderthumb medium menu menulist menulist-button menulist-text menulist-textfield menutext message-box middle min-intrinsic mix mongolian monospace move multiple myanmar n-resize narrower navy ne-resize nesw-resize no-close-quote no-drop no-open-quote no-repeat none normal not-allowed nowrap ns-resize nw-resize nwse-resize oblique octal open-quote optimizeLegibility optimizeSpeed oriya oromo outset outside overlay overline padding padding-box painted paused persian plus-darker plus-lighter pointer portrait pre pre-line pre-wrap preserve-3d progress push-button radio read-only read-write read-write-plaintext-only relative repeat repeat-x repeat-y reset reverse rgb rgba ridge right round row-resize rtl run-in running s-resize sans-serif scroll scrollbar se-resize searchfield searchfield-cancel-button searchfield-decoration searchfield-results-button searchfield-results-decoration semi-condensed semi-expanded separate serif show sidama single skip-white-space slide slider-horizontal slider-vertical sliderthumb-horizontal sliderthumb-vertical slow small small-caps small-caption smaller solid somali source-atop source-in source-out source-over space square square-button start static status-bar stretch stroke sub subpixel-antialiased super sw-resize table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group telugu text text-bottom text-top textarea textfield thai thick thin threeddarkshadow threedface threedhighlight threedlightshadow threedshadow tibetan tigre tigrinya-er tigrinya-er-abegede tigrinya-et tigrinya-et-abegede to top transparent ultra-condensed ultra-expanded underline up upper-alpha upper-armenian upper-greek upper-hexadecimal upper-latin upper-norwegian upper-roman uppercase urdu url vertical vertical-text visible visibleFill visiblePainted visibleStroke visual w-resize wait wave white wider window windowframe windowtext x-large x-small xor xx-large xx-small yellow".split(" ")); 
    118119return{startState:function(a){return{tokenize:h,baseIndent:a||0,stack:[]}},token:function(a,c){if(a.eatSpace())return null;var b=c.tokenize(a,c),d=c.stack[c.stack.length-1];"property"==b?"propertyValue"==d?b=r[a.current()]?"string-2":q[a.current()]?"keyword":"variable-2":"rule"==d?l[a.current()]||(b+=" error"):!d||"@media{"==d?b="tag":"@media"==d?b=i[a.current()]?"attribute":/^(only|not)$/i.test(a.current())?"keyword":"and"==a.current().toLowerCase()?"error":p[a.current()]?"error":"attribute error": 
  • tablepress/trunk/admin/common.css

    r600237 r623199  
    133133} 
    134134 
    135 /* fix non-JS styling of Post Boxes (might be able to remove this in future versions of WP) */ 
    136 .no-js .postbox:hover .handlediv { 
    137     background-image: none !important; 
    138     cursor: auto; 
    139 } 
    140 .no-js .postbox .hndle { 
    141     cursor: auto; 
    142     color: #464646; 
    143 } 
    144  
    145135/* table dropdown on "Export" screen */ 
    146136#tables-export { 
  • tablepress/trunk/admin/common.min.css

    r600237 r623199  
    1 #icon-tablepress{background-image:url('tablepress-icon.png')}@media only screen and (-webkit-min-device-pixel-ratio:1.5){#icon-tablepress{background-image:url('tablepress-icon-2x.png');background-size:36px 36px}#toplevel_page_tablepress .wp-menu-image{background-image:url('tablepress-icon-small-2x.png');background-size:16px 16px;background-position:7px 7px}#toplevel_page_tablepress .wp-menu-image img{display:none}}#icon-tablepress_options_invisible{display:none}#tablepress-page div.updated,#tablepress-page div.error{margin:10px 0 0}#tablepress-nav .separator{margin:6px}#tablepress-nav .nav-tab{color:#21759b}#tablepress-nav .nav-tab:hover{color:#d54e21}#tablepress-nav .nav-tab-active{padding-bottom:5px;text-shadow:1px 1px 1px #fff;color:#333}#tablepress-nav .nav-tab-active:hover{color:#464646}#tablepress_add-add-table div.inside{margin:6px;padding:0}#tablepress_add-add-table .form-wrap{max-width:500px}#tablepress_add-add-table .form-field{margin:0;padding:5px}#tablepress_add-add-table .form-field-small{float:left;width:150px;margin-right:20px}.js #tablepress-page .placeholder-active{color:#bbb}.tablepress-all-tables thead .column-table_id{width:50px}.tablepress-all-tables thead .column-table_name{width:30%}.tablepress-all-tables thead .column-table_author{width:12%}.tablepress-all-tables thead .column-table_last_modified{width:15%}.tablepress-all-tables tbody .column-table_id{font-weight:bold}.tablenav #bulk-action-top,.tablenav #bulk-action-bottom{width:130px}#tablepress-page .subtitle{float:left;padding-left:0}#tablepress-page textarea{outline:0}#tablepress-page .table-shortcode-inline{background:transparent;border:0;color:#333;width:90px;margin:0;padding:0;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}#tablepress-page .table-shortcode{cursor:text}.no-js .postbox:hover .handlediv{background-image:none!important;cursor:auto}.no-js .postbox .hndle{cursor:auto;color:#464646}#tables-export{width:100%}#tablepress-page form :invalid,#tablepress-page form .invalid{border-color:#c00!important}.tablepress-postbox-table{border-spacing:0;width:800px}.tablepress-postbox-table .column-1{width:175px}.tablepress-postbox-table .column-2{width:625px}.tablepress-postbox-table th{text-align:left;font-weight:normal}.tablepress-postbox-table .top-align{vertical-align:top;padding-top:7px}.tablepress-postbox-table th,.tablepress-postbox-table td{padding:6px 6px 2px 2px;border-spacing:0;word-wrap:break-word}.tablepress-postbox-table .top-border th,.tablepress-postbox-table .top-border td{padding:6px 6px 2px 2px;border-top:1px solid #fff}.tablepress-postbox-table .bottom-border th,.tablepress-postbox-table .bottom-border td{padding:2px 6px 6px 2px;border-bottom:1px solid #dfdfdf}.tablepress-postbox-table .no-border th,.tablepress-postbox-table .no-border td{padding:2px 6px 2px 2px}.tablepress-postbox-table .top-border.bottom-border th,.tablepress-postbox-table .top-border.bottom-border td{padding:6px 6px 6px 2px}.tablepress-postbox-table .top-align{vertical-align:top;padding-top:7px}.tablepress-postbox-table .top-border .top-align{padding-top:7px}.tablepress-postbox-table .bottom-border .top-align{padding-top:4px}#tablepress_export-export-form .column-2 label,#tablepress_import-import-form .column-2 label{vertical-align:top}#tables-import-url,#tables-import-server{margin-bottom:4px}#tablepress_import-import-form .column-2 input[type="radio"],#tablepress_import-import-wp-table-reloaded .column-2 input[type="radio"]{margin-left:5px} 
     1#icon-tablepress{background-image:url('tablepress-icon.png')}@media only screen and (-webkit-min-device-pixel-ratio:1.5){#icon-tablepress{background-image:url('tablepress-icon-2x.png');background-size:36px 36px}#toplevel_page_tablepress .wp-menu-image{background-image:url('tablepress-icon-small-2x.png');background-size:16px 16px;background-position:7px 7px}#toplevel_page_tablepress .wp-menu-image img{display:none}}#icon-tablepress_options_invisible{display:none}#tablepress-page div.updated,#tablepress-page div.error{margin:10px 0 0}#tablepress-nav .separator{margin:6px}#tablepress-nav .nav-tab{color:#21759b}#tablepress-nav .nav-tab:hover{color:#d54e21}#tablepress-nav .nav-tab-active{padding-bottom:5px;text-shadow:1px 1px 1px #fff;color:#333}#tablepress-nav .nav-tab-active:hover{color:#464646}#tablepress_add-add-table div.inside{margin:6px;padding:0}#tablepress_add-add-table .form-wrap{max-width:500px}#tablepress_add-add-table .form-field{margin:0;padding:5px}#tablepress_add-add-table .form-field-small{float:left;width:150px;margin-right:20px}.js #tablepress-page .placeholder-active{color:#bbb}.tablepress-all-tables thead .column-table_id{width:50px}.tablepress-all-tables thead .column-table_name{width:30%}.tablepress-all-tables thead .column-table_author{width:12%}.tablepress-all-tables thead .column-table_last_modified{width:15%}.tablepress-all-tables tbody .column-table_id{font-weight:bold}.tablenav #bulk-action-top,.tablenav #bulk-action-bottom{width:130px}#tablepress-page .subtitle{float:left;padding-left:0}#tablepress-page textarea{outline:0}#tablepress-page .table-shortcode-inline{background:transparent;border:0;color:#333;width:90px;margin:0;padding:0;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}#tablepress-page .table-shortcode{cursor:text}#tables-export{width:100%}#tablepress-page form :invalid,#tablepress-page form .invalid{border-color:#c00!important}.tablepress-postbox-table{border-spacing:0;width:800px}.tablepress-postbox-table .column-1{width:175px}.tablepress-postbox-table .column-2{width:625px}.tablepress-postbox-table th{text-align:left;font-weight:normal}.tablepress-postbox-table .top-align{vertical-align:top;padding-top:7px}.tablepress-postbox-table th,.tablepress-postbox-table td{padding:6px 6px 2px 2px;border-spacing:0;word-wrap:break-word}.tablepress-postbox-table .top-border th,.tablepress-postbox-table .top-border td{padding:6px 6px 2px 2px;border-top:1px solid #fff}.tablepress-postbox-table .bottom-border th,.tablepress-postbox-table .bottom-border td{padding:2px 6px 6px 2px;border-bottom:1px solid #dfdfdf}.tablepress-postbox-table .no-border th,.tablepress-postbox-table .no-border td{padding:2px 6px 2px 2px}.tablepress-postbox-table .top-border.bottom-border th,.tablepress-postbox-table .top-border.bottom-border td{padding:6px 6px 6px 2px}.tablepress-postbox-table .top-align{vertical-align:top;padding-top:7px}.tablepress-postbox-table .top-border .top-align{padding-top:7px}.tablepress-postbox-table .bottom-border .top-align{padding-top:4px}#tablepress_export-export-form .column-2 label,#tablepress_import-import-form .column-2 label{vertical-align:top}#tables-import-url,#tables-import-server{margin-bottom:4px}#tablepress_import-import-form .column-2 input[type="radio"],#tablepress_import-import-wp-table-reloaded .column-2 input[type="radio"]{margin-left:5px} 
  • tablepress/trunk/admin/edit.css

    r607623 r623199  
    4646/* To account for additional padding of #TB_WindowContent in direct preview */ 
    4747#table-preview { 
     48    height: 100%; 
    4849    margin: -2px -15px -15px -15px; 
    4950} 
     
    6768 
    6869/* spinner/loading animation while saving/preview preparation */ 
    69 .animation-saving, 
    70 .animation-preview { 
     70.spinner.animation-saving, 
     71.spinner.animation-preview { 
    7172    display: inline-block; 
    72     background: url(../../../../wp-admin/images/wpspin_light.gif); 
    73     height: 16px; 
    74     width: 16px; 
    75     margin: 4px 0 0 5px; 
     73    float: none; 
     74    margin: 7px 0 0 7px; 
    7675    vertical-align: top; 
    7776} 
     
    8382    margin: 0 0 15px; 
    8483} 
     84 
     85/* make postboxes at least as wide as their contents, 
     86Attention: This decreases usability of the the sorting/moving feature of postboxes! */ 
     87#tablepress-page .postbox { 
     88    display: inline-block; /* e.g. stretch to the width of the table */ 
     89    min-width: 100%; /* but use the full width */ 
     90} 
     91 
    8592/* table cells */ 
    8693#edit-form-body td { 
     
    117124#edit-form { 
    118125    border-collapse: collapse; 
     126    margin-bottom: 5px; /* spacing for the scroll bar */ 
    119127} 
    120128 
     
    125133    width: 16px; 
    126134    height: 16px; 
    127     cursor: move; 
    128135    text-align: center; 
    129136    font-weight: bold; 
    130137} 
    131 .no-js #edit-form .move-handle { 
    132     cursor: auto; 
     138.js #edit-form .move-handle { 
     139    cursor: move; 
    133140} 
    134141#edit-form-body .move-handle { 
     
    160167} 
    161168#edit-form-head .sort-control { 
    162     display: none; 
    163169    float: right; 
    164170    width: 12px; 
     
    167173    margin: 2px 3px 0 0; 
    168174} 
    169 .js #edit-form-head .head:hover .sort-control { 
     175#edit-form-head .sorting-indicator { 
    170176    display: block; 
     177    margin: 4px 2px 0 0; 
    171178} 
    172 .js #edit-form-head .ui-sortable-helper:hover .sort-control { 
    173     display: none; 
     179#edit-form-head .sort-asc .sorting-indicator { 
     180    background-position: 0 0; 
    174181} 
    175 #edit-form-head .sort-asc { 
    176     background: url(img/sort-asc.gif) no-repeat center center; 
    177 } 
    178 #edit-form-head .sort-desc { 
    179     background: url(img/sort-desc.gif) no-repeat center center; 
     182#edit-form-head .sort-desc .sorting-indicator { 
     183    background-position: -7px 0; 
    180184} 
    181185 
  • tablepress/trunk/admin/edit.js

    r607623 r623199  
    2929            body_cells_post: '<td><span class="move-handle"></span></td></tr>', 
    3030            body_cell: '<td><textarea rows="1"></textarea></td>', 
    31             head_cell: '<th class="head"><span class="sort-control sort-desc" title="' + tablepress_strings.sort_desc + '"></span><span class="sort-control sort-asc" title="' + tablepress_strings.sort_asc + '"></span><span class="move-handle"></span></th>', 
     31            head_cell: '<th class="head"><span class="sort-control sort-desc" title="' + tablepress_strings.sort_desc + '"><span class="sorting-indicator"></span></span><span class="sort-control sort-asc" title="' + tablepress_strings.sort_asc + '"><span class="sorting-indicator"></span></span><span class="move-handle"></span></th>', 
    3232            foot_cell: '<th><input type="checkbox" /><input type="hidden" class="visibility" name="table[visibility][columns][]" value="1" /></th>', 
    3333            set_table_changed: function() { 
     
    173173                    } 
    174174 
    175                     $(this).closest( 'p' ).append( '<span class="animation-preview" title="' + tablepress_strings.preparing_preview + '"/>' ); 
     175                    $(this).closest( 'p' ).append( '<span class="animation-preview spinner" title="' + tablepress_strings.preparing_preview + '"/>' ); 
    176176                    $( 'body' ).addClass( 'wait' ); 
    177177                    $( '#table-preview' ).empty(); // clear preview 
     
    298298                } 
    299299 
    300                 $selected_rows 
    301                     .removeClass( 'row-hidden' ) 
    302                     .find( '.visibility' ).val( '1' ); 
     300                $selected_rows.removeClass( 'row-hidden' ).find( '.visibility' ).val( '1' ); 
    303301 
    304302                tp.rows.stripe(); 
     
    352350                    rows = $table_body.children().not( $head_rows ).not( $foot_rows ).get(), 
    353351                    /* 
    354                      * Natural Sort algorithm for Javascript - Version 0.6 - Released under MIT license 
     352                     * Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license 
    355353                     * Author: Jim Palmer (based on chunking idea from Dave Koelle) 
    356                      * Contributors: Mike Grier (mgrier.com), Clint Priest, Kyle Adams, guillermo 
    357                      * See: http://js-naturalsort.googlecode.com/ and http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm-with-unicode-support/ 
     354                     * See: https://github.com/overset/javascript-natural-sort and http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm-with-unicode-support/ 
    358355                     */ 
    359356                    natural_sort = function( a, b ) { 
     
    363360                            hre = /^0x[0-9a-f]+$/i, 
    364361                            ore = /^0/, 
    365                             // convert all to strings and trim() 
    366                             x = a.toString().replace(sre, '') || '', 
    367                             y = b.toString().replace(sre, '') || '', 
     362                            // strip whitespace 
     363                            x = a.replace(sre, '') || '', 
     364                            y = b.replace(sre, '') || '', 
    368365                            // chunk/tokenize 
    369366                            xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'), 
     
    371368                            // numeric, hex or date detection 
    372369                            xD = parseInt(x.match(hre)) || (xN.length != 1 && x.match(dre) && Date.parse(x)), 
    373                             yD = parseInt(y.match(hre)) || xD && y.match(dre) && Date.parse(y) || null; 
     370                            yD = parseInt(y.match(hre)) || xD && y.match(dre) && Date.parse(y) || null, 
     371                            oFxNcL, oFyNcL; 
    374372                        // first try and sort Hex codes or Dates 
    375373                        if (yD) { 
     
    383381                            oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc]) || yN[cLoc] || 0; 
    384382                            // handle numeric vs string comparison - number < string - (Kyle Adams) 
    385                             if (isNaN(oFxNcL) !== isNaN(oFyNcL)) return (isNaN(oFxNcL)) ? 1 : -1; 
     383                            if (isNaN(oFxNcL) !== isNaN(oFyNcL)) { return (isNaN(oFxNcL)) ? 1 : -1; } 
    386384                            // rely on string comparison if different types - i.e. '02' < 2 != '02' < '2' 
    387385                            else if (typeof oFxNcL !== typeof oFyNcL) { 
     
    396394 
    397395                $.each( rows, function( row_idx, row ) { 
    398                     row.sort_key = $(row).children().eq( column_idx ).find( 'textarea' ).val().toUpperCase(); 
     396                    row.sort_key = ( '' + $(row).children().eq( column_idx ).find( 'textarea' ).val() ).toLowerCase(); // convert to string, and lower case for case insensitive sorting 
    399397                } ); 
    400398 
     
    781779            span: { 
    782780                add: function( span ) { 
    783                     // @TODO: Ask question according to span type 
    784                     if ( ! confirm( tablepress_strings.span_add ) ) 
     781                    var span_add_msg = ( '#rowspan#' == span ) ? tablepress_strings.rowspan_add : tablepress_strings.colspan_add ; 
     782                    if ( ! confirm( span_add_msg ) ) 
    785783                        return; 
    786784 
     
    877875                $row.find( '.move-handle' ).html( row_idx + 1 ); 
    878876            } ) 
    879             .each( function( row_idx, row ) { 
     877            .each( function( row_idx, row ) { // need a second loop here to not break logic in previous loop, that queries textareas by their old ID 
    880878                $( row ).find( 'textarea' ).attr( 'id', function( column_idx /*, old_id */ ) { 
    881879                    return 'cell-' + tp.columns.number_to_letter( column_idx + 1 ) + ( row_idx + 1 ); 
     
    904902                } 
    905903 
    906                 $(this).closest( 'p' ).append( '<span class="animation-saving" title="' + tablepress_strings.saving_changes + '"/>' ); 
     904                $(this).closest( 'p' ).append( '<span class="animation-saving spinner" title="' + tablepress_strings.saving_changes + '"/>' ); 
    907905                $( '.save-changes-button' ).prop( 'disabled', true ); 
    908906                $( 'body' ).addClass( 'wait' ); 
     
    919917            ajax_success: function( data, status, jqXHR ) { 
    920918                if ( ( 'undefined' == typeof status ) || ( 'success' != status ) ) 
    921                     tp.save_changes.error( 'AJAX call successful, but unclear status. Try again while holding down the "Shift" key.' ); 
     919                    tp.save_changes.error( 'AJAX call successful, but unclear status. Try again while holding down the &#8220;Shift&#8221; key.' ); 
    922920                else if ( ( 'undefined' == typeof data ) || ( null == data ) || ( '-1' == data ) || ( 'undefined' == typeof data.success ) || ( true !== data.success ) ) 
    923                     tp.save_changes.error( 'AJAX call successful, but unclear data. Try again while holding down the "Shift" key.' ); 
     921                    tp.save_changes.error( 'AJAX call successful, but unclear data. Try again while holding down the &#8220;Shift&#8221; key.' ); 
    924922                else 
    925923                    tp.save_changes.success( data ); 
    926924            }, 
    927925            ajax_error: function( jqXHR, status, error_thrown ) { 
    928                 tp.save_changes.error( 'AJAX call failed: ' + status + ' - ' + error_thrown + '. Try again while holding down the "Shift" key.' ); 
     926                tp.save_changes.error( 'AJAX call failed: ' + status + ' - ' + error_thrown + '. Try again while holding down the &#8220;Shift&#8221; key.' ); 
    929927            }, 
    930928            success: function( data ) { 
     
    958956            error: function( message ) { 
    959957                tp.save_changes.after_saving_dialog( 'error', message ); 
    960                 //alert( tablepress_strings.save_changes_error ); 
    961958            }, 
    962959            after_saving_dialog: function( type, message ) { 
     
    998995                    '#image-add':           tp.content.image.add, 
    999996                    '#span-add-rowspan':    function() { tp.content.span.add( '#rowspan#' ); }, 
    1000                     '#span-add-colspan':    function() { tp.content.span.add( '#colspan#' ); }, 
     997                    '#span-add-colspan':    function() { tp.content.span.add( '#colspan#' ); }, 
    1001998                    '.show-preview-button': tp.table.preview.trigger, 
    1002999                    '.save-changes-button': tp.save_changes.trigger, 
     
    11001097    }; 
    11011098 
    1102     // do allow wide tables to scroll sideways, only on "Edit" screen 
    1103     $( '#wpbody-content' ).css( 'overflow-x', 'scroll' ); 
     1099    // allow wide tables to scroll sideways, only on "Edit" screen 
     1100    $( '#wpbody-content' ).css( 'overflow', 'visible' ); 
    11041101 
    11051102    // run TablePress initialization 
  • tablepress/trunk/admin/edit.min.css

    r607623 r623199  
    1 body.wait *{cursor:wait!important}.hidden-container{display:none}.hidden-help-box-container p{margin:6px}#TB_HideSelect{z-index:301099}#TB_overlay{z-index:301100}#TB_window{z-index:301102}#TB_load{z-index:301103}#table-preview-iframe{width:100%;height:100%;margin:0;border:0}#table-preview{margin:-2px -15px -15px -15px}#advanced-editor{padding:3px}#advanced-editor .submitbox{padding:6px 6px 0;font-size:11px;overflow:auto;height:30px}#advanced-editor-confirm{float:right}#advanced-editor-cancel{line-height:30px}.animation-saving,.animation-preview{display:inline-block;background:url(../../../../wp-admin/images/wpspin_light.gif);height:16px;width:16px;margin:4px 0 0 5px;vertical-align:top}#tablepress-page div.save-changes-success,#tablepress-page div.save-changes-error,#tablepress-page div.preview-error{margin:0 0 15px}#edit-form-body td{padding:2px 2px 2px 0;height:32px}#edit-form-body .focus td{height:64px}#edit-form-body .odd{background-color:#eee}#edit-form-body textarea{display:block;width:150px;height:100%}#edit-form-body textarea:focus{border-color:#000}#edit-form-body input[type="checkbox"]{margin-right:3px}#edit-form-foot input[type="checkbox"]{margin-top:6px}#edit-form{border-collapse:collapse}#edit-form .move-handle{display:block;margin:auto;width:16px;height:16px;cursor:move;text-align:center;font-weight:bold}.no-js #edit-form .move-handle{cursor:auto}#edit-form-body .move-handle{margin:auto 3px;min-width:16px;width:auto}#edit-form .move-hover{position:absolute;z-index:1000;height:26px}#edit-form .focus .move-hover{height:54px}#edit-form-body .head-row,#edit-form-body .foot-row{background-color:#d9edf7}#edit-form-head th{height:16px;vertical-align:top}#edit-form-head .sort-control{display:none;float:right;width:12px;height:12px;cursor:pointer;margin:2px 3px 0 0}.js #edit-form-head .head:hover .sort-control{display:block}.js #edit-form-head .ui-sortable-helper:hover .sort-control{display:none}#edit-form-head .sort-asc{background:url(img/sort-asc.gif) no-repeat center center}#edit-form-head .sort-desc{background:url(img/sort-desc.gif) no-repeat center center}#edit-form .row-hidden td,#edit-form .row-hidden textarea,#edit-form .column-hidden,#edit-form .column-hidden textarea{background-color:#ffe0e0}#tablepress_edit-table-manipulation td{width:50%} 
     1body.wait *{cursor:wait!important}.hidden-container{display:none}.hidden-help-box-container p{margin:6px}#TB_HideSelect{z-index:301099}#TB_overlay{z-index:301100}#TB_window{z-index:301102}#TB_load{z-index:301103}#table-preview-iframe{width:100%;height:100%;margin:0;border:0}#table-preview{height:100%;margin:-2px -15px -15px -15px}#advanced-editor{padding:3px}#advanced-editor .submitbox{padding:6px 6px 0;font-size:11px;overflow:auto;height:30px}#advanced-editor-confirm{float:right}#advanced-editor-cancel{line-height:30px}.spinner.animation-saving,.spinner.animation-preview{display:inline-block;float:none;margin:7px 0 0 7px;vertical-align:top}#tablepress-page div.save-changes-success,#tablepress-page div.save-changes-error,#tablepress-page div.preview-error{margin:0 0 15px}#tablepress-page .postbox{display:inline-block;min-width:100%}#edit-form-body td{padding:2px 2px 2px 0;height:32px}#edit-form-body .focus td{height:64px}#edit-form-body .odd{background-color:#eee}#edit-form-body textarea{display:block;width:150px;height:100%}#edit-form-body textarea:focus{border-color:#000}#edit-form-body input[type="checkbox"]{margin-right:3px}#edit-form-foot input[type="checkbox"]{margin-top:6px}#edit-form{border-collapse:collapse;margin-bottom:5px}#edit-form .move-handle{display:block;margin:auto;width:16px;height:16px;text-align:center;font-weight:bold}.js #edit-form .move-handle{cursor:move}#edit-form-body .move-handle{margin:auto 3px;min-width:16px;width:auto}#edit-form .move-hover{position:absolute;z-index:1000;height:26px}#edit-form .focus .move-hover{height:54px}#edit-form-body .head-row,#edit-form-body .foot-row{background-color:#d9edf7}#edit-form-head th{height:16px;vertical-align:top}#edit-form-head .sort-control{float:right;width:12px;height:12px;cursor:pointer;margin:2px 3px 0 0}#edit-form-head .sorting-indicator{display:block;margin:4px 2px 0 0}#edit-form-head .sort-asc .sorting-indicator{background-position:0 0}#edit-form-head .sort-desc .sorting-indicator{background-position:-7px 0}#edit-form .row-hidden td,#edit-form .row-hidden textarea,#edit-form .column-hidden,#edit-form .column-hidden textarea{background-color:#ffe0e0}#tablepress_edit-table-manipulation td{width:50%} 
  • tablepress/trunk/admin/edit.min.js

    r607623 r623199  
    11jQuery(document).ready(function(a){window.tp={made_changes:!1,table:{id:a("#table-id").val(),new_id:a("#table-new-id").val(),rows:a("#number-rows").val(),columns:a("#number-columns").val(),head:a("#option-table-head").prop("checked"),foot:a("#option-table-foot").prop("checked"),no_data_columns_pre:2,no_data_columns_post:1,body_cells_pre:'<tr><td><span class="move-handle"></span></td><td><input type="checkbox" /><input type="hidden" class="visibility" name="table[visibility][rows][]" value="1" /></td>', 
    2 body_cells_post:'<td><span class="move-handle"></span></td></tr>',body_cell:'<td><textarea rows="1"></textarea></td>',head_cell:'<th class="head"><span class="sort-control sort-desc" title="'+tablepress_strings.sort_desc+'"></span><span class="sort-control sort-asc" title="'+tablepress_strings.sort_asc+'"></span><span class="move-handle"></span></th>',foot_cell:'<th><input type="checkbox" /><input type="hidden" class="visibility" name="table[visibility][columns][]" value="1" /></th>',set_table_changed:function(){tp.made_changes= 
    3 !0},unset_table_changed:function(){tp.made_changes=!1;a("#edit-form-body").one("change","textarea",tp.table.set_table_changed);a("#tablepress_edit-table-information, #tablepress_edit-table-options, #tablepress_edit-datatables-features").one("change","input, textarea, select",tp.table.set_table_changed)},change_id:function(){""===a.trim(a("#table-new-id").val())?(alert(tablepress_strings.table_id_not_empty),a("#table-new-id").val(tp.table.new_id).focus().select()):"0"===a.trim(a("#table-new-id").val())? 
    4 (alert(tablepress_strings.table_id_not_zero),a("#table-new-id").val(tp.table.new_id).focus().select()):this.value!=tp.table.new_id&&(confirm(tablepress_strings.ays_change_table_id)?(tp.table.new_id=this.value,a(".table-shortcode").val("["+tablepress_options.shortcode+" id="+tp.table.new_id+" /]").click(),tp.table.set_table_changed()):a(this).val(tp.table.new_id))},change_table_head:function(){tp.table.head=a(this).prop("checked");a("#option-use-datatables").prop("disabled",!tp.table.head).change(); 
    5 a("#notice-datatables-head-row").toggle(!tp.table.head);tp.rows.stripe()},change_table_foot:function(){tp.table.foot=a(this).prop("checked");tp.rows.stripe()},change_print_name_description:function(){a("#"+this.id+"-position").prop("disabled",!a(this).prop("checked"))},change_datatables:function(){var b=a("#option-use-datatables"),c=!(b.prop("checked")&&!b.prop("disabled"));b.closest("tbody").find("input").not(b).prop("disabled",c);tp.table.change_datatables_pagination()},change_datatables_pagination:function(){var b= 
    6 a("#option-datatables-paginate"),b=b.prop("checked")&&!b.prop("disabled");a("#option-datatables-lengthchange").prop("disabled",!b);a("#option-datatables-paginate_entries").prop("disabled",!b)},prepare_ajax_request:function(b,c){var d=a("#edit-form-body"),e=[],f,h={rows:tp.table.rows,columns:tp.table.columns,hidden_rows:0,hidden_columns:0},g={rows:[],columns:[]};d.children().each(function(b,c){e[b]=a(c).find("textarea").map(function(){return a(this).val()}).get()});e=JSON.stringify(e);f={table_head:tp.table.head, 
    7 table_foot:tp.table.foot,alternating_row_colors:a("#option-alternating-row-colors").prop("checked"),row_hover:a("#option-row-hover").prop("checked"),print_name:a("#option-print-name").prop("checked"),print_description:a("#option-print-description").prop("checked"),print_name_position:a("#option-print-name-position").val(),print_description_position:a("#option-print-description-position").val(),extra_css_classes:a("#option-extra-css-classes").val(),use_datatables:a("#option-use-datatables").prop("checked"), 
     2body_cells_post:'<td><span class="move-handle"></span></td></tr>',body_cell:'<td><textarea rows="1"></textarea></td>',head_cell:'<th class="head"><span class="sort-control sort-desc" title="'+tablepress_strings.sort_desc+'"><span class="sorting-indicator"></span></span><span class="sort-control sort-asc" title="'+tablepress_strings.sort_asc+'"><span class="sorting-indicator"></span></span><span class="move-handle"></span></th>',foot_cell:'<th><input type="checkbox" /><input type="hidden" class="visibility" name="table[visibility][columns][]" value="1" /></th>', 
     3set_table_changed:function(){tp.made_changes=!0},unset_table_changed:function(){tp.made_changes=!1;a("#edit-form-body").one("change","textarea",tp.table.set_table_changed);a("#tablepress_edit-table-information, #tablepress_edit-table-options, #tablepress_edit-datatables-features").one("change","input, textarea, select",tp.table.set_table_changed)},change_id:function(){""===a.trim(a("#table-new-id").val())?(alert(tablepress_strings.table_id_not_empty),a("#table-new-id").val(tp.table.new_id).focus().select()): 
     4"0"===a.trim(a("#table-new-id").val())?(alert(tablepress_strings.table_id_not_zero),a("#table-new-id").val(tp.table.new_id).focus().select()):this.value!=tp.table.new_id&&(confirm(tablepress_strings.ays_change_table_id)?(tp.table.new_id=this.value,a(".table-shortcode").val("["+tablepress_options.shortcode+" id="+tp.table.new_id+" /]").click(),tp.table.set_table_changed()):a(this).val(tp.table.new_id))},change_table_head:function(){tp.table.head=a(this).prop("checked");a("#option-use-datatables").prop("disabled", 
     5!tp.table.head).change();a("#notice-datatables-head-row").toggle(!tp.table.head);tp.rows.stripe()},change_table_foot:function(){tp.table.foot=a(this).prop("checked");tp.rows.stripe()},change_print_name_description:function(){a("#"+this.id+"-position").prop("disabled",!a(this).prop("checked"))},change_datatables:function(){var b=a("#option-use-datatables"),c=!(b.prop("checked")&&!b.prop("disabled"));b.closest("tbody").find("input").not(b).prop("disabled",c);tp.table.change_datatables_pagination()}, 
     6change_datatables_pagination:function(){var b=a("#option-datatables-paginate"),b=b.prop("checked")&&!b.prop("disabled");a("#option-datatables-lengthchange").prop("disabled",!b);a("#option-datatables-paginate_entries").prop("disabled",!b)},prepare_ajax_request:function(b,c){var d=a("#edit-form-body"),e=[],f,h={rows:tp.table.rows,columns:tp.table.columns,hidden_rows:0,hidden_columns:0},i={rows:[],columns:[]};d.children().each(function(b,c){e[b]=a(c).find("textarea").map(function(){return a(this).val()}).get()}); 
     7e=JSON.stringify(e);f={table_head:tp.table.head,table_foot:tp.table.foot,alternating_row_colors:a("#option-alternating-row-colors").prop("checked"),row_hover:a("#option-row-hover").prop("checked"),print_name:a("#option-print-name").prop("checked"),print_description:a("#option-print-description").prop("checked"),print_name_position:a("#option-print-name-position").val(),print_description_position:a("#option-print-description-position").val(),extra_css_classes:a("#option-extra-css-classes").val(),use_datatables:a("#option-use-datatables").prop("checked"), 
    88datatables_sort:a("#option-datatables-sort").prop("checked"),datatables_filter:a("#option-datatables-filter").prop("checked"),datatables_paginate:a("#option-datatables-paginate").prop("checked"),datatables_lengthchange:a("#option-datatables-lengthchange").prop("checked"),datatables_paginate_entries:a("#option-datatables-paginate_entries").val(),datatables_info:a("#option-datatables-info").prop("checked"),datatables_scrollX:a("#option-datatables-scrollX").prop("checked"),datatables_custom_commands:a("#option-datatables-custom-commands").val()}; 
    9 f=JSON.stringify(f);g.rows=d.find('input[type="hidden"]').map(function(){if("1"==a(this).val())return 1;h.hidden_rows+=1;return 0}).get();g.columns=a("#edit-form-foot").find('input[type="hidden"]').map(function(){if("1"==a(this).val())return 1;h.hidden_columns+=1;return 0}).get();g=JSON.stringify(g);return{action:b,_ajax_nonce:a(c).val(),tablepress:{id:tp.table.id,new_id:tp.table.new_id,name:a("#table-name").val(),description:a("#table-description").val(),number:h,data:e,options:f,visibility:g}}}, 
    10 preview:{trigger:function(){if(!tp.made_changes)return tp.table.preview.show(a(this).attr("href")+"&TB_iframe=true"),!1;a(this).closest("p").append('<span class="animation-preview" title="'+tablepress_strings.preparing_preview+'"/>');a("body").addClass("wait");a("#table-preview").empty();a.post(ajaxurl,tp.table.prepare_ajax_request("tablepress_preview_table","#nonce-preview-table"),function(){},"json").success(tp.table.preview.ajax_success).error(tp.table.preview.ajax_error);return!1},ajax_success:function(a, 
     9f=JSON.stringify(f);i.rows=d.find('input[type="hidden"]').map(function(){if("1"==a(this).val())return 1;h.hidden_rows+=1;return 0}).get();i.columns=a("#edit-form-foot").find('input[type="hidden"]').map(function(){if("1"==a(this).val())return 1;h.hidden_columns+=1;return 0}).get();i=JSON.stringify(i);return{action:b,_ajax_nonce:a(c).val(),tablepress:{id:tp.table.id,new_id:tp.table.new_id,name:a("#table-name").val(),description:a("#table-description").val(),number:h,data:e,options:f,visibility:i}}}, 
     10preview:{trigger:function(){if(!tp.made_changes)return tp.table.preview.show(a(this).attr("href")+"&TB_iframe=true"),!1;a(this).closest("p").append('<span class="animation-preview spinner" title="'+tablepress_strings.preparing_preview+'"/>');a("body").addClass("wait");a("#table-preview").empty();a.post(ajaxurl,tp.table.prepare_ajax_request("tablepress_preview_table","#nonce-preview-table"),function(){},"json").success(tp.table.preview.ajax_success).error(tp.table.preview.ajax_error);return!1},ajax_success:function(a, 
    1111c){"undefined"==typeof c||"success"!=c?tp.table.preview.error("AJAX call successful, but unclear status."):"undefined"==typeof a||null==a||"-1"==a||"undefined"==typeof a.success||!0!==a.success?tp.table.preview.error("AJAX call successful, but unclear data."):tp.table.preview.success(a)},ajax_error:function(a,c,d){tp.table.preview.error("AJAX call failed: "+c+" - "+d)},success:function(b){a("#table-preview").empty();a('<iframe id="table-preview-iframe" />').load(function(){var c=a(this).contents(); 
    1212c.find("head").append(b.head_html);c.find("body").append(b.body_html)}).appendTo("#table-preview");a(".animation-preview").remove();a("body").removeClass("wait");tp.table.preview.show("#TB_inline?inlineId=preview-container")},error:function(b){a(".animation-preview").closest("p").after('<div class="preview-error error"><p><strong>'+tablepress_strings.preview_error+": "+b+"</strong></p></div>");a(".animation-preview").remove();a(".preview-error").delay(6E3).fadeOut(2E3,function(){a(this).remove()}); 
     
    1515(b.before(tp.rows.create(1)),tp.rows.stripe(),tp.reindex())},hide:function(b){b=a("#edit-form-body").find("input:checked").prop("checked",b.shiftKey).closest("tr");0===b.length?alert(tablepress_strings.no_rows_selected):(b.addClass("row-hidden").find(".visibility").val("0"),tp.rows.stripe(),tp.table.set_table_changed())},unhide:function(b){b=a("#edit-form-body").find("input:checked").prop("checked",b.shiftKey).closest("tr");0===b.length?alert(tablepress_strings.no_rows_selected):(b.removeClass("row-hidden").find(".visibility").val("1"), 
    1616tp.rows.stripe(),tp.table.set_table_changed())},remove:function(){var b,c=a("#edit-form-body").find("input:checked").closest("tr");0===c.length?alert(tablepress_strings.no_rows_selected):tp.table.rows==c.length?alert(tablepress_strings.no_remove_all_rows):(b=1==c.length?tablepress_strings.ays_remove_rows_singular:tablepress_strings.ays_remove_rows_plural,confirm(b)&&(c.remove(),tp.rows.stripe(),tp.reindex()))},move:{start:function(b,c){a(c.placeholder).removeClass("row-hidden").css("visibility","visible").html('<td colspan="'+ 
    17 (tp.table.columns+tp.table.no_data_columns_pre+tp.table.no_data_columns_post)+'"><div/></td>');a(c.helper).removeClass("odd head-row foot-row")},change:function(a,c){tp.rows.stripe(c.helper)},stop:function(){tp.rows.stripe()}},sort:function(){var b=a(this).parent().index(),c=a(this).hasClass("sort-asc")?1:-1,d=a("#edit-form-body"),e=d.find(".head-row").prevAll().andSelf(),f=d.find(".foot-row").nextAll().andSelf(),h=d.children().not(e).not(f).get(),g=function(a,b){var c=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi, 
    18 d=/(^[ ]*|[ ]*$)/g,e=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,f=/^0x[0-9a-f]+$/i,h=/^0/,g=a.toString().replace(d,"")||"",i=b.toString().replace(d,"")||"",d=g.replace(c,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),c=i.replace(c,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),g=parseInt(g.match(f))||1!=d.length&&g.match(e)&&Date.parse(g);if(e=parseInt(i.match(f))||g&&i.match(e)&&Date.parse(i)|| 
    19 null){if(g<e)return-1;if(g>e)return 1}e=0;for(f=Math.max(d.length,c.length);e<f;e++){oFxNcL=!(d[e]||"").match(h)&&parseFloat(d[e])||d[e]||0;oFyNcL=!(c[e]||"").match(h)&&parseFloat(c[e])||c[e]||0;if(isNaN(oFxNcL)!==isNaN(oFyNcL))return isNaN(oFxNcL)?1:-1;typeof oFxNcL!==typeof oFyNcL&&(oFxNcL+="",oFyNcL+="");if(oFxNcL<oFyNcL)return-1;if(oFxNcL>oFyNcL)return 1}return 0};a.each(h,function(c,d){d.sort_key=a(d).children().eq(b).find("textarea").val().toUpperCase()});h.sort(function(a,b){return c*g(a.sort_key, 
    20 b.sort_key)});a.each(h,function(a,b){b.sort_key=null});d.append(e);d.append(h);d.append(f);tp.rows.stripe();tp.reindex()},stripe:function(b){"undefined"==typeof b&&(b=null);var b=a(b),c=a("#edit-form-body").children().removeClass("odd head-row foot-row").not(b);c.filter(":even").addClass("odd");c=c.not(".row-hidden");b.hasClass("row-hidden")&&(c=c.not(".ui-sortable-placeholder"));tp.table.head&&c.first().addClass("head-row");tp.table.foot&&c.last().addClass("foot-row")}},columns:{append:function(){var b, 
    21 c=a("#columns-append-number").val(),d=new_head_cells=new_foot_cells="";if(/^[1-9][0-9]{0,4}$/.test(c)){for(b=0;b<c;b++)d+=tp.table.body_cell,new_head_cells+=tp.table.head_cell,new_foot_cells+=tp.table.foot_cell;a("#edit-form-body").children().each(function(b,c){a(c).children().slice(-tp.table.no_data_columns_post).before(d)});a("#edit-form-head").children().slice(-tp.table.no_data_columns_post).before(new_head_cells);a("#edit-form-foot").children().slice(-tp.table.no_data_columns_post).before(new_foot_cells); 
    22 tp.reindex()}else alert(tablepress_strings.append_num_columns_invalid),a("#columns-append-number").focus().select()},insert:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).before(tp.table.body_cell)}),a("#edit-form-head").children().filter(function(a){return-1!= 
    23 jQuery.inArray(a,c)}).before(tp.table.head_cell),b.before(tp.table.foot_cell),tp.reindex())},hide:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).addClass("column-hidden")}),b.addClass("column-hidden").find(".visibility").val("0"), 
    24 tp.table.set_table_changed())},unhide:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).removeClass("column-hidden")}),b.removeClass("column-hidden").find(".visibility").val("1"),tp.table.set_table_changed())}, 
    25 remove:function(){var b,c,d=a("#edit-form-foot").find("input:checked").closest("th");0===d.length?alert(tablepress_strings.no_columns_selected):tp.table.columns==d.length?alert(tablepress_strings.no_remove_all_columns):(c=1==d.length?tablepress_strings.ays_remove_columns_singular:tablepress_strings.ays_remove_columns_plural,confirm(c)&&(b=d.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(c,d){a(d).children().filter(function(a){return-1!= 
    26 jQuery.inArray(a,b)}).remove()}),d.remove(),tp.reindex()))},move:{source_idx:-1,target_idx:-1,$rows:null,$row_children:null,$cell:null,$cells:null,$placeholder:null,$helper:null,start:function(b,c){var d=a(c.item);tp.columns.move.source_idx=d.index();tp.columns.move.$rows=a("#edit-form-body").children().add("#edit-form-foot");tp.columns.move.$cells=tp.columns.move.$rows.find(":nth-child("+(tp.columns.move.source_idx+1)+")").each(function(){tp.columns.move.$cell=a(this);a('<td class="move-placeholder"><div/></td>').insertBefore(tp.columns.move.$cell); 
     17(tp.table.columns+tp.table.no_data_columns_pre+tp.table.no_data_columns_post)+'"><div/></td>');a(c.helper).removeClass("odd head-row foot-row")},change:function(a,c){tp.rows.stripe(c.helper)},stop:function(){tp.rows.stripe()}},sort:function(){var b=a(this).parent().index(),c=a(this).hasClass("sort-asc")?1:-1,d=a("#edit-form-body"),e=d.find(".head-row").prevAll().andSelf(),f=d.find(".foot-row").nextAll().andSelf(),h=d.children().not(e).not(f).get(),i=function(a,b){var c=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi, 
     18d=/(^[ ]*|[ ]*$)/g,e=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,f=/^0x[0-9a-f]+$/i,h=/^0/,g=a.replace(d,"")||"",i=b.replace(d,"")||"",d=g.replace(c,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),c=i.replace(c,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),g=parseInt(g.match(f))||1!=d.length&&g.match(e)&&Date.parse(g);if(e=parseInt(i.match(f))||g&&i.match(e)&&Date.parse(i)||null){if(g<e)return-1; 
     19if(g>e)return 1}g=0;for(i=Math.max(d.length,c.length);g<i;g++){e=!(d[g]||"").match(h)&&parseFloat(d[g])||d[g]||0;f=!(c[g]||"").match(h)&&parseFloat(c[g])||c[g]||0;if(isNaN(e)!==isNaN(f))return isNaN(e)?1:-1;typeof e!==typeof f&&(e+="",f+="");if(e<f)return-1;if(e>f)return 1}return 0};a.each(h,function(c,d){d.sort_key=(""+a(d).children().eq(b).find("textarea").val()).toLowerCase()});h.sort(function(a,b){return c*i(a.sort_key,b.sort_key)});a.each(h,function(a,b){b.sort_key=null});d.append(e);d.append(h); 
     20d.append(f);tp.rows.stripe();tp.reindex()},stripe:function(b){"undefined"==typeof b&&(b=null);var b=a(b),c=a("#edit-form-body").children().removeClass("odd head-row foot-row").not(b);c.filter(":even").addClass("odd");c=c.not(".row-hidden");b.hasClass("row-hidden")&&(c=c.not(".ui-sortable-placeholder"));tp.table.head&&c.first().addClass("head-row");tp.table.foot&&c.last().addClass("foot-row")}},columns:{append:function(){var b,c=a("#columns-append-number").val(),d=new_head_cells=new_foot_cells=""; 
     21if(/^[1-9][0-9]{0,4}$/.test(c)){for(b=0;b<c;b++)d+=tp.table.body_cell,new_head_cells+=tp.table.head_cell,new_foot_cells+=tp.table.foot_cell;a("#edit-form-body").children().each(function(b,c){a(c).children().slice(-tp.table.no_data_columns_post).before(d)});a("#edit-form-head").children().slice(-tp.table.no_data_columns_post).before(new_head_cells);a("#edit-form-foot").children().slice(-tp.table.no_data_columns_post).before(new_foot_cells);tp.reindex()}else alert(tablepress_strings.append_num_columns_invalid), 
     22a("#columns-append-number").focus().select()},insert:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).before(tp.table.body_cell)}),a("#edit-form-head").children().filter(function(a){return-1!=jQuery.inArray(a,c)}).before(tp.table.head_cell), 
     23b.before(tp.table.foot_cell),tp.reindex())},hide:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).addClass("column-hidden")}),b.addClass("column-hidden").find(".visibility").val("0"),tp.table.set_table_changed())}, 
     24unhide:function(b){var c,b=a("#edit-form-foot").find("input:checked").prop("checked",b.shiftKey).closest("th");0===b.length?alert(tablepress_strings.no_columns_selected):(c=b.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(b,e){a(e).children().filter(function(a){return-1!=jQuery.inArray(a,c)}).removeClass("column-hidden")}),b.removeClass("column-hidden").find(".visibility").val("1"),tp.table.set_table_changed())},remove:function(){var b, 
     25c,d=a("#edit-form-foot").find("input:checked").closest("th");0===d.length?alert(tablepress_strings.no_columns_selected):tp.table.columns==d.length?alert(tablepress_strings.no_remove_all_columns):(c=1==d.length?tablepress_strings.ays_remove_columns_singular:tablepress_strings.ays_remove_columns_plural,confirm(c)&&(b=d.map(function(){return a(this).index()}).get(),a("#edit-form-body").children().add("#edit-form-head").each(function(c,d){a(d).children().filter(function(a){return-1!=jQuery.inArray(a, 
     26b)}).remove()}),d.remove(),tp.reindex()))},move:{source_idx:-1,target_idx:-1,$rows:null,$row_children:null,$cell:null,$cells:null,$placeholder:null,$helper:null,start:function(b,c){var d=a(c.item);tp.columns.move.source_idx=d.index();tp.columns.move.$rows=a("#edit-form-body").children().add("#edit-form-foot");tp.columns.move.$cells=tp.columns.move.$rows.find(":nth-child("+(tp.columns.move.source_idx+1)+")").each(function(){tp.columns.move.$cell=a(this);a('<td class="move-placeholder"><div/></td>').insertBefore(tp.columns.move.$cell); 
    2727tp.columns.move.$cell.insertAfter(tp.columns.move.$cell.nextAll().last()).clone().addClass("move-hover").insertAfter(tp.columns.move.$cell).find("textarea").val(tp.columns.move.$cell.find("textarea").val())}).hide();tp.columns.move.$helper=tp.columns.move.$rows.find(".move-hover");d=tp.columns.move.$helper.eq(1).width();tp.columns.move.$helper.eq(0).width(d);tp.columns.move.$placeholder=tp.columns.move.$rows.find(".move-placeholder");tp.columns.move.$placeholder.find("div").width(d)},change:function(b, 
    2828c){tp.columns.move.target_idx=a(c.placeholder).index();1==tp.columns.move.target_idx-tp.columns.move.source_idx?tp.columns.move.target_idx+=1:tp.columns.move.target_idx==tp.columns.move.source_idx&&(tp.columns.move.target_idx-=1);tp.columns.move.$placeholder.each(function(){tp.columns.move.$cell=a(this);tp.columns.move.$cell.insertBefore(tp.columns.move.$cell.parent().children().eq(tp.columns.move.target_idx))});tp.columns.move.target_idx>tp.columns.move.source_idx&&(tp.columns.move.target_idx-=1); 
     
    3333d=a(window).width(),d=720<d?720:d,e=a(window).height();a("body.admin-bar").length&&(e-=28);c=c.replace(/&width=[0-9]+/g,"").replace(/&height=[0-9]+/g,"");b.attr("href",c+("&width="+(d-80)+"&height="+(e-85)))}},checkboxes:{last_clicked:{"#edit-form-body":!1,"#edit-form-foot":!1},multi_select:function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!tp.cells.checkboxes.last_clicked[b.data.parent])return!0;var c=a(b.data.parent).find(":checkbox"),d=c.index(tp.cells.checkboxes.last_clicked[b.data.parent]), 
    3434e=c.index(this);d!=e&&c.slice(Math.min(d,e),Math.max(d,e)).prop("checked",a(this).prop("checked"))}tp.cells.checkboxes.last_clicked[b.data.parent]=this;return!0}}},content:{link:{add:function(){if(confirm(tablepress_strings.link_add))a("#edit-form-body").one("mousedown","textarea",function(){wpActiveEditor=this.id;a(window).one("mouseup",function(){wpLink.open();tp.table.set_table_changed()})})}},image:{add:function(){if(confirm(tablepress_strings.image_add))a("#edit-form-body").one("click","textarea", 
    35 function(){wpActiveEditor=this.id;this.selectionStart=this.selectionEnd=this.value.length;var b=a("#image-add"),c=a(window).width(),c=720<c?720:c,d=a(window).height();a("body.admin-bar").length&&(d-=28);tb_show(b.text(),b.attr("href")+"&TB_iframe=true&height="+(d-85)+"&width="+(c-80),!1);a(this).blur()});return!1}},span:{add:function(b){if(confirm(tablepress_strings.span_add))a("#edit-form-body").one("click","textarea",function(){var c=a(this),d=c.parent().index(),e=c.closest("tr").index();if("#rowspan#"== 
    36 b){if(0==e){alert(tablepress_strings.no_rowspan_first_row);return}if(tp.table.head&&1==e){alert(tablepress_strings.no_rowspan_table_head);return}if(tp.table.foot&&tp.table.rows-1==e){alert(tablepress_strings.no_rowspan_table_foot);return}}else if("#colspan#"==b&&tp.table.no_data_columns_pre==d){alert(tablepress_strings.no_colspan_first_col);return}c.val(b);tp.table.set_table_changed()})}}},check:{table_id:function(b){37==b.which||39==b.which||(b=a(this),b.val(b.val().replace(/[^0-9a-zA-Z-_]/g,"")))}, 
    37 changes_saved:function(){if(tp.made_changes)return tablepress_strings.unsaved_changes_unload}},reindex:function(){var b,c=a("#edit-form-body").children(),d,e={};tp.table.rows=c.length;tp.table.columns=0<tp.table.rows?c.first().children().length-tp.table.no_data_columns_pre-tp.table.no_data_columns_post:0;c.each(function(c,h){b=a(h);b.find("textarea").val(function(b,c){return""==c||"="!=c.charAt(0)?c:c.replace(/([A-Z]+[0-9]+)(?::([A-Z]+[0-9]+))?/g,function(b,c,f){e.hasOwnProperty(c)||(d=a("#cell-"+ 
     35function(){wpActiveEditor=this.id;this.selectionStart=this.selectionEnd=this.value.length;var b=a("#image-add"),c=a(window).width(),c=720<c?720:c,d=a(window).height();a("body.admin-bar").length&&(d-=28);tb_show(b.text(),b.attr("href")+"&TB_iframe=true&height="+(d-85)+"&width="+(c-80),!1);a(this).blur()});return!1}},span:{add:function(b){if(confirm("#rowspan#"==b?tablepress_strings.rowspan_add:tablepress_strings.colspan_add))a("#edit-form-body").one("click","textarea",function(){var c=a(this),d=c.parent().index(), 
     36e=c.closest("tr").index();if("#rowspan#"==b){if(0==e){alert(tablepress_strings.no_rowspan_first_row);return}if(tp.table.head&&1==e){alert(tablepress_strings.no_rowspan_table_head);return}if(tp.table.foot&&tp.table.rows-1==e){alert(tablepress_strings.no_rowspan_table_foot);return}}else if("#colspan#"==b&&tp.table.no_data_columns_pre==d){alert(tablepress_strings.no_colspan_first_col);return}c.val(b);tp.table.set_table_changed()})}}},check:{table_id:function(b){37==b.which||39==b.which||(b=a(this),b.val(b.val().replace(/[^0-9a-zA-Z-_]/g, 
     37"")))},changes_saved:function(){if(tp.made_changes)return tablepress_strings.unsaved_changes_unload}},reindex:function(){var b,c=a("#edit-form-body").children(),d,e={};tp.table.rows=c.length;tp.table.columns=0<tp.table.rows?c.first().children().length-tp.table.no_data_columns_pre-tp.table.no_data_columns_post:0;c.each(function(c,h){b=a(h);b.find("textarea").val(function(b,c){return""==c||"="!=c.charAt(0)?c:c.replace(/([A-Z]+[0-9]+)(?::([A-Z]+[0-9]+))?/g,function(b,c,f){e.hasOwnProperty(c)||(d=a("#cell-"+ 
    3838c),e[c]=d.length?tp.columns.number_to_letter(d.parent().index()-tp.table.no_data_columns_pre+1)+(d.closest("tr").index()+1):c);b=e[c];"undefined"!=typeof f&&(e.hasOwnProperty(f)||(d=a("#cell-"+f),e[f]=d.length?tp.columns.number_to_letter(d.parent().index()-tp.table.no_data_columns_pre+1)+(d.closest("tr").index()+1):f),b+=":"+e[f]);return b})}).attr("name",function(a){return"table[data]["+c+"]["+a+"]"});b.find(".move-handle").html(c+1)}).each(function(b,c){a(c).find("textarea").attr("id",function(a){return"cell-"+ 
    3939tp.columns.number_to_letter(a+1)+(b+1)})});a("#edit-form-head").find(".move-handle").html(function(a){return tp.columns.number_to_letter(a+1)});a("#number-rows").val(tp.table.rows);a("#number-columns").val(tp.table.columns);tp.table.set_table_changed()},save_changes:{trigger:function(b){/[^A-Za-z0-9- _]/.test(a("#option-extra-css-classes").val())?(alert(tablepress_strings.extra_css_classes_invalid),a("#option-extra-css-classes").focus().select()):b.shiftKey?(tp.made_changes=!1,a("#tablepress-page").find("form").submit()): 
    40 (a(this).closest("p").append('<span class="animation-saving" title="'+tablepress_strings.saving_changes+'"/>'),a(".save-changes-button").prop("disabled",!0),a("body").addClass("wait"),a.post(ajaxurl,tp.table.prepare_ajax_request("tablepress_save_table","#nonce-edit-table"),function(){},"json").success(tp.save_changes.ajax_success).error(tp.save_changes.ajax_error))},ajax_success:function(a,c){"undefined"==typeof c||"success"!=c?tp.save_changes.error('AJAX call successful, but unclear status. Try again while holding down the "Shift" key.'): 
    41 "undefined"==typeof a||null==a||"-1"==a||"undefined"==typeof a.success||!0!==a.success?tp.save_changes.error('AJAX call successful, but unclear data. Try again while holding down the "Shift" key.'):tp.save_changes.success(a)},ajax_error:function(a,c,d){tp.save_changes.error("AJAX call failed: "+c+" - "+d+'. Try again while holding down the "Shift" key.')},success:function(b){tp.table.id!=b.table_id&&"pushState"in window.history&&null!==window.history.pushState&&window.history.pushState("","",window.location.href.replace(/table_id=[0-9a-zA-Z-_]+/gi, 
    42 "table_id="+b.table_id));tp.table.id=tp.table.new_id=b.table_id;a("#table-id").val(tp.table.id);a("#table-new-id").val(tp.table.new_id);a(".table-shortcode").val("["+tablepress_options.shortcode+" id="+tp.table.new_id+" /]");a("#nonce-edit-table").val(b.new_edit_nonce);a("#nonce-preview-table").val(b.new_preview_nonce);a(".show-preview-button").attr("href",a(".show-preview-button").first().attr("href").replace(/item=[a-zA-Z0-9_-]+/g,"item="+b.table_id).replace(/&_wpnonce=[a-z0-9]+/ig,"&_wpnonce="+ 
    43 b.new_preview_nonce));a("#last-modified").text(b.last_modified);a("#last-editor").text(b.last_editor);tp.table.unset_table_changed();tp.save_changes.after_saving_dialog("success",tablepress_strings[b.message])},error:function(a){tp.save_changes.after_saving_dialog("error",a)},after_saving_dialog:function(b,c){var c="undefined"==typeof c?"":": "+c,d,e="save-changes-"+b;"success"==b?(e+=" updated",d=3E3):(e+=" error",d=6E3);a(".animation-saving").closest("p").after('<div class="'+e+'"><p><strong>'+ 
    44 tablepress_strings["save_changes_"+b]+c+"</strong></p></div>");a(".animation-saving").remove();a(".save-changes-"+b).delay(d).fadeOut(2E3,function(){a(this).remove()});a(".save-changes-button").prop("disabled",!1);a("body").removeClass("wait")}},init:function(){var b={click:{"#rows-insert":tp.rows.insert,"#columns-insert":tp.columns.insert,"#rows-remove":tp.rows.remove,"#columns-remove":tp.columns.remove,"#rows-hide":tp.rows.hide,"#columns-hide":tp.columns.hide,"#rows-unhide":tp.rows.unhide,"#columns-unhide":tp.columns.unhide, 
    45 "#rows-append":tp.rows.append,"#columns-append":tp.columns.append,"#link-add":tp.content.link.add,"#image-add":tp.content.image.add,"#span-add-rowspan":function(){tp.content.span.add("#rowspan#")},"#span-add-colspan":function(){tp.content.span.add("#colspan#")},".show-preview-button":tp.table.preview.trigger,".save-changes-button":tp.save_changes.trigger,".show-help-box":function(){a(this).next().wpdialog({title:a(this).attr("title"),height:400,width:300,modal:!0,dialogClass:"wp-dialog",resizable:!1})}}, 
    46 keyup:{"#table-new-id":tp.check.table_id},change:{"#option-table-head":tp.table.change_table_head,"#option-table-foot":tp.table.change_table_foot,"#option-use-datatables":tp.table.change_datatables,"#option-datatables-paginate":tp.table.change_datatables_pagination},blur:{"#table-new-id":tp.table.change_id}},c=a("#edit-form-body");a.each(b,function(b,c){a.each(c,function(c,e){a(c).on(b,e)})});a(window).on("beforeunload",tp.check.changes_saved);a("#option-table-head").change();a("#option-print-name").change(tp.table.change_print_name_description).change(); 
    47 a("#option-print-description").change(tp.table.change_print_name_description).change();c.one("change","textarea",tp.table.set_table_changed);a("#tablepress_edit-table-information, #tablepress_edit-table-options, #tablepress_edit-datatables-features").one("change","input, textarea, select",tp.table.set_table_changed);tablepress_options.cells_advanced_editor?(c.on("click","textarea",tp.cells.advanced_editor.keyopen),a("#advanced-editor-open").on("click",tp.cells.advanced_editor.buttonopen),a("#advanced-editor-confirm").on("click", 
    48 tp.cells.advanced_editor.save),a("#advanced-editor-cancel").on("click",tp.cells.advanced_editor.close),a("#advanced-editor").wpdialog({autoOpen:!1,title:a("#advanced-editor-open").val(),width:600,modal:!0,dialogClass:"wp-dialog",resizable:!1})):a("#advanced-editor-open").hide();if(tablepress_options.cells_auto_grow)c.on("focus","textarea",tp.cells.autogrow);a("#edit-form-body").on("click","input:checkbox",{parent:"#edit-form-body"},tp.cells.checkboxes.multi_select);a("#edit-form-foot").on("click", 
    49 "input:checkbox",{parent:"#edit-form-foot"},tp.cells.checkboxes.multi_select);a("#edit-form-head").on("click",".sort-control",tp.rows.sort);a("#tablepress-page").find("form").on("submit",function(){a(this).find(".tablepress-postbox-table").find("input, select").prop("disabled",!1)});c.sortable({axis:"y",containment:a("#edit-form"),forceHelperSize:!0,handle:".move-handle",start:tp.rows.move.start,change:tp.rows.move.change,stop:tp.rows.move.stop,update:tp.reindex});a("#edit-form-head").sortable({axis:"x", 
    50 items:".head",containment:"parent",forceHelperSize:!0,helper:"clone",handle:".move-handle",start:tp.columns.move.start,stop:tp.columns.move.stop,change:tp.columns.move.change,sort:tp.columns.move.sort}).disableSelection()}};a("#wpbody-content").css("overflow-x","scroll");tp.init();window.send_to_editor=function(a){"undefined"!=typeof QTags?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a;try{tb_remove()}catch(c){}tp.table.set_table_changed()}}); 
     40(a(this).closest("p").append('<span class="animation-saving spinner" title="'+tablepress_strings.saving_changes+'"/>'),a(".save-changes-button").prop("disabled",!0),a("body").addClass("wait"),a.post(ajaxurl,tp.table.prepare_ajax_request("tablepress_save_table","#nonce-edit-table"),function(){},"json").success(tp.save_changes.ajax_success).error(tp.save_changes.ajax_error))},ajax_success:function(a,c){"undefined"==typeof c||"success"!=c?tp.save_changes.error("AJAX call successful, but unclear status. Try again while holding down the &#8220;Shift&#8221; key."): 
     41"undefined"==typeof a||null==a||"-1"==a||"undefined"==typeof a.success||!0!==a.success?tp.save_changes.error("AJAX call successful, but unclear data. Try again while holding down the &#8220;Shift&#8221; key."):tp.save_changes.success(a)},ajax_error:function(a,c,d){tp.save_changes.error("AJAX call failed: "+c+" - "+d+". Try again while holding down the &#8220;Shift&#8221; key.")},success:function(b){tp.table.id!=b.table_id&&"pushState"in window.history&&null!==window.history.pushState&&window.history.pushState("", 
     42"",window.location.href.replace(/table_id=[0-9a-zA-Z-_]+/gi,"table_id="+b.table_id));tp.table.id=tp.table.new_id=b.table_id;a("#table-id").val(tp.table.id);a("#table-new-id").val(tp.table.new_id);a(".table-shortcode").val("["+tablepress_options.shortcode+" id="+tp.table.new_id+" /]");a("#nonce-edit-table").val(b.new_edit_nonce);a("#nonce-preview-table").val(b.new_preview_nonce);a(".show-preview-button").attr("href",a(".show-preview-button").first().attr("href").replace(/item=[a-zA-Z0-9_-]+/g,"item="+ 
     43b.table_id).replace(/&_wpnonce=[a-z0-9]+/ig,"&_wpnonce="+b.new_preview_nonce));a("#last-modified").text(b.last_modified);a("#last-editor").text(b.last_editor);tp.table.unset_table_changed();tp.save_changes.after_saving_dialog("success",tablepress_strings[b.message])},error:function(a){tp.save_changes.after_saving_dialog("error",a)},after_saving_dialog:function(b,c){var c="undefined"==typeof c?"":": "+c,d,e="save-changes-"+b;"success"==b?(e+=" updated",d=3E3):(e+=" error",d=6E3);a(".animation-saving").closest("p").after('<div class="'+ 
     44e+'"><p><strong>'+tablepress_strings["save_changes_"+b]+c+"</strong></p></div>");a(".animation-saving").remove();a(".save-changes-"+b).delay(d).fadeOut(2E3,function(){a(this).remove()});a(".save-changes-button").prop("disabled",!1);a("body").removeClass("wait")}},init:function(){var b={click:{"#rows-insert":tp.rows.insert,"#columns-insert":tp.columns.insert,"#rows-remove":tp.rows.remove,"#columns-remove":tp.columns.remove,"#rows-hide":tp.rows.hide,"#columns-hide":tp.columns.hide,"#rows-unhide":tp.rows.unhide, 
     45"#columns-unhide":tp.columns.unhide,"#rows-append":tp.rows.append,"#columns-append":tp.columns.append,"#link-add":tp.content.link.add,"#image-add":tp.content.image.add,"#span-add-rowspan":function(){tp.content.span.add("#rowspan#")},"#span-add-colspan":function(){tp.content.span.add("#colspan#")},".show-preview-button":tp.table.preview.trigger,".save-changes-button":tp.save_changes.trigger,".show-help-box":function(){a(this).next().wpdialog({title:a(this).attr("title"),height:400,width:300,modal:!0, 
     46dialogClass:"wp-dialog",resizable:!1})}},keyup:{"#table-new-id":tp.check.table_id},change:{"#option-table-head":tp.table.change_table_head,"#option-table-foot":tp.table.change_table_foot,"#option-use-datatables":tp.table.change_datatables,"#option-datatables-paginate":tp.table.change_datatables_pagination},blur:{"#table-new-id":tp.table.change_id}},c=a("#edit-form-body");a.each(b,function(b,c){a.each(c,function(c,e){a(c).on(b,e)})});a(window).on("beforeunload",tp.check.changes_saved);a("#option-table-head").change(); 
     47a("#option-print-name").change(tp.table.change_print_name_description).change();a("#option-print-description").change(tp.table.change_print_name_description).change();c.one("change","textarea",tp.table.set_table_changed);a("#tablepress_edit-table-information, #tablepress_edit-table-options, #tablepress_edit-datatables-features").one("change","input, textarea, select",tp.table.set_table_changed);tablepress_options.cells_advanced_editor?(c.on("click","textarea",tp.cells.advanced_editor.keyopen),a("#advanced-editor-open").on("click", 
     48tp.cells.advanced_editor.buttonopen),a("#advanced-editor-confirm").on("click",tp.cells.advanced_editor.save),a("#advanced-editor-cancel").on("click",tp.cells.advanced_editor.close),a("#advanced-editor").wpdialog({autoOpen:!1,title:a("#advanced-editor-open").val(),width:600,modal:!0,dialogClass:"wp-dialog",resizable:!1})):a("#advanced-editor-open").hide();if(tablepress_options.cells_auto_grow)c.on("focus","textarea",tp.cells.autogrow);a("#edit-form-body").on("click","input:checkbox",{parent:"#edit-form-body"}, 
     49tp.cells.checkboxes.multi_select);a("#edit-form-foot").on("click","input:checkbox",{parent:"#edit-form-foot"},tp.cells.checkboxes.multi_select);a("#edit-form-head").on("click",".sort-control",tp.rows.sort);a("#tablepress-page").find("form").on("submit",function(){a(this).find(".tablepress-postbox-table").find("input, select").prop("disabled",!1)});c.sortable({axis:"y",containment:a("#edit-form"),forceHelperSize:!0,handle:".move-handle",start:tp.rows.move.start,change:tp.rows.move.change,stop:tp.rows.move.stop, 
     50update:tp.reindex});a("#edit-form-head").sortable({axis:"x",items:".head",containment:"parent",forceHelperSize:!0,helper:"clone",handle:".move-handle",start:tp.columns.move.start,stop:tp.columns.move.stop,change:tp.columns.move.change,sort:tp.columns.move.sort}).disableSelection()}};a("#wpbody-content").css("overflow","visible");tp.init();window.send_to_editor=function(a){"undefined"!=typeof QTags?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a;try{tb_remove()}catch(c){}tp.table.set_table_changed()}}); 
  • tablepress/trunk/admin/export.js

    r589540 r623199  
    6161            .prop( 'checked', zip_file_required || zip_file_manually_checked ); 
    6262        $( '#tables-export-zip-file-description' ).toggle( zip_file_required ); 
     63        // set state of "Select all" checkbox 
     64        $( '#tables-export-select-all' ).prop( 'checked', 0 == $(this).find( 'option' ).not( ':selected' ).length ); 
    6365    } ) 
    6466    .change(); 
     67 
     68    /** 
     69     * Select all entries from the multiple-select dropdown on checkbox change 
     70     * 
     71     * @since 1.0.0 
     72     */ 
     73    $( '#tables-export-select-all' ).on( 'change', function() { 
     74        var $tables = $( '#tables-export' ); 
     75        $tables.find( 'option' ).prop( 'selected', $(this).prop( 'checked' ) ); 
     76        $tables.change(); // to update ZIP file checkbox 
     77    } ); 
    6578 
    6679    /** 
  • tablepress/trunk/admin/export.min.js

    r589540 r623199  
    11jQuery(document).ready(function(a){a("#tablepress-page").find("form").on("submit",function(){var b=a("#tables-export").val();if(0==(b?b.length:0))return!1;a("#tables-export-list").val(b.join(","));a("#tables-export-zip-file").prop("disabled",!1)});a("#tables-export-format").on("change",function(){var b="csv"!==a(this).val();a("#tables-export-csv-delimiter").prop("disabled",b);a("#tables-export-csv-delimiter-description").toggle(b)}).change();var c=!1;a("#tables-export-zip-file").on("change",function(){c= 
    2 a(this).prop("checked")});a("#tables-export").on("change",function(){var b=a(this).val(),b=1<(b?b.length:0);a("#tables-export-zip-file").prop("disabled",b).prop("checked",b||c);a("#tables-export-zip-file-description").toggle(b)}).change();a("#tables-export").focus()}); 
     2a(this).prop("checked")});a("#tables-export").on("change",function(){var b=a(this).val(),b=1<(b?b.length:0);a("#tables-export-zip-file").prop("disabled",b).prop("checked",b||c);a("#tables-export-zip-file-description").toggle(b);a("#tables-export-select-all").prop("checked",0==a(this).find("option").not(":selected").length)}).change();a("#tables-export-select-all").on("change",function(){var b=a("#tables-export");b.find("option").prop("selected",a(this).prop("checked"));b.change()});a("#tables-export").focus()}); 
  • tablepress/trunk/admin/import.js

    r600237 r623199  
    4747     * @since 1.0.0 
    4848     */ 
    49     $( '#tables-import-file-upload' ).on( 'change', set_import_format ); 
    50     $( '#tables-import-url, #tables-import-server' ).on( 'blur', set_import_format ); 
    51     function set_import_format() { 
     49    $( '#tables-import-file-upload, #tables-import-url, #tables-import-server' ).on( 'change', function( event ) { 
    5250        var path = $(this).val(), 
    5351            filename_start, 
    5452            extension_start, 
    5553            filename = path, 
    56             extension = ''; 
     54            extension = 'csv'; 
     55 
     56        // default extension: CSV for file upload and server, HTML for URL 
     57        if ( 'tables-import-url' == event.target.id ) 
     58            extension = 'html'; 
    5759        // determine filename from full path 
    5860        filename_start = path.lastIndexOf( '\\' ); 
    59         if ( -1 != filename_start ) { // Windows-based path 
     61        if ( -1 != filename_start ) { // Windows-based path 
    6062            filename = path.substr( filename_start + 1 ); 
    6163        } else { 
    6264            filename_start = path.lastIndexOf( '/' ); 
    63             if ( -1 != filename_start ) { // Windows-based path 
     65            if ( -1 != filename_start ) { // Windows-based path 
    6466                filename = path.substr( filename_start + 1 ); 
    6567            } 
    6668        } 
    6769        // determine extension from filename 
    68         extension_start = path.lastIndexOf( '.' ); 
     70        extension_start = filename.lastIndexOf( '.' ); 
    6971        if ( -1 != extension_start ) 
    70             extension = path.substr( extension_start + 1 ).toLowerCase(); 
     72            extension = filename.substr( extension_start + 1 ).toLowerCase(); 
     73 
     74        // allow .htm for HTML as well 
     75        if ( 'htm' == extension ) 
     76            extension = 'html'; 
    7177 
    7278        $( '#tables-import-format' ).val( extension ); 
    73     } 
     79    } ); 
    7480 
    7581    /** 
     
    126132            return false; 
    127133        } 
     134 
     135        /* At least one checkbox must be check, to have something imported */ 
     136        if ( ! $( '#import-wp-table-reloaded-tables' ).prop( 'checked' ) && ! $( '#import-wp-table-reloaded-css' ).prop( 'checked' ) ) { 
     137            alert( tablepress_import.error_wp_table_reloaded_nothing_selected ); 
     138            return false; 
     139        } 
     140 
    128141    } ); 
    129142 
  • tablepress/trunk/admin/import.min.js

    r600237 r623199  
    1 jQuery(document).ready(function(a){function d(){var c=a(this).val(),b,d="";b=c.lastIndexOf("\\");-1!=b?c.substr(b+1):(b=c.lastIndexOf("/"),-1!=b&&c.substr(b+1));b=c.lastIndexOf(".");-1!=b&&(d=c.substr(b+1).toLowerCase());a("#tables-import-format").val(d)}a("#row-import-add_replace").on("change","input",function(){a("#tables-import-replace-table").prop("disabled","replace"!=a(this).val())}).find("input:checked").change();a("#row-import-source").on("change","input",function(){a("#row-import-source-file-upload, #row-import-source-url, #row-import-source-server, #row-import-source-form-field").hide(); 
    2 a("#row-import-source-"+a(this).val()).show()}).find("input:checked").change();a("#row-import-wp-table-reloaded-source").on("change","input",function(){a("#row-import-wp-table-reloaded-source-dump-file, #row-import-wp-table-reloaded-source-db").hide();a("#row-import-wp-table-reloaded-source-"+a(this).val()).show()}).find("input:checked").change();a("#tables-import-file-upload").on("change",d);a("#tables-import-url, #tables-import-server").on("blur",d);a("#tablepress-page").find("form").on("submit.tablepress", 
    3 function(){var c=a("#row-import-source").find("input:checked").val(),c=a("#tables-import-"+c).get(0),b=!0;c.defaultValue==c.value&&(a(c).addClass("invalid").one("change",function(){a(this).removeClass("invalid")}).focus().select(),b=!1);"replace"==a("#row-import-add_replace").find("input:checked").val()&&""==a("#tables-import-replace-table").val()&&(a("#row-import-add_replace").one("change","input",function(){a("#tables-import-replace-table").removeClass("invalid")}),a("#tables-import-replace-table").addClass("invalid").one("change", 
    4 function(){a(this).removeClass("invalid")}).focus().select(),b=!1);if(!b)return!1});a("#tablepress-page").find("#submit_wp_table_reloaded_import").on("click",function(){a("#tablepress-page").find("form").off("submit.tablepress");if(a("#import-wp-table-reloaded-source-dump-file").prop("checked")&&""==a("#tables-import-wp-table-reloaded-dump-file").val())return a("#tables-import-wp-table-reloaded-dump-file").addClass("invalid").one("change",function(){a(this).removeClass("invalid")}).focus().select(), 
    5 !1})}); 
     1jQuery(document).ready(function(a){a("#row-import-add_replace").on("change","input",function(){a("#tables-import-replace-table").prop("disabled","replace"!=a(this).val())}).find("input:checked").change();a("#row-import-source").on("change","input",function(){a("#row-import-source-file-upload, #row-import-source-url, #row-import-source-server, #row-import-source-form-field").hide();a("#row-import-source-"+a(this).val()).show()}).find("input:checked").change();a("#row-import-wp-table-reloaded-source").on("change", 
     2"input",function(){a("#row-import-wp-table-reloaded-source-dump-file, #row-import-wp-table-reloaded-source-db").hide();a("#row-import-wp-table-reloaded-source-"+a(this).val()).show()}).find("input:checked").change();a("#tables-import-file-upload, #tables-import-url, #tables-import-server").on("change",function(b){var c=a(this).val(),e=c,d="csv";"tables-import-url"==b.target.id&&(d="html");b=c.lastIndexOf("\\");-1!=b?e=c.substr(b+1):(b=c.lastIndexOf("/"),-1!=b&&(e=c.substr(b+1)));c=e.lastIndexOf("."); 
     3-1!=c&&(d=e.substr(c+1).toLowerCase());"htm"==d&&(d="html");a("#tables-import-format").val(d)});a("#tablepress-page").find("form").on("submit.tablepress",function(){var b=a("#row-import-source").find("input:checked").val(),b=a("#tables-import-"+b).get(0),c=!0;b.defaultValue==b.value&&(a(b).addClass("invalid").one("change",function(){a(this).removeClass("invalid")}).focus().select(),c=!1);"replace"==a("#row-import-add_replace").find("input:checked").val()&&""==a("#tables-import-replace-table").val()&& 
     4(a("#row-import-add_replace").one("change","input",function(){a("#tables-import-replace-table").removeClass("invalid")}),a("#tables-import-replace-table").addClass("invalid").one("change",function(){a(this).removeClass("invalid")}).focus().select(),c=!1);if(!c)return!1});a("#tablepress-page").find("#submit_wp_table_reloaded_import").on("click",function(){a("#tablepress-page").find("form").off("submit.tablepress");if(a("#import-wp-table-reloaded-source-dump-file").prop("checked")&&""==a("#tables-import-wp-table-reloaded-dump-file").val())return a("#tables-import-wp-table-reloaded-dump-file").addClass("invalid").one("change", 
     5function(){a(this).removeClass("invalid")}).focus().select(),!1;if(!a("#import-wp-table-reloaded-tables").prop("checked")&&!a("#import-wp-table-reloaded-css").prop("checked"))return alert(tablepress_import.error_wp_table_reloaded_nothing_selected),!1})}); 
  • tablepress/trunk/classes/class-admin-page-helper.php

    r607623 r623199  
    6464    public function add_admin_footer_text() { 
    6565        // show admin footer message (only on pages of TablePress) 
    66         add_filter( 'admin_footer_text', array( &$this, '_admin_footer_text' ) ); 
     66        add_filter( 'admin_footer_text', array( $this, '_admin_footer_text' ) ); 
    6767    } 
    6868 
  • tablepress/trunk/classes/class-export.php

    r607623 r623199  
    7979     * @param string $export_format Format for the export ('csv', 'html', 'json') 
    8080     * @param string $csv_delimiter Delimiter for CSV export 
    81      * @return string Wrapped string for HTML export 
     81     * @return string Exported table (only data for CSV and HTML, full tables (including options) for JSON) 
    8282     */ 
    8383    public function export_table( $table, $export_format, $csv_delimiter ) { 
     
    100100                foreach ( $table['data'] as $row_idx => $row ) { 
    101101                    $output .= "\t<tr>\n"; 
    102                     $row = array_map( array( &$this, 'html_wrap_and_escape' ), $row ); 
     102                    $row = array_map( array( $this, 'html_wrap_and_escape' ), $row ); 
    103103                    $output .= implode( '', $row ); 
    104104                    $output .= "\t</tr>\n"; 
     
    107107                break; 
    108108            case 'json': 
    109                 $output = json_encode( $table['data'] ); 
     109                $output = json_encode( $table ); 
    110110                break; 
    111111            default: 
  • tablepress/trunk/classes/class-import.php

    r607623 r623199  
    5858 
    5959    /** 
    60      * Imported table data 
     60     * Imported table 
    6161     * 
    6262     * @since 1.0.0 
     
    9494     * @param string $format Import format 
    9595     * @param array $data Data to import 
    96      * @return bool|array False on error, data array on success 
     96     * @return bool|array False on error, table array on success 
    9797     */ 
    9898    function import_table( $format, $data ) { 
     
    109109                break; 
    110110            case 'html': 
    111                 if ( ! $this->html_import_support_available ) 
    112                     return false; 
    113111                $this->import_html(); 
    114112                break; 
     
    136134        $delimiter = $csv_parser->find_delimiter(); 
    137135        $data = $csv_parser->parse( $delimiter ); 
    138         $this->imported_table = $this->pad_array_to_max_cols( $data ); 
     136        $this->imported_table = array( 'data' => $this->pad_array_to_max_cols( $data ) ); 
    139137    } 
    140138 
     
    145143     */ 
    146144    protected function import_html() { 
     145        if ( ! $this->html_import_support_available ) 
     146            return false; 
     147 
    147148        // extract table from HTML, pattern: <table> (with eventually class, id, ... 
    148149        // . means any charactery (except newline), 
     
    203204            $rows = array_merge( $rows, $this->_import_html_rows( $table->tfoot[0]->tr ) ); 
    204205 
    205         $this->imported_table = $this->pad_array_to_max_cols( $rows ); 
     206        $this->imported_table = array( 'data' => $this->pad_array_to_max_cols( $rows ) ); 
    206207    } 
    207208 
     
    241242     */ 
    242243    protected function import_json() { 
    243         $data = json_decode( $this->import_data, true ); 
    244         $this->imported_table = $this->pad_array_to_max_cols( $data ); 
     244        $json_table = json_decode( $this->import_data, true ); 
     245 
     246        if ( isset( $json_table['data'] ) ) 
     247            // JSON data contained a full export 
     248            $table = $json_table; 
     249        else 
     250            // JSON data contained only the data of a table, but no options 
     251            $table = array( 'data' => $json_table ); 
     252 
     253        $table['data'] = $this->pad_array_to_max_cols( $table['data'] ); 
     254        $this->imported_table = $table; 
    245255    } 
    246256 
     
    304314     */ 
    305315    protected function fix_table_encoding() { 
    306         if ( ! is_array( $this->imported_table ) || 0 == count( $this->imported_table ) ) 
     316        if ( ! is_array( $this->imported_table['data'] ) || 0 == count( $this->imported_table['data'] ) ) 
    307317            return; 
    308318 
    309         foreach ( $this->imported_table as $row_idx => $row ) { 
    310             $this->imported_table[ $row_idx ] = array_map( array( &$this, 'fix_encoding' ), $row ); 
     319        foreach ( $this->imported_table['data'] as $row_idx => $row ) { 
     320            $this->imported_table['data'][ $row_idx ] = array_map( array( $this, 'fix_encoding' ), $row ); 
    311321        } 
    312322    } 
  • tablepress/trunk/classes/class-render.php

    r607623 r623199  
    169169                // add all rows/columns to array if "all" value set for one of the four parameters 
    170170                if ( 'all' == $this->render_options["{$action}_{$element}"] ) { 
    171                     $this->render_options["{$action}_{$element}"] = range( 0, $num_{$element} - 1 ); 
     171                    $this->render_options["{$action}_{$element}"] = range( 0, ${'num_' . $element} - 1 ); 
    172172                    continue; 
    173173                } 
     
    485485            $output .= $print_description_html; 
    486486 
    487         $this->output = apply_filters( 'tablepress_table_output', $output , $this->table, $this->render_options ); 
     487        $this->output = apply_filters( 'tablepress_table_output', $output, $this->table, $this->render_options ); 
    488488    } 
    489489 
     
    537537                // we are in first, second, or last row or in the first or second column, so more checks are necessary 
    538538                || ( ( 1 == $row_idx && ! $this->render_options['table_head'] ) // no rowspan into table_head 
    539                     && ( $col_idx > 1 || ( 1 == $col_idx && ! $this->render_options['first_column_th'] ) ) ) // and no colspan into first column head 
     539                    && ( $col_idx > 1 || ( 1 == $col_idx && ! $this->render_options['first_column_th'] ) ) ) // and no colspan into first column head 
    540540                || ( ( $this->last_row_idx == $row_idx && ! $this->render_options['table_foot'] ) // no rowspan out of table_foot 
    541541                    && ( $col_idx > 1 || ( 1 == $col_idx && ! $this->render_options['first_column_th'] ) ) ) ) // and no colspan into first column head 
     
    566566        if ( $this->render_options['alternating_row_colors'] ) 
    567567            $row_class .= ( 1 == ( $row_idx % 2 ) ) ? ' even' : ' odd'; 
    568         $row_class = apply_filters( 'tablepress_row_css_class', $row_class, $this->table['id'], $row_cells, $row_idx + 1 ); 
     568        $row_class = apply_filters( 'tablepress_row_css_class', $row_class, $this->table['id'], $row_cells, $row_idx + 1, $this->table['data'][ $row_idx ] ); 
    569569        if ( ! empty( $row_class ) ) 
    570570            $row_class = " class=\"{$row_class}\""; 
    571571 
    572572        $row_cells = array_reverse( $row_cells ); // because we looped through the cells in reverse order 
    573         return "\t<tr{$row_class}>\n\t\t" . implode( '', $row_cells ) . "\n\t</tr>\n"; 
     573        return "<tr{$row_class}>\n\t" . implode( '', $row_cells ) . "\n</tr>\n"; 
    574574    } 
    575575 
     
    624624            'datatables_info' => null, 
    625625            'datatables_scrollX' => null, 
    626             //'datatables_tabletools' => false, 
    627626            'datatables_custom_commands' => null, 
    628627            'datatables_locale' => get_locale(), 
     
    652651.tablepress { 
    653652    border-collapse: collapse; 
     653    border-spacing: 0; 
     654    width: 100%; 
     655    margin-bottom: 10px auto; 
    654656    border: none; 
    655     margin: 10px auto; 
    656657} 
    657658.tablepress td, 
    658659.tablepress th { 
    659     box-sizing: border-box; 
    660     width: 200px; 
    661660    padding: 8px; 
     661    border: none; 
     662    background: none; 
    662663    text-align: left; 
    663664} 
    664 .tablepress tbody tr, 
    665 .tablepress tfoot tr { 
     665.tablepress tbody tr td, 
     666.tablepress tfoot tr th { 
    666667    border-top: 1px solid #dddddd; 
    667668} 
    668 .tablepress tbody tr:first-child { 
     669.tablepress tbody tr:first-child td { 
    669670    border-top: 0; 
    670671} 
    671 .tablepress thead tr { 
     672.tablepress thead tr th { 
    672673    border-bottom: 1px solid #dddddd; 
    673674} 
    674 .tablepress thead tr, 
    675 .tablepress tfoot tr { 
     675.tablepress thead th, 
     676.tablepress tfoot th { 
    676677    background-color: #d9edf7; 
    677 } 
    678 .tablepress tbody tr.even { 
     678    font-weight: bold; 
     679} 
     680.tablepress tbody tr.odd td { 
     681    background-color: #f9f9f9; 
     682} 
     683.tablepress tbody tr.even td { 
    679684    background-color: #ffffff; 
    680685} 
    681 .tablepress tbody tr.odd { 
    682     background-color: #f9f9f9; 
    683 } 
    684 .tablepress .row-hover tr:hover { 
     686.tablepress .row-hover tr:hover td { 
    685687    background-color: #f3f3f3; 
    686688} 
  • tablepress/trunk/classes/class-tablepress.php

    r607623 r623199  
    2828     * @const string 
    2929     */ 
    30     const version = '0.6-beta'; 
     30    const version = '0.7-beta'; 
    3131 
    3232    /** 
     
    3939     * @const int 
    4040     */ 
    41     const db_version = 9; 
     41    const db_version = 10; 
    4242 
    4343    /** 
  • tablepress/trunk/classes/class-view.php

    r607623 r623199  
    103103        if ( 0 != $this->screen_columns ) 
    104104            $screen->add_option( 'layout_columns', array( 'max' => $this->screen_columns ) ); 
    105         add_filter( "get_user_option_screen_layout_{$screen->id}", array( &$this, 'set_current_screen_layout_columns' ) ); // enable two column layout 
     105        add_filter( "get_user_option_screen_layout_{$screen->id}", array( $this, 'set_current_screen_layout_columns' ) ); // enable two column layout 
    106106 
    107107        // add help tab 
     
    110110            'title' => __( 'TablePress Help', 'tablepress' ), 
    111111            'content' => '<p>' . $this->help_tab_content() . '</p>' 
    112                         . '<p>' . sprintf( __( 'More information about TablePress can be found on the <a href="%1$s">plugin\'s website</a> or on its page in the <a href="%s">WordPress Plugin Directory</a>.', 'tablepress' ), 'http://tablepress.org/', 'http://wordpress.org/extend/plugins/tablepress/' ) . ' ' 
     112                        . '<p>' . sprintf( __( 'More information about TablePress can be found on the <a href="%1$s">plugin&#8217;s website</a> or on its page in the <a href="%s">WordPress Plugin Directory</a>.', 'tablepress' ), 'http://tablepress.org/', 'http://wordpress.org/extend/plugins/tablepress/' ) . ' ' 
    113113                        . sprintf( __( 'For technical information, see the <a href="%1$s">documentation</a>.', 'tablepress' ), 'http://tablepress.org/documentation/' ) . ' ' 
    114114                        . sprintf( __( '<a href="%1$s">Support</a> is provided through the <a href="%2$s">WordPress Support Forums</a>.', 'tablepress' ), 'http://tablepress.org/support/', 'http://wordpress.org/tags/tablepress' ) . ' ' 
     
    173173 
    174174        // necessary fields for all views 
    175         $this->add_text_box( 'default_nonce_fields', array( &$this, 'default_nonce_fields' ), 'header', false ); 
    176         $this->add_text_box( 'action_nonce_field', array( &$this, 'action_nonce_field' ), 'header', false ); 
    177         $this->add_text_box( 'action_field', array( &$this, 'action_field' ), 'header', false ); 
     175        $this->add_text_box( 'default_nonce_fields', array( $this, 'default_nonce_fields' ), 'header', false ); 
     176        $this->add_text_box( 'action_nonce_field', array( $this, 'action_nonce_field' ), 'header', false ); 
     177        $this->add_text_box( 'action_field', array( $this, 'action_field' ), 'header', false ); 
    178178    } 
    179179 
     
    430430        foreach ( array_diff( $this->wp_pointers, $dismissed ) as $pointer ) { 
    431431            // Bind pointer print function 
    432             add_action( "admin_footer-{$GLOBALS['hook_suffix']}", array( &$this, 'wp_pointer_' . $pointer ) ); 
     432            add_action( "admin_footer-{$GLOBALS['hook_suffix']}", array( $this, 'wp_pointer_' . $pointer ) ); 
    433433            $got_pointers = true; 
    434434        } 
  • tablepress/trunk/controllers/controller-admin.php

    r607623 r623199  
    5858 
    5959        // handler for changing the number of shown tables in the list of tables (via WP List Table class) 
    60         add_filter( 'set-screen-option', array( &$this, 'save_list_tables_screen_option' ), 10, 3 ); 
    61  
    62         add_action( 'admin_menu', array( &$this, 'add_admin_menu_entry' ) ); 
    63         add_action( 'admin_init', array( &$this, 'add_admin_actions' ) ); 
     60        add_filter( 'set-screen-option', array( $this, 'save_list_tables_screen_option' ), 10, 3 ); 
     61 
     62        add_action( 'admin_menu', array( $this, 'add_admin_menu_entry' ) ); 
     63        add_action( 'admin_init', array( $this, 'add_admin_actions' ) ); 
    6464    } 
    6565 
     
    8989        // for all menu entries: 
    9090        $min_access_cap = apply_filters( 'tablepress_min_access_cap', 'edit_pages' ); // @TODO: Make this a plugin option for usage here, below, and for the frontend edit link! 
    91         $callback = array( &$this, 'show_admin_page' ); 
     91        $callback = array( $this, 'show_admin_page' ); 
    9292        $admin_menu_entry_name = apply_filters( 'tablepress_admin_menu_entry_name', 'TablePress' ); 
    9393 
     
    115115                if ( 'list' != $action ) 
    116116                    $slug .= '_' . $action; 
    117                 $this->page_hooks[] = add_submenu_page( 'tablepress', sprintf( __( '%1$s &lsaquo; %2$s', 'tablepress' ), $entry['page_title'], 'TablePress' ) , $entry['admin_menu_title'], $entry['min_access_cap'], $slug, $callback ); 
     117                $this->page_hooks[] = add_submenu_page( 'tablepress', sprintf( __( '%1$s &lsaquo; %2$s', 'tablepress' ), $entry['page_title'], 'TablePress' ), $entry['admin_menu_title'], $entry['min_access_cap'], $slug, $callback ); 
    118118            } 
    119119        } else { 
     
    132132        $get_actions = array( 'hide_message', 'delete_table', 'copy_table', 'preview_table', 'editor_button_thickbox' ); 
    133133        foreach ( $post_actions as $action ) { 
    134             add_action( "admin_post_tablepress_{$action}", array( &$this, "handle_post_action_{$action}" ) ); 
     134            add_action( "admin_post_tablepress_{$action}", array( $this, "handle_post_action_{$action}" ) ); 
    135135        } 
    136136        foreach ( $get_actions as $action ) { 
    137             add_action( "admin_post_tablepress_{$action}", array( &$this, "handle_get_action_{$action}" ) ); 
     137            add_action( "admin_post_tablepress_{$action}", array( $this, "handle_get_action_{$action}" ) ); 
    138138        } 
    139139 
    140140        // register callbacks to trigger load behavior for admin pages 
    141141        foreach ( $this->page_hooks as $page_hook ) { 
    142             add_action( "load-{$page_hook}", array( &$this, 'load_admin_page' ) ); 
     142            add_action( "load-{$page_hook}", array( $this, 'load_admin_page' ) ); 
    143143        } 
    144144 
    145145        $pages_with_editor_button = array( 'post.php', 'post-new.php' ); 
    146146        foreach ( $pages_with_editor_button as $editor_page ) { 
    147             add_action( "load-{$editor_page}", array( &$this, 'add_editor_buttons' ) ); 
     147            add_action( "load-{$editor_page}", array( $this, 'add_editor_buttons' ) ); 
    148148        } 
    149149 
    150150        if ( ! is_network_admin() && ! is_user_admin() ) 
    151             add_action( 'admin_bar_menu', array( &$this, 'add_wp_admin_bar_new_content_menu_entry' ), 71 ); 
    152  
    153         add_action( 'load-plugins.php', array( &$this, 'plugins_page' ) ); 
     151            add_action( 'admin_bar_menu', array( $this, 'add_wp_admin_bar_new_content_menu_entry' ), 71 ); 
     152 
     153        add_action( 'load-plugins.php', array( $this, 'plugins_page' ) ); 
    154154    } 
    155155 
     
    174174        // TinyMCE integration 
    175175        if ( user_can_richedit() ) { 
    176             add_filter( 'mce_external_plugins', array( &$this, 'add_tinymce_plugin' ) ); 
    177             add_filter( 'mce_buttons', array( &$this, 'add_tinymce_button' ) ); 
     176            add_filter( 'mce_external_plugins', array( $this, 'add_tinymce_plugin' ) ); 
     177            add_filter( 'mce_buttons', array( $this, 'add_tinymce_button' ) ); 
    178178        } 
    179179    } 
     
    229229        $this->init_i18n_support(); 
    230230        // add additional links on Plugins page 
    231         add_filter( 'plugin_action_links_' . TABLEPRESS_BASENAME, array( &$this, 'add_plugin_action_links' ) ); 
    232         add_filter( 'plugin_row_meta', array( &$this, 'add_plugin_row_meta' ), 10, 2 ); 
     231        add_filter( 'plugin_action_links_' . TABLEPRESS_BASENAME, array( $this, 'add_plugin_action_links' ) ); 
     232        add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta' ), 10, 2 ); 
    233233    } 
    234234 
     
    310310                $data['plugin_languages'] = $this->get_plugin_languages(); 
    311311                $data['first_activation'] = $this->model_options->get( 'first_activation' ); 
    312                 $dummy_exporter = TablePress::load_class( 'TablePress_Export', 'class-export.php', 'classes' ); // just to find out about ZIP support 
    313                 $data['zip_support_available'] = $dummy_exporter->zip_support_available; 
    314                 unset( $dummy_exporter ); 
     312                $exporter = TablePress::load_class( 'TablePress_Export', 'class-export.php', 'classes' ); 
     313                $data['zip_support_available'] = $exporter->zip_support_available; 
    315314                break; 
    316315            case 'options': 
     
    407406        if ( $this->i18n_support_loaded ) 
    408407            return; 
    409         add_filter( 'locale', array( &$this, 'change_plugin_locale' ) ); // allow changing the plugin language 
     408        add_filter( 'locale', array( $this, 'change_plugin_locale' ) ); // allow changing the plugin language 
    410409        $language_directory = basename( dirname( TABLEPRESS__FILE__ ) ) . '/i18n'; 
    411410        load_plugin_textdomain( 'tablepress', false, $language_directory ); 
    412         remove_filter( 'locale', array( &$this, 'change_plugin_locale' ) ); 
     411        remove_filter( 'locale', array( $this, 'change_plugin_locale' ) ); 
    413412        $this->i18n_support_loaded = true; 
    414413    } 
     
    434433            ) 
    435434        ); 
    436         uasort( $languages, array( &$this, '_get_plugin_languages_sort_cb' ) ); // to sort after the translation is done 
     435        uasort( $languages, array( $this, '_get_plugin_languages_sort_cb' ) ); // to sort after the translation is done 
    437436        return $languages; 
    438437    } 
     
    569568 
    570569        if ( empty( $_POST['table'] ) || ! is_array( $_POST['table'] ) ) 
    571             TablePress::redirect( array( 'action' => 'list', 'message' => "error_no_selection" ) ); 
     570            TablePress::redirect( array( 'action' => 'list', 'message' => 'error_no_selection' ) ); 
    572571        else 
    573572            $tables = stripslashes_deep( $_POST['table'] ); 
     
    949948                if ( ! empty( $import['form_field'] ) ) { 
    950949                    $import_data['file_location'] = ''; 
    951                     $import_data['file_name'] = ''; 
     950                    $import_data['file_name'] = __( 'Imported from Manual Input', 'tablepress' ); // Description of the table 
    952951                    $import_data['data'] = $import['form_field']; 
    953952                    $import_error = false; 
     
    10501049     */ 
    10511050    protected function _import_tablepress_table( $format, $data, $name, $description, $replace_id ) { 
    1052         $content = $this->importer->import_table( $format, $data ); 
    1053         if ( false === $content ) 
     1051        $imported_table = $this->importer->import_table( $format, $data ); 
     1052        if ( false === $imported_table ) 
    10541053            return false; 
    1055  
    1056         // size of imported table 
    1057         $num_rows = count( $content ); 
    1058         $num_columns = count( $content[0] ); 
    10591054 
    10601055        if ( false !== $replace_id ) { 
     
    10641059                return false; 
    10651060            // don't change name and description when a table is replaced 
    1066             $name = $table['name']; 
    1067             $description = $table['description']; 
    1068             // cut visibility array (if the imported table is smaller), will be padded correctly below if it is bigger 
    1069             $visibility = array( 
    1070                 'rows' => array_slice( $table['visibility']['rows'], 0, $num_rows ), 
    1071                 'columns' => array_slice( $table['visibility']['columns'], 0, $num_columns ) 
    1072             ); 
     1061            $imported_table['name'] = $table['name']; 
     1062            $imported_table['description'] = $table['description']; 
    10731063        } else { 
    10741064            $table = $this->model_table->get_table_template(); 
    1075             // will be padded correctly below 
    1076             $visibility = array( 
    1077                 'rows' => array(), 
    1078                 'columns' => array() 
    1079             ); 
     1065            // if name and description are imported from a new table, use those 
     1066            if ( ! isset( $imported_table['name'] ) ) 
     1067                $imported_table['name'] = $name; 
     1068            if ( ! isset( $imported_table['description'] ) ) 
     1069                $imported_table['description'] = $description; 
    10801070        } 
    10811071 
    10821072        // Merge new or existing table with information from the imported table 
    1083         $imported_table = array( 
    1084             'id' => $table['id'], // will be false for new table or the existing table ID 
    1085             'name' => $name, 
    1086             'description' => $description, 
    1087             'data' => $content, 
    1088             'visibility' => array( // pad correctly if imported table is bigger than existing table (or new template) 
    1089                 'rows' => array_pad( $visibility['rows'], $num_rows, 1 ), 
    1090                 'columns' => array_pad( $visibility['columns'], $num_columns, 1 ) 
    1091             ) 
     1073        $imported_table['id'] = $table['id']; // will be false for new table or the existing table ID 
     1074        // cut visibility array (if the imported table is smaller), and pad correctly if imported table is bigger than existing table (or new template) 
     1075        $num_rows = count( $imported_table['data'] ); 
     1076        $num_columns = count( $imported_table['data'][0] ); 
     1077        $imported_table['visibility'] = array( 
     1078            'rows' => array_pad( array_slice( $table['visibility']['rows'], 0, $num_rows ), $num_rows, 1 ), 
     1079            'columns' => array_pad( array_slice( $table['visibility']['columns'], 0, $num_columns ), $num_columns, 1 ) 
    10921080        ); 
    10931081 
     
    12751263        if ( isset( $wptr_table['options']['datatables_customcommands'] ) ) 
    12761264            $new_table['options']['datatables_custom_commands'] = $wptr_table['options']['datatables_customcommands']; 
    1277         // not imported: $wptr_table['options']['datatables_tabletools'] 
    12781265        // not imported: $wptr_table['options']['cache_table_output'] 
    12791266        // not imported: $wptr_table['custom_fields'] 
  • tablepress/trunk/controllers/controller-admin_ajax.php

    r607623 r623199  
    3434        $ajax_actions = array( 'hide_message', 'save_table', 'preview_table' ); 
    3535        foreach ( $ajax_actions as $action ) { 
    36             add_action( "wp_ajax_tablepress_{$action}", array( &$this, "ajax_action_{$action}" ) ); 
     36            add_action( "wp_ajax_tablepress_{$action}", array( $this, "ajax_action_{$action}" ) ); 
    3737        } 
    3838    } 
  • tablepress/trunk/controllers/controller-frontend.php

    r607623 r623199  
    4040        // enqueue CSS files 
    4141        if ( $this->model_options->get( 'use_default_css' ) || $this->model_options->get( 'use_custom_css' ) ) 
    42             add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_css' ) ); 
     42            add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_css' ) ); 
    4343 
    4444        // add DataTables invocation calls 
    45         add_action( 'wp_print_footer_scripts', array( &$this, 'add_datatables_calls' ), 11 ); // after inclusion of files 
     45        add_action( 'wp_print_footer_scripts', array( $this, 'add_datatables_calls' ), 11 ); // after inclusion of files 
    4646 
    4747        // Remove WP-Table Reloaded Shortcodes and add TablePress Shortcodes 
    48         add_action( 'init', array( &$this, 'init_shortcodes' ), 20 ); // run on priority 20 as WP-Table Reloaded Shortcodes are registered at priority 10 
     48        add_action( 'init', array( $this, 'init_shortcodes' ), 20 ); // run on priority 20 as WP-Table Reloaded Shortcodes are registered at priority 10 
    4949 
    5050        // make TablePress Shortcodes work in text widgets 
    51         add_filter( 'widget_text', array( &$this, 'widget_text_filter' ) ); 
     51        add_filter( 'widget_text', array( $this, 'widget_text_filter' ) ); 
    5252 
    5353        // extend WordPress Search to also find posts/pages that have a table with the one of the search terms in title (if shown), description (if shown), or content 
    5454        if ( apply_filters( 'tablepress_wp_search_integration', true ) ) 
    55             add_filter( 'posts_search', array( &$this, 'posts_search_filter' ) ); 
     55            add_filter( 'posts_search', array( $this, 'posts_search_filter' ) ); 
    5656 
    5757        // load Template Tag functions 
     
    7272        } 
    7373        // Shortcode "table-info" needs to be declared before "table"! Otherwise it will not be recognized! 
    74         add_shortcode( TablePress::$shortcode_info, array( &$this, 'shortcode_table_info' ) ); 
    75         add_shortcode( TablePress::$shortcode, array( &$this, 'shortcode_table' ) ); 
     74        add_shortcode( TablePress::$shortcode_info, array( $this, 'shortcode_table_info' ) ); 
     75        add_shortcode( TablePress::$shortcode, array( $this, 'shortcode_table' ) ); 
    7676    } 
    7777 
     
    117117                        wp_add_inline_style( 'tablepress-default', $custom_css ); // handle of the file to which the <style> shall be appended 
    118118                    else 
    119                         add_action( 'wp_head', array( &$this, '_print_custom_css' ), 8 ); // priority 8 to hook in right after WP_Styles has been processed 
     119                        add_action( 'wp_head', array( $this, '_print_custom_css' ), 8 ); // priority 8 to hook in right after WP_Styles has been processed 
    120120                } 
    121121            } 
     
    169169                // DataTables language/translation handling 
    170170                $datatables_locale = apply_filters( 'tablepress_datatables_locale', $js_options['datatables_locale'], $table_id ); 
    171                 // only load DataTables translation if it's not "en_US", which is loaded as the default by DataTables 
    172                 if ( 'en_US' != $datatables_locale ) { 
    173                     // only do the expensive language file checks if they haven't been done yet 
    174                     if ( ! isset( $datatables_languages[ $datatables_locale ] ) ) { 
    175                         $language_file = TABLEPRESS_ABSPATH . "i18n/datatables/lang-{$datatables_locale}.js"; 
    176                         $language_file = apply_filters( 'tablepress_datatables_language_file', $language_file, $datatables_locale, TABLEPRESS_ABSPATH ); 
    177                         if ( ! file_exists( $language_file ) ) 
    178                             $language_file = TABLEPRESS_ABSPATH . 'i18n/datatables/lang-default.js'; 
     171                // only do the expensive language file checks if they haven't been done yet 
     172                if ( ! isset( $datatables_languages[ $datatables_locale ] ) ) { 
     173                    $orig_language_file = TABLEPRESS_ABSPATH . "i18n/datatables/lang-{$datatables_locale}.js"; 
     174                    $language_file = apply_filters( 'tablepress_datatables_language_file', $orig_language_file, $datatables_locale, TABLEPRESS_ABSPATH ); // make sure to check file_exists( $new_file ) when using this filter! 
     175                    // load translation if it's not "en_US" (included as the default in DataTables) and the language file exists, or if the filter was used to change the language file 
     176                    if ( ( 'en_US' != $datatables_locale && file_exists( $language_file ) ) 
     177                        || ( $orig_language_file != $language_file ) ) 
    179178                        $datatables_languages[ $datatables_locale ] = $language_file; 
    180                     } 
     179                } 
     180                // if translation is registered to have its strings added to the JS, add corresponding parameter to DataTables call 
     181                if ( isset( $datatables_languages[ $datatables_locale ] ) ) 
    181182                    $parameters['oLanguage'] = '"oLanguage":DataTables_oLanguage["' . $datatables_locale . '"]'; 
    182                 } 
    183183                // these parameters need to be added for performance gain or to overwrite unwanted default behavior 
    184184                $parameters['aaSorting'] = '"aaSorting":[]'; // no initial sort 
     
    200200                if ( $js_options['datatables_scrollX'] ) 
    201201                    $parameters['sScrollX'] = '"sScrollX":"100%"'; 
    202                 //if ( $js_options['datatables_tabletools'] ) 
    203                 //  $parameters['sDom'] = '"sDom": \'T<"clear">lfrtip\''; 
    204202                if ( ! empty( $js_options['datatables_custom_commands'] ) ) 
    205203                    $parameters['custom_commands'] = $js_options['datatables_custom_commands']; 
     
    262260        $table_id = $shortcode_atts['id']; 
    263261        if ( ! $this->model_table->table_exists( $table_id ) ) { 
    264             $message = "[table &quot;{$table_id}&quot; not found /]<br />\n"; 
     262            $message = "[table &#8220;{$table_id}&#8221; not found /]<br />\n"; 
    265263            $message = apply_filters( 'tablepress_table_not_found_message', $message, $table_id ); 
    266264            return $message; 
     
    270268        $table = $this->model_table->load( $table_id ); 
    271269        if ( false === $table ) { 
    272             $message = "[table &quot;{$table_id}&quot; could not be loaded /]<br />\n"; 
     270            $message = "[table &#8220;{$table_id}&#8221; could not be loaded /]<br />\n"; 
    273271            $message = apply_filters( 'tablepress_table_load_error_message', $message, $table_id ); 
    274272            return $message; 
     
    302300            $render_options['html_id'] .= "-no-{$count}"; 
    303301        $render_options['html_id'] = apply_filters( 'tablepress_html_id', $render_options['html_id'], $table_id, $count ); 
    304  
    305         // eventually add this table to list of tables which have a JS library enabled and thus are to be included in the script's call in the footer 
    306         if ( $render_options['use_datatables'] && $render_options['table_head'] && count( $table['data'] ) > 1 ) { 
    307             // get options for the DataTables JavaScript library from the table's options 
    308             $js_options = array ( 
    309                 'alternating_row_colors' => $render_options['alternating_row_colors'], 
    310                 'datatables_sort' => $render_options['datatables_sort'], 
    311                 'datatables_paginate' => $render_options['datatables_paginate'], 
    312                 'datatables_paginate_entries' => $render_options['datatables_paginate_entries'], 
    313                 'datatables_lengthchange' => $render_options['datatables_lengthchange'], 
    314                 'datatables_filter' => $render_options['datatables_filter'], 
    315                 'datatables_info' => $render_options['datatables_info'], 
    316                 'datatables_scrollX' => $render_options['datatables_scrollX'], 
    317                 'datatables_locale' => $render_options['datatables_locale'], 
    318                 //'datatables_tabletools' => $render_options['datatables_tabletools'], 
    319                 'datatables_custom_commands' => $render_options['datatables_custom_commands'] 
    320             ); 
    321             $js_options = apply_filters( 'tablepress_table_js_options', $js_options, $table_id, $render_options ); 
    322             $this->shown_tables[$table_id]['instances'][ $render_options['html_id'] ] = $js_options; 
    323             $this->_enqueue_datatables(); 
    324         } 
    325302 
    326303        // generate "Edit Table" link 
     
    347324 
    348325        $render_options = apply_filters( 'tablepress_table_render_options', $render_options, $table ); 
     326 
     327        // eventually add this table to list of tables which have a JS library enabled and thus are to be included in the script's call in the footer 
     328        if ( $render_options['use_datatables'] && $render_options['table_head'] && count( $table['data'] ) > 1 ) { 
     329            // get options for the DataTables JavaScript library from the table's render options 
     330            $js_options = array(); 
     331            foreach ( array( 'alternating_row_colors', 'datatables_sort', 'datatables_paginate', 
     332                                'datatables_paginate', 'datatables_paginate_entries', 'datatables_lengthchange', 
     333                                'datatables_filter', 'datatables_info', 'datatables_scrollX', 
     334                                'datatables_locale', 'datatables_custom_commands' ) as $option ) { 
     335                $js_options[ $option ] = $render_options[ $option ]; 
     336            } 
     337            $js_options = apply_filters( 'tablepress_table_js_options', $js_options, $table_id, $render_options ); // need this filter to e.g. set JS parameters depending on Shortcode attributes 
     338            $this->shown_tables[$table_id]['instances'][ $render_options['html_id'] ] = $js_options; 
     339            $this->_enqueue_datatables(); 
     340        } 
    349341 
    350342        // check if table output shall and can be loaded from the transient cache, otherwise generate the output 
     
    366358                $caches_list[ $transient_name ] = 1; // 1 is a dummy value 
    367359                set_transient( $caches_list_transient_name, $caches_list, 60*60*24*2 ); 
     360            } else { 
     361                $output .= apply_filters( 'tablepress_cache_hit_comment', "<!-- #{$render_options['html_id']} from cache -->" ); 
    368362            } 
    369363        } else { 
     
    403397        $table_id = $shortcode_atts['id']; 
    404398        if ( ! $this->model_table->table_exists( $table_id ) ) { 
    405             $message = "[table &quot;{$table_id}&quot; not found /]<br />\n"; 
     399            $message = "[table &#8220;{$table_id}&#8221; not found /]<br />\n"; 
    406400            $message = apply_filters( 'tablepress_table_not_found_message', $message, $table_id ); 
    407401            return $message; 
     
    411405        $table = $this->model_table->load( $table_id ); 
    412406        if ( false === $table ) { 
    413             $message = "[table &quot;{$table_id}&quot; could not be loaded /]<br />\n"; 
     407            $message = "[table &#8220;{$table_id}&#8221; could not be loaded /]<br />\n"; 
    414408            $message = apply_filters( 'tablepress_table_load_error_message', $message, $table_id ); 
    415409            return $message; 
     
    453447                break; 
    454448            default: 
    455                     $output = "[table-info field &quot;{$field}&quot; not found in table &quot;{$table_id}&quot; /]<br />\n"; 
     449                    $output = "[table-info field &#8220;{$field}&#8221; not found in table &#8220;{$table_id}&#8221; /]<br />\n"; 
    456450                    $output = apply_filters( 'tablepress_table_info_not_found_message', $output, $table, $field, $format ); 
    457451        } 
     
    477471        $shortcode_tags = array(); 
    478472        // register TablePress's Shortcodes (which are then the only ones registered) 
    479         add_shortcode( TablePress::$shortcode_info, array( &$this, 'shortcode_table_info' ) ); 
    480         add_shortcode( TablePress::$shortcode, array( &$this, 'shortcode_table' ) ); 
     473        add_shortcode( TablePress::$shortcode_info, array( $this, 'shortcode_table_info' ) ); 
     474        add_shortcode( TablePress::$shortcode, array( $this, 'shortcode_table' ) ); 
    481475        // do the WP Shortcode routines on the widget text (i.e. search for TablePress's Shortcodes) 
    482476        $content = do_shortcode( $content ); 
  • tablepress/trunk/css/default.css

    r598765 r623199  
    2020    border-collapse: collapse; 
    2121    border-spacing: 0; 
    22     text-align: left; 
    2322    width: 100%; 
    2423    margin-bottom: 1em; 
     24    border: none; 
    2525} 
    2626 
     
    2828.tablepress td { 
    2929    padding: 8px; 
    30 } 
    31  
    32 .tablepress th { 
     30    border: none; 
     31    background: none; 
     32    text-align: left; 
     33} 
     34 
     35/* Vertical lines / borders */ 
     36.tablepress tbody tr td, 
     37.tablepress tfoot tr th { 
     38    border-top: 1px solid #dddddd; 
     39} 
     40.tablepress tbody tr:first-child td { 
     41    border-top: 0; 
     42} 
     43.tablepress thead tr th { 
     44    border-bottom: 1px solid #dddddd; 
     45} 
     46 
     47/* Row background colors */ 
     48.tablepress thead th, 
     49.tablepress tfoot th { 
     50    background-color: #d9edf7; 
    3351    font-weight: bold; 
    3452} 
    35  
    36 /* Vertical lines / borders */ 
    37 .tablepress tbody tr, 
    38 .tablepress tfoot tr { 
    39     border-top: 1px solid #dddddd; 
    40 } 
    41 .tablepress tbody tr:first-child { 
    42     border-top: 0; 
    43 } 
    44 .tablepress thead tr { 
    45     border-bottom: 1px solid #dddddd; 
    46 } 
    47  
    48 /* Row background colors */ 
    49 .tablepress thead tr, 
    50 .tablepress tfoot tr { 
    51     background-color: #d9edf7; 
    52 } 
    53 .tablepress tbody tr.odd { background-color: #f9f9f9; } 
    54 .tablepress tbody tr.even { background-color: #ffffff; } 
    55  
    56 .tablepress .row-hover tr:hover { 
     53.tablepress tbody tr.odd td { 
     54    background-color: #f9f9f9; 
     55} 
     56.tablepress tbody tr.even td { 
     57    background-color: #ffffff; 
     58} 
     59.tablepress .row-hover tr:hover td { 
    5760    background-color: #f3f3f3; 
    5861} 
     
    7376.dataTables_length { 
    7477    float: left; 
     78    white-space: nowrap; 
    7579} 
    7680 
     
    7983    float: right; 
    8084    text-align: right; 
     85    white-space: nowrap; 
    8186} 
    8287 
     
    132137.paginate_enabled_previous:hover { background: url('../img/back_enabled_hover.png') no-repeat center left; } 
    133138.paginate_disabled_previous { background: url('../img/back_disabled.png') no-repeat center left; } 
    134 /* hover */ 
    135139.paginate_enabled_next { background: url('../img/forward_enabled.png') no-repeat center right; } 
    136140.paginate_enabled_next:hover { background: url('../img/forward_enabled_hover.png') no-repeat center right; } 
     
    170174/* Processing indicator */ 
    171175.dataTables_processing { 
    172     display: none; /* always hidden, we don't really need it */ 
    173 /*  position: absolute; 
    174     top: 50%; 
    175     left: 50%; 
    176     width: 250px; 
    177     height: 30px; 
    178     margin-left: -125px; 
    179     margin-top: -15px; 
    180     padding: 14px 0 2px 0; 
    181     border: 1px solid #ddd; 
    182     text-align: center; 
    183     color: #999; 
    184     font-size: 14px; 
    185     background-color: white; 
    186 */ 
     176    display: none; /* always hidden, we don't use it */ 
    187177} 
    188178 
     
    200190.dataTables_wrapper .sorting_asc, 
    201191.dataTables_wrapper .sorting_desc { 
    202     padding: 8px 18px 8px 8px; /* more right padding for sort arrows */ 
     192    padding-right: 18px; /* more right padding for sort arrows */ 
    203193    cursor: pointer; 
    204194    *cursor: hand; 
    205 } 
    206 .dataTables_wrapper .sorting { background: url('../img/both.gif') no-repeat center right; } 
    207 .dataTables_wrapper .sorting:hover { background-color: #049cdb; } 
    208 .dataTables_wrapper .sorting_asc { background: #049cdb url('../img/asc.gif') no-repeat center right; } 
    209 .dataTables_wrapper .sorting_desc { background: #049cdb url('../img/desc.gif') no-repeat center right; } 
    210  
    211 .dataTables_wrapper .sorting_asc_disabled { background: url('../img/sort_asc_disabled.png') no-repeat center right; } 
    212 .dataTables_wrapper .sorting_desc_disabled { background: url('../img/sort_desc_disabled.png') no-repeat center right; } 
    213  
    214 .dataTables_wrapper th:active { outline: none; } 
     195    background-repeat: no-repeat; 
     196    background-position: center right; 
     197} 
     198.dataTables_wrapper .sorting { 
     199    background-image: url('../img/both.gif'); 
     200} 
     201.dataTables_wrapper .sorting:hover { 
     202    background-color: #049cdb; 
     203} 
     204.dataTables_wrapper .sorting_asc { 
     205    background-image: url('../img/asc.gif'); 
     206} 
     207.dataTables_wrapper .sorting_desc { 
     208    background-image: url('../img/desc.gif'); 
     209} 
     210.dataTables_wrapper .sorting_asc, 
     211.dataTables_wrapper .sorting_desc { 
     212    background-color: #049cdb; 
     213} 
     214.dataTables_wrapper th:active { 
     215    outline: none; 
     216} 
    215217 
    216218/* Self clearing - */ 
     
    240242.dataTables_wrapper .tablepress-rtl .sorting_asc, 
    241243.dataTables_wrapper .tablepress-rtl .sorting_desc { 
    242     background-position: left !important; 
    243     padding: 8px 8px 8px 18px; /* more left padding for sort arrows */ 
    244 } 
     244    background-position: center left; 
     245    padding-right: 8px; 
     246    padding-left: 18px; /* more left padding for sort arrows */ 
     247} 
  • tablepress/trunk/css/default.min.css

    r598765 r623199  
    1 .tablepress-table-description{clear:both;display:block}.tablepress{border-collapse:collapse;border-spacing:0;text-align:left;width:100%;margin-bottom:1em}.tablepress th,.tablepress td{padding:8px}.tablepress th{font-weight:bold}.tablepress tbody tr,.tablepress tfoot tr{border-top:1px solid #ddd}.tablepress tbody tr:first-child{border-top:0}.tablepress thead tr{border-bottom:1px solid #ddd}.tablepress thead tr,.tablepress tfoot tr{background-color:#d9edf7}.tablepress tbody tr.odd{background-color:#f9f9f9}.tablepress tbody tr.even{background-color:#fff}.tablepress .row-hover tr:hover{background-color:#f3f3f3}.dataTables_wrapper{position:relative;clear:both;*zoom:1;margin-bottom:1em}.dataTables_wrapper .tablepress{clear:both;margin:0!important}.dataTables_length{float:left}.dataTables_filter{float:right;text-align:right}.dataTables_info{clear:both;float:left;margin-top:4px}.dataTables_paginate{float:right;text-align:right;margin-top:4px}.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{float:left;cursor:pointer;*cursor:hand;color:#111!important}.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover{text-decoration:none!important}.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active{outline:0}.paginate_disabled_previous,.paginate_disabled_next{color:#666!important}.paginate_disabled_previous,.paginate_enabled_previous{padding-left:23px}.paginate_disabled_next,.paginate_enabled_next{padding-right:23px;margin-left:10px}.paginate_enabled_previous{background:url('../img/back_enabled.png') no-repeat center left}.paginate_enabled_previous:hover{background:url('../img/back_enabled_hover.png') no-repeat center left}.paginate_disabled_previous{background:url('../img/back_disabled.png') no-repeat center left}.paginate_enabled_next{background:url('../img/forward_enabled.png') no-repeat center right}.paginate_enabled_next:hover{background:url('../img/forward_enabled_hover.png') no-repeat center right}.paginate_disabled_next{background:url('../img/forward_disabled.png') no-repeat center right}.paging_full_numbers{height:22px;line-height:22px}.paging_full_numbers a:active{outline:0}.paging_full_numbers a:hover{text-decoration:none}.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active{border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand;color:#333!important}.paging_full_numbers a.paginate_button{background-color:#ddd}.paging_full_numbers a.paginate_button:hover{background-color:#ccc;text-decoration:none!important}.paging_full_numbers a.paginate_active{background-color:#99b3ff}.dataTables_processing{display:none}.dataTables_scroll{clear:both}.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .sorting,.dataTables_wrapper .sorting_asc,.dataTables_wrapper .sorting_desc{padding:8px 18px 8px 8px;cursor:pointer;*cursor:hand}.dataTables_wrapper .sorting{background:url('../img/both.gif') no-repeat center right}.dataTables_wrapper .sorting:hover{background-color:#049cdb}.dataTables_wrapper .sorting_asc{background:#049cdb url('../img/asc.gif') no-repeat center right}.dataTables_wrapper .sorting_desc{background:#049cdb url('../img/desc.gif') no-repeat center right}.dataTables_wrapper .sorting_asc_disabled{background:url('../img/sort_asc_disabled.png') no-repeat center right}.dataTables_wrapper .sorting_desc_disabled{background:url('../img/sort_desc_disabled.png') no-repeat center right}.dataTables_wrapper th:active{outline:0}.dataTables_wrapper:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .dataTables_wrapper{display:block}* html .dataTables_wrapper{height:1%}.dataTables_wrapper label input,.dataTables_wrapper label select{display:inline;margin:2px}.tablepress-rtl{direction:rtl;text-align:right}.dataTables_wrapper .tablepress-rtl .sorting,.dataTables_wrapper .tablepress-rtl .sorting_asc,.dataTables_wrapper .tablepress-rtl .sorting_desc{background-position:left!important;padding:8px 8px 8px 18px} 
     1.tablepress-table-description{clear:both;display:block}.tablepress{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:1em;border:0}.tablepress th,.tablepress td{padding:8px;border:0;background:0;text-align:left}.tablepress tbody tr td,.tablepress tfoot tr th{border-top:1px solid #ddd}.tablepress tbody tr:first-child td{border-top:0}.tablepress thead tr th{border-bottom:1px solid #ddd}.tablepress thead th,.tablepress tfoot th{background-color:#d9edf7;font-weight:bold}.tablepress tbody tr.odd td{background-color:#f9f9f9}.tablepress tbody tr.even td{background-color:#fff}.tablepress .row-hover tr:hover td{background-color:#f3f3f3}.dataTables_wrapper{position:relative;clear:both;*zoom:1;margin-bottom:1em}.dataTables_wrapper .tablepress{clear:both;margin:0!important}.dataTables_length{float:left;white-space:nowrap}.dataTables_filter{float:right;text-align:right;white-space:nowrap}.dataTables_info{clear:both;float:left;margin-top:4px}.dataTables_paginate{float:right;text-align:right;margin-top:4px}.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{float:left;cursor:pointer;*cursor:hand;color:#111!important}.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover{text-decoration:none!important}.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active{outline:0}.paginate_disabled_previous,.paginate_disabled_next{color:#666!important}.paginate_disabled_previous,.paginate_enabled_previous{padding-left:23px}.paginate_disabled_next,.paginate_enabled_next{padding-right:23px;margin-left:10px}.paginate_enabled_previous{background:url('../img/back_enabled.png') no-repeat center left}.paginate_enabled_previous:hover{background:url('../img/back_enabled_hover.png') no-repeat center left}.paginate_disabled_previous{background:url('../img/back_disabled.png') no-repeat center left}.paginate_enabled_next{background:url('../img/forward_enabled.png') no-repeat center right}.paginate_enabled_next:hover{background:url('../img/forward_enabled_hover.png') no-repeat center right}.paginate_disabled_next{background:url('../img/forward_disabled.png') no-repeat center right}.paging_full_numbers{height:22px;line-height:22px}.paging_full_numbers a:active{outline:0}.paging_full_numbers a:hover{text-decoration:none}.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active{border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand;color:#333!important}.paging_full_numbers a.paginate_button{background-color:#ddd}.paging_full_numbers a.paginate_button:hover{background-color:#ccc;text-decoration:none!important}.paging_full_numbers a.paginate_active{background-color:#99b3ff}.dataTables_processing{display:none}.dataTables_scroll{clear:both}.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .sorting,.dataTables_wrapper .sorting_asc,.dataTables_wrapper .sorting_desc{padding-right:18px;cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}.dataTables_wrapper .sorting{background-image:url('../img/both.gif')}.dataTables_wrapper .sorting:hover{background-color:#049cdb}.dataTables_wrapper .sorting_asc{background-image:url('../img/asc.gif')}.dataTables_wrapper .sorting_desc{background-image:url('../img/desc.gif')}.dataTables_wrapper .sorting_asc,.dataTables_wrapper .sorting_desc{background-color:#049cdb}.dataTables_wrapper th:active{outline:0}.dataTables_wrapper:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .dataTables_wrapper{display:block}* html .dataTables_wrapper{height:1%}.dataTables_wrapper label input,.dataTables_wrapper label select{display:inline;margin:2px}.tablepress-rtl{direction:rtl;text-align:right}.dataTables_wrapper .tablepress-rtl .sorting,.dataTables_wrapper .tablepress-rtl .sorting_asc,.dataTables_wrapper .tablepress-rtl .sorting_desc{background-position:center left;padding-right:8px;padding-left:18px} 
  • tablepress/trunk/i18n/datatables/lang-de_DE.js

    r578853 r623199  
    55    "sInfo":         "_START_ bis _END_ von _TOTAL_ Einträgen", 
    66    "sInfoEmpty":    "0 bis 0 von 0 Einträgen", 
    7     "sInfoFiltered": "(gefiltert von _MAX_  Einträgen)", 
     7    "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", 
    88    "sInfoPostFix":  "", 
    9     "sSearch":       "Suchen", 
     9    "sSearch":       "Suchen:", 
    1010    "oPaginate": { 
    11         "sFirst":    "Erster", 
     11        "sFirst":    "Anfang", 
    1212        "sPrevious": "Zurück", 
    13         "sNext":     "Nächster", 
    14         "sLast":     "Letzter" 
     13        "sNext":     "Weiter", 
     14        "sLast":     "Ende" 
    1515    } 
    1616} 
  • tablepress/trunk/i18n/datatables/warning.txt

    r578853 r623199  
    44This would lead to a loss of your changes! 
    55 
    6 * If you want to make changes to your language's file, please copy the file to another location on your server, 
    7 for example the "languages" folder in the directory "wp-content". 
    8 The URL of that file will then be something like http://[SITEURL]/wp-content/languages/lang-XX_XX.js. 
    9 You can then use the plugin filter 'tablepress_datatables_language_file_url' to overwrite the passed URL 
    10 with the new one from above. 
     6* If you want to make changes to your language's file, please see the TablePress Extension 
     7"Change DataTables strings" at http://tablepress.org/extensions/change-datatables-strings/ 
     8for instructions on how to do this. 
    119 
    1210* If you just want to change to a different language file, you can override the locale by using the Shortcode 
    1311parameter "datatables_locale" or with the plugin filter hook 'tablepress_datatables_locale'. 
    1412 
    15 * If you want to translate the language file into your own language, copy the file "lang-default.js", rename the copy to 
     13* If you want to translate the language file into your own language, copy the file "lang-en_US.js", rename the copy to 
    1614"lang-XX_XX.js", where XX_XX is the ISO code for your language. That is the same one as in your WordPress language files (*.po, *.mo). 
    1715Then you can translate that file. If you email the file to me, I'll gladly include it to the next release of the plugin. 
     
    2018You can also check that page, if your language has been added and tell me about it. 
    2119 
    22 You can find example code for this in the FAQ or the documentation at http://tablepress.org/faq/ 
    23 or http://tablepress.org/documentation/ 
     20You can find example code for this in the FAQ at http://tablepress.org/faq/ 
     21or in the documentation at http://tablepress.org/documentation/. 
    2422 
    2523Thank you! 
  • tablepress/trunk/js/jquery.datatables.min.js

    r607623 r623199  
    11/* 
    22 * File:        jquery.dataTables.min.js 
    3  * Version:     1.9.4 
     3 * Version:     1.9.3 
    44 * Author:      Allan Jardine (www.sprymedia.co.uk) 
    55 * Info:        www.datatables.net 
    6  *  
     6 * 
    77 * Copyright 2008-2012 Allan Jardine, all rights reserved. 
    88 * 
     
    1111 *   http://datatables.net/license_gpl2 
    1212 *   http://datatables.net/license_bsd 
    13  *  
    14  * This source file is distributed in the hope that it will be useful, but  
    15  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  
     13 * 
     14 * This source file is distributed in the hope that it will be useful, but 
     15 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
    1616 * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. 
    1717 */ 
    18 (function(X,l,n){var L=function(h){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=h.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:l.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===n||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=h.extend({},j.models.oSearch);else if(c=a.aoPreSearchCols[d], 
    19 c.bRegex===n&&(c.bRegex=!0),c.bSmart===n&&(c.bSmart=!0),c.bCaseInsensitive===n)c.bCaseInsensitive=!0;m(a,d,null)}function m(a,b,c){var d=a.aoColumns[b];c!==n&&null!==c&&(c.mDataProp&&!c.mData&&(c.mData=c.mDataProp),c.sType!==n&&(d.sType=c.sType,d._bAutoType=!1),h.extend(d,c),p(d,c,"sWidth","sWidthOrig"),c.iDataSort!==n&&(d.aDataSort=[c.iDataSort]),p(d,c,"aDataSort"));var i=d.mRender?Q(d.mRender):null,f=Q(d.mData);d.fnGetData=function(a,b){var c=f(a,b);return d.mRender&&b&&""!==b?i(c,b,a):c};d.fnSetData= 
    20 L(d.mData);a.oFeatures.bSort||(d.bSortable=!1);!d.bSortable||-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableNone,d.sSortingClassJUI=""):-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortable,d.sSortingClassJUI=a.oClasses.sSortJUI):-1!=h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableAsc,d.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed):-1== 
    21 h.inArray("asc",d.asSorting)&&-1!=h.inArray("desc",d.asSorting)&&(d.sSortingClass=a.oClasses.sSortableDesc,d.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed)}function k(a){if(!1===a.oFeatures.bAutoWidth)return!1;da(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function G(a,b){var c=r(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function R(a,b){var c=r(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function t(a){return r(a,"bVisible").length} 
    22 function r(a,b){var c=[];h.map(a.aoColumns,function(a,i){a[b]&&c.push(i)});return c}function B(a){for(var b=j.ext.aTypes,c=b.length,d=0;d<c;d++){var i=b[d](a);if(null!==i)return i}return"string"}function u(a,b){for(var c=b.split(","),d=[],i=0,f=a.aoColumns.length;i<f;i++)for(var g=0;g<f;g++)if(a.aoColumns[i].sName==c[g]){d.push(g);break}return d}function M(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";return b.length==d?"":b.slice(0,-1)}function ta(a,b,c,d){var i,f, 
    23 g,e,w;if(b)for(i=b.length-1;0<=i;i--){var j=b[i].aTargets;h.isArray(j)||D(a,1,"aTargets must be an array of targets, not a "+typeof j);f=0;for(g=j.length;f<g;f++)if("number"===typeof j[f]&&0<=j[f]){for(;a.aoColumns.length<=j[f];)o(a);d(j[f],b[i])}else if("number"===typeof j[f]&&0>j[f])d(a.aoColumns.length+j[f],b[i]);else if("string"===typeof j[f]){e=0;for(w=a.aoColumns.length;e<w;e++)("_all"==j[f]||h(a.aoColumns[e].nTh).hasClass(j[f]))&&d(e,b[i])}}if(c){i=0;for(a=c.length;i<a;i++)d(i,c[i])}}function H(a, 
    24 b){var c;c=h.isArray(b)?b.slice():h.extend(!0,{},b);var d=a.aoData.length,i=h.extend(!0,{},j.models.oRow);i._aData=c;a.aoData.push(i);for(var f,i=0,g=a.aoColumns.length;i<g;i++)c=a.aoColumns[i],"function"===typeof c.fnRender&&c.bUseRendered&&null!==c.mData?F(a,d,i,S(a,d,i)):F(a,d,i,v(a,d,i)),c._bAutoType&&"string"!=c.sType&&(f=v(a,d,i,"type"),null!==f&&""!==f&&(f=B(f),null===c.sType?c.sType=f:c.sType!=f&&"html"!=c.sType&&(c.sType="string")));a.aiDisplayMaster.push(d);a.oFeatures.bDeferRender||ea(a, 
    25 d);return d}function ua(a){var b,c,d,i,f,g,e;if(a.bDeferLoading||null===a.sAjaxSource)for(b=a.nTBody.firstChild;b;){if("TR"==b.nodeName.toUpperCase()){c=a.aoData.length;b._DT_RowIndex=c;a.aoData.push(h.extend(!0,{},j.models.oRow,{nTr:b}));a.aiDisplayMaster.push(c);f=b.firstChild;for(d=0;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)F(a,c,d,h.trim(f.innerHTML)),d++;f=f.nextSibling}}b=b.nextSibling}i=T(a);d=[];b=0;for(c=i.length;b<c;b++)for(f=i[b].firstChild;f;)g=f.nodeName.toUpperCase(),("TD"== 
    26 g||"TH"==g)&&d.push(f),f=f.nextSibling;c=0;for(i=a.aoColumns.length;c<i;c++){e=a.aoColumns[c];null===e.sTitle&&(e.sTitle=e.nTh.innerHTML);var w=e._bAutoType,o="function"===typeof e.fnRender,k=null!==e.sClass,n=e.bVisible,m,p;if(w||o||k||!n){g=0;for(b=a.aoData.length;g<b;g++)f=a.aoData[g],m=d[g*i+c],w&&"string"!=e.sType&&(p=v(a,g,c,"type"),""!==p&&(p=B(p),null===e.sType?e.sType=p:e.sType!=p&&"html"!=e.sType&&(e.sType="string"))),e.mRender?m.innerHTML=v(a,g,c,"display"):e.mData!==c&&(m.innerHTML=v(a, 
    27 g,c,"display")),o&&(p=S(a,g,c),m.innerHTML=p,e.bUseRendered&&F(a,g,c,p)),k&&(m.className+=" "+e.sClass),n?f._anHidden[c]=null:(f._anHidden[c]=m,m.parentNode.removeChild(m)),e.fnCreatedCell&&e.fnCreatedCell.call(a.oInstance,m,v(a,g,c,"display"),f._aData,g,c)}}if(0!==a.aoRowCreatedCallback.length){b=0;for(c=a.aoData.length;b<c;b++)f=a.aoData[b],A(a,"aoRowCreatedCallback",null,[f.nTr,f._aData,b])}}function I(a,b){return b._DT_RowIndex!==n?b._DT_RowIndex:null}function fa(a,b,c){for(var b=J(a,b),d=0,a= 
    28 a.aoColumns.length;d<a;d++)if(b[d]===c)return d;return-1}function Y(a,b,c,d){for(var i=[],f=0,g=d.length;f<g;f++)i.push(v(a,b,d[f],c));return i}function v(a,b,c,d){var i=a.aoColumns[c];if((c=i.fnGetData(a.aoData[b]._aData,d))===n)return a.iDrawError!=a.iDraw&&null===i.sDefaultContent&&(D(a,0,"Requested unknown parameter "+("function"==typeof i.mData?"{mData function}":"'"+i.mData+"'")+" from the data source for row "+b),a.iDrawError=a.iDraw),i.sDefaultContent;if(null===c&&null!==i.sDefaultContent)c= 
    29 i.sDefaultContent;else if("function"===typeof c)return c();return"display"==d&&null===c?"":c}function F(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Q(a){if(null===a)return function(){return null};if("function"===typeof a)return function(b,d,i){return a(b,d,i)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var f=i.split("."),g;if(""!==i){var e=0;for(g=f.length;e<g;e++){if(i=f[e].match(U)){f[e]=f[e].replace(U,"");""!==f[e]&&(a=a[f[e]]); 
    30 g=[];f.splice(0,e+1);for(var f=f.join("."),e=0,h=a.length;e<h;e++)g.push(b(a[e],d,f));a=i[0].substring(1,i[0].length-1);a=""===a?g:g.join(a);break}if(null===a||a[f[e]]===n)return n;a=a[f[e]]}}return a};return function(c,d){return b(c,d,a)}}return function(b){return b[a]}}function L(a){if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var i=i.split("."),f,g,e=0;for(g= 
    31 i.length-1;e<g;e++){if(f=i[e].match(U)){i[e]=i[e].replace(U,"");a[i[e]]=[];f=i.slice();f.splice(0,e+1);g=f.join(".");for(var h=0,j=d.length;h<j;h++)f={},b(f,d[h],g),a[i[e]].push(f);return}if(null===a[i[e]]||a[i[e]]===n)a[i[e]]={};a=a[i[e]]}a[i[i.length-1].replace(U,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Z(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function ga(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0, 
    32 a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);y(a)}function ha(a,b){for(var c=-1,d=0,i=a.length;d<i;d++)a[d]==b?c=d:a[d]>b&&a[d]--; -1!=c&&a.splice(c,1)}function S(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mData},v(a,b,c,"display"))}function ea(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=l.createElement("tr");c.nTr._DT_RowIndex=b;c._aData.DT_RowId&&(c.nTr.id=c._aData.DT_RowId);c._aData.DT_RowClass&& 
    33 (c.nTr.className=c._aData.DT_RowClass);for(var i=0,f=a.aoColumns.length;i<f;i++){var g=a.aoColumns[i];d=l.createElement(g.sCellType);d.innerHTML="function"===typeof g.fnRender&&(!g.bUseRendered||null===g.mData)?S(a,b,i):v(a,b,i,"display");null!==g.sClass&&(d.className=g.sClass);g.bVisible?(c.nTr.appendChild(d),c._anHidden[i]=null):c._anHidden[i]=d;g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,d,v(a,b,i,"display"),c._aData,b,i)}A(a,"aoRowCreatedCallback",null,[c.nTr,c._aData,b])}}function va(a){var b, 
    34 c,d;if(0!==h("th, td",a.nTHead).length){b=0;for(d=a.aoColumns.length;b<d;b++)if(c=a.aoColumns[b].nTh,c.setAttribute("role","columnheader"),a.aoColumns[b].bSortable&&(c.setAttribute("tabindex",a.iTabIndex),c.setAttribute("aria-controls",a.sTableId)),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{var i=l.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++)c=a.aoColumns[b].nTh,c.innerHTML=a.aoColumns[b].sTitle, 
    35 c.setAttribute("tabindex","0"),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),i.appendChild(c);h(a.nTHead).html("")[0].appendChild(i);V(a.aoHeader,a.nTHead)}h(a.nTHead).children("tr").attr("role","row");if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;i=l.createElement("div");i.className=a.oClasses.sSortJUIWrapper;h(c).contents().appendTo(i);var f=l.createElement("span");f.className=a.oClasses.sSortIcon;i.appendChild(f);c.appendChild(i)}}if(a.oFeatures.bSort)for(b= 
    36 0;b<a.aoColumns.length;b++)!1!==a.aoColumns[b].bSortable?ia(a,a.aoColumns[b].nTh,b):h(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);""!==a.oClasses.sFooterTH&&h(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);if(null!==a.nTFoot){c=N(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)c[b]&&(a.aoColumns[b].nTf=c[b],a.aoColumns[b].sClass&&h(c[b]).addClass(a.aoColumns[b].sClass))}}function W(a,b,c){var d,i,f,g=[],e=[],h=a.aoColumns.length,j;c===n&&(c=!1);d=0;for(i= 
    37 b.length;d<i;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=h-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);e.push([])}d=0;for(i=g.length;d<i;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(j=h=1,e[d][f]===n){a.appendChild(g[d][f].cell);for(e[d][f]=1;g[d+h]!==n&&g[d][f].cell==g[d+h][f].cell;)e[d+h][f]=1,h++;for(;g[d][f+j]!==n&&g[d][f].cell==g[d][f+j].cell;){for(c=0;c<h;c++)e[d+c][f+j]=1;j++}g[d][f].cell.rowSpan=h;g[d][f].cell.colSpan=j}}}function x(a){var b= 
    38 A(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))E(a,!1);else{var c,d,b=[],i=0,f=a.asStripeClasses.length;c=a.aoOpenRows.length;a.bDrawing=!0;a.iInitDisplayStart!==n&&-1!=a.iInitDisplayStart&&(a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,y(a));if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!wa(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g= 
    39 a._iDisplayStart;d=a._iDisplayEnd;a.oFeatures.bServerSide&&(g=0,d=a.aoData.length);for(;g<d;g++){var e=a.aoData[a.aiDisplay[g]];null===e.nTr&&ea(a,a.aiDisplay[g]);var j=e.nTr;if(0!==f){var o=a.asStripeClasses[i%f];e._sRowStripe!=o&&(h(j).removeClass(e._sRowStripe).addClass(o),e._sRowStripe=o)}A(a,"aoRowCallback",null,[j,a.aoData[a.aiDisplay[g]]._aData,i,g]);b.push(j);i++;if(0!==c)for(e=0;e<c;e++)if(j==a.aoOpenRows[e].nParent){b.push(a.aoOpenRows[e].nTr);break}}}else b[0]=l.createElement("tr"),a.asStripeClasses[0]&& 
    40 (b[0].className=a.asStripeClasses[0]),c=a.oLanguage,f=c.sZeroRecords,1==a.iDraw&&null!==a.sAjaxSource&&!a.oFeatures.bServerSide?f=c.sLoadingRecords:c.sEmptyTable&&0===a.fnRecordsTotal()&&(f=c.sEmptyTable),c=l.createElement("td"),c.setAttribute("valign","top"),c.colSpan=t(a),c.className=a.oClasses.sRowEmpty,c.innerHTML=ja(a,f),b[i].appendChild(c);A(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);A(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0], 
    41 Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);i=l.createDocumentFragment();c=l.createDocumentFragment();if(a.nTBody){f=a.nTBody.parentNode;c.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered)for(;c=a.nTBody.firstChild;)a.nTBody.removeChild(c);c=0;for(d=b.length;c<d;c++)i.appendChild(b[c]);a.nTBody.appendChild(i);null!==f&&f.appendChild(a.nTBody)}A(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1;a.oFeatures.bServerSide&&(E(a,!1), 
    42 a._bInitComplete||$(a))}}function aa(a){a.oFeatures.bSort?O(a,a.oPreviousSearch):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(y(a),x(a))}function xa(a){var b=h("<div></div>")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=h('<div id="'+a.sTableId+'_wrapper" class="'+a.oClasses.sWrapper+'" role="grid"></div>')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),i,f,g,e,w,o,k,m=0;m<d.length;m++){f=0;g=d[m];if("<"==g){e=h("<div></div>")[0];w=d[m+ 
    43 1];if("'"==w||'"'==w){o="";for(k=2;d[m+k]!=w;)o+=d[m+k],k++;"H"==o?o=a.oClasses.sJUIHeader:"F"==o&&(o=a.oClasses.sJUIFooter);-1!=o.indexOf(".")?(w=o.split("."),e.id=w[0].substr(1,w[0].length-1),e.className=w[1]):"#"==o.charAt(0)?e.id=o.substr(1,o.length-1):e.className=o;m+=k}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)i=ya(a),f=1;else if("f"==g&&a.oFeatures.bFilter)i=za(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)i=Aa(a),f= 
    44 1;else if("t"==g)i=Ba(a),f=1;else if("i"==g&&a.oFeatures.bInfo)i=Ca(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)i=Da(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;k=0;for(w=e.length;k<w;k++)if(g==e[k].cFeature){(i=e[k].fnInit(a))&&(f=1);break}}1==f&&null!==i&&("object"!==typeof a.aanFeatures[g]&&(a.aanFeatures[g]=[]),a.aanFeatures[g].push(i),c.appendChild(i))}b.parentNode.replaceChild(a.nTableWrapper,b)}function V(a,b){var c=h(b).children("tr"),d,i,f,g,e,j,o,k,m,p;a.splice(0,a.length); 
    45 f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(i=d.firstChild;i;){if("TD"==i.nodeName.toUpperCase()||"TH"==i.nodeName.toUpperCase()){k=1*i.getAttribute("colspan");m=1*i.getAttribute("rowspan");k=!k||0===k||1===k?1:k;m=!m||0===m||1===m?1:m;g=0;for(e=a[f];e[g];)g++;o=g;p=1===k?!0:!1;for(e=0;e<k;e++)for(g=0;g<m;g++)a[f+g][o+e]={cell:i,unique:p},a[f+g].nTr=d}i=i.nextSibling}}}function N(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],V(c,b)));for(var b=0,i=c.length;b<i;b++)for(var f= 
    46 0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function wa(a){if(a.bAjaxDataGet){a.iDraw++;E(a,!0);var b=Ea(a);ka(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(b){Fa(a,b)},a);return!1}return!0}function Ea(a){var b=a.aoColumns.length,c=[],d,i,f,g;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:M(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength", 
     18(function(i,O,l,n){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=i.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:l.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===n||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=i.extend({},j.models.oSearch);else if(c=a.aoPreSearchCols[d], 
     19c.bRegex===n&&(c.bRegex=!0),c.bSmart===n&&(c.bSmart=!0),c.bCaseInsensitive===n)c.bCaseInsensitive=!0;r(a,d,null)}function r(a,b,c){var d=a.aoColumns[b];c!==n&&null!==c&&(c.mDataProp&&!c.mData&&(c.mData=c.mDataProp),c.sType!==n&&(d.sType=c.sType,d._bAutoType=!1),i.extend(d,c),p(d,c,"sWidth","sWidthOrig"),c.iDataSort!==n&&(d.aDataSort=[c.iDataSort]),p(d,c,"aDataSort"));var h=d.mRender?S(d.mRender):null,f=S(d.mData);d.fnGetData=function(a,b){var c=f(a,b);return d.mRender&&b&&""!==b?h(c,b,a):c};d.fnSetData= 
     20ta(d.mData);a.oFeatures.bSort||(d.bSortable=!1);!d.bSortable||-1==i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableNone,d.sSortingClassJUI=""):d.bSortable||-1==i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortable,d.sSortingClassJUI=a.oClasses.sSortJUI):-1!=i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableAsc,d.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed): 
     21-1==i.inArray("asc",d.asSorting)&&-1!=i.inArray("desc",d.asSorting)&&(d.sSortingClass=a.oClasses.sSortableDesc,d.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed)}function k(a){if(!1===a.oFeatures.bAutoWidth)return!1;ca(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function G(a,b){var c=v(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function t(a,b){var c=v(a,"bVisible"),c=i.inArray(b,c);return-1!==c?c:null}function w(a){return v(a,"bVisible").length} 
     22function v(a,b){var c=[];i.map(a.aoColumns,function(a,h){a[b]&&c.push(h)});return c}function D(a){for(var b=j.ext.aTypes,c=b.length,d=0;d<c;d++){var h=b[d](a);if(null!==h)return h}return"string"}function y(a,b){for(var c=b.split(","),d=[],h=0,f=a.aoColumns.length;h<f;h++)for(var g=0;g<f;g++)if(a.aoColumns[h].sName==c[g]){d.push(g);break}return d}function H(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";return b.length==d?"":b.slice(0,-1)}function ua(a,b,c,d){var h,f, 
     23g,e,s;if(b)for(h=b.length-1;0<=h;h--){var m=b[h].aTargets;i.isArray(m)||E(a,1,"aTargets must be an array of targets, not a "+typeof m);f=0;for(g=m.length;f<g;f++)if("number"===typeof m[f]&&0<=m[f]){for(;a.aoColumns.length<=m[f];)o(a);d(m[f],b[h])}else if("number"===typeof m[f]&&0>m[f])d(a.aoColumns.length+m[f],b[h]);else if("string"===typeof m[f]){e=0;for(s=a.aoColumns.length;e<s;e++)("_all"==m[f]||i(a.aoColumns[e].nTh).hasClass(m[f]))&&d(e,b[h])}}if(c){h=0;for(a=c.length;h<a;h++)d(h,c[h])}}function J(a, 
     24b){var c;c=i.isArray(b)?b.slice():i.extend(!0,{},b);var d=a.aoData.length,h=i.extend(!0,{},j.models.oRow);h._aData=c;a.aoData.push(h);for(var f,h=0,g=a.aoColumns.length;h<g;h++)c=a.aoColumns[h],"function"===typeof c.fnRender&&c.bUseRendered&&null!==c.mData?I(a,d,h,T(a,d,h)):I(a,d,h,x(a,d,h)),c._bAutoType&&"string"!=c.sType&&(f=x(a,d,h,"type"),null!==f&&""!==f&&(f=D(f),null===c.sType?c.sType=f:c.sType!=f&&"html"!=c.sType&&(c.sType="string")));a.aiDisplayMaster.push(d);a.oFeatures.bDeferRender||da(a, 
     25d);return d}function va(a){var b,c,d,h,f,g,e,s,m;if(a.bDeferLoading||null===a.sAjaxSource){e=a.nTBody.childNodes;b=0;for(c=e.length;b<c;b++)if("TR"==e[b].nodeName.toUpperCase()){s=a.aoData.length;e[b]._DT_RowIndex=s;a.aoData.push(i.extend(!0,{},j.models.oRow,{nTr:e[b]}));a.aiDisplayMaster.push(s);g=e[b].childNodes;d=f=0;for(h=g.length;d<h;d++)if(m=g[d].nodeName.toUpperCase(),"TD"==m||"TH"==m)I(a,s,f,i.trim(g[d].innerHTML)),f++}}e=U(a);g=[];b=0;for(c=e.length;b<c;b++){d=0;for(h=e[b].childNodes.length;d< 
     26h;d++)f=e[b].childNodes[d],m=f.nodeName.toUpperCase(),("TD"==m||"TH"==m)&&g.push(f)}h=0;for(e=a.aoColumns.length;h<e;h++){m=a.aoColumns[h];null===m.sTitle&&(m.sTitle=m.nTh.innerHTML);f=m._bAutoType;s="function"===typeof m.fnRender;var o=null!==m.sClass,k=m.bVisible,r,n;if(f||s||o||!k){b=0;for(c=a.aoData.length;b<c;b++)d=a.aoData[b],r=g[b*e+h],f&&"string"!=m.sType&&(n=x(a,b,h,"type"),""!==n&&(n=D(n),null===m.sType?m.sType=n:m.sType!=n&&"html"!=m.sType&&(m.sType="string"))),"function"===typeof m.mData&& 
     27(r.innerHTML=x(a,b,h,"display")),s&&(n=T(a,b,h),r.innerHTML=n,m.bUseRendered&&I(a,b,h,n)),o&&(r.className+=" "+m.sClass),k?d._anHidden[h]=null:(d._anHidden[h]=r,r.parentNode.removeChild(r)),m.fnCreatedCell&&m.fnCreatedCell.call(a.oInstance,r,x(a,b,h,"display"),d._aData,b,h)}}if(0!==a.aoRowCreatedCallback.length){b=0;for(c=a.aoData.length;b<c;b++)d=a.aoData[b],C(a,"aoRowCreatedCallback",null,[d.nTr,d._aData,b])}}function K(a,b){return b._DT_RowIndex!==n?b._DT_RowIndex:null}function ea(a,b,c){for(var b= 
     28L(a,b),d=0,a=a.aoColumns.length;d<a;d++)if(b[d]===c)return d;return-1}function Y(a,b,c,d){for(var h=[],f=0,g=d.length;f<g;f++)h.push(x(a,b,d[f],c));return h}function x(a,b,c,d){var h=a.aoColumns[c];if((c=h.fnGetData(a.aoData[b]._aData,d))===n)return a.iDrawError!=a.iDraw&&null===h.sDefaultContent&&(E(a,0,"Requested unknown parameter "+("function"==typeof h.mData?"{mData function}":"'"+h.mData+"'")+" from the data source for row "+b),a.iDrawError=a.iDraw),h.sDefaultContent;if(null===c&&null!==h.sDefaultContent)c= 
     29h.sDefaultContent;else if("function"===typeof c)return c();return"display"==d&&null===c?"":c}function I(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function S(a){if(null===a)return function(){return null};if("function"===typeof a)return function(b,d,h){return a(b,d,h)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,h){var f=h.split("."),g;if(""!==h){var e=0;for(g=f.length;e<g;e++){if(h=f[e].match(V)){f[e]=f[e].replace(V,"");""!==f[e]&&(a=a[f[e]]); 
     30g=[];f.splice(0,e+1);for(var f=f.join("."),e=0,i=a.length;e<i;e++)g.push(b(a[e],d,f));a=h[0].substring(1,h[0].length-1);a=""===a?g:g.join(a);break}if(null===a||a[f[e]]===n)return n;a=a[f[e]]}}return a};return function(c,d){return b(c,d,a)}}return function(b){return b[a]}}function ta(a){if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,h){var h=h.split("."),f,g,e=0;for(g= 
     31h.length-1;e<g;e++){if(f=h[e].match(V)){h[e]=h[e].replace(V,"");a[h[e]]=[];f=h.slice();f.splice(0,e+1);g=f.join(".");for(var i=0,m=d.length;i<m;i++)f={},b(f,d[i],g),a[h[e]].push(f);return}if(null===a[h[e]]||a[h[e]]===n)a[h[e]]={};a=a[h[e]]}a[h[h.length-1].replace(V,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Z(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function fa(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0, 
     32a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);A(a)}function ga(a,b){for(var c=-1,d=0,h=a.length;d<h;d++)a[d]==b?c=d:a[d]>b&&a[d]--; -1!=c&&a.splice(c,1)}function T(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mData},x(a,b,c,"display"))}function da(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=l.createElement("tr");c.nTr._DT_RowIndex=b;c._aData.DT_RowId&&(c.nTr.id=c._aData.DT_RowId);c._aData.DT_RowClass&& 
     33i(c.nTr).addClass(c._aData.DT_RowClass);for(var h=0,f=a.aoColumns.length;h<f;h++){var g=a.aoColumns[h];d=l.createElement(g.sCellType);d.innerHTML="function"===typeof g.fnRender&&(!g.bUseRendered||null===g.mData)?T(a,b,h):x(a,b,h,"display");null!==g.sClass&&(d.className=g.sClass);g.bVisible?(c.nTr.appendChild(d),c._anHidden[h]=null):c._anHidden[h]=d;g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,d,x(a,b,h,"display"),c._aData,b,h)}C(a,"aoRowCreatedCallback",null,[c.nTr,c._aData,b])}}function wa(a){var b, 
     34c,d;if(0!==a.nTHead.getElementsByTagName("th").length){b=0;for(d=a.aoColumns.length;b<d;b++)if(c=a.aoColumns[b].nTh,c.setAttribute("role","columnheader"),a.aoColumns[b].bSortable&&(c.setAttribute("tabindex",a.iTabIndex),c.setAttribute("aria-controls",a.sTableId)),null!==a.aoColumns[b].sClass&&i(c).addClass(a.aoColumns[b].sClass),a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{var h=l.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++)c=a.aoColumns[b].nTh,c.innerHTML= 
     35a.aoColumns[b].sTitle,c.setAttribute("tabindex","0"),null!==a.aoColumns[b].sClass&&i(c).addClass(a.aoColumns[b].sClass),h.appendChild(c);i(a.nTHead).html("")[0].appendChild(h);W(a.aoHeader,a.nTHead)}i(a.nTHead).children("tr").attr("role","row");if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;h=l.createElement("div");h.className=a.oClasses.sSortJUIWrapper;i(c).contents().appendTo(h);var f=l.createElement("span");f.className=a.oClasses.sSortIcon;h.appendChild(f);c.appendChild(h)}}if(a.oFeatures.bSort)for(b= 
     360;b<a.aoColumns.length;b++)!1!==a.aoColumns[b].bSortable?ha(a,a.aoColumns[b].nTh,b):i(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);""!==a.oClasses.sFooterTH&&i(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);if(null!==a.nTFoot){c=P(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)c[b]&&(a.aoColumns[b].nTf=c[b],a.aoColumns[b].sClass&&i(c[b]).addClass(a.aoColumns[b].sClass))}}function X(a,b,c){var d,h,f,g=[],e=[],i=a.aoColumns.length,m;c===n&&(c=!1);d=0;for(h= 
     37b.length;d<h;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);e.push([])}d=0;for(h=g.length;d<h;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(m=i=1,e[d][f]===n){a.appendChild(g[d][f].cell);for(e[d][f]=1;g[d+i]!==n&&g[d][f].cell==g[d+i][f].cell;)e[d+i][f]=1,i++;for(;g[d][f+m]!==n&&g[d][f].cell==g[d][f+m].cell;){for(c=0;c<i;c++)e[d+c][f+m]=1;m++}g[d][f].cell.rowSpan=i;g[d][f].cell.colSpan=m}}}function z(a){var b= 
     38C(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==i.inArray(!1,b))F(a,!1);else{var c,d,b=[],h=0,f=a.asStripeClasses.length;c=a.aoOpenRows.length;a.bDrawing=!0;a.iInitDisplayStart!==n&&-1!=a.iInitDisplayStart&&(a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,A(a));if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!xa(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g= 
     39a._iDisplayStart;d=a._iDisplayEnd;a.oFeatures.bServerSide&&(g=0,d=a.aoData.length);for(;g<d;g++){var e=a.aoData[a.aiDisplay[g]];null===e.nTr&&da(a,a.aiDisplay[g]);var s=e.nTr;if(0!==f){var m=a.asStripeClasses[h%f];e._sRowStripe!=m&&(i(s).removeClass(e._sRowStripe).addClass(m),e._sRowStripe=m)}C(a,"aoRowCallback",null,[s,a.aoData[a.aiDisplay[g]]._aData,h,g]);b.push(s);h++;if(0!==c)for(e=0;e<c;e++)if(s==a.aoOpenRows[e].nParent){b.push(a.aoOpenRows[e].nTr);break}}}else b[0]=l.createElement("tr"),a.asStripeClasses[0]&& 
     40(b[0].className=a.asStripeClasses[0]),c=a.oLanguage,f=c.sZeroRecords,1==a.iDraw&&null!==a.sAjaxSource&&!a.oFeatures.bServerSide?f=c.sLoadingRecords:c.sEmptyTable&&0===a.fnRecordsTotal()&&(f=c.sEmptyTable),c=l.createElement("td"),c.setAttribute("valign","top"),c.colSpan=w(a),c.className=a.oClasses.sRowEmpty,c.innerHTML=ia(a,f),b[h].appendChild(c);C(a,"aoHeaderCallback","header",[i(a.nTHead).children("tr")[0],Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);C(a,"aoFooterCallback","footer",[i(a.nTFoot).children("tr")[0], 
     41Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);h=l.createDocumentFragment();c=l.createDocumentFragment();if(a.nTBody){f=a.nTBody.parentNode;c.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered)for(;c=a.nTBody.firstChild;)a.nTBody.removeChild(c);c=0;for(d=b.length;c<d;c++)h.appendChild(b[c]);a.nTBody.appendChild(h);null!==f&&f.appendChild(a.nTBody)}C(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1;a.oFeatures.bServerSide&&(F(a,!1), 
     42a._bInitComplete||$(a))}}function aa(a){a.oFeatures.bSort?Q(a,a.oPreviousSearch):a.oFeatures.bFilter?M(a,a.oPreviousSearch):(A(a),z(a))}function ya(a){var b=i("<div></div>")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=i('<div id="'+a.sTableId+'_wrapper" class="'+a.oClasses.sWrapper+'" role="grid"></div>')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),h,f,g,e,s,m,o,k=0;k<d.length;k++){f=0;g=d[k];if("<"==g){e=i("<div></div>")[0];s=d[k+ 
     431];if("'"==s||'"'==s){m="";for(o=2;d[k+o]!=s;)m+=d[k+o],o++;"H"==m?m=a.oClasses.sJUIHeader:"F"==m&&(m=a.oClasses.sJUIFooter);-1!=m.indexOf(".")?(s=m.split("."),e.id=s[0].substr(1,s[0].length-1),e.className=s[1]):"#"==m.charAt(0)?e.id=m.substr(1,m.length-1):e.className=m;k+=o}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)h=za(a),f=1;else if("f"==g&&a.oFeatures.bFilter)h=Aa(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)h=Ba(a),f= 
     441;else if("t"==g)h=Ca(a),f=1;else if("i"==g&&a.oFeatures.bInfo)h=Da(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)h=Ea(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;o=0;for(s=e.length;o<s;o++)if(g==e[o].cFeature){(h=e[o].fnInit(a))&&(f=1);break}}1==f&&null!==h&&("object"!==typeof a.aanFeatures[g]&&(a.aanFeatures[g]=[]),a.aanFeatures[g].push(h),c.appendChild(h))}b.parentNode.replaceChild(a.nTableWrapper,b)}function W(a,b){var c=i(b).children("tr"),d,h,f,g,e,s,m,j;a.splice(0,a.length); 
     45h=0;for(s=c.length;h<s;h++)a.push([]);h=0;for(s=c.length;h<s;h++){f=0;for(m=c[h].childNodes.length;f<m;f++)if(d=c[h].childNodes[f],"TD"==d.nodeName.toUpperCase()||"TH"==d.nodeName.toUpperCase()){var o=1*d.getAttribute("colspan"),k=1*d.getAttribute("rowspan"),o=!o||0===o||1===o?1:o,k=!k||0===k||1===k?1:k;for(g=0;a[h][g];)g++;j=g;for(e=0;e<o;e++)for(g=0;g<k;g++)a[h+g][j+e]={cell:d,unique:1==o?!0:!1},a[h+g].nTr=c[h]}}}function P(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],W(c,b)));for(var b=0,h=c.length;b< 
     46h;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function xa(a){if(a.bAjaxDataGet){a.iDraw++;F(a,!0);var b=Fa(a);ja(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(b){Ga(a,b)},a);return!1}return!0}function Fa(a){var b=a.aoColumns.length,c=[],d,h,f,g;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:H(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength", 
    4747value:!1!==a.oFeatures.bPaginate?a._iDisplayLength:-1});for(f=0;f<b;f++)d=a.aoColumns[f].mData,c.push({name:"mDataProp_"+f,value:"function"===typeof d?"function":d});if(!1!==a.oFeatures.bFilter){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++)c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch}),c.push({name:"bRegex_"+f,value:a.aoPreSearchCols[f].bRegex}),c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}if(!1!== 
    48 a.oFeatures.bSort){var e=0;d=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(f=0;f<d.length;f++){i=a.aoColumns[d[f][0]].aDataSort;for(g=0;g<i.length;g++)c.push({name:"iSortCol_"+e,value:i[g]}),c.push({name:"sSortDir_"+e,value:d[f][1]}),e++}c.push({name:"iSortingCols",value:e});for(f=0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}return c}function ka(a,b){A(a,"aoServerParams","serverParams",[b])}function Fa(a,b){if(b.sEcho!==n){if(1*b.sEcho< 
    49 a.iDraw)return;a.iDraw=1*b.sEcho}(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))&&ga(a);a._iRecordsTotal=parseInt(b.iTotalRecords,10);a._iRecordsDisplay=parseInt(b.iTotalDisplayRecords,10);var c=M(a),c=b.sColumns!==n&&""!==c&&b.sColumns!=c,d;c&&(d=u(a,b.sColumns));for(var i=Q(a.sAjaxDataProp)(b),f=0,g=i.length;f<g;f++)if(c){for(var e=[],h=0,j=a.aoColumns.length;h<j;h++)e.push(i[f][d[h]]);H(a,e)}else H(a,i[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;x(a);a.bAjaxDataGet= 
    50 !0;E(a,!1)}function za(a){var b=a.oPreviousSearch,c=a.oLanguage.sSearch,c=-1!==c.indexOf("_INPUT_")?c.replace("_INPUT_",'<input type="text" />'):""===c?'<input type="text" />':c+' <input type="text" />',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="<label>"+c+"</label>";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=h('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"&quot;"));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value, 
    51 g=0,e=c.length;g<e;g++)c[g]!=h(this).parents("div.dataTables_filter")[0]&&h(c[g]._DT_Input).val(d);d!=b.sSearch&&K(a,{sSearch:d,bRegex:b.bRegex,bSmart:b.bSmart,bCaseInsensitive:b.bCaseInsensitive})});c.attr("aria-controls",a.sTableId).bind("keypress.DT",function(a){if(a.keyCode==13)return false});return d}function K(a,b,c){var d=a.oPreviousSearch,i=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};if(a.oFeatures.bServerSide)f(b); 
    52 else{Ga(a,b.sSearch,c,b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<a.aoPreSearchCols.length;b++)Ha(a,i[b].sSearch,b,i[b].bRegex,i[b].bSmart,i[b].bCaseInsensitive);Ia(a)}a.bFiltered=!0;h(a.oInstance).trigger("filter",a);a._iDisplayStart=0;y(a);x(a);la(a,0)}function Ia(a){for(var b=j.ext.afnFiltering,c=r(a,"bSearchable"),d=0,i=b.length;d<i;d++)for(var f=0,g=0,e=a.aiDisplay.length;g<e;g++){var h=a.aiDisplay[g-f];b[d](a,Y(a,h,"filter",c),h)||(a.aiDisplay.splice(g-f,1),f++)}}function Ha(a,b,c, 
    53 d,i,f){if(""!==b)for(var g=0,b=ma(b,d,i,f),d=a.aiDisplay.length-1;0<=d;d--)i=Ja(v(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType),b.test(i)||(a.aiDisplay.splice(d,1),g++)}function Ga(a,b,c,d,i,f){d=ma(b,d,i,f);i=a.oPreviousSearch;c||(c=0);0!==j.ext.afnFiltering.length&&(c=1);if(0>=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||i.sSearch.length>b.length||1==c||0!==b.indexOf(i.sSearch)){a.aiDisplay.splice(0, 
    54 a.aiDisplay.length);la(a,1);for(b=0;b<a.aiDisplayMaster.length;b++)d.test(a.asDataSearch[b])&&a.aiDisplay.push(a.aiDisplayMaster[b])}else for(b=c=0;b<a.asDataSearch.length;b++)d.test(a.asDataSearch[b])||(a.aiDisplay.splice(b-c,1),c++)}function la(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch=[];for(var c=r(a,"bSearchable"),d=1===b?a.aiDisplayMaster:a.aiDisplay,i=0,f=d.length;i<f;i++)a.asDataSearch[i]=na(a,Y(a,d[i],"filter",c))}}function na(a,b){var c=b.join("  ");-1!==c.indexOf("&")&&(c=h("<div>").html(c).text()); 
    55 return c.replace(/[\n\r]/g," ")}function ma(a,b,c,d){if(c)return a=b?a.split(" "):oa(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:oa(a);return RegExp(a,d?"i":"")}function Ja(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function oa(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"), 
    56 "\\$1")}function Ca(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:Ka,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function Ka(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),i=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f?b.sInfoEmpty:b.sInfo;f!=i&&(g+=" "+b.sInfoFiltered);g+=b.sInfoPostFix;g=ja(a,g); 
    57 null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,i,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)h(a[b]).html(g)}}function ja(a,b){var c=a.fnFormatNumber(a._iDisplayStart+1),d=a.fnDisplayEnd(),d=a.fnFormatNumber(d),i=a.fnRecordsDisplay(),i=a.fnFormatNumber(i),f=a.fnRecordsTotal(),f=a.fnFormatNumber(f);a.oScroll.bInfinite&&(c=a.fnFormatNumber(1));return b.replace(/_START_/g,c).replace(/_END_/g,d).replace(/_TOTAL_/g,i).replace(/_MAX_/g,f)}function ba(a){var b,c,d=a.iInitDisplayStart; 
    58 if(!1===a.bInitialised)setTimeout(function(){ba(a)},200);else{xa(a);va(a);W(a,a.aoHeader);a.nTFoot&&W(a,a.aoFooter);E(a,!0);a.oFeatures.bAutoWidth&&da(a);b=0;for(c=a.aoColumns.length;b<c;b++)null!==a.aoColumns[b].sWidth&&(a.aoColumns[b].nTh.style.width=q(a.aoColumns[b].sWidth));a.oFeatures.bSort?O(a):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(a.aiDisplay=a.aiDisplayMaster.slice(),y(a),x(a));null!==a.sAjaxSource&&!a.oFeatures.bServerSide?(c=[],ka(a,c),a.fnServerData.call(a.oInstance,a.sAjaxSource, 
    59 c,function(c){var f=a.sAjaxDataProp!==""?Q(a.sAjaxDataProp)(c):c;for(b=0;b<f.length;b++)H(a,f[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();y(a);x(a)}E(a,false);$(a,c)},a)):a.oFeatures.bServerSide||(E(a,!1),$(a))}}function $(a,b){a._bInitComplete=!0;A(a,"aoInitComplete","init",[a,b])}function pa(a){var b=j.defaults.oLanguage;!a.sEmptyTable&&(a.sZeroRecords&&"No data available in table"===b.sEmptyTable)&&p(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&& 
    60 (a.sZeroRecords&&"Loading..."===b.sLoadingRecords)&&p(a,a,"sZeroRecords","sLoadingRecords")}function ya(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+('name="'+a.sTableId+'_length"')+">",c,d,i=a.aLengthMenu;if(2==i.length&&"object"===typeof i[0]&&"object"===typeof i[1]){c=0;for(d=i[0].length;c<d;c++)b+='<option value="'+i[0][c]+'">'+i[1][c]+"</option>"}else{c=0;for(d=i.length;c<d;c++)b+='<option value="'+i[c]+'">'+i[c]+"</option>"}b+="</select>";i=l.createElement("div");a.aanFeatures.l|| 
    61 (i.id=a.sTableId+"_length");i.className=a.oClasses.sLength;i.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";h('select option[value="'+a._iDisplayLength+'"]',i).attr("selected",!0);h("select",i).bind("change.DT",function(){var b=h(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;c<d;c++)i[c]!=this.parentNode&&h("select",i[c]).val(b);a._iDisplayLength=parseInt(b,10);y(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart< 
    62 0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;x(a)});h("select",i).attr("aria-controls",a.sTableId);return i}function y(a){a._iDisplayEnd=!1===a.oFeatures.bPaginate?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Da(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;j.ext.oPagination[a.sPaginationType].fnInit(a, 
    63 b,function(a){y(a);x(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){y(a);x(a)})},sName:"pagination"});return b}function qa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart-a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart= 
    64 0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay()&&(a._iDisplayStart+=a._iDisplayLength):a._iDisplayStart=0;else if("last"==b)if(0<=a._iDisplayLength){var d=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(d-1)*a._iDisplayLength}else a._iDisplayStart=0;else D(a,0,"Unknown paging action: "+b);h(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Aa(a){var b=l.createElement("div");a.aanFeatures.r||(b.id=a.sTableId+ 
    65 "_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function E(a,b){if(a.oFeatures.bProcessing)for(var c=a.aanFeatures.r,d=0,i=c.length;d<i;d++)c[d].style.visibility=b?"visible":"hidden";h(a.oInstance).trigger("processing",[a,b])}function Ba(a){if(""===a.oScroll.sX&&""===a.oScroll.sY)return a.nTable;var b=l.createElement("div"),c=l.createElement("div"),d=l.createElement("div"),i=l.createElement("div"),f=l.createElement("div"), 
    66 g=l.createElement("div"),e=a.nTable.cloneNode(!1),j=a.nTable.cloneNode(!1),o=a.nTable.getElementsByTagName("thead")[0],k=0===a.nTable.getElementsByTagName("tfoot").length?null:a.nTable.getElementsByTagName("tfoot")[0],m=a.oClasses;c.appendChild(d);f.appendChild(g);i.appendChild(a.nTable);b.appendChild(c);b.appendChild(i);d.appendChild(e);e.appendChild(o);null!==k&&(b.appendChild(f),g.appendChild(j),j.appendChild(k));b.className=m.sScrollWrapper;c.className=m.sScrollHead;d.className=m.sScrollHeadInner; 
    67 i.className=m.sScrollBody;f.className=m.sScrollFoot;g.className=m.sScrollFootInner;a.oScroll.bAutoCss&&(c.style.overflow="hidden",c.style.position="relative",f.style.overflow="hidden",i.style.overflow="auto");c.style.border="0";c.style.width="100%";f.style.border="0";d.style.width=""!==a.oScroll.sXInner?a.oScroll.sXInner:"100%";e.removeAttribute("id");e.style.marginLeft="0";a.nTable.style.marginLeft="0";null!==k&&(j.removeAttribute("id"),j.style.marginLeft="0");d=h(a.nTable).children("caption");0< 
    68 d.length&&(d=d[0],"top"===d._captionSide?e.appendChild(d):"bottom"===d._captionSide&&k&&j.appendChild(d));""!==a.oScroll.sX&&(c.style.width=q(a.oScroll.sX),i.style.width=q(a.oScroll.sX),null!==k&&(f.style.width=q(a.oScroll.sX)),h(i).scroll(function(){c.scrollLeft=this.scrollLeft;if(k!==null)f.scrollLeft=this.scrollLeft}));""!==a.oScroll.sY&&(i.style.height=q(a.oScroll.sY));a.aoDrawCallback.push({fn:La,sName:"scrolling"});a.oScroll.bInfinite&&h(i).scroll(function(){if(!a.bDrawing&&h(this).scrollTop()!== 
    69 0&&h(this).scrollTop()+h(this).height()>h(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()<a.fnRecordsDisplay()){qa(a,"next");y(a);x(a)}});a.nScrollHead=c;a.nScrollFoot=f;return b}function La(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,i,f,g,e,j,o,k,m,p=[],n=[],l=null!==a.nTFoot?a.nScrollFoot.getElementsByTagName("div")[0]:null,R=null!==a.nTFoot?l.getElementsByTagName("table")[0]:null,r=a.oBrowser.bScrollOversize,s=function(a){k= 
    70 a.style;k.paddingTop="0";k.paddingBottom="0";k.borderTopWidth="0";k.borderBottomWidth="0";k.height=0};h(a.nTable).children("thead, tfoot").remove();i=h(a.nTHead).clone()[0];a.nTable.insertBefore(i,a.nTable.childNodes[0]);g=a.nTHead.getElementsByTagName("tr");e=i.getElementsByTagName("tr");null!==a.nTFoot&&(j=h(a.nTFoot).clone()[0],a.nTable.insertBefore(j,a.nTable.childNodes[1]),o=a.nTFoot.getElementsByTagName("tr"),j=j.getElementsByTagName("tr"));""===a.oScroll.sX&&(d.style.width="100%",b.parentNode.style.width= 
    71 "100%");var t=N(a,i);i=0;for(f=t.length;i<f;i++)m=G(a,i),t[i].style.width=a.aoColumns[m].sWidth;null!==a.nTFoot&&C(function(a){a.style.width=""},j);a.oScroll.bCollapse&&""!==a.oScroll.sY&&(d.style.height=d.offsetHeight+a.nTHead.offsetHeight+"px");i=h(a.nTable).outerWidth();if(""===a.oScroll.sX){if(a.nTable.style.width="100%",r&&(h("tbody",d).height()>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(h(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width= 
    72 q(a.oScroll.sXInner):i==h(d).width()&&h(d).height()<h(a.nTable).height()?(a.nTable.style.width=q(i-a.oScroll.iBarWidth),h(a.nTable).outerWidth()>i-a.oScroll.iBarWidth&&(a.nTable.style.width=q(i))):a.nTable.style.width=q(i);i=h(a.nTable).outerWidth();C(s,e);C(function(a){p.push(q(h(a).width()))},e);C(function(a,b){a.style.width=p[b]},g);h(e).height(0);null!==a.nTFoot&&(C(s,j),C(function(a){n.push(q(h(a).width()))},j),C(function(a,b){a.style.width=n[b]},o),h(j).height(0));C(function(a,b){a.innerHTML= 
    73 "";a.style.width=p[b]},e);null!==a.nTFoot&&C(function(a,b){a.innerHTML="";a.style.width=n[b]},j);if(h(a.nTable).outerWidth()<i){g=d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")?i+a.oScroll.iBarWidth:i;if(r&&(d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(g-a.oScroll.iBarWidth);d.style.width=q(g);a.nScrollHead.style.width=q(g);null!==a.nTFoot&&(a.nScrollFoot.style.width=q(g));""===a.oScroll.sX?D(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."): 
    74 ""!==a.oScroll.sXInner&&D(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else d.style.width=q("100%"),a.nScrollHead.style.width=q("100%"),null!==a.nTFoot&&(a.nScrollFoot.style.width=q("100%"));""===a.oScroll.sY&&r&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),r=""!==a.oScroll.sX&&a.nTable.offsetWidth> 
    75 d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeight<d.offsetHeight&&(d.style.height=q(a.nTable.offsetHeight+r)));r=h(a.nTable).outerWidth();c.style.width=q(r);b.style.width=q(r);c=h(a.nTable).height()>d.clientHeight||"scroll"==h(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px";null!==a.nTFoot&&(R.style.width=q(r),l.style.width=q(r),l.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");h(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function C(a,b,c){for(var d= 
    76 0,i=0,f=b.length,g,e;i<f;){g=b[i].firstChild;for(e=c?c[i].firstChild:null;g;)1===g.nodeType&&(c?a(g,e,d):a(g,d),d++),g=g.nextSibling,e=c?e.nextSibling:null;i++}}function Ma(a,b){if(!a||null===a||""===a)return 0;b||(b=l.body);var c,d=l.createElement("div");d.style.width=q(a);b.appendChild(d);c=d.offsetWidth;b.removeChild(d);return c}function da(a){var b=0,c,d=0,i=a.aoColumns.length,f,e,j=h("th",a.nTHead),o=a.nTable.getAttribute("width");e=a.nTable.parentNode;for(f=0;f<i;f++)a.aoColumns[f].bVisible&& 
    77 (d++,null!==a.aoColumns[f].sWidth&&(c=Ma(a.aoColumns[f].sWidthOrig,e),null!==c&&(a.aoColumns[f].sWidth=q(c)),b++));if(i==j.length&&0===b&&d==i&&""===a.oScroll.sX&&""===a.oScroll.sY)for(f=0;f<a.aoColumns.length;f++)c=h(j[f]).width(),null!==c&&(a.aoColumns[f].sWidth=q(c));else{b=a.nTable.cloneNode(!1);f=a.nTHead.cloneNode(!0);d=l.createElement("tbody");c=l.createElement("tr");b.removeAttribute("id");b.appendChild(f);null!==a.nTFoot&&(b.appendChild(a.nTFoot.cloneNode(!0)),C(function(a){a.style.width= 
    78 ""},b.getElementsByTagName("tr")));b.appendChild(d);d.appendChild(c);d=h("thead th",b);0===d.length&&(d=h("tbody tr:eq(0)>td",b));j=N(a,f);for(f=d=0;f<i;f++){var k=a.aoColumns[f];k.bVisible&&null!==k.sWidthOrig&&""!==k.sWidthOrig?j[f-d].style.width=q(k.sWidthOrig):k.bVisible?j[f-d].style.width="":d++}for(f=0;f<i;f++)a.aoColumns[f].bVisible&&(d=Na(a,f),null!==d&&(d=d.cloneNode(!0),""!==a.aoColumns[f].sContentPadding&&(d.innerHTML+=a.aoColumns[f].sContentPadding),c.appendChild(d)));e.appendChild(b); 
    79 ""!==a.oScroll.sX&&""!==a.oScroll.sXInner?b.style.width=q(a.oScroll.sXInner):""!==a.oScroll.sX?(b.style.width="",h(b).width()<e.offsetWidth&&(b.style.width=q(e.offsetWidth))):""!==a.oScroll.sY?b.style.width=q(e.offsetWidth):o&&(b.style.width=q(o));b.style.visibility="hidden";Oa(a,b);i=h("tbody tr:eq(0)",b).children();0===i.length&&(i=N(a,h("thead",b)[0]));if(""!==a.oScroll.sX){for(f=d=e=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=null===a.aoColumns[f].sWidthOrig?e+h(i[d]).outerWidth(): 
    80 e+(parseInt(a.aoColumns[f].sWidth.replace("px",""),10)+(h(i[d]).outerWidth()-h(i[d]).width())),d++);b.style.width=q(e);a.nTable.style.width=q(e)}for(f=d=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=h(i[d]).width(),null!==e&&0<e&&(a.aoColumns[f].sWidth=q(e)),d++);i=h(b).css("width");a.nTable.style.width=-1!==i.indexOf("%")?i:q(h(b).outerWidth());b.parentNode.removeChild(b)}o&&(a.nTable.style.width=q(o))}function Oa(a,b){""===a.oScroll.sX&&""!==a.oScroll.sY?(h(b).width(),b.style.width=q(h(b).outerWidth()- 
    81 a.oScroll.iBarWidth)):""!==a.oScroll.sX&&(b.style.width=q(h(b).outerWidth()))}function Na(a,b){var c=Pa(a,b);if(0>c)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=v(a,c,b,"");return d}return J(a,c)[b]}function Pa(a,b){for(var c=-1,d=-1,i=0;i<a.aoData.length;i++){var e=v(a,i,b,"display")+"",e=e.replace(/<.*?>/g,"");e.length>c&&(c=e.length,d=i)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1); 
    82 return 48>b||57<b?a:a+"px"}function Qa(){var a=l.createElement("p"),b=a.style;b.width="100%";b.height="200px";b.padding="0px";var c=l.createElement("div"),b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.padding="0px";b.overflow="hidden";c.appendChild(a);l.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;b==a&&(a=c.clientWidth);l.body.removeChild(c);return b-a}function O(a,b){var c,d,i,e,g,k,o=[],m=[],p= 
    83 j.ext.oSort,l=a.aoData,q=a.aoColumns,G=a.oLanguage.oAria;if(!a.oFeatures.bServerSide&&(0!==a.aaSorting.length||null!==a.aaSortingFixed)){o=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<o.length;c++)if(d=o[c][0],i=R(a,d),e=a.aoColumns[d].sSortDataType,j.ext.afnSortData[e])if(g=j.ext.afnSortData[e].call(a.oInstance,a,d,i),g.length===l.length){i=0;for(e=l.length;i<e;i++)F(a,i,d,g[i])}else D(a,0,"Returned data sort array (col "+d+") is the wrong length");c= 
    84 0;for(d=a.aiDisplayMaster.length;c<d;c++)m[a.aiDisplayMaster[c]]=c;var r=o.length,s;c=0;for(d=l.length;c<d;c++)for(i=0;i<r;i++){s=q[o[i][0]].aDataSort;g=0;for(k=s.length;g<k;g++)e=q[s[g]].sType,e=p[(e?e:"string")+"-pre"],l[c]._aSortData[s[g]]=e?e(v(a,c,s[g],"sort")):v(a,c,s[g],"sort")}a.aiDisplayMaster.sort(function(a,b){var c,d,e,i,f;for(c=0;c<r;c++){f=q[o[c][0]].aDataSort;d=0;for(e=f.length;d<e;d++)if(i=q[f[d]].sType,i=p[(i?i:"string")+"-"+o[c][1]](l[a]._aSortData[f[d]],l[b]._aSortData[f[d]]),0!== 
    85 i)return i}return p["numeric-asc"](m[a],m[b])})}(b===n||b)&&!a.oFeatures.bDeferRender&&P(a);c=0;for(d=a.aoColumns.length;c<d;c++)e=q[c].sTitle.replace(/<.*?>/g,""),i=q[c].nTh,i.removeAttribute("aria-sort"),i.removeAttribute("aria-label"),q[c].bSortable?0<o.length&&o[0][0]==c?(i.setAttribute("aria-sort","asc"==o[0][1]?"ascending":"descending"),i.setAttribute("aria-label",e+("asc"==(q[c].asSorting[o[0][2]+1]?q[c].asSorting[o[0][2]+1]:q[c].asSorting[0])?G.sSortAscending:G.sSortDescending))):i.setAttribute("aria-label", 
    86 e+("asc"==q[c].asSorting[0]?G.sSortAscending:G.sSortDescending)):i.setAttribute("aria-label",e);a.bSorted=!0;h(a.oInstance).trigger("sort",a);a.oFeatures.bFilter?K(a,a.oPreviousSearch,1):(a.aiDisplay=a.aiDisplayMaster.slice(),a._iDisplayStart=0,y(a),x(a))}function ia(a,b,c,d){Ra(b,{},function(b){if(!1!==a.aoColumns[c].bSortable){var e=function(){var d,e;if(b.shiftKey){for(var f=!1,h=0;h<a.aaSorting.length;h++)if(a.aaSorting[h][0]==c){f=!0;d=a.aaSorting[h][0];e=a.aaSorting[h][2]+1;a.aoColumns[d].asSorting[e]? 
    87 (a.aaSorting[h][1]=a.aoColumns[d].asSorting[e],a.aaSorting[h][2]=e):a.aaSorting.splice(h,1);break}!1===f&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else 1==a.aaSorting.length&&a.aaSorting[0][0]==c?(d=a.aaSorting[0][0],e=a.aaSorting[0][2]+1,a.aoColumns[d].asSorting[e]||(e=0),a.aaSorting[0][1]=a.aoColumns[d].asSorting[e],a.aaSorting[0][2]=e):(a.aaSorting.splice(0,a.aaSorting.length),a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0]));O(a)};a.oFeatures.bProcessing?(E(a,!0),setTimeout(function(){e(); 
    88 a.oFeatures.bServerSide||E(a,!1)},0)):e();"function"==typeof d&&d(a)}})}function P(a){var b,c,d,e,f,g=a.aoColumns.length,j=a.oClasses;for(b=0;b<g;b++)a.aoColumns[b].bSortable&&h(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+" "+a.aoColumns[b].sSortingClass);c=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){f=a.aoColumns[b].sSortingClass;e=-1;for(d=0;d<c.length;d++)if(c[d][0]==b){f="asc"==c[d][1]? 
    89 j.sSortAsc:j.sSortDesc;e=d;break}h(a.aoColumns[b].nTh).addClass(f);a.bJUI&&(f=h("span."+j.sSortIcon,a.aoColumns[b].nTh),f.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed),f.addClass(-1==e?a.aoColumns[b].sSortingClassJUI:"asc"==c[e][1]?j.sSortJUIAsc:j.sSortJUIDesc))}else h(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);f=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){a=J(a);e=[];for(b=0;b<g;b++)e.push("");b=0; 
    90 for(d=1;b<c.length;b++)j=parseInt(c[b][0],10),e[j]=f+d,3>d&&d++;f=RegExp(f+"[123]");var o;b=0;for(c=a.length;b<c;b++)j=b%g,d=a[b].className,o=e[j],j=d.replace(f,o),j!=d?a[b].className=h.trim(j):0<o.length&&-1==d.indexOf(o)&&(a[b].className=d+" "+o)}}function ra(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart,iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:h.extend(!0,[],a.aaSorting), 
    91 oSearch:h.extend(!0,{},a.oPreviousSearch),aoSearchCols:h.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};b=0;for(c=a.aoColumns.length;b<c;b++)d.abVisCols.push(a.aoColumns[b].bVisible);A(a,"aoStateSaveParams","stateSaveParams",[a,d]);a.fnStateSave.call(a.oInstance,a,d)}}function Sa(a,b){if(a.oFeatures.bStateSave){var c=a.fnStateLoad.call(a.oInstance,a);if(c){var d=A(a,"aoStateLoadParams","stateLoadParams",[a,c]);if(-1===h.inArray(!1,d)){a.oLoadedState=h.extend(!0,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart= 
    92 c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();h.extend(a.oPreviousSearch,c.oSearch);h.extend(!0,a.aoPreSearchCols,c.aoSearchCols);b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++)b.saved_aoColumns[d]={},b.saved_aoColumns[d].bVisible=c.abVisCols[d];A(a,"aoStateLoaded","stateLoaded",[a,c])}}}}function s(a){for(var b=0;b<j.settings.length;b++)if(j.settings[b].nTable===a)return j.settings[b];return null}function T(a){for(var b= 
    93 [],a=a.aoData,c=0,d=a.length;c<d;c++)null!==a[c].nTr&&b.push(a[c].nTr);return b}function J(a,b){var c=[],d,e,f,g,h,j;e=0;var o=a.aoData.length;b!==n&&(e=b,o=b+1);for(f=e;f<o;f++)if(j=a.aoData[f],null!==j.nTr){e=[];for(d=j.nTr.firstChild;d;)g=d.nodeName.toLowerCase(),("td"==g||"th"==g)&&e.push(d),d=d.nextSibling;g=d=0;for(h=a.aoColumns.length;g<h;g++)a.aoColumns[g].bVisible?c.push(e[g-d]):(c.push(j._anHidden[g]),d++)}return c}function D(a,b,c){a=null===a?"DataTables warning: "+c:"DataTables warning (table id = '"+ 
    94 a.sTableId+"'): "+c;if(0===b)if("alert"==j.ext.sErrMode)alert(a);else throw Error(a);else X.console&&console.log&&console.log(a)}function p(a,b,c,d){d===n&&(d=c);b[c]!==n&&(a[d]=b[c])}function Ta(a,b){var c,d;for(d in b)b.hasOwnProperty(d)&&(c=b[d],"object"===typeof e[d]&&null!==c&&!1===h.isArray(c)?h.extend(!0,a[d],c):a[d]=c);return a}function Ra(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&c(a)}).bind("selectstart.DT",function(){return!1})} 
    95 function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function A(a,b,c,d){for(var b=a[b],e=[],f=b.length-1;0<=f;f--)e.push(b[f].fn.apply(a.oInstance,d));null!==c&&h(a.oInstance).trigger(c,d);return e}function Ua(a){var b=h('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"></div></div></div>')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize= 
    96 100===h("#DT_BrowserTest",b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Va(a){return function(){var b=[s(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var U=/\[.*?\]$/,Wa=X.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,e=[],f=h.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Wa(d)),e.push((f?"":'"'+c+'":')+d);return(f? 
    97 "[":"{")+e+(f?"]":"}")};this.$=function(a,b){var c,d,e=[],f;d=s(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=h.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c<d;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("current"==b.order&&"none"==b.filter){c=0;for(d=k.length;c<d;c++)(f=g[k[c]].nTr)&&e.push(f)}else if("current"==b.order&&"applied"==b.filter){c=0;for(d=o.length;c<d;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("original"== 
    98 b.order&&"none"==b.filter){c=0;for(d=g.length;c<d;c++)(f=g[c].nTr)&&e.push(f)}else if("original"==b.order&&"applied"==b.filter){c=0;for(d=g.length;c<d;c++)f=g[c].nTr,-1!==h.inArray(c,o)&&f&&e.push(f)}else D(d,1,"Unknown selection options");e=h(e);c=e.filter(a);e=e.find(a);return h([].concat(h.makeArray(c),h.makeArray(e)))};this._=function(a,b){var c=[],d,e,f=this.$(a,b);d=0;for(e=f.length;d<e;d++)c.push(this.fnGetData(f[d]));return c};this.fnAddData=function(a,b){if(0===a.length)return[];var c=[], 
    99 d,e=s(this[j.ext.iApiIndex]);if("object"===typeof a[0]&&null!==a[0])for(var f=0;f<a.length;f++){d=H(e,a[f]);if(-1==d)return c;c.push(d)}else{d=H(e,a);if(-1==d)return c;c.push(d)}e.aiDisplay=e.aiDisplayMaster.slice();(b===n||b)&&aa(e);return c};this.fnAdjustColumnSizing=function(a){var b=s(this[j.ext.iApiIndex]);k(b);a===n||a?this.fnDraw(!1):(""!==b.oScroll.sX||""!==b.oScroll.sY)&&this.oApi._fnScrollDraw(b)};this.fnClearTable=function(a){var b=s(this[j.ext.iApiIndex]);ga(b);(a===n||a)&&x(b)};this.fnClose= 
    100 function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr),b.aoOpenRows.splice(c,1),0;return 1};this.fnDeleteRow=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,a="object"===typeof a?I(d,a):a,g=d.aoData.splice(a,1);e=0;for(f=d.aoData.length;e<f;e++)null!==d.aoData[e].nTr&&(d.aoData[e].nTr._DT_RowIndex=e);e=h.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ha(d.aiDisplayMaster, 
    101 a);ha(d.aiDisplay,a);"function"===typeof b&&b.call(this,d,g);d._iDisplayStart>=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)y(d),x(d);return g};this.fnDestroy=function(a){var b=s(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,i,f,a=a===n?!1:a;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);if(!a){i=0;for(f=b.aoColumns.length;i<f;i++)!1===b.aoColumns[i].bVisible&&this.fnSetColumnVis(i,!0)}h(b.nTableWrapper).find("*").andSelf().unbind(".DT"); 
    102 h("tbody>tr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(h(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(h(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);h(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];P(b);h(T(b)).removeClass(b.asStripeClasses.join(" "));h("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc, 
    103 b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(h("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),h("th, td",b.nTHead).each(function(){var a=h("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();h(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);i=0;for(f=b.aoData.length;i<f;i++)null!==b.aoData[i].nTr&&d.appendChild(b.aoData[i].nTr);!0===b.oFeatures.bAutoWidth&& 
    104 (b.nTable.style.width=q(b.sDestroyWidth));if(f=b.asDestroyStripes.length){a=h(d).children("tr");for(i=0;i<f;i++)a.filter(":nth-child("+f+"n + "+i+")").addClass(b.asDestroyStripes[i])}i=0;for(f=j.settings.length;i<f;i++)j.settings[i]==b&&j.settings.splice(i,1);e=b=null};this.fnDraw=function(a){var b=s(this[j.ext.iApiIndex]);!1===a?(y(b),x(b)):aa(b)};this.fnFilter=function(a,b,c,d,e,f){var g=s(this[j.ext.iApiIndex]);if(g.oFeatures.bFilter){if(c===n||null===c)c=!1;if(d===n||null===d)d=!0;if(e===n||null=== 
    105 e)e=!0;if(f===n||null===f)f=!0;if(b===n||null===b){if(K(g,{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f},1),e&&g.aanFeatures.f){b=g.aanFeatures.f;c=0;for(d=b.length;c<d;c++)try{b[c]._DT_Input!=l.activeElement&&h(b[c]._DT_Input).val(a)}catch(o){h(b[c]._DT_Input).val(a)}}}else h.extend(g.aoPreSearchCols[b],{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f}),K(g,g.oPreviousSearch,1)}};this.fnGetData=function(a,b){var c=s(this[j.ext.iApiIndex]);if(a!==n){var d=a;if("object"===typeof a){var e=a.nodeName.toLowerCase(); 
    106 "tr"===e?d=I(c,a):"td"===e&&(d=I(c,a.parentNode),b=fa(c,d,a))}return b!==n?v(c,d,b,""):c.aoData[d]!==n?c.aoData[d]._aData:null}return Z(c)};this.fnGetNodes=function(a){var b=s(this[j.ext.iApiIndex]);return a!==n?b.aoData[a]!==n?b.aoData[a].nTr:null:T(b)};this.fnGetPosition=function(a){var b=s(this[j.ext.iApiIndex]),c=a.nodeName.toUpperCase();return"TR"==c?I(b,a):"TD"==c||"TH"==c?(c=I(b,a.parentNode),a=fa(b,c,a),[c,R(b,a),a]):null};this.fnIsOpen=function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c< 
    107 b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return!0;return!1};this.fnOpen=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e=T(d);if(-1!==h.inArray(a,e)){this.fnClose(a);var e=l.createElement("tr"),f=l.createElement("td");e.appendChild(f);f.className=c;f.colSpan=t(d);"string"===typeof b?f.innerHTML=b:h(f).html(b);b=h("tr",d.nTBody);-1!=h.inArray(a,b)&&h(e).insertAfter(a);d.aoOpenRows.push({nTr:e,nParent:a});return e}};this.fnPageChange=function(a,b){var c=s(this[j.ext.iApiIndex]);qa(c,a); 
    108 y(c);(b===n||b)&&x(c)};this.fnSetColumnVis=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,g=d.aoColumns,h=d.aoData,o,m;if(g[a].bVisible!=b){if(b){for(e=f=0;e<a;e++)g[e].bVisible&&f++;m=f>=t(d);if(!m)for(e=a;e<g.length;e++)if(g[e].bVisible){o=e;break}e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(m?h[e].nTr.appendChild(h[e]._anHidden[a]):h[e].nTr.insertBefore(h[e]._anHidden[a],J(d,e)[o]))}else{e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(o=J(d,e)[a],h[e]._anHidden[a]=o,o.parentNode.removeChild(o))}g[a].bVisible= 
    109 b;W(d,d.aoHeader);d.nTFoot&&W(d,d.aoFooter);e=0;for(f=d.aoOpenRows.length;e<f;e++)d.aoOpenRows[e].nTr.colSpan=t(d);if(c===n||c)k(d),x(d);ra(d)}};this.fnSettings=function(){return s(this[j.ext.iApiIndex])};this.fnSort=function(a){var b=s(this[j.ext.iApiIndex]);b.aaSorting=a;O(b)};this.fnSortListener=function(a,b,c){ia(s(this[j.ext.iApiIndex]),a,b,c)};this.fnUpdate=function(a,b,c,d,e){var f=s(this[j.ext.iApiIndex]),b="object"===typeof b?I(f,b):b;if(h.isArray(a)&&c===n){f.aoData[b]._aData=a.slice(); 
    110 for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else if(h.isPlainObject(a)&&c===n){f.aoData[b]._aData=h.extend(!0,{},a);for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else{F(f,b,c,a);var a=v(f,b,c,"display"),g=f.aoColumns[c];null!==g.fnRender&&(a=S(f,b,c),g.bUseRendered&&F(f,b,c,a));null!==f.aoData[b].nTr&&(J(f,b)[c].innerHTML=a)}c=h.inArray(b,f.aiDisplay);f.asDataSearch[c]=na(f,Y(f,b,"filter",r(f,"bSearchable")));(e===n||e)&&k(f);(d===n||d)&&aa(f);return 0}; 
    111 this.fnVersionCheck=j.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:Va,_fnInitialise:ba,_fnInitComplete:$,_fnLanguageCompat:pa,_fnAddColumn:o,_fnColumnOptions:m,_fnAddData:H,_fnCreateTr:ea,_fnGatherData:ua,_fnBuildHead:va,_fnDrawHead:W,_fnDraw:x,_fnReDraw:aa,_fnAjaxUpdate:wa,_fnAjaxParameters:Ea,_fnAjaxUpdateDraw:Fa,_fnServerParams:ka,_fnAddOptionsHtml:xa,_fnFeatureHtmlTable:Ba,_fnScrollDraw:La,_fnAdjustColumnSizing:k,_fnFeatureHtmlFilter:za,_fnFilterComplete:K,_fnFilterCustom:Ia,_fnFilterColumn:Ha, 
    112 _fnFilter:Ga,_fnBuildSearchArray:la,_fnBuildSearchRow:na,_fnFilterCreateSearch:ma,_fnDataToSearch:Ja,_fnSort:O,_fnSortAttachListener:ia,_fnSortingClasses:P,_fnFeatureHtmlPaginate:Da,_fnPageChange:qa,_fnFeatureHtmlInfo:Ca,_fnUpdateInfo:Ka,_fnFeatureHtmlLength:ya,_fnFeatureHtmlProcessing:Aa,_fnProcessingDisplay:E,_fnVisibleToColumnIndex:G,_fnColumnIndexToVisible:R,_fnNodeToDataIndex:I,_fnVisbleColumns:t,_fnCalculateEnd:y,_fnConvertToWidth:Ma,_fnCalculateColumnWidths:da,_fnScrollingWidthAdjust:Oa,_fnGetWidestNode:Na, 
    113 _fnGetMaxLenString:Pa,_fnStringToCss:q,_fnDetectType:B,_fnSettingsFromNode:s,_fnGetDataMaster:Z,_fnGetTrNodes:T,_fnGetTdNodes:J,_fnEscapeRegex:oa,_fnDeleteIndex:ha,_fnReOrderIndex:u,_fnColumnOrdering:M,_fnLog:D,_fnClearTable:ga,_fnSaveState:ra,_fnLoadState:Sa,_fnCreateCookie:function(a,b,c,d,e){var f=new Date;f.setTime(f.getTime()+1E3*c);var c=X.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),g;null!==e?(g="function"===typeof h.parseJSON?h.parseJSON(b):eval("("+b+")"), 
    114 b=e(a,g,f.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+"; path="+c.join("/")+"/";a=l.cookie.split(";");e=b.split(";")[0].length;f=[];if(4096<e+l.cookie.length+10){for(var j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){var k=a[j].split("=");try{(g=eval("("+decodeURIComponent(k[1])+")"))&&g.iCreate&&f.push({name:k[0],time:g.iCreate})}catch(m){}}for(f.sort(function(a,b){return b.time-a.time});4096<e+l.cookie.length+10;){if(0===f.length)return;d=f.pop();l.cookie= 
    115 d.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}}l.cookie=b},_fnReadCookie:function(a){for(var b=X.location.pathname.split("/"),a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",b=l.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];" "==d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(a))return decodeURIComponent(d.substring(a.length,d.length))}return null},_fnDetectHeader:V,_fnGetUniqueThs:N,_fnScrollBarWidth:Qa,_fnApplyToChildren:C,_fnMap:p,_fnGetRowData:Y, 
    116 _fnGetCellData:v,_fnSetCellData:F,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:L,_fnApplyColumnDefs:ta,_fnBindAction:Ra,_fnExtend:Ta,_fnCallbackReg:z,_fnCallbackFire:A,_fnJsonString:Wa,_fnRender:S,_fnNodeToColumnIndex:fa,_fnInfoMacros:ja,_fnBrowserDetect:Ua,_fnGetColumns:r};h.extend(j.ext.oApi,this.oApi);for(var sa in j.ext.oApi)sa&&(this[sa]=Va(sa));var ca=this;this.each(function(){var a=0,b,c,d;c=this.getAttribute("id");var i=!1,f=!1;if("table"!=this.nodeName.toLowerCase())D(null,0,"Attempted to initialise DataTables on a node which is not a table: "+ 
    117 this.nodeName);else{a=0;for(b=j.settings.length;a<b;a++){if(j.settings[a].nTable==this){if(e===n||e.bRetrieve)return j.settings[a].oInstance;if(e.bDestroy){j.settings[a].oInstance.fnDestroy();break}else{D(j.settings[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(j.settings[a].sTableId==this.id){j.settings.splice(a,1);break}}if(null===c||""===c)this.id=c="DataTables_Table_"+j.ext._oExternConfig.iNextUnique++; 
    118 var g=h.extend(!0,{},j.models.oSettings,{nTable:this,oApi:ca.oApi,oInit:e,sDestroyWidth:h(this).width(),sInstance:c,sTableId:c});j.settings.push(g);g.oInstance=1===ca.length?ca:h(this).dataTable();e||(e={});e.oLanguage&&pa(e.oLanguage);e=Ta(h.extend(!0,{},j.defaults),e);p(g.oFeatures,e,"bPaginate");p(g.oFeatures,e,"bLengthChange");p(g.oFeatures,e,"bFilter");p(g.oFeatures,e,"bSort");p(g.oFeatures,e,"bInfo");p(g.oFeatures,e,"bProcessing");p(g.oFeatures,e,"bAutoWidth");p(g.oFeatures,e,"bSortClasses"); 
    119 p(g.oFeatures,e,"bServerSide");p(g.oFeatures,e,"bDeferRender");p(g.oScroll,e,"sScrollX","sX");p(g.oScroll,e,"sScrollXInner","sXInner");p(g.oScroll,e,"sScrollY","sY");p(g.oScroll,e,"bScrollCollapse","bCollapse");p(g.oScroll,e,"bScrollInfinite","bInfinite");p(g.oScroll,e,"iScrollLoadGap","iLoadGap");p(g.oScroll,e,"bScrollAutoCss","bAutoCss");p(g,e,"asStripeClasses");p(g,e,"asStripClasses","asStripeClasses");p(g,e,"fnServerData");p(g,e,"fnFormatNumber");p(g,e,"sServerMethod");p(g,e,"aaSorting");p(g, 
    120 e,"aaSortingFixed");p(g,e,"aLengthMenu");p(g,e,"sPaginationType");p(g,e,"sAjaxSource");p(g,e,"sAjaxDataProp");p(g,e,"iCookieDuration");p(g,e,"sCookiePrefix");p(g,e,"sDom");p(g,e,"bSortCellsTop");p(g,e,"iTabIndex");p(g,e,"oSearch","oPreviousSearch");p(g,e,"aoSearchCols","aoPreSearchCols");p(g,e,"iDisplayLength","_iDisplayLength");p(g,e,"bJQueryUI","bJUI");p(g,e,"fnCookieCallback");p(g,e,"fnStateLoad");p(g,e,"fnStateSave");p(g.oLanguage,e,"fnInfoCallback");z(g,"aoDrawCallback",e.fnDrawCallback,"user"); 
    121 z(g,"aoServerParams",e.fnServerParams,"user");z(g,"aoStateSaveParams",e.fnStateSaveParams,"user");z(g,"aoStateLoadParams",e.fnStateLoadParams,"user");z(g,"aoStateLoaded",e.fnStateLoaded,"user");z(g,"aoRowCallback",e.fnRowCallback,"user");z(g,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(g,"aoHeaderCallback",e.fnHeaderCallback,"user");z(g,"aoFooterCallback",e.fnFooterCallback,"user");z(g,"aoInitComplete",e.fnInitComplete,"user");z(g,"aoPreDrawCallback",e.fnPreDrawCallback,"user");g.oFeatures.bServerSide&& 
    122 g.oFeatures.bSort&&g.oFeatures.bSortClasses?z(g,"aoDrawCallback",P,"server_side_sort_classes"):g.oFeatures.bDeferRender&&z(g,"aoDrawCallback",P,"defer_sort_classes");e.bJQueryUI?(h.extend(g.oClasses,j.ext.oJUIClasses),e.sDom===j.defaults.sDom&&"lfrtip"===j.defaults.sDom&&(g.sDom='<"H"lfr>t<"F"ip>')):h.extend(g.oClasses,j.ext.oStdClasses);h(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!==g.oScroll.sY)g.oScroll.iBarWidth=Qa();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart, 
    123 g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Sa(g,e),z(g,"aoDrawCallback",ra,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=h.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,h.getJSON(g.oLanguage.sUrl,null,function(a){pa(a);h.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),i=!0):h.extend(!0, 
    124 g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);b=g.asStripeClasses.length;g.asDestroyStripes=[];if(b){c=!1;d=h(this).children("tbody").children("tr:lt("+b+")");for(a=0;a<b;a++)d.hasClass(g.asStripeClasses[a])&&(c=!0,g.asDestroyStripes.push(g.asStripeClasses[a]));c&&d.removeClass(g.asStripeClasses.join(" "))}c=[];a=this.getElementsByTagName("thead");0!==a.length&&(V(g.aoHeader,a[0]),c=N(g));if(null===e.aoColumns){d=[];a=0;for(b= 
    125 c.length;a<b;a++)d.push(null)}else d=e.aoColumns;a=0;for(b=d.length;a<b;a++)e.saved_aoColumns!==n&&e.saved_aoColumns.length==b&&(null===d[a]&&(d[a]={}),d[a].bVisible=e.saved_aoColumns[a].bVisible),o(g,c?c[a]:null);ta(g,e.aoColumnDefs,d,function(a,b){m(g,a,b)});a=0;for(b=g.aaSorting.length;a<b;a++){g.aaSorting[a][0]>=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]= 
    126 k.asSorting[0]);c=0;for(d=k.asSorting.length;c<d;c++)if(g.aaSorting[a][1]==k.asSorting[c]){g.aaSorting[a][2]=c;break}}P(g);Ua(g);a=h(this).children("caption").each(function(){this._captionSide=h(this).css("caption-side")});b=h(this).children("thead");0===b.length&&(b=[l.createElement("thead")],this.appendChild(b[0]));g.nTHead=b[0];b=h(this).children("tbody");0===b.length&&(b=[l.createElement("tbody")],this.appendChild(b[0]));g.nTBody=b[0];g.nTBody.setAttribute("role","alert");g.nTBody.setAttribute("aria-live", 
    127 "polite");g.nTBody.setAttribute("aria-relevant","all");b=h(this).children("tfoot");if(0===b.length&&0<a.length&&(""!==g.oScroll.sX||""!==g.oScroll.sY))b=[l.createElement("tfoot")],this.appendChild(b[0]);0<b.length&&(g.nTFoot=b[0],V(g.aoFooter,g.nTFoot));if(f)for(a=0;a<e.aaData.length;a++)H(g,e.aaData[a]);else ua(g);g.aiDisplay=g.aiDisplayMaster.slice();g.bInitialised=!0;!1===i&&ba(g)}});ca=null;return this};j.fnVersionCheck=function(e){for(var h=function(e,h){for(;e.length<h;)e+="0";return e},m=j.ext.sVersion.split("."), 
    128 e=e.split("."),k="",n="",l=0,t=e.length;l<t;l++)k+=h(m[l],3),n+=h(e[l],3);return parseInt(k,10)>=parseInt(n,10)};j.fnIsDataTable=function(e){for(var h=j.settings,m=0;m<h.length;m++)if(h[m].nTable===e||h[m].nScrollHead===e||h[m].nScrollFoot===e)return!0;return!1};j.fnTables=function(e){var o=[];jQuery.each(j.settings,function(j,k){(!e||!0===e&&h(k.nTable).is(":visible"))&&o.push(k.nTable)});return o};j.version="1.9.4";j.settings=[];j.models={};j.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[], 
    129 aTypes:[],fnVersionCheck:j.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:j.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};j.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};j.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};j.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null, 
    130 fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};j.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0, 
    131 bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){if(1E3>e)return e;for(var h=e+"",e=h.split(""),j="",h=h.length,k=0;k<h;k++)0===k%3&&0!==k&&(j=this.oLanguage.sInfoThousands+j),j=e[h-k-1]+j;return j},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null, 
    132 fnRowCallback:null,fnServerData:function(e,j,m,k){k.jqXHR=h.ajax({url:e,data:j,success:function(e){e.sError&&k.oApi._fnLog(k,0,e.sError);h(k.oInstance).trigger("xhr",[k,e]);m(e)},dataType:"json",cache:!1,type:k.sServerMethod,error:function(e,h){"parsererror"==h&&k.oApi._fnLog(k,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j= 
    133 "function"===typeof h.parseJSON?h.parseJSON(e):eval("("+e+")")}catch(m){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null,fnStateSave:function(e,h){this.oApi._fnCreateCookie(e.sCookiePrefix+e.sInstance,this.oApi._fnJsonString(h),e.iCookieDuration,e.sCookiePrefix,e.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"}, 
    134 oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},j.models.oSearch),sAjaxDataProp:"aaData", 
    135 sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};j.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};j.models.oSettings={oFeatures:{bAutoWidth:null, 
    136 bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null, 
    137 asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[], 
    138 oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length}, 
    139 fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};j.ext=h.extend(!0,{},j.models.ext);h.extend(j.ext.oStdClasses, 
    140 {sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty", 
    141 sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", 
    142 sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});h.extend(j.ext.oJUIClasses,j.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right", 
    143 sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_", 
    144 sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon", 
    145 sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});h.extend(j.ext.oPagination,{two_button:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)},k=!e.bJUI?'<a class="'+ 
    146 e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sPrevious+'</a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sNext+"</a>":'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUIPrev+'"></span></a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUINext+'"></span></a>';h(j).append(k);var l=h("a",j), 
    147 k=l[0],l=l[1];e.oApi._fnBindAction(k,{action:"previous"},n);e.oApi._fnBindAction(l,{action:"next"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",l.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),l.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var h=e.oClasses,j=e.aanFeatures.p,k,l=0,n=j.length;l<n;l++)if(k=j[l].firstChild)k.className=0===e._iDisplayStart?h.sPagePrevDisabled:h.sPagePrevEnabled,k=k.nextSibling, 
    148 k.className=e.fnDisplayEnd()==e.fnRecordsDisplay()?h.sPageNextDisabled:h.sPageNextEnabled}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,l=e.oClasses,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)};h(j).append('<a  tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageFirst+'">'+k.sFirst+'</a><a  tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPagePrevious+'">'+k.sPrevious+'</a><span></span><a tabindex="'+e.iTabIndex+'" class="'+ 
    149 l.sPageButton+" "+l.sPageNext+'">'+k.sNext+'</a><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageLast+'">'+k.sLast+"</a>");var t=h("a",j),k=t[0],l=t[1],r=t[2],t=t[3];e.oApi._fnBindAction(k,{action:"first"},n);e.oApi._fnBindAction(l,{action:"previous"},n);e.oApi._fnBindAction(r,{action:"next"},n);e.oApi._fnBindAction(t,{action:"last"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",r.id=e.sTableId+"_next",t.id=e.sTableId+"_last")}, 
    150 fnUpdate:function(e,o){if(e.aanFeatures.p){var m=j.ext.oPagination.iFullNumbersShowPages,k=Math.floor(m/2),l=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),n=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,t="",r,B=e.oClasses,u,M=e.aanFeatures.p,L=function(h){e.oApi._fnBindAction(this,{page:h+r-1},function(h){e.oApi._fnPageChange(e,h.data.page);o(e);h.preventDefault()})};-1===e._iDisplayLength?n=k=r=1:l<m?(r=1,k=l):n<=k?(r=1,k=m):n>=l-k?(r=l-m+1,k=l):(r=n-Math.ceil(m/2)+1,k=r+m-1);for(m=r;m<=k;m++)t+= 
    151 n!==m?'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButton+'">'+e.fnFormatNumber(m)+"</a>":'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButtonActive+'">'+e.fnFormatNumber(m)+"</a>";m=0;for(k=M.length;m<k;m++)u=M[m],u.hasChildNodes()&&(h("span:eq(0)",u).html(t).children("a").each(L),u=u.getElementsByTagName("a"),u=[u[0],u[1],u[u.length-2],u[u.length-1]],h(u).removeClass(B.sPageButton+" "+B.sPageButtonActive+" "+B.sPageButtonStaticDisabled),h([u[0],u[1]]).addClass(1==n?B.sPageButtonStaticDisabled: 
    152 B.sPageButton),h([u[2],u[3]]).addClass(0===l||n===l||-1===e._iDisplayLength?B.sPageButtonStaticDisabled:B.sPageButton))}}}});h.extend(j.ext.oSort,{"string-pre":function(e){"string"!=typeof e&&(e=null!==e&&e.toString?e.toString():"");return e.toLowerCase()},"string-asc":function(e,h){return e<h?-1:e>h?1:0},"string-desc":function(e,h){return e<h?1:e>h?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,h){return e<h?-1:e>h?1:0},"html-desc":function(e,h){return e< 
    153 h?1:e>h?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""===e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,h){return e-h},"date-desc":function(e,h){return h-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,h){return e-h},"numeric-desc":function(e,h){return h-e}});h.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var h,j=!1;h=e.charAt(0);if(-1=="0123456789-".indexOf(h))return null; 
    154 for(var k=1;k<e.length;k++){h=e.charAt(k);if(-1=="0123456789.".indexOf(h))return null;if("."==h){if(j)return null;j=!0}}return"numeric"},function(e){var h=Date.parse(e);return null!==h&&!isNaN(h)||"string"===typeof e&&0===e.length?"date":null},function(e){return"string"===typeof e&&-1!=e.indexOf("<")&&-1!=e.indexOf(">")?"html":null}]);h.fn.DataTable=j;h.fn.dataTable=j;h.fn.dataTableSettings=j.settings;h.fn.dataTableExt=j.ext};"function"===typeof define&&define.amd?define(["jquery"],L):jQuery&&!jQuery.fn.dataTable&& 
    155 L(jQuery)})(window,document); 
     48a.oFeatures.bSort){var e=0;d=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(f=0;f<d.length;f++){h=a.aoColumns[d[f][0]].aDataSort;for(g=0;g<h.length;g++)c.push({name:"iSortCol_"+e,value:h[g]}),c.push({name:"sSortDir_"+e,value:d[f][1]}),e++}c.push({name:"iSortingCols",value:e});for(f=0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}return c}function ja(a,b){C(a,"aoServerParams","serverParams",[b])}function Ga(a,b){if(b.sEcho!==n){if(1*b.sEcho< 
     49a.iDraw)return;a.iDraw=1*b.sEcho}(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))&&fa(a);a._iRecordsTotal=parseInt(b.iTotalRecords,10);a._iRecordsDisplay=parseInt(b.iTotalDisplayRecords,10);var c=H(a),c=b.sColumns!==n&&""!==c&&b.sColumns!=c,d;c&&(d=y(a,b.sColumns));for(var h=S(a.sAjaxDataProp)(b),f=0,g=h.length;f<g;f++)if(c){for(var e=[],i=0,m=a.aoColumns.length;i<m;i++)e.push(h[f][d[i]]);J(a,e)}else J(a,h[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;z(a);a.bAjaxDataGet= 
     50!0;F(a,!1)}function Aa(a){var b=a.oPreviousSearch,c=a.oLanguage.sSearch,c=-1!==c.indexOf("_INPUT_")?c.replace("_INPUT_",'<input type="text" />'):""===c?'<input type="text" />':c+' <input type="text" />',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="<label>"+c+"</label>";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=i('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"&quot;"));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value, 
     51g=0,e=c.length;g<e;g++)c[g]!=i(this).parents("div.dataTables_filter")[0]&&i(c[g]._DT_Input).val(d);d!=b.sSearch&&M(a,{sSearch:d,bRegex:b.bRegex,bSmart:b.bSmart,bCaseInsensitive:b.bCaseInsensitive})});c.attr("aria-controls",a.sTableId).bind("keypress.DT",function(a){if(a.keyCode==13)return false});return d}function M(a,b,c){var d=a.oPreviousSearch,h=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};if(a.oFeatures.bServerSide)f(b); 
     52else{Ha(a,b.sSearch,c,b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<a.aoPreSearchCols.length;b++)Ia(a,h[b].sSearch,b,h[b].bRegex,h[b].bSmart,h[b].bCaseInsensitive);Ja(a)}a.bFiltered=!0;i(a.oInstance).trigger("filter",a);a._iDisplayStart=0;A(a);z(a);ka(a,0)}function Ja(a){for(var b=j.ext.afnFiltering,c=v(a,"bSearchable"),d=0,h=b.length;d<h;d++)for(var f=0,g=0,e=a.aiDisplay.length;g<e;g++){var i=a.aiDisplay[g-f];b[d](a,Y(a,i,"filter",c),i)||(a.aiDisplay.splice(g-f,1),f++)}}function Ia(a,b,c, 
     53d,h,f){if(""!==b)for(var g=0,b=la(b,d,h,f),d=a.aiDisplay.length-1;0<=d;d--)h=Ka(x(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType),b.test(h)||(a.aiDisplay.splice(d,1),g++)}function Ha(a,b,c,d,h,f){d=la(b,d,h,f);h=a.oPreviousSearch;c||(c=0);0!==j.ext.afnFiltering.length&&(c=1);if(0>=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||h.sSearch.length>b.length||1==c||0!==b.indexOf(h.sSearch)){a.aiDisplay.splice(0, 
     54a.aiDisplay.length);ka(a,1);for(b=0;b<a.aiDisplayMaster.length;b++)d.test(a.asDataSearch[b])&&a.aiDisplay.push(a.aiDisplayMaster[b])}else for(b=c=0;b<a.asDataSearch.length;b++)d.test(a.asDataSearch[b])||(a.aiDisplay.splice(b-c,1),c++)}function ka(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch=[];for(var c=v(a,"bSearchable"),d=1===b?a.aiDisplayMaster:a.aiDisplay,h=0,f=d.length;h<f;h++)a.asDataSearch[h]=ma(a,Y(a,d[h],"filter",c))}}function ma(a,b){var c=b.join("  ");-1!==c.indexOf("&")&&(c=i("<div>").html(c).text()); 
     55return c.replace(/[\n\r]/g," ")}function la(a,b,c,d){if(c)return a=b?a.split(" "):na(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:na(a);return RegExp(a,d?"i":"")}function Ka(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function na(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"), 
     56"\\$1")}function Da(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:La,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function La(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),h=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f&&f==h?b.sInfoEmpty:0===f?b.sInfoEmpty+" "+b.sInfoFiltered:f==h?b.sInfo:b.sInfo+ 
     57" "+b.sInfoFiltered;g+=b.sInfoPostFix;g=ia(a,g);null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,h,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)i(a[b]).html(g)}}function ia(a,b){var c=a.fnFormatNumber(a._iDisplayStart+1),d=a.fnDisplayEnd(),d=a.fnFormatNumber(d),h=a.fnRecordsDisplay(),h=a.fnFormatNumber(h),f=a.fnRecordsTotal(),f=a.fnFormatNumber(f);a.oScroll.bInfinite&&(c=a.fnFormatNumber(1));return b.replace("_START_",c).replace("_END_",d).replace("_TOTAL_",h).replace("_MAX_", 
     58f)}function ba(a){var b,c,d=a.iInitDisplayStart;if(!1===a.bInitialised)setTimeout(function(){ba(a)},200);else{ya(a);wa(a);X(a,a.aoHeader);a.nTFoot&&X(a,a.aoFooter);F(a,!0);a.oFeatures.bAutoWidth&&ca(a);b=0;for(c=a.aoColumns.length;b<c;b++)null!==a.aoColumns[b].sWidth&&(a.aoColumns[b].nTh.style.width=q(a.aoColumns[b].sWidth));a.oFeatures.bSort?Q(a):a.oFeatures.bFilter?M(a,a.oPreviousSearch):(a.aiDisplay=a.aiDisplayMaster.slice(),A(a),z(a));null!==a.sAjaxSource&&!a.oFeatures.bServerSide?(c=[],ja(a, 
     59c),a.fnServerData.call(a.oInstance,a.sAjaxSource,c,function(c){var f=a.sAjaxDataProp!==""?S(a.sAjaxDataProp)(c):c;for(b=0;b<f.length;b++)J(a,f[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)Q(a);else{a.aiDisplay=a.aiDisplayMaster.slice();A(a);z(a)}F(a,false);$(a,c)},a)):a.oFeatures.bServerSide||(F(a,!1),$(a))}}function $(a,b){a._bInitComplete=!0;C(a,"aoInitComplete","init",[a,b])}function oa(a){var b=j.defaults.oLanguage;!a.sEmptyTable&&(a.sZeroRecords&&"No data available in table"===b.sEmptyTable)&& 
     60p(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(a.sZeroRecords&&"Loading..."===b.sLoadingRecords)&&p(a,a,"sZeroRecords","sLoadingRecords")}function za(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+('name="'+a.sTableId+'_length"')+">",c,d,h=a.aLengthMenu;if(2==h.length&&"object"===typeof h[0]&&"object"===typeof h[1]){c=0;for(d=h[0].length;c<d;c++)b+='<option value="'+h[0][c]+'">'+h[1][c]+"</option>"}else{c=0;for(d=h.length;c<d;c++)b+='<option value="'+h[c]+'">'+h[c]+"</option>"}b+= 
     61"</select>";h=l.createElement("div");a.aanFeatures.l||(h.id=a.sTableId+"_length");h.className=a.oClasses.sLength;h.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";i('select option[value="'+a._iDisplayLength+'"]',h).attr("selected",!0);i("select",h).bind("change.DT",function(){var b=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;c<d;c++)h[c]!=this.parentNode&&i("select",h[c]).val(b);a._iDisplayLength=parseInt(b,10);A(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart= 
     62a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;z(a)});i("select",h).attr("aria-controls",a.sTableId);return h}function A(a){a._iDisplayEnd=!1===a.oFeatures.bPaginate?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Ea(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType; 
     63j.ext.oPagination[a.sPaginationType].fnInit(a,b,function(a){A(a);z(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){A(a);z(a)})},sName:"pagination"});return b}function pa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart- 
     64a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart=0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay()&&(a._iDisplayStart+=a._iDisplayLength):a._iDisplayStart=0;else if("last"==b)if(0<=a._iDisplayLength){var d=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(d-1)*a._iDisplayLength}else a._iDisplayStart=0;else E(a,0,"Unknown paging action: "+b);i(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Ba(a){var b= 
     65l.createElement("div");a.aanFeatures.r||(b.id=a.sTableId+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function F(a,b){if(a.oFeatures.bProcessing)for(var c=a.aanFeatures.r,d=0,h=c.length;d<h;d++)c[d].style.visibility=b?"visible":"hidden";i(a.oInstance).trigger("processing",[a,b])}function Ca(a){if(""===a.oScroll.sX&&""===a.oScroll.sY)return a.nTable;var b=l.createElement("div"),c=l.createElement("div"),d= 
     66l.createElement("div"),h=l.createElement("div"),f=l.createElement("div"),g=l.createElement("div"),e=a.nTable.cloneNode(!1),j=a.nTable.cloneNode(!1),m=a.nTable.getElementsByTagName("thead")[0],o=0===a.nTable.getElementsByTagName("tfoot").length?null:a.nTable.getElementsByTagName("tfoot")[0],k=a.oClasses;c.appendChild(d);f.appendChild(g);h.appendChild(a.nTable);b.appendChild(c);b.appendChild(h);d.appendChild(e);e.appendChild(m);null!==o&&(b.appendChild(f),g.appendChild(j),j.appendChild(o));b.className= 
     67k.sScrollWrapper;c.className=k.sScrollHead;d.className=k.sScrollHeadInner;h.className=k.sScrollBody;f.className=k.sScrollFoot;g.className=k.sScrollFootInner;a.oScroll.bAutoCss&&(c.style.overflow="hidden",c.style.position="relative",f.style.overflow="hidden",h.style.overflow="auto");c.style.border="0";c.style.width="100%";f.style.border="0";d.style.width=""!==a.oScroll.sXInner?a.oScroll.sXInner:"100%";e.removeAttribute("id");e.style.marginLeft="0";a.nTable.style.marginLeft="0";null!==o&&(j.removeAttribute("id"), 
     68j.style.marginLeft="0");d=i(a.nTable).children("caption");0<d.length&&(d=d[0],"top"===d._captionSide?e.appendChild(d):"bottom"===d._captionSide&&o&&j.appendChild(d));""!==a.oScroll.sX&&(c.style.width=q(a.oScroll.sX),h.style.width=q(a.oScroll.sX),null!==o&&(f.style.width=q(a.oScroll.sX)),i(h).scroll(function(){c.scrollLeft=this.scrollLeft;if(o!==null)f.scrollLeft=this.scrollLeft}));""!==a.oScroll.sY&&(h.style.height=q(a.oScroll.sY));a.aoDrawCallback.push({fn:Ma,sName:"scrolling"});a.oScroll.bInfinite&& 
     69i(h).scroll(function(){if(!a.bDrawing&&i(this).scrollTop()!==0&&i(this).scrollTop()+i(this).height()>i(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()<a.fnRecordsDisplay()){pa(a,"next");A(a);z(a)}});a.nScrollHead=c;a.nScrollFoot=f;return b}function Ma(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,h,f,g,e,j,m,o,k,r=[],n=null!==a.nTFoot?a.nScrollFoot.getElementsByTagName("div")[0]:null,p=null!==a.nTFoot?n.getElementsByTagName("table")[0]: 
     70null,l=a.oBrowser.bScrollOversize;i(a.nTable).children("thead, tfoot").remove();g=i(a.nTHead).clone()[0];a.nTable.insertBefore(g,a.nTable.childNodes[0]);null!==a.nTFoot&&(j=i(a.nTFoot).clone()[0],a.nTable.insertBefore(j,a.nTable.childNodes[1]));""===a.oScroll.sX&&(d.style.width="100%",b.parentNode.style.width="100%");var t=P(a,g);h=0;for(f=t.length;h<f;h++)o=G(a,h),t[h].style.width=a.aoColumns[o].sWidth;null!==a.nTFoot&&N(function(a){a.style.width=""},j.getElementsByTagName("tr"));a.oScroll.bCollapse&& 
     71""!==a.oScroll.sY&&(d.style.height=d.offsetHeight+a.nTHead.offsetHeight+"px");h=i(a.nTable).outerWidth();if(""===a.oScroll.sX){if(a.nTable.style.width="100%",l&&(i("tbody",d).height()>d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=q(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width=q(a.oScroll.sXInner):h==i(d).width()&&i(d).height()<i(a.nTable).height()?(a.nTable.style.width=q(h-a.oScroll.iBarWidth),i(a.nTable).outerWidth()>h-a.oScroll.iBarWidth&& 
     72(a.nTable.style.width=q(h))):a.nTable.style.width=q(h);h=i(a.nTable).outerWidth();f=a.nTHead.getElementsByTagName("tr");g=g.getElementsByTagName("tr");N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;k=i(a).width();b.style.width=q(k);r.push(k)},g,f);i(g).height(0);null!==a.nTFoot&&(e=j.getElementsByTagName("tr"),j=a.nTFoot.getElementsByTagName("tr"),N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth= 
     73"0";m.borderBottomWidth="0";m.height=0;k=i(a).width();b.style.width=q(k);r.push(k)},e,j),i(e).height(0));N(function(a){a.innerHTML="";a.style.width=q(r.shift())},g);null!==a.nTFoot&&N(function(a){a.innerHTML="";a.style.width=q(r.shift())},e);if(i(a.nTable).outerWidth()<h){e=d.scrollHeight>d.offsetHeight||"scroll"==i(d).css("overflow-y")?h+a.oScroll.iBarWidth:h;if(l&&(d.scrollHeight>d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=q(e-a.oScroll.iBarWidth);d.style.width=q(e);b.parentNode.style.width= 
     74q(e);null!==a.nTFoot&&(n.parentNode.style.width=q(e));""===a.oScroll.sX?E(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):""!==a.oScroll.sXInner&&E(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else d.style.width=q("100%"),b.parentNode.style.width=q("100%"),null!==a.nTFoot&&(n.parentNode.style.width= 
     75q("100%"));""===a.oScroll.sY&&l&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),l=""!==a.oScroll.sX&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeight<d.offsetHeight&&(d.style.height=q(a.nTable.offsetHeight+l)));l=i(a.nTable).outerWidth();c.style.width=q(l);b.style.width=q(l);c=i(a.nTable).height()>d.clientHeight||"scroll"==i(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+ 
     76"px":"0px";null!==a.nTFoot&&(p.style.width=q(l),n.style.width=q(l),n.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");i(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function N(a,b,c){for(var d=0,h=b.length;d<h;d++)for(var f=0,g=b[d].childNodes.length;f<g;f++)1==b[d].childNodes[f].nodeType&&(c?a(b[d].childNodes[f],c[d].childNodes[f]):a(b[d].childNodes[f]))}function Na(a,b){if(!a||null===a||""===a)return 0;b||(b=l.getElementsByTagName("body")[0]);var c,d=l.createElement("div");d.style.width= 
     77q(a);b.appendChild(d);c=d.offsetWidth;b.removeChild(d);return c}function ca(a){var b=0,c,d=0,h=a.aoColumns.length,f,g=i("th",a.nTHead),e=a.nTable.getAttribute("width");for(f=0;f<h;f++)a.aoColumns[f].bVisible&&(d++,null!==a.aoColumns[f].sWidth&&(c=Na(a.aoColumns[f].sWidthOrig,a.nTable.parentNode),null!==c&&(a.aoColumns[f].sWidth=q(c)),b++));if(h==g.length&&0===b&&d==h&&""===a.oScroll.sX&&""===a.oScroll.sY)for(f=0;f<a.aoColumns.length;f++)c=i(g[f]).width(),null!==c&&(a.aoColumns[f].sWidth=q(c));else{b= 
     78a.nTable.cloneNode(!1);f=a.nTHead.cloneNode(!0);d=l.createElement("tbody");c=l.createElement("tr");b.removeAttribute("id");b.appendChild(f);null!==a.nTFoot&&(b.appendChild(a.nTFoot.cloneNode(!0)),N(function(a){a.style.width=""},b.getElementsByTagName("tr")));b.appendChild(d);d.appendChild(c);d=i("thead th",b);0===d.length&&(d=i("tbody tr:eq(0)>td",b));g=P(a,f);for(f=d=0;f<h;f++){var j=a.aoColumns[f];j.bVisible&&null!==j.sWidthOrig&&""!==j.sWidthOrig?g[f-d].style.width=q(j.sWidthOrig):j.bVisible?g[f- 
     79d].style.width="":d++}for(f=0;f<h;f++)a.aoColumns[f].bVisible&&(d=Oa(a,f),null!==d&&(d=d.cloneNode(!0),""!==a.aoColumns[f].sContentPadding&&(d.innerHTML+=a.aoColumns[f].sContentPadding),c.appendChild(d)));h=a.nTable.parentNode;h.appendChild(b);""!==a.oScroll.sX&&""!==a.oScroll.sXInner?b.style.width=q(a.oScroll.sXInner):""!==a.oScroll.sX?(b.style.width="",i(b).width()<h.offsetWidth&&(b.style.width=q(h.offsetWidth))):""!==a.oScroll.sY?b.style.width=q(h.offsetWidth):e&&(b.style.width=q(e));b.style.visibility= 
     80"hidden";Pa(a,b);h=i("tbody tr:eq(0)",b).children();0===h.length&&(h=P(a,i("thead",b)[0]));if(""!==a.oScroll.sX){for(f=d=c=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(c=null===a.aoColumns[f].sWidthOrig?c+i(h[d]).outerWidth():c+(parseInt(a.aoColumns[f].sWidth.replace("px",""),10)+(i(h[d]).outerWidth()-i(h[d]).width())),d++);b.style.width=q(c);a.nTable.style.width=q(c)}for(f=d=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(c=i(h[d]).width(),null!==c&&0<c&&(a.aoColumns[f].sWidth=q(c)), 
     81d++);h=i(b).css("width");a.nTable.style.width=-1!==h.indexOf("%")?h:q(i(b).outerWidth());b.parentNode.removeChild(b)}e&&(a.nTable.style.width=q(e))}function Pa(a,b){""===a.oScroll.sX&&""!==a.oScroll.sY?(i(b).width(),b.style.width=q(i(b).outerWidth()-a.oScroll.iBarWidth)):""!==a.oScroll.sX&&(b.style.width=q(i(b).outerWidth()))}function Oa(a,b){var c=Qa(a,b);if(0>c)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=x(a,c,b,"");return d}return L(a,c)[b]}function Qa(a,b){for(var c= 
     82-1,d=-1,h=0;h<a.aoData.length;h++){var f=x(a,h,b,"display")+"",f=f.replace(/<.*?>/g,"");f.length>c&&(c=f.length,d=h)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1);return 48>b||57<b?a:a+"px"}function Ra(){var a=l.createElement("p"),b=a.style;b.width="100%";b.height="200px";b.padding="0px";var c=l.createElement("div"),b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px"; 
     83b.padding="0px";b.overflow="hidden";c.appendChild(a);l.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;b==a&&(a=c.clientWidth);l.body.removeChild(c);return b-a}function Q(a,b){var c,d,h,f,g,e,o=[],m=[],k=j.ext.oSort,r=a.aoData,l=a.aoColumns,p=a.oLanguage.oAria;if(!a.oFeatures.bServerSide&&(0!==a.aaSorting.length||null!==a.aaSortingFixed)){o=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<o.length;c++)if(d=o[c][0],h=t(a,d),f= 
     84a.aoColumns[d].sSortDataType,j.ext.afnSortData[f])if(g=j.ext.afnSortData[f].call(a.oInstance,a,d,h),g.length===r.length){h=0;for(f=r.length;h<f;h++)I(a,h,d,g[h])}else E(a,0,"Returned data sort array (col "+d+") is the wrong length");c=0;for(d=a.aiDisplayMaster.length;c<d;c++)m[a.aiDisplayMaster[c]]=c;var q=o.length,G;c=0;for(d=r.length;c<d;c++)for(h=0;h<q;h++){G=l[o[h][0]].aDataSort;g=0;for(e=G.length;g<e;g++)f=l[G[g]].sType,f=k[(f?f:"string")+"-pre"],r[c]._aSortData[G[g]]=f?f(x(a,c,G[g],"sort")): 
     85x(a,c,G[g],"sort")}a.aiDisplayMaster.sort(function(a,b){var c,d,h,f,g;for(c=0;c<q;c++){g=l[o[c][0]].aDataSort;d=0;for(h=g.length;d<h;d++)if(f=l[g[d]].sType,f=k[(f?f:"string")+"-"+o[c][1]](r[a]._aSortData[g[d]],r[b]._aSortData[g[d]]),0!==f)return f}return k["numeric-asc"](m[a],m[b])})}(b===n||b)&&!a.oFeatures.bDeferRender&&R(a);c=0;for(d=a.aoColumns.length;c<d;c++)f=l[c].sTitle.replace(/<.*?>/g,""),h=l[c].nTh,h.removeAttribute("aria-sort"),h.removeAttribute("aria-label"),l[c].bSortable?0<o.length&& 
     86o[0][0]==c?(h.setAttribute("aria-sort","asc"==o[0][1]?"ascending":"descending"),h.setAttribute("aria-label",f+("asc"==(l[c].asSorting[o[0][2]+1]?l[c].asSorting[o[0][2]+1]:l[c].asSorting[0])?p.sSortAscending:p.sSortDescending))):h.setAttribute("aria-label",f+("asc"==l[c].asSorting[0]?p.sSortAscending:p.sSortDescending)):h.setAttribute("aria-label",f);a.bSorted=!0;i(a.oInstance).trigger("sort",a);a.oFeatures.bFilter?M(a,a.oPreviousSearch,1):(a.aiDisplay=a.aiDisplayMaster.slice(),a._iDisplayStart=0, 
     87A(a),z(a))}function ha(a,b,c,d){Sa(b,{},function(b){if(!1!==a.aoColumns[c].bSortable){var f=function(){var d,f;if(b.shiftKey){for(var e=!1,i=0;i<a.aaSorting.length;i++)if(a.aaSorting[i][0]==c){e=!0;d=a.aaSorting[i][0];f=a.aaSorting[i][2]+1;a.aoColumns[d].asSorting[f]?(a.aaSorting[i][1]=a.aoColumns[d].asSorting[f],a.aaSorting[i][2]=f):a.aaSorting.splice(i,1);break}!1===e&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else 1==a.aaSorting.length&&a.aaSorting[0][0]==c?(d=a.aaSorting[0][0],f=a.aaSorting[0][2]+ 
     881,a.aoColumns[d].asSorting[f]||(f=0),a.aaSorting[0][1]=a.aoColumns[d].asSorting[f],a.aaSorting[0][2]=f):(a.aaSorting.splice(0,a.aaSorting.length),a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0]));Q(a)};a.oFeatures.bProcessing?(F(a,!0),setTimeout(function(){f();a.oFeatures.bServerSide||F(a,!1)},0)):f();"function"==typeof d&&d(a)}})}function R(a){var b,c,d,h,f,e=a.aoColumns.length,j=a.oClasses;for(b=0;b<e;b++)a.aoColumns[b].bSortable&&i(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+ 
     89" "+a.aoColumns[b].sSortingClass);h=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){f=a.aoColumns[b].sSortingClass;d=-1;for(c=0;c<h.length;c++)if(h[c][0]==b){f="asc"==h[c][1]?j.sSortAsc:j.sSortDesc;d=c;break}i(a.aoColumns[b].nTh).addClass(f);a.bJUI&&(c=i("span."+j.sSortIcon,a.aoColumns[b].nTh),c.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed), 
     90c.addClass(-1==d?a.aoColumns[b].sSortingClassJUI:"asc"==h[d][1]?j.sSortJUIAsc:j.sSortJUIDesc))}else i(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);f=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=L(a);if(a.oFeatures.bDeferRender)i(d).removeClass(f+"1 "+f+"2 "+f+"3");else if(d.length>=e)for(b=0;b<e;b++)if(-1!=d[b].className.indexOf(f+"1")){c=0;for(a=d.length/e;c<a;c++)d[e*c+b].className=i.trim(d[e*c+b].className.replace(f+"1",""))}else if(-1!=d[b].className.indexOf(f+ 
     91"2")){c=0;for(a=d.length/e;c<a;c++)d[e*c+b].className=i.trim(d[e*c+b].className.replace(f+"2",""))}else if(-1!=d[b].className.indexOf(f+"3")){c=0;for(a=d.length/e;c<a;c++)d[e*c+b].className=i.trim(d[e*c+b].className.replace(" "+f+"3",""))}var j=1,o;for(b=0;b<h.length;b++){o=parseInt(h[b][0],10);c=0;for(a=d.length/e;c<a;c++)d[e*c+o].className+=" "+f+j;3>j&&j++}}}function qa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart, 
     92iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:i.extend(!0,[],a.aaSorting),oSearch:i.extend(!0,{},a.oPreviousSearch),aoSearchCols:i.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};b=0;for(c=a.aoColumns.length;b<c;b++)d.abVisCols.push(a.aoColumns[b].bVisible);C(a,"aoStateSaveParams","stateSaveParams",[a,d]);a.fnStateSave.call(a.oInstance,a,d)}}function Ta(a,b){if(a.oFeatures.bStateSave){var c=a.fnStateLoad.call(a.oInstance,a);if(c){var d=C(a,"aoStateLoadParams","stateLoadParams", 
     93[a,c]);if(-1===i.inArray(!1,d)){a.oLoadedState=i.extend(!0,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();i.extend(a.oPreviousSearch,c.oSearch);i.extend(!0,a.aoPreSearchCols,c.aoSearchCols);b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++)b.saved_aoColumns[d]={},b.saved_aoColumns[d].bVisible=c.abVisCols[d];C(a,"aoStateLoaded","stateLoaded",[a,c])}}}}function Ua(a){for(var b= 
     94O.location.pathname.split("/"),a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",b=l.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];" "==d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(a))return decodeURIComponent(d.substring(a.length,d.length))}return null}function u(a){for(var b=0;b<j.settings.length;b++)if(j.settings[b].nTable===a)return j.settings[b];return null}function U(a){for(var b=[],a=a.aoData,c=0,d=a.length;c<d;c++)null!==a[c].nTr&&b.push(a[c].nTr);return b}function L(a, 
     95b){var c=[],d,h,f,e,i,j;h=0;var o=a.aoData.length;b!==n&&(h=b,o=b+1);for(f=h;f<o;f++)if(j=a.aoData[f],null!==j.nTr){h=[];e=0;for(i=j.nTr.childNodes.length;e<i;e++)d=j.nTr.childNodes[e].nodeName.toLowerCase(),("td"==d||"th"==d)&&h.push(j.nTr.childNodes[e]);e=d=0;for(i=a.aoColumns.length;e<i;e++)a.aoColumns[e].bVisible?c.push(h[e-d]):(c.push(j._anHidden[e]),d++)}return c}function E(a,b,c){a=null===a?"DataTables warning: "+c:"DataTables warning (table id = '"+a.sTableId+"'): "+c;if(0===b)if("alert"== 
     96j.ext.sErrMode)alert(a);else throw Error(a);else O.console&&console.log&&console.log(a)}function p(a,b,c,d){d===n&&(d=c);b[c]!==n&&(a[d]=b[c])}function Va(a,b){var c,d;for(d in b)b.hasOwnProperty(d)&&(c=b[d],"object"===typeof e[d]&&null!==c&&!1===i.isArray(c)?i.extend(!0,a[d],c):a[d]=c);return a}function Sa(a,b,c){i(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&c(a)}).bind("selectstart.DT",function(){return!1})}function B(a,b,c,d){c&&a[b].push({fn:c, 
     97sName:d})}function C(a,b,c,d){for(var b=a[b],h=[],e=b.length-1;0<=e;e--)h.push(b[e].fn.apply(a.oInstance,d));null!==c&&i(a.oInstance).trigger(c,d);return h}function Wa(a){var b=i('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; height:50px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"></div></div></div>')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize=100===i("#DT_BrowserTest", 
     98b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Xa(a){return function(){var b=[u(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var V=/\[.*?\]$/,Ya=O.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,h=[],e=i.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Ya(d)),h.push((e?"":'"'+c+'":')+d);return(e?"[":"{")+h+(e?"]":"}")}; 
     99this.$=function(a,b){var c,d,h=[],e;d=u(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=i.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c<d;c++)(e=g[o[c]].nTr)&&h.push(e)}else if("current"==b.order&&"none"==b.filter){c=0;for(d=k.length;c<d;c++)(e=g[k[c]].nTr)&&h.push(e)}else if("current"==b.order&&"applied"==b.filter){c=0;for(d=o.length;c<d;c++)(e=g[o[c]].nTr)&&h.push(e)}else if("original"== 
     100b.order&&"none"==b.filter){c=0;for(d=g.length;c<d;c++)(e=g[c].nTr)&&h.push(e)}else if("original"==b.order&&"applied"==b.filter){c=0;for(d=g.length;c<d;c++)e=g[c].nTr,-1!==i.inArray(c,o)&&e&&h.push(e)}else E(d,1,"Unknown selection options");h=i(h);c=h.filter(a);h=h.find(a);return i([].concat(i.makeArray(c),i.makeArray(h)))};this._=function(a,b){var c=[],d,e,f=this.$(a,b);d=0;for(e=f.length;d<e;d++)c.push(this.fnGetData(f[d]));return c};this.fnAddData=function(a,b){if(0===a.length)return[];var c=[], 
     101d,e=u(this[j.ext.iApiIndex]);if("object"===typeof a[0]&&null!==a[0])for(var f=0;f<a.length;f++){d=J(e,a[f]);if(-1==d)return c;c.push(d)}else{d=J(e,a);if(-1==d)return c;c.push(d)}e.aiDisplay=e.aiDisplayMaster.slice();(b===n||b)&&aa(e);return c};this.fnAdjustColumnSizing=function(a){var b=u(this[j.ext.iApiIndex]);k(b);a===n||a?this.fnDraw(!1):(""!==b.oScroll.sX||""!==b.oScroll.sY)&&this.oApi._fnScrollDraw(b)};this.fnClearTable=function(a){var b=u(this[j.ext.iApiIndex]);fa(b);(a===n||a)&&z(b)};this.fnClose= 
     102function(a){for(var b=u(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr),b.aoOpenRows.splice(c,1),0;return 1};this.fnDeleteRow=function(a,b,c){var d=u(this[j.ext.iApiIndex]),e,f,a="object"===typeof a?K(d,a):a,g=d.aoData.splice(a,1);e=0;for(f=d.aoData.length;e<f;e++)null!==d.aoData[e].nTr&&(d.aoData[e].nTr._DT_RowIndex=e);e=i.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ga(d.aiDisplayMaster, 
     103a);ga(d.aiDisplay,a);"function"===typeof b&&b.call(this,d,g);d._iDisplayStart>=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)A(d),z(d);return g};this.fnDestroy=function(a){var b=u(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,e,f,a=a===n?!1:!0;b.bDestroying=!0;C(b,"aoDestroyCallback","destroy",[b]);e=0;for(f=b.aoColumns.length;e<f;e++)!1===b.aoColumns[e].bVisible&&this.fnSetColumnVis(e,!0);i(b.nTableWrapper).find("*").andSelf().unbind(".DT"); 
     104i("tbody>tr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(i(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(i(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);i(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];R(b);i(U(b)).removeClass(b.asStripeClasses.join(" "));i("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc, 
     105b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(i("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),i("th, td",b.nTHead).each(function(){var a=i("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();i(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);e=0;for(f=b.aoData.length;e<f;e++)null!==b.aoData[e].nTr&&d.appendChild(b.aoData[e].nTr);!0===b.oFeatures.bAutoWidth&& 
     106(b.nTable.style.width=q(b.sDestroyWidth));i(d).children("tr:even").addClass(b.asDestroyStripes[0]);i(d).children("tr:odd").addClass(b.asDestroyStripes[1]);e=0;for(f=j.settings.length;e<f;e++)j.settings[e]==b&&j.settings.splice(e,1);b=null};this.fnDraw=function(a){var b=u(this[j.ext.iApiIndex]);!1===a?(A(b),z(b)):aa(b)};this.fnFilter=function(a,b,c,d,e,f){var g=u(this[j.ext.iApiIndex]);if(g.oFeatures.bFilter){if(c===n||null===c)c=!1;if(d===n||null===d)d=!0;if(e===n||null===e)e=!0;if(f===n||null=== 
     107f)f=!0;if(b===n||null===b){if(M(g,{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f},1),e&&g.aanFeatures.f){b=g.aanFeatures.f;c=0;for(d=b.length;c<d;c++)i(b[c]._DT_Input).val(a)}}else i.extend(g.aoPreSearchCols[b],{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f}),M(g,g.oPreviousSearch,1)}};this.fnGetData=function(a,b){var c=u(this[j.ext.iApiIndex]);if(a!==n){var d=a;if("object"===typeof a){var e=a.nodeName.toLowerCase();"tr"===e?d=K(c,a):"td"===e&&(d=K(c,a.parentNode),b=ea(c,d,a))}return b!== 
     108n?x(c,d,b,""):c.aoData[d]!==n?c.aoData[d]._aData:null}return Z(c)};this.fnGetNodes=function(a){var b=u(this[j.ext.iApiIndex]);return a!==n?b.aoData[a]!==n?b.aoData[a].nTr:null:U(b)};this.fnGetPosition=function(a){var b=u(this[j.ext.iApiIndex]),c=a.nodeName.toUpperCase();return"TR"==c?K(b,a):"TD"==c||"TH"==c?(c=K(b,a.parentNode),a=ea(b,c,a),[c,t(b,a),a]):null};this.fnIsOpen=function(a){for(var b=u(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return!0;return!1}; 
     109this.fnOpen=function(a,b,c){var d=u(this[j.ext.iApiIndex]),e=U(d);if(-1!==i.inArray(a,e)){this.fnClose(a);var e=l.createElement("tr"),f=l.createElement("td");e.appendChild(f);f.className=c;f.colSpan=w(d);"string"===typeof b?f.innerHTML=b:i(f).html(b);b=i("tr",d.nTBody);-1!=i.inArray(a,b)&&i(e).insertAfter(a);d.aoOpenRows.push({nTr:e,nParent:a});return e}};this.fnPageChange=function(a,b){var c=u(this[j.ext.iApiIndex]);pa(c,a);A(c);(b===n||b)&&z(c)};this.fnSetColumnVis=function(a,b,c){var d=u(this[j.ext.iApiIndex]), 
     110e,f,g=d.aoColumns,i=d.aoData,o,m;if(g[a].bVisible!=b){if(b){for(e=f=0;e<a;e++)g[e].bVisible&&f++;m=f>=w(d);if(!m)for(e=a;e<g.length;e++)if(g[e].bVisible){o=e;break}e=0;for(f=i.length;e<f;e++)null!==i[e].nTr&&(m?i[e].nTr.appendChild(i[e]._anHidden[a]):i[e].nTr.insertBefore(i[e]._anHidden[a],L(d,e)[o]))}else{e=0;for(f=i.length;e<f;e++)null!==i[e].nTr&&(o=L(d,e)[a],i[e]._anHidden[a]=o,o.parentNode.removeChild(o))}g[a].bVisible=b;X(d,d.aoHeader);d.nTFoot&&X(d,d.aoFooter);e=0;for(f=d.aoOpenRows.length;e< 
     111f;e++)d.aoOpenRows[e].nTr.colSpan=w(d);if(c===n||c)k(d),z(d);qa(d)}};this.fnSettings=function(){return u(this[j.ext.iApiIndex])};this.fnSort=function(a){var b=u(this[j.ext.iApiIndex]);b.aaSorting=a;Q(b)};this.fnSortListener=function(a,b,c){ha(u(this[j.ext.iApiIndex]),a,b,c)};this.fnUpdate=function(a,b,c,d,e){var f=u(this[j.ext.iApiIndex]),b="object"===typeof b?K(f,b):b;if(i.isArray(a)&&c===n){f.aoData[b]._aData=a.slice();for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(x(f,b,c),b,c,!1,!1)}else if(i.isPlainObject(a)&& 
     112c===n){f.aoData[b]._aData=i.extend(!0,{},a);for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(x(f,b,c),b,c,!1,!1)}else{I(f,b,c,a);var a=x(f,b,c,"display"),g=f.aoColumns[c];null!==g.fnRender&&(a=T(f,b,c),g.bUseRendered&&I(f,b,c,a));null!==f.aoData[b].nTr&&(L(f,b)[c].innerHTML=a)}c=i.inArray(b,f.aiDisplay);f.asDataSearch[c]=ma(f,Y(f,b,"filter",v(f,"bSearchable")));(e===n||e)&&k(f);(d===n||d)&&aa(f);return 0};this.fnVersionCheck=j.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:Xa,_fnInitialise:ba,_fnInitComplete:$, 
     113_fnLanguageCompat:oa,_fnAddColumn:o,_fnColumnOptions:r,_fnAddData:J,_fnCreateTr:da,_fnGatherData:va,_fnBuildHead:wa,_fnDrawHead:X,_fnDraw:z,_fnReDraw:aa,_fnAjaxUpdate:xa,_fnAjaxParameters:Fa,_fnAjaxUpdateDraw:Ga,_fnServerParams:ja,_fnAddOptionsHtml:ya,_fnFeatureHtmlTable:Ca,_fnScrollDraw:Ma,_fnAdjustColumnSizing:k,_fnFeatureHtmlFilter:Aa,_fnFilterComplete:M,_fnFilterCustom:Ja,_fnFilterColumn:Ia,_fnFilter:Ha,_fnBuildSearchArray:ka,_fnBuildSearchRow:ma,_fnFilterCreateSearch:la,_fnDataToSearch:Ka,_fnSort:Q, 
     114_fnSortAttachListener:ha,_fnSortingClasses:R,_fnFeatureHtmlPaginate:Ea,_fnPageChange:pa,_fnFeatureHtmlInfo:Da,_fnUpdateInfo:La,_fnFeatureHtmlLength:za,_fnFeatureHtmlProcessing:Ba,_fnProcessingDisplay:F,_fnVisibleToColumnIndex:G,_fnColumnIndexToVisible:t,_fnNodeToDataIndex:K,_fnVisbleColumns:w,_fnCalculateEnd:A,_fnConvertToWidth:Na,_fnCalculateColumnWidths:ca,_fnScrollingWidthAdjust:Pa,_fnGetWidestNode:Oa,_fnGetMaxLenString:Qa,_fnStringToCss:q,_fnDetectType:D,_fnSettingsFromNode:u,_fnGetDataMaster:Z, 
     115_fnGetTrNodes:U,_fnGetTdNodes:L,_fnEscapeRegex:na,_fnDeleteIndex:ga,_fnReOrderIndex:y,_fnColumnOrdering:H,_fnLog:E,_fnClearTable:fa,_fnSaveState:qa,_fnLoadState:Ta,_fnCreateCookie:function(a,b,c,d,e){var f=new Date;f.setTime(f.getTime()+1E3*c);var c=O.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),g;null!==e?(g="function"===typeof i.parseJSON?i.parseJSON(b):eval("("+b+")"),b=e(a,g,f.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+ 
     116"; path="+c.join("/")+"/";e="";f=9999999999999;if(4096<(null!==Ua(a)?l.cookie.length:b.length+l.cookie.length)+10){for(var a=l.cookie.split(";"),j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){var k=a[j].split("=");try{g=eval("("+decodeURIComponent(k[1])+")")}catch(r){continue}g.iCreate&&g.iCreate<f&&(e=k[0],f=g.iCreate)}""!==e&&(l.cookie=e+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/")}l.cookie=b},_fnReadCookie:Ua,_fnDetectHeader:W,_fnGetUniqueThs:P,_fnScrollBarWidth:Ra,_fnApplyToChildren:N, 
     117_fnMap:p,_fnGetRowData:Y,_fnGetCellData:x,_fnSetCellData:I,_fnGetObjectDataFn:S,_fnSetObjectDataFn:ta,_fnApplyColumnDefs:ua,_fnBindAction:Sa,_fnExtend:Va,_fnCallbackReg:B,_fnCallbackFire:C,_fnJsonString:Ya,_fnRender:T,_fnNodeToColumnIndex:ea,_fnInfoMacros:ia,_fnBrowserDetect:Wa,_fnGetColumns:v};i.extend(j.ext.oApi,this.oApi);for(var ra in j.ext.oApi)ra&&(this[ra]=Xa(ra));var sa=this;return this.each(function(){var a=0,b,c,d;c=this.getAttribute("id");var h=!1,f=!1;if("table"!=this.nodeName.toLowerCase())E(null, 
     1180,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{a=0;for(b=j.settings.length;a<b;a++){if(j.settings[a].nTable==this){if(e===n||e.bRetrieve)return j.settings[a].oInstance;if(e.bDestroy){j.settings[a].oInstance.fnDestroy();break}else{E(j.settings[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(j.settings[a].sTableId==this.id){j.settings.splice(a, 
     1191);break}}if(null===c||""===c)this.id=c="DataTables_Table_"+j.ext._oExternConfig.iNextUnique++;var g=i.extend(!0,{},j.models.oSettings,{nTable:this,oApi:sa.oApi,oInit:e,sDestroyWidth:i(this).width(),sInstance:c,sTableId:c});j.settings.push(g);g.oInstance=1===sa.length?sa:i(this).dataTable();e||(e={});e.oLanguage&&oa(e.oLanguage);e=Va(i.extend(!0,{},j.defaults),e);p(g.oFeatures,e,"bPaginate");p(g.oFeatures,e,"bLengthChange");p(g.oFeatures,e,"bFilter");p(g.oFeatures,e,"bSort");p(g.oFeatures,e,"bInfo"); 
     120p(g.oFeatures,e,"bProcessing");p(g.oFeatures,e,"bAutoWidth");p(g.oFeatures,e,"bSortClasses");p(g.oFeatures,e,"bServerSide");p(g.oFeatures,e,"bDeferRender");p(g.oScroll,e,"sScrollX","sX");p(g.oScroll,e,"sScrollXInner","sXInner");p(g.oScroll,e,"sScrollY","sY");p(g.oScroll,e,"bScrollCollapse","bCollapse");p(g.oScroll,e,"bScrollInfinite","bInfinite");p(g.oScroll,e,"iScrollLoadGap","iLoadGap");p(g.oScroll,e,"bScrollAutoCss","bAutoCss");p(g,e,"asStripeClasses");p(g,e,"asStripClasses","asStripeClasses"); 
     121p(g,e,"fnServerData");p(g,e,"fnFormatNumber");p(g,e,"sServerMethod");p(g,e,"aaSorting");p(g,e,"aaSortingFixed");p(g,e,"aLengthMenu");p(g,e,"sPaginationType");p(g,e,"sAjaxSource");p(g,e,"sAjaxDataProp");p(g,e,"iCookieDuration");p(g,e,"sCookiePrefix");p(g,e,"sDom");p(g,e,"bSortCellsTop");p(g,e,"iTabIndex");p(g,e,"oSearch","oPreviousSearch");p(g,e,"aoSearchCols","aoPreSearchCols");p(g,e,"iDisplayLength","_iDisplayLength");p(g,e,"bJQueryUI","bJUI");p(g,e,"fnCookieCallback");p(g,e,"fnStateLoad");p(g,e, 
     122"fnStateSave");p(g.oLanguage,e,"fnInfoCallback");B(g,"aoDrawCallback",e.fnDrawCallback,"user");B(g,"aoServerParams",e.fnServerParams,"user");B(g,"aoStateSaveParams",e.fnStateSaveParams,"user");B(g,"aoStateLoadParams",e.fnStateLoadParams,"user");B(g,"aoStateLoaded",e.fnStateLoaded,"user");B(g,"aoRowCallback",e.fnRowCallback,"user");B(g,"aoRowCreatedCallback",e.fnCreatedRow,"user");B(g,"aoHeaderCallback",e.fnHeaderCallback,"user");B(g,"aoFooterCallback",e.fnFooterCallback,"user");B(g,"aoInitComplete", 
     123e.fnInitComplete,"user");B(g,"aoPreDrawCallback",e.fnPreDrawCallback,"user");g.oFeatures.bServerSide&&g.oFeatures.bSort&&g.oFeatures.bSortClasses?B(g,"aoDrawCallback",R,"server_side_sort_classes"):g.oFeatures.bDeferRender&&B(g,"aoDrawCallback",R,"defer_sort_classes");e.bJQueryUI?(i.extend(g.oClasses,j.ext.oJUIClasses),e.sDom===j.defaults.sDom&&"lfrtip"===j.defaults.sDom&&(g.sDom='<"H"lfr>t<"F"ip>')):i.extend(g.oClasses,j.ext.oStdClasses);i(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!== 
     124g.oScroll.sY)g.oScroll.iBarWidth=Ra();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart,g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Ta(g,e),B(g,"aoDrawCallback",qa,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=i.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,i.getJSON(g.oLanguage.sUrl, 
     125null,function(a){oa(a);i.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),h=!0):i.extend(!0,g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);c=!1;d=i(this).children("tbody").children("tr");a=0;for(b=g.asStripeClasses.length;a<b;a++)if(d.filter(":lt(2)").hasClass(g.asStripeClasses[a])){c=!0;break}c&&(g.asDestroyStripes=["",""],i(d[0]).hasClass(g.oClasses.sStripeOdd)&&(g.asDestroyStripes[0]+=g.oClasses.sStripeOdd+" "),i(d[0]).hasClass(g.oClasses.sStripeEven)&& 
     126(g.asDestroyStripes[0]+=g.oClasses.sStripeEven),i(d[1]).hasClass(g.oClasses.sStripeOdd)&&(g.asDestroyStripes[1]+=g.oClasses.sStripeOdd+" "),i(d[1]).hasClass(g.oClasses.sStripeEven)&&(g.asDestroyStripes[1]+=g.oClasses.sStripeEven),d.removeClass(g.asStripeClasses.join(" ")));c=[];a=this.getElementsByTagName("thead");0!==a.length&&(W(g.aoHeader,a[0]),c=P(g));if(null===e.aoColumns){d=[];a=0;for(b=c.length;a<b;a++)d.push(null)}else d=e.aoColumns;a=0;for(b=d.length;a<b;a++)e.saved_aoColumns!==n&&e.saved_aoColumns.length== 
     127b&&(null===d[a]&&(d[a]={}),d[a].bVisible=e.saved_aoColumns[a].bVisible),o(g,c?c[a]:null);ua(g,e.aoColumnDefs,d,function(a,b){r(g,a,b)});a=0;for(b=g.aaSorting.length;a<b;a++){g.aaSorting[a][0]>=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]=k.asSorting[0]);c=0;for(d=k.asSorting.length;c<d;c++)if(g.aaSorting[a][1]==k.asSorting[c]){g.aaSorting[a][2]=c;break}}R(g);Wa(g); 
     128a=i(this).children("caption").each(function(){this._captionSide=i(this).css("caption-side")});b=i(this).children("thead");0===b.length&&(b=[l.createElement("thead")],this.appendChild(b[0]));g.nTHead=b[0];b=i(this).children("tbody");0===b.length&&(b=[l.createElement("tbody")],this.appendChild(b[0]));g.nTBody=b[0];g.nTBody.setAttribute("role","alert");g.nTBody.setAttribute("aria-live","polite");g.nTBody.setAttribute("aria-relevant","all");b=i(this).children("tfoot");if(0===b.length&&0<a.length&&(""!== 
     129g.oScroll.sX||""!==g.oScroll.sY))b=[l.createElement("tfoot")],this.appendChild(b[0]);0<b.length&&(g.nTFoot=b[0],W(g.aoFooter,g.nTFoot));if(f)for(a=0;a<e.aaData.length;a++)J(g,e.aaData[a]);else va(g);g.aiDisplay=g.aiDisplayMaster.slice();g.bInitialised=!0;!1===h&&ba(g)}})};j.fnVersionCheck=function(e){for(var i=function(e,i){for(;e.length<i;)e+="0";return e},r=j.ext.sVersion.split("."),e=e.split("."),k="",l="",n=0,w=e.length;n<w;n++)k+=i(r[n],3),l+=i(e[n],3);return parseInt(k,10)>=parseInt(l,10)}; 
     130j.fnIsDataTable=function(e){for(var i=j.settings,r=0;r<i.length;r++)if(i[r].nTable===e||i[r].nScrollHead===e||i[r].nScrollFoot===e)return!0;return!1};j.fnTables=function(e){var o=[];jQuery.each(j.settings,function(j,k){(!e||!0===e&&i(k.nTable).is(":visible"))&&o.push(k.nTable)});return o};j.version="1.9.3";j.settings=[];j.models={};j.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[],aTypes:[],fnVersionCheck:j.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{}, 
     131oSort:{},sVersion:j.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};j.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};j.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};j.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null,fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null, 
     132sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};j.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1, 
     133bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){if(1E3>e)return e;for(var i=e+"",e=i.split(""),j="",i=i.length,k=0;k<i;k++)0===k%3&&0!==k&&(j=this.oLanguage.sInfoThousands+j),j=e[i-k-1]+j;return j},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:function(e,j,n,k){k.jqXHR=i.ajax({url:e,data:j,success:function(e){e.sError&&k.oApi._fnLog(k,0, 
     134e.sError);i(k.oInstance).trigger("xhr",[k,e]);n(e)},dataType:"json",cache:!1,type:k.sServerMethod,error:function(e,i){"parsererror"==i&&k.oApi._fnLog(k,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j="function"===typeof i.parseJSON?i.parseJSON(e):eval("("+e+")")}catch(n){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null, 
     135fnStateSave:function(e,i){this.oApi._fnCreateCookie(e.sCookiePrefix+e.sInstance,this.oApi._fnJsonString(i),e.iCookieDuration,e.sCookiePrefix,e.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table", 
     136sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:i.extend({},j.models.oSearch),sAjaxDataProp:"aaData",sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"", 
     137sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};j.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};j.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null, 
     138bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null,asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[], 
     139aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null, 
     140aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length},fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay, 
     14110):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};j.ext=i.extend(!0,{},j.models.ext);i.extend(j.ext.oStdClasses,{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous", 
     142sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_", 
     143sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody", 
     144sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});i.extend(j.ext.oJUIClasses,j.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e", 
     145sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default", 
     146sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default", 
     147sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});i.extend(j.ext.oPagination,{two_button:{fnInit:function(e,j,n){var k=e.oLanguage.oPaginate,l=function(i){e.oApi._fnPageChange(e,i.data.action)&&n(e)},k=!e.bJUI?'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+ 
     148'" role="button">'+k.sPrevious+'</a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sNext+"</a>":'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUIPrev+'"></span></a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUINext+'"></span></a>';i(j).append(k);var t=i("a",j),k=t[0],t=t[1];e.oApi._fnBindAction(k,{action:"previous"}, 
     149l);e.oApi._fnBindAction(t,{action:"next"},l);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",t.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),t.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var i=e.oClasses,j=e.aanFeatures.p,k=0,n=j.length;k<n;k++)0!==j[k].childNodes.length&&(j[k].childNodes[0].className=0===e._iDisplayStart?i.sPagePrevDisabled:i.sPagePrevEnabled,j[k].childNodes[1].className=e.fnDisplayEnd()==e.fnRecordsDisplay()? 
     150i.sPageNextDisabled:i.sPageNextEnabled)}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(e,j,n){var k=e.oLanguage.oPaginate,l=e.oClasses,t=function(i){e.oApi._fnPageChange(e,i.data.action)&&n(e)};i(j).append('<a  tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageFirst+'">'+k.sFirst+'</a><a  tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPagePrevious+'">'+k.sPrevious+'</a><span></span><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageNext+'">'+k.sNext+'</a><a tabindex="'+ 
     151e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageLast+'">'+k.sLast+"</a>");var w=i("a",j),k=w[0],l=w[1],v=w[2],w=w[3];e.oApi._fnBindAction(k,{action:"first"},t);e.oApi._fnBindAction(l,{action:"previous"},t);e.oApi._fnBindAction(v,{action:"next"},t);e.oApi._fnBindAction(w,{action:"last"},t);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",v.id=e.sTableId+"_next",w.id=e.sTableId+"_last")},fnUpdate:function(e,o){if(e.aanFeatures.p){var l=j.ext.oPagination.iFullNumbersShowPages, 
     152k=Math.floor(l/2),n=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),t=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,w="",v,D=e.oClasses,y,H=e.aanFeatures.p,O=function(i){e.oApi._fnBindAction(this,{page:i+v-1},function(i){e.oApi._fnPageChange(e,i.data.page);o(e);i.preventDefault()})};-1===e._iDisplayLength?t=k=v=1:n<l?(v=1,k=n):t<=k?(v=1,k=l):t>=n-k?(v=n-l+1,k=n):(v=t-Math.ceil(l/2)+1,k=v+l-1);for(l=v;l<=k;l++)w+=t!==l?'<a tabindex="'+e.iTabIndex+'" class="'+D.sPageButton+'">'+e.fnFormatNumber(l)+ 
     153"</a>":'<a tabindex="'+e.iTabIndex+'" class="'+D.sPageButtonActive+'">'+e.fnFormatNumber(l)+"</a>";l=0;for(k=H.length;l<k;l++)0!==H[l].childNodes.length&&(i("span:eq(0)",H[l]).html(w).children("a").each(O),y=H[l].getElementsByTagName("a"),y=[y[0],y[1],y[y.length-2],y[y.length-1]],i(y).removeClass(D.sPageButton+" "+D.sPageButtonActive+" "+D.sPageButtonStaticDisabled),i([y[0],y[1]]).addClass(1==t?D.sPageButtonStaticDisabled:D.sPageButton),i([y[2],y[3]]).addClass(0===n||t===n||-1===e._iDisplayLength? 
     154D.sPageButtonStaticDisabled:D.sPageButton))}}}});i.extend(j.ext.oSort,{"string-pre":function(e){"string"!=typeof e&&(e=null!==e&&e.toString?e.toString():"");return e.toLowerCase()},"string-asc":function(e,i){return e<i?-1:e>i?1:0},"string-desc":function(e,i){return e<i?1:e>i?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,i){return e<i?-1:e>i?1:0},"html-desc":function(e,i){return e<i?1:e>i?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""=== 
     155e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,i){return e-i},"date-desc":function(e,i){return i-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,i){return e-i},"numeric-desc":function(e,i){return i-e}});i.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var i,j=!1;i=e.charAt(0);if(-1=="0123456789-".indexOf(i))return null;for(var k=1;k<e.length;k++){i=e.charAt(k);if(-1=="0123456789.".indexOf(i))return null; 
     156if("."==i){if(j)return null;j=!0}}return"numeric"},function(e){var i=Date.parse(e);return null!==i&&!isNaN(i)||"string"===typeof e&&0===e.length?"date":null},function(e){return"string"===typeof e&&-1!=e.indexOf("<")&&-1!=e.indexOf(">")?"html":null}]);i.fn.DataTable=j;i.fn.dataTable=j;i.fn.dataTableSettings=j.settings;i.fn.dataTableExt=j.ext})(jQuery,window,document,void 0); 
  • tablepress/trunk/models/model-post.php

    r598765 r623199  
    5050        $post_type_args = array( 
    5151            'labels' => array( 
    52                 'name' => 'TP Tables' // 'TablePress Tables' is too long for the admin menu 
     52                'name' => 'TablePress Tables' 
    5353            ), 
    5454            'public' => false, 
     
    5757            'rewrite' => false, 
    5858            'supports' => array( 'title', 'editor', 'excerpt', 'revisions' ), 
    59             'can_export' => false 
     59            'can_export' => true 
    6060        ); 
    6161        $post_type_args = apply_filters( 'tablepress_post_type_args', $post_type_args ); 
  • tablepress/trunk/models/model-table.php

    r607623 r623199  
    484484                'last_editor' => get_current_user_id(), 
    485485                'table_head' => true, 
    486                 'table_foot' => true, 
     486                'table_foot' => false, 
    487487                'alternating_row_colors' => true, 
    488488                'row_hover' => true, 
     
    500500                'datatables_paginate_entries' => 10, 
    501501                'datatables_info' => true, 
    502                 'datatables_scrollX' => true, 
     502                'datatables_scrollX' => false, 
    503503                'datatables_custom_commands' => '' 
    504                 //'datatables_tabletools' => false 
    505504            ), 
    506505            'visibility' => array( 
     
    509508            ) 
    510509        ); 
    511         return $table; 
     510        return apply_filters( 'tablepress_table_template', $table ); 
    512511    } 
    513512 
     
    546545        $new_table['visibility']['columns'] = array_map( 'intval', $new_table['visibility']['columns'] ); 
    547546 
    548         // Check dimensions of table data array (not done for newly added or copied tables) 
     547        // Check dimensions of table data array (not done for newly added, copied, or imported tables) 
    549548        if ( $table_size_check ) { 
    550549            if ( empty( $new_table['number'] ) 
     
    609608            } 
    610609            // merge new options 
     610            $default_table = $this->get_table_template(); 
     611            $table['options'] = array_intersect_key( $table['options'], $default_table['options'] ); 
     612            $new_table['options'] = array_intersect_key( $new_table['options'], $default_table['options'] ); 
    611613            $table['options'] = array_merge( $table['options'], $new_table['options'] ); 
    612614        } 
  • tablepress/trunk/readme.txt

    r607623 r623199  
    1313 
    1414= ATTENTION: = 
    15 **TablePress is in beta stage now. It is already usable and quite stable, but regular backups are recommended!** 
     15**TablePress is in advanced beta stage now. It is already usable and quite stable, but a few things are still being worked on!** 
    1616 
    1717TablePress enables you to create and manage tables on your WordPress site. No HTML knowledge is needed, as a comfortable interface allows to easily edit table data. Tables can contain any type of data, even formulas that will be evaluated. An additional JavaScript library can be used to add features like sorting, pagination, filtering, and more for site visitors. You can include the tables into your posts, on your pages, or in text widgets with ease. Tables can be imported and exported from/to CSV files (e.g. from Excel), HTML files, and JSON. 
     
    3333== Installation == 
    3434 
    35 The easiest way to install TablePress is via your WordPress Dashboard. Go to the "Plugins" section and search for "TablePress" in the WordPress Plugin Directory. Then you can click "Install" and the following steps will be done for you automatically. You'll just have to activate the plugin. 
     35The easiest way to install TablePress is via your WordPress Dashboard. Go to the "Plugins" page and search for "TablePress" in the WordPress Plugin Directory. Then click "Install Now" and the following steps will be done for you automatically. You'll just have to activate TablePress. 
    3636 
    37 Manual Installation works just as for most other WordPress plugins: 
     37Manual installation works just as for other WordPress plugins: 
    3838 
    39 1. Download and extract the zip file and just drop the folder "tablepress" into the "wp-content/plugins/" directory of your WordPress installation. 
     391. Download and extract the ZIP file and move the folder "tablepress" into the "wp-content/plugins/" directory of your WordPress installation. 
    4040 
    41 1. Activate the plugin "TablePress" on your "Plugins" page. 
     411. Activate the plugin "TablePress" on the "Plugins" page of your WordPress Dashboard. 
    4242 
    43431. Create and manage tables by going to the "TablePress" section in the admin menu. 
    4444 
    45 1. Add a table to a page, post, or text widget, by adding the Shortcode `[table id=<your-table's-ID> /]` to its content. 
     451. Add a table to a page, post, or text widget, by adding the Shortcode `[table id=<your-table's-ID> /]` to its content, or by using the "Table" button in the editor toolbar. 
    4646 
    47471. You can change the table styling by using CSS code, which can be entered into the "Custom CSS" textarea on the "Plugin Options" screen. 
     
    5151= Where can I find answers to Frequently Asked Questions? = 
    5252 
    53 A wide group of questions, regarding different features or styling has been answered in the [FAQ section](http://tablepress.org/faq/) on the plugin website. 
     53A wide group of questions, regarding different features or styling has been answered on the [FAQ page](http://tablepress.org/faq/) on the plugin website. 
    5454 
    5555= Support? = 
     
    8383== Usage == 
    8484 
    85 After installing the plugin, you can add, import, export, edit, copy, delete, ... tables via the "TablePress" screen in your admin menu in the WordPress Dashboard. 
     85After installing the plugin, you can add, import, export, edit, copy, delete, ... tables on the "TablePress" screen in the WordPress Dashboard. 
    8686Everything should be self-explaining there. 
    8787 
    8888To show one of your tables in a post, on a page, or in a text widget, just include the Shortcode `[table id=<the-ID> /]` to your post/page/text widget, where `<the-ID>` is the ID of your table (can be found on the left side of the "All Tables" screen.) 
     89Alternatively, you can also insert tables by clicking the "Table" button in the editor toolbar, and then selecting the desired table. 
    8990 
    9091After that you might want to change the styling of the table. You can do this by entering CSS commands into the "Custom CSS" textarea on the "Plugin Options" screen. 
     
    99100== License == 
    100101 
    101 This plugin is Free Software, released under the GPL, version 2 (http://www.gnu.org/licenses/gpl-2.0.html). 
     102This plugin is Free Software, released and licensed under the GPL, version 2 (http://www.gnu.org/licenses/gpl-2.0.html). 
    102103You may use it free of charge for any purpose. 
    103104I kindly ask you for link somewhere on your website to http://tablepress.org/. This is not required! 
    104 I'm also happy about [donations](http://tablepress.org/donate/) or something from [my wishlist](http://tablepress.org/wishlist/)! Thanks! 
     105I'm also happy about [donations](http://tablepress.org/donate/) or something from my [amazon.de](http://tablepress.org/wishlist-de/) or [amazon.com wishlist](http://tablepress.org/wishlist-us/)! Thanks! 
    105106 
    106107== Changelog == 
  • tablepress/trunk/tablepress.php

    r607623 r623199  
    1212Plugin URI: http://tablepress.org/ 
    1313Description: TablePress enables you to create and manage tables in your posts and pages, without having to write HTML code, and it adds valuable functions for your visitors. 
    14 Version: 0.6-beta 
     14Version: 0.7-beta 
    1515Author: Tobias Bäthge 
    1616Author URI: http://tobias.baethge.com/ 
  • tablepress/trunk/views/view-about.php

    r607623 r623199  
    4141        parent::setup( $action, $data ); 
    4242 
    43         $this->add_meta_box( 'plugin-purpose', __( 'Plugin Purpose', 'tablepress' ), array( &$this, 'postbox_plugin_purpose' ), 'normal' ); 
    44         $this->add_meta_box( 'usage', __( 'Usage', 'tablepress' ), array( &$this, 'postbox_usage' ), 'normal' ); 
    45         $this->add_meta_box( 'more-information', __( 'More Information and Documentation', 'tablepress' ), array( &$this, 'postbox_more_information' ), 'normal' ); 
    46         $this->add_meta_box( 'help-support', __( 'Help and Support', 'tablepress' ), array( &$this, 'postbox_help_support' ), 'normal' ); 
    47         $this->add_meta_box( 'author-license', __( 'Author and License', 'tablepress' ), array( &$this, 'postbox_author_license' ), 'side' ); 
    48         $this->add_meta_box( 'credits-thanks', __( 'Credits and Thanks', 'tablepress' ), array( &$this, 'postbox_credits_thanks' ), 'side' ); 
    49         $this->add_meta_box( 'debug-version-information', __( 'Debug and Version Information', 'tablepress' ), array( &$this, 'postbox_debug_version_information' ), 'side' ); 
     43        $this->add_meta_box( 'plugin-purpose', __( 'Plugin Purpose', 'tablepress' ), array( $this, 'postbox_plugin_purpose' ), 'normal' ); 
     44        $this->add_meta_box( 'usage', __( 'Usage', 'tablepress' ), array( $this, 'postbox_usage' ), 'normal' ); 
     45        $this->add_meta_box( 'more-information', __( 'More Information and Documentation', 'tablepress' ), array( $this, 'postbox_more_information' ), 'normal' ); 
     46        $this->add_meta_box( 'help-support', __( 'Help and Support', 'tablepress' ), array( $this, 'postbox_help_support' ), 'normal' ); 
     47        $this->add_meta_box( 'author-license', __( 'Author and License', 'tablepress' ), array( $this, 'postbox_author_license' ), 'side' ); 
     48        $this->add_meta_box( 'credits-thanks', __( 'Credits and Thanks', 'tablepress' ), array( $this, 'postbox_credits_thanks' ), 'side' ); 
     49        $this->add_meta_box( 'debug-version-information', __( 'Debug and Version Information', 'tablepress' ), array( $this, 'postbox_debug_version_information' ), 'side' ); 
    5050    } 
    5151 
     
    8484    <p> 
    8585        <?php printf( __( 'To insert a table into a page, post, or text widget, copy its Shortcode %s and paste it at the desired place in the editor.', 'tablepress' ), '<input type="text" class="table-shortcode table-shortcode-inline" value="[' . TablePress::$shortcode . ' id=&lt;ID&gt; /]" readonly="readonly" />' ); ?> 
    86         <?php printf( __( 'You can also click the &quot;%s&quot; button in the editor toolbar to select and insert a table.', 'tablepress' ), __( 'Table', 'tablepress' ) ); ?> 
     86        <?php printf( __( 'You can also click the &#8220;%s&#8221; button in the editor toolbar to select and insert a table.', 'tablepress' ), __( 'Table', 'tablepress' ) ); ?> 
    8787    </p> 
    8888    <p> 
     
    103103        ?> 
    104104    <p> 
    105         <?php printf( __( 'More information about TablePress can be found on the <a href="%s">plugin\'s website</a> or on its page in the <a href="%s">WordPress Plugin Directory</a>.', 'tablepress' ), 'http://tablepress.org/', 'http://wordpress.org/extend/plugins/tablepress/' ); ?> 
     105        <?php printf( __( 'More information about TablePress can be found on the <a href="%s">plugin&#8217;s website</a> or on its page in the <a href="%s">WordPress Plugin Directory</a>.', 'tablepress' ), 'http://tablepress.org/', 'http://wordpress.org/extend/plugins/tablepress/' ); ?> 
    106106        <?php printf( __( 'For technical information, please see the <a href="%s">documentation</a>.', 'tablepress' ), 'http://tablepress.org/documentation/' ); ?> 
    107107    </p> 
     
    161161            <br />&middot; TablePress (DB): <?php echo TablePress::db_version; ?> 
    162162            <br />&middot; TablePress table scheme: <?php echo TablePress::table_scheme_version; ?> 
    163             <br />&middot; <?php _e( 'Plugin installed', 'tablepress' ); ?>: <?php echo date( 'Y/m/d H:i:s', $data['first_activation'] ); ?> 
     163            <br />&middot; Plugin installed: <?php echo date( 'Y/m/d H:i:s', $data['first_activation'] ); ?> 
    164164            <br />&middot; WordPress: <?php echo $GLOBALS['wp_version']; ?> 
    165165            <br />&middot; PHP: <?php echo phpversion(); ?> 
    166166            <br />&middot; mySQL (Server): <?php echo mysql_get_server_info(); ?> 
    167167            <br />&middot; mySQL (Client): <?php echo mysql_get_client_info(); ?> 
    168             <br />&middot; ZIP support: <?php echo $data['zip_support_available'] ? __( 'yes', 'tablepress' ) : __( 'no', 'tablepress' ); ?> 
     168            <br />&middot; ZIP support: <?php echo $data['zip_support_available'] ? 'yes' : 'no'; ?> 
     169            <br />&middot; WP Memory Limit: <?php echo WP_MEMORY_LIMIT; ?> 
    169170        </p> 
    170171        <?php 
  • tablepress/trunk/views/view-add.php

    r607623 r623199  
    4242        } 
    4343 
    44         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
    45         $this->add_meta_box( 'add-table', __( 'Add New Table', 'tablepress' ), array( &$this, 'postbox_add_table' ), 'normal' ); 
     44        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
     45        $this->add_meta_box( 'add-table', __( 'Add New Table', 'tablepress' ), array( $this, 'postbox_add_table' ), 'normal' ); 
    4646        $this->data['submit_button_caption'] = __( 'Add Table', 'tablepress' ); 
    47         $this->add_text_box( 'submit', array( &$this, 'textbox_submit_button' ), 'submit' ); 
     47        $this->add_text_box( 'submit', array( $this, 'textbox_submit_button' ), 'submit' ); 
    4848    } 
    4949 
     
    8484            <div class="form-field form-required form-field-numbers-only form-field-small"> 
    8585                <label for="table-rows"><?php _e( 'Number of Rows', 'tablepress' ); ?>:</label> 
    86                 <input type="number" name="table[rows]" id="table-rows" title="<?php _e( 'This field must contain a positive number.', 'tablepress' ); ?>" value="5" min="1" max="99999" maxlength="5" required /> 
     86                <input type="number" name="table[rows]" id="table-rows" title="<?php esc_attr_e( 'This field must contain a positive number.', 'tablepress' ); ?>" value="5" min="1" max="99999" maxlength="5" required /> 
    8787                <p><?php _e( 'The number of rows in your table.', 'tablepress' ); ?></p> 
    8888            </div> 
    8989            <div class="form-field form-required form-field-numbers-only form-field-small"> 
    9090                <label for="table-columns"><?php _e( 'Number of Columns', 'tablepress' ); ?>:</label> 
    91                 <input type="number" name="table[columns]" id="table-columns" title="<?php _e( 'This field must contain a positive number.', 'tablepress' ); ?>" value="5" min="1" max="99999" maxlength="5" required /> 
     91                <input type="number" name="table[columns]" id="table-columns" title="<?php esc_attr_e( 'This field must contain a positive number.', 'tablepress' ); ?>" value="5" min="1" max="99999" maxlength="5" required /> 
    9292                <p><?php _e( 'The number of columns in your table.', 'tablepress' ); ?></p> 
    9393            </div> 
  • tablepress/trunk/views/view-edit.php

    r607623 r623199  
    3535            'success_save' => __( 'The table was saved successfully.', 'tablepress' ), 
    3636            'success_add' => __( 'The table was added successfully.', 'tablepress' ), 
    37         /*  'success_import' => __( 'The table was imported successfully.', 'tablepress' ), */ 
     37            'success_import' => __( 'The table was imported successfully.', 'tablepress' ), 
     38            'success_import_wp_table_reloaded' => __( 'The table was imported successfully from WP-Table Reloaded.', 'tablepress' ), 
    3839            'error_save' => __( 'Error: The table could not be saved.', 'tablepress' ), 
    3940            'error_delete' => __( 'Error: The table could not be deleted.', 'tablepress' ), 
     
    4950        // do this here to get CSS into <head> 
    5051        wp_enqueue_style( 'wp-jquery-ui-dialog' ); 
    51         add_action( 'admin_footer', array( &$this, 'dequeue_media_upload_js' ), 2 ); 
     52        add_action( 'admin_footer', array( $this, 'dequeue_media_upload_js' ), 2 ); 
    5253        add_thickbox(); 
    5354        $this->admin_page->enqueue_style( 'edit' ); 
     
    5960            ), 
    6061            'strings' => array_merge( array( 
    61                 'no_remove_all_rows' => 'Du kannst nicht alle Zeilen der Tabelle löschen!', 
    62                 'no_remove_all_columns' => 'Du kannst nicht alle Spalten der Tabelle löschen!', 
    63                 'no_rows_selected' => 'Du hast keine Zeilen ausgewählt!', 
    64                 'no_columns_selected' => 'Du hast keine Spalten ausgewählt!', 
    65                 'append_num_rows_invalid' => 'Die Eingabe für die Zeilenanzahl ist ungültig!', 
    66                 'append_num_columns_invalid' => 'Die Eingabe für die Spaltenanzahl ist ungültig!', 
    67                 'ays_remove_rows_singular' => _n( 'Do you really want to delete this row?', 'Do you really want to delete these rows?', 1, 'tablepress' ), 
    68                 'ays_remove_rows_plural' => _n( 'Do you really want to delete this row?', 'Do you really want to delete these rows?', 2, 'tablepress' ), 
    69                 'ays_remove_columns_singular' => _n( 'Do you really want to delete this column?', 'Do you really want to delete these columns?', 1, 'tablepress' ), 
    70                 'ays_remove_columns_plural' => _n( 'Do you really want to delete this column?', 'Do you really want to delete these columns?', 2, 'tablepress' ), 
    71                 'advanced_editor_open' => 'Bitte klicke in die Zelle, die du bearbeiten möchtest.', 
    72                 'span_add' => 'Bitte klicke in die Zelle, die verbunden werden soll.', 
    73                 'link_add' => 'Bitte klicke in die Zelle, in die du einen Link einfügen möchtest.', 
    74                 'image_add' => 'Bitte klicke in die Zelle, in die du ein Bild einfügen möchtest.' . "\n" . 
    75                                 __( 'The Media Library will open, from which you can select the desired image or insert the image URL.', 'tablepress' ) . "\n" . 
    76                                 sprintf( __( 'Click the &quot;%s&quot; button to insert the image.', 'tablepress' ), __( 'Insert into Post', 'default' ) ), 
    77                 'unsaved_changes_unload' => 'Seite ohne speichern verlassen?', 
    78                 'preparing_preview' => 'Die Vorschau wird vorbereitet...', 
    79                 'preview_error' => 'Vorbereiten der Vorschau fehlgeschlagen', 
    80                 'save_changes_success' => 'Speichern erfolgreich', 
    81                 'save_changes_error' => 'Speichern fehlgeschlagen', 
    82                 'saving_changes' => 'Speichere Änderungen...', 
     62                'no_remove_all_rows' => __( 'You can not delete all table rows!', 'tablepress' ), 
     63                'no_remove_all_columns' => __( 'You can not delete all table columns!', 'tablepress' ), 
     64                'no_rows_selected' => __( 'You did not select any rows!', 'tablepress' ), 
     65                'no_columns_selected' => __( 'You did not select any columns!', 'tablepress' ), 
     66                'append_num_rows_invalid' => __( 'The value for the number of rows is invalid!', 'tablepress' ), 
     67                'append_num_columns_invalid' => __( 'The value for the number of columns is invalid!', 'tablepress' ), 
     68                'ays_remove_rows_singular' => _n( 'Do you really want to delete the selected row?', 'Do you really want to delete the selected rows?', 1, 'tablepress' ), 
     69                'ays_remove_rows_plural' => _n( 'Do you really want to delete the selected row?', 'Do you really want to delete the selected rows?', 2, 'tablepress' ), 
     70                'ays_remove_columns_singular' => _n( 'Do you really want to delete the selected column?', 'Do you really want to delete the selected columns?', 1, 'tablepress' ), 
     71                'ays_remove_columns_plural' => _n( 'Do you really want to delete the selected column?', 'Do you really want to delete the selected columns?', 2, 'tablepress' ), 
     72                'advanced_editor_open' => __( 'Please click into the cell that you want to edit using the &#8220;Advanced Editor&#8221;.', 'tablepress' ), 
     73                'rowspan_add' => __( 'To combine cells within a column, click into the cell below the cell that has the content the combined cells shall have.', 'tablepress' ), 
     74                'colspan_add' => __( 'To combine cells within a row, click into the cell to the right of the cell that has the content the combined cells shall have.', 'tablepress' ), 
     75                'link_add' => __( 'Please click into the cell that you want to add a link to.', 'tablepress' ) . "\n" . 
     76                                __( 'You can then enter the link URL or choose an existing page or post.', 'tablepress' ) . "\n" . 
     77                                __( 'After the link HTML code is inserted, type the link text, for which the cursor will already be in the correct position.', 'tablepress' ), 
     78                'image_add' => __( 'Please click into the cell that you want to add an image to.', 'tablepress' ) . "\n" . 
     79                                __( 'The Media Library will open, where you can select or upload the desired image or enter the image URL.', 'tablepress' ) . "\n" . 
     80                                sprintf( __( 'Click the &#8220;%s&#8221; button to insert the image.', 'tablepress' ), __( 'Insert into Post', 'default' ) ), 
     81                'unsaved_changes_unload' => __( 'The changes to this table were not saved yet and will be lost if you navigate away from this page.', 'tablepress' ), 
     82                'preparing_preview' => __( 'The Table Preview is being loaded...', 'tablepress' ), 
     83                'preview_error' => __( 'The Table Preview could not be loaded.', 'tablepress' ), 
     84                'save_changes_success' => __( 'Saving successful', 'tablepress' ), 
     85                'save_changes_error' => __( 'Saving failed', 'tablepress' ), 
     86                'saving_changes' => __( 'Changes are being saved...', 'tablepress' ), 
    8387                'table_id_not_empty' => __( 'The Table ID field can not be empty. Please enter a Table ID!', 'tablepress' ), 
    84                 'table_id_not_zero' => __( 'The Table ID &quot;0&quot; is not supported. Please enter a different Table ID!', 'tablepress' ), 
    85                 'ays_change_table_id' => 'Willst du die Tabellen-ID wirklich ändern? Alle Shortcodes für diese Tabelle müssen angepasst werden!', 
    86                 'extra_css_classes_invalid' => __( 'The entered value in the field &quot;Extra CSS classes&quot; is invalid.', 'tablepress' ), 
     88                'table_id_not_zero' => __( 'The Table ID &#8220;0&#8221; is not supported. Please enter a different Table ID!', 'tablepress' ), 
     89                'ays_change_table_id' => __( 'Do you really want to change the Table ID? All Shortcodes for this table in your pages and posts will have to be adjusted!', 'tablepress' ), 
     90                'extra_css_classes_invalid' => __( 'The entered value in the field &#8220;Extra CSS classes&#8221; is invalid.', 'tablepress' ), 
    8791                'sort_asc' => __( 'Sort ascending', 'tablepress' ), 
    8892                'sort_desc' => __( 'Sort descending', 'tablepress' ), 
    89                 'no_rowspan_first_row' => 'You can not add rowspan to the first row!', 
    90                 'no_colspan_first_col' => 'You can not add colspan to the first column!', 
    91                 'no_rowspan_table_head' => 'You can not add rowspan into the table head row!', 
    92                 'no_rowspan_table_foot' => 'You can not add rowspan out of the table foot row!' 
     93                'no_rowspan_first_row' => __( 'You can not add rowspan to the first row!', 'tablepress' ), 
     94                'no_colspan_first_col' => __( 'You can not add colspan to the first column!', 'tablepress' ), 
     95                'no_rowspan_table_head' => __( 'You can not connect cells into the table head row!', 'tablepress' ), 
     96                'no_rowspan_table_foot' => __( 'You can not connect cells out of the table foot row!', 'tablepress' ) 
    9397            ), $this->action_messages ) // merge this to have messages available for AJAX after save dialog 
    9498        ) ); 
    9599 
    96         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
    97         $this->add_text_box( 'buttons-1', array( &$this, 'textbox_buttons' ), 'normal' ); 
    98         $this->add_meta_box( 'table-information', __( 'Table Information', 'tablepress' ), array( &$this, 'postbox_table_information' ), 'normal' ); 
    99         $this->add_meta_box( 'table-data', __( 'Table Content', 'tablepress' ), array( &$this, 'postbox_table_data' ), 'normal' ); 
    100         $this->add_meta_box( 'table-manipulation', __( 'Table Manipulation', 'tablepress' ), array( &$this, 'postbox_table_manipulation' ), 'normal' ); 
    101         $this->add_meta_box( 'table-options', __( 'Table Options', 'tablepress' ), array( &$this, 'postbox_table_options' ), 'normal' ); 
    102         $this->add_meta_box( 'datatables-features', __( 'Features of the DataTables JavaScript library', 'tablepress' ), array( &$this, 'postbox_datatables_features' ), 'normal' ); 
    103         $this->add_text_box( 'hidden-containers', array( &$this, 'textbox_hidden_containers' ), 'additional' ); 
    104         $this->add_text_box( 'buttons-2', array( &$this, 'textbox_buttons' ), 'additional' ); 
    105         $this->add_text_box( 'other-actions', array( &$this, 'textbox_other_actions' ), 'submit' ); 
     100        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
     101        $this->add_text_box( 'buttons-1', array( $this, 'textbox_buttons' ), 'normal' ); 
     102        $this->add_meta_box( 'table-information', __( 'Table Information', 'tablepress' ), array( $this, 'postbox_table_information' ), 'normal' ); 
     103        $this->add_meta_box( 'table-data', __( 'Table Content', 'tablepress' ), array( $this, 'postbox_table_data' ), 'normal' ); 
     104        $this->add_meta_box( 'table-manipulation', __( 'Table Manipulation', 'tablepress' ), array( $this, 'postbox_table_manipulation' ), 'normal' ); 
     105        $this->add_meta_box( 'table-options', __( 'Table Options', 'tablepress' ), array( $this, 'postbox_table_options' ), 'normal' ); 
     106        $this->add_meta_box( 'datatables-features', __( 'Features of the DataTables JavaScript library', 'tablepress' ), array( $this, 'postbox_datatables_features' ), 'normal' ); 
     107        $this->add_text_box( 'hidden-containers', array( $this, 'textbox_hidden_containers' ), 'additional' ); 
     108        $this->add_text_box( 'buttons-2', array( $this, 'textbox_buttons' ), 'additional' ); 
     109        $this->add_text_box( 'other-actions', array( $this, 'textbox_other_actions' ), 'submit' ); 
    106110    } 
    107111 
     
    145149        <td class="column-2"> 
    146150            <input type="hidden" name="table[id]" id="table-id" value="<?php echo esc_attr( $data['table']['id'] ); ?>" /> 
    147             <input type="text" name="table[new_id]" id="table-new-id" class="small-text" value="<?php echo esc_attr( $data['table']['id'] ); ?>" title="<?php _e( 'The Table ID can only consist of letters, numbers, hyphens (-), and underscores (_).', 'tablepress' ); ?>" pattern="[A-Za-z0-9-_]+" required /> 
     151            <input type="text" name="table[new_id]" id="table-new-id" class="small-text" value="<?php echo esc_attr( $data['table']['id'] ); ?>" title="<?php esc_attr_e( 'The Table ID can only consist of letters, numbers, hyphens (-), and underscores (_).', 'tablepress' ); ?>" pattern="[A-Za-z0-9-_]+" required /> 
    148152            <div style="float: right; margin-right: 1%;"><label for="table-information-shortcode"><?php _e( 'Shortcode', 'tablepress' ); ?>:</label> 
    149153            <input type="text" id="table-information-shortcode" class="table-shortcode" value="[<?php echo TablePress::$shortcode; ?> id=<?php echo esc_attr( $data['table']['id'] ); ?> /]" readonly="readonly" /></div> 
     
    210214            $column_class = ' column-hidden'; 
    211215        $column = TablePress::number_to_letter( $col_idx + 1 ); 
    212         echo "\t\t\t<th class=\"head{$column_class}\"><span class=\"sort-control sort-desc\" title=\"" . __( 'Sort descending', 'tablepress' ) . "\"></span><span class=\"sort-control sort-asc\" title=\"" . __( 'Sort ascending', 'tablepress' ) . "\"></span><span class=\"move-handle\">{$column}</span></th>\n"; 
     216        echo "\t\t\t<th class=\"head{$column_class}\"><span class=\"sort-control sort-desc\" title=\"" . __( 'Sort descending', 'tablepress' ) . "\"><span class=\"sorting-indicator\"></span></span><span class=\"sort-control sort-asc\" title=\"" . __( 'Sort ascending', 'tablepress' ) . "\"><span class=\"sorting-indicator\"></span></span><span class=\"move-handle\">{$column}</span></th>\n"; 
    213217    } 
    214218?> 
     
    288292            <input type="button" class="button" id="span-add-rowspan" value="<?php _e( 'in a column (rowspan)', 'tablepress' ); ?>" /> 
    289293            <input type="button" class="button" id="span-add-colspan" value="<?php _e( 'in a row (colspan)', 'tablepress' ); ?>" /> 
    290             <input type="button" class="button show-help-box" value="<?php _e( '?', 'tablepress' ); ?>" title="<?php _e( 'Help on combining cells' ); ?>" /> 
     294            <input type="button" class="button show-help-box" value="<?php _e( '?', 'tablepress' ); ?>" title="<?php esc_attr_e( 'Help on combining cells' ); ?>" /> 
    291295            <div class="hidden-container hidden-help-box-container"><?php 
    292296                echo '<p>' . __( 'Table cells can span across more than one column or row.', 'tablepress' ) . '</p>'; 
    293                 echo '<p>' . __( 'Combining consecutive cells within the same row is called "colspanning".', 'tablepress' ) 
    294                     . ' ' . __( 'Combining consecutive cells within the same column is called "rowspanning".', 'tablepress' ) . '</p>'; 
     297                echo '<p>' . __( 'Combining consecutive cells within the same row is called &#8220;colspanning&#8221;.', 'tablepress' ) 
     298                    . ' ' . __( 'Combining consecutive cells within the same column is called &#8220;rowspanning&#8221;.', 'tablepress' ) . '</p>'; 
    295299                echo '<p>' . __( 'To combine adjacent cells in a row, add the keyword <code>#colspan#</code> to the cell to the right of the one with the content for the combined cell by using the corresponding button.', 'tablepress' ) 
    296300                    . ' ' . __( 'To combine adjacent cells in a column, add the keyword <code>#rowspan#</code> to the cell below the one with the content for the combined cell by using the corresponding button.', 'tablepress' ) . '</p>'; 
     
    361365        ?> 
    362366            <p class="submit"> 
    363                 <?php _e( 'Other Actions' ); ?>:&nbsp; 
     367                <?php _e( 'Other Actions', 'tablepress' ); ?>:&nbsp; 
    364368                <a href="<?php echo TablePress::url( array( 'action' => 'delete_table', 'item' => $data['table']['id'], 'return' => 'edit', 'return_item' => $data['table']['id'] ), true, 'admin-post.php' ); ?>" class="button delete-link"><?php _e( 'Delete Table', 'tablepress' ); ?></a> 
    365369                <a href="<?php echo TablePress::url( array( 'action' => 'export', 'table_id' => $data['table']['id'] ) ); ?>" class="button"><?php _e( 'Export Table', 'tablepress' ); ?></a> 
     
    414418    <tr class="bottom-border"> 
    415419        <th class="column-1" scope="row"><?php _e( 'Table Foot Row', 'tablepress' ); ?>:</th> 
    416         <td class="column-2"><label for="option-table-foot"><input type="checkbox" id="option-table-foot" name="table[options][table_foot]" value="true"<?php checked( $options['table_foot'] ); ?> /> <?php _e( 'The first row of the table is the table footer.', 'tablepress' ); ?></label></td> 
     420        <td class="column-2"><label for="option-table-foot"><input type="checkbox" id="option-table-foot" name="table[options][table_foot]" value="true"<?php checked( $options['table_foot'] ); ?> /> <?php _e( 'The last row of the table is the table footer.', 'tablepress' ); ?></label></td> 
    417421    </tr> 
    418422    <tr class="top-border"> 
     
    446450    <tr class="top-border"> 
    447451        <th class="column-1" scope="row"><?php _e( 'Extra CSS Classes', 'tablepress' ); ?>:</th> 
    448         <td class="column-2"><label for="option-extra-css-classes"><input type="text" id="option-extra-css-classes" class="large-text" name="table[options][extra_css_classes]" value="<?php echo esc_attr( $options['extra_css_classes'] ); ?>" title="<?php _e( 'This field can only contain letters, numbers, spaces, hyphens (-), and underscores (_).', 'tablepress' ); ?>" pattern="[A-Za-z0-9- _]*" /><p class="description"><?php echo __( 'Additional CSS classes for styling purposes can be entered here.', 'tablepress' ) . ' ' . sprintf( __( 'This is NOT the place to enter <a href="%s">Custom CSS</a> code!', 'tablepress' ), TablePress::url( array( 'action' => 'options' ) ) ); ?></p></label></td> 
     452        <td class="column-2"><label for="option-extra-css-classes"><input type="text" id="option-extra-css-classes" class="large-text" name="table[options][extra_css_classes]" value="<?php echo esc_attr( $options['extra_css_classes'] ); ?>" title="<?php esc_attr_e( 'This field can only contain letters, numbers, spaces, hyphens (-), and underscores (_).', 'tablepress' ); ?>" pattern="[A-Za-z0-9- _]*" /><p class="description"><?php echo __( 'Additional CSS classes for styling purposes can be entered here.', 'tablepress' ) . ' ' . sprintf( __( 'This is NOT the place to enter <a href="%s">Custom CSS</a> code!', 'tablepress' ), TablePress::url( array( 'action' => 'options' ) ) ); ?></p></label></td> 
    449453    </tr> 
    450454</tbody> 
     
    461465        $options = $data['table']['options']; 
    462466?> 
    463 <p id="notice-datatables-head-row" class="hide-if-js"><?php printf( __( 'These features and options are only available, when the &quot;%1$s&quot; checkbox in the &quot;%2$s&quot; section is checked.', 'tablepress' ), __( 'Table Head Row', 'tablepress' ), __( 'Table Options', 'tablepress' ) ); ?></p> 
     467<p id="notice-datatables-head-row" class="hide-if-js"><?php printf( __( 'These features and options are only available, when the &#8220;%1$s&#8221; checkbox in the &#8220;%2$s&#8221; section is checked.', 'tablepress' ), __( 'Table Head Row', 'tablepress' ), __( 'Table Options', 'tablepress' ) ); ?></p> 
    464468<table class="tablepress-postbox-table fixed"> 
    465469<tbody> 
  • tablepress/trunk/views/view-editor_button_thickbox.php

    r607623 r623199  
    132132<?php _e( 'This is a list of all available tables.', 'tablepress' ); ?> <?php _e( 'You may insert a table into a post or page here.', 'tablepress' ); ?> 
    133133</p><p> 
    134 <?php printf( __( 'Click the &quot;%s&quot; button for the desired table to automatically insert the<br />corresponding Shortcode (%s) into the editor.', 'tablepress' ), __( 'Insert Shortcode', 'tablepress' ), '<input type="text" class="table-shortcode table-shortcode-inline" value="[' . TablePress::$shortcode . ' id=&lt;ID&gt; /]" readonly="readonly" />' ); ?> 
     134<?php printf( __( 'Click the &#8220;%s&#8221; button for the desired table to automatically insert the<br />corresponding Shortcode (%s) into the editor.', 'tablepress' ), __( 'Insert Shortcode', 'tablepress' ), '<input type="text" class="table-shortcode table-shortcode-inline" value="[' . TablePress::$shortcode . ' id=&lt;ID&gt; /]" readonly="readonly" />' ); ?> 
    135135</p> 
    136136<?php 
     
    404404        // Maybe search in the items 
    405405        if ( $s ) 
    406             $this->items = array_filter( $this->items, array( &$this, '_search_callback' ) ); 
     406            $this->items = array_filter( $this->items, array( $this, '_search_callback' ) ); 
    407407 
    408408        // Maybe sort the items 
    409409        $_sortable_columns = $this->get_sortable_columns(); 
    410410        if ( $orderby && ! empty( $this->items ) && isset( $_sortable_columns["table_{$orderby}"] ) ) 
    411             usort( $this->items, array( &$this, '_order_callback' ) ); 
     411            usort( $this->items, array( $this, '_order_callback' ) ); 
    412412 
    413413        // number of records to show per page 
  • tablepress/trunk/views/view-export.php

    r607623 r623199  
    4242        } 
    4343 
    44         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
     44        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
    4545        if ( 0 == $data['tables_count'] ) { 
    46             $this->add_meta_box( 'no-tables', __( 'Export Tables', 'tablepress' ), array( &$this, 'postbox_no_tables' ), 'normal' ); 
     46            $this->add_meta_box( 'no-tables', __( 'Export Tables', 'tablepress' ), array( $this, 'postbox_no_tables' ), 'normal' ); 
    4747        } else { 
    4848            $this->admin_page->enqueue_script( 'export', array( 'jquery' ) ); 
    49             $this->add_meta_box( 'export-form', __( 'Export Tables', 'tablepress' ), array( &$this, 'postbox_export_form' ), 'normal' ); 
     49            $this->add_meta_box( 'export-form', __( 'Export Tables', 'tablepress' ), array( $this, 'postbox_export_form' ), 'normal' ); 
    5050            $this->data['submit_button_caption'] = __( 'Export Table', 'tablepress' ); 
    51             $this->add_text_box( 'submit', array( &$this, 'textbox_submit_button' ), 'submit' ); 
     51            $this->add_text_box( 'submit', array( $this, 'textbox_submit_button' ), 'submit' ); 
    5252        } 
    5353    } 
     
    6767            <?php _e( 'To export, select the tables and the desired export format.', 'tablepress' ); ?> 
    6868            <?php _e( 'If you choose more than one table, the exported files will automatically be stored in a ZIP archive file.', 'tablepress' ); ?> 
    69             <?php _e( 'Be aware that only the table data, but no options or settings are exported with this method!', 'tablepress' ); ?> 
     69        <br /> 
     70            <?php _e( 'Be aware that for the CSV and HTML formats only the table data, but no table options are exported!', 'tablepress' ); ?> 
     71            <?php _e( 'For the JSON format, the table data and the table options are exported.', 'tablepress' ); ?> 
    7072        </p> 
    7173        <?php 
     
    9698<tbody> 
    9799    <tr> 
    98         <th class="column-1 top-align" scope="row"><label for="tables-export"><?php _e( 'Tables to Export', 'tablepress' ); ?>:</label></th> 
     100        <th class="column-1 top-align" scope="row"> 
     101            <label for="tables-export"><?php _e( 'Tables to Export', 'tablepress' ); ?>:</label> 
     102            <?php 
     103                if ( $data['zip_support_available'] ) 
     104                    echo '<br /><br /><label for="tables-export-select-all"><input type="checkbox" id="tables-export-select-all"> ' . __( 'Select all', 'tablepress' ) . '</label>'; 
     105            ?> 
     106        </th> 
    99107        <td class="column-2"> 
    100108            <input type="hidden" name="export[tables_list]" id="tables-export-list" value="" /> 
     
    118126            <?php 
    119127                if ( $data['zip_support_available'] ) 
    120                     echo '<br /><span class="description">' . __( 'You can select multiple tables by holding down the &quot;Ctrl&quot; key (Windows) or the &quot;Command&quot; key (Mac).', 'tablepress' ) . '</span>'; 
     128                    echo '<br /><span class="description">' . __( 'You can select multiple tables by holding down the &#8220;Ctrl&#8221; key (Windows) or the &#8220;Command&#8221; key (Mac).', 'tablepress' ) . '</span>'; 
    121129            ?> 
    122130        </td> 
  • tablepress/trunk/views/view-import.php

    r607623 r623199  
    4141        parent::setup( $action, $data ); 
    4242 
    43         $this->admin_page->enqueue_script( 'import', array( 'jquery' ) ); 
     43        $this->admin_page->enqueue_script( 'import', array( 'jquery' ), array( 
     44            'import' => array( 
     45                'error_wp_table_reloaded_nothing_selected' => __( 'Error: You did not select what to import from WP-Table Reloaded!', 'tablepress' ) 
     46            ) 
     47        ) ); 
    4448 
    4549        $this->action_messages = array( 
    4650            'error_import' => __( 'Error: The import failed.', 'tablepress' ), 
    47             'error_no_zip_import' => __( 'Error: Import of ZIP files is not available on this server.', 'tablepress' ) 
     51            'error_no_zip_import' => __( 'Error: Import of ZIP files is not available on this server.', 'tablepress' ), 
     52            'error_import_zip_open' => __( 'Error: The ZIP file could not be opened.', 'tablepress' ), 
     53            'error_import_zip_content' => __( 'Error: The data in the ZIP file is invalid.', 'tablepress' ), 
     54            'error_import_no_replace_id' => __( 'Error: You selected to replace an existing table, but did not select a table.', 'tablepress' ), 
     55            'error_import_source_invalid' => __( 'Error: The source for the import is invalid or could not be accessed.', 'tablepress' ), 
     56            'error_import_data' => __( 'Error: The data for the import is invalid.', 'tablepress' ), 
     57            'error_wp_table_reloaded_nothing_selected' => __( 'Error: You did not select what to import from WP-Table Reloaded!', 'tablepress' ), 
     58            'error_wp_table_reloaded_not_installed' => __( 'Error: Existing WP-Table Reloaded tables were not found in the database.', 'tablepress' ), 
     59            'error_import_wp_table_reloaded'=> __( 'Error: The tables from WP-Table Reloaded could not be imported.', 'tablepress' ), 
     60            'error_wp_table_reloaded_dump_file' => __( 'Error: The WP-Table Reloaded Dump File could not be imported!', 'tablepress' ) 
    4861        ); 
    4962        if ( $data['message'] && isset( $this->action_messages[ $data['message'] ] ) ) { 
     
    5265        } 
    5366 
    54         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
    55         $this->add_meta_box( 'import-form', __( 'Import Tables', 'tablepress' ), array( &$this, 'postbox_import_form' ), 'normal' ); 
    56         $this->add_meta_box( 'import-wp-table-reloaded', __( 'Import from WP-Table Reloaded', 'tablepress' ), array( &$this, 'postbox_wp_table_reloaded_import' ), 'additional' ); 
     67        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
     68        $this->add_meta_box( 'import-form', __( 'Import Tables', 'tablepress' ), array( $this, 'postbox_import_form' ), 'normal' ); 
     69        $this->add_meta_box( 'import-wp-table-reloaded', __( 'Import from WP-Table Reloaded', 'tablepress' ), array( $this, 'postbox_wp_table_reloaded_import' ), 'additional' ); 
    5770    } 
    5871 
     
    188201    <?php _e( 'To import all tables from a WP-Table Reloaded installation, choose the relevant import source below.', 'tablepress' ); ?> 
    189202<br /> 
    190     <?php _e( 'If WP-Table Reloaded is installed on this site, the "WordPress database" option is recommended.', 'tablepress' ); ?> 
    191     <?php _e( 'If you want to import tables from another site, create a "WP-Table Reloaded Dump File" there and upload it below, after choosing "WP-Table Reloaded Dump File".', 'tablepress' ); ?> 
     203    <?php _e( 'If WP-Table Reloaded is installed on this site, the &#8220;WordPress database&#8221; option is recommended.', 'tablepress' ); ?> 
     204    <?php _e( 'If you want to import tables from another site, create a &#8220;WP-Table Reloaded Dump File&#8221; there and upload it below, after choosing &#8220;WP-Table Reloaded Dump File&#8221;.', 'tablepress' ); ?> 
    192205<br /> 
    193     <?php printf( __( 'Before doing this, it is highly recommended to read the <a href="%s" title"Migration Guide from WP-Table Reloaded to TablePress">migration guide</a> on the TablePress website.', 'tablepress' ), 'http://tablepress.org/migration-from-wp-table-reloaded/' ); ?> 
     206    <?php printf( __( 'Before doing this, it is highly recommended to read the <a href="%s" title="Migration Guide from WP-Table Reloaded to TablePress">migration guide</a> on the TablePress website.', 'tablepress' ), 'http://tablepress.org/migration-from-wp-table-reloaded/' ); ?> 
    194207</p> 
    195208<table class="tablepress-postbox-table fixed"> 
     
    218231    <tr class="bottom-border"> 
    219232        <th class="column-1" scope="row"><?php _e( 'Import styling', 'tablepress' ); ?>:</th> 
    220         <td class="column-2"><label for="import-wp-table-reloaded-css"> <input type="checkbox" id="import-wp-table-reloaded-css" name="import[wp_table_reloaded][css]" value="true" checked="checked" /> <?php _e( 'Try to automatically convert the "Custom CSS" code from the "Plugin Options" screen of WP-Table Reloaded.', 'tablepress' ); ?></label></td> 
     233        <td class="column-2"><label for="import-wp-table-reloaded-css"> <input type="checkbox" id="import-wp-table-reloaded-css" name="import[wp_table_reloaded][css]" value="true" checked="checked" /> <?php _e( 'Try to automatically convert the &#8220;Custom CSS&#8221; code from the &#8220;Plugin Options&#8221; screen of WP-Table Reloaded.', 'tablepress' ); ?></label></td> 
    221234    </tr> 
    222235    <tr class="top-border"> 
     
    245258    public function wp_pointer_tp100_wp_table_reloaded_import() { 
    246259        $content  = '<h3>' . __( 'TablePress Feature: Import from WP-Table Reloaded', 'tablepress' ) . '</h3>'; 
    247         $content .= '<p>' .  __( 'You can import your existing tables and "Custom CSS" from WP-Table Reloaded into TablePress.', 'tablepress' ) . '</p>'; 
     260        $content .= '<p>' .  __( 'You can import your existing tables and &#82210;Custom CSS&#8221; from WP-Table Reloaded into TablePress.', 'tablepress' ) . '</p>'; 
    248261 
    249262        $this->admin_page->print_wp_pointer_js( 'tp100_wp_table_reloaded_import', '#tablepress_import-import-wp-table-reloaded', array( 
  • tablepress/trunk/views/view-list.php

    r607623 r623199  
    5555                'shortcode_popup' => __( 'To embed this table into a post or page, use this Shortcode:', 'tablepress' ), 
    5656                'donation-message-already-donated' => __( 'Thank you very much! Your donation is highly appreciated. You just contributed to the further development of TablePress!', 'tablepress' ), 
    57                 'donation-message-maybe-later' => sprintf ( __( 'No problem! I still hope you enjoy the benefits that TablePress adds to your site. If you should change your mind, you\'ll always find the &quot;Donate&quot; button on the <a href="%s">TablePress website</a>.', 'tablepress' ), 'http://tablepress.org/' ), 
     57                'donation-message-maybe-later' => sprintf ( __( 'No problem! I still hope you enjoy the benefits that TablePress adds to your site. If you should change your mind, you\'ll always find the &#8220;Donate&#8221; button on the <a href="%s">TablePress website</a>.', 'tablepress' ), 'http://tablepress.org/' ), 
    5858            ) 
    5959        ) ); 
     
    6464                . __( 'Thank you for using TablePress for the first time!', 'tablepress' ) . ' ' 
    6565                . sprintf( __( 'If you encounter any questions or problems, please visit the <a href="%1$s">FAQ</a>, the <a href="%2$s">documentation</a>, and the <a href="%3$s">Support</a> section on the <a href="%4$s">plugin website</a>.', 'tablepress' ), 'http://tablepress.org/faq/', 'http://tablepress.org/documentation/', 'http://tablepress.org/support/', 'http://tablepress.org/' ) . '<br /><br />' 
    66                 . $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'first_visit', 'return' => 'list' ) , __( 'Hide this message', 'tablepress' ) ) 
     66                . $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'first_visit', 'return' => 'list' ), __( 'Hide this message', 'tablepress' ) ) 
    6767            ); 
    6868 
     
    8686                __( 'Sincerly, Tobias', 'tablepress' ) . '<br /><br />' . 
    8787                sprintf( '<a href="%s" target="_blank"><strong>%s</strong></a>', 'http://tablepress.org/donate/', __( 'Sure, I\'ll buy you a coffee and support TablePress!', 'tablepress' ) ) . '&nbsp;&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;&nbsp;&nbsp;' . 
    88                 $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'donation_nag', 'return' => 'list', 'target' => 'already-donated' ) , __( 'I already donated.', 'tablepress' ) ) . '&nbsp;&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;&nbsp;&nbsp;' . 
    89                 $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'donation_nag', 'return' => 'list', 'target' => 'maybe-later' ) , __( 'No, thanks. Don\'t ask again.', 'tablepress' ) ) 
     88                $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'donation_nag', 'return' => 'list', 'target' => 'already-donated' ), __( 'I already donated.', 'tablepress' ) ) . '&nbsp;&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;&nbsp;&nbsp;' . 
     89                $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'donation_nag', 'return' => 'list', 'target' => 'maybe-later' ), __( 'No, thanks. Don\'t ask again.', 'tablepress' ) ) 
    9090            ); 
    9191 
     
    9797                . sprintf( __( 'If you like the new features and enhancements, <a href="%s">giving a donation</a> towards the further support and development of TablePress is recommended. Thank you!', 'tablepress' ), 'http://tablepress.org/donate/' ) 
    9898                . '<br /><br />'; 
    99             $message .= $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'plugin_update', 'return' => 'list' ) , __( 'Hide this message', 'tablepress' ) ); 
     99            $message .= $this->ajax_link( array( 'action' => 'hide_message', 'item' => 'plugin_update', 'return' => 'list' ), __( 'Hide this message', 'tablepress' ) ); 
    100100            $this->add_header_message( $message ); 
    101101        } 
     
    105105            'success_delete_plural' => _n( 'The table was deleted successfully.', 'The tables were deleted successfully.', 2, 'tablepress' ), 
    106106            'error_delete' => __( 'Error: The table could not be deleted.', 'tablepress' ), 
     107            'error_save' => __( 'Error: The table could not be saved.', 'tablepress' ), 
    107108            'success_copy' => _n( 'The table was copied successfully.', 'The tables were copied successfully.', 1, 'tablepress' ), 
    108109            'success_copy_plural' => _n( 'The table was copied successfully.', 'The tables were copied successfully.', 2, 'tablepress' ), 
     
    113114            'error_no_selection' => __( 'Error: You did not select any tables!', 'tablepress' ), 
    114115            'error_delete_not_all_tables' => __( 'Notice: Not all selected tables could be deleted!', 'tablepress' ), 
    115             'error_copy_not_all_tables' => __( 'Notice: Not all selected tables could be copied!', 'tablepress' ) 
     116            'error_copy_not_all_tables' => __( 'Notice: Not all selected tables could be copied!', 'tablepress' ), 
     117            'success_import' => __( 'The tables were imported successfully.', 'tablepress' ), 
     118            'success_import_wp_table_reloaded' => __( 'The tables were imported successfully from WP-Table Reloaded.', 'tablepress' ) 
    116119        ); 
    117120        if ( $data['message'] && isset( $this->action_messages[ $data['message'] ] ) ) { 
     
    120123        } 
    121124 
    122         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
    123         $this->add_text_box( 'tables-list', array( &$this, 'textbox_tables_list' ), 'normal' ); 
     125        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
     126        $this->add_text_box( 'tables-list', array( $this, 'textbox_tables_list' ), 'normal' ); 
    124127 
    125128        add_screen_option( 'per_page', array( 'label' => __( 'Tables', 'tablepress' ), 'default' => 20 ) ); // Admin_Controller contains function to allow changes to this in the Screen Options to be saved 
     
    193196            <?php printf( __( 'To insert a table into a page, post, or text widget, copy its Shortcode %s and paste it at the desired place in the editor.', 'tablepress' ), '<input type="text" class="table-shortcode table-shortcode-inline" value="[' . TablePress::$shortcode . ' id=&lt;ID&gt; /]" readonly="readonly" />' ); ?> 
    194197            <?php _e( 'Each table has a unique ID that needs to be adjusted in that Shortcode.', 'tablepress' ); ?> 
    195             <?php printf( __( 'You can also click the &quot;%s&quot; button in the editor toolbar to select and insert a table.', 'tablepress' ), __( 'Table', 'tablepress' ) ); ?> 
     198            <?php printf( __( 'You can also click the &#8220;%s&#8221; button in the editor toolbar to select and insert a table.', 'tablepress' ), __( 'Table', 'tablepress' ) ); ?> 
    196199        </p> 
    197200        <?php 
     
    508511 
    509512        echo "<select name='$name_id' id='$name_id'>\n"; 
    510         echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n"; 
     513        echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions', 'default' ) . "</option>\n"; 
    511514        foreach ( $this->_actions as $name => $title ) { 
    512515            echo "\t<option value='$name'$>$title</option>\n"; 
    513516        } 
    514517        echo "</select>\n"; 
    515         echo '<input type="submit" name="" id="doaction' . $two . '" class="button action" value="' . __( 'Apply', 'tablepress' ) . '" />' . "\n"; 
     518        echo '<input type="submit" name="" id="doaction' . $two . '" class="button action" value="' . __( 'Apply', 'default' ) . '" />' . "\n"; 
    516519    } 
    517520 
     
    624627        // Maybe search in the items 
    625628        if ( $s ) 
    626             $this->items = array_filter( $this->items, array( &$this, '_search_callback' ) ); 
     629            $this->items = array_filter( $this->items, array( $this, '_search_callback' ) ); 
    627630 
    628631        // Maybe sort the items 
    629632        $_sortable_columns = $this->get_sortable_columns(); 
    630633        if ( $orderby && ! empty( $this->items ) && isset( $_sortable_columns["table_{$orderby}"] ) ) 
    631             usort( $this->items, array( &$this, '_order_callback' ) ); 
     634            usort( $this->items, array( $this, '_order_callback' ) ); 
    632635 
    633636        // number of records to show per page 
  • tablepress/trunk/views/view-options.php

    r607623 r623199  
    4747        $action_messages = array( 
    4848            'success_save' => __( 'Options saved successfully.', 'tablepress' ), 
    49             'success_save_error_custom_css' => __( 'Options saved successfully, but &quot;Custom CSS&quot; was not saved to file.', 'tablepress' ), 
    50             'error_save' => __( 'Error: Options could not be saved.', 'tablepress' ) 
     49            'success_save_error_custom_css' => __( 'Options saved successfully, but &#8220;Custom CSS&#8221; was not saved to file.', 'tablepress' ), 
     50            'error_save' => __( 'Error: Options could not be saved.', 'tablepress' ), 
     51            'success_import_wp_table_reloaded' => __( 'The WP-Table Reloaded &#8220;Custom CSS&#8221; was imported successfully.', 'tablepress' ) 
    5152        ); 
    5253        if ( $data['message'] && isset( $action_messages[ $data['message'] ] ) ) { 
     
    5556        } 
    5657 
    57         $this->add_text_box( 'head', array( &$this, 'textbox_head' ), 'normal' ); 
    58         $this->add_meta_box( 'frontend-options', __( 'Frontend Options', 'tablepress' ), array( &$this, 'postbox_frontend_options' ), 'normal' ); 
    59         $this->add_meta_box( 'user-options', __( 'User Options', 'tablepress' ), array( &$this, 'postbox_user_options' ), 'normal' ); 
     58        $this->add_text_box( 'head', array( $this, 'textbox_head' ), 'normal' ); 
     59        $this->add_meta_box( 'frontend-options', __( 'Frontend Options', 'tablepress' ), array( $this, 'postbox_frontend_options' ), 'normal' ); 
     60        $this->add_meta_box( 'user-options', __( 'User Options', 'tablepress' ), array( $this, 'postbox_user_options' ), 'normal' ); 
    6061        $this->data['submit_button_caption'] = __( 'Save Changes', 'tablepress' ); 
    61         $this->add_text_box( 'submit', array( &$this, 'textbox_submit_button' ), 'submit' ); 
     62        $this->add_text_box( 'submit', array( $this, 'textbox_submit_button' ), 'submit' ); 
    6263    } 
    6364 
     
    7071        ?> 
    7172        <p> 
    72             <?php _e( 'TablePress has several options which affect the plugin\'s behavior in different areas.', 'tablepress' ); ?> 
     73            <?php _e( 'TablePress has several options which affect the plugin&#8217;s behavior in different areas.', 'tablepress' ); ?> 
    7374        </p> 
    7475        <p> 
     
    9697    <tr class="top-border"> 
    9798        <th class="column-1" scope="row"><?php _e( 'Custom CSS', 'tablepress' ); ?>:</th> 
    98         <td class="column-2"><label for="option-use-custom-css"><input type="checkbox" id="option-use-custom-css" name="options[use_custom_css]" value="true"<?php checked( $data['frontend_options']['use_custom_css'] ); ?> /> <?php _e( 'Load these "Custom CSS" commands to influence the table styling:', 'tablepress' ); ?></label> 
     99        <td class="column-2"><label for="option-use-custom-css"><input type="checkbox" id="option-use-custom-css" name="options[use_custom_css]" value="true"<?php checked( $data['frontend_options']['use_custom_css'] ); ?> /> <?php _e( 'Load these &#8220;Custom CSS&#8221; commands to influence the table styling:', 'tablepress' ); ?></label> 
    99100        </td> 
    100101    </tr> 
     
    104105            <textarea name="options[custom_css]" id="option-custom-css" class="large-text" rows="8"><?php echo esc_textarea( $data['frontend_options']['custom_css'] ); ?></textarea> 
    105106            <p class="description"><?php 
    106                 _e( sprintf( '"Custom CSS" (<a href="%s">Cascading Style Sheets</a>) can be used to change the styling or layout of a table.', 'http://www.htmldog.com/guides/cssbeginner/' ), 'tablepress' ); 
     107                _e( sprintf( '&#8220;Custom CSS&#8221; (<a href="%s">Cascading Style Sheets</a>) can be used to change the styling or layout of a table.', 'http://www.htmldog.com/guides/cssbeginner/' ), 'tablepress' ); 
    107108                echo ' '; 
    108109                _e( sprintf( 'You can get styling examples from the <a href="%s">FAQ</a>.', 'http://tablepress.org/faq/' ), 'tablepress' ); 
     
    110111                _e( sprintf( 'Information on available CSS selectors can be found in the <a href="%s">documentation</a>.', 'http://tablepress.org/documentation/' ), 'tablepress' ); 
    111112            ?></p> 
    112             <label for="option-use-custom-css-file"><input type="checkbox" id="option-use-custom-css-file" name="options[use_custom_css_file]" value="true"<?php checked( $data['frontend_options']['use_custom_css_file'] ); ?> /> <?php _e( 'Use a file for storing and loading the "Custom CSS" code.', 'tablepress' ); ?> <?php _e( '<span class="description">(recommended)</span>', 'tablepress' ); ?></label><br /> 
     113            <label for="option-use-custom-css-file"><input type="checkbox" id="option-use-custom-css-file" name="options[use_custom_css_file]" value="true"<?php checked( $data['frontend_options']['use_custom_css_file'] ); ?> /> <?php _e( 'Use a file for storing and loading the &#8220;Custom CSS&#8221; code.', 'tablepress' ); ?> <?php _e( '<span class="description">(recommended)</span>', 'tablepress' ); ?></label><br /> 
    113114            <input type="checkbox" style="visibility: hidden;" <?php // Dummy checkbox for space alignment ?>/> <?php echo content_url( 'tablepress-custom.css' ) . ' ' . ( ( $data['frontend_options']['custom_css_file_exists'] ) ? '(File exists.)' : '(File seems not to exist.)' ); ?> 
    114115        </td> 
     
    192193    public function wp_pointer_tp100_custom_css() { 
    193194        $content  = '<h3>' . __( 'TablePress Feature: Custom CSS', 'tablepress' ) . '</h3>'; 
    194         $content .= '<p>' .  __( 'This is the "Custom CSS" textarea where CSS code for table styling should be entered.', 'tablepress' ) . '</p>'; 
     195        $content .= '<p>' .  __( 'This is the &#8220;Custom CSS&#8221; textarea where CSS code for table styling should be entered.', 'tablepress' ) . '</p>'; 
    195196 
    196197        $this->admin_page->print_wp_pointer_js( 'tp100_custom_css', '.CodeMirror', array( 
  • tablepress/trunk/views/view-options_custom_css.php

    r607623 r623199  
    3636        $GLOBALS['title'] = sprintf( __( '%1$s &lsaquo; %2$s', 'tablepress' ), $this->data['view_actions'][ $this->action ]['page_title'], 'TablePress' ); 
    3737 
    38         $this->add_header_message( '<strong>' . __( 'Attention: Further action is required to save the changes to your &quot;Custom CSS&quot;!', 'tablepress' ) . '</strong>', 'updated' ); 
     38        $this->add_header_message( '<strong>' . __( 'Attention: Further action is required to save the changes to your &#8220;Custom CSS&#8221;!', 'tablepress' ) . '</strong>', 'updated' ); 
    3939 
    4040        // admin page helpers, like script/style loading, could be moved to view 
     
    4444        $this->admin_page->add_admin_footer_text(); 
    4545 
    46         $this->add_text_box( 'explanation-text', array( &$this, 'textbox_explanation_text' ), 'normal' ); 
    47         $this->add_text_box( 'credentials-form', array( &$this, 'textbox_credentials_form' ), 'normal' ); 
    48         $this->add_text_box( 'proceed-no-file-saving', array( &$this, 'textbox_proceed_no_file_saving' ), 'submit' ); 
     46        $this->add_text_box( 'explanation-text', array( $this, 'textbox_explanation_text' ), 'normal' ); 
     47        $this->add_text_box( 'credentials-form', array( $this, 'textbox_credentials_form' ), 'normal' ); 
     48        $this->add_text_box( 'proceed-no-file-saving', array( $this, 'textbox_proceed_no_file_saving' ), 'submit' ); 
    4949    } 
    5050 
     
    103103        ?> 
    104104        <p> 
    105             <?php _e( 'Due to the configuration of your server, TablePress was not able to automatically save your &quot;Custom CSS&quot; to a file.', 'tablepress' ); ?> 
    106             <?php printf( __( 'To try again with the same method that you use for updating plugins or themes, please fill out the &quot;%s&quot; form below.', 'tablepress' ), __( 'Connection Information', 'default' ) ); ?> 
     105            <?php _e( 'Due to the configuration of your server, TablePress was not able to automatically save your &#8220;Custom CSS&#8221; to a file.', 'tablepress' ); ?> 
     106            <?php printf( __( 'To try again with the same method that you use for updating plugins or themes, please fill out the &#8220;%s&#8221; form below.', 'tablepress' ), __( 'Connection Information', 'default' ) ); ?> 
    107107        </p> 
    108108        <?php 
     
    127127        <h2><?php _e( 'Proceed without saving a file', 'tablepress' ) ?></h2> 
    128128        <p> 
    129             <?php _e( 'To proceed without trying to save the &quot;Custom CSS&quot; to a file, click the button below.', 'tablepress' ); ?> 
    130             <?php _e( 'Your &quot;Custom CSS&quot; will then be loaded inline.', 'tablepress' ); ?> 
     129            <?php _e( 'To proceed without trying to save the &#8220;Custom CSS&#8221; to a file, click the button below.', 'tablepress' ); ?> 
     130            <?php _e( 'Your &#8220;Custom CSS&#8221; will then be loaded inline.', 'tablepress' ); ?> 
    131131        </p><p> 
    132             <a href="<?php echo TablePress::url( array( 'action' => 'options', 'message' => 'success_save_error_custom_css' ) ); ?>" class="button button-large"><?php _e( 'Proceed without saving &quot;Custom CSS&quot; to a file', 'tablepress' ); ?></a> 
     132            <a href="<?php echo TablePress::url( array( 'action' => 'options', 'message' => 'success_save_error_custom_css' ) ); ?>" class="button button-large"><?php _e( 'Proceed without saving &#8220;Custom CSS&#8221; to a file', 'tablepress' ); ?></a> 
    133133        </p> 
    134134        <?php 
Note: See TracChangeset for help on using the changeset viewer.