8461 lines
732 KiB
JavaScript
8461 lines
732 KiB
JavaScript
/*! jQuery v1.7.2 jquery.com | jquery.org/license */
|
||
|
||
(function(a,b){function c(a){return J.isWindow(a)?a
|
||
:a.nodeType===9?a.defaultView||a.parentWindow:!1}function d
|
||
(a){if(!co[a]){var b=G.body,c=J("<"+a+">").appendTo
|
||
(b),d=c.css("display");c.remove();if(d==="none"||d===""
|
||
){cp||(cp=G.createElement("iframe"),cp.frameBorder=
|
||
cp.width=cp.height=0),b.appendChild(cp);if(!cq||!cp
|
||
.createElement)cq=(cp.contentWindow||cp.contentDocument
|
||
).document,cq.write((J.support.boxModel?"<!doctype html>"
|
||
:"")+"<html><body>"),cq.close();c=cq.createElement(
|
||
a),cq.body.appendChild(c),d=J.css(c,"display"),b.removeChild
|
||
(cp)}co[a]=d}return co[a]}function e(a,b){var c={};
|
||
return J.each(cu.concat.apply([],cu.slice(0,b)),function(
|
||
){c[this]=a}),c}function f(){cv=b}function g(){return setTimeout
|
||
(f,0),cv=J.now()}function h(){try{return new a.ActiveXObject
|
||
("Microsoft.XMLHTTP")}catch(b){}}function i(){try{return new
|
||
a.XMLHttpRequest}catch(b){}}function j(a,c){a.dataFilter&&
|
||
(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e=
|
||
{},f,g,h=d.length,i,j=d[0],k,l,m,n,o;for(f=1;f<h;f++
|
||
){if(f===1)for(g in a.converters)typeof g=="string"&&
|
||
(e[g.toLowerCase()]=a.converters[g]);k=j,j=d[f];if(
|
||
j==="*")j=k;else if(k!=="*"&&k!==j){l=k+" "+j,m=e[l
|
||
]||e["* "+j];if(!m){o=b;for(n in e){i=n.split(" ");
|
||
if(i[0]===k||i[0]==="*"){o=e[i[1]+" "+j];if(o){n=e[
|
||
n],n===!0?m=o:o===!0&&(m=n);break}}}}!m&&!o&&J.error
|
||
("No conversion from "+l.replace(" "," to ")),m!==!0&&
|
||
(c=m?m(c):o(n(c)))}}return c}function k(a,c,d){var e=
|
||
a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k
|
||
;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*"
|
||
)f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader
|
||
("content-type"));if(h)for(i in e)if(e[i]&&e[i].test
|
||
(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(
|
||
i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}
|
||
k||(k=i)}j=j||k}if(j)return j!==f[0]&&f.unshift(j),
|
||
d[j]}function l(a,b,c,d){if(J.isArray(b))J.each(b,function(
|
||
b,e){c||bQ.test(a)?d(a,e):l(a+"["+(typeof e=="object"?
|
||
b:"")+"]",e,c,d)});else if(!c&&J.type(b)==="object"
|
||
)for(var e in b)l(a+"["+e+"]",b[e],c,d);else d(a,b)
|
||
}function m(a,c){var d,e,f=J.ajaxSettings.flatOptions||
|
||
{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]
|
||
);e&&J.extend(!0,a,e)}function n(a,c,d,e,f,g){f=f||
|
||
c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h
|
||
.length:0,k=a===cd,l;for(;i<j&&(k||!l);i++)l=h[i](c
|
||
,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes
|
||
.unshift(l),l=n(a,c,d,e,l,g)));return(k||!l)&&!g["*"
|
||
]&&(l=n(a,c,d,e,"*",g)),l}function o(a){return function(
|
||
b,c){typeof b!="string"&&(c=b,b="*");if(J.isFunction
|
||
(c)){var d=b.toLowerCase().split(b_),e=0,f=d.length
|
||
,g,h,i;for(;e<f;e++)g=d[e],i=/^\+/.test(g),i&&(g=g.
|
||
substr(1)||"*"),h=a[g]=a[g]||[],h[i?"unshift":"push"
|
||
](c)}}}function p(a,b,c){var d=b==="width"?a.offsetWidth
|
||
:a.offsetHeight,e=b==="width"?1:0,f=4;if(d>0){if(c!=="border"
|
||
)for(;e<f;e+=2)c||(d-=parseFloat(J.css(a,"padding"+
|
||
bL[e]))||0),c==="margin"?d+=parseFloat(J.css(a,c+bL
|
||
[e]))||0:d-=parseFloat(J.css(a,"border"+bL[e]+"Width"
|
||
))||0;return d+"px"}d=bM(a,b);if(d<0||d==null)d=a.style
|
||
[b];if(bH.test(d))return d;d=parseFloat(d)||0;if(c)
|
||
for(;e<f;e+=2)d+=parseFloat(J.css(a,"padding"+bL[e]
|
||
))||0,c!=="padding"&&(d+=parseFloat(J.css(a,"border"+
|
||
bL[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(J.
|
||
css(a,c+bL[e]))||0);return d+"px"}function q(a){var b=
|
||
G.createElement("div");return bC.appendChild(b),b.innerHTML=
|
||
a.outerHTML,b.firstChild}function r(a){var b=(a.nodeName||""
|
||
).toLowerCase();b==="input"?s(a):b!=="script"&&typeof
|
||
a.getElementsByTagName!="undefined"&&J.grep(a.getElementsByTagName
|
||
("input"),s)}function s(a){if(a.type==="checkbox"||
|
||
a.type==="radio")a.defaultChecked=a.checked}function t
|
||
(a){return typeof a.getElementsByTagName!="undefined"?
|
||
a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?
|
||
a.querySelectorAll("*"):[]}function u(a,b){var c;b.
|
||
nodeType===1&&(b.clearAttributes&&b.clearAttributes
|
||
(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName
|
||
.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML
|
||
:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?
|
||
c==="option"?b.selected=a.defaultSelected:c==="input"||
|
||
c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&
|
||
b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=
|
||
b.checked=a.checked),b.value!==a.value&&(b.value=a.
|
||
value)),b.removeAttribute(J.expando),b.removeAttribute
|
||
("_submit_attached"),b.removeAttribute("_change_attached"
|
||
))}function v(a,b){if(b.nodeType===1&&!!J.hasData(a
|
||
)){var c,d,e,f=J._data(a),g=J._data(b,f),h=f.events
|
||
;if(h){delete g.handle,g.events={};for(c in h)for(d=0
|
||
,e=h[c].length;d<e;d++)J.event.add(b,c,h[c][d])}g.data&&
|
||
(g.data=J.extend({},g.data))}}function w(a,b){return J
|
||
.nodeName(a,"table")?a.getElementsByTagName("tbody"
|
||
)[0]||a.appendChild(a.ownerDocument.createElement("tbody"
|
||
)):a}function x(a){var b=bo.split("|"),c=a.createDocumentFragment
|
||
();if(c.createElement)while(b.length)c.createElement
|
||
(b.pop());return c}function y(a,b,c){b=b||0;if(J.isFunction
|
||
(b))return J.grep(a,function(a,d){var e=!!b.call(a,
|
||
d,a);return e===c});if(b.nodeType)return J.grep(a,function(
|
||
a,d){return a===b===c});if(typeof b=="string"){var d=
|
||
J.grep(a,function(a){return a.nodeType===1});if(bk.
|
||
test(b))return J.filter(b,d,!c);b=J.filter(b,d)}return J
|
||
.grep(a,function(a,d){return J.inArray(a,b)>=0===c}
|
||
)}function z(a){return!a||!a.parentNode||a.parentNode
|
||
.nodeType===11}function A(){return!0}function B(){return!1
|
||
}function C(a,b,c){var d=b+"defer",e=b+"queue",f=b+"mark"
|
||
,g=J._data(a,d);g&&(c==="queue"||!J._data(a,e))&&(c==="mark"||!
|
||
J._data(a,f))&&setTimeout(function(){!J._data(a,e)&&!
|
||
J._data(a,f)&&(J.removeData(a,d,!0),g.fire())},0)}function D
|
||
(a){for(var b in a){if(b==="data"&&J.isEmptyObject(
|
||
a[b]))continue;if(b!=="toJSON")return!1}return!0}function E
|
||
(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace
|
||
(N,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof
|
||
d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?
|
||
null:J.isNumeric(d)?+d:M.test(d)?J.parseJSON(d):d}catch(
|
||
f){}J.data(a,c,d)}else d=b}return d}function F(a){var b=
|
||
K[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d
|
||
;c++)b[a[c]]=!0;return b}var G=a.document,H=a.navigator
|
||
,I=a.location,J=function(){function c(){if(!d.isReady
|
||
){try{G.documentElement.doScroll("left")}catch(a){setTimeout
|
||
(c,1);return}d.ready()}}var d=function(a,b){return new
|
||
d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/
|
||
,i=/\S/,j=/^\s+/,k=/\s+$/,l=/^<(\w+)\s*\/?>(?:<\/\1>)?$/
|
||
,m=/^[\],:{}\s]*$/,n=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g
|
||
,o=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g
|
||
,p=/(?:^|:|,)(?:\s*\[)+/g,q=/(webkit)[ \/]([\w.]+)/
|
||
,r=/(opera)(?:.*version)?[ \/]([\w.]+)/,s=/(msie) ([\w.]+)/
|
||
,t=/(mozilla)(?:.*? rv:([\w.]+))?/,u=/-([a-z]|[0-9])/ig
|
||
,v=/^-ms-/,w=function(a,b){return(b+"").toUpperCase
|
||
()},x=H.userAgent,y,z,A,B=Object.prototype.toString
|
||
,C=Object.prototype.hasOwnProperty,D=Array.prototype
|
||
.push,E=Array.prototype.slice,F=String.prototype.trim
|
||
,I=Array.prototype.indexOf,J={};return d.fn=d.prototype=
|
||
{constructor:d,init:function(a,c,e){var f,g,i,j;if(!
|
||
a)return this;if(a.nodeType)return this.context=this
|
||
[0]=a,this.length=1,this;if(a==="body"&&!c&&G.body)
|
||
return this.context=G,this[0]=G.body,this.selector=
|
||
a,this.length=1,this;if(typeof a=="string"){a.charAt
|
||
(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?f=
|
||
h.exec(a):f=[null,a,null];if(f&&(f[1]||!c)){if(f[1]
|
||
)return c=c instanceof d?c[0]:c,j=c?c.ownerDocument||
|
||
c:G,i=l.exec(a),i?d.isPlainObject(c)?(a=[G.createElement
|
||
(i[1])],d.fn.attr.call(a,c,!0)):a=[j.createElement(
|
||
i[1])]:(i=d.buildFragment([f[1]],[j]),a=(i.cacheable?
|
||
d.clone(i.fragment):i.fragment).childNodes),d.merge
|
||
(this,a);g=G.getElementById(f[2]);if(g&&g.parentNode
|
||
){if(g.id!==f[2])return e.find(a);this.length=1,this
|
||
[0]=g}return this.context=G,this.selector=a,this}return!
|
||
c||c.jquery?(c||e).find(a):this.constructor(c).find
|
||
(a)}return d.isFunction(a)?e.ready(a):(a.selector!==
|
||
b&&(this.selector=a.selector,this.context=a.context
|
||
),d.makeArray(a,this))},selector:"",jquery:"1.7.2",
|
||
length:0,size:function(){return this.length},toArray
|
||
:function(){return E.call(this,0)},get:function(a){
|
||
return a==null?this.toArray():a<0?this[this.length+
|
||
a]:this[a]},pushStack:function(a,b,c){var e=this.constructor
|
||
();return d.isArray(a)?D.apply(e,a):d.merge(e,a),e.
|
||
prevObject=this,e.context=this.context,b==="find"?e
|
||
.selector=this.selector+(this.selector?" ":"")+c:b&&
|
||
(e.selector=this.selector+"."+b+"("+c+")"),e},each:
|
||
function(a,b){return d.each(this,a,b)},ready:function(
|
||
a){return d.bindReady(),z.add(a),this},eq:function(
|
||
a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1
|
||
)},first:function(){return this.eq(0)},last:function(
|
||
){return this.eq(-1)},slice:function(){return this.
|
||
pushStack(E.apply(this,arguments),"slice",E.call(arguments
|
||
).join(","))},map:function(a){return this.pushStack
|
||
(d.map(this,function(b,c){return a.call(b,c,b)}))},
|
||
end:function(){return this.prevObject||this.constructor
|
||
(null)},push:D,sort:[].sort,splice:[].splice},d.fn.
|
||
init.prototype=d.fn,d.extend=d.fn.extend=function()
|
||
{var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments
|
||
.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1
|
||
]||{},j=2),typeof i!="object"&&!d.isFunction(i)&&(i=
|
||
{}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments
|
||
[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;
|
||
l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1
|
||
,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:
|
||
{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},
|
||
d.extend({noConflict:function(b){return a.$===d&&(a
|
||
.$=f),b&&a.jQuery===d&&(a.jQuery=e),d},isReady:!1,readyWait
|
||
:1,holdReady:function(a){a?d.readyWait++:d.ready(!0
|
||
)},ready:function(a){if(a===!0&&!--d.readyWait||a!==!0&&!
|
||
d.isReady){if(!G.body)return setTimeout(d.ready,1);
|
||
d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;z.fireWith
|
||
(G,[d]),d.fn.trigger&&d(G).trigger("ready").off("ready"
|
||
)}},bindReady:function(){if(!z){z=d.Callbacks("once memory"
|
||
);if(G.readyState==="complete")return setTimeout(d.
|
||
ready,1);if(G.addEventListener)G.addEventListener("DOMContentLoaded"
|
||
,A,!1),a.addEventListener("load",d.ready,!1);else if(
|
||
G.attachEvent){G.attachEvent("onreadystatechange",A
|
||
),a.attachEvent("onload",d.ready);var b=!1;try{b=a.
|
||
frameElement==null}catch(e){}G.documentElement.doScroll&&
|
||
b&&c()}}},isFunction:function(a){return d.type(a)==="function"
|
||
},isArray:Array.isArray||function(a){return d.type(
|
||
a)==="array"},isWindow:function(a){return a!=null&&
|
||
a==a.window},isNumeric:function(a){return!isNaN(parseFloat
|
||
(a))&&isFinite(a)},type:function(a){return a==null?
|
||
String(a):J[B.call(a)]||"object"},isPlainObject:function(
|
||
a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow
|
||
(a))return!1;try{if(a.constructor&&!C.call(a,"constructor"
|
||
)&&!C.call(a.constructor.prototype,"isPrototypeOf")
|
||
)return!1}catch(c){return!1}var e;for(e in a);return e===
|
||
b||C.call(a,e)},isEmptyObject:function(a){for(var b in
|
||
a)return!1;return!0},error:function(a){throw new Error
|
||
(a)},parseJSON:function(b){if(typeof b!="string"||!
|
||
b)return null;b=d.trim(b);if(a.JSON&&a.JSON.parse)return a
|
||
.JSON.parse(b);if(m.test(b.replace(n,"@").replace(o
|
||
,"]").replace(p,"")))return(new Function("return "+
|
||
b))();d.error("Invalid JSON: "+b)},parseXML:function(
|
||
c){if(typeof c!="string"||!c)return null;var e,f;try{
|
||
a.DOMParser?(f=new DOMParser,e=f.parseFromString(c,"text/xml"
|
||
)):(e=new ActiveXObject("Microsoft.XMLDOM"),e.async="false"
|
||
,e.loadXML(c))}catch(g){e=b}return(!e||!e.documentElement||
|
||
e.getElementsByTagName("parsererror").length)&&d.error
|
||
("Invalid XML: "+c),e},noop:function(){},globalEval
|
||
:function(b){b&&i.test(b)&&(a.execScript||function(
|
||
b){a.eval.call(a,b)})(b)},camelCase:function(a){return a
|
||
.replace(v,"ms-").replace(u,w)},nodeName:function(a
|
||
,b){return a.nodeName&&a.nodeName.toUpperCase()===b
|
||
.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.
|
||
length,i=h===b||d.isFunction(a);if(e){if(i){for(f in
|
||
a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c
|
||
.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(
|
||
c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.
|
||
call(a[g],g,a[g++])===!1)break;return a},trim:F?function(
|
||
a){return a==null?"":F.call(a)}:function(a){return a==
|
||
null?"":(a+"").replace(j,"").replace(k,"")},makeArray
|
||
:function(a,b){var c=b||[];if(a!=null){var e=d.type
|
||
(a);a.length==null||e==="string"||e==="function"||e==="regexp"||
|
||
d.isWindow(a)?D.call(c,a):d.merge(c,a)}return c},inArray
|
||
:function(a,b,c){var d;if(b){if(I)return I.call(b,a
|
||
,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d
|
||
;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(
|
||
a,c){var d=a.length,e=0;if(typeof c.length=="number"
|
||
)for(var f=c.length;e<f;e++)a[d++]=c[e];else while(
|
||
c[e]!==b)a[d++]=c[e++];return a.length=d,a},grep:function(
|
||
a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;
|
||
f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map
|
||
:function(a,c,e){var f,g,h=[],i=0,j=a.length,k=a instanceof
|
||
d||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||
|
||
d.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,e),f!=null&&
|
||
(h[h.length]=f);else for(g in a)f=c(a[g],g,e),f!=null&&
|
||
(h[h.length]=f);return h.concat.apply([],h)},guid:1
|
||
,proxy:function(a,c){if(typeof c=="string"){var e=a
|
||
[c];c=a,a=e}if(!d.isFunction(a))return b;var f=E.call
|
||
(arguments,2),g=function(){return a.apply(c,f.concat
|
||
(E.call(arguments)))};return g.guid=a.guid=a.guid||
|
||
g.guid||d.guid++,g},access:function(a,c,e,f,g,h,i){
|
||
var j,k=e==null,l=0,m=a.length;if(e&&typeof e=="object"
|
||
){for(l in e)d.access(a,c,l,e[l],1,h,f);g=1}else if(
|
||
f!==b){j=i===b&&d.isFunction(f),k&&(j?(j=c,c=function(
|
||
a,b,c){return j.call(d(a),c)}):(c.call(a,f),c=null)
|
||
);if(c)for(;l<m;l++)c(a[l],e,j?f.call(a[l],l,c(a[l]
|
||
,e)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],e):h}
|
||
,now:function(){return(new Date).getTime()},uaMatch
|
||
:function(a){a=a.toLowerCase();var b=q.exec(a)||r.exec
|
||
(a)||s.exec(a)||a.indexOf("compatible")<0&&t.exec(a
|
||
)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub
|
||
:function(){function a(b,c){return new a.fn.init(b,
|
||
c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=
|
||
this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=
|
||
function(c,e){return e&&e instanceof d&&!(e instanceof
|
||
a)&&(e=a(e)),d.fn.init.call(this,c,e,b)},a.fn.init.
|
||
prototype=a.fn;var b=a(G);return a},browser:{}}),d.
|
||
each("Boolean Number String Function Array Date RegExp Object"
|
||
.split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase
|
||
()}),y=d.uaMatch(x),y.browser&&(d.browser[y.browser
|
||
]=!0,d.browser.version=y.version),d.browser.webkit&&
|
||
(d.browser.safari=!0),i.test(" ")&&(j=/^[\s\xA0]+/,
|
||
k=/[\s\xA0]+$/),g=d(G),G.addEventListener?A=function(
|
||
){G.removeEventListener("DOMContentLoaded",A,!1),d.
|
||
ready()}:G.attachEvent&&(A=function(){G.readyState==="complete"&&
|
||
(G.detachEvent("onreadystatechange",A),d.ready())})
|
||
,d}(),K={};J.Callbacks=function(a){a=a?K[a]||F(a):{
|
||
};var c=[],d=[],e,f,g,h,i,j,k=function(b){var d,e,f
|
||
,g,h;for(d=0,e=b.length;d<e;d++)f=b[d],g=J.type(f),
|
||
g==="array"?k(f):g==="function"&&(!a.unique||!m.has
|
||
(f))&&c.push(f)},l=function(b,k){k=k||[],e=!a.memory||
|
||
[b,k],f=!0,g=!0,j=h||0,h=0,i=c.length;for(;c&&j<i;j++
|
||
)if(c[j].apply(b,k)===!1&&a.stopOnFalse){e=!0;break}
|
||
g=!1,c&&(a.once?e===!0?m.disable():c=[]:d&&d.length&&
|
||
(e=d.shift(),m.fireWith(e[0],e[1])))},m={add:function(
|
||
){if(c){var a=c.length;k(arguments),g?i=c.length:e&&
|
||
e!==!0&&(h=a,l(e[0],e[1]))}return this},remove:function(
|
||
){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++
|
||
)for(var f=0;f<c.length;f++)if(b[d]===c[f]){g&&f<=i&&
|
||
(i--,f<=j&&j--),c.splice(f--,1);if(a.unique)break}}
|
||
return this},has:function(a){if(c){var b=0,d=c.length
|
||
;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:
|
||
function(){return c=[],this},disable:function(){return c=
|
||
d=e=b,this},disabled:function(){return!c},lock:function(
|
||
){return d=b,(!e||e===!0)&&m.disable(),this},locked
|
||
:function(){return!d},fireWith:function(b,c){return d&&
|
||
(g?a.once||d.push([b,c]):(!a.once||!e)&&l(b,c)),this
|
||
},fire:function(){return m.fireWith(this,arguments)
|
||
,this},fired:function(){return!!f}};return m};var L=
|
||
[].slice;J.extend({Deferred:function(a){var b=J.Callbacks
|
||
("once memory"),c=J.Callbacks("once memory"),d=J.Callbacks
|
||
("memory"),e="pending",f={resolve:b,reject:c,notify
|
||
:d},g={done:b.add,fail:c.add,progress:d.add,state:function(
|
||
){return e},isResolved:b.fired,isRejected:c.fired,then
|
||
:function(a,b,c){return h.done(a).fail(b).progress(
|
||
c),this},always:function(){return h.done.apply(h,arguments
|
||
).fail.apply(h,arguments),this},pipe:function(a,b,c
|
||
){return J.Deferred(function(d){J.each({done:[a,"resolve"
|
||
],fail:[b,"reject"],progress:[c,"notify"]},function(
|
||
a,b){var c=b[0],e=b[1],f;J.isFunction(c)?h[a](function(
|
||
){f=c.apply(this,arguments),f&&J.isFunction(f.promise
|
||
)?f.promise().then(d.resolve,d.reject,d.notify):d[e+"With"
|
||
](this===h?d:this,[f])}):h[a](d[e])})}).promise()},
|
||
promise:function(a){if(a==null)a=g;else for(var b in
|
||
g)a[b]=g[b];return a}},h=g.promise({}),i;for(i in f
|
||
)h[i]=f[i].fire,h[i+"With"]=f[i].fireWith;return h.
|
||
done(function(){e="resolved"},c.disable,d.lock).fail
|
||
(function(){e="rejected"},b.disable,d.lock),a&&a.call
|
||
(h,h),h},when:function(a){function b(a){return function(
|
||
b){g[a]=arguments.length>1?L.call(arguments,0):b,j.
|
||
notifyWith(k,g)}}function c(a){return function(b){d
|
||
[a]=arguments.length>1?L.call(arguments,0):b,--h||j
|
||
.resolveWith(j,d)}}var d=L.call(arguments,0),e=0,f=
|
||
d.length,g=Array(f),h=f,i=f,j=f<=1&&a&&J.isFunction
|
||
(a.promise)?a:J.Deferred(),k=j.promise();if(f>1){for(
|
||
;e<f;e++)d[e]&&d[e].promise&&J.isFunction(d[e].promise
|
||
)?d[e].promise().then(c(e),j.reject,b(e)):--h;h||j.
|
||
resolveWith(j,d)}else j!==a&&j.resolveWith(j,f?[a]:
|
||
[]);return k}}),J.support=function(){var b,c,d,e,f,
|
||
g,h,i,j,k,l,m,n=G.createElement("div"),o=G.documentElement
|
||
;n.setAttribute("className","t"),n.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>"
|
||
,c=n.getElementsByTagName("*"),d=n.getElementsByTagName
|
||
("a")[0];if(!c||!c.length||!d)return{};e=G.createElement
|
||
("select"),f=e.appendChild(G.createElement("option"
|
||
)),g=n.getElementsByTagName("input")[0],b={leadingWhitespace
|
||
:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName
|
||
("tbody").length,htmlSerialize:!!n.getElementsByTagName
|
||
("link").length,style:/top/.test(d.getAttribute("style"
|
||
)),hrefNormalized:d.getAttribute("href")==="/a",opacity
|
||
:/^0.55/.test(d.style.opacity),cssFloat:!!d.style.cssFloat
|
||
,checkOn:g.value==="on",optSelected:f.selected,getSetAttribute
|
||
:n.className!=="t",enctype:!!G.createElement("form"
|
||
).enctype,html5Clone:G.createElement("nav").cloneNode
|
||
(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles
|
||
:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent
|
||
:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight
|
||
:!0,pixelMargin:!0},J.boxModel=b.boxModel=G.compatMode==="CSS1Compat"
|
||
,g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked
|
||
,e.disabled=!0,b.optDisabled=!f.disabled;try{delete
|
||
n.test}catch(p){b.deleteExpando=!1}!n.addEventListener&&
|
||
n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick"
|
||
,function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent
|
||
("onclick")),g=G.createElement("input"),g.value="t"
|
||
,g.setAttribute("type","radio"),b.radioValue=g.value==="t"
|
||
,g.setAttribute("checked","checked"),g.setAttribute
|
||
("name","t"),n.appendChild(g),h=G.createDocumentFragment
|
||
(),h.appendChild(n.lastChild),b.checkClone=h.cloneNode
|
||
(!0).cloneNode(!0).lastChild.checked,b.appendChecked=
|
||
g.checked,h.removeChild(g),h.appendChild(n);if(n.attachEvent
|
||
)for(l in{submit:1,change:1,focusin:1})k="on"+l,m=k in
|
||
n,m||(n.setAttribute(k,"return;"),m=typeof n[k]=="function"
|
||
),b[l+"Bubbles"]=m;return h.removeChild(n),h=e=f=n=
|
||
g=null,J(function(){var c,d,e,f,g,h,j,k,l,o,p,q,r,s=
|
||
G.getElementsByTagName("body")[0];!s||(k=1,r="padding:0;margin:0;border:"
|
||
,p="position:absolute;top:0;left:0;width:1px;height:1px;"
|
||
,q=r+"0;visibility:hidden;",l="style='"+p+r+"5px solid #000;"
|
||
,o="<div "+l+"display:block;'><div style='"+r+"0;display:block;overflow:hidden;'></div></div>"+"<table "+
|
||
l+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>"
|
||
,c=G.createElement("div"),c.style.cssText=q+"width:0;height:0;position:static;top:0;margin-top:"+
|
||
k+"px",s.insertBefore(c,s.firstChild),n=G.createElement
|
||
("div"),c.appendChild(n),n.innerHTML="<table><tr><td style='"+
|
||
r+"0;display:none'></td><td>t</td></tr></table>",i=
|
||
n.getElementsByTagName("td"),m=i[0].offsetHeight===0
|
||
,i[0].style.display="",i[1].style.display="none",b.
|
||
reliableHiddenOffsets=m&&i[0].offsetHeight===0,a.getComputedStyle&&
|
||
(n.innerHTML="",j=G.createElement("div"),j.style.width="0"
|
||
,j.style.marginRight="0",n.style.width="2px",n.appendChild
|
||
(j),b.reliableMarginRight=(parseInt((a.getComputedStyle
|
||
(j,null)||{marginRight:0}).marginRight,10)||0)===0)
|
||
,typeof n.style.zoom!="undefined"&&(n.innerHTML="",
|
||
n.style.width=n.style.padding="1px",n.style.border=0
|
||
,n.style.overflow="hidden",n.style.display="inline"
|
||
,n.style.zoom=1,b.inlineBlockNeedsLayout=n.offsetWidth===3
|
||
,n.style.display="block",n.style.overflow="visible"
|
||
,n.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=
|
||
n.offsetWidth!==3),n.style.cssText=p+q,n.innerHTML=
|
||
o,d=n.firstChild,e=d.firstChild,g=d.nextSibling.firstChild
|
||
.firstChild,h={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells
|
||
:g.offsetTop===5},e.style.position="fixed",e.style.
|
||
top="20px",h.fixedPosition=e.offsetTop===20||e.offsetTop===15
|
||
,e.style.position=e.style.top="",d.style.overflow="hidden"
|
||
,d.style.position="relative",h.subtractsBorderForOverflowNotVisible=
|
||
e.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=
|
||
s.offsetTop!==k,a.getComputedStyle&&(n.style.marginTop="1%"
|
||
,b.pixelMargin=(a.getComputedStyle(n,null)||{marginTop
|
||
:0}).marginTop!=="1%"),typeof c.style.zoom!="undefined"&&
|
||
(c.style.zoom=1),s.removeChild(c),j=n=c=null,J.extend
|
||
(b,h))}),b}();var M=/^(?:\{.*\}|\[.*\])$/,N=/([A-Z])/g
|
||
;J.extend({cache:{},uuid:0,expando:"jQuery"+(J.fn.jquery+
|
||
Math.random()).replace(/\D/g,""),noData:{embed:!0,object
|
||
:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet
|
||
:!0},hasData:function(a){return a=a.nodeType?J.cache
|
||
[a[J.expando]]:a[J.expando],!!a&&!D(a)},data:function(
|
||
a,c,d,e){if(!!J.acceptData(a)){var f,g,h,i=J.expando
|
||
,j=typeof c=="string",k=a.nodeType,l=k?J.cache:a,m=
|
||
k?a[i]:a[i]&&i,n=c==="events";if((!m||!l[m]||!n&&!e&&!
|
||
l[m].data)&&j&&d===b)return;m||(k?a[i]=m=++J.uuid:m=
|
||
i),l[m]||(l[m]={},k||(l[m].toJSON=J.noop));if(typeof
|
||
c=="object"||typeof c=="function")e?l[m]=J.extend(l
|
||
[m],c):l[m].data=J.extend(l[m].data,c);return f=g=l
|
||
[m],e||(g.data||(g.data={}),g=g.data),d!==b&&(g[J.camelCase
|
||
(c)]=d),n&&!g[c]?f.events:(j?(h=g[c],h==null&&(h=g[
|
||
J.camelCase(c)])):h=g,h)}},removeData:function(a,b,
|
||
c){if(!!J.acceptData(a)){var d,e,f,g=J.expando,h=a.
|
||
nodeType,i=h?J.cache:a,j=h?a[g]:g;if(!i[j])return;if(
|
||
b){d=c?i[j]:i[j].data;if(d){J.isArray(b)||(b in d?b=
|
||
[b]:(b=J.camelCase(b),b in d?b=[b]:b=b.split(" ")))
|
||
;for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?D
|
||
:J.isEmptyObject)(d))return}}if(!c){delete i[j].data
|
||
;if(!D(i[j]))return}J.support.deleteExpando||!i.setInterval?delete
|
||
i[j]:i[j]=null,h&&(J.support.deleteExpando?delete a
|
||
[g]:a.removeAttribute?a.removeAttribute(g):a[g]=null
|
||
)}},_data:function(a,b,c){return J.data(a,b,c,!0)},
|
||
acceptData:function(a){if(a.nodeName){var b=J.noData
|
||
[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute
|
||
("classid")===b}return!0}}),J.fn.extend({data:function(
|
||
a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(
|
||
this.length){k=J.data(i);if(i.nodeType===1&&!J._data
|
||
(i,"parsedAttrs")){f=i.attributes;for(h=f.length;j<
|
||
h;j++)g=f[j].name,g.indexOf("data-")===0&&(g=J.camelCase
|
||
(g.substring(5)),E(i,g,k[g]));J._data(i,"parsedAttrs"
|
||
,!0)}}return k}return typeof a=="object"?this.each(
|
||
function(){J.data(this,a)}):(d=a.split(".",2),d[1]=
|
||
d[1]?"."+d[1]:"",e=d[1]+"!",J.access(this,function(
|
||
c){if(c===b)return k=this.triggerHandler("getData"+
|
||
e,[d[0]]),k===b&&i&&(k=J.data(i,a),k=E(i,a,k)),k===
|
||
b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(
|
||
){var b=J(this);b.triggerHandler("setData"+e,d),J.data
|
||
(this,a,c),b.triggerHandler("changeData"+e,d)})},null
|
||
,c,arguments.length>1,null,!1))},removeData:function(
|
||
a){return this.each(function(){J.removeData(this,a)
|
||
})}}),J.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark"
|
||
,J._data(a,b,(J._data(a,b)||0)+1))},_unmark:function(
|
||
a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=
|
||
c+"mark",e=a?0:(J._data(b,d)||1)-1;e?J._data(b,d,e)
|
||
:(J.removeData(b,d,!0),C(b,c,"mark"))}},queue:function(
|
||
a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=J._data
|
||
(a,b),c&&(!d||J.isArray(c)?d=J._data(a,b,J.makeArray
|
||
(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx"
|
||
;var c=J.queue(a,b),d=c.shift(),e={};d==="inprogress"&&
|
||
(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress")
|
||
,J._data(a,b+".run",e),d.call(a,function(){J.dequeue
|
||
(a,b)},e)),c.length||(J.removeData(a,b+"queue "+b+".run"
|
||
,!0),C(a,b,"queue"))}}),J.fn.extend({queue:function(
|
||
a,c){var d=2;return typeof a!="string"&&(c=a,a="fx"
|
||
,d--),arguments.length<d?J.queue(this[0],a):c===b?this
|
||
:this.each(function(){var b=J.queue(this,a,c);a==="fx"&&
|
||
b[0]!=="inprogress"&&J.dequeue(this,a)})},dequeue:function(
|
||
a){return this.each(function(){J.dequeue(this,a)})}
|
||
,delay:function(a,b){return a=J.fx?J.fx.speeds[a]||
|
||
a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout
|
||
(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue
|
||
:function(a){return this.queue(a||"fx",[])},promise
|
||
:function(a,c){function d(){--h||e.resolveWith(f,[f
|
||
])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var e=J.
|
||
Deferred(),f=this,g=f.length,h=1,i=a+"defer",j=a+"queue"
|
||
,k=a+"mark",l;while(g--)if(l=J.data(f[g],i,b,!0)||(
|
||
J.data(f[g],j,b,!0)||J.data(f[g],k,b,!0))&&J.data(f
|
||
[g],i,J.Callbacks("once memory"),!0))h++,l.add(d);return d
|
||
(),e.promise(c)}});var O=/[\n\t\r]/g,P=/\s+/,Q=/\r/g
|
||
,R=/^(?:button|input)$/i,S=/^(?:button|input|object|select|textarea)$/i
|
||
,T=/^a(?:rea)?$/i,U=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i
|
||
,V=J.support.getSetAttribute,W,X,Y;J.fn.extend({attr
|
||
:function(a,b){return J.access(this,J.attr,a,b,arguments
|
||
.length>1)},removeAttr:function(a){return this.each
|
||
(function(){J.removeAttr(this,a)})},prop:function(a
|
||
,b){return J.access(this,J.prop,a,b,arguments.length>1
|
||
)},removeProp:function(a){return a=J.propFix[a]||a,
|
||
this.each(function(){try{this[a]=b,delete this[a]}catch(
|
||
c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(J
|
||
.isFunction(a))return this.each(function(b){J(this)
|
||
.addClass(a.call(this,b,this.className))});if(a&&typeof
|
||
a=="string"){b=a.split(P);for(c=0,d=this.length;c<d
|
||
;c++){e=this[c];if(e.nodeType===1)if(!e.className&&
|
||
b.length===1)e.className=a;else{f=" "+e.className+" "
|
||
;for(g=0,h=b.length;g<h;g++)~f.indexOf(" "+b[g]+" "
|
||
)||(f+=b[g]+" ");e.className=J.trim(f)}}}return this
|
||
},removeClass:function(a){var c,d,e,f,g,h,i;if(J.isFunction
|
||
(a))return this.each(function(b){J(this).removeClass
|
||
(a.call(this,b,this.className))});if(a&&typeof a=="string"||
|
||
a===b){c=(a||"").split(P);for(d=0,e=this.length;d<e
|
||
;d++){f=this[d];if(f.nodeType===1&&f.className)if(a
|
||
){g=(" "+f.className+" ").replace(O," ");for(h=0,i=
|
||
c.length;h<i;h++)g=g.replace(" "+c[h]+" "," ");f.className=
|
||
J.trim(g)}else f.className=""}}return this},toggleClass
|
||
:function(a,b){var c=typeof a,d=typeof b=="boolean"
|
||
;return J.isFunction(a)?this.each(function(c){J(this
|
||
).toggleClass(a.call(this,c,this.className,b),b)}):
|
||
this.each(function(){if(c==="string"){var e,f=0,g=J
|
||
(this),h=b,i=a.split(P);while(e=i[f++])h=d?h:!g.hasClass
|
||
(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||
|
||
c==="boolean")this.className&&J._data(this,"__className__"
|
||
,this.className),this.className=this.className||a===!1?""
|
||
:J._data(this,"__className__")||""})},hasClass:function(
|
||
a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(
|
||
this[c].nodeType===1&&(" "+this[c].className+" ").replace
|
||
(O," ").indexOf(b)>-1)return!0;return!1},val:function(
|
||
a){var c,d,e,f=this[0];if(!!arguments.length)return e=
|
||
J.isFunction(a),this.each(function(d){var f=J(this)
|
||
,g;if(this.nodeType===1){e?g=a.call(this,d,f.val())
|
||
:g=a,g==null?g="":typeof g=="number"?g+="":J.isArray
|
||
(g)&&(g=J.map(g,function(a){return a==null?"":a+""}
|
||
)),c=J.valHooks[this.type]||J.valHooks[this.nodeName
|
||
.toLowerCase()];if(!c||!("set"in c)||c.set(this,g,"value"
|
||
)===b)this.value=g}});if(f)return c=J.valHooks[f.type
|
||
]||J.valHooks[f.nodeName.toLowerCase()],c&&"get"in
|
||
c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?
|
||
d.replace(Q,""):d==null?"":d)}}),J.extend({valHooks
|
||
:{option:{get:function(a){var b=a.attributes.value;
|
||
return!b||b.specified?a.value:a.text}},select:{get:
|
||
function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.
|
||
options,i=a.type==="select-one";if(f<0)return null;
|
||
c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.
|
||
selected&&(J.support.optDisabled?!e.disabled:e.getAttribute
|
||
("disabled")===null)&&(!e.parentNode.disabled||!J.nodeName
|
||
(e.parentNode,"optgroup"))){b=J(e).val();if(i)return b
|
||
;g.push(b)}}return i&&!g.length&&h.length?J(h[f]).val
|
||
():g},set:function(a,b){var c=J.makeArray(b);return J
|
||
(a).find("option").each(function(){this.selected=J.
|
||
inArray(J(this).val(),c)>=0}),c.length||(a.selectedIndex=-1
|
||
),c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0
|
||
,width:!0,height:!0,offset:!0},attr:function(a,c,d,
|
||
e){var f,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2
|
||
){if(e&&c in J.attrFn)return J(a)[c](d);if(typeof a
|
||
.getAttribute=="undefined")return J.prop(a,c,d);h=i!==1||!
|
||
J.isXMLDoc(a),h&&(c=c.toLowerCase(),g=J.attrHooks[c
|
||
]||(U.test(c)?X:W));if(d!==b){if(d===null){J.removeAttr
|
||
(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c
|
||
))!==b?f:(a.setAttribute(c,""+d),d)}return g&&"get"in
|
||
g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),
|
||
f===null?b:f)}},removeAttr:function(a,b){var c,d,e,
|
||
f,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split
|
||
(P),f=d.length;for(;h<f;h++)e=d[h],e&&(c=J.propFix[
|
||
e]||e,g=U.test(e),g||J.attr(a,e,""),a.removeAttribute
|
||
(V?e:c),g&&c in a&&(a[c]=!1))}},attrHooks:{type:{set
|
||
:function(a,b){if(R.test(a.nodeName)&&a.parentNode)
|
||
J.error("type property can't be changed");else if(!
|
||
J.support.radioValue&&b==="radio"&&J.nodeName(a,"input"
|
||
)){var c=a.value;return a.setAttribute("type",b),c&&
|
||
(a.value=c),b}}},value:{get:function(a,b){return W&&
|
||
J.nodeName(a,"button")?W.get(a,b):b in a?a.value:null
|
||
},set:function(a,b,c){if(W&&J.nodeName(a,"button"))
|
||
return W.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex"
|
||
,readonly:"readOnly","for":"htmlFor","class":"className"
|
||
,maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding
|
||
:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",
|
||
usemap:"useMap",frameborder:"frameBorder",contenteditable
|
||
:"contentEditable"},prop:function(a,c,d){var e,f,g,
|
||
h=a.nodeType;if(!!a&&h!==3&&h!==8&&h!==2)return g=h!==1||!
|
||
J.isXMLDoc(a),g&&(c=J.propFix[c]||c,f=J.propHooks[c
|
||
]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=
|
||
d:f&&"get"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks
|
||
:{tabIndex:{get:function(a){var c=a.getAttributeNode
|
||
("tabindex");return c&&c.specified?parseInt(c.value
|
||
,10):S.test(a.nodeName)||T.test(a.nodeName)&&a.href?0
|
||
:b}}}}),J.attrHooks.tabindex=J.propHooks.tabIndex,X=
|
||
{get:function(a,c){var d,e=J.prop(a,c);return e===!0||typeof
|
||
e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?
|
||
c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?
|
||
J.removeAttr(a,c):(d=J.propFix[c]||c,d in a&&(a[d]=!0
|
||
),a.setAttribute(c,c.toLowerCase())),c}},V||(Y={name
|
||
:!0,id:!0,coords:!0},W=J.valHooks.button={get:function(
|
||
a,c){var d;return d=a.getAttributeNode(c),d&&(Y[c]?
|
||
d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(
|
||
a,b,c){var d=a.getAttributeNode(c);return d||(d=G.createAttribute
|
||
(c),a.setAttributeNode(d)),d.nodeValue=b+""}},J.attrHooks
|
||
.tabindex.set=W.set,J.each(["width","height"],function(
|
||
a,b){J.attrHooks[b]=J.extend(J.attrHooks[b],{set:function(
|
||
a,c){if(c==="")return a.setAttribute(b,"auto"),c}})
|
||
}),J.attrHooks.contenteditable={get:W.get,set:function(
|
||
a,b,c){b===""&&(b="false"),W.set(a,b,c)}}),J.support
|
||
.hrefNormalized||J.each(["href","src","width","height"
|
||
],function(a,c){J.attrHooks[c]=J.extend(J.attrHooks
|
||
[c],{get:function(a){var d=a.getAttribute(c,2);return d===
|
||
null?b:d}})}),J.support.style||(J.attrHooks.style={
|
||
get:function(a){return a.style.cssText.toLowerCase(
|
||
)||b},set:function(a,b){return a.style.cssText=""+b
|
||
}}),J.support.optSelected||(J.propHooks.selected=J.
|
||
extend(J.propHooks.selected,{get:function(a){var b=
|
||
a.parentNode;return b&&(b.selectedIndex,b.parentNode&&
|
||
b.parentNode.selectedIndex),null}})),J.support.enctype||
|
||
(J.propFix.enctype="encoding"),J.support.checkOn||J
|
||
.each(["radio","checkbox"],function(){J.valHooks[this
|
||
]={get:function(a){return a.getAttribute("value")===
|
||
null?"on":a.value}}}),J.each(["radio","checkbox"],function(
|
||
){J.valHooks[this]=J.extend(J.valHooks[this],{set:function(
|
||
a,b){if(J.isArray(b))return a.checked=J.inArray(J(a
|
||
).val(),b)>=0}})});var Z=/^(?:textarea|input|select)$/i
|
||
,$=/^([^\.]*)?(?:\.(.+))?$/,_=/(?:^|\s)hover(\.\S+)?\b/
|
||
,ba=/^key/,bb=/^(?:mouse|contextmenu)|click/,bc=/^(?:focusinfocus|focusoutblur)$/
|
||
,bd=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,be=function(
|
||
a){var b=bd.exec(a);return b&&(b[1]=(b[1]||"").toLowerCase
|
||
(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"
|
||
)),b},bf=function(a,b){var c=a.attributes||{};return(!
|
||
b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.
|
||
id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"
|
||
]||{}).value))},bg=function(a){return J.event.special
|
||
.hover?a:a.replace(_,"mouseenter$1 mouseleave$1")};
|
||
J.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,
|
||
n,o,p,q,r;if(!(a.nodeType===3||a.nodeType===8||!c||!
|
||
d||!(g=J._data(a)))){d.handler&&(o=d,d=o.handler,f=
|
||
o.selector),d.guid||(d.guid=J.guid++),i=g.events,i||
|
||
(g.events=i={}),h=g.handle,h||(g.handle=h=function(
|
||
a){return typeof J=="undefined"||!!a&&J.event.triggered===
|
||
a.type?b:J.event.dispatch.apply(h.elem,arguments)},
|
||
h.elem=a),c=J.trim(bg(c)).split(" ");for(j=0;j<c.length
|
||
;j++){k=$.exec(c[j])||[],l=k[1],m=(k[2]||"").split("."
|
||
).sort(),r=J.event.special[l]||{},l=(f?r.delegateType
|
||
:r.bindType)||l,r=J.event.special[l]||{},n=J.extend
|
||
({type:l,origType:k[1],data:e,handler:d,guid:d.guid
|
||
,selector:f,quick:f&&be(f),namespace:m.join(".")},o
|
||
),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||
|
||
r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener
|
||
(l,h,!1):a.attachEvent&&a.attachEvent("on"+l,h)}r.add&&
|
||
(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.
|
||
guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),
|
||
J.event.global[l]=!0}a=null}},global:{},remove:function(
|
||
a,b,c,d,e){var f=J.hasData(a)&&J._data(a),g,h,i,j,k
|
||
,l,m,n,o,p,q,r;if(!!f&&!!(n=f.events)){b=J.trim(bg(
|
||
b||"")).split(" ");for(g=0;g<b.length;g++){h=$.exec
|
||
(b[g])||[],i=j=h[1],k=h[2];if(!i){for(i in n)J.event
|
||
.remove(a,i+b[g],c,d,!0);continue}o=J.event.special
|
||
[i]||{},i=(d?o.delegateType:o.bindType)||i,q=n[i]||
|
||
[],l=q.length,k=k?new RegExp("(^|\\.)"+k.split(".")
|
||
.sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(m=0
|
||
;m<q.length;m++)r=q[m],(e||j===r.origType)&&(!c||c.
|
||
guid===r.guid)&&(!k||k.test(r.namespace))&&(!d||d===
|
||
r.selector||d==="**"&&r.selector)&&(q.splice(m--,1)
|
||
,r.selector&&q.delegateCount--,o.remove&&o.remove.call
|
||
(a,r));q.length===0&&l!==q.length&&((!o.teardown||o
|
||
.teardown.call(a,k)===!1)&&J.removeEvent(a,i,f.handle
|
||
),delete n[i])}J.isEmptyObject(n)&&(p=f.handle,p&&(
|
||
p.elem=null),J.removeData(a,["events","handle"],!0)
|
||
)}},customEvent:{getData:!0,setData:!0,changeData:!0
|
||
},trigger:function(c,d,e,f){if(!e||e.nodeType!==3&&
|
||
e.nodeType!==8){var g=c.type||c,h=[],i,j,k,l,m,n,o,
|
||
p,q,r;if(bc.test(g+J.event.triggered))return;g.indexOf
|
||
("!")>=0&&(g=g.slice(0,-1),j=!0),g.indexOf(".")>=0&&
|
||
(h=g.split("."),g=h.shift(),h.sort());if((!e||J.event
|
||
.customEvent[g])&&!J.event.global[g])return;c=typeof
|
||
c=="object"?c[J.expando]?c:new J.Event(g,c):new J.Event
|
||
(g),c.type=g,c.isTrigger=!0,c.exclusive=j,c.namespace=
|
||
h.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+
|
||
h.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,n=g.indexOf
|
||
(":")<0?"on"+g:"";if(!e){i=J.cache;for(k in i)i[k].
|
||
events&&i[k].events[g]&&J.event.trigger(c,d,i[k].handle
|
||
.elem,!0);return}c.result=b,c.target||(c.target=e),
|
||
d=d!=null?J.makeArray(d):[],d.unshift(c),o=J.event.
|
||
special[g]||{};if(o.trigger&&o.trigger.apply(e,d)===!1
|
||
)return;q=[[e,o.bindType||g]];if(!f&&!o.noBubble&&!
|
||
J.isWindow(e)){r=o.delegateType||g,l=bc.test(r+g)?e
|
||
:e.parentNode,m=null;for(;l;l=l.parentNode)q.push([
|
||
l,r]),m=l;m&&m===e.ownerDocument&&q.push([m.defaultView||
|
||
m.parentWindow||a,r])}for(k=0;k<q.length&&!c.isPropagationStopped
|
||
();k++)l=q[k][0],c.type=q[k][1],p=(J._data(l,"events"
|
||
)||{})[c.type]&&J._data(l,"handle"),p&&p.apply(l,d)
|
||
,p=n&&l[n],p&&J.acceptData(l)&&p.apply(l,d)===!1&&c
|
||
.preventDefault();return c.type=g,!f&&!c.isDefaultPrevented
|
||
()&&(!o._default||o._default.apply(e.ownerDocument,
|
||
d)===!1)&&(g!=="click"||!J.nodeName(e,"a"))&&J.acceptData
|
||
(e)&&n&&e[g]&&(g!=="focus"&&g!=="blur"||c.target.offsetWidth!==0
|
||
)&&!J.isWindow(e)&&(m=e[n],m&&(e[n]=null),J.event.triggered=
|
||
g,e[g](),J.event.triggered=b,m&&(e[n]=m)),c.result}
|
||
},dispatch:function(c){c=J.event.fix(c||a.event);var d=
|
||
(J._data(this,"events")||{})[c.type]||[],e=d.delegateCount
|
||
,f=[].slice.call(arguments,0),g=!c.exclusive&&!c.namespace
|
||
,h=J.event.special[c.type]||{},i=[],j,k,l,m,n,o,p,q
|
||
,r,s,t;f[0]=c,c.delegateTarget=this;if(!h.preDispatch||
|
||
h.preDispatch.call(this,c)!==!1){if(e&&(!c.button||
|
||
c.type!=="click")){m=J(this),m.context=this.ownerDocument||
|
||
this;for(l=c.target;l!=this;l=l.parentNode||this)if(
|
||
l.disabled!==!0){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=
|
||
d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?bf(l,r.quick
|
||
):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l
|
||
,matches:q})}}d.length>e&&i.push({elem:this,matches
|
||
:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped
|
||
();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches
|
||
.length&&!c.isImmediatePropagationStopped();k++){r=
|
||
p.matches[k];if(g||!c.namespace&&!r.namespace||c.namespace_re&&
|
||
c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=
|
||
r,n=((J.event.special[r.origType]||{}).handle||r.handler
|
||
).apply(p.elem,f),n!==b&&(c.result=n,n===!1&&(c.preventDefault
|
||
(),c.stopPropagation()))}}return h.postDispatch&&h.
|
||
postDispatch.call(this,c),c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
|
||
.split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode"
|
||
.split(" "),filter:function(a,b){return a.which==null&&
|
||
(a.which=b.charCode!=null?b.charCode:b.keyCode),a}}
|
||
,mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
|
||
.split(" "),filter:function(a,c){var d,e,f,g=c.button
|
||
,h=c.fromElement;return a.pageX==null&&c.clientX!=null&&
|
||
(d=a.target.ownerDocument||G,e=d.documentElement,f=
|
||
d.body,a.pageX=c.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0
|
||
)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=c.clientY+
|
||
(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||
|
||
f&&f.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=
|
||
h===a.target?c.toElement:h),!a.which&&g!==b&&(a.which=
|
||
g&1?1:g&2?3:g&4?2:0),a}},fix:function(a){if(a[J.expando
|
||
])return a;var c,d,e=a,f=J.event.fixHooks[a.type]||
|
||
{},g=f.props?this.props.concat(f.props):this.props;
|
||
a=J.Event(e);for(c=g.length;c;)d=g[--c],a[d]=e[d];return a
|
||
.target||(a.target=e.srcElement||G),a.target.nodeType===3&&
|
||
(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=
|
||
a.ctrlKey),f.filter?f.filter(a,e):a},special:{ready
|
||
:{setup:J.bindReady},load:{noBubble:!0},focus:{delegateType
|
||
:"focusin"},blur:{delegateType:"focusout"},beforeunload
|
||
:{setup:function(a,b,c){J.isWindow(this)&&(this.onbeforeunload=
|
||
c)},teardown:function(a,b){this.onbeforeunload===b&&
|
||
(this.onbeforeunload=null)}}},simulate:function(a,b
|
||
,c,d){var e=J.extend(new J.Event,c,{type:a,isSimulated
|
||
:!0,originalEvent:{}});d?J.event.trigger(e,null,b):
|
||
J.event.dispatch.call(b,e),e.isDefaultPrevented()&&
|
||
c.preventDefault()}},J.event.handle=J.event.dispatch
|
||
,J.removeEvent=G.removeEventListener?function(a,b,c
|
||
){a.removeEventListener&&a.removeEventListener(b,c,!1
|
||
)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+
|
||
b,c)},J.Event=function(a,b){if(this instanceof J.Event
|
||
)a&&a.type?(this.originalEvent=a,this.type=a.type,this
|
||
.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||
|
||
a.getPreventDefault&&a.getPreventDefault()?A:B):this
|
||
.type=a,b&&J.extend(this,b),this.timeStamp=a&&a.timeStamp||
|
||
J.now(),this[J.expando]=!0;else return new J.Event(
|
||
a,b)},J.Event.prototype={preventDefault:function(){
|
||
this.isDefaultPrevented=A;var a=this.originalEvent;!
|
||
a||(a.preventDefault?a.preventDefault():a.returnValue=!1
|
||
)},stopPropagation:function(){this.isPropagationStopped=
|
||
A;var a=this.originalEvent;!a||(a.stopPropagation&&
|
||
a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation
|
||
:function(){this.isImmediatePropagationStopped=A,this
|
||
.stopPropagation()},isDefaultPrevented:B,isPropagationStopped
|
||
:B,isImmediatePropagationStopped:B},J.each({mouseenter
|
||
:"mouseover",mouseleave:"mouseout"},function(a,b){J
|
||
.event.special[a]={delegateType:b,bindType:b,handle
|
||
:function(a){var c=this,d=a.relatedTarget,e=a.handleObj
|
||
,f=e.selector,g;if(!d||d!==c&&!J.contains(c,d))a.type=
|
||
e.origType,g=e.handler.apply(this,arguments),a.type=
|
||
b;return g}}}),J.support.submitBubbles||(J.event.special
|
||
.submit={setup:function(){if(J.nodeName(this,"form"
|
||
))return!1;J.event.add(this,"click._submit keypress._submit"
|
||
,function(a){var c=a.target,d=J.nodeName(c,"input")||
|
||
J.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&
|
||
(J.event.add(d,"submit._submit",function(a){a._submit_bubble=!0
|
||
}),d._submit_attached=!0)})},postDispatch:function(
|
||
a){a._submit_bubble&&(delete a._submit_bubble,this.
|
||
parentNode&&!a.isTrigger&&J.event.simulate("submit"
|
||
,this.parentNode,a,!0))},teardown:function(){if(J.nodeName
|
||
(this,"form"))return!1;J.event.remove(this,"._submit"
|
||
)}}),J.support.changeBubbles||(J.event.special.change=
|
||
{setup:function(){if(Z.test(this.nodeName)){if(this
|
||
.type==="checkbox"||this.type==="radio")J.event.add
|
||
(this,"propertychange._change",function(a){a.originalEvent
|
||
.propertyName==="checked"&&(this._just_changed=!0)}
|
||
),J.event.add(this,"click._change",function(a){this
|
||
._just_changed&&!a.isTrigger&&(this._just_changed=!1
|
||
,J.event.simulate("change",this,a,!0))});return!1}J
|
||
.event.add(this,"beforeactivate._change",function(a
|
||
){var b=a.target;Z.test(b.nodeName)&&!b._change_attached&&
|
||
(J.event.add(b,"change._change",function(a){this.parentNode&&!
|
||
a.isSimulated&&!a.isTrigger&&J.event.simulate("change"
|
||
,this.parentNode,a,!0)}),b._change_attached=!0)})},
|
||
handle:function(a){var b=a.target;if(this!==b||a.isSimulated||
|
||
a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")
|
||
return a.handleObj.handler.apply(this,arguments)},teardown
|
||
:function(){return J.event.remove(this,"._change"),
|
||
Z.test(this.nodeName)}}),J.support.focusinBubbles||
|
||
J.each({focus:"focusin",blur:"focusout"},function(a
|
||
,b){var c=0,d=function(a){J.event.simulate(b,a.target
|
||
,J.event.fix(a),!0)};J.event.special[b]={setup:function(
|
||
){c++===0&&G.addEventListener(a,d,!0)},teardown:function(
|
||
){--c===0&&G.removeEventListener(a,d,!0)}}}),J.fn.extend
|
||
({on:function(a,c,d,e,f){var g,h;if(typeof a=="object"
|
||
){typeof c!="string"&&(d=d||c,c=b);for(h in a)this.
|
||
on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,
|
||
d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,
|
||
d=c,c=b));if(e===!1)e=B;else if(!e)return this;return f===1&&
|
||
(g=e,e=function(a){return J().off(a),g.apply(this,arguments
|
||
)},e.guid=g.guid||(g.guid=J.guid++)),this.each(function(
|
||
){J.event.add(this,a,e,d,c)})},one:function(a,b,c,d
|
||
){return this.on(a,b,c,d,1)},off:function(a,c,d){if(
|
||
a&&a.preventDefault&&a.handleObj){var e=a.handleObj
|
||
;return J(a.delegateTarget).off(e.namespace?e.origType+"."+
|
||
e.namespace:e.origType,e.selector,e.handler),this}if(typeof
|
||
a=="object"){for(var f in a)this.off(f,c,a[f]);return this
|
||
}if(c===!1||typeof c=="function")d=c,c=b;return d===!1&&
|
||
(d=B),this.each(function(){J.event.remove(this,a,d,
|
||
c)})},bind:function(a,b,c){return this.on(a,null,b,
|
||
c)},unbind:function(a,b){return this.off(a,null,b)}
|
||
,live:function(a,b,c){return J(this.context).on(a,this
|
||
.selector,b,c),this},die:function(a,b){return J(this
|
||
.context).off(a,this.selector||"**",b),this},delegate
|
||
:function(a,b,c,d){return this.on(b,a,c,d)},undelegate
|
||
:function(a,b,c){return arguments.length==1?this.off
|
||
(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this
|
||
.each(function(){J.event.trigger(a,b,this)})},triggerHandler
|
||
:function(a,b){if(this[0])return J.event.trigger(a,
|
||
b,this[0],!0)},toggle:function(a){var b=arguments,c=
|
||
a.guid||J.guid++,d=0,e=function(c){var e=(J._data(this
|
||
,"lastToggle"+a.guid)||0)%d;return J._data(this,"lastToggle"+
|
||
a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments
|
||
)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this
|
||
.click(e)},hover:function(a,b){return this.mouseenter
|
||
(a).mouseleave(b||a)}}),J.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu"
|
||
.split(" "),function(a,b){J.fn[b]=function(a,c){return c==
|
||
null&&(c=a,a=null),arguments.length>0?this.on(b,null
|
||
,a,c):this.trigger(b)},J.attrFn&&(J.attrFn[b]=!0),ba
|
||
.test(b)&&(J.event.fixHooks[b]=J.event.keyHooks),bb
|
||
.test(b)&&(J.event.fixHooks[b]=J.event.mouseHooks)}
|
||
),function(){function a(a,b,c,d,f,g){for(var h=0,i=
|
||
d.length;h<i;h++){var j=d[h];if(j){var k=!1;j=j[a];
|
||
while(j){if(j[e]===c){k=d[j.sizset];break}if(j.nodeType===1
|
||
){g||(j[e]=c,j.sizset=h);if(typeof b!="string"){if(
|
||
j===b){k=!0;break}}else if(m.filter(b,[j]).length>0
|
||
){k=j;break}}j=j[a]}d[h]=k}}}function c(a,b,c,d,f,g
|
||
){for(var h=0,i=d.length;h<i;h++){var j=d[h];if(j){
|
||
var k=!1;j=j[a];while(j){if(j[e]===c){k=d[j.sizset]
|
||
;break}j.nodeType===1&&!g&&(j[e]=c,j.sizset=h);if(j
|
||
.nodeName.toLowerCase()===b){k=j;break}j=j[a]}d[h]=
|
||
k}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g
|
||
,e="sizcache"+(Math.random()+"").replace(".",""),f=0
|
||
,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g
|
||
,l=/\W/;[0,0].sort(function(){return i=!1,0});var m=
|
||
function(a,b,c,e){c=c||[],b=b||G;var f=b;if(b.nodeType!==1&&
|
||
b.nodeType!==9)return[];if(!a||typeof a!="string")return c
|
||
;var h,i,j,k,l,n,q,r,t=!0,u=m.isXML(b),v=[],x=a;do{
|
||
d.exec(""),h=d.exec(x);if(h){x=h[3],v.push(h[1]);if(
|
||
h[2]){k=h[3];break}}}while(h);if(v.length>1&&p.exec
|
||
(a))if(v.length===2&&o.relative[v[0]])i=w(v[0]+v[1]
|
||
,b,e);else{i=o.relative[v[0]]?[b]:m(v.shift(),b);while(
|
||
v.length)a=v.shift(),o.relative[a]&&(a+=v.shift()),
|
||
i=w(a,i,e)}else{!e&&v.length>1&&b.nodeType===9&&!u&&
|
||
o.match.ID.test(v[0])&&!o.match.ID.test(v[v.length-1
|
||
])&&(l=m.find(v.shift(),b,u),b=l.expr?m.filter(l.expr
|
||
,l.set)[0]:l.set[0]);if(b){l=e?{expr:v.pop(),set:s(
|
||
e)}:m.find(v.pop(),v.length!==1||v[0]!=="~"&&v[0]!=="+"||!
|
||
b.parentNode?b:b.parentNode,u),i=l.expr?m.filter(l.
|
||
expr,l.set):l.set,v.length>0?j=s(i):t=!1;while(v.length
|
||
)n=v.pop(),q=n,o.relative[n]?q=v.pop():n="",q==null&&
|
||
(q=b),o.relative[n](j,q,u)}else j=v=[]}j||(j=i),j||
|
||
m.error(n||a);if(g.call(j)==="[object Array]")if(!t
|
||
)c.push.apply(c,j);else if(b&&b.nodeType===1)for(r=0
|
||
;j[r]!=null;r++)j[r]&&(j[r]===!0||j[r].nodeType===1&&
|
||
m.contains(b,j[r]))&&c.push(i[r]);else for(r=0;j[r]!=
|
||
null;r++)j[r]&&j[r].nodeType===1&&c.push(i[r]);else s
|
||
(j,c);return k&&(m(k,f,c,e),m.uniqueSort(c)),c};m.uniqueSort=
|
||
function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<
|
||
a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a
|
||
},m.matches=function(a,b){return m(a,null,null,b)},
|
||
m.matchesSelector=function(a,b){return m(b,null,null
|
||
,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,
|
||
h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++
|
||
){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],
|
||
g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=
|
||
(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null
|
||
){a=a.replace(o.match[h],"");break}}}}return d||(d=typeof
|
||
b.getElementsByTagName!="undefined"?b.getElementsByTagName
|
||
("*"):[]),{set:d,expr:a}},m.filter=function(a,c,d,e
|
||
){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML
|
||
(c[0]);while(a&&c.length){for(h in o.filter)if((f=o
|
||
.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=
|
||
f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\"
|
||
)continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter
|
||
[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}
|
||
if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=
|
||
e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));
|
||
if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g
|
||
)return[];break}}if(a===q)if(g==null)m.error(a);else break;
|
||
q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+
|
||
a)};var n=m.getText=function(a){var b,c,d=a.nodeType
|
||
,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string"
|
||
)return a.textContent;if(typeof a.innerText=="string"
|
||
)return a.innerText.replace(k,"");for(a=a.firstChild
|
||
;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a
|
||
.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&
|
||
(e+=n(c));return e},o=m.selectors={order:["ID","NAME"
|
||
,"TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/
|
||
,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/
|
||
,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/
|
||
,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/
|
||
,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/
|
||
,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
|
||
},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"
|
||
},attrHandle:{href:function(a){return a.getAttribute
|
||
("href")},type:function(a){return a.getAttribute("type"
|
||
)}},relative:{"+":function(a,b){var c=typeof b=="string"
|
||
,d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(
|
||
var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.
|
||
previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName
|
||
.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)}
|
||
,">":function(a,b){var c,d=typeof b=="string",e=0,f=
|
||
a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<
|
||
f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName
|
||
.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],
|
||
c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter
|
||
(b,a,!0)}},"":function(b,d,e){var g,h=f++,i=a;typeof
|
||
d=="string"&&!l.test(d)&&(d=d.toLowerCase(),g=d,i=c
|
||
),i("parentNode",d,h,b,g,e)},"~":function(b,d,e){var g
|
||
,h=f++,i=a;typeof d=="string"&&!l.test(d)&&(d=d.toLowerCase
|
||
(),g=d,i=c),i("previousSibling",d,h,b,g,e)}},find:{
|
||
ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!
|
||
c){var d=b.getElementById(a[1]);return d&&d.parentNode?
|
||
[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"
|
||
){var c=[],d=b.getElementsByName(a[1]);for(var e=0,
|
||
f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&
|
||
c.push(d[e]);return c.length===0?null:c}},TAG:function(
|
||
a,b){if(typeof b.getElementsByTagName!="undefined")
|
||
return b.getElementsByTagName(a[1])}},preFilter:{CLASS
|
||
:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" "
|
||
;if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&
|
||
(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g
|
||
," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1
|
||
},ID:function(a){return a[1].replace(j,"")},TAG:function(
|
||
a,b){return a[1].replace(j,"").toLowerCase()},CHILD
|
||
:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a
|
||
[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/
|
||
.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/
|
||
.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0
|
||
,a[3]=b[3]-0}else a[2]&&m.error(a[0]);return a[0]=f++
|
||
,a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace
|
||
(j,"");return!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),
|
||
a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a
|
||
[4]=" "+a[4]+" "),a},PSEUDO:function(a,b,c,e,f){if(
|
||
a[1]==="not")if((d.exec(a[3])||"").length>1||/^\w/.
|
||
test(a[3]))a[3]=m(a[3],null,null,b);else{var g=m.filter
|
||
(a[3],b,c,!0^f);return c||e.push.apply(e,g),!1}else if(
|
||
o.match.POS.test(a[0])||o.match.CHILD.test(a[0]))return!0
|
||
;return a},POS:function(a){return a.unshift(!0),a}}
|
||
,filters:{enabled:function(a){return a.disabled===!1&&
|
||
a.type!=="hidden"},disabled:function(a){return a.disabled===!0
|
||
},checked:function(a){return a.checked===!0},selected
|
||
:function(a){return a.parentNode&&a.parentNode.selectedIndex
|
||
,a.selected===!0},parent:function(a){return!!a.firstChild
|
||
},empty:function(a){return!a.firstChild},has:function(
|
||
a,b,c){return!!m(c[3],a).length},header:function(a)
|
||
{return/h\d/i.test(a.nodeName)},text:function(a){var b=
|
||
a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase
|
||
()==="input"&&"text"===c&&(b===c||b===null)},radio:
|
||
function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===
|
||
a.type},checkbox:function(a){return a.nodeName.toLowerCase
|
||
()==="input"&&"checkbox"===a.type},file:function(a)
|
||
{return a.nodeName.toLowerCase()==="input"&&"file"===
|
||
a.type},password:function(a){return a.nodeName.toLowerCase
|
||
()==="input"&&"password"===a.type},submit:function(
|
||
a){var b=a.nodeName.toLowerCase();return(b==="input"||
|
||
b==="button")&&"submit"===a.type},image:function(a)
|
||
{return a.nodeName.toLowerCase()==="input"&&"image"===
|
||
a.type},reset:function(a){var b=a.nodeName.toLowerCase
|
||
();return(b==="input"||b==="button")&&"reset"===a.type
|
||
},button:function(a){var b=a.nodeName.toLowerCase()
|
||
;return b==="input"&&"button"===a.type||b==="button"
|
||
},input:function(a){return/input|select|textarea|button/i
|
||
.test(a.nodeName)},focus:function(a){return a===a.ownerDocument
|
||
.activeElement}},setFilters:{first:function(a,b){return b===0
|
||
},last:function(a,b,c,d){return b===d.length-1},even
|
||
:function(a,b){return b%2===0},odd:function(a,b){return b%2===1
|
||
},lt:function(a,b,c){return b<c[3]-0},gt:function(a
|
||
,b,c){return b>c[3]-0},nth:function(a,b,c){return c
|
||
[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter
|
||
:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e
|
||
];if(f)return f(a,c,b,d);if(e==="contains")return(a
|
||
.textContent||a.innerText||n([a])||"").indexOf(b[3]
|
||
)>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length
|
||
;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},
|
||
CHILD:function(a,b){var c,d,f,g,h,i,j,k=b[1],l=a;switch(
|
||
k){case"only":case"first":while(l=l.previousSibling
|
||
)if(l.nodeType===1)return!1;if(k==="first")return!0
|
||
;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1
|
||
)return!1;return!0;case"nth":c=b[2],d=b[3];if(c===1&&
|
||
d===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[e]!==
|
||
f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling
|
||
)l.nodeType===1&&(l.nodeIndex=++i);g[e]=f}return j=
|
||
a.nodeIndex-d,c===0?j===0:j%c===0&&j/c>=0}},ID:function(
|
||
a,b){return a.nodeType===1&&a.getAttribute("id")===
|
||
b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!
|
||
a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(
|
||
a,b){return(" "+(a.className||a.getAttribute("class"
|
||
))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1
|
||
],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle
|
||
[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b
|
||
[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null
|
||
:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+
|
||
e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf
|
||
(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?
|
||
e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1}
|
||
,POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e]
|
||
;if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(
|
||
a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match
|
||
[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/
|
||
.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/
|
||
.source+o.match[r].source.replace(/\\(\d+)/g,q));o.
|
||
match.globalPOS=p;var s=function(a,b){return a=Array
|
||
.prototype.slice.call(a,0),b?(b.push.apply(b,a),b):
|
||
a};try{Array.prototype.slice.call(G.documentElement
|
||
.childNodes,0)[0].nodeType}catch(t){s=function(a,b)
|
||
{var c=0,d=b||[];if(g.call(a)==="[object Array]")Array
|
||
.prototype.push.apply(d,a);else if(typeof a.length=="number"
|
||
)for(var e=a.length;c<e;c++)d.push(a[c]);else for(;
|
||
a[c];c++)d.push(a[c]);return d}}var u,v;G.documentElement
|
||
.compareDocumentPosition?u=function(a,b){return a===
|
||
b?(h=!0,0):!a.compareDocumentPosition||!b.compareDocumentPosition?
|
||
a.compareDocumentPosition?-1:1:a.compareDocumentPosition
|
||
(b)&4?-1:1}:(u=function(a,b){if(a===b)return h=!0,0
|
||
;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-
|
||
b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.
|
||
parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1
|
||
;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode
|
||
;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length
|
||
,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k]
|
||
)return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[
|
||
k],b,1)},v=function(a,b,c){if(a===b)return c;var d=
|
||
a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling
|
||
}return 1}),function(){var a=G.createElement("div")
|
||
,c="script"+(new Date).getTime(),d=G.documentElement
|
||
;a.innerHTML="<a name='"+c+"'/>",d.insertBefore(a,d
|
||
.firstChild),G.getElementById(c)&&(o.find.ID=function(
|
||
a,c,d){if(typeof c.getElementById!="undefined"&&!d)
|
||
{var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof
|
||
e.getAttributeNode!="undefined"&&e.getAttributeNode
|
||
("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(
|
||
a,b){var c=typeof a.getAttributeNode!="undefined"&&
|
||
a.getAttributeNode("id");return a.nodeType===1&&c&&
|
||
c.nodeValue===b}),d.removeChild(a),d=a=null}(),function(
|
||
){var a=G.createElement("div");a.appendChild(G.createComment
|
||
("")),a.getElementsByTagName("*").length>0&&(o.find
|
||
.TAG=function(a,b){var c=b.getElementsByTagName(a[1
|
||
]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e
|
||
].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>"
|
||
,a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&
|
||
a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle
|
||
.href=function(a){return a.getAttribute("href",2)})
|
||
,a=null}(),G.querySelectorAll&&function(){var a=m,b=
|
||
G.createElement("div"),c="__sizzle__";b.innerHTML="<p class='TEST'></p>"
|
||
;if(!b.querySelectorAll||b.querySelectorAll(".TEST"
|
||
).length!==0){m=function(b,d,e,f){d=d||G;if(!f&&!m.
|
||
isXML(d)){var g=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/
|
||
.exec(b);if(g&&(d.nodeType===1||d.nodeType===9)){if(
|
||
g[1])return s(d.getElementsByTagName(b),e);if(g[2]&&
|
||
o.find.CLASS&&d.getElementsByClassName)return s(d.getElementsByClassName
|
||
(g[2]),e)}if(d.nodeType===9){if(b==="body"&&d.body)
|
||
return s([d.body],e);if(g&&g[3]){var h=d.getElementById
|
||
(g[3]);if(!h||!h.parentNode)return s([],e);if(h.id===
|
||
g[3])return s([h],e)}try{return s(d.querySelectorAll
|
||
(b),e)}catch(i){}}else if(d.nodeType===1&&d.nodeName
|
||
.toLowerCase()!=="object"){var j=d,k=d.getAttribute
|
||
("id"),l=k||c,n=d.parentNode,p=/^\s*[+~]/.test(b);k?
|
||
l=l.replace(/'/g,"\\$&"):d.setAttribute("id",l),p&&
|
||
n&&(d=d.parentNode);try{if(!p||n)return s(d.querySelectorAll
|
||
("[id='"+l+"'] "+b),e)}catch(q){}finally{k||j.removeAttribute
|
||
("id")}}}return a(b,d,e,f)};for(var d in a)m[d]=a[d
|
||
];b=null}}(),function(){var a=G.documentElement,b=a
|
||
.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||
|
||
a.msMatchesSelector;if(b){var c=!b.call(G.createElement
|
||
("div"),"div"),d=!1;try{b.call(G.documentElement,"[test!='']:sizzle"
|
||
)}catch(e){d=!0}m.matchesSelector=function(a,e){e=e
|
||
.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML
|
||
(a))try{if(d||!o.match.PSEUDO.test(e)&&!/!=/.test(e
|
||
)){var f=b.call(a,e);if(f||!c||a.document&&a.document
|
||
.nodeType!==11)return f}}catch(g){}return m(e,null,
|
||
null,[a]).length>0}}}(),function(){var a=G.createElement
|
||
("div");a.innerHTML="<div class='test e'></div><div class='test'></div>"
|
||
;if(!!a.getElementsByClassName&&a.getElementsByClassName
|
||
("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName
|
||
("e").length===1)return;o.order.splice(1,0,"CLASS")
|
||
,o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!
|
||
c)return b.getElementsByClassName(a[1])},a=null}}()
|
||
,G.documentElement.contains?m.contains=function(a,b
|
||
){return a!==b&&(a.contains?a.contains(b):!0)}:G.documentElement
|
||
.compareDocumentPosition?m.contains=function(a,b){return!!
|
||
(a.compareDocumentPosition(b)&16)}:m.contains=function(
|
||
){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||
|
||
a:0).documentElement;return b?b.nodeName!=="HTML":!1
|
||
};var w=function(a,b,c){var d,e=[],f="",g=b.nodeType?
|
||
[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace
|
||
(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0
|
||
,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f
|
||
,e)};m.attr=J.attr,m.selectors.attrMap={},J.find=m,
|
||
J.expr=m.selectors,J.expr[":"]=J.expr.filters,J.unique=
|
||
m.uniqueSort,J.text=m.getText,J.isXMLDoc=m.isXML,J.
|
||
contains=m.contains}();var bh=/Until$/,bi=/^(?:parents|prevUntil|prevAll)/
|
||
,bj=/,/,bk=/^.[^:#\[\.,]*$/,bl=Array.prototype.slice
|
||
,bm=J.expr.match.globalPOS,bn={children:!0,contents
|
||
:!0,next:!0,prev:!0};J.fn.extend({find:function(a){
|
||
var b=this,c,d;if(typeof a!="string")return J(a).filter
|
||
(function(){for(c=0,d=b.length;c<d;c++)if(J.contains
|
||
(b[c],this))return!0});var e=this.pushStack("","find"
|
||
,a),f,g,h;for(c=0,d=this.length;c<d;c++){f=e.length
|
||
,J.find(a,this[c],e);if(c>0)for(g=f;g<e.length;g++)
|
||
for(h=0;h<f;h++)if(e[h]===e[g]){e.splice(g--,1);break}
|
||
}return e},has:function(a){var b=J(a);return this.filter
|
||
(function(){for(var a=0,c=b.length;a<c;a++)if(J.contains
|
||
(this,b[a]))return!0})},not:function(a){return this
|
||
.pushStack(y(this,a,!1),"not",a)},filter:function(a
|
||
){return this.pushStack(y(this,a,!0),"filter",a)},is
|
||
:function(a){return!!a&&(typeof a=="string"?bm.test
|
||
(a)?J(a,this.context).index(this[0])>=0:J.filter(a,
|
||
this).length>0:this.filter(a).length>0)},closest:function(
|
||
a,b){var c=[],d,e,f=this[0];if(J.isArray(a)){var g=1
|
||
;while(f&&f.ownerDocument&&f!==b){for(d=0;d<a.length
|
||
;d++)J(f).is(a[d])&&c.push({selector:a[d],elem:f,level
|
||
:g});f=f.parentNode,g++}return c}var h=bm.test(a)||typeof
|
||
a!="string"?J(a,b||this.context):0;for(d=0,e=this.length
|
||
;d<e;d++){f=this[d];while(f){if(h?h.index(f)>-1:J.find
|
||
.matchesSelector(f,a)){c.push(f);break}f=f.parentNode
|
||
;if(!f||!f.ownerDocument||f===b||f.nodeType===11)break}
|
||
}return c=c.length>1?J.unique(c):c,this.pushStack(c
|
||
,"closest",a)},index:function(a){return a?typeof a=="string"?
|
||
J.inArray(this[0],J(a)):J.inArray(a.jquery?a[0]:a,this
|
||
):this[0]&&this[0].parentNode?this.prevAll().length
|
||
:-1},add:function(a,b){var c=typeof a=="string"?J(a
|
||
,b):J.makeArray(a&&a.nodeType?[a]:a),d=J.merge(this
|
||
.get(),c);return this.pushStack(z(c[0])||z(d[0])?d:
|
||
J.unique(d))},andSelf:function(){return this.add(this
|
||
.prevObject)}}),J.each({parent:function(a){var b=a.
|
||
parentNode;return b&&b.nodeType!==11?b:null},parents
|
||
:function(a){return J.dir(a,"parentNode")},parentsUntil
|
||
:function(a,b,c){return J.dir(a,"parentNode",c)},next
|
||
:function(a){return J.nth(a,2,"nextSibling")},prev:
|
||
function(a){return J.nth(a,2,"previousSibling")},nextAll
|
||
:function(a){return J.dir(a,"nextSibling")},prevAll
|
||
:function(a){return J.dir(a,"previousSibling")},nextUntil
|
||
:function(a,b,c){return J.dir(a,"nextSibling",c)},prevUntil
|
||
:function(a,b,c){return J.dir(a,"previousSibling",c
|
||
)},siblings:function(a){return J.sibling((a.parentNode||
|
||
{}).firstChild,a)},children:function(a){return J.sibling
|
||
(a.firstChild)},contents:function(a){return J.nodeName
|
||
(a,"iframe")?a.contentDocument||a.contentWindow.document
|
||
:J.makeArray(a.childNodes)}},function(a,b){J.fn[a]=
|
||
function(c,d){var e=J.map(this,b,c);return bh.test(
|
||
a)||(d=c),d&&typeof d=="string"&&(e=J.filter(d,e)),
|
||
e=this.length>1&&!bn[a]?J.unique(e):e,(this.length>1||
|
||
bj.test(d))&&bi.test(a)&&(e=e.reverse()),this.pushStack
|
||
(e,a,bl.call(arguments).join(","))}}),J.extend({filter
|
||
:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?
|
||
J.find.matchesSelector(b[0],a)?[b[0]]:[]:J.find.matches
|
||
(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&
|
||
f.nodeType!==9&&(d===b||f.nodeType!==1||!J(f).is(d)
|
||
))f.nodeType===1&&e.push(f),f=f[c];return e},nth:function(
|
||
a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++
|
||
e===b)break;return a},sibling:function(a,b){var c=[
|
||
];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push
|
||
(a);return c}});var bo="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
|
||
,bp=/ jQuery\d+="(?:\d+|null)"/g,bq=/^\s+/,br=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig
|
||
,bs=/<([\w:]+)/,bt=/<tbody/i,bu=/<|&#?\w+;/,bv=/<(?:script|style)/i
|
||
,bw=/<(?:script|object|embed|option|style)/i,bx=new
|
||
RegExp("<(?:"+bo+")[\\s/>]","i"),by=/checked\s*(?:[^=]|=\s*.checked.)/i
|
||
,bz=/\/(java|ecma)script/i,bA=/^\s*<!(?:\[CDATA\[|\-\-)/
|
||
,bB={option:[1,"<select multiple='multiple'>","</select>"
|
||
],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>"
|
||
,"</table>"],tr:[2,"<table><tbody>","</tbody></table>"
|
||
],td:[3,"<table><tbody><tr>","</tr></tbody></table>"
|
||
],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"
|
||
],area:[1,"<map>","</map>"],_default:[0,"",""]},bC=
|
||
x(G);bB.optgroup=bB.option,bB.tbody=bB.tfoot=bB.colgroup=
|
||
bB.caption=bB.thead,bB.th=bB.td,J.support.htmlSerialize||
|
||
(bB._default=[1,"div<div>","</div>"]),J.fn.extend({
|
||
text:function(a){return J.access(this,function(a){return a===
|
||
b?J.text(this):this.empty().append((this[0]&&this[0
|
||
].ownerDocument||G).createTextNode(a))},null,a,arguments
|
||
.length)},wrapAll:function(a){if(J.isFunction(a))return this
|
||
.each(function(b){J(this).wrapAll(a.call(this,b))})
|
||
;if(this[0]){var b=J(a,this[0].ownerDocument).eq(0)
|
||
.clone(!0);this[0].parentNode&&b.insertBefore(this[0
|
||
]),b.map(function(){var a=this;while(a.firstChild&&
|
||
a.firstChild.nodeType===1)a=a.firstChild;return a})
|
||
.append(this)}return this},wrapInner:function(a){return J
|
||
.isFunction(a)?this.each(function(b){J(this).wrapInner
|
||
(a.call(this,b))}):this.each(function(){var b=J(this
|
||
),c=b.contents();c.length?c.wrapAll(a):b.append(a)}
|
||
)},wrap:function(a){var b=J.isFunction(a);return this
|
||
.each(function(c){J(this).wrapAll(b?a.call(this,c):
|
||
a)})},unwrap:function(){return this.parent().each(function(
|
||
){J.nodeName(this,"body")||J(this).replaceWith(this
|
||
.childNodes)}).end()},append:function(){return this
|
||
.domManip(arguments,!0,function(a){this.nodeType===1&&
|
||
this.appendChild(a)})},prepend:function(){return this
|
||
.domManip(arguments,!0,function(a){this.nodeType===1&&
|
||
this.insertBefore(a,this.firstChild)})},before:function(
|
||
){if(this[0]&&this[0].parentNode)return this.domManip
|
||
(arguments,!1,function(a){this.parentNode.insertBefore
|
||
(a,this)});if(arguments.length){var a=J.clean(arguments
|
||
);return a.push.apply(a,this.toArray()),this.pushStack
|
||
(a,"before",arguments)}},after:function(){if(this[0
|
||
]&&this[0].parentNode)return this.domManip(arguments
|
||
,!1,function(a){this.parentNode.insertBefore(a,this
|
||
.nextSibling)});if(arguments.length){var a=this.pushStack
|
||
(this,"after",arguments);return a.push.apply(a,J.clean
|
||
(arguments)),a}},remove:function(a,b){for(var c=0,d
|
||
;(d=this[c])!=null;c++)if(!a||J.filter(a,[d]).length
|
||
)!b&&d.nodeType===1&&(J.cleanData(d.getElementsByTagName
|
||
("*")),J.cleanData([d])),d.parentNode&&d.parentNode
|
||
.removeChild(d);return this},empty:function(){for(var a=0
|
||
,b;(b=this[a])!=null;a++){b.nodeType===1&&J.cleanData
|
||
(b.getElementsByTagName("*"));while(b.firstChild)b.
|
||
removeChild(b.firstChild)}return this},clone:function(
|
||
a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(
|
||
){return J.clone(this,a,b)})},html:function(a){return J
|
||
.access(this,function(a){var c=this[0]||{},d=0,e=this
|
||
.length;if(a===b)return c.nodeType===1?c.innerHTML.
|
||
replace(bp,""):null;if(typeof a=="string"&&!bv.test
|
||
(a)&&(J.support.leadingWhitespace||!bq.test(a))&&!bB
|
||
[(bs.exec(a)||["",""])[1].toLowerCase()]){a=a.replace
|
||
(br,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&
|
||
(J.cleanData(c.getElementsByTagName("*")),c.innerHTML=
|
||
a);c=0}catch(f){}}c&&this.empty().append(a)},null,a
|
||
,arguments.length)},replaceWith:function(a){return this
|
||
[0]&&this[0].parentNode?J.isFunction(a)?this.each(function(
|
||
b){var c=J(this),d=c.html();c.replaceWith(a.call(this
|
||
,b,d))}):(typeof a!="string"&&(a=J(a).detach()),this
|
||
.each(function(){var b=this.nextSibling,c=this.parentNode
|
||
;J(this).remove(),b?J(b).before(a):J(c).append(a)})
|
||
):this.length?this.pushStack(J(J.isFunction(a)?a():
|
||
a),"replaceWith",a):this},detach:function(a){return this
|
||
.remove(a,!0)},domManip:function(a,c,d){var e,f,g,h
|
||
,i=a[0],j=[];if(!J.support.checkClone&&arguments.length===3&&typeof
|
||
i=="string"&&by.test(i))return this.each(function()
|
||
{J(this).domManip(a,c,d,!0)});if(J.isFunction(i))return this
|
||
.each(function(e){var f=J(this);a[0]=i.call(this,e,
|
||
c?f.html():b),f.domManip(a,c,d)});if(this[0]){h=i&&
|
||
i.parentNode,J.support.parentNode&&h&&h.nodeType===11&&
|
||
h.childNodes.length===this.length?e={fragment:h}:e=
|
||
J.buildFragment(a,this,j),g=e.fragment,g.childNodes
|
||
.length===1?f=g=g.firstChild:f=g.firstChild;if(f){c=
|
||
c&&J.nodeName(f,"tr");for(var k=0,l=this.length,m=l-1
|
||
;k<l;k++)d.call(c?w(this[k],f):this[k],e.cacheable||
|
||
l>1&&k<m?J.clone(g,!0,!0):g)}j.length&&J.each(j,function(
|
||
a,b){b.src?J.ajax({type:"GET",global:!1,url:b.src,async
|
||
:!1,dataType:"script"}):J.globalEval((b.text||b.textContent||
|
||
b.innerHTML||"").replace(bA,"/*$0*/")),b.parentNode&&
|
||
b.parentNode.removeChild(b)})}return this}}),J.buildFragment=
|
||
function(a,b,c){var d,e,f,g,h=a[0];return b&&b[0]&&
|
||
(g=b[0].ownerDocument||b[0]),g.createDocumentFragment||
|
||
(g=G),a.length===1&&typeof h=="string"&&h.length<512&&
|
||
g===G&&h.charAt(0)==="<"&&!bw.test(h)&&(J.support.checkClone||!
|
||
by.test(h))&&(J.support.html5Clone||!bx.test(h))&&(
|
||
e=!0,f=J.fragments[h],f&&f!==1&&(d=f)),d||(d=g.createDocumentFragment
|
||
(),J.clean(a,g,d,c)),e&&(J.fragments[h]=f?d:1),{fragment
|
||
:d,cacheable:e}},J.fragments={},J.each({appendTo:"append"
|
||
,prependTo:"prepend",insertBefore:"before",insertAfter
|
||
:"after",replaceAll:"replaceWith"},function(a,b){J.
|
||
fn[a]=function(c){var d=[],e=J(c),f=this.length===1&&
|
||
this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes
|
||
.length===1&&e.length===1)return e[b](this[0]),this
|
||
;for(var g=0,h=e.length;g<h;g++){var i=(g>0?this.clone
|
||
(!0):this).get();J(e[g])[b](i),d=d.concat(i)}return this
|
||
.pushStack(d,a,e.selector)}}),J.extend({clone:function(
|
||
a,b,c){var d,e,f,g=J.support.html5Clone||J.isXMLDoc
|
||
(a)||!bx.test("<"+a.nodeName+">")?a.cloneNode(!0):q
|
||
(a);if((!J.support.noCloneEvent||!J.support.noCloneChecked
|
||
)&&(a.nodeType===1||a.nodeType===11)&&!J.isXMLDoc(a
|
||
)){u(a,g),d=t(a),e=t(g);for(f=0;d[f];++f)e[f]&&u(d[
|
||
f],e[f])}if(b){v(a,g);if(c){d=t(a),e=t(g);for(f=0;d
|
||
[f];++f)v(d[f],e[f])}}return d=e=null,g},clean:function(
|
||
a,b,c,d){var e,f,g,h=[];b=b||G,typeof b.createElement=="undefined"&&
|
||
(b=b.ownerDocument||b[0]&&b[0].ownerDocument||G);for(
|
||
var i=0,j;(j=a[i])!=null;i++){typeof j=="number"&&(
|
||
j+="");if(!j)continue;if(typeof j=="string")if(!bu.
|
||
test(j))j=b.createTextNode(j);else{j=j.replace(br,"<$1></$2>"
|
||
);var k=(bs.exec(j)||["",""])[1].toLowerCase(),l=bB
|
||
[k]||bB._default,m=l[0],n=b.createElement("div"),o=
|
||
bC.childNodes,p;b===G?bC.appendChild(n):x(b).appendChild
|
||
(n),n.innerHTML=l[1]+j+l[2];while(m--)n=n.lastChild
|
||
;if(!J.support.tbody){var q=bt.test(j),s=k==="table"&&!
|
||
q?n.firstChild&&n.firstChild.childNodes:l[1]==="<table>"&&!
|
||
q?n.childNodes:[];for(g=s.length-1;g>=0;--g)J.nodeName
|
||
(s[g],"tbody")&&!s[g].childNodes.length&&s[g].parentNode
|
||
.removeChild(s[g])}!J.support.leadingWhitespace&&bq
|
||
.test(j)&&n.insertBefore(b.createTextNode(bq.exec(j
|
||
)[0]),n.firstChild),j=n.childNodes,n&&(n.parentNode
|
||
.removeChild(n),o.length>0&&(p=o[o.length-1],p&&p.parentNode&&
|
||
p.parentNode.removeChild(p)))}var t;if(!J.support.appendChecked
|
||
)if(j[0]&&typeof (t=j.length)=="number")for(g=0;g<t
|
||
;g++)r(j[g]);else r(j);j.nodeType?h.push(j):h=J.merge
|
||
(h,j)}if(c){e=function(a){return!a.type||bz.test(a.
|
||
type)};for(i=0;h[i];i++){f=h[i];if(d&&J.nodeName(f,"script"
|
||
)&&(!f.type||bz.test(f.type)))d.push(f.parentNode?f
|
||
.parentNode.removeChild(f):f);else{if(f.nodeType===1
|
||
){var u=J.grep(f.getElementsByTagName("script"),e);
|
||
h.splice.apply(h,[i+1,0].concat(u))}c.appendChild(f
|
||
)}}}return h},cleanData:function(a){var b,c,d=J.cache
|
||
,e=J.event.special,f=J.support.deleteExpando;for(var g=0
|
||
,h;(h=a[g])!=null;g++){if(h.nodeName&&J.noData[h.nodeName
|
||
.toLowerCase()])continue;c=h[J.expando];if(c){b=d[c
|
||
];if(b&&b.events){for(var i in b.events)e[i]?J.event
|
||
.remove(h,i):J.removeEvent(h,i,b.handle);b.handle&&
|
||
(b.handle.elem=null)}f?delete h[J.expando]:h.removeAttribute&&
|
||
h.removeAttribute(J.expando),delete d[c]}}}});var bD=/alpha\([^)]*\)/i
|
||
,bE=/opacity=([^)]*)/,bF=/([A-Z]|^ms)/g,bG=/^[\-+]?(?:\d*\.)?\d+$/i
|
||
,bH=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bI=/^([\-+])=([\-+.\de]+)/
|
||
,bJ=/^margin/,bK={position:"absolute",visibility:"hidden"
|
||
,display:"block"},bL=["Top","Right","Bottom","Left"
|
||
],bM,bN,bO;J.fn.css=function(a,c){return J.access(this
|
||
,function(a,c,d){return d!==b?J.style(a,c,d):J.css(
|
||
a,c)},a,c,arguments.length>1)},J.extend({cssHooks:{
|
||
opacity:{get:function(a,b){if(b){var c=bM(a,"opacity"
|
||
);return c===""?"1":c}return a.style.opacity}}},cssNumber
|
||
:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity
|
||
:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps
|
||
:{"float":J.support.cssFloat?"cssFloat":"styleFloat"
|
||
},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a
|
||
.nodeType!==8&&!!a.style){var f,g,h=J.camelCase(c),
|
||
i=a.style,j=J.cssHooks[h];c=J.cssProps[h]||h;if(d===
|
||
b)return j&&"get"in j&&(f=j.get(a,!1,e))!==b?f:i[c]
|
||
;g=typeof d,g==="string"&&(f=bI.exec(d))&&(d=+(f[1]+1
|
||
)*+f[2]+parseFloat(J.css(a,c)),g="number");if(d==null||
|
||
g==="number"&&isNaN(d))return;g==="number"&&!J.cssNumber
|
||
[h]&&(d+="px");if(!j||!("set"in j)||(d=j.set(a,d))!==
|
||
b)try{i[c]=d}catch(k){}}},css:function(a,c,d){var e
|
||
,f;c=J.camelCase(c),f=J.cssHooks[c],c=J.cssProps[c]||
|
||
c,c==="cssFloat"&&(c="float");if(f&&"get"in f&&(e=f
|
||
.get(a,!0,d))!==b)return e;if(bM)return bM(a,c)},swap
|
||
:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style
|
||
[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[
|
||
f]=d[f];return e}}),J.curCSS=J.css,G.defaultView&&G
|
||
.defaultView.getComputedStyle&&(bN=function(a,b){var c
|
||
,d,e,f,g=a.style;return b=b.replace(bF,"-$1").toLowerCase
|
||
(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle
|
||
(a,null))&&(c=e.getPropertyValue(b),c===""&&!J.contains
|
||
(a.ownerDocument.documentElement,a)&&(c=J.style(a,b
|
||
))),!J.support.pixelMargin&&e&&bJ.test(b)&&bH.test(
|
||
c)&&(f=g.width,g.width=c,c=e.width,g.width=f),c}),G
|
||
.documentElement.currentStyle&&(bO=function(a,b){var c
|
||
,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;
|
||
return f==null&&g&&(e=g[b])&&(f=e),bH.test(f)&&(c=g
|
||
.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle
|
||
.left=a.currentStyle.left),g.left=b==="fontSize"?"1em"
|
||
:f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=
|
||
d)),f===""?"auto":f}),bM=bN||bO,J.each(["height","width"
|
||
],function(a,b){J.cssHooks[b]={get:function(a,c,d){
|
||
if(c)return a.offsetWidth!==0?p(a,b,d):J.swap(a,bK,
|
||
function(){return p(a,b,d)})},set:function(a,b){return bG
|
||
.test(b)?b+"px":b}}}),J.support.opacity||(J.cssHooks
|
||
.opacity={get:function(a,b){return bE.test((b&&a.currentStyle?
|
||
a.currentStyle.filter:a.style.filter)||"")?parseFloat
|
||
(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=
|
||
a.style,d=a.currentStyle,e=J.isNumeric(b)?"alpha(opacity="+
|
||
b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(
|
||
b>=1&&J.trim(f.replace(bD,""))===""){c.removeAttribute
|
||
("filter");if(d&&!d.filter)return}c.filter=bD.test(
|
||
f)?f.replace(bD,e):f+" "+e}}),J(function(){J.support
|
||
.reliableMarginRight||(J.cssHooks.marginRight={get:
|
||
function(a,b){return J.swap(a,{display:"inline-block"
|
||
},function(){return b?bM(a,"margin-right"):a.style.
|
||
marginRight})}})}),J.expr&&J.expr.filters&&(J.expr.
|
||
filters.hidden=function(a){var b=a.offsetWidth,c=a.
|
||
offsetHeight;return b===0&&c===0||!J.support.reliableHiddenOffsets&&
|
||
(a.style&&a.style.display||J.css(a,"display"))==="none"
|
||
},J.expr.filters.visible=function(a){return!J.expr.
|
||
filters.hidden(a)}),J.each({margin:"",padding:"",border
|
||
:"Width"},function(a,b){J.cssHooks[a+b]={expand:function(
|
||
c){var d,e=typeof c=="string"?c.split(" "):[c],f={}
|
||
;for(d=0;d<4;d++)f[a+bL[d]+b]=e[d]||e[d-2]||e[0];return f
|
||
}}});var bP=/%20/g,bQ=/\[\]$/,bR=/\r?\n/g,bS=/#.*$/
|
||
,bT=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bU=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i
|
||
,bV=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/
|
||
,bW=/^(?:GET|HEAD)$/,bX=/^\/\//,bY=/\?/,bZ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi
|
||
,b$=/^(?:select|textarea)/i,b_=/\s+/,ca=/([?&])_=[^&]*/
|
||
,cb=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/
|
||
,cc=J.fn.load,cd={},ce={},cf,cg,ch=["*/"]+["*"];try{
|
||
cf=I.href}catch(ci){cf=G.createElement("a"),cf.href=""
|
||
,cf=cf.href}cg=cb.exec(cf.toLowerCase())||[],J.fn.extend
|
||
({load:function(a,c,d){if(typeof a!="string"&&cc)return cc
|
||
.apply(this,arguments);if(!this.length)return this;
|
||
var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length
|
||
);a=a.slice(0,e)}var g="GET";c&&(J.isFunction(c)?(d=
|
||
c,c=b):typeof c=="object"&&(c=J.param(c,J.ajaxSettings
|
||
.traditional),g="POST"));var h=this;return J.ajax({
|
||
url:a,type:g,dataType:"html",data:c,complete:function(
|
||
a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(
|
||
a){c=a}),h.html(f?J("<div>").append(c.replace(bZ,""
|
||
)).find(f):c)),d&&h.each(d,[c,b,a])}}),this},serialize
|
||
:function(){return J.param(this.serializeArray())},
|
||
serializeArray:function(){return this.map(function(
|
||
){return this.elements?J.makeArray(this.elements):this
|
||
}).filter(function(){return this.name&&!this.disabled&&
|
||
(this.checked||b$.test(this.nodeName)||bU.test(this
|
||
.type))}).map(function(a,b){var c=J(this).val();return c==
|
||
null?null:J.isArray(c)?J.map(c,function(a,c){return{
|
||
name:b.name,value:a.replace(bR,"\r\n")}}):{name:b.name
|
||
,value:c.replace(bR,"\r\n")}}).get()}}),J.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend"
|
||
.split(" "),function(a,b){J.fn[b]=function(a){return this
|
||
.on(b,a)}}),J.each(["get","post"],function(a,c){J[c
|
||
]=function(a,d,e,f){return J.isFunction(d)&&(f=f||e
|
||
,e=d,d=b),J.ajax({type:c,url:a,data:d,success:e,dataType
|
||
:f})}}),J.extend({getScript:function(a,c){return J.
|
||
get(a,b,c,"script")},getJSON:function(a,b,c){return J
|
||
.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?
|
||
m(a,J.ajaxSettings):(b=a,a=J.ajaxSettings),m(a,b),a
|
||
},ajaxSettings:{url:cf,isLocal:bV.test(cg[1]),global
|
||
:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8"
|
||
,processData:!0,async:!0,accepts:{xml:"application/xml, text/xml"
|
||
,html:"text/html",text:"text/plain",json:"application/json, text/javascript"
|
||
,"*":ch},contents:{xml:/xml/,html:/html/,json:/json/
|
||
},responseFields:{xml:"responseXML",text:"responseText"
|
||
},converters:{"* text":a.String,"text html":!0,"text json"
|
||
:J.parseJSON,"text xml":J.parseXML},flatOptions:{context
|
||
:!0,url:!0}},ajaxPrefilter:o(cd),ajaxTransport:o(ce
|
||
),ajax:function(a,c){function d(a,c,d,n){if(v!==2){
|
||
v=2,t&&clearTimeout(t),s=b,q=n||"",y.readyState=a>0?4
|
||
:0;var o,p,r,u=c,x=d?k(e,y,d):b,z,A;if(a>=200&&a<300||
|
||
a===304){if(e.ifModified){if(z=y.getResponseHeader("Last-Modified"
|
||
))J.lastModified[m]=z;if(A=y.getResponseHeader("Etag"
|
||
))J.etag[m]=A}if(a===304)u="notmodified",o=!0;else try{
|
||
p=j(e,x),u="success",o=!0}catch(B){u="parsererror",
|
||
r=B}}else{r=u;if(!u||a)u="error",a<0&&(a=0)}y.status=
|
||
a,y.statusText=""+(c||u),o?h.resolveWith(f,[p,u,y])
|
||
:h.rejectWith(f,[y,u,r]),y.statusCode(l),l=b,w&&g.trigger
|
||
("ajax"+(o?"Success":"Error"),[y,e,o?p:r]),i.fireWith
|
||
(f,[y,u]),w&&(g.trigger("ajaxComplete",[y,e]),--J.active||
|
||
J.event.trigger("ajaxStop"))}}typeof a=="object"&&(
|
||
c=a,a=b),c=c||{};var e=J.ajaxSetup({},c),f=e.context||
|
||
e,g=f!==e&&(f.nodeType||f instanceof J)?J(f):J.event
|
||
,h=J.Deferred(),i=J.Callbacks("once memory"),l=e.statusCode||
|
||
{},m,o={},p={},q,r,s,t,u,v=0,w,x,y={readyState:0,setRequestHeader
|
||
:function(a,b){if(!v){var c=a.toLowerCase();a=p[c]=
|
||
p[c]||a,o[a]=b}return this},getAllResponseHeaders:function(
|
||
){return v===2?q:null},getResponseHeader:function(a
|
||
){var c;if(v===2){if(!r){r={};while(c=bT.exec(q))r[
|
||
c[1].toLowerCase()]=c[2]}c=r[a.toLowerCase()]}return c===
|
||
b?null:c},overrideMimeType:function(a){return v||(e
|
||
.mimeType=a),this},abort:function(a){return a=a||"abort"
|
||
,s&&s.abort(a),d(0,a),this}};h.promise(y),y.success=
|
||
y.done,y.error=y.fail,y.complete=i.add,y.statusCode=
|
||
function(a){if(a){var b;if(v<2)for(b in a)l[b]=[l[b
|
||
],a[b]];else b=a[y.status],y.then(b,b)}return this}
|
||
,e.url=((a||e.url)+"").replace(bS,"").replace(bX,cg
|
||
[1]+"//"),e.dataTypes=J.trim(e.dataType||"*").toLowerCase
|
||
().split(b_),e.crossDomain==null&&(u=cb.exec(e.url.
|
||
toLowerCase()),e.crossDomain=!(!u||u[1]==cg[1]&&u[2
|
||
]==cg[2]&&(u[3]||(u[1]==="http:"?80:443))==(cg[3]||
|
||
(cg[1]==="http:"?80:443)))),e.data&&e.processData&&typeof
|
||
e.data!="string"&&(e.data=J.param(e.data,e.traditional
|
||
)),n(cd,e,c,y);if(v===2)return!1;w=e.global,e.type=
|
||
e.type.toUpperCase(),e.hasContent=!bW.test(e.type),
|
||
w&&J.active++===0&&J.event.trigger("ajaxStart");if(!
|
||
e.hasContent){e.data&&(e.url+=(bY.test(e.url)?"&":"?"
|
||
)+e.data,delete e.data),m=e.url;if(e.cache===!1){var z=
|
||
J.now(),A=e.url.replace(ca,"$1_="+z);e.url=A+(A===e
|
||
.url?(bY.test(e.url)?"&":"?")+"_="+z:"")}}(e.data&&
|
||
e.hasContent&&e.contentType!==!1||c.contentType)&&y
|
||
.setRequestHeader("Content-Type",e.contentType),e.ifModified&&
|
||
(m=m||e.url,J.lastModified[m]&&y.setRequestHeader("If-Modified-Since"
|
||
,J.lastModified[m]),J.etag[m]&&y.setRequestHeader("If-None-Match"
|
||
,J.etag[m])),y.setRequestHeader("Accept",e.dataTypes
|
||
[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes
|
||
[0]]+(e.dataTypes[0]!=="*"?", "+ch+"; q=0.01":""):e
|
||
.accepts["*"]);for(x in e.headers)y.setRequestHeader
|
||
(x,e.headers[x]);if(!e.beforeSend||e.beforeSend.call
|
||
(f,y,e)!==!1&&v!==2){for(x in{success:1,error:1,complete
|
||
:1})y[x](e[x]);s=n(ce,e,c,y);if(!s)d(-1,"No Transport"
|
||
);else{y.readyState=1,w&&g.trigger("ajaxSend",[y,e]
|
||
),e.async&&e.timeout>0&&(t=setTimeout(function(){y.
|
||
abort("timeout")},e.timeout));try{v=1,s.send(o,d)}catch(
|
||
B){if(v<2)d(-1,B);else throw B}}return y}return y.abort
|
||
(),!1},param:function(a,c){var d=[],e=function(a,b)
|
||
{b=J.isFunction(b)?b():b,d[d.length]=encodeURIComponent
|
||
(a)+"="+encodeURIComponent(b)};c===b&&(c=J.ajaxSettings
|
||
.traditional);if(J.isArray(a)||a.jquery&&!J.isPlainObject
|
||
(a))J.each(a,function(){e(this.name,this.value)});else for(
|
||
var f in a)l(f,a[f],c,e);return d.join("&").replace
|
||
(bP,"+")}}),J.extend({active:0,lastModified:{},etag
|
||
:{}});var cj=J.now(),ck=/(\=)\?(&|$)|\?\?/i;J.ajaxSetup
|
||
({jsonp:"callback",jsonpCallback:function(){return J
|
||
.expando+"_"+cj++}}),J.ajaxPrefilter("json jsonp",function(
|
||
b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/
|
||
.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b
|
||
.jsonp!==!1&&(ck.test(b.url)||e&&ck.test(b.data))){
|
||
var f,g=b.jsonpCallback=J.isFunction(b.jsonpCallback
|
||
)?b.jsonpCallback():b.jsonpCallback,h=a[g],i=b.url,
|
||
j=b.data,k="$1"+g+"$2";return b.jsonp!==!1&&(i=i.replace
|
||
(ck,k),b.url===i&&(e&&(j=j.replace(ck,k)),b.data===
|
||
j&&(i+=(/\?/.test(i)?"&":"?")+b.jsonp+"="+g))),b.url=
|
||
i,b.data=j,a[g]=function(a){f=[a]},d.always(function(
|
||
){a[g]=h,f&&J.isFunction(h)&&a[g](f[0])}),b.converters
|
||
["script json"]=function(){return f||J.error(g+" was not called"
|
||
),f[0]},b.dataTypes[0]="json","script"}}),J.ajaxSetup
|
||
({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
|
||
},contents:{script:/javascript|ecmascript/},converters
|
||
:{"text script":function(a){return J.globalEval(a),
|
||
a}}}),J.ajaxPrefilter("script",function(a){a.cache===
|
||
b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1
|
||
)}),J.ajaxTransport("script",function(a){if(a.crossDomain
|
||
){var c,d=G.head||G.getElementsByTagName("head")[0]||
|
||
G.documentElement;return{send:function(e,f){c=G.createElement
|
||
("script"),c.async="async",a.scriptCharset&&(c.charset=
|
||
a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=
|
||
function(a,e){if(e||!c.readyState||/loaded|complete/
|
||
.test(c.readyState))c.onload=c.onreadystatechange=null
|
||
,d&&c.parentNode&&d.removeChild(c),c=b,e||f(200,"success"
|
||
)},d.insertBefore(c,d.firstChild)},abort:function()
|
||
{c&&c.onload(0,1)}}}});var cl=a.ActiveXObject?function(
|
||
){for(var a in cn)cn[a](0,1)}:!1,cm=0,cn;J.ajaxSettings
|
||
.xhr=a.ActiveXObject?function(){return!this.isLocal&&
|
||
i()||h()}:i,function(a){J.extend(J.support,{ajax:!!
|
||
a,cors:!!a&&"withCredentials"in a})}(J.ajaxSettings
|
||
.xhr()),J.support.ajax&&J.ajaxTransport(function(c)
|
||
{if(!c.crossDomain||J.support.cors){var d;return{send
|
||
:function(e,f){var g=c.xhr(),h,i;c.username?g.open(
|
||
c.type,c.url,c.async,c.username,c.password):g.open(
|
||
c.type,c.url,c.async);if(c.xhrFields)for(i in c.xhrFields
|
||
)g[i]=c.xhrFields[i];c.mimeType&&g.overrideMimeType&&
|
||
g.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"
|
||
]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(
|
||
i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(
|
||
c.hasContent&&c.data||null),d=function(a,e){var i,j
|
||
,k,l,m;try{if(d&&(e||g.readyState===4)){d=b,h&&(g.onreadystatechange=
|
||
J.noop,cl&&delete cn[h]);if(e)g.readyState!==4&&g.abort
|
||
();else{i=g.status,k=g.getAllResponseHeaders(),l={}
|
||
,m=g.responseXML,m&&m.documentElement&&(l.xml=m);try{
|
||
l.text=g.responseText}catch(a){}try{j=g.statusText}
|
||
catch(n){j=""}!i&&c.isLocal&&!c.crossDomain?i=l.text?200
|
||
:404:i===1223&&(i=204)}}}catch(o){e||f(-1,o)}l&&f(i
|
||
,j,l,k)},!c.async||g.readyState===4?d():(h=++cm,cl&&
|
||
(cn||(cn={},J(a).unload(cl)),cn[h]=d),g.onreadystatechange=
|
||
d)},abort:function(){d&&d(0,1)}}}});var co={},cp,cq
|
||
,cr=/^(?:toggle|show|hide)$/,cs=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i
|
||
,ct,cu=[["height","marginTop","marginBottom","paddingTop"
|
||
,"paddingBottom"],["width","marginLeft","marginRight"
|
||
,"paddingLeft","paddingRight"],["opacity"]],cv;J.fn
|
||
.extend({show:function(a,b,c){var f,g;if(a||a===0)return this
|
||
.animate(e("show",3),a,b,c);for(var h=0,i=this.length
|
||
;h<i;h++)f=this[h],f.style&&(g=f.style.display,!J._data
|
||
(f,"olddisplay")&&g==="none"&&(g=f.style.display=""
|
||
),(g===""&&J.css(f,"display")==="none"||!J.contains
|
||
(f.ownerDocument.documentElement,f))&&J._data(f,"olddisplay"
|
||
,d(f.nodeName)));for(h=0;h<i;h++){f=this[h];if(f.style
|
||
){g=f.style.display;if(g===""||g==="none")f.style.display=
|
||
J._data(f,"olddisplay")||""}}return this},hide:function(
|
||
a,b,c){if(a||a===0)return this.animate(e("hide",3),
|
||
a,b,c);var d,f,g=0,h=this.length;for(;g<h;g++)d=this
|
||
[g],d.style&&(f=J.css(d,"display"),f!=="none"&&!J._data
|
||
(d,"olddisplay")&&J._data(d,"olddisplay",f));for(g=0
|
||
;g<h;g++)this[g].style&&(this[g].style.display="none"
|
||
);return this},_toggle:J.fn.toggle,toggle:function(
|
||
a,b,c){var d=typeof a=="boolean";return J.isFunction
|
||
(a)&&J.isFunction(b)?this._toggle.apply(this,arguments
|
||
):a==null||d?this.each(function(){var b=d?a:J(this)
|
||
.is(":hidden");J(this)[b?"show":"hide"]()}):this.animate
|
||
(e("toggle",3),a,b,c),this},fadeTo:function(a,b,c,d
|
||
){return this.filter(":hidden").css("opacity",0).show
|
||
().end().animate({opacity:b},a,c,d)},animate:function(
|
||
a,b,c,e){function f(){g.queue===!1&&J._mark(this);var b=
|
||
J.extend({},g),c=this.nodeType===1,e=c&&J(this).is(":hidden"
|
||
),f,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(
|
||
i in a){f=J.camelCase(i),i!==f&&(a[f]=a[i],delete a
|
||
[i]);if((k=J.cssHooks[f])&&"expand"in k){l=k.expand
|
||
(a[f]),delete a[f];for(i in l)i in a||(a[i]=l[i])}}
|
||
for(f in a){h=a[f],J.isArray(h)?(b.animatedProperties
|
||
[f]=h[1],h=a[f]=h[0]):b.animatedProperties[f]=b.specialEasing&&
|
||
b.specialEasing[f]||b.easing||"swing";if(h==="hide"&&
|
||
e||h==="show"&&!e)return b.complete.call(this);c&&(
|
||
f==="height"||f==="width")&&(b.overflow=[this.style
|
||
.overflow,this.style.overflowX,this.style.overflowY
|
||
],J.css(this,"display")==="inline"&&J.css(this,"float"
|
||
)==="none"&&(!J.support.inlineBlockNeedsLayout||d(this
|
||
.nodeName)==="inline"?this.style.display="inline-block"
|
||
:this.style.zoom=1))}b.overflow!=null&&(this.style.
|
||
overflow="hidden");for(i in a)j=new J.fx(this,b,i),
|
||
h=a[i],cr.test(h)?(q=J._data(this,"toggle"+i)||(h==="toggle"?
|
||
e?"show":"hide":0),q?(J._data(this,"toggle"+i,q==="show"?"hide"
|
||
:"show"),j[q]()):j[h]()):(m=cs.exec(h),n=j.cur(),m?
|
||
(o=parseFloat(m[2]),p=m[3]||(J.cssNumber[i]?"":"px"
|
||
),p!=="px"&&(J.style(this,i,(o||1)+p),n=(o||1)/j.cur
|
||
()*n,J.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1
|
||
)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}
|
||
var g=J.speed(b,c,e);return J.isEmptyObject(a)?this
|
||
.each(g.complete,[!1]):(a=J.extend({},a),g.queue===!1?
|
||
this.each(f):this.queue(g.queue,f))},stop:function(
|
||
a,c,d){return typeof a!="string"&&(d=c,c=a,a=b),c&&
|
||
a!==!1&&this.queue(a||"fx",[]),this.each(function()
|
||
{function b(a,b,c){var e=b[c];J.removeData(a,c,!0),
|
||
e.stop(d)}var c,e=!1,f=J.timers,g=J._data(this);d||
|
||
J._unmark(!0,this);if(a==null)for(c in g)g[c]&&g[c]
|
||
.stop&&c.indexOf(".run")===c.length-4&&b(this,g,c);
|
||
else g[c=a+".run"]&&g[c].stop&&b(this,g,c);for(c=f.
|
||
length;c--;)f[c].elem===this&&(a==null||f[c].queue===
|
||
a)&&(d?f[c](!0):f[c].saveState(),e=!0,f.splice(c,1)
|
||
);(!d||!e)&&J.dequeue(this,a)})}}),J.each({slideDown
|
||
:e("show",1),slideUp:e("hide",1),slideToggle:e("toggle"
|
||
,1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"
|
||
},fadeToggle:{opacity:"toggle"}},function(a,b){J.fn
|
||
[a]=function(a,c,d){return this.animate(b,a,c,d)}})
|
||
,J.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?
|
||
J.extend({},a):{complete:c||!c&&b||J.isFunction(a)&&
|
||
a,duration:a,easing:c&&b||b&&!J.isFunction(b)&&b};d
|
||
.duration=J.fx.off?0:typeof d.duration=="number"?d.
|
||
duration:d.duration in J.fx.speeds?J.fx.speeds[d.duration
|
||
]:J.fx.speeds._default;if(d.queue==null||d.queue===!0
|
||
)d.queue="fx";return d.old=d.complete,d.complete=function(
|
||
a){J.isFunction(d.old)&&d.old.call(this),d.queue?J.
|
||
dequeue(this,d.queue):a!==!1&&J._unmark(this)},d},easing
|
||
:{linear:function(a){return a},swing:function(a){return-
|
||
Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,
|
||
b,c){this.options=b,this.elem=a,this.prop=c,b.orig=
|
||
b.orig||{}}}),J.fx.prototype={update:function(){this
|
||
.options.step&&this.options.step.call(this.elem,this
|
||
.now,this),(J.fx.step[this.prop]||J.fx.step._default
|
||
)(this)},cur:function(){if(this.elem[this.prop]==null||!!
|
||
this.elem.style&&this.elem.style[this.prop]!=null){
|
||
var a,b=J.css(this.elem,this.prop);return isNaN(a=parseFloat
|
||
(b))?!b||b==="auto"?0:b:a}return this.elem[this.prop
|
||
]},custom:function(a,c,d){function e(a){return f.step
|
||
(a)}var f=this,h=J.fx;this.startTime=cv||g(),this.end=
|
||
c,this.now=this.start=a,this.pos=this.state=0,this.
|
||
unit=d||this.unit||(J.cssNumber[this.prop]?"":"px")
|
||
,e.queue=this.options.queue,e.elem=this.elem,e.saveState=
|
||
function(){J._data(f.elem,"fxshow"+f.prop)===b&&(f.
|
||
options.hide?J._data(f.elem,"fxshow"+f.prop,f.start
|
||
):f.options.show&&J._data(f.elem,"fxshow"+f.prop,f.
|
||
end))},e()&&J.timers.push(e)&&!ct&&(ct=setInterval(
|
||
h.tick,h.interval))},show:function(){var a=J._data(
|
||
this.elem,"fxshow"+this.prop);this.options.orig[this
|
||
.prop]=a||J.style(this.elem,this.prop),this.options
|
||
.show=!0,a!==b?this.custom(this.cur(),a):this.custom
|
||
(this.prop==="width"||this.prop==="height"?1:0,this
|
||
.cur()),J(this.elem).show()},hide:function(){this.options
|
||
.orig[this.prop]=J._data(this.elem,"fxshow"+this.prop
|
||
)||J.style(this.elem,this.prop),this.options.hide=!0
|
||
,this.custom(this.cur(),0)},step:function(a){var b,
|
||
c,d,e=cv||g(),f=!0,h=this.elem,i=this.options;if(a||
|
||
e>=i.duration+this.startTime){this.now=this.end,this
|
||
.pos=this.state=1,this.update(),i.animatedProperties
|
||
[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties
|
||
[b]!==!0&&(f=!1);if(f){i.overflow!=null&&!J.support
|
||
.shrinkWrapBlocks&&J.each(["","X","Y"],function(a,b
|
||
){h.style["overflow"+b]=i.overflow[a]}),i.hide&&J(h
|
||
).hide();if(i.hide||i.show)for(b in i.animatedProperties
|
||
)J.style(h,b,i.orig[b]),J.removeData(h,"fxshow"+b,!0
|
||
),J.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.
|
||
complete=!1,d.call(h))}return!1}return i.duration==
|
||
Infinity?this.now=e:(c=e-this.startTime,this.state=
|
||
c/i.duration,this.pos=J.easing[i.animatedProperties
|
||
[this.prop]](this.state,c,0,1,i.duration),this.now=
|
||
this.start+(this.end-this.start)*this.pos),this.update
|
||
(),!0}},J.extend(J.fx,{tick:function(){var a,b=J.timers
|
||
,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice
|
||
(c--,1);b.length||J.fx.stop()},interval:13,stop:function(
|
||
){clearInterval(ct),ct=null},speeds:{slow:600,fast:200
|
||
,_default:400},step:{opacity:function(a){J.style(a.
|
||
elem,"opacity",a.now)},_default:function(a){a.elem.
|
||
style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop
|
||
]=a.now+a.unit:a.elem[a.prop]=a.now}}}),J.each(cu.concat
|
||
.apply([],cu),function(a,b){b.indexOf("margin")&&(J
|
||
.fx.step[b]=function(a){J.style(a.elem,b,Math.max(0
|
||
,a.now)+a.unit)})}),J.expr&&J.expr.filters&&(J.expr
|
||
.filters.animated=function(a){return J.grep(J.timers
|
||
,function(b){return a===b.elem}).length});var cw,cx=/^t(?:able|d|h)$/i
|
||
,cy=/^(?:body|html)$/i;"getBoundingClientRect"in G.
|
||
documentElement?cw=function(a,b,d,e){try{e=a.getBoundingClientRect
|
||
()}catch(f){}if(!e||!J.contains(d,a))return e?{top:
|
||
e.top,left:e.left}:{top:0,left:0};var g=b.body,h=c(
|
||
b),i=d.clientTop||g.clientTop||0,j=d.clientLeft||g.
|
||
clientLeft||0,k=h.pageYOffset||J.support.boxModel&&
|
||
d.scrollTop||g.scrollTop,l=h.pageXOffset||J.support
|
||
.boxModel&&d.scrollLeft||g.scrollLeft,m=e.top+k-i,n=
|
||
e.left+l-j;return{top:m,left:n}}:cw=function(a,b,c)
|
||
{var d,e=a.offsetParent,f=a,g=b.body,h=b.defaultView
|
||
,i=h?h.getComputedStyle(a,null):a.currentStyle,j=a.
|
||
offsetTop,k=a.offsetLeft;while((a=a.parentNode)&&a!==
|
||
g&&a!==c){if(J.support.fixedPosition&&i.position==="fixed"
|
||
)break;d=h?h.getComputedStyle(a,null):a.currentStyle
|
||
,j-=a.scrollTop,k-=a.scrollLeft,a===e&&(j+=a.offsetTop
|
||
,k+=a.offsetLeft,J.support.doesNotAddBorder&&(!J.support
|
||
.doesAddBorderForTableAndCells||!cx.test(a.nodeName
|
||
))&&(j+=parseFloat(d.borderTopWidth)||0,k+=parseFloat
|
||
(d.borderLeftWidth)||0),f=e,e=a.offsetParent),J.support
|
||
.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&
|
||
(j+=parseFloat(d.borderTopWidth)||0,k+=parseFloat(d
|
||
.borderLeftWidth)||0),i=d}if(i.position==="relative"||
|
||
i.position==="static")j+=g.offsetTop,k+=g.offsetLeft
|
||
;return J.support.fixedPosition&&i.position==="fixed"&&
|
||
(j+=Math.max(c.scrollTop,g.scrollTop),k+=Math.max(c
|
||
.scrollLeft,g.scrollLeft)),{top:j,left:k}},J.fn.offset=
|
||
function(a){if(arguments.length)return a===b?this:this
|
||
.each(function(b){J.offset.setOffset(this,a,b)});var c=
|
||
this[0],d=c&&c.ownerDocument;return d?c===d.body?J.
|
||
offset.bodyOffset(c):cw(c,d,d.documentElement):null
|
||
},J.offset={bodyOffset:function(a){var b=a.offsetTop
|
||
,c=a.offsetLeft;return J.support.doesNotIncludeMarginInBodyOffset&&
|
||
(b+=parseFloat(J.css(a,"marginTop"))||0,c+=parseFloat
|
||
(J.css(a,"marginLeft"))||0),{top:b,left:c}},setOffset
|
||
:function(a,b,c){var d=J.css(a,"position");d==="static"&&
|
||
(a.style.position="relative");var e=J(a),f=e.offset
|
||
(),g=J.css(a,"top"),h=J.css(a,"left"),i=(d==="absolute"||
|
||
d==="fixed")&&J.inArray("auto",[g,h])>-1,j={},k={},
|
||
l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat
|
||
(g)||0,m=parseFloat(h)||0),J.isFunction(b)&&(b=b.call
|
||
(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=
|
||
null&&(j.left=b.left-f.left+m),"using"in b?b.using.
|
||
call(a,j):e.css(j)}},J.fn.extend({position:function(
|
||
){if(!this[0])return null;var a=this[0],b=this.offsetParent
|
||
(),c=this.offset(),d=cy.test(b[0].nodeName)?{top:0,
|
||
left:0}:b.offset();return c.top-=parseFloat(J.css(a
|
||
,"marginTop"))||0,c.left-=parseFloat(J.css(a,"marginLeft"
|
||
))||0,d.top+=parseFloat(J.css(b[0],"borderTopWidth"
|
||
))||0,d.left+=parseFloat(J.css(b[0],"borderLeftWidth"
|
||
))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent
|
||
:function(){return this.map(function(){var a=this.offsetParent||
|
||
G.body;while(a&&!cy.test(a.nodeName)&&J.css(a,"position"
|
||
)==="static")a=a.offsetParent;return a})}}),J.each(
|
||
{scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},
|
||
function(a,d){var e=/Y/.test(d);J.fn[a]=function(f)
|
||
{return J.access(this,function(a,f,g){var h=c(a);if(
|
||
g===b)return h?d in h?h[d]:J.support.boxModel&&h.document
|
||
.documentElement[f]||h.document.body[f]:a[f];h?h.scrollTo
|
||
(e?J(h).scrollLeft():g,e?g:J(h).scrollTop()):a[f]=g
|
||
},a,f,arguments.length,null)}}),J.each({Height:"height"
|
||
,Width:"width"},function(a,c){var d="client"+a,e="scroll"+
|
||
a,f="offset"+a;J.fn["inner"+a]=function(){var a=this
|
||
[0];return a?a.style?parseFloat(J.css(a,c,"padding"
|
||
)):this[c]():null},J.fn["outer"+a]=function(a){var b=
|
||
this[0];return b?b.style?parseFloat(J.css(b,c,a?"margin"
|
||
:"border")):this[c]():null},J.fn[c]=function(a){return J
|
||
.access(this,function(a,c,g){var h,i,j,k;if(J.isWindow
|
||
(a))return h=a.document,i=h.documentElement[d],J.support
|
||
.boxModel&&i||h.body&&h.body[d]||i;if(a.nodeType===9
|
||
)return h=a.documentElement,h[d]>=h[e]?h[d]:Math.max
|
||
(a.body[e],h[e],a.body[f],h[f]);if(g===b)return j=J
|
||
.css(a,c),k=parseFloat(j),J.isNumeric(k)?k:j;J(a).css
|
||
(c,g)},c,a,arguments.length,null)}}),a.jQuery=a.$=J
|
||
,typeof define=="function"&&define.amd&&define.amd.
|
||
jQuery&&define("jquery",[],function(){return J})})(
|
||
window),minispade={root:null,modules:{},loaded:{},globalEval
|
||
:function(a){a&&(window.execScript||function(a){window
|
||
.eval.call(window,a)})(a)},require:function(a){var b=
|
||
minispade.loaded[a],c=minispade.modules[a];if(!b)if(
|
||
c)minispade.loaded[a]=!0,typeof c=="string"?this.globalEval
|
||
(c):c();else{if(minispade.root&&a.substr(0,minispade
|
||
.root.length)!==minispade.root)return minispade.require
|
||
(minispade.root+a);throw"The module '"+a+"' could not be found"
|
||
}return b},requireAll:function(a){for(var b in this
|
||
.modules){if(!this.modules.hasOwnProperty(b))continue;
|
||
if(a&&!a.test(b))continue;minispade.require(b)}},register
|
||
:function(a,b){minispade.modules[a]=b}},this.Handlebars=
|
||
{},function(){Handlebars.VERSION="1.0.rc.1",Handlebars
|
||
.helpers={},Handlebars.partials={},Handlebars.registerHelper=
|
||
function(a,b,c){c&&(b.not=c),this.helpers[a]=b},Handlebars
|
||
.registerPartial=function(a,b){this.partials[a]=b},
|
||
Handlebars.registerHelper("helperMissing",function(
|
||
a){if(arguments.length===2)return undefined;throw new
|
||
Error("Could not find property '"+a+"'")});var a=Object
|
||
.prototype.toString,b="[object Function]";Handlebars
|
||
.registerHelper("blockHelperMissing",function(c,d){
|
||
var e=d.inverse||function(){},f=d.fn,g="",h=a.call(
|
||
c);h===b&&(c=c.call(this));if(c===!0)return f(this)
|
||
;if(c===!1||c==null)return e(this);if(h==="[object Array]"
|
||
){if(c.length>0)for(var i=0,j=c.length;i<j;i++)g+=f
|
||
(c[i]);else g=e(this);return g}return f(c)}),Handlebars
|
||
.registerHelper("each",function(a,b){var c=b.fn,d=b
|
||
.inverse,e="";if(a&&a.length>0)for(var f=0,g=a.length
|
||
;f<g;f++)e+=c(a[f]);else e=d(this);return e}),Handlebars
|
||
.registerHelper("if",function(c,d){var e=a.call(c);
|
||
return e===b&&(c=c.call(this)),!c||Handlebars.Utils
|
||
.isEmpty(c)?d.inverse(this):d.fn(this)}),Handlebars
|
||
.registerHelper("unless",function(a,b){var c=b.fn,d=
|
||
b.inverse;return b.fn=d,b.inverse=c,Handlebars.helpers
|
||
["if"].call(this,a,b)}),Handlebars.registerHelper("with"
|
||
,function(a,b){return b.fn(a)}),Handlebars.registerHelper
|
||
("log",function(a){Handlebars.log(a)})}();var handlebars=
|
||
function(){var a={trace:function(){},yy:{},symbols_
|
||
:{error:2,root:3,program:4,EOF:5,statements:6,simpleInverse
|
||
:7,statement:8,openInverse:9,closeBlock:10,openBlock
|
||
:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK
|
||
:16,inMustache:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK
|
||
:20,path:21,OPEN:22,OPEN_UNESCAPED:23,OPEN_PARTIAL:24
|
||
,params:25,hash:26,param:27,STRING:28,INTEGER:29,BOOLEAN
|
||
:30,hashSegments:31,hashSegment:32,ID:33,EQUALS:34,
|
||
pathSegments:35,SEP:36,$accept:0,$end:1},terminals_
|
||
:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK"
|
||
,18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22
|
||
:"OPEN",23:"OPEN_UNESCAPED",24:"OPEN_PARTIAL",28:"STRING"
|
||
,29:"INTEGER",30:"BOOLEAN",33:"ID",34:"EQUALS",36:"SEP"
|
||
},productions_:[0,[3,2],[4,3],[4,1],[4,0],[6,1],[6,2
|
||
],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],
|
||
[10,3],[12,3],[12,3],[13,3],[13,4],[7,2],[17,3],[17
|
||
,2],[17,2],[17,1],[25,2],[25,1],[27,1],[27,1],[27,1
|
||
],[27,1],[26,1],[31,2],[31,1],[32,3],[32,3],[32,3],
|
||
[32,3],[21,1],[35,3],[35,1]],performAction:function c
|
||
(a,b,d,c,e,f,g){var h=f.length-1;switch(e){case 1:return f
|
||
[h-1];case 2:this.$=new c.ProgramNode(f[h-2],f[h]);
|
||
break;case 3:this.$=new c.ProgramNode(f[h]);break;case 4
|
||
:this.$=new c.ProgramNode([]);break;case 5:this.$=[
|
||
f[h]];break;case 6:f[h-1].push(f[h]),this.$=f[h-1];
|
||
break;case 7:this.$=new c.BlockNode(f[h-2],f[h-1].inverse
|
||
,f[h-1],f[h]);break;case 8:this.$=new c.BlockNode(f
|
||
[h-2],f[h-1],f[h-1].inverse,f[h]);break;case 9:this
|
||
.$=f[h];break;case 10:this.$=f[h];break;case 11:this
|
||
.$=new c.ContentNode(f[h]);break;case 12:this.$=new
|
||
c.CommentNode(f[h]);break;case 13:this.$=new c.MustacheNode
|
||
(f[h-1][0],f[h-1][1]);break;case 14:this.$=new c.MustacheNode
|
||
(f[h-1][0],f[h-1][1]);break;case 15:this.$=f[h-1];break;
|
||
case 16:this.$=new c.MustacheNode(f[h-1][0],f[h-1][1
|
||
]);break;case 17:this.$=new c.MustacheNode(f[h-1][0
|
||
],f[h-1][1],!0);break;case 18:this.$=new c.PartialNode
|
||
(f[h-1]);break;case 19:this.$=new c.PartialNode(f[h-2
|
||
],f[h-1]);break;case 20:break;case 21:this.$=[[f[h-2
|
||
]].concat(f[h-1]),f[h]];break;case 22:this.$=[[f[h-1
|
||
]].concat(f[h]),null];break;case 23:this.$=[[f[h-1]
|
||
],f[h]];break;case 24:this.$=[[f[h]],null];break;case 25
|
||
:f[h-1].push(f[h]),this.$=f[h-1];break;case 26:this
|
||
.$=[f[h]];break;case 27:this.$=f[h];break;case 28:this
|
||
.$=new c.StringNode(f[h]);break;case 29:this.$=new
|
||
c.IntegerNode(f[h]);break;case 30:this.$=new c.BooleanNode
|
||
(f[h]);break;case 31:this.$=new c.HashNode(f[h]);break;
|
||
case 32:f[h-1].push(f[h]),this.$=f[h-1];break;case 33
|
||
:this.$=[f[h]];break;case 34:this.$=[f[h-2],f[h]];break;
|
||
case 35:this.$=[f[h-2],new c.StringNode(f[h])];break;
|
||
case 36:this.$=[f[h-2],new c.IntegerNode(f[h])];break;
|
||
case 37:this.$=[f[h-2],new c.BooleanNode(f[h])];break;
|
||
case 38:this.$=new c.IdNode(f[h]);break;case 39:f[h-2
|
||
].push(f[h]),this.$=f[h-2];break;case 40:this.$=[f[
|
||
h]]}},table:[{3:1,4:2,5:[2,4],6:3,8:4,9:5,11:6,12:7
|
||
,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13
|
||
],23:[1,14],24:[1,15]},{1:[3]},{5:[1,16]},{5:[2,3],7
|
||
:17,8:18,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1
|
||
,12],19:[1,19],20:[2,3],22:[1,13],23:[1,14],24:[1,15
|
||
]},{5:[2,5],14:[2,5],15:[2,5],16:[2,5],19:[2,5],20:
|
||
[2,5],22:[2,5],23:[2,5],24:[2,5]},{4:20,6:3,8:4,9:5
|
||
,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11
|
||
],20:[2,4],22:[1,13],23:[1,14],24:[1,15]},{4:21,6:3
|
||
,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12
|
||
],19:[1,11],20:[2,4],22:[1,13],23:[1,14],24:[1,15]}
|
||
,{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2
|
||
,9],22:[2,9],23:[2,9],24:[2,9]},{5:[2,10],14:[2,10]
|
||
,15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23
|
||
:[2,10],24:[2,10]},{5:[2,11],14:[2,11],15:[2,11],16
|
||
:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],24:
|
||
[2,11]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:
|
||
[2,12],20:[2,12],22:[2,12],23:[2,12],24:[2,12]},{17
|
||
:22,21:23,33:[1,25],35:24},{17:26,21:23,33:[1,25],35
|
||
:24},{17:27,21:23,33:[1,25],35:24},{17:28,21:23,33:
|
||
[1,25],35:24},{21:29,33:[1,25],35:24},{1:[2,1]},{6:30
|
||
,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12
|
||
],19:[1,11],22:[1,13],23:[1,14],24:[1,15]},{5:[2,6]
|
||
,14:[2,6],15:[2,6],16:[2,6],19:[2,6],20:[2,6],22:[2
|
||
,6],23:[2,6],24:[2,6]},{17:22,18:[1,31],21:23,33:[1
|
||
,25],35:24},{10:32,20:[1,33]},{10:34,20:[1,33]},{18
|
||
:[1,35]},{18:[2,24],21:40,25:36,26:37,27:38,28:[1,41
|
||
],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35:24},
|
||
{18:[2,38],28:[2,38],29:[2,38],30:[2,38],33:[2,38],36
|
||
:[1,46]},{18:[2,40],28:[2,40],29:[2,40],30:[2,40],33
|
||
:[2,40],36:[2,40]},{18:[1,47]},{18:[1,48]},{18:[1,49
|
||
]},{18:[1,50],21:51,33:[1,25],35:24},{5:[2,2],8:18,9
|
||
:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1
|
||
,11],20:[2,2],22:[1,13],23:[1,14],24:[1,15]},{14:[2
|
||
,20],15:[2,20],16:[2,20],19:[2,20],22:[2,20],23:[2,20
|
||
],24:[2,20]},{5:[2,7],14:[2,7],15:[2,7],16:[2,7],19
|
||
:[2,7],20:[2,7],22:[2,7],23:[2,7],24:[2,7]},{21:52,33
|
||
:[1,25],35:24},{5:[2,8],14:[2,8],15:[2,8],16:[2,8],19
|
||
:[2,8],20:[2,8],22:[2,8],23:[2,8],24:[2,8]},{14:[2,14
|
||
],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14]
|
||
,23:[2,14],24:[2,14]},{18:[2,22],21:40,26:53,27:54,28
|
||
:[1,41],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35
|
||
:24},{18:[2,23]},{18:[2,26],28:[2,26],29:[2,26],30:
|
||
[2,26],33:[2,26]},{18:[2,31],32:55,33:[1,56]},{18:[2
|
||
,27],28:[2,27],29:[2,27],30:[2,27],33:[2,27]},{18:[2
|
||
,28],28:[2,28],29:[2,28],30:[2,28],33:[2,28]},{18:[2
|
||
,29],28:[2,29],29:[2,29],30:[2,29],33:[2,29]},{18:[2
|
||
,30],28:[2,30],29:[2,30],30:[2,30],33:[2,30]},{18:[2
|
||
,33],33:[2,33]},{18:[2,40],28:[2,40],29:[2,40],30:[2
|
||
,40],33:[2,40],34:[1,57],36:[2,40]},{33:[1,58]},{14
|
||
:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:
|
||
[2,13],23:[2,13],24:[2,13]},{5:[2,16],14:[2,16],15:
|
||
[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2
|
||
,16],24:[2,16]},{5:[2,17],14:[2,17],15:[2,17],16:[2
|
||
,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],24:[2,17
|
||
]},{5:[2,18],14:[2,18],15:[2,18],16:[2,18],19:[2,18
|
||
],20:[2,18],22:[2,18],23:[2,18],24:[2,18]},{18:[1,59
|
||
]},{18:[1,60]},{18:[2,21]},{18:[2,25],28:[2,25],29:
|
||
[2,25],30:[2,25],33:[2,25]},{18:[2,32],33:[2,32]},{34
|
||
:[1,57]},{21:61,28:[1,62],29:[1,63],30:[1,64],33:[1
|
||
,25],35:24},{18:[2,39],28:[2,39],29:[2,39],30:[2,39
|
||
],33:[2,39],36:[2,39]},{5:[2,19],14:[2,19],15:[2,19
|
||
],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19]
|
||
,24:[2,19]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15]
|
||
,19:[2,15],20:[2,15],22:[2,15],23:[2,15],24:[2,15]}
|
||
,{18:[2,34],33:[2,34]},{18:[2,35],33:[2,35]},{18:[2
|
||
,36],33:[2,36]},{18:[2,37],33:[2,37]}],defaultActions
|
||
:{16:[2,1],37:[2,23],53:[2,21]},parseError:function(
|
||
a,b){throw new Error(a)},parse:function d(a){function b
|
||
(a){f.length=f.length-2*a,g.length=g.length-a,h.length=
|
||
h.length-a}function c(){var a;return a=e.lexer.lex(
|
||
)||1,typeof a!="number"&&(a=e.symbols_[a]||a),a}var e=
|
||
this,f=[0],g=[null],h=[],d=this.table,i="",j=0,k=0,
|
||
l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this
|
||
.yy,this.yy.lexer=this.lexer,typeof this.lexer.yylloc=="undefined"&&
|
||
(this.lexer.yylloc={});var o=this.lexer.yylloc;h.push
|
||
(o),typeof this.yy.parseError=="function"&&(this.parseError=
|
||
this.yy.parseError);var p,q,r,s,t,u,v={},w,x,y,z;for(
|
||
;;){r=f[f.length-1],this.defaultActions[r]?s=this.defaultActions
|
||
[r]:(p==null&&(p=c()),s=d[r]&&d[r][p]);A:if(typeof
|
||
s=="undefined"||!s.length||!s[0]){if(!l){z=[];for(w in
|
||
d[r])this.terminals_[w]&&w>2&&z.push("'"+this.terminals_
|
||
[w]+"'");var B="";this.lexer.showPosition?B="Parse error on line "+
|
||
(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+
|
||
z.join(", ")+", got '"+this.terminals_[p]+"'":B="Parse error on line "+
|
||
(j+1)+": Unexpected "+(p==1?"end of input":"'"+(this
|
||
.terminals_[p]||p)+"'"),this.parseError(B,{text:this
|
||
.lexer.match,token:this.terminals_[p]||p,line:this.
|
||
lexer.yylineno,loc:o,expected:z})}if(l==3){if(p==n)
|
||
throw new Error(B||"Parsing halted.");k=this.lexer.
|
||
yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=
|
||
this.lexer.yylloc,p=c()}for(;;){if(m.toString()in d
|
||
[r])break;if(r==0)throw new Error(B||"Parsing halted."
|
||
);b(1),r=f[f.length-1]}q=p,p=m,r=f[f.length-1],s=d[
|
||
r]&&d[r][m],l=3}if(s[0]instanceof Array&&s.length>1
|
||
)throw new Error("Parse Error: multiple actions possible at state: "+
|
||
r+", token: "+p);switch(s[0]){case 1:f.push(p),g.push
|
||
(this.lexer.yytext),h.push(this.lexer.yylloc),f.push
|
||
(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=
|
||
this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer
|
||
.yylloc,l>0&&l--);break;case 2:x=this.productions_[
|
||
s[1]][1],v.$=g[g.length-x],v._$={first_line:h[h.length-
|
||
(x||1)].first_line,last_line:h[h.length-1].last_line
|
||
,first_column:h[h.length-(x||1)].first_column,last_column
|
||
:h[h.length-1].last_column},u=this.performAction.call
|
||
(v,i,k,j,this.yy,s[1],g,h);if(typeof u!="undefined"
|
||
)return u;x&&(f=f.slice(0,-1*x*2),g=g.slice(0,-1*x)
|
||
,h=h.slice(0,-1*x)),f.push(this.productions_[s[1]][0
|
||
]),g.push(v.$),h.push(v._$),y=d[f[f.length-2]][f[f.
|
||
length-1]],f.push(y);break;case 3:return!0}}return!0
|
||
}},b=function(){var a={EOF:1,parseError:function b(
|
||
a,b){if(this.yy.parseError)this.yy.parseError(a,b);
|
||
else throw new Error(a)},setInput:function(a){return this
|
||
._input=a,this._more=this._less=this.done=!1,this.yylineno=
|
||
this.yyleng=0,this.yytext=this.matched=this.match=""
|
||
,this.conditionStack=["INITIAL"],this.yylloc={first_line
|
||
:1,first_column:0,last_line:1,last_column:0},this},
|
||
input:function(){var a=this._input[0];this.yytext+=
|
||
a,this.yyleng++,this.match+=a,this.matched+=a;var b=
|
||
a.match(/\n/);return b&&this.yylineno++,this._input=
|
||
this._input.slice(1),a},unput:function(a){return this
|
||
._input=a+this._input,this},more:function(){return this
|
||
._more=!0,this},pastInput:function(){var a=this.matched
|
||
.substr(0,this.matched.length-this.match.length);return(
|
||
a.length>20?"...":"")+a.substr(-20).replace(/\n/g,""
|
||
)},upcomingInput:function(){var a=this.match;return a
|
||
.length<20&&(a+=this._input.substr(0,20-a.length)),
|
||
(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g
|
||
,"")},showPosition:function(){var a=this.pastInput(
|
||
),b=(new Array(a.length+1)).join("-");return a+this
|
||
.upcomingInput()+"\n"+b+"^"},next:function(){if(this
|
||
.done)return this.EOF;this._input||(this.done=!0);var a
|
||
,b,c,d;this._more||(this.yytext="",this.match="");var e=
|
||
this._currentRules();for(var f=0;f<e.length;f++){b=
|
||
this._input.match(this.rules[e[f]]);if(b){d=b[0].match
|
||
(/\n.*/g),d&&(this.yylineno+=d.length),this.yylloc=
|
||
{first_line:this.yylloc.last_line,last_line:this.yylineno+1
|
||
,first_column:this.yylloc.last_column,last_column:d?
|
||
d[d.length-1].length-1:this.yylloc.last_column+b[0]
|
||
.length},this.yytext+=b[0],this.match+=b[0],this.matches=
|
||
b,this.yyleng=this.yytext.length,this._more=!1,this
|
||
._input=this._input.slice(b[0].length),this.matched+=
|
||
b[0],a=this.performAction.call(this,this.yy,this,e[
|
||
f],this.conditionStack[this.conditionStack.length-1
|
||
]);if(a)return a;return}}if(this._input==="")return this
|
||
.EOF;this.parseError("Lexical error on line "+(this
|
||
.yylineno+1)+". Unrecognized text.\n"+this.showPosition
|
||
(),{text:"",token:null,line:this.yylineno})},lex:function(
|
||
){var a=this.next();return typeof a!="undefined"?a:
|
||
this.lex()},begin:function(a){this.conditionStack.push
|
||
(a)},popState:function(){return this.conditionStack
|
||
.pop()},_currentRules:function(){return this.conditions
|
||
[this.conditionStack[this.conditionStack.length-1]]
|
||
.rules},topState:function(){return this.conditionStack
|
||
[this.conditionStack.length-2]},pushState:function(
|
||
a){this.begin(a)}};return a.performAction=function(
|
||
a,b,c,d){var e=d;switch(c){case 0:b.yytext.slice(-1
|
||
)!=="\\"&&this.begin("mu"),b.yytext.slice(-1)==="\\"&&
|
||
(b.yytext=b.yytext.substr(0,b.yyleng-1),this.begin("emu"
|
||
));if(b.yytext)return 14;break;case 1:return 14;case 2
|
||
:return this.popState(),14;case 3:return 24;case 4:
|
||
return 16;case 5:return 20;case 6:return 19;case 7:
|
||
return 19;case 8:return 23;case 9:return 23;case 10
|
||
:return b.yytext=b.yytext.substr(3,b.yyleng-5),this
|
||
.popState(),15;case 11:return 22;case 12:return 34;
|
||
case 13:return 33;case 14:return 33;case 15:return 36
|
||
;case 16:break;case 17:return this.popState(),18;case 18
|
||
:return this.popState(),18;case 19:return b.yytext=
|
||
b.yytext.substr(1,b.yyleng-2).replace(/\\"/g,'"'),28
|
||
;case 20:return 30;case 21:return 30;case 22:return 29
|
||
;case 23:return 33;case 24:return b.yytext=b.yytext
|
||
.substr(1,b.yyleng-2),33;case 25:return"INVALID";case 26
|
||
:return 5}},a.rules=[/^[^\x00]*?(?=(\{\{))/,/^[^\x00]+/
|
||
,/^[^\x00]{2,}?(?=(\{\{))/,/^\{\{>/,/^\{\{#/,/^\{\{\//
|
||
,/^\{\{\^/,/^\{\{\s*else\b/,/^\{\{\{/,/^\{\{&/,/^\{\{![\s\S]*?\}\}/
|
||
,/^\{\{/,/^=/,/^\.(?=[} ])/,/^\.\./,/^[\/.]/,/^\s+/
|
||
,/^\}\}\}/,/^\}\}/,/^"(\\["]|[^"])*"/,/^true(?=[}\s])/
|
||
,/^false(?=[}\s])/,/^[0-9]+(?=[}\s])/,/^[a-zA-Z0-9_$-]+(?=[=}\s\/.])/
|
||
,/^\[[^\]]*\]/,/^./,/^$/],a.conditions={mu:{rules:[3
|
||
,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
|
||
,23,24,25,26],inclusive:!1},emu:{rules:[2],inclusive
|
||
:!1},INITIAL:{rules:[0,1,26],inclusive:!0}},a}();return a
|
||
.lexer=b,a}();typeof require!="undefined"&&typeof exports!="undefined"&&
|
||
(exports.parser=handlebars,exports.parse=function()
|
||
{return handlebars.parse.apply(handlebars,arguments
|
||
)},exports.main=function a(a){if(!a[1])throw new Error
|
||
("Usage: "+a[0]+" FILE");if(typeof process!="undefined"
|
||
)var b=require("fs").readFileSync(require("path").join
|
||
(process.cwd(),a[1]),"utf8");else var c=require("file"
|
||
).path(require("file").cwd()),b=c.join(a[1]).read({
|
||
charset:"utf-8"});return exports.parser.parse(b)},typeof
|
||
module!="undefined"&&require.main===module&&exports
|
||
.main(typeof process!="undefined"?process.argv.slice
|
||
(1):require("system").args)),Handlebars.Parser=handlebars
|
||
,Handlebars.parse=function(a){return Handlebars.Parser
|
||
.yy=Handlebars.AST,Handlebars.Parser.parse(a)},Handlebars
|
||
.print=function(a){return(new Handlebars.PrintVisitor
|
||
).accept(a)},Handlebars.logger={DEBUG:0,INFO:1,WARN
|
||
:2,ERROR:3,level:3,log:function(a,b){}},Handlebars.
|
||
log=function(a,b){Handlebars.logger.log(a,b)},function(
|
||
){Handlebars.AST={},Handlebars.AST.ProgramNode=function(
|
||
a,b){this.type="program",this.statements=a,b&&(this
|
||
.inverse=new Handlebars.AST.ProgramNode(b))},Handlebars
|
||
.AST.MustacheNode=function(a,b,c){this.type="mustache"
|
||
,this.escaped=!c,this.hash=b;var d=this.id=a[0],e=this
|
||
.params=a.slice(1),f=this.eligibleHelper=d.isSimple
|
||
;this.isHelper=f&&(e.length||b)},Handlebars.AST.PartialNode=
|
||
function(a,b){this.type="partial",this.id=a,this.context=
|
||
b};var a=function(a,b){if(a.original!==b.original)throw new
|
||
Handlebars.Exception(a.original+" doesn't match "+b
|
||
.original)};Handlebars.AST.BlockNode=function(b,c,d
|
||
,e){a(b.id,e),this.type="block",this.mustache=b,this
|
||
.program=c,this.inverse=d,this.inverse&&!this.program&&
|
||
(this.isInverse=!0)},Handlebars.AST.ContentNode=function(
|
||
a){this.type="content",this.string=a},Handlebars.AST
|
||
.HashNode=function(a){this.type="hash",this.pairs=a
|
||
},Handlebars.AST.IdNode=function(a){this.type="ID",
|
||
this.original=a.join(".");var b=[],c=0;for(var d=0,
|
||
e=a.length;d<e;d++){var f=a[d];f===".."?c++:f==="."||
|
||
f==="this"?this.isScoped=!0:b.push(f)}this.parts=b,
|
||
this.string=b.join("."),this.depth=c,this.isSimple=
|
||
a.length===1&&!this.isScoped&&c===0},Handlebars.AST
|
||
.StringNode=function(a){this.type="STRING",this.string=
|
||
a},Handlebars.AST.IntegerNode=function(a){this.type="INTEGER"
|
||
,this.integer=a},Handlebars.AST.BooleanNode=function(
|
||
a){this.type="BOOLEAN",this.bool=a},Handlebars.AST.
|
||
CommentNode=function(a){this.type="comment",this.comment=
|
||
a}}(),Handlebars.Exception=function(a){var b=Error.
|
||
prototype.constructor.apply(this,arguments);for(var c in
|
||
b)b.hasOwnProperty(c)&&(this[c]=b[c]);this.message=
|
||
b.message},Handlebars.Exception.prototype=new Error
|
||
,Handlebars.SafeString=function(a){this.string=a},Handlebars
|
||
.SafeString.prototype.toString=function(){return this
|
||
.string.toString()},function(){var a={"<":"<",">"
|
||
:">",'"':""","'":"'","`":"`"},b=/&(?!\w+;)|[<>"'`]/g
|
||
,c=/[&<>"'`]/,d=function(b){return a[b]||"&"};Handlebars
|
||
.Utils={escapeExpression:function(a){return a instanceof
|
||
Handlebars.SafeString?a.toString():a==null||a===!1?""
|
||
:c.test(a)?a.replace(b,d):a},isEmpty:function(a){return typeof
|
||
a=="undefined"?!0:a===null?!0:a===!1?!0:Object.prototype
|
||
.toString.call(a)==="[object Array]"&&a.length===0?!0
|
||
:!1}}}(),Handlebars.Compiler=function(){},Handlebars
|
||
.JavaScriptCompiler=function(){},function(a,b){a.prototype=
|
||
{compiler:a,disassemble:function(){var a=this.opcodes
|
||
,b,c=[],d,e;for(var f=0,g=a.length;f<g;f++){b=a[f];
|
||
if(b.opcode==="DECLARE")c.push("DECLARE "+b.name+"="+
|
||
b.value);else{d=[];for(var h=0;h<b.args.length;h++)
|
||
e=b.args[h],typeof e=="string"&&(e='"'+e.replace("\n"
|
||
,"\\n")+'"'),d.push(e);c.push(b.opcode+" "+d.join(" "
|
||
))}}return c.join("\n")},guid:0,compile:function(a,
|
||
b){this.children=[],this.depths={list:[]},this.options=
|
||
b;var c=this.options.knownHelpers;this.options.knownHelpers=
|
||
{helperMissing:!0,blockHelperMissing:!0,each:!0,"if"
|
||
:!0,unless:!0,"with":!0,log:!0};if(c)for(var d in c
|
||
)this.options.knownHelpers[d]=c[d];return this.program
|
||
(a)},accept:function(a){return this[a.type](a)},program
|
||
:function(a){var b=a.statements,c;this.opcodes=[];for(
|
||
var d=0,e=b.length;d<e;d++)c=b[d],this[c.type](c);return this
|
||
.isSimple=e===1,this.depths.list=this.depths.list.sort
|
||
(function(a,b){return a-b}),this},compileProgram:function(
|
||
a){var b=(new this.compiler).compile(a,this.options
|
||
),c=this.guid++,d;this.usePartial=this.usePartial||
|
||
b.usePartial,this.children[c]=b;for(var e=0,f=b.depths
|
||
.list.length;e<f;e++){d=b.depths.list[e];if(d<2)continue;
|
||
this.addDepth(d-1)}return c},block:function(a){var b=
|
||
a.mustache,c=a.program,d=a.inverse;c&&(c=this.compileProgram
|
||
(c)),d&&(d=this.compileProgram(d));var e=this.classifyMustache
|
||
(b);e==="helper"?this.helperMustache(b,c,d):e==="simple"?
|
||
(this.simpleMustache(b),this.opcode("pushProgram",c
|
||
),this.opcode("pushProgram",d),this.opcode("pushLiteral"
|
||
,"{}"),this.opcode("blockValue")):(this.ambiguousMustache
|
||
(b,c,d),this.opcode("pushProgram",c),this.opcode("pushProgram"
|
||
,d),this.opcode("pushLiteral","{}"),this.opcode("ambiguousBlockValue"
|
||
)),this.opcode("append")},hash:function(a){var b=a.
|
||
pairs,c,d;this.opcode("push","{}");for(var e=0,f=b.
|
||
length;e<f;e++)c=b[e],d=c[1],this.accept(d),this.opcode
|
||
("assignToHash",c[0])},partial:function(a){var b=a.
|
||
id;this.usePartial=!0,a.context?this.ID(a.context):
|
||
this.opcode("push","depth0"),this.opcode("invokePartial"
|
||
,b.original),this.opcode("append")},content:function(
|
||
a){this.opcode("appendContent",a.string)},mustache:
|
||
function(a){var b=this.options,c=this.classifyMustache
|
||
(a);c==="simple"?this.simpleMustache(a):c==="helper"?
|
||
this.helperMustache(a):this.ambiguousMustache(a),a.
|
||
escaped&&!b.noEscape?this.opcode("appendEscaped"):this
|
||
.opcode("append")},ambiguousMustache:function(a,b,c
|
||
){var d=a.id,e=d.parts[0];this.opcode("getContext",
|
||
d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram"
|
||
,c),this.opcode("invokeAmbiguous",e)},simpleMustache
|
||
:function(a,b,c){var d=a.id;this.addDepth(d.depth),
|
||
this.opcode("getContext",d.depth);if(d.parts.length
|
||
){this.opcode("lookupOnContext",d.parts[0]);for(var e=1
|
||
,f=d.parts.length;e<f;e++)this.opcode("lookup",d.parts
|
||
[e])}else this.opcode("pushContext");this.opcode("resolvePossibleLambda"
|
||
)},helperMustache:function(a,b,c){var d=this.setupFullMustacheParams
|
||
(a,b,c),e=a.id.parts[0];if(this.options.knownHelpers
|
||
[e])this.opcode("invokeKnownHelper",d.length,e);else{
|
||
if(this.knownHelpersOnly)throw new Error("You specified knownHelpersOnly, but used the unknown helper "+
|
||
e);this.opcode("invokeHelper",d.length,e)}},ID:function(
|
||
a){this.addDepth(a.depth),this.opcode("getContext",
|
||
a.depth),this.opcode("lookupOnContext",a.parts[0]);
|
||
for(var b=1,c=a.parts.length;b<c;b++)this.opcode("lookup"
|
||
,a.parts[b])},STRING:function(a){this.opcode("pushString"
|
||
,a.string)},INTEGER:function(a){this.opcode("pushLiteral"
|
||
,a.integer)},BOOLEAN:function(a){this.opcode("pushLiteral"
|
||
,a.bool)},comment:function(){},opcode:function(a){this
|
||
.opcodes.push({opcode:a,args:[].slice.call(arguments
|
||
,1)})},declare:function(a,b){this.opcodes.push({opcode
|
||
:"DECLARE",name:a,value:b})},addDepth:function(a){if(
|
||
a===0)return;this.depths[a]||(this.depths[a]=!0,this
|
||
.depths.list.push(a))},classifyMustache:function(a)
|
||
{var b=a.isHelper,c=a.eligibleHelper,d=this.options
|
||
;if(c&&!b){var e=a.id.parts[0];d.knownHelpers[e]?b=!0
|
||
:d.knownHelpersOnly&&(c=!1)}return b?"helper":c?"ambiguous"
|
||
:"simple"},pushParams:function(a){var b=a.length,c;
|
||
while(b--)c=a[b],this.options.stringParams?(c.depth&&
|
||
this.addDepth(c.depth),this.opcode("getContext",c.depth||0
|
||
),this.opcode("pushStringParam",c.string)):this[c.type
|
||
](c)},setupMustacheParams:function(a){var b=a.params
|
||
;return this.pushParams(b),a.hash?this.hash(a.hash)
|
||
:this.opcode("pushLiteral","{}"),b},setupFullMustacheParams
|
||
:function(a,b,c){var d=a.params;return this.pushParams
|
||
(d),this.opcode("pushProgram",b),this.opcode("pushProgram"
|
||
,c),a.hash?this.hash(a.hash):this.opcode("pushLiteral"
|
||
,"{}"),d}};var c=function(a){this.value=a};b.prototype=
|
||
{nameLookup:function(a,c,d){return/^[0-9]+$/.test(c
|
||
)?a+"["+c+"]":b.isValidJavaScriptVariableName(c)?a+"."+
|
||
c:a+"['"+c+"']"},appendToBuffer:function(a){return this
|
||
.environment.isSimple?"return "+a+";":"buffer += "+
|
||
a+";"},initializeBuffer:function(){return this.quotedString
|
||
("")},namespace:"Handlebars",compile:function(a,b,c
|
||
,d){this.environment=a,this.options=b||{},Handlebars
|
||
.log(Handlebars.logger.DEBUG,this.environment.disassemble
|
||
()+"\n\n"),this.name=this.environment.name,this.isChild=!!
|
||
c,this.context=c||{programs:[],aliases:{}},this.preamble
|
||
(),this.stackSlot=0,this.stackVars=[],this.registers=
|
||
{list:[]},this.compileStack=[],this.compileChildren
|
||
(a,b);var e=a.opcodes,f;this.i=0;for(g=e.length;this
|
||
.i<g;this.i++)f=e[this.i],f.opcode==="DECLARE"?this
|
||
[f.name]=f.value:this[f.opcode].apply(this,f.args);
|
||
return this.createFunctionContext(d)},nextOpcode:function(
|
||
){var a=this.environment.opcodes,b=a[this.i+1];return a
|
||
[this.i+1]},eat:function(a){this.i=this.i+1},preamble
|
||
:function(){var a=[];if(!this.isChild){var b=this.namespace
|
||
,c="helpers = helpers || "+b+".helpers;";this.environment
|
||
.usePartial&&(c=c+" partials = partials || "+b+".partials;"
|
||
),a.push(c)}else a.push("");this.environment.isSimple?
|
||
a.push(""):a.push(", buffer = "+this.initializeBuffer
|
||
()),this.lastContext=0,this.source=a},createFunctionContext
|
||
:function(a){var b=this.stackVars.concat(this.registers
|
||
.list);b.length>0&&(this.source[1]=this.source[1]+", "+
|
||
b.join(", "));if(!this.isChild){var c=[];for(var d in
|
||
this.context.aliases)this.source[1]=this.source[1]+", "+
|
||
d+"="+this.context.aliases[d]}this.source[1]&&(this
|
||
.source[1]="var "+this.source[1].substring(2)+";"),
|
||
this.isChild||(this.source[1]+="\n"+this.context.programs
|
||
.join("\n")+"\n"),this.environment.isSimple||this.source
|
||
.push("return buffer;");var e=this.isChild?["depth0"
|
||
,"data"]:["Handlebars","depth0","helpers","partials"
|
||
,"data"];for(var f=0,g=this.environment.depths.list
|
||
.length;f<g;f++)e.push("depth"+this.environment.depths
|
||
.list[f]);if(a)return e.push(this.source.join("\n "
|
||
)),Function.apply(this,e);var h="function "+(this.name||""
|
||
)+"("+e.join(",")+") {\n "+this.source.join("\n "
|
||
)+"}";return Handlebars.log(Handlebars.logger.DEBUG
|
||
,h+"\n\n"),h},blockValue:function(){this.context.aliases
|
||
.blockHelperMissing="helpers.blockHelperMissing";var a=
|
||
["depth0"];this.setupParams(0,a),this.replaceStack(
|
||
function(b){return a.splice(1,0,b),b+" = blockHelperMissing.call("+
|
||
a.join(", ")+")"})},ambiguousBlockValue:function(){
|
||
this.context.aliases.blockHelperMissing="helpers.blockHelperMissing"
|
||
;var a=["depth0"];this.setupParams(0,a);var b=this.
|
||
topStack();a.splice(1,0,b),this.source.push("if (!"+
|
||
this.lastHelper+") { "+b+" = blockHelperMissing.call("+
|
||
a.join(", ")+"); }")},appendContent:function(a){this
|
||
.source.push(this.appendToBuffer(this.quotedString(
|
||
a)))},append:function(){var a=this.popStack();this.
|
||
source.push("if("+a+" || "+a+" === 0) { "+this.appendToBuffer
|
||
(a)+" }"),this.environment.isSimple&&this.source.push
|
||
("else { "+this.appendToBuffer("''")+" }")},appendEscaped
|
||
:function(){var a=this.nextOpcode(),b="";this.context
|
||
.aliases.escapeExpression="this.escapeExpression",a&&
|
||
a.opcode==="appendContent"&&(b=" + "+this.quotedString
|
||
(a.args[0]),this.eat(a)),this.source.push(this.appendToBuffer
|
||
("escapeExpression("+this.popStack()+")"+b))},getContext
|
||
:function(a){this.lastContext!==a&&(this.lastContext=
|
||
a)},lookupOnContext:function(a){this.pushStack(this
|
||
.nameLookup("depth"+this.lastContext,a,"context"))}
|
||
,pushContext:function(){this.pushStackLiteral("depth"+
|
||
this.lastContext)},resolvePossibleLambda:function()
|
||
{this.context.aliases.functionType='"function"',this
|
||
.replaceStack(function(a){return"typeof "+a+" === functionType ? "+
|
||
a+"() : "+a})},lookup:function(a){this.replaceStack
|
||
(function(b){return b+" == null || "+b+" === false ? "+
|
||
b+" : "+this.nameLookup(b,a,"context")})},pushStringParam
|
||
:function(a){this.pushStackLiteral("depth"+this.lastContext
|
||
),this.pushString(a)},pushString:function(a){this.pushStackLiteral
|
||
(this.quotedString(a))},push:function(a){this.pushStack
|
||
(a)},pushLiteral:function(a){this.pushStackLiteral(
|
||
a)},pushProgram:function(a){a!=null?this.pushStackLiteral
|
||
(this.programExpression(a)):this.pushStackLiteral(null
|
||
)},invokeHelper:function(a,b){this.context.aliases.
|
||
helperMissing="helpers.helperMissing";var c=this.lastHelper=
|
||
this.setupHelper(a,b);this.register("foundHelper",c
|
||
.name),this.pushStack("foundHelper ? foundHelper.call("+
|
||
c.callParams+") "+": helperMissing.call("+c.helperMissingParams+")"
|
||
)},invokeKnownHelper:function(a,b){var c=this.setupHelper
|
||
(a,b);this.pushStack(c.name+".call("+c.callParams+")"
|
||
)},invokeAmbiguous:function(a){this.context.aliases
|
||
.functionType='"function"',this.pushStackLiteral("{}"
|
||
);var b=this.setupHelper(0,a),c=this.lastHelper=this
|
||
.nameLookup("helpers",a,"helper");this.register("foundHelper"
|
||
,c);var d=this.nameLookup("depth"+this.lastContext,
|
||
a,"context"),e=this.nextStack();this.source.push("if (foundHelper) { "+
|
||
e+" = foundHelper.call("+b.callParams+"); }"),this.
|
||
source.push("else { "+e+" = "+d+"; "+e+" = typeof "+
|
||
e+" === functionType ? "+e+"() : "+e+"; }")},invokePartial
|
||
:function(a){var b=[this.nameLookup("partials",a,"partial"
|
||
),"'"+a+"'",this.popStack(),"helpers","partials"];this
|
||
.options.data&&b.push("data"),this.context.aliases.
|
||
self="this",this.pushStack("self.invokePartial("+b.
|
||
join(", ")+");")},assignToHash:function(a){var b=this
|
||
.popStack(),c=this.topStack();this.source.push(c+"['"+
|
||
a+"'] = "+b+";")},compiler:b,compileChildren:function(
|
||
a,b){var c=a.children,d,e;for(var f=0,g=c.length;f<
|
||
g;f++){d=c[f],e=new this.compiler,this.context.programs
|
||
.push("");var h=this.context.programs.length;d.index=
|
||
h,d.name="program"+h,this.context.programs[h]=e.compile
|
||
(d,b,this.context)}},programExpression:function(a){
|
||
this.context.aliases.self="this";if(a==null)return"self.noop"
|
||
;var b=this.environment.children[a],c=b.depths.list
|
||
,d,e=[b.index,b.name,"data"];for(var f=0,g=c.length
|
||
;f<g;f++)d=c[f],d===1?e.push("depth0"):e.push("depth"+
|
||
(d-1));return c.length===0?"self.program("+e.join(", "
|
||
)+")":(e.shift(),"self.programWithDepth("+e.join(", "
|
||
)+")")},register:function(a,b){this.useRegister(a),
|
||
this.source.push(a+" = "+b+";")},useRegister:function(
|
||
a){this.registers[a]||(this.registers[a]=!0,this.registers
|
||
.list.push(a))},pushStackLiteral:function(a){return this
|
||
.compileStack.push(new c(a)),a},pushStack:function(
|
||
a){return this.source.push(this.incrStack()+" = "+a+";"
|
||
),this.compileStack.push("stack"+this.stackSlot),"stack"+
|
||
this.stackSlot},replaceStack:function(a){var b=a.call
|
||
(this,this.topStack());return this.source.push(this
|
||
.topStack()+" = "+b+";"),"stack"+this.stackSlot},nextStack
|
||
:function(a){var b=this.incrStack();return this.compileStack
|
||
.push("stack"+this.stackSlot),b},incrStack:function(
|
||
){return this.stackSlot++,this.stackSlot>this.stackVars
|
||
.length&&this.stackVars.push("stack"+this.stackSlot
|
||
),"stack"+this.stackSlot},popStack:function(){var a=
|
||
this.compileStack.pop();return a instanceof c?a.value
|
||
:(this.stackSlot--,a)},topStack:function(){var a=this
|
||
.compileStack[this.compileStack.length-1];return a instanceof
|
||
c?a.value:a},quotedString:function(a){return'"'+a.replace
|
||
(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"
|
||
).replace(/\r/g,"\\r")+'"'},setupHelper:function(a,
|
||
b){var c=[];this.setupParams(a,c);var d=this.nameLookup
|
||
("helpers",b,"helper");return{params:c,name:d,callParams
|
||
:["depth0"].concat(c).join(", "),helperMissingParams
|
||
:["depth0",this.quotedString(b)].concat(c).join(", "
|
||
)}},setupParams:function(a,b){var c=[],d=[],e,f,g;c
|
||
.push("hash:"+this.popStack()),f=this.popStack(),g=
|
||
this.popStack();if(g||f)g||(this.context.aliases.self="this"
|
||
,g="self.noop"),f||(this.context.aliases.self="this"
|
||
,f="self.noop"),c.push("inverse:"+f),c.push("fn:"+g
|
||
);for(var h=0;h<a;h++)e=this.popStack(),b.push(e),this
|
||
.options.stringParams&&d.push(this.popStack());return this
|
||
.options.stringParams&&c.push("contexts:["+d.join(","
|
||
)+"]"),this.options.data&&c.push("data:data"),b.push
|
||
("{"+c.join(",")+"}"),b.join(", ")}};var d="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield"
|
||
.split(" "),e=b.RESERVED_WORDS={};for(var f=0,g=d.length
|
||
;f<g;f++)e[d[f]]=!0;b.isValidJavaScriptVariableName=
|
||
function(a){return!b.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]+$/
|
||
.test(a)?!0:!1}}(Handlebars.Compiler,Handlebars.JavaScriptCompiler
|
||
),Handlebars.precompile=function(a,b){b=b||{};var c=
|
||
Handlebars.parse(a),d=(new Handlebars.Compiler).compile
|
||
(c,b);return(new Handlebars.JavaScriptCompiler).compile
|
||
(d,b)},Handlebars.compile=function(a,b){function c(
|
||
){var c=Handlebars.parse(a),d=(new Handlebars.Compiler
|
||
).compile(c,b),e=(new Handlebars.JavaScriptCompiler
|
||
).compile(d,b,undefined,!0);return Handlebars.template
|
||
(e)}b=b||{};var d;return function(a,b){return d||(d=
|
||
c()),d.call(this,a,b)}},Handlebars.VM={template:function(
|
||
a){var b={escapeExpression:Handlebars.Utils.escapeExpression
|
||
,invokePartial:Handlebars.VM.invokePartial,programs
|
||
:[],program:function(a,b,c){var d=this.programs[a];
|
||
return c?Handlebars.VM.program(b,c):d?d:(d=this.programs
|
||
[a]=Handlebars.VM.program(b),d)},programWithDepth:Handlebars
|
||
.VM.programWithDepth,noop:Handlebars.VM.noop};return function(
|
||
c,d){return d=d||{},a.call(b,Handlebars,c,d.helpers
|
||
,d.partials,d.data)}},programWithDepth:function(a,b
|
||
,c){var d=Array.prototype.slice.call(arguments,2);return function(
|
||
c,e){return e=e||{},a.apply(this,[c,e.data||b].concat
|
||
(d))}},program:function(a,b){return function(c,d){return d=
|
||
d||{},a(c,d.data||b)}},noop:function(){return""},invokePartial
|
||
:function(a,b,c,d,e,f){var g={helpers:d,partials:e,
|
||
data:f};if(a===undefined)throw new Handlebars.Exception
|
||
("The partial "+b+" could not be found");if(a instanceof
|
||
Function)return a(c,g);if(!Handlebars.compile)throw new
|
||
Handlebars.Exception("The partial "+b+" could not be compiled when running in runtime-only mode"
|
||
);return e[b]=Handlebars.compile(a),e[b](c,g)}},Handlebars
|
||
.template=Handlebars.VM.template,function(){"undefined"==typeof
|
||
Ember&&(Ember={},"undefined"!=typeof window&&(window
|
||
.Em=window.Ember=Em=Ember)),Ember.ENV="undefined"==typeof
|
||
ENV?{}:ENV,"MANDATORY_SETTER"in Ember.ENV||(Ember.ENV
|
||
.MANDATORY_SETTER=!0),Ember.assert=function(a,b){if(!
|
||
b)throw new Error("assertion failed: "+a)},Ember.warn=
|
||
function(a,b){b||(Ember.Logger.warn("WARNING: "+a),"trace"in
|
||
Ember.Logger&&Ember.Logger.trace())},Ember.deprecate=
|
||
function(a,b){if(Ember&&Ember.TESTING_DEPRECATION)return;
|
||
arguments.length===1&&(b=!1);if(b)return;if(Ember&&
|
||
Ember.ENV.RAISE_ON_DEPRECATION)throw new Error(a);var c
|
||
;try{__fail__.fail()}catch(d){c=d}if(Ember.LOG_STACKTRACE_ON_DEPRECATION&&
|
||
c.stack){var e,f="";c.arguments?(e=c.stack.replace(/^\s+at\s+/gm
|
||
,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}($1)$2"
|
||
).replace(/^Object.<anonymous>\s*\(([^\)]+)\)/gm,"{anonymous}($1)"
|
||
).split("\n"),e.shift()):e=c.stack.replace(/(?:\n@:0)?\s+$/m
|
||
,"").replace(/^\(/gm,"{anonymous}(").split("\n"),f="\n "+
|
||
e.slice(2).join("\n "),a+=f}Ember.Logger.warn("DEPRECATION: "+
|
||
a)},Ember.deprecateFunc=function(a,b){return function(
|
||
){return b.apply(this,arguments)}},window.ember_assert=
|
||
Ember.deprecateFunc("ember_assert is deprecated. Please use Ember.assert instead."
|
||
,Ember.assert),window.ember_warn=Ember.deprecateFunc
|
||
("ember_warn is deprecated. Please use Ember.warn instead."
|
||
,Ember.warn),window.ember_deprecate=Ember.deprecateFunc
|
||
("ember_deprecate is deprecated. Please use Ember.deprecate instead."
|
||
,Ember.deprecate),window.ember_deprecateFunc=Ember.
|
||
deprecateFunc("ember_deprecateFunc is deprecated. Please use Ember.deprecateFunc instead."
|
||
,Ember.deprecateFunc)}(),function(){"undefined"==typeof
|
||
Ember&&(Ember={}),"undefined"!=typeof window&&(window
|
||
.Em=window.Ember=Em=Ember),Ember.isNamespace=!0,Ember
|
||
.toString=function(){return"Ember"},Ember.VERSION="1.0.pre"
|
||
,Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV
|
||
),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=
|
||
Ember.ENV.EXTEND_PROTOTYPES!==!1,Ember.LOG_STACKTRACE_ON_DEPRECATION=
|
||
Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.
|
||
SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES
|
||
,Ember.CP_DEFAULT_CACHEABLE=Ember.ENV.CP_DEFAULT_CACHEABLE!==!1
|
||
,Ember.VIEW_PRESERVES_CONTEXT=Ember.ENV.VIEW_PRESERVES_CONTEXT!==!1
|
||
,Ember.K=function(){return this},"undefined"==typeof
|
||
Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof
|
||
Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof
|
||
Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof
|
||
Ember.deprecateFunc&&(Ember.deprecateFunc=function(
|
||
a,b){return b}),"undefined"==typeof ember_assert&&(
|
||
window.ember_assert=Ember.K),"undefined"==typeof ember_warn&&
|
||
(window.ember_warn=Ember.K),"undefined"==typeof ember_deprecate&&
|
||
(window.ember_deprecate=Ember.K),"undefined"==typeof
|
||
ember_deprecateFunc&&(window.ember_deprecateFunc=function(
|
||
a,b){return b}),Ember.Logger=window.console||{log:Ember
|
||
.K,warn:Ember.K,error:Ember.K,info:Ember.K,debug:Ember
|
||
.K},Ember.onerror=null,Ember.handleErrors=function(
|
||
a,b){if("function"!=typeof Ember.onerror)return a.apply
|
||
(b||this);try{return a.apply(b||this)}catch(c){Ember
|
||
.onerror(c)}}}(),function(){var a=function(a){return a&&
|
||
Function.prototype.toString.call(a).indexOf("[native code]"
|
||
)>-1},b=a(Array.prototype.map)?Array.prototype.map:
|
||
function(a){if(this===void 0||this===null)throw new
|
||
TypeError;var b=Object(this),c=b.length>>>0;if(typeof
|
||
a!="function")throw new TypeError;var d=new Array(c
|
||
),e=arguments[1];for(var f=0;f<c;f++)f in b&&(d[f]=
|
||
a.call(e,b[f],f,b));return d},c=a(Array.prototype.forEach
|
||
)?Array.prototype.forEach:function(a){if(this===void 0||
|
||
this===null)throw new TypeError;var b=Object(this),
|
||
c=b.length>>>0;if(typeof a!="function")throw new TypeError
|
||
;var d=arguments[1];for(var e=0;e<c;e++)e in b&&a.call
|
||
(d,b[e],e,b)},d=a(Array.prototype.indexOf)?Array.prototype
|
||
.indexOf:function(a,b){b===null||b===undefined?b=0:
|
||
b<0&&(b=Math.max(0,this.length+b));for(var c=b,d=this
|
||
.length;c<d;c++)if(this[c]===a)return c;return-1};Ember
|
||
.ArrayPolyfills={map:b,forEach:c,indexOf:d};var e=Ember
|
||
.EnumerableUtils={map:function(a,c,d){return a.map?
|
||
a.map.call(a,c,d):b.call(a,c,d)},forEach:function(a
|
||
,b,d){return a.forEach?a.forEach.call(a,b,d):c.call
|
||
(a,b,d)},indexOf:function(a,b,c){return a.indexOf?a
|
||
.indexOf.call(a,b,c):d.call(a,b,c)},indexesOf:function(
|
||
a,b){return b===undefined?[]:e.map(b,function(b){return e
|
||
.indexOf(a,b)})},removeObject:function(a,b){var c=e
|
||
.indexOf(a,b);c!==-1&&a.splice(c,1)}};Ember.SHIM_ES5&&
|
||
(Array.prototype.map||(Array.prototype.map=b),Array
|
||
.prototype.forEach||(Array.prototype.forEach=c),Array
|
||
.prototype.indexOf||(Array.prototype.indexOf=d))}()
|
||
,function(){var a=Ember.platform={};Ember.create=Object
|
||
.create;if(!Ember.create){var b=function(){};Ember.
|
||
create=function(a,c){b.prototype=a,a=new b;if(c){b.
|
||
prototype=a;for(var d in c)b.prototype[d]=c[d].value
|
||
;a=new b}return b.prototype=null,a},Ember.create.isSimulated=!0
|
||
}var c=Object.defineProperty,d,e;if(c)try{c({},"a",
|
||
{get:function(){}})}catch(f){c=null}c&&(d=function(
|
||
){var a={};return c(a,"a",{configurable:!0,enumerable
|
||
:!0,get:function(){},set:function(){}}),c(a,"a",{configurable
|
||
:!0,enumerable:!0,writable:!0,value:!0}),a.a===!0}(
|
||
),e=function(){try{return c(document.createElement("div"
|
||
),"definePropertyOnDOM",{}),!0}catch(a){}return!1}(
|
||
),d?e||(c=function(a,b,c){var d;return typeof Node=="object"?
|
||
d=a instanceof Node:d=typeof a=="object"&&typeof a.
|
||
nodeType=="number"&&typeof a.nodeName=="string",d?a
|
||
[b]=c.value:Object.defineProperty(a,b,c)}):c=null),
|
||
a.defineProperty=c,a.hasPropertyAccessors=!0,a.defineProperty||
|
||
(a.hasPropertyAccessors=!1,a.defineProperty=function(
|
||
a,b,c){c.get||(a[b]=c.value)},a.defineProperty.isSimulated=!0
|
||
),Ember.ENV.MANDATORY_SETTER&&!a.hasPropertyAccessors&&
|
||
(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){function a
|
||
(a){this.descs={},this.watching={},this.cache={},this
|
||
.source=a}function b(a,b){return!!a&&typeof a[b]=="function"
|
||
}var c=Ember.platform.defineProperty,d=Ember.create
|
||
,e="__ember"+ +(new Date),f=0,g=[],h={},i=Ember.ENV
|
||
.MANDATORY_SETTER;Ember.GUID_KEY=e;var j={writable:!1
|
||
,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=
|
||
function(a,b){b||(b="ember");var d=b+f++;return a&&
|
||
(j.value=d,c(a,e,j)),d},Ember.guidFor=function(a){if(
|
||
a===undefined)return"(undefined)";if(a===null)return"(null)"
|
||
;var b,d,i=typeof a;switch(i){case"number":return d=
|
||
g[a],d||(d=g[a]="nu"+a),d;case"string":return d=h[a
|
||
],d||(d=h[a]="st"+f++),d;case"boolean":return a?"(true)"
|
||
:"(false)";default:if(a[e])return a[e];if(a===Object
|
||
)return"(Object)";if(a===Array)return"(Array)";return d="ember"+
|
||
f++,j.value=d,c(a,e,j),d}};var k={writable:!0,configurable
|
||
:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta"
|
||
;Ember.META_KEY=l;var m={descs:{},watching:{}};i&&(
|
||
m.values={}),Ember.EMPTY_META=m,Object.freeze&&Object
|
||
.freeze(m);var n=Ember.platform.defineProperty.isSimulated
|
||
;n&&(a.prototype.__preventPlainObject__=!0),Ember.meta=
|
||
function(b,e){var f=b[l];return e===!1?f||m:(f?f.source!==
|
||
b&&(n||c(b,l,k),f=d(f),f.descs=d(f.descs),f.watching=
|
||
d(f.watching),f.cache={},f.source=b,i&&(f.values=d(
|
||
f.values)),b[l]=f):(n||c(b,l,k),f=new a(b),i&&(f.values=
|
||
{}),b[l]=f,f.descs.constructor=null),f)},Ember.getMeta=
|
||
function(a,b){var c=Ember.meta(a,!1);return c[b]},Ember
|
||
.setMeta=function(a,b,c){var d=Ember.meta(a,!0);return d
|
||
[b]=c,c},Ember.metaPath=function(a,b,c){var e=Ember
|
||
.meta(a,c),f,g;for(var h=0,i=b.length;h<i;h++){f=b[
|
||
h],g=e[f];if(!g){if(!c)return undefined;g=e[f]={__ember_source__
|
||
:a}}else if(g.__ember_source__!==a){if(!c)return undefined
|
||
;g=e[f]=d(g),g.__ember_source__=a}e=g}return g},Ember
|
||
.wrap=function(a,b){function c(){}var d=function(){
|
||
var d,e=this._super;return this._super=b||c,d=a.apply
|
||
(this,arguments),this._super=e,d};return d.base=a,d
|
||
},Ember.isArray=function(a){return!a||a.setInterval?!1
|
||
:Array.isArray&&Array.isArray(a)?!0:Ember.Array&&Ember
|
||
.Array.detect(a)?!0:a.length!==undefined&&"object"==typeof
|
||
a?!0:!1},Ember.makeArray=function(a){return a===null||
|
||
a===undefined?[]:Ember.isArray(a)?a:[a]},Ember.canInvoke=
|
||
b,Ember.tryInvoke=function(a,c,d){if(b(a,c))return a
|
||
[c].apply(a,d||[])}}(),function(){var a=Ember.guidFor
|
||
,b=Ember.ArrayPolyfills.indexOf,c=function(a){var b=
|
||
{};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);
|
||
return b},d=function(a,b){var d=a.keys.copy(),e=c(a
|
||
.values);return b.keys=d,b.values=e,b},e=Ember.OrderedSet=
|
||
function(){this.clear()};e.create=function(){return new
|
||
e},e.prototype={clear:function(){this.presenceSet={
|
||
},this.list=[]},add:function(b){var c=a(b),d=this.presenceSet
|
||
,e=this.list;if(c in d)return;d[c]=!0,e.push(b)},remove
|
||
:function(c){var d=a(c),e=this.presenceSet,f=this.list
|
||
;delete e[d];var g=b.call(f,c);g>-1&&f.splice(g,1)}
|
||
,isEmpty:function(){return this.list.length===0},has
|
||
:function(b){var c=a(b),d=this.presenceSet;return c in
|
||
d},forEach:function(a,b){var c=this.list.slice();for(
|
||
var d=0,e=c.length;d<e;d++)a.call(b,c[d])},toArray:
|
||
function(){return this.list.slice()},copy:function(
|
||
){var a=new e;return a.presenceSet=c(this.presenceSet
|
||
),a.list=this.list.slice(),a}};var f=Ember.Map=function(
|
||
){this.keys=Ember.OrderedSet.create(),this.values={
|
||
}};f.create=function(){return new f},f.prototype={get
|
||
:function(b){var c=this.values,d=a(b);return c[d]},
|
||
set:function(b,c){var d=this.keys,e=this.values,f=a
|
||
(b);d.add(b),e[f]=c},remove:function(b){var c=this.
|
||
keys,d=this.values,e=a(b),f;return d.hasOwnProperty
|
||
(e)?(c.remove(b),f=d[e],delete d[e],!0):!1},has:function(
|
||
b){var c=this.values,d=a(b);return c.hasOwnProperty
|
||
(d)},forEach:function(b,c){var d=this.keys,e=this.values
|
||
;d.forEach(function(d){var f=a(d);b.call(c,d,e[f])}
|
||
)},copy:function(){return d(this,new f)}};var g=Ember
|
||
.MapWithDefault=function(a){f.call(this),this.defaultValue=
|
||
a.defaultValue};g.create=function(a){return a?new g
|
||
(a):new f},g.prototype=Ember.create(f.prototype),g.
|
||
prototype.get=function(a){var b=this.has(a);if(b)return f
|
||
.prototype.get.call(this,a);var c=this.defaultValue
|
||
(a);return this.set(a,c),c},g.prototype.copy=function(
|
||
){return d(this,new g({defaultValue:this.defaultValue
|
||
}))}}(),function(){function a(a){return a.match(l)[0
|
||
]}function b(b,c){var d=k.test(c),e=!d&&j.test(c),g
|
||
;if(!b||e)b=window;d&&(c=c.slice(5)),b===window&&(g=
|
||
a(c),b=f(b,g),c=c.slice(g.length+1));if(!c||c.length===0
|
||
)throw new Error("Invalid Path");return[b,c]}function c
|
||
(a,c){var d,e,g,h,i;if(a===null&&c.indexOf(".")===-1
|
||
)return f(window,c);d=k.test(c);if(!a||d)g=b(a,c),a=
|
||
g[0],c=g[1],g.length=0;e=c.split("."),i=e.length;for(
|
||
h=0;a&&h<i;h++){a=f(a,e[h],!0);if(a&&a.isDestroyed)
|
||
return undefined}return a}function d(a,b,d,e){var f
|
||
;f=b.slice(b.lastIndexOf(".")+1),b=b.slice(0,b.length-
|
||
(f.length+1)),b!=="this"&&(a=c(a,b));if(!f||f.length===0
|
||
)throw new Error("You passed an empty path");if(!a)
|
||
{if(e)return;throw new Error("Object in path "+b+" could not be found or was destroyed."
|
||
)}return g(a,f,d)}var e=Ember.META_KEY,f,g,h=Ember.
|
||
ENV.MANDATORY_SETTER,i=/^([A-Z$]|([0-9][A-Z$]))/,j=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/
|
||
,k=/^this[\.\*]/,l=/^([^\.\*]+)/;f=function(a,b){if(
|
||
b==="")return a;!b&&"string"==typeof a&&(b=a,a=null
|
||
);if(!a||b.indexOf(".")!==-1)return c(a,b);var d=a[
|
||
e],f=d&&d.descs[b],g;return f?f.get(a,b):(h&&d&&d.watching
|
||
[b]>0?g=d.values[b]:g=a[b],g!==undefined||"object"!=typeof
|
||
a||b in a||"function"!=typeof a.unknownProperty?g:a
|
||
.unknownProperty(b))},g=function(a,b,c,f){typeof a=="string"&&
|
||
(c=b,b=a,a=null);if(!a||b.indexOf(".")!==-1)return d
|
||
(a,b,c,f);var g=a[e],i=g&&g.descs[b],j,k;return i?i
|
||
.set(a,b,c):(j="object"==typeof a&&!(b in a),j&&"function"==typeof
|
||
a.setUnknownProperty?a.setUnknownProperty(b,c):g&&g
|
||
.watching[b]>0?(h?k=g.values[b]:k=a[b],c!==k&&(Ember
|
||
.propertyWillChange(a,b),h?k!==undefined||b in a?g.
|
||
values[b]=c:Ember.defineProperty(a,b,null,c):a[b]=c
|
||
,Ember.propertyDidChange(a,b))):a[b]=c),c},Ember.normalizeTuple=
|
||
function(a,c){return b(a,c)},Ember.getWithDefault=function(
|
||
a,b,c){var d=f(a,b);return d===undefined?c:d},Ember
|
||
.get=f,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths"
|
||
,Ember.get),Ember.set=g,Ember.setPath=Ember.deprecateFunc
|
||
("setPath is deprecated since set now supports paths"
|
||
,Ember.set),Ember.trySet=function(a,b,c){return g(a
|
||
,b,c,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet"
|
||
,Ember.trySet),Ember.isGlobalPath=function(a){return i
|
||
.test(a)},Ember.config.overrideAccessors&&(Ember.config
|
||
.overrideAccessors(),f=Ember.get,g=Ember.set)}(),function(
|
||
){var a=Ember.GUID_KEY,b=Ember.META_KEY,c=Ember.EMPTY_META
|
||
,d=Ember.meta,e=Ember.create,f=Ember.platform.defineProperty
|
||
,g=Ember.ENV.MANDATORY_SETTER,h=Ember.Descriptor=function(
|
||
){};Ember.defineProperty=function(a,c,e,h,i){var j,
|
||
k,l,m;return i||(i=d(a)),j=i.descs,k=i.descs[c],l=i
|
||
.watching[c]>0,k instanceof Ember.Descriptor&&k.teardown
|
||
(a,c),e instanceof Ember.Descriptor?(m=e,j[c]=e,g&&
|
||
l?f(a,c,{configurable:!0,enumerable:!0,writable:!0,
|
||
value:undefined}):a[c]=undefined,e.setup(a,c)):(j[c
|
||
]=undefined,e==null?(m=h,g&&l?(i.values[c]=h,f(a,c,
|
||
{configurable:!0,enumerable:!0,set:function(){},get
|
||
:function(){var a=this[b];return a&&a.values[c]}}))
|
||
:a[c]=h):(m=e,f(a,c,e))),l&&Ember.overrideChains(a,
|
||
c,i),a.didDefineProperty&&a.didDefineProperty(a,c,m
|
||
),this}}(),function(){function a(a,b,c,d){h&&!d?l.push
|
||
(a,b,c):Ember.sendEvent(a,b,[a,c])}function b(){m.clear
|
||
(),l.flush()}function c(a){return a+e}function d(a)
|
||
{return a+f}var e=":change",f=":before",g=Ember.guidFor
|
||
,h=0,i=[].slice,j=function(){this.targetSet={}};j.prototype
|
||
.add=function(a,b){var c=this.targetSet,d=Ember.guidFor
|
||
(a),e=c[d];return e||(c[d]=e={}),e[b]?!1:e[b]=!0},j
|
||
.prototype.clear=function(){this.targetSet={}};var k=
|
||
function(){this.targetSet={},this.queue=[]};k.prototype
|
||
.push=function(a,b,c){var d=this.targetSet,e=this.queue
|
||
,f=Ember.guidFor(a),g=d[f],h;g||(d[f]=g={}),h=g[b],
|
||
h===undefined?g[b]=e.push(Ember.deferEvent(a,b,[a,c
|
||
]))-1:e[h]=Ember.deferEvent(a,b,[a,c])},k.prototype
|
||
.flush=function(){var a=this.queue;this.queue=[],this
|
||
.targetSet={};for(var b=0,c=a.length;b<c;++b)a[b]()
|
||
};var l=new k,m=new j;Ember.beginPropertyChanges=function(
|
||
){return h++,this},Ember.endPropertyChanges=function(
|
||
){h--,h<=0&&b()},Ember.changeProperties=function(a,
|
||
b){Ember.beginPropertyChanges();try{a.call(b)}finally{
|
||
Ember.endPropertyChanges()}},Ember.setProperties=function(
|
||
a,b){return Ember.changeProperties(function(){for(var c in
|
||
b)b.hasOwnProperty(c)&&Ember.set(a,c,b[c])}),a},Ember
|
||
.addObserver=function(a,b,d,e){return Ember.addListener
|
||
(a,c(b),d,e),Ember.watch(a,b),this},Ember.observersFor=
|
||
function(a,b){return Ember.listenersFor(a,c(b))},Ember
|
||
.removeObserver=function(a,b,d,e){return Ember.unwatch
|
||
(a,b),Ember.removeListener(a,c(b),d,e),this},Ember.
|
||
addBeforeObserver=function(a,b,c,e){return Ember.addListener
|
||
(a,d(b),c,e),Ember.watch(a,b),this},Ember._suspendBeforeObserver=
|
||
function(a,b,c,e,f){return Ember._suspendListener(a
|
||
,d(b),c,e,f)},Ember._suspendObserver=function(a,b,d
|
||
,e,f){return Ember._suspendListener(a,c(b),d,e,f)};
|
||
var n=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=
|
||
function(a,b,c,e,f){var g=n.call(b,d);return Ember.
|
||
_suspendListeners(a,g,c,e,f)},Ember._suspendObservers=
|
||
function(a,b,d,e,f){var g=n.call(b,c);return Ember.
|
||
_suspendListeners(a,g,d,e,f)},Ember.beforeObserversFor=
|
||
function(a,b){return Ember.listenersFor(a,d(b))},Ember
|
||
.removeBeforeObserver=function(a,b,c,e){return Ember
|
||
.unwatch(a,b),Ember.removeListener(a,d(b),c,e),this
|
||
},Ember.notifyObservers=function(b,d){if(b.isDestroying
|
||
)return;a(b,c(d),d)},Ember.notifyBeforeObservers=function(
|
||
b,c){if(b.isDestroying)return;var e,f,g=!1;if(h)if(
|
||
m.add(b,c))g=!0;else return;a(b,d(c),c,g)}}(),function(
|
||
){function a(a){return a.match(y)[0]}function b(a){
|
||
return a==="*"||!z.test(a)}function c(a,b,c,d,e){var f=
|
||
p(b);d[f]||(d[f]={});if(d[f][c])return;d[f][c]=!0;var g=
|
||
e.deps;g=g&&g[c];if(g)for(var h in g){if(C[h])continue;
|
||
var i=e.descs[h];if(i&&i._suspended===b)continue;a(
|
||
b,h)}}function d(a,b,d){if(a.isDestroying)return;var e=
|
||
D,f=!e;f&&(e=D={}),c(n,a,b,e,d),f&&(D=null)}function e
|
||
(a,b,d){if(a.isDestroying)return;var e=E,f=!e;f&&(e=
|
||
E={}),c(o,a,b,e,d),f&&(E=null)}function f(a,b,c){if(!
|
||
a||"object"!=typeof a)return;var d=q(a),e=d.chainWatchers
|
||
;if(!e||e.__emberproto__!==a)e=d.chainWatchers={__emberproto__
|
||
:a};e[b]||(e[b]={}),e[b][p(c)]=c,Ember.watch(a,b)}function g
|
||
(a,b,c){if(!a||"object"!=typeof a)return;var d=q(a,!1
|
||
),e=d.chainWatchers;if(!e||e.__emberproto__!==a)return;
|
||
e[b]&&delete e[b][p(c)],Ember.unwatch(a,b)}function h
|
||
(){if(F.length===0)return;var a=F;F=[],x.call(a,function(
|
||
a){a[0].add(a[1])})}function i(a){return q(a,!1).proto===
|
||
a}function j(a){var b=q(a),c=b.chains;return c?c.value
|
||
()!==a&&(c=b.chains=c.copy(a)):c=b.chains=new G(null
|
||
,null,a),c}function k(a,b,c,d,e){var f=b.chainWatchers
|
||
;if(!f||f.__emberproto__!==a)return;f=f[c];if(!f)return;
|
||
for(var g in f){if(!f.hasOwnProperty(g))continue;f[
|
||
g][d](e)}}function l(a,b,c){k(a,c,b,"willChange")}function m
|
||
(a,b,c){k(a,c,b,"didChange")}function n(a,b,c){var e=
|
||
q(a,!1),f=e.watching[b]>0||b==="length",g=e.proto,h=
|
||
e.descs[b];if(!f)return;if(g===a)return;h&&h.willChange&&
|
||
h.willChange(a,b),d(a,b,e),l(a,b,e),Ember.notifyBeforeObservers
|
||
(a,b)}function o(a,b){var c=q(a,!1),d=c.watching[b]>0||
|
||
b==="length",f=c.proto,g=c.descs[b];if(f===a)return;
|
||
g&&g.didChange&&g.didChange(a,b);if(!d&&b!=="length"
|
||
)return;e(a,b,c),m(a,b,c),Ember.notifyObservers(a,b
|
||
)}var p=Ember.guidFor,q=Ember.meta,r=Ember.get,s=Ember
|
||
.set,t=Ember.normalizeTuple,u=Ember.GUID_KEY,v=Ember
|
||
.META_KEY,w=Ember.notifyObservers,x=Ember.ArrayPolyfills
|
||
.forEach,y=/^([^\.\*]+)/,z=/[\.\*]/,A=Ember.ENV.MANDATORY_SETTER
|
||
,B=Ember.platform.defineProperty,C={__emberproto__:!0
|
||
},D,E,F=[],G=function(a,b,c,d){var e;this._parent=a
|
||
,this._key=b,this._watching=c===undefined,this._value=
|
||
c,this._separator=d||".",this._paths={},this._watching&&
|
||
(this._object=a.value(),this._object&&f(this._object
|
||
,this._key,this)),this._parent&&this._parent._key==="@each"&&
|
||
this.value()},H=G.prototype;H.value=function(){if(this
|
||
._value===undefined&&this._watching){var a=this._parent
|
||
.value();this._value=a&&!i(a)?r(a,this._key):undefined
|
||
}return this._value},H.destroy=function(){if(this._watching
|
||
){var a=this._object;a&&g(a,this._key,this),this._watching=!1
|
||
}},H.copy=function(a){var b=new G(null,null,a,this.
|
||
_separator),c=this._paths,d;for(d in c){if(c[d]<=0)
|
||
continue;b.add(d)}return b},H.add=function(b){var c
|
||
,d,e,f,g,h;h=this._paths,h[b]=(h[b]||0)+1,c=this.value
|
||
(),d=t(c,b);if(d[0]&&d[0]===c)b=d[1],e=a(b),b=b.slice
|
||
(e.length+1);else{if(!d[0]){F.push([this,b]),d.length=0
|
||
;return}f=d[0],e=b.slice(0,0-(d[1].length+1)),g=b.slice
|
||
(e.length,e.length+1),b=d[1]}d.length=0,this.chain(
|
||
e,b,f,g)},H.remove=function(b){var c,d,e,f,g;g=this
|
||
._paths,g[b]>0&&g[b]--,c=this.value(),d=t(c,b),d[0]===
|
||
c?(b=d[1],e=a(b),b=b.slice(e.length+1)):(f=d[0],e=b
|
||
.slice(0,0-(d[1].length+1)),b=d[1]),d.length=0,this
|
||
.unchain(e,b)},H.count=0,H.chain=function(b,c,d,e){
|
||
var f=this._chains,g;f||(f=this._chains={}),g=f[b],
|
||
g||(g=f[b]=new G(this,b,d,e)),g.count++,c&&c.length>0&&
|
||
(b=a(c),c=c.slice(b.length+1),g.chain(b,c))},H.unchain=
|
||
function(b,c){var d=this._chains,e=d[b];c&&c.length>1&&
|
||
(b=a(c),c=c.slice(b.length+1),e.unchain(b,c)),e.count--
|
||
,e.count<=0&&(delete d[e._key],e.destroy())},H.willChange=
|
||
function(){var a=this._chains;if(a)for(var b in a){
|
||
if(!a.hasOwnProperty(b))continue;a[b].willChange()}
|
||
this._parent&&this._parent.chainWillChange(this,this
|
||
._key,1)},H.chainWillChange=function(a,b,c){this._key&&
|
||
(b=this._key+this._separator+b),this._parent?this._parent
|
||
.chainWillChange(this,b,c+1):(c>1&&Ember.propertyWillChange
|
||
(this.value(),b),b="this."+b,this._paths[b]>0&&Ember
|
||
.propertyWillChange(this.value(),b))},H.chainDidChange=
|
||
function(a,b,c){this._key&&(b=this._key+this._separator+
|
||
b),this._parent?this._parent.chainDidChange(this,b,
|
||
c+1):(c>1&&Ember.propertyDidChange(this.value(),b),
|
||
b="this."+b,this._paths[b]>0&&Ember.propertyDidChange
|
||
(this.value(),b))},H.didChange=function(a){if(this.
|
||
_watching){var b=this._parent.value();b!==this._object&&
|
||
(g(this._object,this._key,this),this._object=b,f(b,
|
||
this._key,this)),this._value=undefined,this._parent&&
|
||
this._parent._key==="@each"&&this.value()}var c=this
|
||
._chains;if(c)for(var d in c){if(!c.hasOwnProperty(
|
||
d))continue;c[d].didChange(a)}if(a)return;this._parent&&
|
||
this._parent.chainDidChange(this,this._key,1)},Ember
|
||
.overrideChains=function(a,b,c){k(a,c,b,"didChange"
|
||
,!0)},Ember.watch=function(a,c){if(c==="length"&&Ember
|
||
.typeOf(a)==="array")return this;var d=q(a),e=d.watching
|
||
,f;return e[c]?e[c]=(e[c]||0)+1:(e[c]=1,b(c)?(f=d.descs
|
||
[c],f&&f.willWatch&&f.willWatch(a,c),"function"==typeof
|
||
a.willWatchProperty&&a.willWatchProperty(c),A&&c in
|
||
a&&(d.values[c]=a[c],B(a,c,{configurable:!0,enumerable
|
||
:!0,set:function(){},get:function(){var a=this[v];return a&&
|
||
a.values[c]}}))):j(a).add(c)),this},Ember.isWatching=
|
||
function(a,b){var c=a[v];return(c&&c.watching[b])>0
|
||
},Ember.watch.flushPending=h,Ember.unwatch=function(
|
||
a,c){if(c==="length"&&Ember.typeOf(a)==="array")return this
|
||
;var d=q(a),e=d.watching,f;return e[c]===1?(e[c]=0,
|
||
b(c)?(f=d.descs[c],f&&f.didUnwatch&&f.didUnwatch(a,
|
||
c),"function"==typeof a.didUnwatchProperty&&a.didUnwatchProperty
|
||
(c),A&&c in a&&(B(a,c,{configurable:!0,enumerable:!0
|
||
,writable:!0,value:d.values[c]}),delete d.values[c]
|
||
)):j(a).remove(c)):e[c]>1&&e[c]--,this},Ember.rewatch=
|
||
function(a){var b=q(a,!1),c=b.chains;return u in a&&!
|
||
a.hasOwnProperty(u)&&Ember.generateGuid(a,"ember"),
|
||
c&&c.value()!==a&&(b.chains=c.copy(a)),this},Ember.
|
||
finishChains=function(a){var b=q(a,!1),c=b.chains;c&&
|
||
(c.value()!==a&&(b.chains=c=c.copy(a)),c.didChange(!0
|
||
))},Ember.propertyWillChange=n,Ember.propertyDidChange=
|
||
o;var I=[];Ember.destroy=function(a){var b=a[v],c,d
|
||
,e,f;if(b){a[v]=null,c=b.chains;if(c){I.push(c);while(
|
||
I.length>0){c=I.pop(),d=c._chains;if(d)for(e in d)d
|
||
.hasOwnProperty(e)&&I.push(d[e]);c._watching&&(f=c.
|
||
_object,f&&g(f,c._key,c))}}}}}(),function(){function a
|
||
(a,b,c){var d=b[c];return d?d.__emberproto__!==a&&(
|
||
d=b[c]=j(d),d.__emberproto__=a):d=b[c]={__emberproto__
|
||
:a},d}function b(a,b){var c=b.deps;return c?c.__emberproto__!==
|
||
a&&(c=b.deps=j(c),c.__emberproto__=a):c=b.deps={__emberproto__
|
||
:a},c}function c(c,d,e,f){var g=c._dependentKeys,h,
|
||
i,j,k,m;if(!g)return;h=b(d,f);for(i=0,j=g.length;i<
|
||
j;i++)k=g[i],m=a(d,h,k),m[e]=(m[e]||0)+1,l(d,k)}function d
|
||
(c,d,e,f){var g=c._dependentKeys,h,i,j,k,l;if(!g)return;
|
||
h=b(d,f);for(i=0,j=g.length;i<j;i++)k=g[i],l=a(d,h,
|
||
k),l[e]=(l[e]||0)-1,m(d,k)}function e(a,b){this.func=
|
||
a,this._cacheable=b&&b.cacheable!==undefined?b.cacheable
|
||
:Ember.CP_DEFAULT_CACHEABLE,this._dependentKeys=b&&
|
||
b.dependentKeys}var f=Ember.get,g=Ember.meta,h=Ember
|
||
.guidFor,i=[].slice,j=Ember.create,k=Ember.META_KEY
|
||
,l=Ember.watch,m=Ember.unwatch;Ember.ComputedProperty=
|
||
e,e.prototype=new Ember.Descriptor;var n=e.prototype
|
||
;n.cacheable=function(a){return this._cacheable=a!==!1
|
||
,this},n.volatile=function(){return this.cacheable(!1
|
||
)},n.property=function(){var a=[];for(var b=0,c=arguments
|
||
.length;b<c;b++)a.push(arguments[b]);return this._dependentKeys=
|
||
a,this},n.meta=function(a){return arguments.length===0?
|
||
this._meta||{}:(this._meta=a,this)},n.willWatch=function(
|
||
a,b){var d=a[k];b in d.cache||c(this,a,b,d)},n.didUnwatch=
|
||
function(a,b){var c=a[k];b in c.cache||d(this,a,b,c
|
||
)},n.didChange=function(a,b){if(this._cacheable&&this
|
||
._suspended!==a){var c=g(a);b in c.cache&&(delete c
|
||
.cache[b],c.watching[b]||d(this,a,b,c))}},n.get=function(
|
||
a,b){var d,e,f;if(this._cacheable){f=g(a),e=f.cache
|
||
;if(b in e)return e[b];d=e[b]=this.func.call(a,b),f
|
||
.watching[b]||c(this,a,b,f)}else d=this.func.call(a
|
||
,b);return d},n.set=function(a,b,d){var e=this._cacheable
|
||
,f=g(a,e),h=f.watching[b],i=this._suspended,j=!1,k;
|
||
this._suspended=a;try{k=this.func.call(a,b,d);if(e&&
|
||
b in f.cache){if(f.cache[b]===k)return;j=!0}h&&Ember
|
||
.propertyWillChange(a,b),e&&j&&delete f.cache[b],e&&
|
||
(!h&&!j&&c(this,a,b,f),f.cache[b]=k),h&&Ember.propertyDidChange
|
||
(a,b)}finally{this._suspended=i}return k},n.setup=function(
|
||
a,b){var d=a[k];d&&d.watching[b]&&c(this,a,b,g(a))}
|
||
,n.teardown=function(a,b){var c=g(a);return(c.watching
|
||
[b]||b in c.cache)&&d(this,a,b,c),this._cacheable&&delete
|
||
c.cache[b],null},Ember.computed=function(a){var b;arguments
|
||
.length>1&&(b=i.call(arguments,0,-1),a=i.call(arguments
|
||
,-1)[0]);var c=new e(a);return b&&c.property.apply(
|
||
c,b),c},Ember.cacheFor=function(a,b){var c=g(a,!1).
|
||
cache;if(c&&b in c)return c[b]},Ember.computed.not=
|
||
function(a){return Ember.computed(a,function(b){return!
|
||
f(this,a)}).cacheable()},Ember.computed.empty=function(
|
||
a){return Ember.computed(a,function(b){var c=f(this
|
||
,a);return c===undefined||c===null||c===""||Ember.isArray
|
||
(c)&&f(c,"length")===0}).cacheable()},Ember.computed
|
||
.bool=function(a){return Ember.computed(a,function(
|
||
b){return!!f(this,a)}).cacheable()}}(),function(){function a
|
||
(a,b,c,d){return p(a,["listeners",b,q(c)],d)}function b
|
||
(a,b){var c=o(a,!1).listeners;return c?c[b]||!1:!1}
|
||
function c(a,c,d,e){var f=b(a,c);if(!f)return!1;for(
|
||
var g in f){if(s[g])continue;var h=f[g];if(h)for(var i in
|
||
h){if(s[i])continue;var j=h[i];if(j&&d(j,e,a)===!0)
|
||
return!0}}return!1}function d(a,b,c){var d=a.method
|
||
,e=a.target;e||(e=c),"string"==typeof d&&(d=e[d]),b?
|
||
d.apply(e,b):d.apply(e)}function e(b,c,d,e){!e&&"function"==typeof
|
||
d&&(e=d,d=null);var f=a(b,c,d,!0),g=q(e);f[g]||(f[g
|
||
]={target:d,method:e}),"function"==typeof b.didAddListener&&
|
||
b.didAddListener(c,d,e)}function f(b,c,d,e){!e&&"function"==typeof
|
||
d&&(e=d,d=null);var f=a(b,c,d,!0),g=q(e);f&&f[g]&&(
|
||
f[g]=null),"function"==typeof b.didRemoveListener&&
|
||
b.didRemoveListener(c,d,e)}function g(b,c,d,e,f){!e&&"function"==typeof
|
||
d&&(e=d,d=null);var g=a(b,c,d,!0),h=q(e),i=g&&g[h];
|
||
g[h]=null;try{return f.call(d)}finally{g[h]=i}}function h
|
||
(b,c,d,e,f){!e&&"function"==typeof d&&(e=d,d=null);
|
||
var g=[],h=[],i,j,k,l,m,n;for(m=0,n=c.length;m<n;m++
|
||
)i=c[m],j=a(b,i,d,!0),k=q(e),g.push(j&&j[k]),h.push
|
||
(j),j[k]=null;try{return f.call(d)}finally{for(m=0,
|
||
n=g.length;m<n;m++)i=c[m],h[m][k]=g[m]}}function i(
|
||
a){var b=o(a,!1).listeners,c=[];if(b)for(var d in b
|
||
)!s[d]&&b[d]&&c.push(d);return c}function j(a,b,e){
|
||
return a!==Ember&&"function"==typeof a.sendEvent&&a
|
||
.sendEvent(b,e),c(a,b,d,e),!0}function k(a,b,e){var f=
|
||
[];return c(a,b,function(a){f.push(a)}),function(){
|
||
if(a.isDestroyed)return;a!==Ember&&"function"==typeof
|
||
a.sendEvent&&a.sendEvent(b,e);for(var c=0,g=f.length
|
||
;c<g;++c)d(f[c],e,a)}}function l(a,b){if(c(a,b,function(
|
||
){return!0}))return!0;var d=p(a,["listeners"],!0);return d
|
||
[b]=null,!1}function m(a,b){var d=[];return c(a,b,function(
|
||
a){d.push([a.target,a.method])}),d}var n=Ember.create
|
||
,o=Ember.meta,p=Ember.metaPath,q=Ember.guidFor,r=[]
|
||
.slice,s={__ember_source__:!0};Ember.addListener=e,
|
||
Ember.removeListener=f,Ember._suspendListener=g,Ember
|
||
._suspendListeners=h,Ember.sendEvent=j,Ember.hasListeners=
|
||
l,Ember.watchedEvents=i,Ember.listenersFor=m,Ember.
|
||
deferEvent=k}(),function(){function a(a,b,c,d){return b===
|
||
undefined&&(b=a,a=undefined),"string"==typeof b&&(b=
|
||
a[b]),c&&d>0&&(c=c.length>d?g.call(c,d):null),Ember
|
||
.handleErrors(function(){return b.apply(a||this,c||
|
||
[])},this)}function b(){l=null,k.currentRunLoop&&k.
|
||
end()}function c(){n=null;var b=+(new Date),d=-1;for(
|
||
var e in m){if(!m.hasOwnProperty(e))continue;var f=
|
||
m[e];if(f&&f.expires)if(b>=f.expires)delete m[e],a(
|
||
f.target,f.method,f.args,2);else if(d<0||f.expires<
|
||
d)d=f.expires}d>0&&(n=setTimeout(c,d- +(new Date)))
|
||
}function d(b,c){c[this.tguid]&&delete c[this.tguid
|
||
][this.mguid],m[b]&&a(this.target,this.method,this.
|
||
args),delete m[b]}function e(a,b,c,e){var f=Ember.guidFor
|
||
(b),g=Ember.guidFor(c),h=k.autorun().onceTimers,i=h
|
||
[f]&&h[f][g],j;return i&&m[i]?m[i].args=e:(j={target
|
||
:b,method:c,args:e,tguid:f,mguid:g},i=Ember.guidFor
|
||
(j),m[i]=j,h[f]||(h[f]={}),h[f][g]=i,k.schedule(a,j
|
||
,d,i,h)),i}function f(){o=null;for(var b in m){if(!
|
||
m.hasOwnProperty(b))continue;var c=m[b];c.next&&(delete
|
||
m[b],a(c.target,c.method,c.args,2))}}var g=[].slice
|
||
,h=Ember.ArrayPolyfills.forEach,i,j=function(a){this
|
||
._prev=a||null,this.onceTimers={}};j.prototype={end
|
||
:function(){this.flush()},prev:function(){return this
|
||
._prev},schedule:function(a,b,c){var d=this._queues
|
||
,e;d||(d=this._queues={}),e=d[a],e||(e=d[a]=[]);var f=
|
||
arguments.length>3?g.call(arguments,3):null;return e
|
||
.push({target:b,method:c,args:f}),this},flush:function(
|
||
b){function c(b){a(b.target,b.method,b.args)}var d,
|
||
e,f,g,j;if(!this._queues)return this;Ember.watch.flushPending
|
||
();if(b)while(this._queues&&(g=this._queues[b])){this
|
||
._queues[b]=null;if(b==="sync"){j=Ember.LOG_BINDINGS
|
||
,j&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember
|
||
.beginPropertyChanges();try{h.call(g,c)}finally{Ember
|
||
.endPropertyChanges()}j&&Ember.Logger.log("End: Flush Sync Queue"
|
||
)}else h.call(g,c)}else{d=Ember.run.queues,f=d.length
|
||
,e=0;k:while(e<f){b=d[e],g=this._queues&&this._queues
|
||
[b],delete this._queues[b];if(g)if(b==="sync"){j=Ember
|
||
.LOG_BINDINGS,j&&Ember.Logger.log("Begin: Flush Sync Queue"
|
||
),Ember.beginPropertyChanges();try{h.call(g,c)}finally{
|
||
Ember.endPropertyChanges()}j&&Ember.Logger.log("End: Flush Sync Queue"
|
||
)}else h.call(g,c);for(var l=0;l<=e;l++)if(this._queues&&
|
||
this._queues[d[l]]){e=l;continue k}e++}}return i=null
|
||
,this}},Ember.RunLoop=j,Ember.run=function(b,c){var d
|
||
,e;k.begin();try{if(b||c)d=a(b,c,arguments,2)}finally{
|
||
k.end()}return d};var k=Ember.run;Ember.run.begin=function(
|
||
){k.currentRunLoop=new j(k.currentRunLoop)},Ember.run
|
||
.end=function(){try{k.currentRunLoop.end()}finally{
|
||
k.currentRunLoop=k.currentRunLoop.prev()}},Ember.run
|
||
.queues=["sync","actions","destroy","timers"],Ember
|
||
.run.schedule=function(a,b,c){var d=k.autorun();d.schedule
|
||
.apply(d,arguments)};var l;Ember.run.hasScheduledTimers=
|
||
function(){return!!(l||n||o)},Ember.run.cancelTimers=
|
||
function(){l&&(clearTimeout(l),l=null),n&&(clearTimeout
|
||
(n),n=null),o&&(clearTimeout(o),o=null),m={}},Ember
|
||
.run.autorun=function(){return k.currentRunLoop||(k
|
||
.begin(),l||(l=setTimeout(b,1))),k.currentRunLoop},
|
||
Ember.run.sync=function(){k.autorun(),k.currentRunLoop
|
||
.flush("sync")};var m={},n;Ember.run.later=function(
|
||
a,b){var d,e,f,h,i;return arguments.length===2&&"function"==typeof
|
||
a?(i=b,b=a,a=undefined,d=[a,b]):(d=g.call(arguments
|
||
),i=d.pop()),e=+(new Date)+i,f={target:a,method:b,expires
|
||
:e,args:d},h=Ember.guidFor(f),m[h]=f,k.once(m,c),h}
|
||
,Ember.run.once=function(a,b){return e("actions",a,
|
||
b,g.call(arguments,2))},Ember.run.scheduleOnce=function(
|
||
a,b,c,d){return e(a,b,c,g.call(arguments,3))};var o
|
||
;Ember.run.next=function(a,b){var c,d={target:a,method
|
||
:b,args:g.call(arguments),next:!0};return c=Ember.guidFor
|
||
(d),m[c]=d,o||(o=setTimeout(f,1)),c},Ember.run.cancel=
|
||
function(a){delete m[a]}}(),function(){function a(a
|
||
,b){return c(f(b)?window:a,b)}function b(a,b){for(var c in
|
||
b)b.hasOwnProperty(c)&&(a[c]=b[c])}Ember.LOG_BINDINGS=!!
|
||
Ember.ENV.LOG_BINDINGS;var c=Ember.get,d=Ember.set,
|
||
e=Ember.guidFor,f=Ember.isGlobalPath,g=function(a,b
|
||
){this._direction="fwd",this._from=b,this._to=a,this
|
||
._directionMap=Ember.Map.create()};g.prototype={copy
|
||
:function(){var a=new g(this._to,this._from);return this
|
||
._oneWay&&(a._oneWay=!0),a},from:function(a){return this
|
||
._from=a,this},to:function(a){return this._to=a,this
|
||
},oneWay:function(){return this._oneWay=!0,this},toString
|
||
:function(){var a=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+
|
||
e(this)+">("+this._from+" -> "+this._to+")"+a},connect
|
||
:function(b){var c=this._from,d=this._to;return Ember
|
||
.trySet(b,d,a(b,c)),Ember.addObserver(b,c,this,this
|
||
.fromDidChange),this._oneWay||Ember.addObserver(b,d
|
||
,this,this.toDidChange),this._readyToSync=!0,this},
|
||
disconnect:function(a){var b=!this._oneWay;return Ember
|
||
.removeObserver(a,this._from,this,this.fromDidChange
|
||
),b&&Ember.removeObserver(a,this._to,this,this.toDidChange
|
||
),this._readyToSync=!1,this},fromDidChange:function(
|
||
a){this._scheduleSync(a,"fwd")},toDidChange:function(
|
||
a){this._scheduleSync(a,"back")},_scheduleSync:function(
|
||
a,b){var c=this._directionMap,d=c.get(a);d||(Ember.
|
||
run.schedule("sync",this,this._sync,a),c.set(a,b)),
|
||
d==="back"&&b==="fwd"&&c.set(a,"fwd")},_sync:function(
|
||
b){var d=Ember.LOG_BINDINGS;if(b.isDestroyed||!this
|
||
._readyToSync)return;var e=this._directionMap,f=e.get
|
||
(b),g=this._from,h=this._to;e.remove(b);if(f==="fwd"
|
||
){var i=a(b,this._from);d&&Ember.Logger.log(" ",this
|
||
.toString(),"->",i,b),this._oneWay?Ember.trySet(b,h
|
||
,i):Ember._suspendObserver(b,h,this,this.toDidChange
|
||
,function(){Ember.trySet(b,h,i)})}else if(f==="back"
|
||
){var j=c(b,this._to);d&&Ember.Logger.log(" ",this.
|
||
toString(),"<-",j,b),Ember._suspendObserver(b,g,this
|
||
,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath
|
||
(g)?window:b,g,j)})}}},b(g,{from:function(){var a=this
|
||
,b=new a;return b.from.apply(b,arguments)},to:function(
|
||
){var a=this,b=new a;return b.to.apply(b,arguments)
|
||
},oneWay:function(a,b){var c=this,d=new c(null,a);return d
|
||
.oneWay(b)}}),Ember.Binding=g,Ember.bind=function(a
|
||
,b,c){return(new Ember.Binding(b,c)).connect(a)},Ember
|
||
.oneWay=function(a,b,c){return(new Ember.Binding(b,
|
||
c)).oneWay().connect(a)}}(),function(){function a(a
|
||
){var b=Ember.meta(a,!0),c=b.mixins;return c?c.__emberproto__!==
|
||
a&&(c=b.mixins=y(c),c.__emberproto__=a):c=b.mixins=
|
||
{__emberproto__:a},c}function b(a,b){return b&&b.length>0&&
|
||
(a.mixins=s.call(b,function(a){if(a instanceof n)return a
|
||
;var b=new n;return b.properties=a,b})),a}function c
|
||
(a){return"function"==typeof a&&a.isMethod!==!1&&a!==
|
||
Boolean&&a!==Object&&a!==Number&&a!==Array&&a!==Date&&
|
||
a!==String}function d(a,b,e,f,g){function h(a){delete
|
||
e[a],delete f[a]}var i=a.length,j,k,l,m,p,q,r,s;for(
|
||
j=0;j<i;j++){k=a[j];if(k instanceof n){l=A(k);if(b[
|
||
l])continue;b[l]=k,m=k.properties}else m=k;if(m){s=
|
||
f.concatenatedProperties||g.concatenatedProperties,
|
||
m.concatenatedProperties&&(s=s?s.concat(m.concatenatedProperties
|
||
):m.concatenatedProperties);for(q in m){if(!m.hasOwnProperty
|
||
(q))continue;p=m[q];if(p instanceof Ember.Descriptor
|
||
){if(p===o&&e[q])continue;e[q]=p,f[q]=undefined}else{
|
||
if(c(p)){r=e[q]===undefined&&f[q],r||(r=g[q]),"function"!=typeof
|
||
r&&(r=null);if(r){var v=p.__ember_observes__,w=p.__ember_observesBefore__
|
||
;p=Ember.wrap(p,r),p.__ember_observes__=v,p.__ember_observesBefore__=
|
||
w}}else if(s&&t.call(s,q)>=0||q==="concatenatedProperties"
|
||
){var x=f[q]||g[q];p=x?x.concat(p):Ember.makeArray(
|
||
p)}e[q]=undefined,f[q]=p}}m.hasOwnProperty("toString"
|
||
)&&(g.toString=m.toString)}else k.mixins&&(d(k.mixins
|
||
,b,e,f,g),k._without&&u.call(k._without,h))}}function e
|
||
(a){var b=Ember.meta(a),c=b.required;if(!c||c.__emberproto__!==
|
||
a)c=b.required=c?y(c):{__ember_count__:0},c.__emberproto__=
|
||
a;return c}function f(a,b,c,d){if(B.test(b)){var e=
|
||
d.bindings;e?e.__emberproto__!==a&&(e=d.bindings=y(
|
||
d.bindings),e.__emberproto__=a):e=d.bindings={__emberproto__
|
||
:a},e[b]=c}}function g(a,b){var c=b.bindings,d,e,f;
|
||
if(c){for(d in c)e=d!=="__emberproto__"&&c[d],e&&(f=
|
||
d.slice(0,-7),e instanceof Ember.Binding?(e=e.copy(
|
||
),e.to(f)):e=new Ember.Binding(f,e),e.connect(a),a[
|
||
d]=e);b.bindings={__emberproto__:a}}}function h(a,b
|
||
){return g(a,b||Ember.meta(a)),a}function i(b,c,g){
|
||
var i={},j={},k=Ember.meta(b),l=k.required,m,n,q,r,
|
||
s,t,u;d(c,a(b),i,j,b);for(m in j){if(m==="contructor"
|
||
)continue;if(!j.hasOwnProperty(m))continue;q=i[m],n=
|
||
j[m];if(q===o)m in b||(l=e(b),l.__ember_count__++,l
|
||
[m]=!0);else{while(q&&q instanceof p){var v=q.methodName
|
||
;i[v]||j[v]?(n=j[v],q=i[v]):k.descs[v]?(q=k.descs[v
|
||
],n=undefined):(q=undefined,n=b[v])}if(q===undefined&&
|
||
n===undefined)continue;r=b[m];if("function"==typeof
|
||
r)if(s=r.__ember_observesBefore__){t=s.length;for(u=0
|
||
;u<t;u++)Ember.removeBeforeObserver(b,s[u],null,m)}
|
||
else if(s=r.__ember_observes__){t=s.length;for(u=0;
|
||
u<t;u++)Ember.removeObserver(b,s[u],null,m)}f(b,m,n
|
||
,k),z(b,m,q,n,k);if("function"==typeof n)if(s=n.__ember_observesBefore__
|
||
){t=s.length;for(u=0;u<t;u++)Ember.addBeforeObserver
|
||
(b,s[u],null,m)}else if(s=n.__ember_observes__){t=s
|
||
.length;for(u=0;u<t;u++)Ember.addObserver(b,s[u],null
|
||
,m)}l&&l[m]&&(l=e(b),l.__ember_count__--,l[m]=!1)}}
|
||
g||h(b,k);if(!g&&l&&l.__ember_count__>0){var w=[];for(
|
||
m in l){if(x[m])continue;w.push(m)}}return b}function j
|
||
(a,b,c){var d=A(a);if(c[d])return!1;c[d]=!0;if(a===
|
||
b)return!0;var e=a.mixins,f=e?e.length:0;while(--f>=0
|
||
)if(j(e[f],b,c))return!0;return!1}function k(a,b,c)
|
||
{if(c[A(b)])return;c[A(b)]=!0;if(b.properties){var d=
|
||
b.properties;for(var e in d)d.hasOwnProperty(e)&&(a
|
||
[e]=!0)}else b.mixins&&u.call(b.mixins,function(b){
|
||
k(a,b,c)})}function l(a,b,c){var d=a.length;for(var e in
|
||
b){if(!b.hasOwnProperty||!b.hasOwnProperty(e))continue;
|
||
var f=b[e];a[d]=e;if(f&&f.toString===q)f[D]=a.join("."
|
||
);else if(f&&E(f,"isNamespace")){if(c[A(f)])continue;
|
||
c[A(f)]=!0,l(a,f,c)}}a.length=d}function m(){var a=
|
||
Ember.Namespace,b,c;if(a.PROCESSED)return;for(var d in
|
||
window){if(d==="globalStorage"&&window.StorageList&&
|
||
window.globalStorage instanceof window.StorageList)
|
||
continue;if(window.hasOwnProperty&&!window.hasOwnProperty
|
||
(d))continue;try{b=window[d],c=b&&E(b,"isNamespace"
|
||
)}catch(e){continue}c&&(b[D]=d)}}var n,o,p,q,r,s=Ember
|
||
.ArrayPolyfills.map,t=Ember.ArrayPolyfills.indexOf,
|
||
u=Ember.ArrayPolyfills.forEach,v=[].slice,w={},x={__emberproto__
|
||
:!0,__ember_count__:!0},y=Ember.create,z=Ember.defineProperty
|
||
,A=Ember.guidFor,B=Ember.IS_BINDING=/^.+Binding$/;Ember
|
||
.mixin=function(a){var b=v.call(arguments,1);return i
|
||
(a,b,!1),a},Ember.Mixin=function(){return b(this,arguments
|
||
)},n=Ember.Mixin,n._apply=i,n.applyPartial=function(
|
||
a){var b=v.call(arguments,1);return i(a,b,!0)},n.finishPartial=
|
||
h,n.create=function(){q.processed=!1;var a=this;return b
|
||
(new a,arguments)};var C=n.prototype;C.reopen=function(
|
||
){var a,b;this.properties?(a=n.create(),a.properties=
|
||
this.properties,delete this.properties,this.mixins=
|
||
[a]):this.mixins||(this.mixins=[]);var c=arguments.
|
||
length,d=this.mixins,e;for(e=0;e<c;e++)a=arguments[
|
||
e],a instanceof n?d.push(a):(b=n.create(),b.properties=
|
||
a,d.push(b));return this},C.apply=function(a){return i
|
||
(a,[this],!1)},C.applyPartial=function(a){return i(
|
||
a,[this],!0)},C.detect=function(a){if(!a)return!1;if(
|
||
a instanceof n)return j(a,this,{});var b=Ember.meta
|
||
(a,!1).mixins;return b?!!b[A(this)]:!1},C.without=function(
|
||
){var a=new n(this);return a._without=v.call(arguments
|
||
),a},C.keys=function(){var a={},b={},c=[];k(a,this,
|
||
b);for(var d in a)a.hasOwnProperty(d)&&c.push(d);return c
|
||
};var D=Ember.GUID_KEY+"_name",E=Ember.get;Ember.identifyNamespaces=
|
||
m,r=function(a){var b=a.superclass;if(b)return b[D]?
|
||
b[D]:r(b);return},q=function(){var a=Ember.Namespace
|
||
,b;if(a&&!this[D]&&!q.processed){a.PROCESSED||(m(),
|
||
a.PROCESSED=!0),q.processed=!0;var c=a.NAMESPACES;for(
|
||
var d=0,e=c.length;d<e;d++)b=c[d],l([b.toString()],
|
||
b,{})}if(this[D])return this[D];var f=r(this);return f?"(subclass of "+
|
||
f+")":"(unknown mixin)"},C.toString=q,n.mixins=function(
|
||
a){var b=[],c=Ember.meta(a,!1).mixins,d,e;if(c)for(
|
||
d in c){if(x[d])continue;e=c[d],e.properties||b.push
|
||
(c[d])}return b},o=new Ember.Descriptor,o.toString=
|
||
function(){return"(Required Property)"},Ember.required=
|
||
function(){return o},p=function(a){this.methodName=
|
||
a},p.prototype=new Ember.Descriptor,Ember.alias=function(
|
||
a){return new p(a)},Ember.observer=function(a){var b=
|
||
v.call(arguments,1);return a.__ember_observes__=b,a
|
||
},Ember.immediateObserver=function(){for(var a=0,b=
|
||
arguments.length;a<b;a++)var c=arguments[a];return Ember
|
||
.observer.apply(this,arguments)},Ember.beforeObserver=
|
||
function(a){var b=v.call(arguments,1);return a.__ember_observesBefore__=
|
||
b,a}}(),function(){}(),function(){function a(c,d,e,
|
||
f){var g,h,i;if("object"!=typeof c||c===null)return c
|
||
;if(d&&(h=b(e,c))>=0)return f[h];if(Ember.typeOf(c)==="array"
|
||
){g=c.slice();if(d){h=g.length;while(--h>=0)g[h]=a(
|
||
g[h],d,e,f)}}else if(Ember.Copyable&&Ember.Copyable
|
||
.detect(c))g=c.copy(d,e,f);else{g={};for(i in c){if(!
|
||
c.hasOwnProperty(i))continue;g[i]=d?a(c[i],d,e,f):c
|
||
[i]}}return d&&(e.push(c),f.push(g)),g}var b=Ember.
|
||
EnumerableUtils.indexOf,c={},d="Boolean Number String Function Array Date RegExp Object"
|
||
.split(" ");Ember.ArrayPolyfills.forEach.call(d,function(
|
||
a){c["[object "+a+"]"]=a.toLowerCase()});var e=Object
|
||
.prototype.toString;Ember.typeOf=function(a){var b;
|
||
return b=a===null||a===undefined?String(a):c[e.call
|
||
(a)]||"object",b==="function"?Ember.Object&&Ember.Object
|
||
.detect(a)&&(b="class"):b==="object"&&(a instanceof
|
||
Error?b="error":Ember.Object&&a instanceof Ember.Object?
|
||
b="instance":b="object"),b},Ember.none=function(a){
|
||
return a===null||a===undefined},Ember.empty=function(
|
||
a){return a===null||a===undefined||a.length===0&&typeof
|
||
a!="function"||typeof a=="object"&&Ember.get(a,"length"
|
||
)===0},Ember.compare=function g(a,b){if(a===b)return 0
|
||
;var c=Ember.typeOf(a),d=Ember.typeOf(b),e=Ember.Comparable
|
||
;if(e){if(c==="instance"&&e.detect(a.constructor))return a
|
||
.constructor.compare(a,b);if(d==="instance"&&e.detect
|
||
(b.constructor))return 1-b.constructor.compare(b,a)
|
||
}var f=Ember.ORDER_DEFINITION_MAPPING;if(!f){var h=
|
||
Ember.ORDER_DEFINITION;f=Ember.ORDER_DEFINITION_MAPPING=
|
||
{};var i,j;for(i=0,j=h.length;i<j;++i)f[h[i]]=i;delete
|
||
Ember.ORDER_DEFINITION}var k=f[c],l=f[d];if(k<l)return-1
|
||
;if(k>l)return 1;switch(c){case"boolean":case"number"
|
||
:if(a<b)return-1;if(a>b)return 1;return 0;case"string"
|
||
:var m=a.localeCompare(b);if(m<0)return-1;if(m>0)return 1
|
||
;return 0;case"array":var n=a.length,o=b.length,p=Math
|
||
.min(n,o),q=0,r=0;while(q===0&&r<p)q=g(a[r],b[r]),r++
|
||
;if(q!==0)return q;if(n<o)return-1;if(n>o)return 1;
|
||
return 0;case"instance":if(Ember.Comparable&&Ember.
|
||
Comparable.detect(a))return a.compare(a,b);return 0
|
||
;case"date":var s=a.getTime(),t=b.getTime();if(s<t)
|
||
return-1;if(s>t)return 1;return 0;default:return 0}
|
||
},Ember.copy=function(b,c){return"object"!=typeof b||
|
||
b===null?b:Ember.Copyable&&Ember.Copyable.detect(b)?
|
||
b.copy(c):a(b,c,c?[]:null,c?[]:null)},Ember.inspect=
|
||
function(a){var b,c=[];for(var d in a)if(a.hasOwnProperty
|
||
(d)){b=a[d];if(b==="toString")continue;Ember.typeOf
|
||
(b)==="function"&&(b="function() { ... }"),c.push(d+": "+
|
||
b)}return"{"+c.join(" , ")+"}"},Ember.isEqual=function(
|
||
a,b){return a&&"function"==typeof a.isEqual?a.isEqual
|
||
(b):a===b},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||
|
||
["undefined","null","boolean","number","string","array"
|
||
,"object","instance","function","class","date"],Ember
|
||
.keys=Object.keys,Ember.keys||(Ember.keys=function(
|
||
a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push
|
||
(c);return b});var f=["description","fileName","lineNumber"
|
||
,"message","name","number","stack"];Ember.Error=function(
|
||
){var a=Error.prototype.constructor.apply(this,arguments
|
||
);for(var b=0;b<f.length;b++)this[f[b]]=a[f[b]]},Ember
|
||
.Error.prototype=Ember.create(Error.prototype)}(),function(
|
||
){var a=/[ _]/g,b={},c=/([a-z])([A-Z])/g,d=/(\-|_|\s)+(.)?/g
|
||
,e=/([a-z\d])([A-Z]+)/g,f=/\-|\s+/g;Ember.STRINGS={
|
||
},Ember.String={fmt:function(a,b){var c=0;return a.
|
||
replace(/%@([0-9]+)?/g,function(a,d){return d=d?parseInt
|
||
(d,0)-1:c++,a=b[d],(a===null?"(null)":a===undefined?""
|
||
:a).toString()})},loc:function(a,b){return a=Ember.
|
||
STRINGS[a]||a,Ember.String.fmt(a,b)},w:function(a){
|
||
return a.split(/\s+/)},decamelize:function(a){return a
|
||
.replace(c,"$1_$2").toLowerCase()},dasherize:function(
|
||
c){var d=b,e=d[c];return e?e:(e=Ember.String.decamelize
|
||
(c).replace(a,"-"),d[c]=e,e)},camelize:function(a){
|
||
return a.replace(d,function(a,b,c){return c?c.toUpperCase
|
||
():""})},classify:function(a){var b=Ember.String.camelize
|
||
(a);return b.charAt(0).toUpperCase()+b.substr(1)},underscore
|
||
:function(a){return a.replace(e,"$1_$2").replace(f,"_"
|
||
).toLowerCase()}}}(),function(){var a=Ember.String.
|
||
fmt,b=Ember.String.w,c=Ember.String.loc,d=Ember.String
|
||
.camelize,e=Ember.String.decamelize,f=Ember.String.
|
||
dasherize,g=Ember.String.underscore;Ember.EXTEND_PROTOTYPES&&
|
||
(String.prototype.fmt=function(){return a(this,arguments
|
||
)},String.prototype.w=function(){return b(this)},String
|
||
.prototype.loc=function(){return c(this,arguments)}
|
||
,String.prototype.camelize=function(){return d(this
|
||
)},String.prototype.decamelize=function(){return e(
|
||
this)},String.prototype.dasherize=function(){return f
|
||
(this)},String.prototype.underscore=function(){return g
|
||
(this)})}(),function(){var a=Array.prototype.slice;
|
||
Ember.EXTEND_PROTOTYPES&&(Function.prototype.property=
|
||
function(){var a=Ember.computed(this);return a.property
|
||
.apply(a,arguments)},Function.prototype.observes=function(
|
||
){return this.__ember_observes__=a.call(arguments),
|
||
this},Function.prototype.observesBefore=function(){
|
||
return this.__ember_observesBefore__=a.call(arguments
|
||
),this})}(),function(){}(),function(){function a(){
|
||
return h.length===0?{}:h.pop()}function b(a){return h
|
||
.push(a),null}function c(a,b){function c(c){var f=d
|
||
(c,a);return e?b===f:!!f}var e=arguments.length===2
|
||
;return c}var d=Ember.get,e=Ember.set,f=Array.prototype
|
||
.slice,g=Ember.EnumerableUtils.indexOf,h=[];Ember.Enumerable=
|
||
Ember.Mixin.create({isEnumerable:!0,nextObject:Ember
|
||
.required(Function),firstObject:Ember.computed(function(
|
||
){if(d(this,"length")===0)return undefined;var c=a(
|
||
),e;return e=this.nextObject(0,null,c),b(c),e}).property
|
||
("[]").cacheable(),lastObject:Ember.computed(function(
|
||
){var c=d(this,"length");if(c===0)return undefined;
|
||
var e=a(),f=0,g,h=null;do h=g,g=this.nextObject(f++
|
||
,h,e);while(g!==undefined);return b(e),h}).property
|
||
("[]").cacheable(),contains:function(a){return this
|
||
.find(function(b){return b===a})!==undefined},forEach
|
||
:function(c,e){if(typeof c!="function")throw new TypeError
|
||
;var f=d(this,"length"),g=null,h=a();e===undefined&&
|
||
(e=null);for(var i=0;i<f;i++){var j=this.nextObject
|
||
(i,g,h);c.call(e,j,i,this),g=j}return g=null,h=b(h)
|
||
,this},getEach:function(a){return this.mapProperty(
|
||
a)},setEach:function(a,b){return this.forEach(function(
|
||
c){e(c,a,b)})},map:function(a,b){var c=[];return this
|
||
.forEach(function(d,e,f){c[e]=a.call(b,d,e,f)}),c},
|
||
mapProperty:function(a){return this.map(function(b)
|
||
{return d(b,a)})},filter:function(a,b){var c=[];return this
|
||
.forEach(function(d,e,f){a.call(b,d,e,f)&&c.push(d)
|
||
}),c},filterProperty:function(a,b){return this.filter
|
||
(c.apply(this,arguments))},find:function(c,e){var f=
|
||
d(this,"length");e===undefined&&(e=null);var g=null
|
||
,h,i=!1,j,k=a();for(var l=0;l<f&&!i;l++){h=this.nextObject
|
||
(l,g,k);if(i=c.call(e,h,l,this))j=h;g=h}return h=g=
|
||
null,k=b(k),j},findProperty:function(a,b){return this
|
||
.find(c.apply(this,arguments))},every:function(a,b)
|
||
{return!this.find(function(c,d,e){return!a.call(b,c
|
||
,d,e)})},everyProperty:function(a,b){return this.every
|
||
(c.apply(this,arguments))},some:function(a,b){return!!
|
||
this.find(function(c,d,e){return!!a.call(b,c,d,e)})
|
||
},someProperty:function(a,b){return this.some(c.apply
|
||
(this,arguments))},reduce:function(a,b,c){if(typeof
|
||
a!="function")throw new TypeError;var d=b;return this
|
||
.forEach(function(b,e){d=a.call(null,d,b,e,this,c)}
|
||
,this),d},invoke:function(a){var b,c=[];return arguments
|
||
.length>1&&(b=f.call(arguments,1)),this.forEach(function(
|
||
d,e){var f=d&&d[a];"function"==typeof f&&(c[e]=b?f.
|
||
apply(d,b):f.call(d))},this),c},toArray:function(){
|
||
var a=[];return this.forEach(function(b,c){a[c]=b})
|
||
,a},compact:function(){return this.without(null)},without
|
||
:function(a){if(!this.contains(a))return this;var b=
|
||
[];return this.forEach(function(c){c!==a&&(b[b.length
|
||
]=c)}),b},uniq:function(){var a=[];return this.forEach
|
||
(function(b){g(a,b)<0&&a.push(b)}),a},"[]":Ember.computed
|
||
(function(a,b){return this}).property().cacheable()
|
||
,addEnumerableObserver:function(a,b){var c=b&&b.willChange||"enumerableWillChange"
|
||
,e=b&&b.didChange||"enumerableDidChange",f=d(this,"hasEnumerableObservers"
|
||
);return f||Ember.propertyWillChange(this,"hasEnumerableObservers"
|
||
),Ember.addListener(this,"@enumerable:before",a,c),
|
||
Ember.addListener(this,"@enumerable:change",a,e),f||
|
||
Ember.propertyDidChange(this,"hasEnumerableObservers"
|
||
),this},removeEnumerableObserver:function(a,b){var c=
|
||
b&&b.willChange||"enumerableWillChange",e=b&&b.didChange||"enumerableDidChange"
|
||
,f=d(this,"hasEnumerableObservers");return f&&Ember
|
||
.propertyWillChange(this,"hasEnumerableObservers"),
|
||
Ember.removeListener(this,"@enumerable:before",a,c)
|
||
,Ember.removeListener(this,"@enumerable:change",a,e
|
||
),f&&Ember.propertyDidChange(this,"hasEnumerableObservers"
|
||
),this},hasEnumerableObservers:Ember.computed(function(
|
||
){return Ember.hasListeners(this,"@enumerable:change"
|
||
)||Ember.hasListeners(this,"@enumerable:before")}).
|
||
property().cacheable(),enumerableContentWillChange:
|
||
function(a,b){var c,e,f;return"number"==typeof a?c=
|
||
a:a?c=d(a,"length"):c=a=-1,"number"==typeof b?e=b:b?
|
||
e=d(b,"length"):e=b=-1,f=e<0||c<0||e-c!==0,a===-1&&
|
||
(a=null),b===-1&&(b=null),Ember.propertyWillChange(
|
||
this,"[]"),f&&Ember.propertyWillChange(this,"length"
|
||
),Ember.sendEvent(this,"@enumerable:before",[this,a
|
||
,b]),this},enumerableContentDidChange:function(a,b)
|
||
{var c=this.propertyDidChange,e,f,g;return"number"==typeof
|
||
a?e=a:a?e=d(a,"length"):e=a=-1,"number"==typeof b?f=
|
||
b:b?f=d(b,"length"):f=b=-1,g=f<0||e<0||f-e!==0,a===-1&&
|
||
(a=null),b===-1&&(b=null),Ember.sendEvent(this,"@enumerable:change"
|
||
,[this,a,b]),g&&Ember.propertyDidChange(this,"length"
|
||
),Ember.propertyDidChange(this,"[]"),this}})}(),function(
|
||
){function a(a){return a===null||a===undefined}var b=
|
||
Ember.get,c=Ember.set,d=Ember.meta,e=Ember.EnumerableUtils
|
||
.map,f=Ember.cacheFor;Ember.Array=Ember.Mixin.create
|
||
(Ember.Enumerable,{isSCArray:!0,length:Ember.required
|
||
(),objectAt:function(a){return a<0||a>=b(this,"length"
|
||
)?undefined:b(this,a)},objectsAt:function(a){var b=
|
||
this;return e(a,function(a){return b.objectAt(a)})}
|
||
,nextObject:function(a){return this.objectAt(a)},"[]"
|
||
:Ember.computed(function(a,c){return c!==undefined&&
|
||
this.replace(0,b(this,"length"),c),this}).property(
|
||
).cacheable(),firstObject:Ember.computed(function()
|
||
{return this.objectAt(0)}).property().cacheable(),lastObject
|
||
:Ember.computed(function(){return this.objectAt(b(this
|
||
,"length")-1)}).property().cacheable(),contains:function(
|
||
a){return this.indexOf(a)>=0},slice:function(c,d){var e=
|
||
[],f=b(this,"length");a(c)&&(c=0);if(a(d)||d>f)d=f;
|
||
while(c<d)e[e.length]=this.objectAt(c++);return e},
|
||
indexOf:function(a,c){var d,e=b(this,"length");c===
|
||
undefined&&(c=0),c<0&&(c+=e);for(d=c;d<e;d++)if(this
|
||
.objectAt(d,!0)===a)return d;return-1},lastIndexOf:
|
||
function(a,c){var d,e=b(this,"length");if(c===undefined||
|
||
c>=e)c=e-1;c<0&&(c+=e);for(d=c;d>=0;d--)if(this.objectAt
|
||
(d)===a)return d;return-1},addArrayObserver:function(
|
||
a,c){var d=c&&c.willChange||"arrayWillChange",e=c&&
|
||
c.didChange||"arrayDidChange",f=b(this,"hasArrayObservers"
|
||
);return f||Ember.propertyWillChange(this,"hasArrayObservers"
|
||
),Ember.addListener(this,"@array:before",a,d),Ember
|
||
.addListener(this,"@array:change",a,e),f||Ember.propertyDidChange
|
||
(this,"hasArrayObservers"),this},removeArrayObserver
|
||
:function(a,c){var d=c&&c.willChange||"arrayWillChange"
|
||
,e=c&&c.didChange||"arrayDidChange",f=b(this,"hasArrayObservers"
|
||
);return f&&Ember.propertyWillChange(this,"hasArrayObservers"
|
||
),Ember.removeListener(this,"@array:before",a,d),Ember
|
||
.removeListener(this,"@array:change",a,e),f&&Ember.
|
||
propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers
|
||
:Ember.computed(function(){return Ember.hasListeners
|
||
(this,"@array:change")||Ember.hasListeners(this,"@array:before"
|
||
)}).property().cacheable(),arrayContentWillChange:function(
|
||
a,c,d){a===undefined?(a=0,c=d=-1):(c===undefined&&(
|
||
c=-1),d===undefined&&(d=-1)),Ember.isWatching(this,"@each"
|
||
)&&b(this,"@each"),Ember.sendEvent(this,"@array:before"
|
||
,[this,a,c,d]);var e,f;if(a>=0&&c>=0&&b(this,"hasEnumerableObservers"
|
||
)){e=[],f=a+c;for(var g=a;g<f;g++)e.push(this.objectAt
|
||
(g))}else e=c;return this.enumerableContentWillChange
|
||
(e,d),this},arrayContentDidChange:function(a,c,d){a===
|
||
undefined?(a=0,c=d=-1):(c===undefined&&(c=-1),d===undefined&&
|
||
(d=-1));var e,g;if(a>=0&&d>=0&&b(this,"hasEnumerableObservers"
|
||
)){e=[],g=a+d;for(var h=a;h<g;h++)e.push(this.objectAt
|
||
(h))}else e=d;this.enumerableContentDidChange(c,e),
|
||
Ember.sendEvent(this,"@array:change",[this,a,c,d]);
|
||
var i=b(this,"length"),j=f(this,"firstObject"),k=f(
|
||
this,"lastObject");return this.objectAt(0)!==j&&(Ember
|
||
.propertyWillChange(this,"firstObject"),Ember.propertyDidChange
|
||
(this,"firstObject")),this.objectAt(i-1)!==k&&(Ember
|
||
.propertyWillChange(this,"lastObject"),Ember.propertyDidChange
|
||
(this,"lastObject")),this},"@each":Ember.computed(function(
|
||
){return this.__each||(this.__each=new Ember.EachProxy
|
||
(this)),this.__each}).property().cacheable()})}(),function(
|
||
){Ember.Comparable=Ember.Mixin.create({isComparable
|
||
:!0,compare:Ember.required(Function)})}(),function(
|
||
){var a=Ember.get,b=Ember.set;Ember.Copyable=Ember.
|
||
Mixin.create({copy:Ember.required(Function),frozenCopy
|
||
:function(){if(Ember.Freezable&&Ember.Freezable.detect
|
||
(this))return a(this,"isFrozen")?this:this.copy().freeze
|
||
();throw new Error(Ember.String.fmt("%@ does not support freezing"
|
||
,[this]))}})}(),function(){var a=Ember.get,b=Ember.
|
||
set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1
|
||
,freeze:function(){return a(this,"isFrozen")?this:(
|
||
b(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."
|
||
}(),function(){var a=Ember.EnumerableUtils.forEach;
|
||
Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable
|
||
,{addObject:Ember.required(Function),addObjects:function(
|
||
b){return Ember.beginPropertyChanges(this),a(b,function(
|
||
a){this.addObject(a)},this),Ember.endPropertyChanges
|
||
(this),this},removeObject:Ember.required(Function),
|
||
removeObjects:function(b){return Ember.beginPropertyChanges
|
||
(this),a(b,function(a){this.removeObject(a)},this),
|
||
Ember.endPropertyChanges(this),this}})}(),function(
|
||
){var a="Index out of range",b=[],c=Ember.get,d=Ember
|
||
.set,e=Ember.EnumerableUtils.forEach;Ember.MutableArray=
|
||
Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable
|
||
,{replace:Ember.required(),clear:function(){var a=c
|
||
(this,"length");return a===0?this:(this.replace(0,a
|
||
,b),this)},insertAt:function(b,d){if(b>c(this,"length"
|
||
))throw new Error(a);return this.replace(b,0,[d]),this
|
||
},removeAt:function(d,e){if("number"==typeof d){if(
|
||
d<0||d>=c(this,"length"))throw new Error(a);e===undefined&&
|
||
(e=1),this.replace(d,e,b)}return this},pushObject:function(
|
||
a){return this.insertAt(c(this,"length"),a),a},pushObjects
|
||
:function(a){return this.replace(c(this,"length"),0
|
||
,a),this},popObject:function(){var a=c(this,"length"
|
||
);if(a===0)return null;var b=this.objectAt(a-1);return this
|
||
.removeAt(a-1,1),b},shiftObject:function(){if(c(this
|
||
,"length")===0)return null;var a=this.objectAt(0);return this
|
||
.removeAt(0),a},unshiftObject:function(a){return this
|
||
.insertAt(0,a),a},unshiftObjects:function(a){return this
|
||
.replace(0,0,a),this},reverseObjects:function(){var a=
|
||
c(this,"length");if(a===0)return this;var b=this.toArray
|
||
().reverse();return this.replace(0,a,b),this},setObjects
|
||
:function(a){if(a.length===0)return this.clear();var b=
|
||
c(this,"length");return this.replace(0,b,a),this},removeObject
|
||
:function(a){var b=c(this,"length")||0;while(--b>=0
|
||
){var d=this.objectAt(b);d===a&&this.removeAt(b)}return this
|
||
},addObject:function(a){return this.contains(a)||this
|
||
.pushObject(a),this}})}(),function(){var a=Ember.get
|
||
,b=Ember.set,c=Ember.defineProperty;Ember.Observable=
|
||
Ember.Mixin.create({isObserverable:!0,get:function(
|
||
b){return a(this,b)},getProperties:function(){var b=
|
||
{},c=arguments;arguments.length===1&&Ember.typeOf(arguments
|
||
[0])==="array"&&(c=arguments[0]);for(var d=0;d<c.length
|
||
;d++)b[c[d]]=a(this,c[d]);return b},set:function(a,
|
||
c){return b(this,a,c),this},setProperties:function(
|
||
a){return Ember.setProperties(this,a)},beginPropertyChanges
|
||
:function(){return Ember.beginPropertyChanges(),this
|
||
},endPropertyChanges:function(){return Ember.endPropertyChanges
|
||
(),this},propertyWillChange:function(a){return Ember
|
||
.propertyWillChange(this,a),this},propertyDidChange
|
||
:function(a){return Ember.propertyDidChange(this,a)
|
||
,this},notifyPropertyChange:function(a){return this
|
||
.propertyWillChange(a),this.propertyDidChange(a),this
|
||
},addBeforeObserver:function(a,b,c){Ember.addBeforeObserver
|
||
(this,a,b,c)},addObserver:function(a,b,c){Ember.addObserver
|
||
(this,a,b,c)},removeObserver:function(a,b,c){Ember.
|
||
removeObserver(this,a,b,c)},hasObserverFor:function(
|
||
a){return Ember.hasListeners(this,a+":change")},unknownProperty
|
||
:function(a){return undefined},setUnknownProperty:function(
|
||
a,d){c(this,a),b(this,a,d)},getPath:function(a){return this
|
||
.get(a)},setPath:function(a,b){return this.set(a,b)
|
||
},getWithDefault:function(a,b){return Ember.getWithDefault
|
||
(this,a,b)},incrementProperty:function(c,d){return d||
|
||
(d=1),b(this,c,(a(this,c)||0)+d),a(this,c)},decrementProperty
|
||
:function(c,d){return d||(d=1),b(this,c,(a(this,c)||0
|
||
)-d),a(this,c)},toggleProperty:function(c){return b
|
||
(this,c,!a(this,c)),a(this,c)},cacheFor:function(a)
|
||
{return Ember.cacheFor(this,a)},observersForKey:function(
|
||
a){return Ember.observersFor(this,a)}})}(),function(
|
||
){var a=Ember.get,b=Ember.set;Ember.TargetActionSupport=
|
||
Ember.Mixin.create({target:null,action:null,targetObject
|
||
:Ember.computed(function(){var b=a(this,"target");if(
|
||
Ember.typeOf(b)==="string"){var c=a(this,b);return c===
|
||
undefined&&(c=a(window,b)),c}return b}).property("target"
|
||
).cacheable(),triggerAction:function(){var b=a(this
|
||
,"action"),c=a(this,"targetObject");if(c&&b){var d;
|
||
return typeof c.send=="function"?d=c.send(b,this):(typeof
|
||
b=="string"&&(b=c[b]),d=b.call(c,this)),d!==!1&&(d=!0
|
||
),d}return!1}})}(),function(){Ember.Evented=Ember.Mixin
|
||
.create({on:function(a,b,c){Ember.addListener(this,
|
||
a,b,c)},one:function(a,b,c){c||(c=b,b=null);var d=this
|
||
,e=function(){Ember.removeListener(d,a,b,e),"string"==typeof
|
||
c&&(c=this[c]),c.apply(this,arguments)};this.on(a,b
|
||
,e)},trigger:function(a){var b=[],c,d;for(c=1,d=arguments
|
||
.length;c<d;c++)b.push(arguments[c]);Ember.sendEvent
|
||
(this,a,b)},fire:function(a){this.trigger.apply(this
|
||
,arguments)},off:function(a,b,c){Ember.removeListener
|
||
(this,a,b,c)},has:function(a){return Ember.hasListeners
|
||
(this,a)}})}(),function(){}(),function(){function a
|
||
(){var a=!1,b,c=function(){a||c.proto(),e(this,g,t)
|
||
,e(this,"_super",t);var d=j(this);d.proto=this,b&&(
|
||
this.reopen.apply(this,b),b=null),q(this,d),delete
|
||
d.proto,l(this),this.init.apply(this,arguments)};return c
|
||
.toString=s,c.willReopen=function(){a&&(c.PrototypeMixin=
|
||
o.create(c.PrototypeMixin)),a=!1},c._initMixins=function(
|
||
a){b=a},c.proto=function(){var b=c.superclass;return b&&
|
||
b.proto(),a||(a=!0,c.PrototypeMixin.applyPartial(c.
|
||
prototype),k(c.prototype)),this.prototype},c}var b=
|
||
Ember.set,c=Ember.get,d=Ember.create,e=Ember.platform
|
||
.defineProperty,f=Array.prototype.slice,g=Ember.GUID_KEY
|
||
,h=Ember.guidFor,i=Ember.generateGuid,j=Ember.meta,
|
||
k=Ember.rewatch,l=Ember.finishChains,m=Ember.destroy
|
||
,n=Ember.run.schedule,o=Ember.Mixin,p=o._apply,q=o.
|
||
finishPartial,r=o.prototype.reopen,s=o.prototype.toString
|
||
,t={configurable:!0,writable:!0,enumerable:!1,value
|
||
:undefined},u=a();u.PrototypeMixin=o.create({reopen
|
||
:function(){return p(this,arguments,!0),this},isInstance
|
||
:!0,init:function(){},isDestroyed:!1,isDestroying:!1
|
||
,destroy:function(){if(this.isDestroying)return;return this
|
||
.isDestroying=!0,this.willDestroy&&this.willDestroy
|
||
(),b(this,"isDestroyed",!0),n("destroy",this,this._scheduledDestroy
|
||
),this},_scheduledDestroy:function(){m(this),this.didDestroy&&
|
||
this.didDestroy()},bind:function(a,b){return b instanceof
|
||
Ember.Binding||(b=Ember.Binding.from(b)),b.to(a).connect
|
||
(this),b},toString:function(){return"<"+this.constructor
|
||
.toString()+":"+h(this)+">"}}),Ember.config.overridePrototypeMixin&&
|
||
Ember.config.overridePrototypeMixin(u.PrototypeMixin
|
||
),u.__super__=null;var v=o.create({ClassMixin:Ember
|
||
.required(),PrototypeMixin:Ember.required(),isClass
|
||
:!0,isMethod:!1,extend:function(){var b=a(),c;return b
|
||
.ClassMixin=o.create(this.ClassMixin),b.PrototypeMixin=
|
||
o.create(this.PrototypeMixin),b.ClassMixin.ownerConstructor=
|
||
b,b.PrototypeMixin.ownerConstructor=b,r.apply(b.PrototypeMixin
|
||
,arguments),b.superclass=this,b.__super__=this.prototype
|
||
,c=b.prototype=d(this.prototype),c.constructor=b,i(
|
||
c,"ember"),j(c).proto=c,b.ClassMixin.apply(b),b},create
|
||
:function(){var a=this;return arguments.length>0&&this
|
||
._initMixins(arguments),new a},reopen:function(){return this
|
||
.willReopen(),r.apply(this.PrototypeMixin,arguments
|
||
),this},reopenClass:function(){return r.apply(this.
|
||
ClassMixin,arguments),p(this,arguments,!1),this},detect
|
||
:function(a){if("function"!=typeof a)return!1;while(
|
||
a){if(a===this)return!0;a=a.superclass}return!1},detectInstance
|
||
:function(a){return a instanceof this},metaForProperty
|
||
:function(a){var b=j(this.proto(),!1).descs[a];return b
|
||
._meta||{}},eachComputedProperty:function(a,b){var c=
|
||
this.proto(),d=j(c).descs,e={},f;for(var g in d)f=d
|
||
[g],f instanceof Ember.ComputedProperty&&a.call(b||
|
||
this,g,f._meta||e)}});Ember.config.overrideClassMixin&&
|
||
Ember.config.overrideClassMixin(v),u.ClassMixin=v,v
|
||
.apply(u),Ember.CoreObject=u}(),function(){var a=Ember
|
||
.get,b=Ember.set,c=Ember.guidFor,d=Ember.none;Ember
|
||
.Set=Ember.CoreObject.extend(Ember.MutableEnumerable
|
||
,Ember.Copyable,Ember.Freezable,{length:0,clear:function(
|
||
){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR
|
||
);var d=a(this,"length");if(d===0)return this;var e
|
||
;this.enumerableContentWillChange(d,0),Ember.propertyWillChange
|
||
(this,"firstObject"),Ember.propertyWillChange(this,"lastObject"
|
||
);for(var f=0;f<d;f++)e=c(this[f]),delete this[e],delete
|
||
this[f];return b(this,"length",0),Ember.propertyDidChange
|
||
(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"
|
||
),this.enumerableContentDidChange(d,0),this},isEqual
|
||
:function(b){if(!Ember.Enumerable.detect(b))return!1
|
||
;var c=a(this,"length");if(a(b,"length")!==c)return!1
|
||
;while(--c>=0)if(!b.contains(this[c]))return!1;return!0
|
||
},add:Ember.alias("addObject"),remove:Ember.alias("removeObject"
|
||
),pop:function(){if(a(this,"isFrozen"))throw new Error
|
||
(Ember.FROZEN_ERROR);var b=this.length>0?this[this.
|
||
length-1]:null;return this.remove(b),b},push:Ember.
|
||
alias("addObject"),shift:Ember.alias("pop"),unshift
|
||
:Ember.alias("push"),addEach:Ember.alias("addObjects"
|
||
),removeEach:Ember.alias("removeObjects"),init:function(
|
||
a){this._super(),a&&this.addObjects(a)},nextObject:
|
||
function(a){return this[a]},firstObject:Ember.computed
|
||
(function(){return this.length>0?this[0]:undefined}
|
||
).property().cacheable(),lastObject:Ember.computed(
|
||
function(){return this.length>0?this[this.length-1]
|
||
:undefined}).property().cacheable(),addObject:function(
|
||
e){if(a(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR
|
||
);if(d(e))return this;var f=c(e),g=this[f],h=a(this
|
||
,"length"),i;return g>=0&&g<h&&this[g]===e?this:(i=
|
||
[e],this.enumerableContentWillChange(null,i),Ember.
|
||
propertyWillChange(this,"lastObject"),h=a(this,"length"
|
||
),this[f]=h,this[h]=e,b(this,"length",h+1),Ember.propertyDidChange
|
||
(this,"lastObject"),this.enumerableContentDidChange
|
||
(null,i),this)},removeObject:function(e){if(a(this,"isFrozen"
|
||
))throw new Error(Ember.FROZEN_ERROR);if(d(e))return this
|
||
;var f=c(e),g=this[f],h=a(this,"length"),i=g===0,j=
|
||
g===h-1,k,l;return g>=0&&g<h&&this[g]===e&&(l=[e],this
|
||
.enumerableContentWillChange(l,null),i&&Ember.propertyWillChange
|
||
(this,"firstObject"),j&&Ember.propertyWillChange(this
|
||
,"lastObject"),g<h-1&&(k=this[h-1],this[g]=k,this[c
|
||
(k)]=g),delete this[f],delete this[h-1],b(this,"length"
|
||
,h-1),i&&Ember.propertyDidChange(this,"firstObject"
|
||
),j&&Ember.propertyDidChange(this,"lastObject"),this
|
||
.enumerableContentDidChange(l,null)),this},contains
|
||
:function(a){return this[c(a)]>=0},copy:function(){
|
||
var d=this.constructor,e=new d,f=a(this,"length");b
|
||
(e,"length",f);while(--f>=0)e[f]=this[f],e[c(this[f
|
||
])]=f;return e},toString:function(){var a=this.length
|
||
,b,c=[];for(b=0;b<a;b++)c[b]=this[b];return"Ember.Set<%@>"
|
||
.fmt(c.join(","))}})}(),function(){Ember.Object=Ember
|
||
.CoreObject.extend(Ember.Observable)}(),function(){
|
||
var a=Ember.ArrayPolyfills.indexOf;Ember.Namespace=
|
||
Ember.Object.extend({isNamespace:!0,init:function()
|
||
{Ember.Namespace.NAMESPACES.push(this),Ember.Namespace
|
||
.PROCESSED=!1},toString:function(){return Ember.identifyNamespaces
|
||
(),this[Ember.GUID_KEY+"_name"]},destroy:function()
|
||
{var b=Ember.Namespace.NAMESPACES;window[this.toString
|
||
()]=undefined,b.splice(a.call(b,this),1),this._super
|
||
()}}),Ember.Namespace.NAMESPACES=[Ember],Ember.Namespace
|
||
.PROCESSED=!1}(),function(){Ember.Application=Ember
|
||
.Namespace.extend()}(),function(){var a=Ember.get,b=
|
||
Ember.set;Ember.ArrayProxy=Ember.Object.extend(Ember
|
||
.MutableArray,{content:null,arrangedContent:Ember.computed
|
||
("content",function(){return a(this,"content")}).cacheable
|
||
(),objectAtContent:function(b){return a(this,"arrangedContent"
|
||
).objectAt(b)},replaceContent:function(b,c,d){a(this
|
||
,"arrangedContent").replace(b,c,d)},_contentWillChange
|
||
:Ember.beforeObserver(function(){this._teardownContent
|
||
()},"content"),_teardownContent:function(){var b=a(
|
||
this,"content");b&&b.removeArrayObserver(this,{willChange
|
||
:"contentArrayWillChange",didChange:"contentArrayDidChange"
|
||
})},contentArrayWillChange:Ember.K,contentArrayDidChange
|
||
:Ember.K,_contentDidChange:Ember.observer(function(
|
||
){var b=a(this,"content");this._setupContent()},"content"
|
||
),_setupContent:function(){var b=a(this,"content");
|
||
b&&b.addArrayObserver(this,{willChange:"contentArrayWillChange"
|
||
,didChange:"contentArrayDidChange"})},_arrangedContentWillChange
|
||
:Ember.beforeObserver(function(){var b=a(this,"arrangedContent"
|
||
),c=b?a(b,"length"):0;this.arrangedContentArrayWillChange
|
||
(this,0,c,undefined),this.arrangedContentWillChange
|
||
(this),this._teardownArrangedContent(b)},"arrangedContent"
|
||
),_arrangedContentDidChange:Ember.observer(function(
|
||
){var b=a(this,"arrangedContent"),c=b?a(b,"length")
|
||
:0;this._setupArrangedContent(),this.arrangedContentDidChange
|
||
(this),this.arrangedContentArrayDidChange(this,0,undefined
|
||
,c)},"arrangedContent"),_setupArrangedContent:function(
|
||
){var b=a(this,"arrangedContent");b&&b.addArrayObserver
|
||
(this,{willChange:"arrangedContentArrayWillChange",
|
||
didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent
|
||
:function(){var b=a(this,"arrangedContent");b&&b.removeArrayObserver
|
||
(this,{willChange:"arrangedContentArrayWillChange",
|
||
didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange
|
||
:Ember.K,arrangedContentDidChange:Ember.K,objectAt:
|
||
function(b){return a(this,"content")&&this.objectAtContent
|
||
(b)},length:Ember.computed(function(){var b=a(this,"arrangedContent"
|
||
);return b?a(b,"length"):0}).property().cacheable()
|
||
,replace:function(b,c,d){return a(this,"content")&&
|
||
this.replaceContent(b,c,d),this},arrangedContentArrayWillChange
|
||
:function(a,b,c,d){this.arrayContentWillChange(b,c,
|
||
d)},arrangedContentArrayDidChange:function(a,b,c,d)
|
||
{this.arrayContentDidChange(b,c,d)},init:function()
|
||
{this._super(),this._setupContent(),this._setupArrangedContent
|
||
()},willDestroy:function(){this._teardownArrangedContent
|
||
(),this._teardownContent()}})}(),function(){function a
|
||
(a,b){var c=b.slice(8);if(c in this)return;j(this,c
|
||
)}function b(a,b){var c=b.slice(8);if(c in this)return;
|
||
k(this,c)}var c=Ember.get,d=Ember.set,e=Ember.String
|
||
.fmt,f=Ember.addBeforeObserver,g=Ember.addObserver,
|
||
h=Ember.removeBeforeObserver,i=Ember.removeObserver
|
||
,j=Ember.propertyWillChange,k=Ember.propertyDidChange
|
||
;Ember.ObjectProxy=Ember.Object.extend({content:null
|
||
,_contentDidChange:Ember.observer(function(){},"content"
|
||
),willWatchProperty:function(c){var d="content."+c;
|
||
f(this,d,null,a),g(this,d,null,b)},didUnwatchProperty
|
||
:function(c){var d="content."+c;h(this,d,null,a),i(
|
||
this,d,null,b)},unknownProperty:function(a){var b=c
|
||
(this,"content");if(b)return c(b,a)},setUnknownProperty
|
||
:function(a,b){var e=c(this,"content");return d(e,a
|
||
,b)}})}(),function(){function a(a,b,c,d,f){var g=c.
|
||
_objects,h;g||(g=c._objects={});while(--f>=d){var i=
|
||
a.objectAt(f);i&&(Ember.addBeforeObserver(i,b,c,"contentKeyWillChange"
|
||
),Ember.addObserver(i,b,c,"contentKeyDidChange"),h=
|
||
e(i),g[h]||(g[h]=[]),g[h].push(f))}}function b(a,b,
|
||
c,d,f){var g=c._objects;g||(g=c._objects={});var h,
|
||
i;while(--f>=d){var j=a.objectAt(f);j&&(Ember.removeBeforeObserver
|
||
(j,b,c,"contentKeyWillChange"),Ember.removeObserver
|
||
(j,b,c,"contentKeyDidChange"),i=e(j),h=g[i],h[h.indexOf
|
||
(f)]=null)}}var c=Ember.set,d=Ember.get,e=Ember.guidFor
|
||
,f=Ember.EnumerableUtils.forEach,g=Ember.Object.extend
|
||
(Ember.Array,{init:function(a,b,c){this._super(),this
|
||
._keyName=b,this._owner=c,this._content=a},objectAt
|
||
:function(a){var b=this._content.objectAt(a);return b&&
|
||
d(b,this._keyName)},length:Ember.computed(function(
|
||
){var a=this._content;return a?d(a,"length"):0}).property
|
||
().cacheable()}),h=/^.+:(before|change)$/;Ember.EachProxy=
|
||
Ember.Object.extend({init:function(a){this._super()
|
||
,this._content=a,a.addArrayObserver(this),f(Ember.watchedEvents
|
||
(this),function(a){this.didAddListener(a)},this)},unknownProperty
|
||
:function(a,b){var c;return c=new g(this._content,a
|
||
,this),Ember.defineProperty(this,a,null,c),this.beginObservingContentKey
|
||
(a),c},arrayWillChange:function(a,c,d,e){var f=this
|
||
._keys,g,h,i;i=d>0?c+d:-1,Ember.beginPropertyChanges
|
||
(this);for(g in f){if(!f.hasOwnProperty(g))continue;
|
||
i>0&&b(a,g,this,c,i),Ember.propertyWillChange(this,
|
||
g)}Ember.propertyWillChange(this._content,"@each"),
|
||
Ember.endPropertyChanges(this)},arrayDidChange:function(
|
||
b,c,d,e){var f=this._keys,g,h,i;i=e>0?c+e:-1,Ember.
|
||
beginPropertyChanges(this);for(g in f){if(!f.hasOwnProperty
|
||
(g))continue;i>0&&a(b,g,this,c,i),Ember.propertyDidChange
|
||
(this,g)}Ember.propertyDidChange(this._content,"@each"
|
||
),Ember.endPropertyChanges(this)},didAddListener:function(
|
||
a){h.test(a)&&this.beginObservingContentKey(a.slice
|
||
(0,-7))},didRemoveListener:function(a){h.test(a)&&this
|
||
.stopObservingContentKey(a.slice(0,-7))},beginObservingContentKey
|
||
:function(b){var c=this._keys;c||(c=this._keys={});
|
||
if(!c[b]){c[b]=1;var e=this._content,f=d(e,"length"
|
||
);a(e,b,this,0,f)}else c[b]++},stopObservingContentKey
|
||
:function(a){var c=this._keys;if(c&&c[a]>0&&--c[a]<=0
|
||
){var e=this._content,f=d(e,"length");b(e,a,this,0,
|
||
f)}},contentKeyWillChange:function(a,b){Ember.propertyWillChange
|
||
(this,b)},contentKeyDidChange:function(a,b){Ember.propertyDidChange
|
||
(this,b)}})}(),function(){var a=Ember.get,b=Ember.set
|
||
,c=Ember.Mixin.create(Ember.MutableArray,Ember.Observable
|
||
,Ember.Copyable,{get:function(a){return a==="length"?
|
||
this.length:"number"==typeof a?this[a]:this._super(
|
||
a)},objectAt:function(a){return this[a]},replace:function(
|
||
b,c,d){if(this.isFrozen)throw Ember.FROZEN_ERROR;var e=
|
||
d?a(d,"length"):0;this.arrayContentWillChange(b,c,e
|
||
);if(!d||d.length===0)this.splice(b,c);else{var f=[
|
||
b,c].concat(d);this.splice.apply(this,f)}return this
|
||
.arrayContentDidChange(b,c,e),this},unknownProperty
|
||
:function(a,b){var c;return b!==undefined&&c===undefined&&
|
||
(c=this[a]=b),c},indexOf:function(a,b){var c,d=this
|
||
.length;b===undefined?b=0:b=b<0?Math.ceil(b):Math.floor
|
||
(b),b<0&&(b+=d);for(c=b;c<d;c++)if(this[c]===a)return c
|
||
;return-1},lastIndexOf:function(a,b){var c,d=this.length
|
||
;b===undefined?b=d-1:b=b<0?Math.ceil(b):Math.floor(
|
||
b),b<0&&(b+=d);for(c=b;c>=0;c--)if(this[c]===a)return c
|
||
;return-1},copy:function(){return this.slice()}}),d=
|
||
["length"];Ember.EnumerableUtils.forEach(c.keys(),function(
|
||
a){Array.prototype[a]&&d.push(a)}),d.length>0&&(c=c
|
||
.without.apply(c,d)),Ember.NativeArray=c,Ember.A=function(
|
||
a){return a===undefined&&(a=[]),Ember.NativeArray.apply
|
||
(a)},Ember.NativeArray.activate=function(){c.apply(
|
||
Array.prototype),Ember.A=function(a){return a||[]}}
|
||
,Ember.EXTEND_PROTOTYPES&&Ember.NativeArray.activate
|
||
()}(),function(){var a=Ember.get,b=Ember.set;Ember.
|
||
_PromiseChain=Ember.Object.extend({promises:null,failureCallback
|
||
:Ember.K,successCallback:Ember.K,abortCallback:Ember
|
||
.K,promiseSuccessCallback:Ember.K,runNextPromise:function(
|
||
){if(a(this,"isDestroyed"))return;var b=a(this,"promises"
|
||
).shiftObject();if(b){var c=a(b,"promise")||b,d=this
|
||
,e=function(){d.promiseSuccessCallback.call(this,b,
|
||
arguments),d.runNextPromise()},f=a(d,"failureCallback"
|
||
);c.then(e,f)}else this.successCallback()},start:function(
|
||
){return this.runNextPromise(),this},abort:function(
|
||
){this.abortCallback(),this.destroy()},init:function(
|
||
){b(this,"promises",Ember.A(a(this,"promises"))),this
|
||
._super()}})}(),function(){var a={},b={};Ember.onLoad=
|
||
function(c,d){var e;a[c]=a[c]||Ember.A(),a[c].pushObject
|
||
(d),(e=b[c])&&d(e)},Ember.runLoadHooks=function(c,d
|
||
){var e;b[c]=d,(e=a[c])&&a[c].forEach(function(a){a
|
||
(d)})}}(),function(){}(),function(){Ember.ControllerMixin=
|
||
Ember.Mixin.create({target:null,store:null}),Ember.
|
||
Controller=Ember.Object.extend(Ember.ControllerMixin
|
||
)}(),function(){var a=Ember.get,b=Ember.set,c=Ember
|
||
.EnumerableUtils.forEach;Ember.SortableMixin=Ember.
|
||
Mixin.create(Ember.MutableEnumerable,{sortProperties
|
||
:null,sortAscending:!0,addObject:function(b){var c=
|
||
a(this,"content");c.pushObject(b)},removeObject:function(
|
||
b){var c=a(this,"content");c.removeObject(b)},orderBy
|
||
:function(b,d){var e=0,f=a(this,"sortProperties"),g=
|
||
a(this,"sortAscending");return c(f,function(c){e===0&&
|
||
(e=Ember.compare(a(b,c),a(d,c)),e!==0&&!g&&(e=-1*e)
|
||
)}),e},destroy:function(){var b=a(this,"content"),d=
|
||
a(this,"sortProperties");return b&&d&&c(b,function(
|
||
a){c(d,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange"
|
||
)},this)},this),this._super()},isSorted:Ember.computed
|
||
("sortProperties",function(){return!!a(this,"sortProperties"
|
||
)}),arrangedContent:Ember.computed("content","sortProperties.@each"
|
||
,function(b,d){var e=a(this,"content"),f=a(this,"isSorted"
|
||
),g=a(this,"sortProperties"),h=this;return e&&f?(e=
|
||
e.slice(),e.sort(function(a,b){return h.orderBy(a,b
|
||
)}),c(e,function(a){c(g,function(b){Ember.addObserver
|
||
(a,b,this,"contentItemSortPropertyDidChange")},this
|
||
)},this),Ember.A(e)):e}).cacheable(),_contentWillChange
|
||
:Ember.beforeObserver(function(){var b=a(this,"content"
|
||
),d=a(this,"sortProperties");b&&d&&c(b,function(a){
|
||
c(d,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange"
|
||
)},this)},this),this._super()},"content"),sortAscendingWillChange
|
||
:Ember.beforeObserver(function(){this._lastSortAscending=
|
||
a(this,"sortAscending")},"sortAscending"),sortAscendingDidChange
|
||
:Ember.observer(function(){if(a(this,"sortAscending"
|
||
)!==this._lastSortAscending){var b=a(this,"arrangedContent"
|
||
);b.reverseObjects()}},"sortAscending"),contentArrayWillChange
|
||
:function(b,d,e,f){var g=a(this,"isSorted");if(g){var h=
|
||
a(this,"arrangedContent"),i=b.slice(d,d+e),j=a(this
|
||
,"sortProperties");c(i,function(a){h.removeObject(a
|
||
),c(j,function(b){Ember.removeObserver(a,b,this,"contentItemSortPropertyDidChange"
|
||
)},this)})}return this._super(b,d,e,f)},contentArrayDidChange
|
||
:function(b,d,e,f){var g=a(this,"isSorted"),h=a(this
|
||
,"sortProperties");if(g){var i=b.slice(d,d+f),j=a(this
|
||
,"arrangedContent");c(i,function(a){this.insertItemSorted
|
||
(a),c(h,function(b){Ember.addObserver(a,b,this,"contentItemSortPropertyDidChange"
|
||
)},this)},this)}return this._super(b,d,e,f)},insertItemSorted
|
||
:function(b){var c=a(this,"arrangedContent"),d=a(c,"length"
|
||
),e=this._binarySearch(b,0,d);c.insertAt(e,b)},contentItemSortPropertyDidChange
|
||
:function(b){var c=a(this,"arrangedContent"),d=c.indexOf
|
||
(b),e=this._binarySearch(b,0,a(c,"length"));e!==d&&
|
||
(c.removeObject(b),this.insertItemSorted(b))},_binarySearch
|
||
:function(b,c,d){var e,f,g,h;return c===d?c:(h=a(this
|
||
,"arrangedContent"),e=c+Math.floor((d-c)/2),f=h.objectAt
|
||
(e),g=this.orderBy(f,b),g<0?this._binarySearch(b,e+1
|
||
,d):g>0?this._binarySearch(b,c,e):e)}})}(),function(
|
||
){var a=Ember.get,b=Ember.set;Ember.ArrayController=
|
||
Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember
|
||
.SortableMixin)}(),function(){Ember.ObjectController=
|
||
Ember.ObjectProxy.extend(Ember.ControllerMixin)}(),
|
||
function(){}(),function(){}(),function(){function a
|
||
(b,c,d,e){var f=b.name,g=b.incoming,h=b.incomingNames
|
||
,i=h.length,j;d||(d={}),e||(e=[]);if(d.hasOwnProperty
|
||
(f))return;e.push(f),d[f]=!0;for(j=0;j<i;j++)a(g[h[
|
||
j]],c,d,e);c(b,e),e.pop()}function b(){this.names=[
|
||
],this.vertices={}}b.prototype.add=function(a){if(!
|
||
a)return;if(this.vertices.hasOwnProperty(a))return this
|
||
.vertices[a];var b={name:a,incoming:{},incomingNames
|
||
:[],hasOutgoing:!1,value:null};return this.vertices
|
||
[a]=b,this.names.push(a),b},b.prototype.map=function(
|
||
a,b){this.add(a).value=b},b.prototype.addEdge=function(
|
||
b,c){function d(a,b){if(a.name===c)throw new Error("cycle detected: "+
|
||
c+" <- "+b.join(" <- "))}if(!b||!c||b===c)return;var e=
|
||
this.add(b),f=this.add(c);if(f.incoming.hasOwnProperty
|
||
(b))return;a(e,d),e.hasOutgoing=!0,f.incoming[b]=e,
|
||
f.incomingNames.push(b)},b.prototype.topsort=function(
|
||
b){var c={},d=this.vertices,e=this.names,f=e.length
|
||
,g,h;for(g=0;g<f;g++)h=d[e[g]],h.hasOutgoing||a(h,b
|
||
,c)},b.prototype.addEdges=function(a,b,c,d){var e;this
|
||
.map(a,b);if(c)if(typeof c=="string")this.addEdge(a
|
||
,c);else for(e=0;e<c.length;e++)this.addEdge(a,c[e]
|
||
);if(d)if(typeof d=="string")this.addEdge(d,a);else for(
|
||
e=0;e<d.length;e++)this.addEdge(d[e],a)},Ember.DAG=
|
||
b}(),function(){var a=Ember.get,b=Ember.set;Ember.Application=
|
||
Ember.Namespace.extend({rootElement:"body",eventDispatcher
|
||
:null,customEvents:null,autoinit:!Ember.testing,isInitialized
|
||
:!1,init:function(){this.$||(this.$=Ember.$),this._super
|
||
(),this.createEventDispatcher(),this._readinessDeferrals=1
|
||
,this.waitForDOMContentLoaded();if(this.autoinit){var a=
|
||
this;this.$().ready(function(){if(a.isDestroyed||a.
|
||
isInitialized)return;a.initialize()})}},createEventDispatcher
|
||
:function(){var c=a(this,"rootElement"),d=Ember.EventDispatcher
|
||
.create({rootElement:c});b(this,"eventDispatcher",d
|
||
)},waitForDOMContentLoaded:function(){this.deferReadiness
|
||
();var a=this;this.$().ready(function(){a.advanceReadiness
|
||
()})},deferReadiness:function(){this._readinessDeferrals++
|
||
},advanceReadiness:function(){this._readinessDeferrals--
|
||
,this._readinessDeferrals===0&&Ember.run.once(this,
|
||
this.didBecomeReady)},initialize:function(a){return a=
|
||
this.setupRouter(a),this.runInjections(a),Ember.runLoadHooks
|
||
("application",this),this.isInitialized=!0,this.advanceReadiness
|
||
(),this},runInjections:function(b){var c=a(this.constructor
|
||
,"injections"),d=new Ember.DAG,e=this,f,g,h;for(g=0
|
||
;g<c.length;g++)h=c[g],d.addEdges(h.name,h.injection
|
||
,h.before,h.after);d.topsort(function(a){var c=a.value
|
||
,d=Ember.A(Ember.keys(e));d.forEach(function(a){c(e
|
||
,b,a)})})},setupRouter:function(a){return!a&&Ember.
|
||
Router.detect(this.Router)&&(a=this.Router.create()
|
||
,this._createdRouter=a),a&&(b(this,"router",a),b(a,"namespace"
|
||
,this)),a},didBecomeReady:function(){var b=a(this,"eventDispatcher"
|
||
),c=a(this,"customEvents"),d;b.setup(c),this.ready(
|
||
),d=a(this,"router"),this.createApplicationView(d),
|
||
d&&d instanceof Ember.Router&&this.startRouting(d)}
|
||
,createApplicationView:function(c){var d=a(this,"rootElement"
|
||
),e={},f=this.ApplicationView,g=Ember.TEMPLATES.application
|
||
,h,i;if(!f&&!g)return;c&&(h=a(c,"applicationController"
|
||
),h&&(e.controller=h)),g&&(e.template=g),f||(f=Ember
|
||
.View),i=f.create(e),this._createdApplicationView=i
|
||
,c&&b(c,"applicationView",i),i.appendTo(d)},startRouting
|
||
:function(b){var c=a(b,"location");b.route(c.getURL
|
||
()),c.onUpdateURL(function(a){b.route(a)})},ready:Ember
|
||
.K,willDestroy:function(){a(this,"eventDispatcher")
|
||
.destroy(),this._createdRouter&&this._createdRouter
|
||
.destroy(),this._createdApplicationView&&this._createdApplicationView
|
||
.destroy()},registerInjection:function(a){this.constructor
|
||
.registerInjection(a)}}),Ember.Application.reopenClass
|
||
({concatenatedProperties:["injections"],injections:
|
||
Ember.A(),registerInjection:function(b){var c=a(this
|
||
,"injections");c.push(b)}}),Ember.Application.registerInjection
|
||
({name:"controllers",injection:function(a,b,c){if(!/^[A-Z].*Controller$/
|
||
.test(c))return;var d=c.charAt(0).toLowerCase()+c.substr
|
||
(1),e=a[c],f;if(!Ember.Object.detect(e))return;f=a[
|
||
c].create(),b.set(d,f),f.setProperties({target:b,controllers
|
||
:b,namespace:a})}}),Ember.runLoadHooks("Ember.Application"
|
||
,Ember.Application)}(),function(){}(),function(){}(
|
||
),function(){Ember.$=window.jQuery}(),function(){var a=
|
||
Ember.String.w("dragstart drag dragenter dragleave dragover drop dragend"
|
||
);Ember.EnumerableUtils.forEach(a,function(a){Ember
|
||
.$.event.fixHooks[a]={props:["dataTransfer"]}})}(),
|
||
function(){var a=Ember.get,b=Ember.set,c=Ember.ArrayPolyfills
|
||
.indexOf,d=function(){this.seen={},this.list=[]};d.
|
||
prototype={add:function(a){if(a in this.seen)return;
|
||
this.seen[a]=!0,this.list.push(a)},toDOM:function()
|
||
{return this.list.join(" ")}},Ember.RenderBuffer=function(
|
||
a){return new Ember._RenderBuffer(a)},Ember._RenderBuffer=
|
||
function(a){this.elementTag=a,this.childBuffers=[]}
|
||
,Ember._RenderBuffer.prototype={elementClasses:null
|
||
,elementId:null,elementAttributes:null,elementTag:null
|
||
,elementStyle:null,parentBuffer:null,push:function(
|
||
a){return this.childBuffers.push(String(a)),this},addClass
|
||
:function(a){var b=this.elementClasses=this.elementClasses||new
|
||
d;return this.elementClasses.add(a),this},id:function(
|
||
a){return this.elementId=a,this},attr:function(a,b)
|
||
{var c=this.elementAttributes=this.elementAttributes||
|
||
{};return arguments.length===1?c[a]:(c[a]=b,this)},
|
||
removeAttr:function(a){var b=this.elementAttributes
|
||
;return b&&delete b[a],this},style:function(a,b){var c=
|
||
this.elementStyle=this.elementStyle||{};return this
|
||
.elementStyle[a]=b,this},newBuffer:function(a,b,c,d
|
||
){var e=new Ember._RenderBuffer(a);return e.parentBuffer=
|
||
b,d&&Ember.$.extend(e,d),c&&c.call(this,e),e},replaceWithBuffer
|
||
:function(a){var b=this.parentBuffer;if(!b)return;var d=
|
||
b.childBuffers,e=c.call(d,this);a?d.splice(e,1,a):d
|
||
.splice(e,1)},begin:function(a){return this.newBuffer
|
||
(a,this,function(a){this.childBuffers.push(a)})},prepend
|
||
:function(a){return this.newBuffer(a,this,function(
|
||
a){this.childBuffers.splice(0,0,a)})},replaceWith:function(
|
||
a){var b=this.parentBuffer;return this.newBuffer(a,
|
||
b,function(a){this.replaceWithBuffer(a)})},insertAfter
|
||
:function(b){var d=a(this,"parentBuffer");return this
|
||
.newBuffer(b,d,function(a){var b=d.childBuffers,e=c
|
||
.call(b,this);b.splice(e+1,0,a)})},end:function(){var a=
|
||
this.parentBuffer;return a||this},remove:function()
|
||
{this.replaceWithBuffer(null)},element:function(){return Ember
|
||
.$(this.string())[0]},string:function(){var a="",b=
|
||
this.elementTag,c;if(b){var d=this.elementId,e=this
|
||
.elementClasses,f=this.elementAttributes,g=this.elementStyle
|
||
,h="",i;c=["<"+b],d&&c.push('id="'+this._escapeAttribute
|
||
(d)+'"'),e&&c.push('class="'+this._escapeAttribute(
|
||
e.toDOM())+'"');if(g){for(i in g)g.hasOwnProperty(i
|
||
)&&(h+=i+":"+this._escapeAttribute(g[i])+";");c.push
|
||
('style="'+h+'"')}if(f)for(i in f)f.hasOwnProperty(
|
||
i)&&c.push(i+'="'+this._escapeAttribute(f[i])+'"');
|
||
c=c.join(" ")+">"}var j=this.childBuffers;return Ember
|
||
.ArrayPolyfills.forEach.call(j,function(b){var c=typeof
|
||
b=="string";a+=c?b:b.string()}),b?c+a+"</"+b+">":a}
|
||
,_escapeAttribute:function(a){var b={"<":"<",">"
|
||
:">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[<>"'`]/g
|
||
,d=/[&<>"'`]/,e=function(a){return b[a]||"&"},f=
|
||
a.toString();return d.test(f)?f.replace(c,e):f}}}()
|
||
,function(){var a=Ember.get,b=Ember.set,c=Ember.String
|
||
.fmt;Ember.EventDispatcher=Ember.Object.extend({rootElement
|
||
:"body",setup:function(b){var c,d={touchstart:"touchStart"
|
||
,touchmove:"touchMove",touchend:"touchEnd",touchcancel
|
||
:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress
|
||
:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp"
|
||
,contextmenu:"contextMenu",click:"click",dblclick:"doubleClick"
|
||
,mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut"
|
||
,mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit
|
||
:"submit",input:"input",change:"change",dragstart:"dragStart"
|
||
,drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave"
|
||
,dragover:"dragOver",drop:"drop",dragend:"dragEnd"}
|
||
;Ember.$.extend(d,b||{});var e=Ember.$(a(this,"rootElement"
|
||
));e.addClass("ember-application");for(c in d)d.hasOwnProperty
|
||
(c)&&this.setupHandler(e,c,d[c])},setupHandler:function(
|
||
a,b,c){var d=this;a.delegate(".ember-view",b+".ember"
|
||
,function(a,b){return Ember.handleErrors(function()
|
||
{var e=Ember.View.views[this.id],f=!0,g=null;return g=
|
||
d._findNearestEventManager(e,c),g&&g!==b?f=d._dispatchEvent
|
||
(g,a,c,e):e?f=d._bubbleEvent(e,a,c):a.stopPropagation
|
||
(),f},this)}),a.delegate("[data-ember-action]",b+".ember"
|
||
,function(a){return Ember.handleErrors(function(){var b=
|
||
Ember.$(a.currentTarget).attr("data-ember-action"),
|
||
d=Ember.Handlebars.ActionHelper.registeredActions[b
|
||
],e=d.handler;if(d.eventName===c)return e(a)},this)
|
||
})},_findNearestEventManager:function(b,c){var d=null
|
||
;while(b){d=a(b,"eventManager");if(d&&d[c])break;b=
|
||
a(b,"parentView")}return d},_dispatchEvent:function(
|
||
a,b,c,d){var e=!0,f=a[c];return Ember.typeOf(f)==="function"?
|
||
(e=f.call(a,b,d),b.stopPropagation()):e=this._bubbleEvent
|
||
(d,b,c),e},_bubbleEvent:function(a,b,c){return Ember
|
||
.run(function(){return a.handleEvent(c,b)})},destroy
|
||
:function(){var b=a(this,"rootElement");return Ember
|
||
.$(b).undelegate(".ember").removeClass("ember-application"
|
||
),this._super()}})}(),function(){var a=Ember.run.queues
|
||
;a.splice(Ember.$.inArray("actions",a)+1,0,"render"
|
||
)}(),function(){var a=Ember.get,b=Ember.set;Ember.ControllerMixin
|
||
.reopen({target:null,controllers:null,namespace:null
|
||
,view:null,connectOutlet:function(c,d){var e,f,g,h,
|
||
i;Ember.typeOf(d)==="string"&&(e=c,c=d,d=arguments[2
|
||
]),arguments.length===1?Ember.typeOf(c)==="object"&&
|
||
(i=c,e=i.outletName,c=i.name,f=i.viewClass,h=i.controller
|
||
,d=i.context):i={},e=e||"view";if(c){var j=a(this,"namespace"
|
||
),k=a(this,"controllers"),l=c.charAt(0).toUpperCase
|
||
()+c.substr(1)+"View";f=a(j,l),h=a(k,c+"Controller"
|
||
)}return h&&d&&b(h,"content",d),g=this.createOutletView
|
||
(e,f),h&&b(g,"controller",h),b(this,e,g),g},connectControllers
|
||
:function(){var c=a(this,"controllers"),d=Array.prototype
|
||
.slice.apply(arguments),e;for(var f=0,g=d.length;f<
|
||
g;f++)e=d[f]+"Controller",b(this,e,a(c,e))},disconnectOutlet
|
||
:function(a){a=a||"view",b(this,a,null)},createOutletView
|
||
:function(a,b){return b.create()}})}(),function(){}
|
||
(),function(){var a=Ember.get,b=Ember.set,c=Ember.addObserver
|
||
,d=Ember.removeObserver,e=Ember.meta,f=Ember.String
|
||
.fmt,g=[].slice,h=Ember.EnumerableUtils.forEach,i=Ember
|
||
.computed(function(){var b=this._childViews,c=Ember
|
||
.A();return h(b,function(b){b.isVirtual?c.pushObjects
|
||
(a(b,"childViews")):c.push(b)}),c}).property().cacheable
|
||
(),j=Ember.VIEW_PRESERVES_CONTEXT;Ember.TEMPLATES={
|
||
};var k={preRender:{},inBuffer:{},hasElement:{},inDOM
|
||
:{},destroyed:{}};Ember.View=Ember.Object.extend(Ember
|
||
.Evented,{concatenatedProperties:["classNames","classNameBindings"
|
||
,"attributeBindings"],isView:!0,templateName:null,layoutName
|
||
:null,templates:Ember.TEMPLATES,template:Ember.computed
|
||
(function(b,c){if(c!==undefined)return c;var d=a(this
|
||
,"templateName"),e=this.templateForName(d,"template"
|
||
);return e||a(this,"defaultTemplate")}).property("templateName"
|
||
).cacheable(),controller:Ember.computed(function(b,
|
||
c){var d;return arguments.length===2?c:(d=a(this,"parentView"
|
||
),d?a(d,"controller"):null)}).property().cacheable(
|
||
),layout:Ember.computed(function(b,c){if(arguments.
|
||
length===2)return c;var d=a(this,"layoutName"),e=this
|
||
.templateForName(d,"layout");return e||a(this,"defaultLayout"
|
||
)}).property("layoutName").cacheable(),templateForName
|
||
:function(b,c){if(!b)return;var d=a(this,"templates"
|
||
),e=a(d,b);if(!e)throw new Ember.Error(f('%@ - Unable to find %@ "%@".'
|
||
,[this,c,b]));return e},context:Ember.computed(function(
|
||
c,d){return arguments.length===2?(b(this,"_context"
|
||
,d),d):a(this,"_context")}).volatile(),_context:Ember
|
||
.computed(function(b,c){var d,e;if(arguments.length===2
|
||
)return c;if(j){if(e=a(this,"controller"))return e;
|
||
d=a(this,"_parentView");if(d)return a(d,"_context")
|
||
}return this}).cacheable(),_displayPropertyDidChange
|
||
:Ember.observer(function(){this.rerender()},"context"
|
||
,"controller"),parentView:Ember.computed(function()
|
||
{var b=a(this,"_parentView");return b&&b.isVirtual?
|
||
a(b,"parentView"):b}).property("_parentView").volatile
|
||
(),_parentView:null,concreteView:Ember.computed(function(
|
||
){return this.isVirtual?a(this,"parentView"):this})
|
||
.property("_parentView").volatile(),isVisible:!0,childViews
|
||
:i,_childViews:[],_childViewsWillChange:Ember.beforeObserver
|
||
(function(){if(this.isVirtual){var b=a(this,"parentView"
|
||
);b&&Ember.propertyWillChange(b,"childViews")}},"childViews"
|
||
),_childViewsDidChange:Ember.observer(function(){if(
|
||
this.isVirtual){var b=a(this,"parentView");b&&Ember
|
||
.propertyDidChange(b,"childViews")}},"childViews"),
|
||
nearestInstanceOf:function(b){var c=a(this,"parentView"
|
||
);while(c){if(c instanceof b)return c;c=a(c,"parentView"
|
||
)}},nearestWithProperty:function(b){var c=a(this,"parentView"
|
||
);while(c){if(b in c)return c;c=a(c,"parentView")}}
|
||
,nearestChildOf:function(b){var c=a(this,"parentView"
|
||
);while(c){if(a(c,"parentView")instanceof b)return c
|
||
;c=a(c,"parentView")}},collectionView:Ember.computed
|
||
(function(){return this.nearestInstanceOf(Ember.CollectionView
|
||
)}).cacheable(),itemView:Ember.computed(function(){
|
||
return this.nearestChildOf(Ember.CollectionView)}).
|
||
cacheable(),contentView:Ember.computed(function(){return this
|
||
.nearestWithProperty("content")}).cacheable(),_parentViewDidChange
|
||
:Ember.observer(function(){if(this.isDestroying)return;
|
||
this.invokeRecursively(function(a){a.propertyDidChange
|
||
("collectionView"),a.propertyDidChange("itemView"),
|
||
a.propertyDidChange("contentView")}),a(this,"parentView.controller"
|
||
)&&!a(this,"controller")&&this.notifyPropertyChange
|
||
("controller")},"_parentView"),_controllerDidChange
|
||
:Ember.observer(function(){if(this.isDestroying)return;
|
||
this.forEachChildView(function(a){a.propertyDidChange
|
||
("controller")})},"controller"),cloneKeywords:function(
|
||
){var c=a(this,"templateData"),d=c?Ember.copy(c.keywords
|
||
):{};return b(d,"view",a(this,"concreteView")),b(d,"controller"
|
||
,a(this,"controller")),d},render:function(b){var c=
|
||
a(this,"layout")||a(this,"template");if(c){var d=a(
|
||
this,"context"),e=this.cloneKeywords(),f={view:this
|
||
,buffer:b,isRenderData:!0,keywords:e},g=c(d,{data:f
|
||
});g!==undefined&&b.push(g)}},invokeForState:function(
|
||
a){var b=this.state,c,d;if(d=k[b][a])return c=g.call
|
||
(arguments),c[0]=this,d.apply(this,c);var e=this,f=
|
||
e.states,h;while(f){h=f[b];while(h){d=h[a];if(d)return k
|
||
[b][a]=d,c=g.call(arguments,1),c.unshift(this),d.apply
|
||
(this,c);h=h.parentState}f=f.parent}},rerender:function(
|
||
){return this.invokeForState("rerender")},clearRenderedChildren
|
||
:function(){var a=this.lengthBeforeRender,b=this.lengthAfterRender
|
||
,c=this._childViews;for(var d=b-1;d>=a;d--)c[d]&&c[
|
||
d].destroy()},_applyClassNameBindings:function(){var b=
|
||
a(this,"classNameBindings"),e=a(this,"classNames"),
|
||
f,g,i;if(!b)return;h(b,function(a){var b,h=Ember.View
|
||
._parsePropertyPath(a),j=function(){g=this._classStringForProperty
|
||
(a),f=this.$();if(!f){d(this,h.path,j);return}b&&(f
|
||
.removeClass(b),e.removeObject(b)),g?(f.addClass(g)
|
||
,b=g):b=null};i=this._classStringForProperty(a),i&&
|
||
(e.push(i),b=i),c(this,h.path,j)},this)},_applyAttributeBindings
|
||
:function(b){var d=a(this,"attributeBindings"),e,f,
|
||
g;if(!d)return;h(d,function(d){var g=d.split(":"),h=
|
||
g[0],i=g[1]||h,j=function(){f=this.$();if(!f)return;
|
||
e=a(this,h),Ember.View.applyAttributeBindings(f,i,e
|
||
)};c(this,h,j),e=a(this,h),Ember.View.applyAttributeBindings
|
||
(b,i,e)},this)},_classStringForProperty:function(b)
|
||
{var c=Ember.View._parsePropertyPath(b),d=c.path,e=
|
||
a(this,d);return e===undefined&&Ember.isGlobalPath(
|
||
d)&&(e=a(window,d)),Ember.View._classStringForValue
|
||
(d,e,c.className,c.falsyClassName)},element:Ember.computed
|
||
(function(a,b){return b!==undefined?this.invokeForState
|
||
("setElement",b):this.invokeForState("getElement")}
|
||
).property("_parentView").cacheable(),$:function(a)
|
||
{return this.invokeForState("$",a)},mutateChildViews
|
||
:function(a){var b=this._childViews,c=b.length,d;while(--
|
||
c>=0)d=b[c],a.call(this,d,c);return this},forEachChildView
|
||
:function(a){var b=this._childViews;if(!b)return this
|
||
;var c=b.length,d,e;for(e=0;e<c;e++)d=b[e],a.call(this
|
||
,d);return this},appendTo:function(a){return this._insertElementLater
|
||
(function(){this.$().appendTo(a)}),this},replaceIn:
|
||
function(a){return this._insertElementLater(function(
|
||
){Ember.$(a).empty(),this.$().appendTo(a)}),this},_insertElementLater
|
||
:function(a){this._scheduledInsert=Ember.run.scheduleOnce
|
||
("render",this,"_insertElement",a)},_insertElement:
|
||
function(a){this._scheduledInsert=null,this.invokeForState
|
||
("insertElement",a)},append:function(){return this.
|
||
appendTo(document.body)},remove:function(){this.destroyElement
|
||
(),this.invokeRecursively(function(a){a.clearRenderedChildren
|
||
()})},elementId:Ember.computed(function(a,b){return b!==
|
||
undefined?b:Ember.guidFor(this)}).cacheable(),_elementIdDidChange
|
||
:Ember.beforeObserver(function(){throw"Changing a view's elementId after creation is not allowed."
|
||
},"elementId"),findElementInParentElement:function(
|
||
b){var c="#"+a(this,"elementId");return Ember.$(c)[0
|
||
]||Ember.$(c,b)[0]},renderBuffer:function(b){b=b||a
|
||
(this,"tagName");if(b===null||b===undefined)b="div"
|
||
;return Ember.RenderBuffer(b)},createElement:function(
|
||
){if(a(this,"element"))return this;var c=this.renderToBuffer
|
||
();return b(this,"element",c.element()),this},willInsertElement
|
||
:Ember.K,didInsertElement:Ember.K,willRerender:Ember
|
||
.K,invokeRecursively:function(a){a.call(this,this),
|
||
this.forEachChildView(function(b){b.invokeRecursively
|
||
(a)})},invalidateRecursively:function(a){this.forEachChildView
|
||
(function(b){b.propertyDidChange(a)})},_notifyWillInsertElement
|
||
:function(){this.invokeRecursively(function(a){a.trigger
|
||
("willInsertElement")})},_notifyDidInsertElement:function(
|
||
){this.invokeRecursively(function(a){a.trigger("didInsertElement"
|
||
)})},_notifyWillRerender:function(){this.invokeRecursively
|
||
(function(a){a.trigger("willRerender")})},destroyElement
|
||
:function(){return this.invokeForState("destroyElement"
|
||
)},willDestroyElement:function(){},_notifyWillDestroyElement
|
||
:function(){this.invokeRecursively(function(a){a.trigger
|
||
("willDestroyElement")})},_elementWillChange:Ember.
|
||
beforeObserver(function(){this.forEachChildView(function(
|
||
a){Ember.propertyWillChange(a,"element")})},"element"
|
||
),_elementDidChange:Ember.observer(function(){this.
|
||
forEachChildView(function(a){Ember.propertyDidChange
|
||
(a,"element")})},"element"),parentViewDidChange:Ember
|
||
.K,renderToBuffer:function(b,c){var d;Ember.run.sync
|
||
(),c=c||"begin";if(b){var e=a(this,"tagName");if(e===
|
||
null||e===undefined)e="div";d=b[c](e)}else d=this.renderBuffer
|
||
();return this.buffer=d,this.transitionTo("inBuffer"
|
||
,!1),this.lengthBeforeRender=this._childViews.length
|
||
,this.beforeRender(d),this.render(d),this.afterRender
|
||
(d),this.lengthAfterRender=this._childViews.length,
|
||
d},renderToBufferIfNeeded:function(){return this.invokeForState
|
||
("renderToBufferIfNeeded",this)},beforeRender:function(
|
||
a){this.applyAttributesToBuffer(a)},afterRender:Ember
|
||
.K,applyAttributesToBuffer:function(b){this._applyClassNameBindings
|
||
(),this._applyAttributeBindings(b),h(a(this,"classNames"
|
||
),function(a){b.addClass(a)}),b.id(a(this,"elementId"
|
||
));var c=a(this,"ariaRole");c&&b.attr("role",c),a(this
|
||
,"isVisible")===!1&&b.style("display","none")},tagName
|
||
:null,ariaRole:null,classNames:["ember-view"],classNameBindings
|
||
:[],attributeBindings:[],state:"preRender",init:function(
|
||
){this._super(),this.isVirtual||(Ember.View.views[a
|
||
(this,"elementId")]=this),this._childViews=this._childViews
|
||
.slice(),this.classNameBindings=Ember.A(this.classNameBindings
|
||
.slice()),this.classNames=Ember.A(this.classNames.slice
|
||
());var c=a(this,"viewController");c&&(c=a(c),c&&b(
|
||
c,"view",this))},appendChild:function(a,b){return this
|
||
.invokeForState("appendChild",a,b)},removeChild:function(
|
||
a){if(this.isDestroying)return;b(a,"_parentView",null
|
||
);var c=this._childViews;return Ember.EnumerableUtils
|
||
.removeObject(c,a),this.propertyDidChange("childViews"
|
||
),this},removeAllChildren:function(){return this.mutateChildViews
|
||
(function(a){this.removeChild(a)})},destroyAllChildren
|
||
:function(){return this.mutateChildViews(function(a
|
||
){a.destroy()})},removeFromParent:function(){var b=
|
||
a(this,"_parentView");return this.remove(),b&&b.removeChild
|
||
(this),this},willDestroy:function(){var c=this._childViews
|
||
,d=a(this,"_parentView"),e;this.removedFromDOM||this
|
||
.destroyElement();if(this.viewName){var f=a(this,"parentView"
|
||
);f&&b(f,this.viewName,null)}d&&d.removeChild(this)
|
||
,this.state="destroyed",e=c.length;for(var g=e-1;g>=0
|
||
;g--)c[g].removedFromDOM=!0,c[g].destroy();this.isVirtual||delete
|
||
Ember.View.views[a(this,"elementId")]},createChildView
|
||
:function(c,d){return Ember.View.detect(c)?(d=d||{}
|
||
,d._parentView=this,d.templateData=d.templateData||
|
||
a(this,"templateData"),c=c.create(d),c.viewName&&b(
|
||
a(this,"concreteView"),c.viewName,c)):(a(c,"templateData"
|
||
)||b(c,"templateData",a(this,"templateData")),b(c,"_parentView"
|
||
,this)),c},becameVisible:Ember.K,becameHidden:Ember
|
||
.K,_isVisibleDidChange:Ember.observer(function(){var b=
|
||
this.$();if(!b)return;var c=a(this,"isVisible");b.toggle
|
||
(c);if(this._isAncestorHidden())return;c?this._notifyBecameVisible
|
||
():this._notifyBecameHidden()},"isVisible"),_notifyBecameVisible
|
||
:function(){this.trigger("becameVisible"),this.forEachChildView
|
||
(function(b){var c=a(b,"isVisible");(c||c===null)&&
|
||
b._notifyBecameVisible()})},_notifyBecameHidden:function(
|
||
){this.trigger("becameHidden"),this.forEachChildView
|
||
(function(b){var c=a(b,"isVisible");(c||c===null)&&
|
||
b._notifyBecameHidden()})},_isAncestorHidden:function(
|
||
){var b=a(this,"parentView");while(b){if(a(b,"isVisible"
|
||
)===!1)return!0;b=a(b,"parentView")}return!1},clearBuffer
|
||
:function(){this.invokeRecursively(function(a){this
|
||
.buffer=null})},transitionTo:function(a,b){this.state=
|
||
a,b!==!1&&this.forEachChildView(function(b){b.transitionTo
|
||
(a)})},trigger:function(a){this._super.apply(this,arguments
|
||
);var b=this[a];if(b){var c=[],d,e;for(d=1,e=arguments
|
||
.length;d<e;d++)c.push(arguments[d]);return b.apply
|
||
(this,c)}},has:function(a){return Ember.typeOf(this
|
||
[a])==="function"||this._super(a)},handleEvent:function(
|
||
a,b){return this.invokeForState("handleEvent",a,b)}
|
||
});var l={prepend:function(a,b){a.$().prepend(b)},after
|
||
:function(a,b){a.$().after(b)},html:function(a,b){a
|
||
.$().html(b)},replace:function(c){var d=a(c,"element"
|
||
);b(c,"element",null),c._insertElementLater(function(
|
||
){Ember.$(d).replaceWith(a(c,"element"))})},remove:
|
||
function(a){a.$().remove()},empty:function(a){a.$()
|
||
.empty()}};Ember.View.reopen({states:Ember.View.states
|
||
,domManager:l}),Ember.View.reopenClass({_parsePropertyPath
|
||
:function(a){var b=a.split(":"),c=b[0],d="",e,f;return b
|
||
.length>1&&(e=b[1],b.length===3&&(f=b[2]),d=":"+e,f&&
|
||
(d+=":"+f)),{path:c,classNames:d,className:e===""?undefined
|
||
:e,falsyClassName:f}},_classStringForValue:function(
|
||
a,b,c,d){if(c||d)return c&&!!b?c:d&&!b?d:null;if(b===!0
|
||
){var e=a.split(".");return Ember.String.dasherize(
|
||
e[e.length-1])}return b!==!1&&b!==undefined&&b!==null?
|
||
b:null}}),Ember.View.views={},Ember.View.childViewsProperty=
|
||
i,Ember.View.applyAttributeBindings=function(a,b,c)
|
||
{var d=Ember.typeOf(c),e=a.attr(b);(d==="string"||d==="number"&&!
|
||
isNaN(c))&&c!==e?a.attr(b,c):c&&d==="boolean"?a.attr
|
||
(b,b):c||a.removeAttr(b)}}(),function(){var a=Ember
|
||
.get,b=Ember.set;Ember.View.states={_default:{appendChild
|
||
:function(){throw"You can't use appendChild outside of the rendering process"
|
||
},$:function(){return undefined},getElement:function(
|
||
){return null},handleEvent:function(){return!0},destroyElement
|
||
:function(a){return b(a,"element",null),a._scheduledInsert&&
|
||
(Ember.run.cancel(a._scheduledInsert),a._scheduledInsert=
|
||
null),a},renderToBufferIfNeeded:function(){return!1
|
||
}}},Ember.View.reopen({states:Ember.View.states})}(
|
||
),function(){Ember.View.states.preRender={parentState
|
||
:Ember.View.states._default,insertElement:function(
|
||
a,b){a.createElement(),a._notifyWillInsertElement()
|
||
,b.call(a),a.transitionTo("inDOM"),a._notifyDidInsertElement
|
||
()},renderToBufferIfNeeded:function(a){return a.renderToBuffer
|
||
()},empty:Ember.K,setElement:function(a,b){return b!==
|
||
null&&a.transitionTo("hasElement"),b}}}(),function(
|
||
){var a=Ember.get,b=Ember.set,c=Ember.meta;Ember.View
|
||
.states.inBuffer={parentState:Ember.View.states._default
|
||
,$:function(a,b){return a.rerender(),Ember.$()},rerender
|
||
:function(a){a._notifyWillRerender(),a.clearRenderedChildren
|
||
(),a.renderToBuffer(a.buffer,"replaceWith")},appendChild
|
||
:function(a,b,c){var d=a.buffer;return b=this.createChildView
|
||
(b,c),a._childViews.push(b),b.renderToBuffer(d),a.propertyDidChange
|
||
("childViews"),b},destroyElement:function(a){return a
|
||
.clearBuffer(),a._notifyWillDestroyElement(),a.transitionTo
|
||
("preRender"),a},empty:function(){},renderToBufferIfNeeded
|
||
:function(a){return a.buffer},insertElement:function(
|
||
){throw"You can't insert an element that has already been rendered"
|
||
},setElement:function(a,b){return b===null?a.transitionTo
|
||
("preRender"):(a.clearBuffer(),a.transitionTo("hasElement"
|
||
)),b}}}(),function(){var a=Ember.get,b=Ember.set,c=
|
||
Ember.meta;Ember.View.states.hasElement={parentState
|
||
:Ember.View.states._default,$:function(b,c){var d=a
|
||
(b,"element");return c?Ember.$(c,d):Ember.$(d)},getElement
|
||
:function(b){var c=a(b,"parentView");return c&&(c=a
|
||
(c,"element")),c?b.findElementInParentElement(c):Ember
|
||
.$("#"+a(b,"elementId"))[0]},setElement:function(a,
|
||
b){if(b===null)a.transitionTo("preRender");else throw"You cannot set an element to a non-null value when the element is already in the DOM."
|
||
;return b},rerender:function(a){return a._notifyWillRerender
|
||
(),a.clearRenderedChildren(),a.domManager.replace(a
|
||
),a},destroyElement:function(a){return a._notifyWillDestroyElement
|
||
(),a.domManager.remove(a),b(a,"element",null),a._scheduledInsert&&
|
||
(Ember.run.cancel(a._scheduledInsert),a._scheduledInsert=
|
||
null),a},empty:function(a){var b=a._childViews,c,d;
|
||
if(b){c=b.length;for(d=0;d<c;d++)b[d]._notifyWillDestroyElement
|
||
()}a.domManager.empty(a)},handleEvent:function(a,b,
|
||
c){return a.has(b)?a.trigger(b,c):!0}},Ember.View.states
|
||
.inDOM={parentState:Ember.View.states.hasElement,insertElement
|
||
:function(a,b){throw"You can't insert an element into the DOM that has already been inserted"
|
||
}}}(),function(){var a="You can't call %@ on a destroyed view"
|
||
,b=Ember.String.fmt;Ember.View.states.destroyed={parentState
|
||
:Ember.View.states._default,appendChild:function(){
|
||
throw b(a,["appendChild"])},rerender:function(){throw b
|
||
(a,["rerender"])},destroyElement:function(){throw b
|
||
(a,["destroyElement"])},empty:function(){throw b(a,
|
||
["empty"])},setElement:function(){throw b(a,["set('element', ...)"
|
||
])},renderToBufferIfNeeded:function(){throw b(a,["renderToBufferIfNeeded"
|
||
])},insertElement:Ember.K}}(),function(){}(),function(
|
||
){var a=Ember.get,b=Ember.set,c=Ember.meta,d=Ember.
|
||
EnumerableUtils.forEach,e=Ember.computed(function()
|
||
{return a(this,"_childViews")}).property("_childViews"
|
||
).cacheable();Ember.ContainerView=Ember.View.extend
|
||
({init:function(){this._super();var c=a(this,"childViews"
|
||
);Ember.defineProperty(this,"childViews",e);var f=this
|
||
._childViews;d(c,function(c,d){var e;"string"==typeof
|
||
c?(e=a(this,c),e=this.createChildView(e),b(this,c,e
|
||
)):e=this.createChildView(c),f[d]=e},this);var g=a(
|
||
this,"currentView");g&&f.push(this.createChildView(
|
||
g)),Ember.A(f),a(this,"childViews").addArrayObserver
|
||
(this,{willChange:"childViewsWillChange",didChange:"childViewsDidChange"
|
||
})},render:function(a){this.forEachChildView(function(
|
||
b){b.renderToBuffer(a)})},willDestroy:function(){a(
|
||
this,"childViews").removeArrayObserver(this,{willChange
|
||
:"childViewsWillChange",didChange:"childViewsDidChange"
|
||
}),this._super()},childViewsWillChange:function(a,b
|
||
,c){if(c===0)return;var d=a.slice(b,b+c);this.initializeViews
|
||
(d,null,null),this.invokeForState("childViewsWillChange"
|
||
,a,b,c)},childViewsDidChange:function(b,c,d,e){var f=
|
||
a(b,"length");if(e===0)return;var g=b.slice(c,c+e);
|
||
this.initializeViews(g,this,a(this,"templateData"))
|
||
,this.invokeForState("childViewsDidChange",b,c,e)},
|
||
initializeViews:function(c,e,f){d(c,function(c){b(c
|
||
,"_parentView",e),a(c,"templateData")||b(c,"templateData"
|
||
,f)})},currentView:null,_currentViewWillChange:Ember
|
||
.beforeObserver(function(){var b=a(this,"childViews"
|
||
),c=a(this,"currentView");c&&(b.removeObject(c),c.destroy
|
||
())},"currentView"),_currentViewDidChange:Ember.observer
|
||
(function(){var b=a(this,"childViews"),c=a(this,"currentView"
|
||
);c&&b.pushObject(c)},"currentView"),_ensureChildrenAreInDOM
|
||
:function(){this.invokeForState("ensureChildrenAreInDOM"
|
||
,this)}}),Ember.ContainerView.states={parent:Ember.
|
||
View.states,inBuffer:{childViewsDidChange:function(
|
||
a,b,c,d){var e=a.buffer,f,g,h,i;c===0?(i=b[c],f=c+1
|
||
,i.renderToBuffer(e,"prepend")):(i=b[c-1],f=c);for(
|
||
var j=f;j<c+d;j++)g=i,i=b[j],h=g.buffer,i.renderToBuffer
|
||
(h,"insertAfter")}},hasElement:{childViewsWillChange
|
||
:function(a,b,c,d){for(var e=c;e<c+d;e++)b[e].remove
|
||
()},childViewsDidChange:function(a,b,c,d){Ember.run
|
||
.scheduleOnce("render",this,"_ensureChildrenAreInDOM"
|
||
)},ensureChildrenAreInDOM:function(a){var b=a.get("childViews"
|
||
),c,d,e,f,g;for(c=0,d=b.length;c<d;c++)e=b[c],g=e.renderToBufferIfNeeded
|
||
(),g&&(e._notifyWillInsertElement(),f?f.domManager.
|
||
after(f,g.string()):a.domManager.prepend(a,g.string
|
||
()),e.transitionTo("inDOM"),e.propertyDidChange("element"
|
||
),e._notifyDidInsertElement()),f=e}}},Ember.ContainerView
|
||
.states.inDOM={parentState:Ember.ContainerView.states
|
||
.hasElement},Ember.ContainerView.reopen({states:Ember
|
||
.ContainerView.states})}(),function(){var a=Ember.get
|
||
,b=Ember.set,c=Ember.String.fmt;Ember.CollectionView=
|
||
Ember.ContainerView.extend({content:null,emptyViewClass
|
||
:Ember.View,emptyView:null,itemViewClass:Ember.View
|
||
,init:function(){var a=this._super();return this._contentDidChange
|
||
(),a},_contentWillChange:Ember.beforeObserver(function(
|
||
){var b=this.get("content");b&&b.removeArrayObserver
|
||
(this);var c=b?a(b,"length"):0;this.arrayWillChange
|
||
(b,0,c)},"content"),_contentDidChange:Ember.observer
|
||
(function(){var b=a(this,"content");b&&b.addArrayObserver
|
||
(this);var c=b?a(b,"length"):0;this.arrayDidChange(
|
||
b,0,null,c)},"content"),willDestroy:function(){var b=
|
||
a(this,"content");b&&b.removeArrayObserver(this),this
|
||
._super()},arrayWillChange:function(b,c,d){var e=a(
|
||
this,"emptyView");e&&e instanceof Ember.View&&e.removeFromParent
|
||
();var f=a(this,"childViews"),g,h,i;i=a(f,"length")
|
||
;var j=d===i;j&&this.invokeForState("empty");for(h=
|
||
c+d-1;h>=c;h--)g=f[h],j&&(g.removedFromDOM=!0),g.destroy
|
||
()},arrayDidChange:function(c,d,e,f){var g=a(this,"itemViewClass"
|
||
),h=a(this,"childViews"),i=[],j,k,l,m,n;"string"==typeof
|
||
g&&(g=a(g)),m=c?a(c,"length"):0;if(m)for(l=d;l<d+f;
|
||
l++)k=c.objectAt(l),j=this.createChildView(g,{content
|
||
:k,contentIndex:l}),i.push(j);else{var o=a(this,"emptyView"
|
||
);if(!o)return;o=this.createChildView(o),i.push(o),
|
||
b(this,"emptyView",o)}h.replace(d,0,i)},createChildView
|
||
:function(c,d){c=this._super(c,d);var e=a(c,"tagName"
|
||
),f=e===null||e===undefined?Ember.CollectionView.CONTAINER_MAP
|
||
[a(this,"tagName")]:e;return b(c,"tagName",f),c}}),
|
||
Ember.CollectionView.CONTAINER_MAP={ul:"li",ol:"li"
|
||
,table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td"
|
||
,select:"option"}}(),function(){}(),function(){}(),
|
||
function(){var a=Ember.get,b=Ember.set;Ember.State=
|
||
Ember.Object.extend(Ember.Evented,{isState:!0,parentState
|
||
:null,start:null,name:null,path:Ember.computed(function(
|
||
){var b=a(this,"parentState.path"),c=a(this,"name")
|
||
;return b&&(c=b+"."+c),c}).property().cacheable(),trigger
|
||
:function(a){this[a]&&this[a].apply(this,[].slice.call
|
||
(arguments,1)),this._super.apply(this,arguments)},init
|
||
:function(){var c=a(this,"states"),d;b(this,"childStates"
|
||
,Ember.A()),b(this,"eventTransitions",a(this,"eventTransitions"
|
||
)||{});var e,f,g;if(!c){c={};for(e in this){if(e==="constructor"
|
||
)continue;if(f=this[e]){if(g=f.transitionTarget)this
|
||
.eventTransitions[e]=g;this.setupChild(c,e,f)}}b(this
|
||
,"states",c)}else for(e in c)this.setupChild(c,e,c[
|
||
e]);b(this,"pathsCache",{}),b(this,"pathsCacheNoContext"
|
||
,{})},setupChild:function(c,d,e){if(!e)return!1;e.isState?
|
||
b(e,"name",d):Ember.State.detect(e)&&(e=e.create({name
|
||
:d}));if(e.isState)return b(e,"parentState",this),a
|
||
(this,"childStates").pushObject(e),c[d]=e,e},lookupEventTransition
|
||
:function(a){var b,c=this;while(c&&!b)b=c.eventTransitions
|
||
[a],c=c.get("parentState");return b},isLeaf:Ember.computed
|
||
(function(){return!a(this,"childStates").length}).cacheable
|
||
(),hasContext:!0,setup:Ember.K,enter:Ember.K,exit:Ember
|
||
.K}),Ember.State.reopenClass({transitionTo:function(
|
||
a){var b=function(b,c){var d,e;c&&c instanceof Ember
|
||
.$.Event&&c.hasOwnProperty("contexts")?d=c.contexts
|
||
.slice():d=[].slice.call(arguments,1),d.unshift(a),
|
||
b.transitionTo.apply(b,d)};return b.transitionTarget=
|
||
a,b}})}(),function(){var a=Ember.get,b=Ember.set,c=
|
||
Ember.String.fmt,d=Ember.ArrayPolyfills.forEach,e=function(
|
||
a){this.enterStates=a.enterStates.slice(),this.exitStates=
|
||
a.exitStates.slice(),this.resolveState=a.resolveState
|
||
,this.finalState=a.enterStates[a.enterStates.length-1
|
||
]||a.resolveState};e.prototype={normalize:function(
|
||
a,b){return this.matchContextsToStates(b),this.addInitialStates
|
||
(),this.removeUnchangedContexts(a),this},matchContextsToStates
|
||
:function(b){var c=this.enterStates.length-1,d=[],e
|
||
,f;while(b.length>0){if(c>=0)e=this.enterStates[c--
|
||
];else{if(this.enterStates.length){e=a(this.enterStates
|
||
[0],"parentState");if(!e)throw"Cannot match all contexts to states"
|
||
}else e=this.resolveState;this.enterStates.unshift(
|
||
e),this.exitStates.unshift(e)}a(e,"hasContext")?f=b
|
||
.pop():f=null,d.unshift(f)}this.contexts=d},addInitialStates
|
||
:function(){var b=this.finalState,c;for(;;){c=a(b,"initialState"
|
||
)||"start",b=a(b,"states."+c);if(!b)break;this.finalState=
|
||
b,this.enterStates.push(b),this.contexts.push(undefined
|
||
)}},removeUnchangedContexts:function(a){while(this.
|
||
enterStates.length>0){if(this.enterStates[0]!==this
|
||
.exitStates[0])break;if(this.enterStates.length===this
|
||
.contexts.length){if(a.getStateMeta(this.enterStates
|
||
[0],"context")!==this.contexts[0])break;this.contexts
|
||
.shift()}this.resolveState=this.enterStates.shift()
|
||
,this.exitStates.shift()}}},Ember.StateManager=Ember
|
||
.State.extend({init:function(){this._super(),b(this
|
||
,"stateMeta",Ember.Map.create());var c=a(this,"initialState"
|
||
);!c&&a(this,"states.start")&&(c="start"),c&&this.transitionTo
|
||
(c)},stateMetaFor:function(b){var c=a(this,"stateMeta"
|
||
),d=c.get(b);return d||(d={},c.set(b,d)),d},setStateMeta
|
||
:function(a,c,d){return b(this.stateMetaFor(a),c,d)
|
||
},getStateMeta:function(b,c){return a(this.stateMetaFor
|
||
(b),c)},currentState:null,currentPath:Ember.computed
|
||
("currentState",function(){return a(this,"currentState.path"
|
||
)}).cacheable(),transitionEvent:"setup",errorOnUnhandledEvent
|
||
:!0,send:function(b){var c,d;return c=[].slice.call
|
||
(arguments,1),d=c,d.unshift(b,a(this,"currentState"
|
||
)),this.sendRecursively.apply(this,d)},sendRecursively
|
||
:function(b,d){var e=this.enableLogging,f=d[b],g,h,
|
||
i;g=[].slice.call(arguments,2);if(typeof f=="function"
|
||
)return e&&Ember.Logger.log(c("STATEMANAGER: Sending event '%@' to state %@."
|
||
,[b,a(d,"path")])),i=g,i.unshift(this),f.apply(d,i)
|
||
;var j=a(d,"parentState");if(j)return h=g,h.unshift
|
||
(b,j),this.sendRecursively.apply(this,h);if(a(this,"errorOnUnhandledEvent"
|
||
))throw new Ember.Error(this.toString()+" could not respond to event "+
|
||
b+" in state "+a(this,"currentState.path")+".")},getStateByPath
|
||
:function(b,c){var d=c.split("."),e=b;for(var f=0,g=
|
||
d.length;f<g;f++){e=a(a(e,"states"),d[f]);if(!e)break}
|
||
return e},findStateByPath:function(b,c){var d;while(!
|
||
d&&b)d=this.getStateByPath(b,c),b=a(b,"parentState"
|
||
);return d},findStatesByPath:function(b,c){if(!c||c===""
|
||
)return undefined;var d=c.split("."),e=[];for(var f=0
|
||
,g=d.length;f<g;f++){var h=a(b,"states");if(!h)return undefined
|
||
;var i=a(h,d[f]);if(i)b=i,e.push(i);else return undefined
|
||
}return e},goToState:function(){return this.transitionTo
|
||
.apply(this,arguments)},transitionTo:function(b,c){
|
||
if(Ember.empty(b))return;var d=c?Array.prototype.slice
|
||
.call(arguments,1):[],f=a(this,"currentState")||this
|
||
,g=this.contextFreeTransition(f,b),h=(new e(g)).normalize
|
||
(this,d);this.enterState(h),this.triggerSetupContext
|
||
(h)},contextFreeTransition:function(b,c){var d=b.pathsCache
|
||
[c];if(d)return d;var e=this.findStatesByPath(b,c),
|
||
f=[],g=b;while(g&&!e){f.unshift(g),g=a(g,"parentState"
|
||
);if(!g){e=this.findStatesByPath(this,c);if(!e)return}
|
||
e=this.findStatesByPath(g,c)}while(e.length>0&&e[0]===
|
||
f[0])g=e.shift(),f.shift();var h=b.pathsCache[c]={exitStates
|
||
:f,enterStates:e,resolveState:g};return h},triggerSetupContext
|
||
:function(b){var c=b.contexts,e=b.enterStates.length-
|
||
c.length,f=b.enterStates,g=a(this,"transitionEvent"
|
||
);d.call(f,function(a,b){a.trigger(g,this,c[b-e])},
|
||
this)},getState:function(b){var c=a(this,b),d=a(this
|
||
,"parentState");if(c)return c;if(d)return d.getState
|
||
(b)},enterState:function(c){var e=this.enableLogging
|
||
,f=c.exitStates.slice(0).reverse();d.call(f,function(
|
||
a){a.trigger("exit",this)},this),d.call(c.enterStates
|
||
,function(b){e&&Ember.Logger.log("STATEMANAGER: Entering "+
|
||
a(b,"path")),b.trigger("enter",this)},this),b(this,"currentState"
|
||
,c.finalState)}})}(),function(){}(),function(){var a=
|
||
Ember.get;Ember._ResolvedState=Ember.Object.extend(
|
||
{manager:null,state:null,match:null,object:Ember.computed
|
||
(function(b,c){if(arguments.length===2)return this.
|
||
_object=c,c;if(this._object)return this._object;var d=
|
||
a(this,"state"),e=a(this,"match"),f=a(this,"manager"
|
||
);return d.deserialize(f,e.hash)}).property(),hasPromise
|
||
:Ember.computed(function(){return Ember.canInvoke(a
|
||
(this,"object"),"then")}).property("object"),promise
|
||
:Ember.computed(function(){var b=a(this,"object");return Ember
|
||
.canInvoke(b,"then")?b:{then:function(a){a(b)}}}).property
|
||
("object"),transition:function(){var b=a(this,"manager"
|
||
),c=a(this,"state.path"),d=a(this,"object");b.transitionTo
|
||
(c,d)}})}(),function(){var a=Ember.get,b=function(a
|
||
){var b=a.toString(),c=b.split("."),d=c[c.length-1]
|
||
;return Ember.String.underscore(d)+"_id"},c=function(
|
||
a,b){for(var c in b){if(!b.hasOwnProperty(c))continue;
|
||
if(a.hasOwnProperty(c))continue;a[c]=b[c]}};Ember.Routable=
|
||
Ember.Mixin.create({init:function(){var b;this.on("setup"
|
||
,this,this.stashContext);if(b=a(this,"redirectsTo")
|
||
)this.connectOutlets=function(a){a.transitionTo(b)}
|
||
;var c=a(this,"route");c===""&&(c="/"),this._super(
|
||
)},setup:function(){return this.connectOutlets.apply
|
||
(this,arguments)},stashContext:function(b,c){this.router=
|
||
b;var d=this.serialize(b,c);b.setStateMeta(this,"context"
|
||
,c),b.setStateMeta(this,"serialized",d),a(this,"isRoutable"
|
||
)&&!a(b,"isRouting")&&this.updateRoute(b,a(b,"location"
|
||
))},updateRoute:function(b,c){if(a(this,"isLeafRoute"
|
||
)){var d=this.absoluteRoute(b);c.setURL(d)}},absoluteRoute
|
||
:function(b,d){var e=a(this,"parentState"),f="",g;a
|
||
(e,"isRoutable")&&(f=e.absoluteRoute(b,d));var h=a(
|
||
this,"routeMatcher"),i=b.getStateMeta(this,"serialized"
|
||
);return d=d||{},c(d,i),g=h&&h.generate(d),g&&(f=f+"/"+
|
||
g),f},isRoutable:Ember.computed(function(){return typeof
|
||
a(this,"route")=="string"}).cacheable(),isLeafRoute
|
||
:Ember.computed(function(){return a(this,"isLeaf")?!0
|
||
:!a(this,"childStates").findProperty("isRoutable")}
|
||
).cacheable(),routeMatcher:Ember.computed(function(
|
||
){var b=a(this,"route");if(b)return Ember._RouteMatcher
|
||
.create({route:b})}).cacheable(),hasContext:Ember.computed
|
||
(function(){var b=a(this,"routeMatcher");if(b)return b
|
||
.identifiers.length>0}).cacheable(),modelClass:Ember
|
||
.computed(function(){var b=a(this,"modelType");return typeof
|
||
b=="string"?Ember.get(window,b):b}).cacheable(),modelClassFor
|
||
:function(b){var c,d,e,f,g;if(c=a(this,"modelClass"
|
||
))return c;if(!b)return;d=a(this,"routeMatcher");if(!
|
||
d)return;e=d.identifiers;if(e.length!==2)return;f=e
|
||
[1].match(/^(.*)_id$/);if(!f)return;return g=Ember.
|
||
String.classify(f[1]),a(b,g)},deserialize:function(
|
||
c,d){var e,f,g;return(e=this.modelClassFor(a(c,"namespace"
|
||
)))?e.find(d[b(e)]):d},serialize:function(c,d){var e
|
||
,f,g,h,i;if(Ember.empty(d))return"";if(e=this.modelClassFor
|
||
(a(c,"namespace")))h=b(e),i=a(d,"id"),d={},d[h]=i;return d
|
||
},resolvePath:function(b,c){if(a(this,"isLeafRoute"
|
||
))return Ember.A();var d=a(this,"childStates"),e;d=
|
||
Ember.A(d.filterProperty("isRoutable")),d=d.sort(function(
|
||
b,c){var d=a(b,"routeMatcher.identifiers.length"),e=
|
||
a(c,"routeMatcher.identifiers.length"),f=a(b,"route"
|
||
),g=a(c,"route");return f.indexOf(g)===0?-1:g.indexOf
|
||
(f)===0?1:d!==e?d-e:a(c,"route.length")-a(b,"route.length"
|
||
)});var f=d.find(function(b){var d=a(b,"routeMatcher"
|
||
);if(e=d.match(c))return!0}),g=Ember._ResolvedState
|
||
.create({manager:b,state:f,match:e}),h=f.resolvePath
|
||
(b,e.remaining);return Ember.A([g]).pushObjects(h)}
|
||
,routePath:function(b,c){function d(){e.forEach(function(
|
||
a){a.transition()})}if(a(this,"isLeafRoute"))return;
|
||
var e=this.resolvePath(b,c),f=e.some(function(b){return a
|
||
(b,"hasPromise")});f?(b.transitionTo("loading"),b.handleStatePromises
|
||
(e,d)):d()},unroutePath:function(b,c){var d=a(this,"parentState"
|
||
);if(d===b)return;c=c.replace(/^(?=[^\/])/,"/");var e=
|
||
this.absoluteRoute(b),f=a(this,"route");if(f!=="/")
|
||
{var g=c.indexOf(e),h=c.charAt(e.length);if(g===0&&
|
||
(h==="/"||h===""))return}b.enterState({exitStates:[
|
||
this],enterStates:[],finalState:d}),b.send("unroutePath"
|
||
,c)},parentTemplate:Ember.computed(function(){var b=
|
||
this,c,d;while(b=a(b,"parentState"))if(d=a(b,"template"
|
||
))return d;return"application"}).cacheable(),_template
|
||
:Ember.computed(function(b,c){if(arguments.length>1
|
||
)return c;if(c=a(this,"template"))return c;var d=this
|
||
.constructor.toString(),e;if(/^[^\[].*Route$/.test(
|
||
d))return e=d.match(/([^\.]+\.)*([^\.]+)/)[2],e=e.replace
|
||
(/Route$/,""),e.charAt(0).toLowerCase()+e.substr(1)
|
||
}).cacheable(),render:function(b){b=b||{};var c=b.template||
|
||
a(this,"_template"),d=b.into||a(this,"parentTemplate"
|
||
),e=a(this.router,d+"Controller"),f=Ember.String.classify
|
||
(c)+"View",g=a(a(this.router,"namespace"),f);g=(g||
|
||
Ember.View).extend({templateName:c}),e.set("view",g
|
||
.create())},connectOutlets:Ember.K,navigateAway:Ember
|
||
.K})}(),function(){Ember.Route=Ember.State.extend(Ember
|
||
.Routable)}(),function(){var a=function(a){return a
|
||
.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember
|
||
._RouteMatcher=Ember.Object.extend({state:null,init
|
||
:function(){var b=this.route,c=[],d=1,e;b.charAt(0)==="/"&&
|
||
(b=this.route=b.substr(1)),e=a(b);var f=e.replace(/:([a-z_]+)(?=$|\/)/gi
|
||
,function(a,b){return c[d++]=b,"([^/]+)"});this.identifiers=
|
||
c,this.regex=new RegExp("^/?"+f)},match:function(a)
|
||
{var b=a.match(this.regex);if(b){var c=this.identifiers
|
||
,d={};for(var e=1,f=c.length;e<f;e++)d[c[e]]=b[e];return{
|
||
remaining:a.substr(b[0].length),hash:c.length>0?d:null
|
||
}}},generate:function(a){var b=this.identifiers,c=this
|
||
.route,d;for(var e=1,f=b.length;e<f;e++)d=b[e],c=c.
|
||
replace(new RegExp(":"+d),a[d]);return c}})}(),function(
|
||
){var a=Ember.get,b=Ember.set;Ember.Location={create
|
||
:function(a){var b=a&&a.implementation,c=this.implementations
|
||
[b];return c.create.apply(c,arguments)},registerImplementation
|
||
:function(a,b){this.implementations[a]=b},implementations
|
||
:{}}}(),function(){var a=Ember.get,b=Ember.set;Ember
|
||
.NoneLocation=Ember.Object.extend({path:"",getURL:function(
|
||
){return a(this,"path")},setURL:function(a){b(this,"path"
|
||
,a)},onUpdateURL:function(a){},formatURL:function(a
|
||
){return a}}),Ember.Location.registerImplementation
|
||
("none",Ember.NoneLocation)}(),function(){var a=Ember
|
||
.get,b=Ember.set;Ember.HashLocation=Ember.Object.extend
|
||
({init:function(){b(this,"location",a(this,"location"
|
||
)||window.location)},getURL:function(){return a(this
|
||
,"location").hash.substr(1)},setURL:function(c){a(this
|
||
,"location").hash=c,b(this,"lastSetURL",c)},onUpdateURL
|
||
:function(c){var d=this,e=Ember.guidFor(this);Ember
|
||
.$(window).bind("hashchange.ember-location-"+e,function(
|
||
){var e=location.hash.substr(1);if(a(d,"lastSetURL"
|
||
)===e)return;b(d,"lastSetURL",null),c(location.hash
|
||
.substr(1))})},formatURL:function(a){return"#"+a},willDestroy
|
||
:function(){var a=Ember.guidFor(this);Ember.$(window
|
||
).unbind("hashchange.ember-location-"+a)}}),Ember.Location
|
||
.registerImplementation("hash",Ember.HashLocation)}
|
||
(),function(){var a=Ember.get,b=Ember.set;Ember.HistoryLocation=
|
||
Ember.Object.extend({init:function(){b(this,"location"
|
||
,a(this,"location")||window.location),b(this,"_initialURL"
|
||
,a(this,"location").pathname)},rootURL:"/",_initialURL
|
||
:null,getURL:function(){return a(this,"location").pathname
|
||
},setURL:function(b){var c=window.history.state,d=a
|
||
(this,"_initialURL");b=this.formatURL(b),(d!==b&&!c||
|
||
c&&c.path!==b)&&window.history.pushState({path:b},null
|
||
,b)},onUpdateURL:function(a){var b=Ember.guidFor(this
|
||
);Ember.$(window).bind("popstate.ember-location-"+b
|
||
,function(b){a(location.pathname)})},formatURL:function(
|
||
b){var c=a(this,"rootURL");return b!==""&&(c=c.replace
|
||
(/\/$/,"")),c+b},willDestroy:function(){var a=Ember
|
||
.guidFor(this);Ember.$(window).unbind("popstate.ember-location-"+
|
||
a)}}),Ember.Location.registerImplementation("history"
|
||
,Ember.HistoryLocation)}(),function(){}(),function(
|
||
){var a=Ember.get,b=Ember.set,c=function(a,b){for(var c in
|
||
b){if(!b.hasOwnProperty(c))continue;if(a.hasOwnProperty
|
||
(c))continue;a[c]=b[c]}};Ember.Router=Ember.StateManager
|
||
.extend({initialState:"root",location:"hash",rootURL
|
||
:"/",transitionTo:function(){this.abortRoutingPromises
|
||
(),this._super.apply(this,arguments)},route:function(
|
||
c){this.abortRoutingPromises(),b(this,"isRouting",!0
|
||
);var d;try{c=c.replace(a(this,"rootURL"),""),c=c.replace
|
||
(/^(?=[^\/])/,"/"),this.send("navigateAway"),this.send
|
||
("unroutePath",c),d=a(this,"currentState");while(d&&!
|
||
d.get("isRoutable"))d=a(d,"parentState");var e=d?d.
|
||
absoluteRoute(this):"",f=c.substr(e.length);this.send
|
||
("routePath",f)}finally{b(this,"isRouting",!1)}d=a(
|
||
this,"currentState");while(d&&!d.get("isRoutable"))
|
||
d=a(d,"parentState");d&&d.updateRoute(this,a(this,"location"
|
||
))},urlFor:function(b,c){var d=a(this,"currentState"
|
||
)||this,e=this.findStateByPath(d,b),f=a(this,"location"
|
||
),g=e.absoluteRoute(this,c);return f.formatURL(g)},
|
||
urlForEvent:function(b){var c=Array.prototype.slice
|
||
.call(arguments,1),d=a(this,"currentState"),e=d.lookupEventTransition
|
||
(b),f=this.findStateByPath(d,e),g=this.serializeRecursively
|
||
(f,c,{});return this.urlFor(e,g)},serializeRecursively
|
||
:function(b,d,e){var f,g=a(b,"hasContext")?d.pop():
|
||
null;return c(e,b.serialize(this,g)),f=b.get("parentState"
|
||
),f&&f instanceof Ember.Route?this.serializeRecursively
|
||
(f,d,e):e},abortRoutingPromises:function(){this._routingPromises&&
|
||
(this._routingPromises.abort(),this._routingPromises=
|
||
null)},handleStatePromises:function(a,c){this.abortRoutingPromises
|
||
(),this.set("isLocked",!0);var d=this;this._routingPromises=
|
||
Ember._PromiseChain.create({promises:a.slice(),successCallback
|
||
:function(){d.set("isLocked",!1),c()},failureCallback
|
||
:function(){throw"Unable to load object"},promiseSuccessCallback
|
||
:function(a,c){b(a,"object",c[0])},abortCallback:function(
|
||
){d.set("isLocked",!1)}}).start()},init:function(){
|
||
this._super();var c=a(this,"location"),d=a(this,"rootURL"
|
||
);"string"==typeof c&&b(this,"location",Ember.Location
|
||
.create({implementation:c,rootURL:d})),this.assignRouter
|
||
(this,this)},assignRouter:function(a,b){a.router=b;
|
||
var c=a.states;if(c)for(var d in c){if(!c.hasOwnProperty
|
||
(d))continue;this.assignRouter(c[d],b)}},willDestroy
|
||
:function(){a(this,"location").destroy()}})}(),function(
|
||
){}(),function(){(function(a){var b=function(){},c=0
|
||
,d=a.document,e="createRange"in d&&typeof Range!="undefined"&&
|
||
Range.prototype.createContextualFragment,f=function(
|
||
){var a=d.createElement("div");return a.innerHTML="<div></div>"
|
||
,a.firstChild.innerHTML="<script></script>",a.firstChild
|
||
.innerHTML===""}(),g=function(a){var d;this instanceof
|
||
g?d=this:d=new b,d.innerHTML=a;var e="metamorph-"+c++
|
||
;return d.start=e+"-start",d.end=e+"-end",d};b.prototype=
|
||
g.prototype;var h,i,j,k,l,m,n,o,p;k=function(){return this
|
||
.startTag()+this.innerHTML+this.endTag()},o=function(
|
||
){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"
|
||
},p=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"
|
||
};if(e)h=function(a,b){var c=d.createRange(),e=d.getElementById
|
||
(a.start),f=d.getElementById(a.end);return b?(c.setStartBefore
|
||
(e),c.setEndAfter(f)):(c.setStartAfter(e),c.setEndBefore
|
||
(f)),c},i=function(a,b){var c=h(this,b);c.deleteContents
|
||
();var d=c.createContextualFragment(a);c.insertNode
|
||
(d)},j=function(){var a=h(this,!0);a.deleteContents
|
||
()},l=function(a){var b=d.createRange();b.setStart(
|
||
a),b.collapse(!1);var c=b.createContextualFragment(
|
||
this.outerHTML());a.appendChild(c)},m=function(a){var b=
|
||
d.createRange(),c=d.getElementById(this.end);b.setStartAfter
|
||
(c),b.setEndAfter(c);var e=b.createContextualFragment
|
||
(a);b.insertNode(e)},n=function(a){var b=d.createRange
|
||
(),c=d.getElementById(this.start);b.setStartAfter(c
|
||
),b.setEndAfter(c);var e=b.createContextualFragment
|
||
(a);b.insertNode(e)};else{var q={select:[1,"<select multiple='multiple'>"
|
||
,"</select>"],fieldset:[1,"<fieldset>","</fieldset>"
|
||
],table:[1,"<table>","</table>"],tbody:[2,"<table><tbody>"
|
||
,"</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"
|
||
],colgroup:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"
|
||
],map:[1,"<map>","</map>"],_default:[0,"",""]},r=function(
|
||
a,b){var c=q[a.tagName.toLowerCase()]||q._default,e=
|
||
c[0],g=c[1],h=c[2];f&&(b="­"+b);var i=d.createElement
|
||
("div");i.innerHTML=g+b+h;for(var j=0;j<=e;j++)i=i.
|
||
firstChild;if(f){var k=i;while(k.nodeType===1&&!k.nodeName
|
||
)k=k.firstChild;k.nodeType===3&&k.nodeValue.charAt(0
|
||
)===""&&(k.nodeValue=k.nodeValue.slice(1))}return i
|
||
},s=function(a){while(a.parentNode.tagName==="")a=a
|
||
.parentNode;return a},t=function(a,b){a.parentNode!==
|
||
b.parentNode&&b.parentNode.insertBefore(a,b.parentNode
|
||
.firstChild)};i=function(a,b){var c=s(d.getElementById
|
||
(this.start)),e=d.getElementById(this.end),f=e.parentNode
|
||
,g,h,i;t(c,e),g=c.nextSibling;while(g){h=g.nextSibling
|
||
,i=g===e;if(i)if(b)e=g.nextSibling;else break;g.parentNode
|
||
.removeChild(g);if(i)break;g=h}g=r(c.parentNode,a);
|
||
while(g)h=g.nextSibling,f.insertBefore(g,e),g=h},j=
|
||
function(){var a=s(d.getElementById(this.start)),b=
|
||
d.getElementById(this.end);this.html(""),a.parentNode
|
||
.removeChild(a),b.parentNode.removeChild(b)},l=function(
|
||
a){var b=r(a,this.outerHTML());while(b)nextSibling=
|
||
b.nextSibling,a.appendChild(b),b=nextSibling},m=function(
|
||
a){var b=d.getElementById(this.end),c=b.nextSibling
|
||
,e=b.parentNode,f,g;g=r(e,a);while(g)f=g.nextSibling
|
||
,e.insertBefore(g,c),g=f},n=function(a){var b=d.getElementById
|
||
(this.start),c=b.parentNode,e,f;f=r(c,a);var g=b.nextSibling
|
||
;while(f)e=f.nextSibling,c.insertBefore(f,g),f=e}}g
|
||
.prototype.html=function(a){this.checkRemoved();if(
|
||
a===undefined)return this.innerHTML;i.call(this,a),
|
||
this.innerHTML=a},g.prototype.replaceWith=function(
|
||
a){this.checkRemoved(),i.call(this,a,!0)},g.prototype
|
||
.remove=j,g.prototype.outerHTML=k,g.prototype.appendTo=
|
||
l,g.prototype.after=m,g.prototype.prepend=n,g.prototype
|
||
.startTag=o,g.prototype.endTag=p,g.prototype.isRemoved=
|
||
function(){var a=d.getElementById(this.start),b=d.getElementById
|
||
(this.end);return!a||!b},g.prototype.checkRemoved=function(
|
||
){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM."
|
||
)},a.Metamorph=g})(this)}(),function(){var a=Ember.
|
||
create;Ember.Handlebars=a(Handlebars),Ember.Handlebars
|
||
.helpers=a(Handlebars.helpers),Ember.Handlebars.Compiler=
|
||
function(){},Handlebars.Compiler&&(Ember.Handlebars
|
||
.Compiler.prototype=a(Handlebars.Compiler.prototype
|
||
)),Ember.Handlebars.Compiler.prototype.compiler=Ember
|
||
.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=
|
||
function(){},Handlebars.JavaScriptCompiler&&(Ember.
|
||
Handlebars.JavaScriptCompiler.prototype=a(Handlebars
|
||
.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler
|
||
.prototype.compiler=Ember.Handlebars.JavaScriptCompiler
|
||
),Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars"
|
||
,Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=
|
||
function(){return"''"},Ember.Handlebars.JavaScriptCompiler
|
||
.prototype.appendToBuffer=function(a){return"data.buffer.push("+
|
||
a+");"},Ember.Handlebars.Compiler.prototype.mustache=
|
||
function(a){if(a.params.length||a.hash)return Handlebars
|
||
.Compiler.prototype.mustache.call(this,a);var b=new
|
||
Handlebars.AST.IdNode(["_triageMustache"]);return a
|
||
.escaped||(a.hash=a.hash||new Handlebars.AST.HashNode
|
||
([]),a.hash.pairs.push(["unescaped",new Handlebars.
|
||
AST.StringNode("true")])),a=new Handlebars.AST.MustacheNode
|
||
([b].concat([a.id]),a.hash,!a.escaped),Handlebars.Compiler
|
||
.prototype.mustache.call(this,a)},Ember.Handlebars.
|
||
precompile=function(a){var b=Handlebars.parse(a),c=
|
||
{knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template
|
||
:!0,view:!0,_triageMustache:!0},data:!0,stringParams
|
||
:!0},d=(new Ember.Handlebars.Compiler).compile(b,c)
|
||
;return(new Ember.Handlebars.JavaScriptCompiler).compile
|
||
(d,c,undefined,!0)},Handlebars.compile&&(Ember.Handlebars
|
||
.compile=function(a){var b=Handlebars.parse(a),c={data
|
||
:!0,stringParams:!0},d=(new Ember.Handlebars.Compiler
|
||
).compile(b,c),e=(new Ember.Handlebars.JavaScriptCompiler
|
||
).compile(d,c,undefined,!0);return Handlebars.template
|
||
(e)});var b=Ember.Handlebars.normalizePath=function(
|
||
a,b,c){var d=c&&c.keywords||{},e,f;return e=b.split
|
||
(".",1)[0],d.hasOwnProperty(e)&&(a=d[e],f=!0,b===e?
|
||
b="":b=b.substr(e.length+1)),{root:a,path:b,isKeyword
|
||
:f}};Ember.Handlebars.getPath=function(a,c,d){var e=
|
||
d&&d.data,f=b(a,c,e),g;return a=f.root,c=f.path,g=Ember
|
||
.get(a,c),g===undefined&&a!==window&&Ember.isGlobalPath
|
||
(c)&&(g=Ember.get(window,c)),g},Ember.Handlebars.registerHelper
|
||
("helperMissing",function(a,b){var c,d="";throw c="%@ Handlebars error: Could not find property '%@' on object %@."
|
||
,b.data&&(d=b.data.view),new Ember.Error(Ember.String
|
||
.fmt(c,[d,a,this]))})}(),function(){Ember.String.htmlSafe=
|
||
function(a){return new Handlebars.SafeString(a)};var a=
|
||
Ember.String.htmlSafe;Ember.EXTEND_PROTOTYPES&&(String
|
||
.prototype.htmlSafe=function(){return a(this)})}(),
|
||
function(){var a=Ember.set,b=Ember.get,c={remove:function(
|
||
a){a.morph.remove()},prepend:function(a,b){a.morph.
|
||
prepend(b)},after:function(a,b){a.morph.after(b)},html
|
||
:function(a,b){a.morph.html(b)},replace:function(a)
|
||
{var c=a.morph;a.transitionTo("preRender"),a.clearRenderedChildren
|
||
();var d=a.renderToBuffer();Ember.run.schedule("render"
|
||
,this,function(){if(b(a,"isDestroyed"))return;a.invalidateRecursively
|
||
("element"),a._notifyWillInsertElement(),c.replaceWith
|
||
(d.string()),a.transitionTo("inDOM"),a._notifyDidInsertElement
|
||
()})},empty:function(a){a.morph.html("")}};Ember._Metamorph=
|
||
Ember.Mixin.create({isVirtual:!0,tagName:"",init:function(
|
||
){this._super(),this.morph=Metamorph()},beforeRender
|
||
:function(a){a.push(this.morph.startTag())},afterRender
|
||
:function(a){a.push(this.morph.endTag())},createElement
|
||
:function(){var a=this.renderToBuffer();this.outerHTML=
|
||
a.string(),this.clearBuffer()},domManager:c}),Ember
|
||
._MetamorphView=Ember.View.extend(Ember._Metamorph)
|
||
}(),function(){var a=Ember.get,b=Ember.set,c=Ember.
|
||
Handlebars.getPath;Ember._HandlebarsBoundView=Ember
|
||
._MetamorphView.extend({shouldDisplayFunc:null,preserveContext
|
||
:!1,previousContext:null,displayTemplate:null,inverseTemplate
|
||
:null,path:null,pathRoot:null,normalizedValue:Ember
|
||
.computed(function(){var b=a(this,"path"),d=a(this,"pathRoot"
|
||
),e=a(this,"valueNormalizerFunc"),f,g;return b===""?
|
||
f=d:(g=a(this,"templateData"),f=c(d,b,{data:g})),e?
|
||
e(f):f}).property("path","pathRoot","valueNormalizerFunc"
|
||
).volatile(),rerenderIfNeeded:function(){!a(this,"isDestroyed"
|
||
)&&a(this,"normalizedValue")!==this._lastNormalizedValue&&
|
||
this.rerender()},render:function(c){var d=a(this,"isEscaped"
|
||
),e=a(this,"shouldDisplayFunc"),f=a(this,"preserveContext"
|
||
),g=a(this,"previousContext"),h=a(this,"inverseTemplate"
|
||
),i=a(this,"displayTemplate"),j=a(this,"normalizedValue"
|
||
);this._lastNormalizedValue=j;if(e(j)){b(this,"template"
|
||
,i);if(f)b(this,"_context",g);else if(i)b(this,"_context"
|
||
,j);else{j===null||j===undefined?j="":j instanceof
|
||
Handlebars.SafeString||(j=String(j)),d&&(j=Handlebars
|
||
.Utils.escapeExpression(j)),c.push(j);return}}else h?
|
||
(b(this,"template",h),f?b(this,"_context",g):b(this
|
||
,"_context",j)):b(this,"template",function(){return""
|
||
});return this._super(c)}})}(),function(){function a
|
||
(a,b,c,d,g){var h=b.data,i=b.fn,j=b.inverse,k=h.view
|
||
,l=this,m,n,o;o=f(l,a,h),m=o.root,n=o.path;if("object"==typeof
|
||
this){var p=k.createChildView(Ember._HandlebarsBoundView
|
||
,{preserveContext:c,shouldDisplayFunc:d,valueNormalizerFunc
|
||
:g,displayTemplate:i,inverseTemplate:j,path:n,pathRoot
|
||
:m,previousContext:l,isEscaped:!b.hash.unescaped,templateData
|
||
:b.data});k.appendChild(p);var q=function(){Ember.run
|
||
.scheduleOnce("render",p,"rerenderIfNeeded")};n!==""&&
|
||
Ember.addObserver(m,n,q)}else h.buffer.push(e(m,n,b
|
||
))}var b=Ember.get,c=Ember.set,d=Ember.String.fmt,e=
|
||
Ember.Handlebars.getPath,f=Ember.Handlebars.normalizePath
|
||
,g=Ember.ArrayPolyfills.forEach,h=Ember.Handlebars,
|
||
i=h.helpers;h.registerHelper("_triageMustache",function(
|
||
a,b){return i[a]?i[a].call(this,b):i.bind.apply(this
|
||
,arguments)}),h.registerHelper("bind",function(b,c)
|
||
{var d=c.contexts&&c.contexts[0]||this;return a.call
|
||
(d,b,c,!1,function(a){return!Ember.none(a)})}),h.registerHelper
|
||
("boundIf",function(c,d){var e=d.contexts&&d.contexts
|
||
[0]||this,f=function(a){return Ember.typeOf(a)==="array"?
|
||
b(a,"length")!==0:!!a};return a.call(e,c,d,!0,f,f)}
|
||
),h.registerHelper("with",function(b,c){if(arguments
|
||
.length===4){var d,e,g,h;c=arguments[3],d=arguments
|
||
[2],e=arguments[0];if(Ember.isGlobalPath(e))Ember.bind
|
||
(c.data.keywords,d,e);else{h=f(this,e,c.data),e=h.path
|
||
,g=h.root;var j=Ember.$.expando+Ember.guidFor(g);c.
|
||
data.keywords[j]=g;var k=e?j+"."+e:j;Ember.bind(c.data
|
||
.keywords,d,k)}return a.call(this,e,c,!0,function(a
|
||
){return!Ember.none(a)})}return i.bind.call(c.contexts
|
||
[0],b,c)}),h.registerHelper("if",function(a,b){return i
|
||
.boundIf.call(b.contexts[0],a,b)}),h.registerHelper
|
||
("unless",function(a,b){var c=b.fn,d=b.inverse;return b
|
||
.fn=d,b.inverse=c,i.boundIf.call(b.contexts[0],a,b)
|
||
}),h.registerHelper("bindAttr",function(a){var b=a.
|
||
hash,c=a.data.view,d=[],i=this,j=++Ember.$.uuid,k=b
|
||
["class"];if(k!==null&&k!==undefined){var l=h.bindClasses
|
||
(this,k,c,j,a);d.push('class="'+Handlebars.Utils.escapeExpression
|
||
(l.join(" "))+'"'),delete b["class"]}var m=Ember.keys
|
||
(b);return g.call(m,function(g){var h=b[g],k,l;l=f(
|
||
i,h,a.data),k=l.root,h=l.path;var m=h==="this"?k:e(
|
||
k,h,a),n=Ember.typeOf(m),o,p;o=function(){var b=e(k
|
||
,h,a),d=c.$("[data-bindattr-"+j+"='"+j+"']");if(!d||
|
||
d.length===0){Ember.removeObserver(k,h,p);return}Ember
|
||
.View.applyAttributeBindings(d,g,b)},p=function(){Ember
|
||
.run.scheduleOnce("render",o)},h!=="this"&&Ember.addObserver
|
||
(k,h,p),n==="string"||n==="number"&&!isNaN(m)?d.push
|
||
(g+'="'+Handlebars.Utils.escapeExpression(m)+'"'):m&&
|
||
n==="boolean"&&d.push(g+'="'+g+'"')},this),d.push("data-bindattr-"+
|
||
j+'="'+j+'"'),new h.SafeString(d.join(" "))}),h.bindClasses=
|
||
function(a,b,c,d,h){var i=[],j,k,l,m=function(a,b,c
|
||
){var d,f=b.path;return f==="this"?d=a:f===""?d=!0:
|
||
d=e(a,f,c),Ember.View._classStringForValue(f,d,b.className
|
||
,b.falsyClassName)};return g.call(b.split(" "),function(
|
||
b){var e,g,n,o=Ember.View._parsePropertyPath(b),p=o
|
||
.path,q=a,r;p!==""&&p!=="this"&&(r=f(a,p,h.data),q=
|
||
r.root,p=r.path),g=function(){j=m(q,o,h),l=d?c.$("[data-bindattr-"+
|
||
d+"='"+d+"']"):c.$(),!l||l.length===0?Ember.removeObserver
|
||
(q,p,n):(e&&l.removeClass(e),j?(l.addClass(j),e=j):
|
||
e=null)},n=function(){Ember.run.scheduleOnce("render"
|
||
,g)},p!==""&&p!=="this"&&Ember.addObserver(q,p,n),k=
|
||
m(q,o,h),k&&(i.push(k),e=k)}),i}}(),function(){var a=
|
||
Ember.get,b=Ember.set,c=/^parentView\./,d=Ember.Handlebars
|
||
,e=Ember.VIEW_PRESERVES_CONTEXT;d.ViewHelper=Ember.
|
||
Object.create({propertiesFromHTMLOptions:function(a
|
||
,b){var c=a.hash,d=a.data,e={},f=c["class"],g=!1;c.
|
||
id&&(e.elementId=c.id,g=!0),f&&(f=f.split(" "),e.classNames=
|
||
f,g=!0),c.classBinding&&(e.classNameBindings=c.classBinding
|
||
.split(" "),g=!0),c.classNameBindings&&(e.classNameBindings===
|
||
undefined&&(e.classNameBindings=[]),e.classNameBindings=
|
||
e.classNameBindings.concat(c.classNameBindings.split
|
||
(" ")),g=!0),c.attributeBindings&&(e.attributeBindings=
|
||
null,g=!0),g&&(c=Ember.$.extend({},c),delete c.id,delete
|
||
c["class"],delete c.classBinding);var h;for(var i in
|
||
c){if(!c.hasOwnProperty(i))continue;Ember.IS_BINDING
|
||
.test(i)&&typeof c[i]=="string"&&(h=this.contextualizeBindingPath
|
||
(c[i],d),h&&(c[i]=h))}if(e.classNameBindings)for(var j in
|
||
e.classNameBindings){var k=e.classNameBindings[j];if(typeof
|
||
k=="string"){var l=Ember.View._parsePropertyPath(k)
|
||
;h=this.contextualizeBindingPath(l.path,d),h&&(e.classNameBindings
|
||
[j]=h+l.classNames)}}return e.bindingContext=b,Ember
|
||
.$.extend(c,e)},contextualizeBindingPath:function(a
|
||
,b){var c=Ember.Handlebars.normalizePath(null,a,b);
|
||
return c.isKeyword?"templateData.keywords."+a:Ember
|
||
.isGlobalPath(a)?null:a==="this"?"bindingContext":"bindingContext."+
|
||
a},helper:function(a,b,c){var f=c.inverse,g=c.data,
|
||
h=g.view,i=c.fn,j=c.hash,k;"string"==typeof b?k=d.getPath
|
||
(a,b,c):k=b;var l=this.propertiesFromHTMLOptions(c,
|
||
a),m=g.view;l.templateData=c.data,i&&(l.template=i)
|
||
,e&&!k.proto().controller&&!k.proto().controllerBinding&&!
|
||
l.controller&&!l.controllerBinding&&(l._context=a),
|
||
m.appendChild(k,l)}}),d.registerHelper("view",function(
|
||
a,b){return a&&a.data&&a.data.isRenderData&&(b=a,a="Ember.View"
|
||
),d.ViewHelper.helper(this,a,b)})}(),function(){var a=
|
||
Ember.get,b=Ember.Handlebars.getPath,c=Ember.String
|
||
.fmt;Ember.Handlebars.registerHelper("collection",function(
|
||
c,d){c&&c.data&&c.data.isRenderData&&(d=c,c=undefined
|
||
);var e=d.fn,f=d.data,g=d.inverse,h;h=c?b(this,c,d)
|
||
:Ember.CollectionView;var i=d.hash,j={},k,l,m=i.itemViewClass
|
||
,n=h.proto();delete i.itemViewClass,l=m?b(n,m,d):n.
|
||
itemViewClass;for(var o in i)i.hasOwnProperty(o)&&(
|
||
k=o.match(/^item(.)(.*)$/),k&&(j[k[1].toLowerCase()+
|
||
k[2]]=i[o],delete i[o]));var p=i.tagName||n.tagName
|
||
;e&&(j.template=e,delete d.fn);var q;g&&g!==Handlebars
|
||
.VM.noop?(q=a(n,"emptyViewClass"),q=q.extend({template
|
||
:g,tagName:j.tagName})):i.emptyViewClass&&(q=b(this
|
||
,i.emptyViewClass,d)),i.emptyView=q,i.eachHelper==="each"&&
|
||
(j._context=Ember.computed(function(){return a(this
|
||
,"content")}).property("content"),delete i.eachHelper
|
||
);var r=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions
|
||
({data:f,hash:j},this);return i.itemViewClass=l.extend
|
||
(r),Ember.Handlebars.helpers.view.call(this,h,d)})}
|
||
(),function(){var a=Ember.Handlebars.getPath;Ember.
|
||
Handlebars.registerHelper("unbound",function(b,c){var d=
|
||
c.contexts&&c.contexts[0]||this;return a(d,b,c)})}(
|
||
),function(){var a=Ember.Handlebars.getPath,b=Ember
|
||
.Handlebars.normalizePath;Ember.Handlebars.registerHelper
|
||
("log",function(c,d){var e=d.contexts&&d.contexts[0
|
||
]||this,f=b(e,c,d.data),g=f.root,h=f.path,i=h==="this"?
|
||
g:a(g,h,d);Ember.Logger.log(i)}),Ember.Handlebars.registerHelper
|
||
("debugger",function(){debugger})}(),function(){var a=
|
||
Ember.get,b=Ember.set;Ember.Handlebars.EachView=Ember
|
||
.CollectionView.extend(Ember._Metamorph,{itemViewClass
|
||
:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView
|
||
,createChildView:function(c,d){c=this._super(c,d);var e=
|
||
a(this,"keyword");if(e){var f=a(c,"templateData");f=
|
||
Ember.copy(f),f.keywords=c.cloneKeywords(),b(c,"templateData"
|
||
,f);var g=a(c,"content");f.keywords[e]=g}return c}}
|
||
),Ember.Handlebars.registerHelper("each",function(a
|
||
,b){if(arguments.length===4){var c=arguments[0];b=arguments
|
||
[3],a=arguments[2],a===""&&(a="this"),b.hash.keyword=
|
||
c}else b.hash.eachHelper="each";return b.hash.contentBinding=
|
||
a,Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView"
|
||
,b)})}(),function(){Ember.Handlebars.registerHelper
|
||
("template",function(a,b){var c=Ember.TEMPLATES[a];
|
||
Ember.TEMPLATES[a](this,{data:b.data})})}(),function(
|
||
){var a=Ember.Handlebars,b=a.getPath,c=Ember.get,d=
|
||
Array.prototype.slice,e=a.ActionHelper={registeredActions
|
||
:{}};e.registerAction=function(a,b){var c=(++Ember.
|
||
$.uuid).toString();return e.registeredActions[c]={eventName
|
||
:b.eventName,handler:function(c){var d=c.shiftKey||
|
||
c.metaKey||c.altKey||c.ctrlKey,e=c.which>1,f=d||e;if(
|
||
b.link&&f)return;c.preventDefault(),c.view=b.view,b
|
||
.hasOwnProperty("context")&&(c.context=b.context),b
|
||
.hasOwnProperty("contexts")&&(c.contexts=b.contexts
|
||
);var g=b.target;return g.isState&&typeof g.send=="function"?
|
||
g.send(a,c):g[a].call(g,c)}},b.view.on("willRerender"
|
||
,function(){delete e.registeredActions[c]}),c},a.registerHelper
|
||
("action",function(f){var g=arguments[arguments.length-1
|
||
],h=d.call(arguments,1,-1),i=g.hash,j=g.data.view,k
|
||
,l,m,n={eventName:i.on||"click"};n.view=j=c(j,"concreteView"
|
||
);if(i.target)k=b(this,i.target,g);else if(l=g.data
|
||
.keywords.controller)k=c(l,"target");n.target=k=k||
|
||
j,h.length&&(n.contexts=h=Ember.EnumerableUtils.map
|
||
(h,function(a){return b(this,a,g)},this),n.context=
|
||
h[0]);var o=[],p;i.href&&k.urlForEvent&&(p=k.urlForEvent
|
||
.apply(k,[f].concat(h)),o.push('href="'+p+'"'),n.link=!0
|
||
);var q=e.registerAction(f,n);return o.push('data-ember-action="'+
|
||
q+'"'),new a.SafeString(o.join(" "))})}(),function(
|
||
){var a=Ember.get,b=Ember.set;Ember.Handlebars.registerHelper
|
||
("yield",function(b){var c=b.data.view,d;while(c&&!
|
||
a(c,"layout"))c=a(c,"parentView");d=a(c,"template")
|
||
,d&&d(this,b)})}(),function(){Ember.Handlebars.OutletView=
|
||
Ember.ContainerView.extend(Ember._Metamorph),Ember.
|
||
Handlebars.registerHelper("outlet",function(a,b){return a&&
|
||
a.data&&a.data.isRenderData&&(b=a,a="view"),b.hash.
|
||
currentViewBinding="controller."+a,Ember.Handlebars
|
||
.helpers.view.call(this,Ember.Handlebars.OutletView
|
||
,b)})}(),function(){}(),function(){}(),function(){var a=
|
||
Ember.set,b=Ember.get;Ember.Checkbox=Ember.View.extend
|
||
({classNames:["ember-checkbox"],tagName:"input",attributeBindings
|
||
:["type","checked","disabled","tabindex"],type:"checkbox"
|
||
,checked:!1,disabled:!1,init:function(){this._super
|
||
(),this.on("change",this,this._updateElementValue)}
|
||
,_updateElementValue:function(){a(this,"checked",this
|
||
.$().prop("checked"))}})}(),function(){var a=Ember.
|
||
get,b=Ember.set;Ember.TextSupport=Ember.Mixin.create
|
||
({value:"",attributeBindings:["placeholder","disabled"
|
||
,"maxlength","tabindex"],placeholder:null,disabled:!1
|
||
,maxlength:null,insertNewline:Ember.K,cancel:Ember.
|
||
K,init:function(){this._super(),this.on("focusOut",
|
||
this,this._elementValueDidChange),this.on("change",
|
||
this,this._elementValueDidChange),this.on("keyUp",this
|
||
,this.interpretKeyEvents)},interpretKeyEvents:function(
|
||
a){var b=Ember.TextSupport.KEY_EVENTS,c=b[a.keyCode
|
||
];this._elementValueDidChange();if(c)return this[c]
|
||
(a)},_elementValueDidChange:function(){b(this,"value"
|
||
,this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13
|
||
:"insertNewline",27:"cancel"}}(),function(){var a=Ember
|
||
.get,b=Ember.set;Ember.TextField=Ember.View.extend(
|
||
Ember.TextSupport,{classNames:["ember-text-field"],
|
||
tagName:"input",attributeBindings:["type","value","size"
|
||
],value:"",type:"text",size:null})}(),function(){var a=
|
||
Ember.get,b=Ember.set;Ember.Button=Ember.View.extend
|
||
(Ember.TargetActionSupport,{classNames:["ember-button"
|
||
],classNameBindings:["isActive"],tagName:"button",propagateEvents
|
||
:!1,attributeBindings:["type","disabled","href","tabindex"
|
||
],targetObject:Ember.computed(function(){var b=a(this
|
||
,"target"),c=a(this,"context"),d=a(this,"templateData"
|
||
);return typeof b!="string"?b:Ember.Handlebars.getPath
|
||
(c,b,{data:d})}).property("target").cacheable(),type
|
||
:Ember.computed(function(a,b){var c=this.get("tagName"
|
||
);b!==undefined&&(this._type=b);if(this._type!==undefined
|
||
)return this._type;if(c==="input"||c==="button")return"button"
|
||
}).property("tagName").cacheable(),disabled:!1,href
|
||
:Ember.computed(function(){return this.get("tagName"
|
||
)==="a"?"#":null}).property("tagName").cacheable(),
|
||
mouseDown:function(){return a(this,"disabled")||(b(
|
||
this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0
|
||
),a(this,"propagateEvents")},mouseLeave:function(){
|
||
this._mouseDown&&(b(this,"isActive",!1),this._mouseEntered=!1
|
||
)},mouseEnter:function(){this._mouseDown&&(b(this,"isActive"
|
||
,!0),this._mouseEntered=!0)},mouseUp:function(c){return a
|
||
(this,"isActive")&&(this.triggerAction(),b(this,"isActive"
|
||
,!1)),this._mouseDown=!1,this._mouseEntered=!1,a(this
|
||
,"propagateEvents")},keyDown:function(a){(a.keyCode===13||
|
||
a.keyCode===32)&&this.mouseDown()},keyUp:function(a
|
||
){(a.keyCode===13||a.keyCode===32)&&this.mouseUp()}
|
||
,touchStart:function(a){return this.mouseDown(a)},touchEnd
|
||
:function(a){return this.mouseUp(a)},init:function(
|
||
){this._super()}})}(),function(){var a=Ember.get,b=
|
||
Ember.set;Ember.TextArea=Ember.View.extend(Ember.TextSupport
|
||
,{classNames:["ember-text-area"],tagName:"textarea"
|
||
,attributeBindings:["rows","cols"],rows:null,cols:null
|
||
,_updateElementValue:Ember.observer(function(){var b=
|
||
a(this,"value"),c=this.$();c&&b!==c.val()&&c.val(b)
|
||
},"value"),init:function(){this._super(),this.on("didInsertElement"
|
||
,this,this._updateElementValue)}})}(),function(){Ember
|
||
.TabContainerView=Ember.View.extend({init:function(
|
||
){this._super()}})}(),function(){var a=Ember.get;Ember
|
||
.TabPaneView=Ember.View.extend({tabsContainer:Ember
|
||
.computed(function(){return this.nearestInstanceOf(
|
||
Ember.TabContainerView)}).property().volatile(),isVisible
|
||
:Ember.computed(function(){return a(this,"viewName"
|
||
)===a(this,"tabsContainer.currentView")}).property("tabsContainer.currentView"
|
||
).volatile(),init:function(){this._super()}})}(),function(
|
||
){var a=Ember.get,b=Ember.setPath;Ember.TabView=Ember
|
||
.View.extend({tabsContainer:Ember.computed(function(
|
||
){return this.nearestInstanceOf(Ember.TabContainerView
|
||
)}).property().volatile(),mouseUp:function(){b(this
|
||
,"tabsContainer.currentView",a(this,"value"))},init
|
||
:function(){this._super()}})}(),function(){}(),function(
|
||
){var a=Ember.set,b=Ember.get,c=Ember.EnumerableUtils
|
||
.indexOf,d=Ember.EnumerableUtils.indexesOf;Ember.Select=
|
||
Ember.View.extend({tagName:"select",classNames:["ember-select"
|
||
],defaultTemplate:Ember.Handlebars.compile('{{#if view.prompt}}<option value>{{view.prompt}}</option>{{/if}}{{#each view.content}}{{view Ember.SelectOption contentBinding="this"}}{{/each}}'
|
||
),attributeBindings:["multiple","tabindex"],multiple
|
||
:!1,content:null,selection:null,value:Ember.computed
|
||
(function(a,c){if(arguments.length===2)return c;var d=
|
||
b(this,"optionValuePath").replace(/^content\.?/,"")
|
||
;return d?b(this,"selection."+d):b(this,"selection"
|
||
)}).property("selection").cacheable(),prompt:null,optionLabelPath
|
||
:"content",optionValuePath:"content",_change:function(
|
||
){b(this,"multiple")?this._changeMultiple():this._changeSingle
|
||
()},selectionDidChange:Ember.observer(function(){var c=
|
||
b(this,"selection"),d=Ember.isArray(c);if(b(this,"multiple"
|
||
)){if(!d){a(this,"selection",Ember.A([c]));return}this
|
||
._selectionDidChangeMultiple()}else this._selectionDidChangeSingle
|
||
()},"selection"),valueDidChange:Ember.observer(function(
|
||
){var a=b(this,"content"),c=b(this,"value"),d=b(this
|
||
,"optionValuePath").replace(/^content\.?/,""),e=d?b
|
||
(this,"selection."+d):b(this,"selection"),f;c!==e&&
|
||
(f=a.find(function(a){return c===(d?b(a,d):a)}),this
|
||
.set("selection",f))},"value"),_triggerChange:function(
|
||
){var a=b(this,"selection"),c=b(this,"value");a&&this
|
||
.selectionDidChange(),c&&this.valueDidChange(),this
|
||
._change()},_changeSingle:function(){var c=this.$()
|
||
[0].selectedIndex,d=b(this,"content"),e=b(this,"prompt"
|
||
);if(!d)return;if(e&&c===0){a(this,"selection",null
|
||
);return}e&&(c-=1),a(this,"selection",d.objectAt(c)
|
||
)},_changeMultiple:function(){var c=this.$("option:selected"
|
||
),d=b(this,"prompt"),e=d?1:0,f=b(this,"content");if(!
|
||
f)return;if(c){var g=c.map(function(){return this.index-
|
||
e}).toArray();a(this,"selection",f.objectsAt(g))}},
|
||
_selectionDidChangeSingle:function(){var a=this.get
|
||
("element");if(!a)return;var d=b(this,"content"),e=
|
||
b(this,"selection"),f=d?c(d,e):-1,g=b(this,"prompt"
|
||
);g&&(f+=1),a&&(a.selectedIndex=f)},_selectionDidChangeMultiple
|
||
:function(){var a=b(this,"content"),e=b(this,"selection"
|
||
),f=a?d(a,e):[-1],g=b(this,"prompt"),h=g?1:0,i=this
|
||
.$("option"),j;i&&i.each(function(){j=this.index>-1?
|
||
this.index-h:-1,this.selected=c(f,j)>-1})},init:function(
|
||
){this._super(),this.on("didInsertElement",this,this
|
||
._triggerChange),this.on("change",this,this._change
|
||
)}}),Ember.SelectOption=Ember.View.extend({tagName:"option"
|
||
,attributeBindings:["value","selected"],defaultTemplate
|
||
:function(a,b){b={data:b.data,hash:{}},Ember.Handlebars
|
||
.helpers.bind.call(a,"view.label",b)},init:function(
|
||
){this.labelPathDidChange(),this.valuePathDidChange
|
||
(),this._super()},selected:Ember.computed(function(
|
||
){var a=b(this,"content"),d=b(this,"parentView.selection"
|
||
);return b(this,"parentView.multiple")?d&&c(d,a.valueOf
|
||
())>-1:a==d}).property("content","parentView.selection"
|
||
).volatile(),labelPathDidChange:Ember.observer(function(
|
||
){var a=b(this,"parentView.optionLabelPath");if(!a)
|
||
return;Ember.defineProperty(this,"label",Ember.computed
|
||
(function(){return b(this,a)}).property(a).cacheable
|
||
())},"parentView.optionLabelPath"),valuePathDidChange
|
||
:Ember.observer(function(){var a=b(this,"parentView.optionValuePath"
|
||
);if(!a)return;Ember.defineProperty(this,"value",Ember
|
||
.computed(function(){return b(this,a)}).property(a)
|
||
.cacheable())},"parentView.optionValuePath")})}(),function(
|
||
){}(),function(){function a(){Ember.Handlebars.bootstrap
|
||
(Ember.$(document))}Ember.Handlebars.bootstrap=function(
|
||
a){var b='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]'
|
||
;Ember.$(b,a).each(function(){var a=Ember.$(this),b=
|
||
a.attr("type"),c=a.attr("type")==="text/x-raw-handlebars"?
|
||
Ember.$.proxy(Handlebars.compile,Handlebars):Ember.
|
||
$.proxy(Ember.Handlebars.compile,Ember.Handlebars),
|
||
d=a.attr("data-template-name")||a.attr("id")||"application"
|
||
,e=c(a.html());Ember.TEMPLATES[d]=e,a.remove()})},Ember
|
||
.onLoad("application",a)}(),function(){}(),function(
|
||
){}(),ansiparse=function(a){var b=null,c=null,d="",
|
||
e=[],f=[],g={};for(var h=0;h<a.length;h++){if(b!=null
|
||
){b==""&&a[h]=="["?(d&&(g.text=d,f.push(g),g={},d=""
|
||
),b=null,c=""):(d+=b+a[h],b=null);continue}if(c!=null
|
||
){a[h]==";"?(e.push(c),c=""):a[h]=="m"?(e.push(c),c=
|
||
null,d="",e.forEach(function(a){ansiparse.foregroundColors
|
||
[a]?g.foreground=ansiparse.foregroundColors[a]:ansiparse
|
||
.backgroundColors[a]?g.background=ansiparse.backgroundColors
|
||
[a]:a==39?delete g.foreground:a==49?delete g.background
|
||
:ansiparse.styles[a]?g[ansiparse.styles[a]]=!0:a==22?
|
||
g.bold=!1:a==23?g.italic=!1:a==24&&(g.underline=!1)
|
||
}),e=[]):c+=a[h];continue}a[h]==""?b=a[h]:d+=a[h]}
|
||
return d&&(g.text=d+(b?b:""),f.push(g)),f},ansiparse
|
||
.foregroundColors={30:"black",31:"red",32:"green",33
|
||
:"yellow",34:"blue",35:"magenta",36:"cyan",37:"white"
|
||
,90:"grey"},ansiparse.backgroundColors={40:"black",41
|
||
:"red",42:"green",43:"yellow",44:"blue",45:"magenta"
|
||
,46:"cyan",47:"white"},ansiparse.styles={1:"bold",3
|
||
:"italic",4:"underline"},typeof module=="object"&&typeof
|
||
window=="undefined"&&(module.exports=ansiparse),function(
|
||
){window.DS=Ember.Namespace.create({CURRENT_API_REVISION
|
||
:4})}(),function(){var a=Ember.get,b=Ember.set;DS.RecordArray=
|
||
Ember.ArrayProxy.extend({type:null,content:null,store
|
||
:null,objectAtContent:function(b){var c=a(this,"content"
|
||
),d=c.objectAt(b),e=a(this,"store");if(d!==undefined
|
||
)return e.findByClientId(a(this,"type"),d)}})}(),function(
|
||
){var a=Ember.get;DS.FilteredRecordArray=DS.RecordArray
|
||
.extend({filterFunction:null,replace:function(){var b=
|
||
a(this,"type").toString();throw new Error("The result of a client-side filter (on "+
|
||
b+") is immutable.")},updateFilter:Ember.observer(function(
|
||
){var b=a(this,"store");b.updateRecordArrayFilter(this
|
||
,a(this,"type"),a(this,"filterFunction"))},"filterFunction"
|
||
)})}(),function(){var a=Ember.get,b=Ember.set;DS.AdapterPopulatedRecordArray=
|
||
DS.RecordArray.extend({query:null,isLoaded:!1,replace
|
||
:function(){var b=a(this,"type").toString();throw new
|
||
Error("The result of a server query (on "+b+") is immutable."
|
||
)},load:function(c){var d=a(this,"store"),e=a(this,"type"
|
||
),f=d.loadMany(e,c).clientIds;this.beginPropertyChanges
|
||
(),b(this,"content",Ember.A(f)),b(this,"isLoaded",!0
|
||
),this.endPropertyChanges()}})}(),function(){var a=
|
||
Ember.get,b=Ember.set,c=Ember.guidFor,d=function(){
|
||
this.hash={},this.list=[]};d.prototype={add:function(
|
||
a){var b=this.hash,d=c(a);if(b.hasOwnProperty(d))return;
|
||
b[d]=!0,this.list.push(a)},remove:function(a){var b=
|
||
this.hash,d=c(a);if(!b.hasOwnProperty(d))return;delete
|
||
b[d];var e=this.list,f=Ember.EnumerableUtils.indexOf
|
||
(this,a);e.splice(f,1)},isEmpty:function(){return this
|
||
.list.length===0}};var e=Ember.State.extend({recordWasAdded
|
||
:function(b,c){var d=b.dirty,e;d.add(c),e=function(
|
||
){a(c,"isDirty")||(c.removeObserver("isDirty",e),b.
|
||
send("childWasSaved",c))},c.addObserver("isDirty",e
|
||
)},recordWasRemoved:function(b,c){var d=b.dirty,e;d
|
||
.add(c),e=function(){c.removeObserver("isDirty",e),
|
||
a(c,"isDirty")||b.send("childWasSaved",c)},c.addObserver
|
||
("isDirty",e)}}),f={loading:Ember.State.create({isLoaded
|
||
:!1,isDirty:!1,loadedRecords:function(a,b){a.decrement
|
||
(b)},becameLoaded:function(a){a.transitionTo("clean"
|
||
)}}),clean:e.create({isLoaded:!0,isDirty:!1,recordWasAdded
|
||
:function(a,b){this._super(a,b),a.goToState("dirty"
|
||
)},update:function(a,c){var d=a.manyArray;b(d,"content"
|
||
,c)}}),dirty:e.create({isLoaded:!0,isDirty:!0,childWasSaved
|
||
:function(a,b){var c=a.dirty;c.remove(b),c.isEmpty(
|
||
)&&a.send("arrayBecameSaved")},arrayBecameSaved:function(
|
||
a){a.goToState("clean")}})};DS.ManyArrayStateManager=
|
||
Ember.StateManager.extend({manyArray:null,initialState
|
||
:"loading",states:f,counter:0,init:function(){this.
|
||
_super(),this.dirty=new d,this.counter=a(this,"manyArray.length"
|
||
)},decrement:function(a){var b=this.counter=this.counter-
|
||
a;b===0&&this.send("becameLoaded")}})}(),function()
|
||
{var a=Ember.get,b=Ember.set;DS.ManyArray=DS.RecordArray
|
||
.extend({init:function(){return b(this,"stateManager"
|
||
,DS.ManyArrayStateManager.create({manyArray:this}))
|
||
,this._super()},parentRecord:null,isDirty:Ember.computed
|
||
(function(){return a(this,"stateManager.currentState.isDirty"
|
||
)}).property("stateManager.currentState").cacheable
|
||
(),isLoaded:Ember.computed(function(){return a(this
|
||
,"stateManager.currentState.isLoaded")}).property("stateManager.currentState"
|
||
).cacheable(),send:function(a,b){this.get("stateManager"
|
||
).send(a,b)},fetch:function(){var b=a(this,"content"
|
||
),c=a(this,"store"),d=a(this,"type");c.fetchUnloadedClientIds
|
||
(d,b)},replaceContent:function(b,c,d){var e=a(this,"parentRecord"
|
||
),f=e&&!a(e,"id"),g=a(this,"stateManager");d=d.map(
|
||
function(a){f&&a.send("waitingOn",e);var b=this.assignInverse
|
||
(a,e);return a.get("transaction").relationshipBecameDirty
|
||
(a,b,e),g.send("recordWasAdded",a),a.get("clientId"
|
||
)},this);var h=this.store,i=b+c,j;for(var k=b;k<i;k++
|
||
){j=this.objectAt(k);var l=this.assignInverse(j,e,!0
|
||
);j.get("transaction").relationshipBecameDirty(j,e,
|
||
null),f&&j.send("doneWaitingOn",e),g.send("recordWasAdded"
|
||
,j)}this._super(b,c,d)},assignInverse:function(c,d,
|
||
e){var f=a(c.constructor,"associations"),g=f.get(d.
|
||
constructor),h,i,j;if(!g)return;for(var k=0,l=g.length
|
||
;k<l;k++){h=g[k];if(h.kind==="belongsTo"){i=h;break}
|
||
}if(i)return j=a(c,i.name),b(c,i.name,e?null:d),j},
|
||
createRecord:function(b,c){var d=a(this,"parentRecord"
|
||
),e=a(d,"store"),f=a(this,"type"),g;return c=c||a(d
|
||
,"transaction"),g=e.createRecord.call(e,f,b,c),this
|
||
.pushObject(g),g}})}(),function(){}(),function(){var a=
|
||
Ember.get,b=Ember.set,c=Ember.String.fmt,d=Ember.EnumerableUtils
|
||
.removeObject;DS.Transaction=Ember.Object.extend({init
|
||
:function(){b(this,"buckets",{clean:Ember.Map.create
|
||
(),created:Ember.Map.create(),updated:Ember.Map.create
|
||
(),deleted:Ember.Map.create(),inflight:Ember.Map.create
|
||
()}),this.dirtyRelationships={byChild:Ember.Map.create
|
||
(),byNewParent:Ember.Map.create(),byOldParent:Ember
|
||
.Map.create()}},createRecord:function(b,c){var d=a(
|
||
this,"store");return d.createRecord(b,c,this)},add:
|
||
function(b){var c=a(b,"transaction"),d=a(this,"store.defaultTransaction"
|
||
);this.adoptRecord(b)},commit:function(){var b=this
|
||
,d;d=function(c,d,e){var f=b.bucketForType(c);f.forEach
|
||
(function(b,c){if(c.isEmpty())return;var f=[];c.forEach
|
||
(function(b){b.send("willCommit"),a(b,"isPending")===!1&&
|
||
f.push(b)}),d.call(e,b,f)})};var e={updated:{eachType
|
||
:function(a,b){d("updated",a,b)}},created:{eachType
|
||
:function(a,b){d("created",a,b)}},deleted:{eachType
|
||
:function(a,b){d("deleted",a,b)}}},f=a(this,"store"
|
||
),g=a(f,"_adapter");this.removeCleanRecords();if(g&&
|
||
g.commit)g.commit(f,e);else throw c("Adapter is either null or does not implement `commit` method"
|
||
,this)},rollback:function(){var b=a(this,"store"),c
|
||
;["created","updated","deleted","inflight"].forEach
|
||
(function(a){c=this.bucketForType(a),c.forEach(function(
|
||
a,b){b.forEach(function(a){a.send("rollback")})})},
|
||
this),this.removeCleanRecords()},remove:function(b)
|
||
{var c=a(this,"store.defaultTransaction");c.adoptRecord
|
||
(b)},removeCleanRecords:function(){var a=this.bucketForType
|
||
("clean"),b=this;a.forEach(function(a,c){c.forEach(
|
||
function(a){b.remove(a)})})},bucketForType:function(
|
||
b){var c=a(this,"buckets");return a(c,b)},adoptRecord
|
||
:function(c){var d=a(c,"transaction");d&&d.removeFromBucket
|
||
("clean",c),this.addToBucket("clean",c),b(c,"transaction"
|
||
,this)},addToBucket:function(a,b){var c=this.bucketForType
|
||
(a),d=b.constructor,e=c.get(d);e||(e=Ember.OrderedSet
|
||
.create(),c.set(d,e)),e.add(b)},removeFromBucket:function(
|
||
a,b){var c=this.bucketForType(a),d=b.constructor,e=
|
||
c.get(d);e.remove(b)},relationshipBecameDirty:function(
|
||
a,b,c){var d=this.dirtyRelationships,e,f=d.byChild.
|
||
get(a),g,h=!0;if(f)for(var i=0,j=f.length;i<j;i++)e=
|
||
f[i],e.newParent===b&&(b=e.oldParent,this.removeRelationship
|
||
(e),e.oldParent===c&&(h=!1));e={child:a,oldParent:b
|
||
,newParent:c},h&&(this.addRelationshipTo("byChild",
|
||
a,e),this.addRelationshipTo("byOldParent",b,e),this
|
||
.addRelationshipTo("byNewParent",c,e))},removeRelationship
|
||
:function(a){var b=this.dirtyRelationships;d(b.byOldParent
|
||
.get(a.oldParent),a),d(b.byNewParent.get(a.newParent
|
||
),a),d(b.byChild.get(a.child),a)},addRelationshipTo
|
||
:function(a,b,c){var d=this.dirtyRelationships[a],e=
|
||
d.get(b);e?e.push(c):(e=[c],d.set(b,e))},recordBecameDirty
|
||
:function(a,b){this.removeFromBucket("clean",b),this
|
||
.addToBucket(a,b)},recordBecameInFlight:function(a,
|
||
b){this.removeFromBucket(a,b),this.addToBucket("inflight"
|
||
,b)},recordBecameClean:function(a,b){this.removeFromBucket
|
||
(a,b),this.remove(b)}})}(),function(){var a=Ember.get
|
||
,b=Ember.set,c=Ember.String.fmt,d={get:function(a){
|
||
return this.savedData[a]}},e="unloaded",f="loading"
|
||
;DS.Store=Ember.Object.extend({init:function(){var c=
|
||
a(this,"revision");if(c!==DS.CURRENT_API_REVISION&&!
|
||
Ember.ENV.TESTING)throw new Error("Error: The Ember Data library has had breaking API changes since the last time you updated the library. Please review the list of breaking changes at https://github.com/emberjs/data/blob/master/BREAKING_CHANGES.md, then update your store's `revision` property to "+
|
||
DS.CURRENT_API_REVISION);return(!a(DS,"defaultStore"
|
||
)||a(this,"isDefaultStore"))&&b(DS,"defaultStore",this
|
||
),this.typeMaps={},this.recordCache=[],this.clientIdToId=
|
||
{},this.recordArraysByClientId={},this.loadingRecordArrays=
|
||
{},b(this,"defaultTransaction",this.transaction()),
|
||
this._super()},transaction:function(){return DS.Transaction
|
||
.create({store:this})},dataForRecord:function(b){var c=
|
||
b.constructor,d=a(b,"clientId"),e=this.typeMapFor(c
|
||
);return e.cidToHash[d]},adapter:null,_adapter:Ember
|
||
.computed(function(){var b=a(this,"adapter");return typeof
|
||
b=="string"?a(this,b,!1)||a(window,b):b}).property("adapter"
|
||
).cacheable(),clientIdCounter:1,createRecord:function(
|
||
c,d,e){d=d||{};var f=c._create({store:this});e=e||a
|
||
(this,"defaultTransaction"),e.adoptRecord(f);var g=
|
||
a(f,"primaryKey"),h=d[g]||null,i;Ember.none(h)&&(i=
|
||
a(this,"adapter"),i&&i.generateIdForRecord&&(h=i.generateIdForRecord
|
||
(this,f),d.id=h));var j={},k;k=this.pushHash(j,h,c)
|
||
,f.send("didChangeData");var l=a(this,"recordCache"
|
||
);return b(f,"clientId",k),l[k]=f,f.setProperties(d
|
||
),this.updateRecordArrays(c,k,a(f,"data")),f},deleteRecord
|
||
:function(a){a.send("deleteRecord")},find:function(
|
||
a,b,c){if(b===undefined)return this.findAll(a);if(c!==
|
||
undefined)return this.findMany(a,b,c);if(Ember.typeOf
|
||
(b)==="object")return this.findQuery(a,b);if(Ember.
|
||
isArray(b))return this.findMany(a,b);var d=this.typeMapFor
|
||
(a).idToCid[b];return this.findByClientId(a,d,b)},findByClientId
|
||
:function(b,d,e){var g=a(this,"recordCache"),h,i;if(
|
||
d!==undefined)i=g[d],i||(i=this.materializeRecord(b
|
||
,d),h=this.typeMapFor(b).cidToHash,typeof h[d]=="object"&&
|
||
i.send("didChangeData"));else{d=this.pushHash(f,e,b
|
||
),i=this.materializeRecord(b,d,e);var j=a(this,"_adapter"
|
||
);if(j&&j.find)j.find(this,b,e);else throw c("Adapter is either null or does not implement `find` method"
|
||
,this)}return i},neededClientIds:function(a,b){var c=
|
||
[],d=this.typeMapFor(a),g=d.cidToHash,h;for(var i=0
|
||
,j=b.length;i<j;i++)h=b[i],g[h]===e&&(c.push(h),g[h
|
||
]=f);return c},fetchUnloadedClientIds:function(a,b)
|
||
{var c=this.neededClientIds(a,b);this.fetchMany(a,c
|
||
)},fetchMany:function(b,d){var e=this.clientIdToId,
|
||
f=Ember.EnumerableUtils.map(d,function(a){return e[
|
||
a]});if(!f.length)return;var g=a(this,"_adapter");if(
|
||
g&&g.findMany)g.findMany(this,b,f);else throw c("Adapter is either null or does not implement `findMany` method"
|
||
,this)},findMany:function(a,b){var c=this.clientIdsForIds
|
||
(a,b),d=this.neededClientIds(a,c),e=this.createManyArray
|
||
(a,Ember.A(c)),f=c.length-d.length,g=this.loadingRecordArrays
|
||
,h,i,j;e.send("loadedRecords",f);if(d.length){for(i=0
|
||
,j=d.length;i<j;i++)h=d[i],g[h]?g[h].push(e):this.loadingRecordArrays
|
||
[h]=[e];this.fetchMany(a,d)}return e},findQuery:function(
|
||
b,d){var e=DS.AdapterPopulatedRecordArray.create({type
|
||
:b,content:Ember.A([]),store:this}),f=a(this,"_adapter"
|
||
);if(f&&f.findQuery)f.findQuery(this,b,d,e);else throw c
|
||
("Adapter is either null or does not implement `findQuery` method"
|
||
,this);return e},findAll:function(b){var c=this.typeMapFor
|
||
(b),d=c.findAllCache;if(d)return d;var e=DS.RecordArray
|
||
.create({type:b,content:Ember.A([]),store:this});this
|
||
.registerRecordArray(e,b);var f=a(this,"_adapter");
|
||
return f&&f.findAll&&f.findAll(this,b),c.findAllCache=
|
||
e,e},filter:function(a,b,c){arguments.length===3?this
|
||
.findQuery(a,b):arguments.length===2&&(c=b);var d=DS
|
||
.FilteredRecordArray.create({type:a,content:Ember.A
|
||
([]),store:this,filterFunction:c});return this.registerRecordArray
|
||
(d,a,c),d},recordIsLoaded:function(a,b){return!Ember
|
||
.none(this.typeMapFor(a).idToCid[b])},hashWasUpdated
|
||
:function(b,c,d){if(a(d,"isDeleted"))return;this.updateRecordArrays
|
||
(b,c,a(d,"data"))},commit:function(){var c=a(this,"defaultTransaction"
|
||
);b(this,"defaultTransaction",this.transaction()),c
|
||
.commit()},didUpdateRecords:function(a,b){b?a.forEach
|
||
(function(a,c){this.didUpdateRecord(a,b[c])},this):
|
||
a.forEach(function(a){this.didUpdateRecord(a)},this
|
||
)},didUpdateRecord:function(b,c){if(c){var d=a(b,"clientId"
|
||
),e=this.typeMapFor(b.constructor).cidToHash;e[d]=c
|
||
,b.send("didChangeData"),b.hashWasUpdated()}else b.
|
||
send("didSaveData");b.send("didCommit")},didDeleteRecords
|
||
:function(a){a.forEach(function(a){a.send("didCommit"
|
||
)})},didDeleteRecord:function(a){a.send("didCommit"
|
||
)},_didCreateRecord:function(b,c,d,e,f){var g=a(b,"data"
|
||
),h,i;c?(d.cidToHash[e]=c,b.beginPropertyChanges(),
|
||
b.send("didChangeData"),g.adapterDidUpdate(),b.hashWasUpdated
|
||
(),b.endPropertyChanges(),h=c[f],d.idToCid[h]=e,this
|
||
.clientIdToId[e]=h):g.commit(),b.send("didCommit")}
|
||
,didCreateRecords:function(b,c,d){var e=b.proto().primaryKey
|
||
,f=this.typeMapFor(b),g;for(var h=0,i=a(c,"length")
|
||
;h<i;h++){var j=c[h],k=d[h];g=a(j,"clientId"),this.
|
||
_didCreateRecord(j,k,f,g,e)}},didCreateRecord:function(
|
||
b,c){var d=b.constructor,e=this.typeMapFor(d),f,g;g=
|
||
d.proto().primaryKey,!c,f=a(b,"clientId"),this._didCreateRecord
|
||
(b,c,e,f,g)},recordWasInvalid:function(a,b){a.send("becameInvalid"
|
||
,b)},registerRecordArray:function(a,b,c){var d=this
|
||
.typeMapFor(b).recordArrays;d.push(a),this.updateRecordArrayFilter
|
||
(a,b,c)},createManyArray:function(a,b){var c=DS.ManyArray
|
||
.create({type:a,content:b,store:this});return b.forEach
|
||
(function(a){var b=this.recordArraysForClientId(a);
|
||
b.add(c)},this),c},updateRecordArrayFilter:function(
|
||
b,c,e){var f=this.typeMapFor(c),g=f.cidToHash,h=f.clientIds
|
||
,i,j,k,l=a(this,"recordCache"),m,n;for(var o=0,p=h.
|
||
length;o<p;o++)i=h[o],m=!1,j=g[i],typeof j=="object"&&
|
||
((n=l[i])?a(n,"isDeleted")||(k=a(n,"data"),m=!0):(d
|
||
.savedData=j,k=d,m=!0),m&&this.updateRecordArray(b,
|
||
e,c,i,k))},updateRecordArrays:function(b,c,d){var e=
|
||
this.typeMapFor(b).recordArrays,f;e.forEach(function(
|
||
e){f=a(e,"filterFunction"),this.updateRecordArray(e
|
||
,f,b,c,d)},this);var g=this.loadingRecordArrays[c],
|
||
h;if(g){for(var i=0,j=g.length;i<j;i++)g[i].send("loadedRecords"
|
||
,1);this.loadingRecordArrays[c]=null}},updateRecordArray
|
||
:function(b,c,d,e,f){var g;c?g=c(f):g=!0;var h=a(b,"content"
|
||
),i=h.indexOf(e)!==-1,j=this.recordArraysForClientId
|
||
(e);g&&!i?(j.add(b),h.pushObject(e)):!g&&i&&(j.remove
|
||
(b),h.removeObject(e))},removeFromRecordArrays:function(
|
||
b){var c=a(b,"clientId"),d=this.recordArraysForClientId
|
||
(c);d.forEach(function(b){var d=a(b,"content");d.removeObject
|
||
(c)})},recordArraysForClientId:function(b){var c=a(
|
||
this,"recordArraysByClientId"),d=c[b];return d||(d=
|
||
c[b]=Ember.OrderedSet.create()),d},typeMapFor:function(
|
||
b){var c=a(this,"typeMaps"),d=Ember.guidFor(b),e=c[
|
||
d];return e?e:c[d]={idToCid:{},clientIds:[],cidToHash
|
||
:{},recordArrays:[]}},clientIdForId:function(a,b){var c=
|
||
this.typeMapFor(a).idToCid[b];return c!==undefined?
|
||
c:this.pushHash(e,b,a)},clientIdsForIds:function(a,
|
||
b){var c=this.typeMapFor(a),d=c.idToCid;return Ember
|
||
.EnumerableUtils.map(b,function(b){var c=d[b];return c?
|
||
c:this.pushHash(e,b,a)},this)},load:function(b,c,e)
|
||
{if(e===undefined){e=c;var f=b.proto().primaryKey;c=
|
||
e[f]}var g=this.typeMapFor(b),h=g.cidToHash,i=g.idToCid
|
||
[c],j=a(this,"recordCache");if(i!==undefined){h[i]=
|
||
e;var k=j[i];k&&k.send("didChangeData")}else i=this
|
||
.pushHash(e,c,b);return d.savedData=e,this.updateRecordArrays
|
||
(b,i,d),{id:c,clientId:i}},loadMany:function(b,c,d)
|
||
{var e=Ember.A([]);if(d===undefined){d=c,c=[];var f=
|
||
b.proto().primaryKey;c=Ember.EnumerableUtils.map(d,
|
||
function(a){return a[f]})}for(var g=0,h=a(c,"length"
|
||
);g<h;g++){var i=this.load(b,c[g],d[g]);e.pushObject
|
||
(i.clientId)}return{clientIds:e,ids:c}},pushHash:function(
|
||
a,b,c){var d=this.typeMapFor(c),e=d.idToCid,f=this.
|
||
clientIdToId,g=d.clientIds,h=d.cidToHash,i=++this.clientIdCounter
|
||
;return h[i]=a,b&&(e[b]=i,f[i]=b),g.push(i),i},materializeRecord
|
||
:function(b,c,d){var e;return a(this,"recordCache")
|
||
[c]=e=b._create({store:this,clientId:c,_id:d}),a(this
|
||
,"defaultTransaction").adoptRecord(e),e.send("loadingData"
|
||
),e},destroy:function(){return a(DS,"defaultStore")===
|
||
this&&b(DS,"defaultStore",null),this._super()}})}()
|
||
,function(){var a=Ember.get,b=Ember.set,c=Ember.guidFor
|
||
,d=Ember.computed(function(b){var c=a(this,"parentState"
|
||
);if(c)return a(c,b)}).property(),e=function(a){for(
|
||
var b in a)if(a.hasOwnProperty(b))return!1;return!0
|
||
},f=function(a){for(var b in a)if(a.hasOwnProperty(
|
||
b)&&a[b])return!0;return!1};DS.State=Ember.State.extend
|
||
({isLoaded:d,isDirty:d,isSaving:d,isDeleted:d,isError
|
||
:d,isNew:d,isValid:d,isPending:d,dirtyType:d});var g=
|
||
function(c,d){var e=d.key,f=d.value,g=a(c,"record")
|
||
,h=a(g,"data");b(h,e,f)},h=function(b,c){var d=c.key
|
||
,e=c.value,f=a(b,"record"),g=a(f,"data");g.setAssociation
|
||
(d,e)},i=function(b){var c=a(b,"record"),d=a(c,"data"
|
||
);d._savedData=null,c.notifyPropertyChange("data")}
|
||
,j=function(b,d){var e=a(b,"record"),f=a(e,"pendingQueue"
|
||
),g=c(d),h=function(){a(d,"id")&&(b.send("doneWaitingOn"
|
||
,d),Ember.removeObserver(d,"id",h))};f[g]=[d,h],Ember
|
||
.addObserver(d,"id",h)},k=Ember.Mixin.create({setProperty
|
||
:g,setAssociation:h}),l=Ember.Mixin.create({deleteRecord
|
||
:function(b){var c=a(b,"record");this._super(b),c.withTransaction
|
||
(function(a){a.recordBecameClean("created",c)}),b.goToState
|
||
("deleted.saved")}}),m=Ember.Mixin.create({deleteRecord
|
||
:function(b){this._super(b);var c=a(b,"record");c.withTransaction
|
||
(function(a){a.recordBecameClean("updated",c)}),b.goToState
|
||
("deleted")}}),n=DS.State.extend({initialState:"uncommitted"
|
||
,isDirty:!0,uncommitted:DS.State.extend({enter:function(
|
||
b){var c=a(this,"dirtyType"),d=a(b,"record");d.withTransaction
|
||
(function(a){a.recordBecameDirty(c,d)})},deleteRecord
|
||
:Ember.K,waitingOn:function(a,b){j(a,b),a.goToState
|
||
("pending")},willCommit:function(a){a.goToState("inFlight"
|
||
)},becameInvalid:function(b){var c=a(this,"dirtyType"
|
||
),d=a(b,"record");d.withTransaction(function(a){a.recordBecameInFlight
|
||
(c,d)}),b.goToState("invalid")},rollback:function(b
|
||
){var c=a(b,"record"),d=a(this,"dirtyType"),e=a(c,"data"
|
||
);e.rollback(),c.withTransaction(function(a){a.recordBecameClean
|
||
(d,c)}),b.goToState("saved")}},k),inFlight:DS.State
|
||
.extend({isSaving:!0,enter:function(b){var c=a(this
|
||
,"dirtyType"),d=a(b,"record");d.withTransaction(function(
|
||
a){a.recordBecameInFlight(c,d)})},didCommit:function(
|
||
b){var c=a(this,"dirtyType"),d=a(b,"record");d.withTransaction
|
||
(function(a){a.recordBecameClean("inflight",d)}),b.
|
||
goToState("saved"),b.send("invokeLifecycleCallbacks"
|
||
,c)},becameInvalid:function(c,d){var e=a(c,"record"
|
||
);b(e,"errors",d),c.goToState("invalid"),c.send("invokeLifecycleCallbacks"
|
||
)},becameError:function(a){a.goToState("error"),a.send
|
||
("invokeLifecycleCallbacks")},didChangeData:i}),pending
|
||
:DS.State.extend({initialState:"uncommitted",isPending
|
||
:!0,uncommitted:DS.State.extend({deleteRecord:function(
|
||
b){var c=a(b,"record"),d=a(c,"pendingQueue"),e;for(
|
||
var f in d){if(!d.hasOwnProperty(f))continue;e=d[f]
|
||
,Ember.removeObserver(e[0],"id",e[1])}},willCommit:
|
||
function(a){a.goToState("committing")},doneWaitingOn
|
||
:function(b,d){var f=a(b,"record"),g=a(f,"pendingQueue"
|
||
),h=c(d);delete g[h],e(g)&&b.send("doneWaiting")},doneWaiting
|
||
:function(b){var c=a(this,"dirtyType");b.goToState(
|
||
c+".uncommitted")}},k),committing:DS.State.extend({
|
||
isSaving:!0,doneWaitingOn:function(b,d){var f=a(b,"record"
|
||
),g=a(f,"pendingQueue"),h=c(d);delete g[h],e(g)&&b.
|
||
send("doneWaiting")},doneWaiting:function(b){var c=
|
||
a(b,"record"),d=a(c,"transaction");Ember.run.once(d
|
||
,d.commit)},willCommit:function(b){var c=a(b,"record"
|
||
),d=a(c,"pendingQueue");if(e(d)){var f=a(this,"dirtyType"
|
||
);b.goToState(f+".inFlight")}}})}),invalid:DS.State
|
||
.extend({isValid:!1,exit:function(b){var c=a(b,"record"
|
||
);c.withTransaction(function(a){a.recordBecameClean
|
||
("inflight",c)})},deleteRecord:function(a){a.goToState
|
||
("deleted")},setAssociation:h,setProperty:function(
|
||
c,d){g(c,d);var e=a(c,"record"),h=a(e,"errors"),i=d
|
||
.key;b(h,i,null),f(h)||c.send("becameValid")},rollback
|
||
:function(a){a.send("becameValid"),a.send("rollback"
|
||
)},becameValid:function(a){a.goToState("uncommitted"
|
||
)},invokeLifecycleCallbacks:function(b){var c=a(b,"record"
|
||
);c.trigger("becameInvalid",c)}})}),o=n.create({dirtyType
|
||
:"created",isNew:!0}),p=n.create({dirtyType:"updated"
|
||
});o.states.uncommitted.reopen(l),o.states.pending.
|
||
states.uncommitted.reopen(l),o.states.uncommitted.reopen
|
||
({rollback:function(a){this._super(a),a.goToState("deleted.saved"
|
||
)}}),p.states.uncommitted.reopen(m),p.states.pending
|
||
.states.uncommitted.reopen(m),p.states.inFlight.reopen
|
||
({didSaveData:function(b){var c=a(b,"record"),d=a(c
|
||
,"data");d.saveData(),d.adapterDidUpdate()}});var q=
|
||
{rootState:Ember.State.create({isLoaded:!1,isDirty:!1
|
||
,isSaving:!1,isDeleted:!1,isError:!1,isNew:!1,isValid
|
||
:!0,isPending:!1,empty:DS.State.create({loadingData
|
||
:function(a){a.goToState("loading")},didChangeData:
|
||
function(a){i(a),a.goToState("loaded.created")}}),loading
|
||
:DS.State.create({exit:function(b){var c=a(b,"record"
|
||
);c.trigger("didLoad")},didChangeData:function(a,b)
|
||
{i(a),a.send("loadedData")},loadedData:function(a){
|
||
a.goToState("loaded")}}),loaded:DS.State.create({initialState
|
||
:"saved",isLoaded:!0,saved:DS.State.create({setProperty
|
||
:function(a,b){g(a,b),a.goToState("updated")},setAssociation
|
||
:function(a,b){h(a,b),a.goToState("updated")},didChangeData
|
||
:i,deleteRecord:function(a){a.goToState("deleted")}
|
||
,waitingOn:function(a,b){j(a,b),a.goToState("updated.pending"
|
||
)},invokeLifecycleCallbacks:function(b,c){var d=a(b
|
||
,"record");c==="created"?d.trigger("didCreate",d):d
|
||
.trigger("didUpdate",d)}}),created:o,updated:p}),deleted
|
||
:DS.State.create({isDeleted:!0,isLoaded:!0,isDirty:!0
|
||
,enter:function(b){var c=a(b,"record"),d=a(c,"store"
|
||
);d.removeFromRecordArrays(c)},start:DS.State.create
|
||
({enter:function(b){var c=a(b,"record");c.withTransaction
|
||
(function(a){a.recordBecameDirty("deleted",c)})},willCommit
|
||
:function(a){a.goToState("inFlight")},rollback:function(
|
||
b){var c=a(b,"record"),d=a(c,"data");d.rollback(),c
|
||
.withTransaction(function(a){a.recordBecameClean("deleted"
|
||
,c)}),b.goToState("loaded")}}),inFlight:DS.State.create
|
||
({isSaving:!0,enter:function(b){var c=a(b,"record")
|
||
;c.withTransaction(function(a){a.recordBecameInFlight
|
||
("deleted",c)})},didCommit:function(b){var c=a(b,"record"
|
||
);c.withTransaction(function(a){a.recordBecameClean
|
||
("inflight",c)}),b.goToState("saved"),b.send("invokeLifecycleCallbacks"
|
||
)}}),saved:DS.State.create({isDirty:!1,invokeLifecycleCallbacks
|
||
:function(b){var c=a(b,"record");c.trigger("didDelete"
|
||
,c)}})}),error:DS.State.create({isError:!0,invokeLifecycleCallbacks
|
||
:function(b){var c=a(b,"record");c.trigger("becameError"
|
||
,c)}})})};DS.StateManager=Ember.StateManager.extend
|
||
({record:null,initialState:"rootState",states:q})}(
|
||
),function(){var a=Ember.get,b=Ember.set,c=DS._DataProxy=
|
||
function(a){this.record=a,this.unsavedData={},this.
|
||
associations={}};c.prototype={get:function(a){return Ember
|
||
.get(this,a)},set:function(a,b){return Ember.set(this
|
||
,a,b)},setAssociation:function(a,b){this.associations
|
||
[a]=b},savedData:function(){var b=this._savedData;if(
|
||
b)return b;var c=this.record,d=a(c,"clientId"),e=a(
|
||
c,"store");if(e)return b=e.dataForRecord(c),this._savedData=
|
||
b,b},unknownProperty:function(b){var c=this.unsavedData
|
||
,d=this.associations,e=this.savedData(),f,g=c[b],h;
|
||
return h=d[b],h!==undefined?(f=a(this.record,"store"
|
||
),f.clientIdToId[h]):(e&&g===undefined&&(g=e[b]),g)
|
||
},setUnknownProperty:function(a,b){var c=this.record
|
||
,d=this.unsavedData;return d[a]=b,c.hashWasUpdated(
|
||
),b},commit:function(){this.saveData(),this.record.
|
||
notifyPropertyChange("data")},rollback:function(){this
|
||
.unsavedData={},this.record.notifyPropertyChange("data"
|
||
)},saveData:function(){var a=this.record,b=this.unsavedData
|
||
,c=this.savedData();for(var d in b)b.hasOwnProperty
|
||
(d)&&(c[d]=b[d],delete b[d])},adapterDidUpdate:function(
|
||
){this.unsavedData={}}}}(),function(){var a=Ember.get
|
||
,b=Ember.set,c=Ember.none,d=Ember.computed(function(
|
||
b){return a(a(this,"stateManager.currentState"),b)}
|
||
).property("stateManager.currentState").cacheable()
|
||
;DS.Model=Ember.Object.extend(Ember.Evented,{isLoaded
|
||
:d,isDirty:d,isSaving:d,isDeleted:d,isError:d,isNew
|
||
:d,isPending:d,isValid:d,clientId:null,transaction:
|
||
null,stateManager:null,pendingQueue:null,errors:null
|
||
,primaryKey:"id",id:Ember.computed(function(c,d){var e=
|
||
a(this,"primaryKey"),f=a(this,"data");if(arguments.
|
||
length===2)return b(f,e,d),d;var g=a(f,e);return g?
|
||
g:this._id}).property("primaryKey","data"),addIdToJSON
|
||
:function(a,b,c){b&&(a[c]=b)},addAttributesToJSON:function(
|
||
b,c,d){c.forEach(function(c,e){var f=e.key(this.constructor
|
||
),g=a(d,f);g===undefined&&(g=e.options.defaultValue
|
||
),b[f]=g},this)},addHasManyToJSON:function(b,c,d,e)
|
||
{var f=d.key,g=a(this,f),h=[],i,j,k,l;if(d.options.
|
||
embedded)g.forEach(function(a){h.push(a.toJSON(e))}
|
||
);else{var m=a(g,"content");for(i=0,j=m.length;i<j;
|
||
i++)k=m[i],l=a(this,"store").clientIdToId[k],l!==undefined&&
|
||
h.push(l)}f=d.options.key||a(this,"namingConvention"
|
||
).keyToJSONKey(f),b[f]=h},addBelongsToToJSON:function(
|
||
b,d,e,f){var g=e.key,h,i;e.options.embedded?(g=e.options
|
||
.key||a(this,"namingConvention").keyToJSONKey(g),h=
|
||
a(d.record,g),b[g]=h?h.toJSON(f):null):(g=e.options
|
||
.key||a(this,"namingConvention").foreignKey(g),i=d.
|
||
get(g),b[g]=c(i)?null:i)},toJSON:function(b){var c=
|
||
a(this,"data"),d={},e=this.constructor,f=a(e,"attributes"
|
||
),g=a(this,"primaryKey"),h=a(this,"id"),i=a(this,"store"
|
||
),j;return b=b||{},this.addIdToJSON(d,h,g),this.addAttributesToJSON
|
||
(d,f,c),j=a(e,"associationsByName"),j.forEach(function(
|
||
a,e){b.associations&&e.kind==="hasMany"?this.addHasManyToJSON
|
||
(d,c,e,b):e.kind==="belongsTo"&&this.addBelongsToToJSON
|
||
(d,c,e,b)},this),d},data:Ember.computed(function(){
|
||
return new DS._DataProxy(this)}).cacheable(),didLoad
|
||
:Ember.K,didUpdate:Ember.K,didCreate:Ember.K,didDelete
|
||
:Ember.K,becameInvalid:Ember.K,becameError:Ember.K,
|
||
init:function(){var a=DS.StateManager.create({record
|
||
:this});b(this,"pendingQueue",{}),b(this,"stateManager"
|
||
,a),a.goToState("empty")},destroy:function(){a(this
|
||
,"isDeleted")||this.deleteRecord(),this._super()},send
|
||
:function(b,c){return a(this,"stateManager").send(b
|
||
,c)},withTransaction:function(b){var c=a(this,"transaction"
|
||
);c&&b(c)},setProperty:function(a,b){this.send("setProperty"
|
||
,{key:a,value:b})},deleteRecord:function(){this.send
|
||
("deleteRecord")},waitingOn:function(a){this.send("waitingOn"
|
||
,a)},notifyHashWasUpdated:function(){var b=a(this,"store"
|
||
);b&&b.hashWasUpdated(this.constructor,a(this,"clientId"
|
||
),this)},unknownProperty:function(b){var c=a(this,"data"
|
||
);!(c&&b in c)},setUnknownProperty:function(b,c){var d=
|
||
a(this,"data");if(!(d&&b in d))return this._super(b
|
||
,c)},namingConvention:{keyToJSONKey:function(a){return Ember
|
||
.String.decamelize(a)},foreignKey:function(a){return Ember
|
||
.String.decamelize(a)+"_id"}},hashWasUpdated:function(
|
||
){Ember.run.once(this,this.notifyHashWasUpdated)},dataDidChange
|
||
:Ember.observer(function(){var c=a(this.constructor
|
||
,"associationsByName"),d=a(this,"data"),e=a(this,"store"
|
||
),f=e.idToClientId,g;c.forEach(function(c,f){if(f.kind==="hasMany"
|
||
){g=this.cacheFor(c);if(g){var h=f.options.key||a(this
|
||
,"namingConvention").keyToJSONKey(c),i=d.get(h)||[]
|
||
,j;f.options.embedded?j=e.loadMany(f.type,i).clientIds
|
||
:j=Ember.EnumerableUtils.map(i,function(a){return e
|
||
.clientIdForId(f.type,a)}),b(g,"content",Ember.A(j)
|
||
),g.fetch()}}},this)},"data"),trigger:function(a){Ember
|
||
.tryInvoke(this,a,[].slice.call(arguments,1)),this.
|
||
_super.apply(this,arguments)}});var e=function(b){return function(
|
||
){var c=a(DS,"defaultStore"),d=[].slice.call(arguments
|
||
);return d.unshift(this),c[b].apply(c,d)}};DS.Model
|
||
.reopenClass({isLoaded:e("recordIsLoaded"),find:e("find"
|
||
),filter:e("filter"),_create:DS.Model.create,create
|
||
:function(){throw new Ember.Error("You should not call `create` on a model. Instead, call `createRecord` with the attributes you would like to set."
|
||
)},createRecord:e("createRecord")})}(),function(){function a
|
||
(a,c,d){var e=b(a,"data"),f=b(e,d);return f===undefined&&
|
||
(f=c.defaultValue),f}var b=Ember.get;DS.Model.reopenClass
|
||
({attributes:Ember.computed(function(){var a=Ember.
|
||
Map.create();return this.eachComputedProperty(function(
|
||
b,c){c.isAttribute&&a.set(b,c)}),a}).cacheable(),processAttributeKeys
|
||
:function(){if(this.processedAttributeKeys)return;var a=
|
||
this.proto().namingConvention;this.eachComputedProperty
|
||
(function(b,c){c.isAttribute&&!c.options.key&&(c.options
|
||
.key=a.keyToJSONKey(b,this))},this)}}),DS.attr=function(
|
||
b,c){var d=DS.attr.transforms[b],e=d.from,f=d.to;c=
|
||
c||{};var g={type:b,isAttribute:!0,options:c,key:function(
|
||
a){return a.processAttributeKeys(),c.key}};return Ember
|
||
.computed(function(b,d){var h;return b=g.key(this.constructor
|
||
),arguments.length===2?(d=f(d),d!==a(this,c,b)&&this
|
||
.setProperty(b,d)):d=a(this,c,b),e(d)}).property("data"
|
||
).cacheable().meta(g)},DS.attr.transforms={string:{
|
||
from:function(a){return Ember.none(a)?null:String(a
|
||
)},to:function(a){return Ember.none(a)?null:String(
|
||
a)}},number:{from:function(a){return Ember.none(a)?
|
||
null:Number(a)},to:function(a){return Ember.none(a)?
|
||
null:Number(a)}},"boolean":{from:function(a){return Boolean
|
||
(a)},to:function(a){return Boolean(a)}},date:{from:
|
||
function(a){var b=typeof a;return b==="string"||b==="number"?new
|
||
Date(a):a===null||a===undefined?a:null},to:function(
|
||
a){if(a instanceof Date){var b=["Sun","Mon","Tue","Wed"
|
||
,"Thu","Fri","Sat"],c=["Jan","Feb","Mar","Apr","May"
|
||
,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"],d=function(
|
||
a){return a<10?"0"+a:""+a},e=a.getUTCFullYear(),f=a
|
||
.getUTCMonth(),g=a.getUTCDate(),h=a.getUTCDay(),i=a
|
||
.getUTCHours(),j=a.getUTCMinutes(),k=a.getUTCSeconds
|
||
(),l=b[h],m=d(g),n=c[f];return l+", "+m+" "+n+" "+e+" "+
|
||
d(i)+":"+d(j)+":"+d(k)+" GMT"}return a===undefined?
|
||
undefined:null}}}}(),function(){}(),function(){var a=
|
||
Ember.get,b=Ember.set,c=Ember.none,d=function(b,d,e
|
||
,f,g){var h=a(e,f);return c(h)?undefined:b.load(d,h
|
||
).id},e=function(b,c,d,e,f){return a(d,e)},f=function(
|
||
b,c,f){c=c||{};var g=c.embedded,h=g?d:e,i={type:b,isAssociation
|
||
:!0,options:c,kind:"belongsTo"};return Ember.computed
|
||
(function(d,e){var f=a(this,"data"),i,j,k,l=a(this,"store"
|
||
);return typeof b=="string"&&(b=a(this,b,!1)||a(window
|
||
,b)),arguments.length===2?(d=c.key||a(this,"namingConvention"
|
||
).foreignKey(d),this.send("setAssociation",{key:d,value
|
||
:Ember.none(e)?null:a(e,"clientId")}),e):(g?d=c.key||
|
||
a(this,"namingConvention").keyToJSONKey(d):d=c.key||
|
||
a(this,"namingConvention").foreignKey(d),j=h(l,b,f,
|
||
d,!0),k=j?l.find(b,j):null,k)}).property("data").cacheable
|
||
().meta(i)};DS.belongsTo=function(a,b){return f(a,b
|
||
)}}(),function(){var a=Ember.get,b=Ember.set,c=function(
|
||
b,c,d,e){var f=a(d,e);return f?b.loadMany(c,f).ids:
|
||
[]},d=function(b,c,d,e,f){return a(d,e)},e=function(
|
||
e,f){f=f||{};var g=f.embedded,h=g?c:d,i={type:e,isAssociation
|
||
:!0,options:f,kind:"hasMany"};return Ember.computed
|
||
(function(c,d){var g=a(this,"data"),i=a(this,"store"
|
||
),j,k,l;return typeof e=="string"&&(e=a(this,e,!1)||
|
||
a(window,e)),c=f.key||a(this,"namingConvention").keyToJSONKey
|
||
(c),j=h(i,e,g,c),l=i.findMany(e,j||[]),b(l,"parentRecord"
|
||
,this),l}).property().cacheable().meta(i)};DS.hasMany=
|
||
function(a,b){return e(a,b)}}(),function(){var a=Ember
|
||
.get;DS.Model.reopenClass({typeForAssociation:function(
|
||
b){var c=a(this,"associationsByName").get(b);return c&&
|
||
c.type},associations:Ember.computed(function(){var b=
|
||
Ember.Map.create();return this.eachComputedProperty
|
||
(function(c,d){if(d.isAssociation){var e=d.type,f=b
|
||
.get(e);typeof e=="string"&&(e=a(this,e,!1)||a(window
|
||
,e),d.type=e),f||(f=[],b.set(e,f)),f.push({name:c,kind
|
||
:d.kind})}}),b}).cacheable(),associationsByName:Ember
|
||
.computed(function(){var b=Ember.Map.create(),c;return this
|
||
.eachComputedProperty(function(d,e){e.isAssociation&&
|
||
(e.key=d,c=e.type,typeof c=="string"&&(c=a(this,c,!1
|
||
)||a(window,c),e.type=c),b.set(d,e))}),b}).cacheable
|
||
()})}(),function(){}(),function(){DS.Adapter=Ember.
|
||
Object.extend({find:null,generateIdForRecord:null,commit
|
||
:function(a,b){b.updated.eachType(function(b,c){this
|
||
.updateRecords(a,b,c.slice())},this),b.created.eachType
|
||
(function(b,c){this.createRecords(a,b,c.slice())},this
|
||
),b.deleted.eachType(function(b,c){this.deleteRecords
|
||
(a,b,c.slice())},this)},createRecords:function(a,b,
|
||
c){c.forEach(function(c){this.createRecord(a,b,c)},
|
||
this)},updateRecords:function(a,b,c){c.forEach(function(
|
||
c){this.updateRecord(a,b,c)},this)},deleteRecords:function(
|
||
a,b,c){c.forEach(function(c){this.deleteRecord(a,b,
|
||
c)},this)},findMany:function(a,b,c){c.forEach(function(
|
||
c){this.find(a,b,c)},this)}})}(),function(){var a=Ember
|
||
.set;Ember.onLoad("Ember.Application",function(b){b
|
||
.registerInjection({name:"store",before:"controllers"
|
||
,injection:function(b,c,d){d==="Store"&&a(c,"store"
|
||
,b[d].create())}}),b.registerInjection({name:"giveStoreToControllers"
|
||
,injection:function(a,b,c){if(/^[A-Z].*Controller$/
|
||
.test(c)){var d=c.charAt(0).toLowerCase()+c.substr(1
|
||
),e=b.get("store"),f=b.get(d);f.set("store",e)}}})}
|
||
)}(),function(){var a=Ember.get;DS.FixtureAdapter=DS
|
||
.Adapter.extend({simulateRemoteResponse:!0,latency:50
|
||
,fixturesForType:function(a){return a.FIXTURES?Ember
|
||
.A(a.FIXTURES):null},queryFixtures:function(a,b){return a
|
||
},mockJSON:function(a,b){return b.toJSON({associations
|
||
:!0})},generateIdForRecord:function(a,b){return Ember
|
||
.guidFor(b)},find:function(a,b,c){var d=this.fixturesForType
|
||
(b);d&&(d=d.findProperty("id",c)),d&&this.simulateRemoteCall
|
||
(function(){a.load(b,d)},a,b)},findMany:function(a,
|
||
b,c){var d=this.fixturesForType(b);d&&(d=d.filter(function(
|
||
a){return c.indexOf(a.id)!==-1})),d&&this.simulateRemoteCall
|
||
(function(){a.loadMany(b,d)},a,b)},findAll:function(
|
||
a,b){var c=this.fixturesForType(b);this.simulateRemoteCall
|
||
(function(){a.loadMany(b,c)},a,b)},findQuery:function(
|
||
a,b,c,d){var e=this.fixturesForType(b);e=this.queryFixtures
|
||
(e,c),e&&this.simulateRemoteCall(function(){d.load(
|
||
e)},a,b)},createRecord:function(a,b,c){var d=this.mockJSON
|
||
(b,c);d.id=this.generateIdForRecord(a,c),this.simulateRemoteCall
|
||
(function(){a.didCreateRecord(c,d)},a,b,c)},updateRecord
|
||
:function(a,b,c){var d=this.mockJSON(b,c);this.simulateRemoteCall
|
||
(function(){a.didUpdateRecord(c,d)},a,b,c)},deleteRecord
|
||
:function(a,b,c){this.simulateRemoteCall(function()
|
||
{a.didDeleteRecord(c)},a,b,c)},simulateRemoteCall:function(
|
||
b,c,d,e){a(this,"simulateRemoteResponse")?setTimeout
|
||
(b,a(this,"latency")):b()}}),DS.fixtureAdapter=DS.FixtureAdapter
|
||
.create()}(),function(){var a=Ember.get,b=Ember.set
|
||
;DS.RESTAdapter=DS.Adapter.extend({bulkCommit:!1,createRecord
|
||
:function(a,b,c){var d=this.rootForType(b),e={};e[d
|
||
]=c.toJSON(),this.ajax(this.buildURL(d),"POST",{data
|
||
:e,context:this,success:function(d){this.didCreateRecord
|
||
(a,b,c,d)}})},didCreateRecord:function(a,b,c,d){var e=
|
||
this.rootForType(b);this.sideload(a,b,d,e),a.didCreateRecord
|
||
(c,d[e])},createRecords:function(b,c,d){if(a(this,"bulkCommit"
|
||
)===!1)return this._super(b,c,d);var e=this.rootForType
|
||
(c),f=this.pluralize(e),g={};g[f]=d.map(function(a)
|
||
{return a.toJSON()}),this.ajax(this.buildURL(e),"POST"
|
||
,{data:g,context:this,success:function(a){this.didCreateRecords
|
||
(b,c,d,a)}})},didCreateRecords:function(a,b,c,d){var e=
|
||
this.pluralize(this.rootForType(b));this.sideload(a
|
||
,b,d,e),a.didCreateRecords(b,c,d[e])},updateRecord:
|
||
function(b,c,d){var e=a(d,"id"),f=this.rootForType(
|
||
c),g={};g[f]=d.toJSON(),this.ajax(this.buildURL(f,e
|
||
),"PUT",{data:g,context:this,success:function(a){this
|
||
.didUpdateRecord(b,c,d,a)}})},didUpdateRecord:function(
|
||
a,b,c,d){var e=this.rootForType(b);this.sideload(a,
|
||
b,d,e),a.didUpdateRecord(c,d&&d[e])},updateRecords:
|
||
function(b,c,d){if(a(this,"bulkCommit")===!1)return this
|
||
._super(b,c,d);var e=this.rootForType(c),f=this.pluralize
|
||
(e),g={};g[f]=d.map(function(a){return a.toJSON()})
|
||
,this.ajax(this.buildURL(e,"bulk"),"PUT",{data:g,context
|
||
:this,success:function(a){this.didUpdateRecords(b,c
|
||
,d,a)}})},didUpdateRecords:function(a,b,c,d){var e=
|
||
this.pluralize(this.rootForType(b));this.sideload(a
|
||
,b,d,e),a.didUpdateRecords(c,d[e])},deleteRecord:function(
|
||
b,c,d){var e=a(d,"id"),f=this.rootForType(c);this.ajax
|
||
(this.buildURL(f,e),"DELETE",{context:this,success:
|
||
function(a){this.didDeleteRecord(b,c,d,a)}})},didDeleteRecord
|
||
:function(a,b,c,d){d&&this.sideload(a,b,d),a.didDeleteRecord
|
||
(c)},deleteRecords:function(b,c,d){if(a(this,"bulkCommit"
|
||
)===!1)return this._super(b,c,d);var e=this.rootForType
|
||
(c),f=this.pluralize(e),g={};g[f]=d.map(function(b)
|
||
{return a(b,"id")}),this.ajax(this.buildURL(e,"bulk"
|
||
),"DELETE",{data:g,context:this,success:function(a)
|
||
{this.didDeleteRecords(b,c,d,a)}})},didDeleteRecords
|
||
:function(a,b,c,d){d&&this.sideload(a,b,d),a.didDeleteRecords
|
||
(c)},find:function(a,b,c){var d=this.rootForType(b)
|
||
;this.ajax(this.buildURL(d,c),"GET",{success:function(
|
||
c){this.sideload(a,b,c,d),a.load(b,c[d])}})},findMany
|
||
:function(a,b,c){var d=this.rootForType(b),e=this.pluralize
|
||
(d);this.ajax(this.buildURL(d),"GET",{data:{ids:c},
|
||
success:function(c){this.sideload(a,b,c,e),a.loadMany
|
||
(b,c[e])}})},findAll:function(a,b){var c=this.rootForType
|
||
(b),d=this.pluralize(c);this.ajax(this.buildURL(c),"GET"
|
||
,{success:function(c){this.sideload(a,b,c,d),a.loadMany
|
||
(b,c[d])}})},findQuery:function(a,b,c,d){var e=this
|
||
.rootForType(b),f=this.pluralize(e);this.ajax(this.
|
||
buildURL(e),"GET",{data:c,success:function(c){this.
|
||
sideload(a,b,c,f),d.load(c[f])}})},plurals:{},pluralize
|
||
:function(a){return this.plurals[a]||a+"s"},rootForType
|
||
:function(a){if(a.url)return a.url;var b=a.toString
|
||
().split("."),c=b[b.length-1];return c.replace(/([A-Z])/g
|
||
,"_$1").toLowerCase().slice(1)},ajax:function(a,b,c
|
||
){c.url=a,c.type=b,c.dataType="json",c.contentType="application/json; charset=utf-8"
|
||
,c.context=this,c.data&&b!=="GET"&&(c.data=JSON.stringify
|
||
(c.data)),jQuery.ajax(c)},sideload:function(b,c,d,e
|
||
){var f,g,h={};h[e]=!0;for(var i in d){if(!d.hasOwnProperty
|
||
(i))continue;if(i===e)continue;f=c.typeForAssociation
|
||
(i),f||(g=a(this,"mappings"),f=a(g,i),typeof f=="string"&&
|
||
(f=a(window,f))),this.sideloadAssociations(b,f,d,i,
|
||
h)}},sideloadAssociations:function(b,c,d,e,f){f[e]=!0
|
||
,a(c,"associationsByName").forEach(function(a,c){a=
|
||
c.key||a,c.kind==="belongsTo"&&(a=this.pluralize(a)
|
||
),d[a]&&!f[a]&&this.sideloadAssociations(b,c.type,d
|
||
,a,f)},this),this.loadValue(b,c,d[e])},loadValue:function(
|
||
a,b,c){c instanceof Array?a.loadMany(b,c):a.load(b,
|
||
c)},buildURL:function(a,b){var c=[""];return this.namespace!==
|
||
undefined&&c.push(this.namespace),c.push(this.pluralize
|
||
(a)),b!==undefined&&c.push(b),c.join("/")}})}(),function(
|
||
){}(),function(){function a(a,b){var c;a||(a={});for(
|
||
c in b)a[c]=b[c];return a}function b(){for(var a=0,
|
||
b=arguments,c=b.length,d={};a<c;a++)d[b[a++]]=b[a];
|
||
return d}function c(a,b){return parseInt(a,b||10)}function d
|
||
(a){return typeof a=="string"}function e(a){return typeof
|
||
a=="object"}function f(a){return Object.prototype.toString
|
||
.call(a)==="[object Array]"}function g(a){return typeof
|
||
a=="number"}function h(a){return S.log(a)/S.LN10}function i
|
||
(a){return S.pow(10,a)}function j(a,b){for(var c=a.
|
||
length;c--;)if(a[c]===b){a.splice(c,1);break}}function k
|
||
(a){return a!==P&&a!==null}function l(a,b,c){var f,
|
||
g;if(d(b))k(c)?a.setAttribute(b,c):a&&a.getAttribute&&
|
||
(g=a.getAttribute(b));else if(k(b)&&e(b))for(f in b
|
||
)a.setAttribute(f,b[f]);return g}function m(a){return f
|
||
(a)?a:[a]}function n(){var a=arguments,b,c,d=a.length
|
||
;for(b=0;b<d;b++)if(c=a[b],typeof c!="undefined"&&c!==
|
||
null)return c}function o(b,c){bc&&c&&c.opacity!==P&&
|
||
(c.filter="alpha(opacity="+c.opacity*100+")"),a(b.style
|
||
,c)}function p(b,c,d,e,f){return b=Q.createElement(
|
||
b),c&&a(b,c),f&&o(b,{padding:0,border:bv,margin:0})
|
||
,d&&o(b,d),e&&e.appendChild(b),b}function q(b,c){var d=
|
||
function(){};return d.prototype=new b,a(d.prototype
|
||
,c),d}function r(a,b,d,e){var f=bo.lang,g=a;b===-1?
|
||
(b=(a||0).toString(),a=b.indexOf(".")>-1?b.split("."
|
||
)[1].length:0):a=isNaN(b=Y(b))?2:b;var b=a,d=d===void 0?
|
||
f.decimalPoint:d,e=e===void 0?f.thousandsSep:e,f=g<0?"-"
|
||
:"",a=String(c(g=Y(+g||0).toFixed(b))),h=a.length>3?
|
||
a.length%3:0;return f+(h?a.substr(0,h)+e:"")+a.substr
|
||
(h).replace(/(\d{3})(?=\d)/g,"$1"+e)+(b?d+Y(g-a).toFixed
|
||
(b).slice(2):"")}function s(a,b){return Array((b||2
|
||
)+1-String(a).length).join(0)+a}function t(a,b,c,d)
|
||
{var e,c=n(c,1);e=a/c,b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===!1&&
|
||
(c===1?b=[1,2,5,10]:c<=.1&&(b=[1/c])));for(d=0;d<b.
|
||
length;d++)if(a=b[d],e<=(b[d]+(b[d+1]||b[d]))/2)break;
|
||
return a*=c,a}function u(a,b){var c=b||[[bx,[1,2,5,10
|
||
,20,25,50,100,200,500]],[by,[1,2,5,10,15,30]],[bz,[1
|
||
,2,5,10,15,30]],[bA,[1,2,3,4,6,8,12]],[bB,[1,2]],[bC
|
||
,[1,2]],[bD,[1,2,3,4,6]],[bE,null]],d=c[c.length-1]
|
||
,e=bs[d[0]],f=d[1],g;for(g=0;g<c.length;g++)if(d=c[
|
||
g],e=bs[d[0]],f=d[1],c[g+1]&&a<=(e*f[f.length-1]+bs
|
||
[c[g+1][0]])/2)break;return e===bs[bE]&&a<5*e&&(f=[1
|
||
,2,5]),e===bs[bE]&&a<5*e&&(f=[1,2,5]),c=t(a/e,f),{unitRange
|
||
:e,count:c,unitName:d[0]}}function v(b,c,d,e){var f=
|
||
[],g={},h=bo.global.useUTC,i,j=new Date(c),c=b.unitRange
|
||
,k=b.count;c>=bs[by]&&(j.setMilliseconds(0),j.setSeconds
|
||
(c>=bs[bz]?0:k*U(j.getSeconds()/k))),c>=bs[bz]&&j[bM
|
||
](c>=bs[bA]?0:k*U(j[bG]()/k)),c>=bs[bA]&&j[bN](c>=bs
|
||
[bB]?0:k*U(j[bH]()/k)),c>=bs[bB]&&j[bO](c>=bs[bD]?1
|
||
:k*U(j[bJ]()/k)),c>=bs[bD]&&(j[bP](c>=bs[bE]?0:k*U(
|
||
j[bK]()/k)),i=j[bL]()),c>=bs[bE]&&(i-=i%k,j[bQ](i))
|
||
,c===bs[bC]&&j[bO](j[bJ]()-j[bI]()+n(e,1)),e=1,i=j[
|
||
bL]();for(var l=j.getTime(),m=j[bK](),o=j[bJ](),j=h?0
|
||
:(864e5+j.getTimezoneOffset()*6e4)%864e5;l<d;)f.push
|
||
(l),c===bs[bE]?l=bF(i+e*k,0):c===bs[bD]?l=bF(i,m+e*
|
||
k):!!h||c!==bs[bB]&&c!==bs[bC]?(l+=c*k,c<=bs[bA]&&l%
|
||
bs[bB]===j&&(g[l]=bB)):l=bF(i,m,o+e*k*(c===bs[bB]?1
|
||
:7)),e++;return f.push(l),f.info=a(b,{higherRanks:g
|
||
,totalRange:c*k}),f}function w(){this.symbol=this.color=0
|
||
}function x(a,b){var c=a.length,d,e;for(e=0;e<c;e++
|
||
)a[e].ss_i=e;a.sort(function(a,c){return d=b(a,c),d===0?
|
||
a.ss_i-c.ss_i:d});for(e=0;e<c;e++)delete a[e].ss_i}
|
||
function y(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&
|
||
(c=a[b]);return c}function z(a){for(var b=a.length,
|
||
c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function A(a,
|
||
b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c
|
||
].destroy(),delete a[c]}function B(a){bn||(bn=p(bu)
|
||
),a&&bn.appendChild(a),bn.innerHTML=""}function C(a
|
||
,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+
|
||
a;if(b)throw c;R.console&&console.log(c)}function D
|
||
(a){return parseFloat(a.toPrecision(14))}function E
|
||
(a,b){bq=n(a,b.animation)}function F(){var a=bo.global
|
||
.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";bF=a?
|
||
Date.UTC:function(a,b,c,d,e,f){return(new Date(a,b,
|
||
n(c,1),n(d,0),n(e,0),n(f,0))).getTime()},bG=b+"Minutes"
|
||
,bH=b+"Hours",bI=b+"Day",bJ=b+"Date",bK=b+"Month",bL=
|
||
b+"FullYear",bM=c+"Minutes",bN=c+"Hours",bO=c+"Date"
|
||
,bP=c+"Month",bQ=c+"FullYear"}function G(){}function H
|
||
(a,b,c){this.axis=a,this.pos=b,this.type=c||"",this
|
||
.isNew=!0,c||this.addLabel()}function I(a,b){return this
|
||
.axis=a,b&&(this.options=b,this.id=b.id),this}function J
|
||
(a,b,c,d,e){var f=a.chart.inverted;this.axis=a,this
|
||
.isNegative=c,this.options=b,this.x=d,this.stack=e,
|
||
this.alignOptions={align:b.align||(f?c?"left":"right"
|
||
:"center"),verticalAlign:b.verticalAlign||(f?"middle"
|
||
:c?"bottom":"top"),y:n(b.y,f?4:c?14:-6),x:n(b.x,f?c?-6
|
||
:6:0)},this.textAlign=b.textAlign||(f?c?"right":"left"
|
||
:"center")}function K(){this.init.apply(this,arguments
|
||
)}function L(a,b){var d=b.borderWidth,e=b.style,f=b
|
||
.shared,g=c(e.padding);this.chart=a,this.options=b,
|
||
e.padding=0,this.crosshairs=[],this.currentY=this.currentX=0
|
||
,this.tooltipIsHidden=!0,this.label=a.renderer.label
|
||
("",0,0,null,null,null,b.useHTML,null,"tooltip").attr
|
||
({padding:g,fill:b.backgroundColor,"stroke-width":d
|
||
,r:b.borderRadius,zIndex:8}).css(e).hide().add(),bi||
|
||
this.label.shadow(b.shadow),this.shared=f}function M
|
||
(a,b){var c=bi?"":b.chart.zoomType;this.zoomX=/x/.test
|
||
(c),this.zoomY=/y/.test(c),this.options=b,this.chart=
|
||
a,this.init(a,b.tooltip)}function N(a){this.init(a)
|
||
}function O(a,b){var c,d=a.series;a.series=null,c=b$
|
||
(bo,a),c.series=a.series=d;var d=c.chart,f=d.margin
|
||
,f=e(f)?f:[f,f,f,f];this.optionsMarginTop=n(d.marginTop
|
||
,f[0]),this.optionsMarginRight=n(d.marginRight,f[1]
|
||
),this.optionsMarginBottom=n(d.marginBottom,f[2]),this
|
||
.optionsMarginLeft=n(d.marginLeft,f[3]),this.runChartClick=
|
||
(f=d.events)&&!!f.click,this.callback=b,this.isResizing=0
|
||
,this.options=c,this.axes=[],this.series=[],this.hasCartesianSeries=
|
||
d.showAxes,this.init(f)}var P,Q=document,R=window,S=
|
||
Math,T=S.round,U=S.floor,V=S.ceil,W=S.max,X=S.min,Y=
|
||
S.abs,Z=S.cos,$=S.sin,_=S.PI,ba=_*2/360,bb=navigator
|
||
.userAgent,bc=/msie/i.test(bb)&&!R.opera,bd=Q.documentMode===8
|
||
,be=/AppleWebKit/.test(bb),bf=/Firefox/.test(bb),bg=!!
|
||
Q.createElementNS&&!!Q.createElementNS("http://www.w3.org/2000/svg"
|
||
,"svg").createSVGRect,bh=bf&&parseInt(bb.split("Firefox/"
|
||
)[1],10)<4,bi=!bg&&!bc&&!!Q.createElement("canvas")
|
||
.getContext,bj,bk=Q.documentElement.ontouchstart!==
|
||
P,bl={},bm=0,bn,bo,bp,bq,br,bs,bt=function(){},bu="div"
|
||
,bv="none",bw="rgba(192,192,192,"+(bg?1e-6:.002)+")"
|
||
,bx="millisecond",by="second",bz="minute",bA="hour"
|
||
,bB="day",bC="week",bD="month",bE="year",bF,bG,bH,bI
|
||
,bJ,bK,bL,bM,bN,bO,bP,bQ,bR={};R.Highcharts={},bp=function(
|
||
a,b,c){if(!k(b)||isNaN(b))return"Invalid date";var a=
|
||
n(a,"%Y-%m-%d %H:%M:%S"),d=new Date(b),e,f=d[bH](),
|
||
g=d[bI](),h=d[bJ](),i=d[bK](),j=d[bL](),l=bo.lang,m=
|
||
l.weekdays,b={a:m[g].substr(0,3),A:m[g],d:s(h),e:h,
|
||
b:l.shortMonths[i],B:l.months[i],m:s(i+1),y:j.toString
|
||
().substr(2,2),Y:j,H:s(f),I:s(f%12||12),l:f%12||12,
|
||
M:s(d[bG]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:s(
|
||
d.getSeconds()),L:s(T(b%1e3),3)};for(e in b)a=a.replace
|
||
("%"+e,b[e]);return c?a.substr(0,1).toUpperCase()+a
|
||
.substr(1):a},w.prototype={wrapColor:function(a){this
|
||
.color>=a&&(this.color=0)},wrapSymbol:function(a){this
|
||
.symbol>=a&&(this.symbol=0)}},bs=b(bx,1,by,1e3,bz,6e4
|
||
,bA,36e5,bB,864e5,bC,6048e5,bD,2592e6,bE,31556952e3
|
||
),br={init:function(a,b,c){var b=b||"",d=a.shift,e=
|
||
b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat
|
||
(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&
|
||
a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(
|
||
b),j(c)),a.isArea&&(h=b.splice(b.length-6,6),i=c.splice
|
||
(c.length-6,6));if(d<=c.length/f)for(;d--;)c=[].concat
|
||
(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(
|
||
a=c.length;b.length<a;)d=[].concat(b).splice(b.length-
|
||
f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d)
|
||
;return h&&(b=b.concat(h),c=c.concat(i)),[b,c]},step
|
||
:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d
|
||
;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a
|
||
[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=
|
||
b;return e}};var bS=R.HighchartsAdapter,bT=bS||{},bU=
|
||
bT.adapterRun,bV=bT.getScript,bW=bT.each,bX=bT.grep
|
||
,bY=bT.offset,bZ=bT.map,b$=bT.merge,b_=bT.addEvent,
|
||
ca=bT.removeEvent,cb=bT.fireEvent,cc=bT.washMouseEvent
|
||
,cd=bT.animate,ce=bT.stop;bS&&bS.init&&bS.init(br);
|
||
if(!bS&&R.jQuery){var cf=jQuery,bV=cf.getScript,bU=
|
||
function(a,b){return cf(a)[b]()},bW=function(a,b){for(
|
||
var c=0,d=a.length;c<d;c++)if(b.call(a[c],a[c],c,a)===!1
|
||
)return c},bX=cf.grep,bZ=function(a,b){for(var c=[]
|
||
,d=0,e=a.length;d<e;d++)c[d]=b.call(a[d],a[d],d,a);
|
||
return c},b$=function(){var a=arguments;return cf.extend
|
||
(!0,null,a[0],a[1],a[2],a[3])},bY=function(a){return cf
|
||
(a).offset()},b_=function(a,b,c){cf(a).bind(b,c)},ca=
|
||
function(a,b,c){var d=Q.removeEventListener?"removeEventListener"
|
||
:"detachEvent";Q[d]&&!a[d]&&(a[d]=function(){}),cf(
|
||
a).unbind(b,c)},cb=function(b,c,d,e){var f=cf.Event
|
||
(c),g="detached"+c,h;!bc&&d&&(delete d.layerX,delete
|
||
d.layerY),a(f,d),b[c]&&(b[g]=b[c],b[c]=null),bW(["preventDefault"
|
||
,"stopPropagation"],function(a){var b=f[a];f[a]=function(
|
||
){try{b.call(f)}catch(c){a==="preventDefault"&&(h=!0
|
||
)}}}),cf(b).trigger(f),b[g]&&(b[c]=b[g],b[g]=null),
|
||
e&&!f.isDefaultPrevented()&&!h&&e(f)},cc=function(a
|
||
){return a},cd=function(a,b,c){var d=cf(a);b.d&&(a.
|
||
toD=b.d,b.d=1),d.stop(),d.animate(b,c)},ce=function(
|
||
a){cf(a).stop()};cf.extend(cf.easing,{easeOutQuad:function(
|
||
a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});var cg=cf.fx,
|
||
ch=cg.step;bW(["cur","_default","width","height"],function(
|
||
a,b){var c=ch,d,e;a==="cur"?c=cg.prototype:a==="_default"&&
|
||
cf.Tween&&(c=cf.Tween.propHooks[a],a="set"),(d=c[a]
|
||
)&&(c[a]=function(c){return c=b?c:this,e=c.elem,e.attr?
|
||
e.attr(c.prop,a==="cur"?P:c.now):d.apply(this,arguments
|
||
)})}),ch.d=function(a){var b=a.elem;if(!a.started){
|
||
var c=br.init(b,b.d,b.toD);a.start=c[0],a.end=c[1],
|
||
a.started=!0}b.attr("d",br.step(a.start,a.end,a.pos
|
||
,b.toD))}}bT={enabled:!0,align:"center",x:0,y:15,style
|
||
:{color:"#666",fontSize:"11px",lineHeight:"14px"}},
|
||
bo={colors:"#4572A7,#AA4643,#89A54E,#80699B,#3D96AE,#DB843D,#92A8CD,#A47D7C,#B5CA92"
|
||
.split(","),symbols:["circle","diamond","square","triangle"
|
||
,"triangle-down"],lang:{loading:"Loading...",months
|
||
:"January,February,March,April,May,June,July,August,September,October,November,December"
|
||
.split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
|
||
.split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"
|
||
.split(","),decimalPoint:".",resetZoom:"Reset zoom"
|
||
,resetZoomTitle:"Reset zoom level 1:1",thousandsSep
|
||
:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/2.2.5/modules/canvas-tools.js"
|
||
},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType
|
||
:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight
|
||
:10,spacingBottom:15,spacingLeft:10,style:{fontFamily
|
||
:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif'
|
||
,fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor
|
||
:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position
|
||
:{align:"right",x:-10,y:10}}},title:{text:"Chart title"
|
||
,align:"center",y:15,style:{color:"#3E576F",fontSize
|
||
:"16px"}},subtitle:{text:"",align:"center",y:30,style
|
||
:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect
|
||
:!1,showCheckbox:!1,animation:{duration:1e3},events
|
||
:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth
|
||
:0,radius:4,lineColor:"#FFFFFF",states:{hover:{},select
|
||
:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth
|
||
:2}}},point:{events:{}},dataLabels:b$(bT,{enabled:!1
|
||
,y:-6,formatter:function(){return this.y}}),cropThreshold
|
||
:300,pointRange:0,showInLegend:!0,states:{hover:{marker
|
||
:{}},select:{marker:{}}},stickyTracking:!0}},labels
|
||
:{style:{position:"absolute",color:"#3E576F"}},legend
|
||
:{enabled:!0,align:"center",layout:"horizontal",labelFormatter
|
||
:function(){return this.name},borderWidth:1,borderColor
|
||
:"#909090",borderRadius:5,navigation:{activeColor:"#3E576F"
|
||
,inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer"
|
||
,color:"#3E576F",fontSize:"12px"},itemHoverStyle:{color
|
||
:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle
|
||
:{position:"absolute",width:"13px",height:"13px"},symbolWidth
|
||
:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0}
|
||
,loading:{labelStyle:{fontWeight:"bold",position:"relative"
|
||
,top:"1em"},style:{position:"absolute",backgroundColor
|
||
:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled
|
||
:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth
|
||
:2,borderRadius:5,dateTimeLabelFormats:{millisecond
|
||
:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S"
|
||
,minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",
|
||
day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",
|
||
month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>'
|
||
,pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>'
|
||
,shadow:!0,shared:bi,snap:bk?25:10,style:{color:"#333333"
|
||
,fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}
|
||
},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com"
|
||
,position:{align:"right",x:-10,verticalAlign:"bottom"
|
||
,y:-5},style:{cursor:"pointer",color:"#909090",fontSize
|
||
:"10px"}}};var ci=bo.plotOptions,bS=ci.line;F();var cj=
|
||
function(a){var b=[],d;return function(a){(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/
|
||
.exec(a))?b=[c(d[1]),c(d[2]),c(d[3]),parseFloat(d[4
|
||
],10)]:(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/
|
||
.exec(a))&&(b=[c(d[1],16),c(d[2],16),c(d[3],16),1])
|
||
}(a),{get:function(c){return b&&!isNaN(b[0])?c==="rgb"?"rgb("+
|
||
b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join
|
||
(",")+")":a},brighten:function(a){if(g(a)&&a!==0){var d
|
||
;for(d=0;d<3;d++)b[d]+=c(a*255),b[d]<0&&(b[d]=0),b[
|
||
d]>255&&(b[d]=255)}return this},setOpacity:function(
|
||
a){return b[3]=a,this}}};G.prototype={init:function(
|
||
a,b){this.element=b==="span"?p(b):Q.createElementNS
|
||
("http://www.w3.org/2000/svg",b),this.renderer=a,this
|
||
.attrSetters={}},animate:function(a,b,c){b=n(b,bq,!0
|
||
),ce(this),b?(b=b$(b),c&&(b.complete=c),cd(this,a,b
|
||
)):(this.attr(a),c&&c())},attr:function(a,b){var e,
|
||
f,g,h,i=this.element,j=i.nodeName,m=this.renderer,n
|
||
,o=this.attrSetters,p=this.shadows,q,r,s=this;d(a)&&
|
||
k(b)&&(e=a,a={},a[e]=b);if(d(a))e=a,j==="circle"?e=
|
||
{x:"cx",y:"cy"}[e]||e:e==="strokeWidth"&&(e="stroke-width"
|
||
),s=l(i,e)||this[e]||0,e!=="d"&&e!=="visibility"&&(
|
||
s=parseFloat(s));else for(e in a)if(n=!1,f=a[e],g=o
|
||
[e]&&o[e](f,e),g!==!1){g!==P&&(f=g);if(e==="d")f&&f
|
||
.join&&(f=f.join(" ")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0"
|
||
);else if(e==="x"&&j==="text"){for(g=0;g<i.childNodes
|
||
.length;g++)h=i.childNodes[g],l(h,"x")===l(i,"x")&&
|
||
l(h,"x",f);this.rotation&&l(i,"transform","rotate("+
|
||
this.rotation+" "+f+" "+c(a.y||l(i,"y"))+")")}else if(
|
||
e==="fill")f=m.color(f,i,e);else if(j!=="circle"||e!=="x"&&
|
||
e!=="y")if(j==="rect"&&e==="r")l(i,{rx:f,ry:f}),n=!0
|
||
;else if(e==="translateX"||e==="translateY"||e==="rotation"||
|
||
e==="verticalAlign")n=r=!0;else if(e==="stroke")f=m
|
||
.color(f,i,e);else if(e==="dashstyle"){if(e="stroke-dasharray"
|
||
,f=f&&f.toLowerCase(),f==="solid")f=bv;else if(f){f=
|
||
f.replace("shortdashdotdot","3,1,1,1,1,1,").replace
|
||
("shortdashdot","3,1,1,1").replace("shortdot","1,1,"
|
||
).replace("shortdash","3,1,").replace("longdash","8,3,"
|
||
).replace(/dot/g,"1,3,").replace("dash","4,3,").replace
|
||
(/,$/,"").split(",");for(g=f.length;g--;)f[g]=c(f[g
|
||
])*a["stroke-width"];f=f.join(",")}}else e==="isTracker"?
|
||
this[e]=f:e==="width"?f=c(f):e==="align"?(e="text-anchor"
|
||
,f={left:"start",center:"middle",right:"end"}[f]):e==="title"&&
|
||
(g=i.getElementsByTagName("title")[0],g||(g=Q.createElementNS
|
||
("http://www.w3.org/2000/svg","title"),i.appendChild
|
||
(g)),g.textContent=f);else e={x:"cx",y:"cy"}[e]||e;
|
||
e==="strokeWidth"&&(e="stroke-width"),be&&e==="stroke-width"&&
|
||
f===0&&(f=1e-6),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/
|
||
.test(e)&&(q||(this.symbolAttr(a),q=!0),n=!0);if(p&&/^(width|height|visibility|x|y|d|transform)$/
|
||
.test(e))for(g=p.length;g--;)l(p[g],e,e==="height"?
|
||
W(f-(p[g].cutHeight||0),0):f);(e==="width"||e==="height"
|
||
)&&j==="rect"&&f<0&&(f=0),this[e]=f,r&&this.updateTransform
|
||
(),e==="text"?(this.textStr=f,this.added&&m.buildText
|
||
(this)):n||l(i,e,f)}return be&&/Chrome\/(18|19)/.test
|
||
(bb)&&j==="text"&&(a.x!==P||a.y!==P)&&(e=i.parentNode
|
||
,f=i.nextSibling,e&&(e.removeChild(i),f?e.insertBefore
|
||
(i,f):e.appendChild(i))),s},symbolAttr:function(a){
|
||
var b=this;bW("x,y,r,start,end,width,height,innerR,anchorX,anchorY"
|
||
.split(","),function(c){b[c]=n(a[c],b[c])}),b.attr(
|
||
{d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width
|
||
,b.height,b)})},clip:function(a){return this.attr("clip-path"
|
||
,"url("+this.renderer.url+"#"+a.id+")")},crisp:function(
|
||
a,b,c,d,e){var f,g={},h={},i,a=a||this.strokeWidth||
|
||
this.attr&&this.attr("stroke-width")||0;i=T(a)%2/2,
|
||
h.x=U(b||this.x||0)+i,h.y=U(c||this.y||0)+i,h.width=
|
||
U((d||this.width||0)-2*i),h.height=U((e||this.height||0
|
||
)-2*i),h.strokeWidth=a;for(f in h)this[f]!==h[f]&&(
|
||
this[f]=g[f]=h[f]);return g},css:function(b){var c=
|
||
this.element,c=b&&b.width&&c.nodeName==="text",d,e=""
|
||
,f=function(a,b){return"-"+b.toLowerCase()};b&&b.color&&
|
||
(b.fill=b.color),this.styles=b=a(this.styles,b);if(
|
||
bc&&!bg)c&&delete b.width,o(this.element,b);else{for(
|
||
d in b)e+=d.replace(/([A-Z])/g,f)+":"+b[d]+";";this
|
||
.attr({style:e})}return c&&this.added&&this.renderer
|
||
.buildText(this),this},on:function(a,b){var c=b;return bk&&
|
||
a==="click"&&(a="touchstart",c=function(a){a.preventDefault
|
||
(),b()}),this.element["on"+a]=c,this},setRadialReference
|
||
:function(a){return this.element.radialReference=a,
|
||
this},translate:function(a,b){return this.attr({translateX
|
||
:a,translateY:b})},invert:function(){return this.inverted=!0
|
||
,this.updateTransform(),this},htmlCss:function(b){var c=
|
||
this.element;if(c=b&&c.tagName==="SPAN"&&b.width)delete
|
||
b.width,this.textWidth=c,this.updateTransform();return this
|
||
.styles=a(this.styles,b),o(this.element,b),this},htmlGetBBox
|
||
:function(a){var b=this.element,c=this.bBox;if(!c||
|
||
a)b.nodeName==="text"&&(b.style.position="absolute"
|
||
),c=this.bBox={x:b.offsetLeft,y:b.offsetTop,width:b
|
||
.offsetWidth,height:b.offsetHeight};return c},htmlUpdateTransform
|
||
:function(){if(this.added){var a=this.renderer,b=this
|
||
.element,d=this.translateX||0,e=this.translateY||0,
|
||
f=this.x||0,g=this.y||0,h=this.textAlign||"left",i=
|
||
{left:0,center:.5,right:1}[h],j=h&&h!=="left",l=this
|
||
.shadows;if(d||e)o(b,{marginLeft:d,marginTop:e}),l&&
|
||
bW(l,function(a){o(a,{marginLeft:d+1,marginTop:e+1}
|
||
)});this.inverted&&bW(b.childNodes,function(c){a.invertChild
|
||
(c,b)});if(b.tagName==="SPAN"){var m,p,l=this.rotation
|
||
,q;m=0;var r=1,s=0,t;q=c(this.textWidth);var u=this
|
||
.xCorr||0,v=this.yCorr||0,w=[l,h,b.innerHTML,this.textWidth
|
||
].join(",");w!==this.cTT&&(k(l)&&(m=l*ba,r=Z(m),s=$
|
||
(m),o(b,{filter:l?["progid:DXImageTransform.Microsoft.Matrix(M11="
|
||
,r,", M12=",-s,", M21=",s,", M22=",r,", sizingMethod='auto expand')"
|
||
].join(""):bv})),m=n(this.elemWidth,b.offsetWidth),
|
||
p=n(this.elemHeight,b.offsetHeight),m>q&&/[ \-]/.test
|
||
(b.innerText)&&(o(b,{width:q+"px",display:"block",whiteSpace
|
||
:"normal"}),m=q),q=a.fontMetrics(b.style.fontSize).
|
||
b,u=r<0&&-m,v=s<0&&-p,t=r*s<0,u+=s*q*(t?1-i:i),v-=r*
|
||
q*(l?t?i:1-i:1),j&&(u-=m*i*(r<0?-1:1),l&&(v-=p*i*(s<0?-1
|
||
:1)),o(b,{textAlign:h})),this.xCorr=u,this.yCorr=v)
|
||
,o(b,{left:f+u+"px",top:g+v+"px"}),this.cTT=w}}else this
|
||
.alignOnAdd=!0},updateTransform:function(){var a=this
|
||
.translateX||0,b=this.translateY||0,c=this.inverted
|
||
,d=this.rotation,e=[];c&&(a+=this.attr("width"),b+=
|
||
this.attr("height")),(a||b)&&e.push("translate("+a+","+
|
||
b+")"),c?e.push("rotate(90) scale(-1,1)"):d&&e.push
|
||
("rotate("+d+" "+(this.x||0)+" "+(this.y||0)+")"),e
|
||
.length&&l(this.element,"transform",e.join(" "))},toFront
|
||
:function(){var a=this.element;return a.parentNode.
|
||
appendChild(a),this},align:function(a,b,c){a?(this.
|
||
alignOptions=a,this.alignByTranslate=b,c||this.renderer
|
||
.alignedObjects.push(this)):(a=this.alignOptions,b=
|
||
this.alignByTranslate);var c=n(c,this.renderer),d=a
|
||
.align,e=a.verticalAlign,f=(c.x||0)+(a.x||0),g=(c.y||0
|
||
)+(a.y||0),h={};return/^(right|center)$/.test(d)&&(
|
||
f+=(c.width-(a.width||0))/{right:1,center:2}[d]),h[
|
||
b?"translateX":"x"]=T(f),/^(bottom|middle)$/.test(e
|
||
)&&(g+=(c.height-(a.height||0))/({bottom:1,middle:2
|
||
}[e]||1)),h[b?"translateY":"y"]=T(g),this[this.placed?"animate"
|
||
:"attr"](h),this.placed=!0,this.alignAttr=h,this},getBBox
|
||
:function(b){var c,d,e=this.rotation;d=this.element
|
||
;var f=e*ba;if(d.namespaceURI==="http://www.w3.org/2000/svg"||
|
||
this.renderer.forExport){try{c=d.getBBox?a({},d.getBBox
|
||
()):{width:d.offsetWidth,height:d.offsetHeight}}catch(
|
||
g){}if(!c||c.width<0)c={width:0,height:0};b=c.width
|
||
,d=c.height,e&&(c.width=Y(d*$(f))+Y(b*Z(f)),c.height=
|
||
Y(d*Z(f))+Y(b*$(f)))}else c=this.htmlGetBBox(b);return c
|
||
},show:function(){return this.attr({visibility:"visible"
|
||
})},hide:function(){return this.attr({visibility:"hidden"
|
||
})},add:function(a){var b=this.renderer,d=a||b,e=d.
|
||
element||b.box,f=e.childNodes,g=this.element,h=l(g,"zIndex"
|
||
),i;this.parentInverted=a&&a.inverted,this.textStr!==void 0&&
|
||
b.buildText(this),h&&(d.handleZ=!0,h=c(h));if(d.handleZ
|
||
)for(d=0;d<f.length;d++)if(a=f[d],b=l(a,"zIndex"),a!==
|
||
g&&(c(b)>h||!k(h)&&k(b))){e.insertBefore(g,a),i=!0;
|
||
break}return i||e.appendChild(g),this.added=!0,cb(this
|
||
,"add"),this},safeRemoveChild:function(a){var b=a.parentNode
|
||
;b&&b.removeChild(a)},destroy:function(){var a=this
|
||
,b=a.element||{},c=a.shadows,d=a.box,e,f;b.onclick=
|
||
b.onmouseout=b.onmouseover=b.onmousemove=null,ce(a)
|
||
,a.clipPath&&(a.clipPath=a.clipPath.destroy());if(a
|
||
.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops
|
||
[f].destroy();a.stops=null}a.safeRemoveChild(b),c&&
|
||
bW(c,function(b){a.safeRemoveChild(b)}),d&&d.destroy
|
||
(),j(a.renderer.alignedObjects,a);for(e in a)delete
|
||
a[e];return null},empty:function(){for(var a=this.element
|
||
,b=a.childNodes,c=b.length;c--;)a.removeChild(b[c])
|
||
},shadow:function(a,b,c){var d=[],e,f=this.element,
|
||
g,h=this.parentInverted?"(-1,-1)":"(1,1)";if(a){for(
|
||
a=1;a<=3;a++)e=f.cloneNode(0),g=7-2*a,l(e,{isShadow
|
||
:"true",stroke:"rgb(0, 0, 0)","stroke-opacity":.05*
|
||
a,"stroke-width":g,transform:"translate"+h,fill:bv}
|
||
),c&&(l(e,"height",W(l(e,"height")-g,0)),e.cutHeight=
|
||
g),b?b.element.appendChild(e):f.parentNode.insertBefore
|
||
(e,f),d.push(e);this.shadows=d}return this}};var ck=
|
||
function(){this.init.apply(this,arguments)};ck.prototype=
|
||
{Element:G,init:function(a,b,c,d){var e=location,f;
|
||
f=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg"
|
||
,version:"1.1"}),a.appendChild(f.element),this.isSVG=!0
|
||
,this.box=f.element,this.boxWrapper=f,this.alignedObjects=
|
||
[],this.url=bc?"":e.href.replace(/#.*?$/,"").replace
|
||
(/([\('\)])/g,"\\$1"),this.defs=this.createElement("defs"
|
||
).add(),this.forExport=d,this.gradients={},this.setSize
|
||
(b,c,!1);var g;bf&&a.getBoundingClientRect&&(this.subPixelFix=
|
||
b=function(){o(a,{left:0,top:0}),g=a.getBoundingClientRect
|
||
(),o(a,{left:V(g.left)-g.left+"px",top:V(g.top)-g.top+"px"
|
||
})},b(),b_(R,"resize",b))},isHidden:function(){return!
|
||
this.boxWrapper.getBBox().width},destroy:function()
|
||
{var a=this.defs;return this.box=null,this.boxWrapper=
|
||
this.boxWrapper.destroy(),A(this.gradients||{}),this
|
||
.gradients=null,a&&(this.defs=a.destroy()),this.subPixelFix&&
|
||
ca(R,"resize",this.subPixelFix),this.alignedObjects=
|
||
null},createElement:function(a){var b=new this.Element
|
||
;return b.init(this,a),b},draw:function(){},buildText
|
||
:function(a){for(var b=a.element,d=n(a.textStr,"").
|
||
toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">'
|
||
).replace(/<(i|em)>/g,'<span style="font-style:italic">'
|
||
).replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g
|
||
,"</span>").split(/<br.*?>/g),e=b.childNodes,f=/style="([^"]+)"/
|
||
,g=/href="([^"]+)"/,h=l(b,"x"),i=a.styles,j=i&&c(i.
|
||
width),k=i&&i.lineHeight,m,i=e.length,p=[];i--;)b.removeChild
|
||
(e[i]);j&&!a.added&&this.box.appendChild(b),d[d.length-1
|
||
]===""&&d.pop(),bW(d,function(d,e){var i,n=0,q,d=d.
|
||
replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||"
|
||
);i=d.split("|||"),bW(i,function(d){if(d!==""||i.length===1
|
||
){var r={},s=Q.createElementNS("http://www.w3.org/2000/svg"
|
||
,"tspan");f.test(d)&&l(s,"style",d.match(f)[1].replace
|
||
(/(;| |^)color([ :])/,"$1fill$2")),g.test(d)&&(l(s,"onclick"
|
||
,'location.href="'+d.match(g)[1]+'"'),o(s,{cursor:"pointer"
|
||
})),d=(d.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g
|
||
,"<").replace(/>/g,">"),s.appendChild(Q.createTextNode
|
||
(d)),n?r.dx=3:r.x=h;if(!n){if(e){!bg&&a.renderer.forExport&&
|
||
o(s,{display:"block"}),q=R.getComputedStyle&&c(R.getComputedStyle
|
||
(m,null).getPropertyValue("line-height"));if(!q||isNaN
|
||
(q)){var t;(t=k)||(t=m.offsetHeight)||(p[e]=b.getBBox
|
||
().height,t=T(p[e]-(p[e-1]||0))||18),q=t}l(s,"dy",q
|
||
)}m=s}l(s,r),b.appendChild(s),n++;if(j)for(var d=d.
|
||
replace(/-/g,"- ").split(" "),u=[];d.length||u.length
|
||
;)t=a.getBBox().width,r=t>j,!r||d.length===1?(d=u,u=
|
||
[],d.length&&(s=Q.createElementNS("http://www.w3.org/2000/svg"
|
||
,"tspan"),l(s,{dy:k||16,x:h}),b.appendChild(s),t>j&&
|
||
(j=t))):(s.removeChild(s.firstChild),u.unshift(d.pop
|
||
())),d.length&&s.appendChild(Q.createTextNode(d.join
|
||
(" ").replace(/- /g,"-")))}})})},button:function(c,
|
||
d,e,f,g,h,i){var j=this.label(c,d,e),k=0,l,m,n,o,p,
|
||
c={x1:0,y1:0,x2:0,y2:1},g=b$(b("stroke-width",1,"stroke"
|
||
,"#999","fill",b("linearGradient",c,"stops",[[0,"#FFF"
|
||
],[1,"#DDD"]]),"r",3,"padding",3,"style",b("color","black"
|
||
)),g);return n=g.style,delete g.style,h=b$(g,b("stroke"
|
||
,"#68A","fill",b("linearGradient",c,"stops",[[0,"#FFF"
|
||
],[1,"#ACF"]])),h),o=h.style,delete h.style,i=b$(g,
|
||
b("stroke","#68A","fill",b("linearGradient",c,"stops"
|
||
,[[0,"#9BD"],[1,"#CDF"]])),i),p=i.style,delete i.style
|
||
,b_(j.element,"mouseenter",function(){j.attr(h).css
|
||
(o)}),b_(j.element,"mouseleave",function(){l=[g,h,i
|
||
][k],m=[n,o,p][k],j.attr(l).css(m)}),j.setState=function(
|
||
a){(k=a)?a===2&&j.attr(i).css(p):j.attr(g).css(n)},
|
||
j.on("click",function(){f.call(j)}).attr(g).css(a({
|
||
cursor:"default"},n))},crispLine:function(a,b){return a
|
||
[1]===a[4]&&(a[1]=a[4]=T(a[1])+b%2/2),a[2]===a[5]&&
|
||
(a[2]=a[5]=T(a[2])+b%2/2),a},path:function(b){var c=
|
||
{fill:bv};return f(b)?c.d=b:e(b)&&a(c,b),this.createElement
|
||
("path").attr(c)},circle:function(a,b,c){return a=e
|
||
(a)?a:{x:a,y:b,r:c},this.createElement("circle").attr
|
||
(a)},arc:function(a,b,c,d,f,g){return e(a)&&(b=a.y,
|
||
c=a.r,d=a.innerR,f=a.start,g=a.end,a=a.x),this.symbol
|
||
("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:f||0,
|
||
end:g||0})},rect:function(a,b,c,d,f,g){return f=e(a
|
||
)?a.r:f,f=this.createElement("rect").attr({rx:f,ry:
|
||
f,fill:bv}),f.attr(e(a)?a:f.crisp(g,a,b,W(c,0),W(d,0
|
||
)))},setSize:function(a,b,c){var d=this.alignedObjects
|
||
,e=d.length;this.width=a,this.height=b;for(this.boxWrapper
|
||
[n(c,!0)?"animate":"attr"]({width:a,height:b});e--;
|
||
)d[e].align()},g:function(a){var b=this.createElement
|
||
("g");return k(a)?b.attr({"class":"highcharts-"+a})
|
||
:b},image:function(b,c,d,e,f){var g={preserveAspectRatio
|
||
:bv};return arguments.length>1&&a(g,{x:c,y:d,width:
|
||
e,height:f}),g=this.createElement("image").attr(g),
|
||
g.element.setAttributeNS?g.element.setAttributeNS("http://www.w3.org/1999/xlink"
|
||
,"href",b):g.element.setAttribute("hc-svg-href",b),
|
||
g},symbol:function(b,c,d,e,f,g){var h,i=this.symbols
|
||
[b],i=i&&i(T(c),T(d),e,f,g),j=/^url\((.*?)\)$/,k,l;
|
||
return i?(h=this.path(i),a(h,{symbolName:b,x:c,y:d,
|
||
width:e,height:f}),g&&a(h,g)):j.test(b)&&(l=function(
|
||
a,b){a.attr({width:b[0],height:b[1]}),a.alignByTranslate||
|
||
a.translate(-T(b[0]/2),-T(b[1]/2))},k=b.match(j)[1]
|
||
,b=bl[k],h=this.image(k).attr({x:c,y:d}),b?l(h,b):(
|
||
h.attr({width:0,height:0}),p("img",{onload:function(
|
||
){l(h,bl[k]=[this.width,this.height])},src:k}))),h}
|
||
,symbols:{circle:function(a,b,c,d){var e=.166*c;return["M"
|
||
,a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+
|
||
d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M"
|
||
,a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(
|
||
a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]}
|
||
,"triangle-down":function(a,b,c,d){return["M",a,b,"L"
|
||
,a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M"
|
||
,a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:
|
||
function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-1e-6
|
||
,d=e.innerR,h=e.open,i=Z(f),j=$(f),k=Z(g),g=$(g),e=
|
||
e.end-f<_?0:1;return["M",a+c*i,b+c*j,"A",c,c,0,e,1,
|
||
a+c*k,b+c*g,h?"M":"L",a+d*k,b+d*g,"A",d,d,0,e,0,a+d*
|
||
i,b+d*j,h?"":"Z"]}},clipRect:function(a,b,c,d){var e="highcharts-"+
|
||
bm++,f=this.createElement("clipPath").attr({id:e}).
|
||
add(this.defs),a=this.rect(a,b,c,d,0).add(f);return a
|
||
.id=e,a.clipPath=f,a},color:function(b,c,d){var e=this
|
||
,g,h=/^rgba/,i;b&&b.linearGradient?i="linearGradient"
|
||
:b&&b.radialGradient&&(i="radialGradient");if(i){var d=
|
||
b[i],j=e.gradients,m,n,o,c=c.radialReference;if(!d.
|
||
id||!j[d.id])f(d)&&(b[i]=d={x1:d[0],y1:d[1],x2:d[2]
|
||
,y2:d[3],gradientUnits:"userSpaceOnUse"}),i==="radialGradient"&&
|
||
c&&!k(d.gradientUnits)&&a(d,{cx:c[0]-c[2]/2+d.cx*c[2
|
||
],cy:c[1]-c[2]/2+d.cy*c[2],r:d.r*c[2],gradientUnits
|
||
:"userSpaceOnUse"}),d.id="highcharts-"+bm++,j[d.id]=
|
||
m=e.createElement(i).attr(d).add(e.defs),m.stops=[]
|
||
,bW(b.stops,function(a){h.test(a[1])?(g=cj(a[1]),n=
|
||
g.get("rgb"),o=g.get("a")):(n=a[1],o=1),a=e.createElement
|
||
("stop").attr({offset:a[0],"stop-color":n,"stop-opacity"
|
||
:o}).add(m),m.stops.push(a)});return"url("+e.url+"#"+
|
||
d.id+")"}return h.test(b)?(g=cj(b),l(c,d+"-opacity"
|
||
,g.get("a")),g.get("rgb")):(c.removeAttribute(d+"-opacity"
|
||
),b)},text:function(a,b,c,d){var e=bo.chart.style;return d&&!
|
||
this.forExport?this.html(a,b,c):(b=T(n(b,0)),c=T(n(
|
||
c,0)),a=this.createElement("text").attr({x:b,y:c,text
|
||
:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize
|
||
}),a.x=b,a.y=c,a)},html:function(b,c,d){var e=bo.chart
|
||
.style,f=this.createElement("span"),g=f.attrSetters
|
||
,h=f.element,i=f.renderer;return g.text=function(a)
|
||
{return h.innerHTML=a,!1},g.x=g.y=g.align=function(
|
||
a,b){return b==="align"&&(b="textAlign"),f[b]=a,f.htmlUpdateTransform
|
||
(),!1},f.attr({text:b,x:T(c),y:T(d)}).css({position
|
||
:"absolute",whiteSpace:"nowrap",fontFamily:e.fontFamily
|
||
,fontSize:e.fontSize}),f.css=f.htmlCss,i.isSVG&&(f.
|
||
add=function(b){var c,d,e=i.box.parentNode;if(b){if(
|
||
c=b.div,!c)c=b.div=p(bu,{className:l(b.element,"class"
|
||
)},{position:"absolute",left:b.attr("translateX")+"px"
|
||
,top:b.attr("translateY")+"px"},e),d=c.style,a(b.attrSetters
|
||
,{translateX:function(a){d.left=a+"px"},translateY:
|
||
function(a){d.top=a+"px"},visibility:function(a,b){
|
||
d[b]=a}})}else c=e;return c.appendChild(h),f.added=!0
|
||
,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f},fontMetrics
|
||
:function(a){var a=c(a||11),a=a<24?a+4:T(a*1.2),b=T
|
||
(a*.8);return{h:a,b:b}},label:function(b,c,d,e,f,g,
|
||
h,i,j){function l(){var a=p.styles,a=a&&a.textAlign
|
||
,b=u*(1-t),c;c=i?0:B,k(v)&&(a==="center"||a==="right"
|
||
)&&(b+={center:.5,right:1}[a]*(v-s.width)),(b!==q.x||
|
||
c!==q.y)&&q.attr({x:b,y:c}),q.x=b,q.y=c}function m(
|
||
a,b){r?r.attr(a,b):A[a]=b}function n(){p.attr({text
|
||
:b,x:c,y:d}),k(f)&&p.attr({anchorX:f,anchorY:g})}var o=
|
||
this,p=o.g(j),q=o.text("",0,0,h).attr({zIndex:1}).add
|
||
(p),r,s,t=0,u=3,v,w,x,y,z=0,A={},B,h=p.attrSetters;
|
||
b_(p,"add",n),h.width=function(a){return v=a,!1},h.
|
||
height=function(a){return w=a,!1},h.padding=function(
|
||
a){return k(a)&&a!==u&&(u=a,l()),!1},h.align=function(
|
||
a){return t={left:0,center:.5,right:1}[a],!1},h.text=
|
||
function(a,b){q.attr(b,a);var c;return c=q.element.
|
||
style,s=(v===void 0||w===void 0||p.styles.textAlign
|
||
)&&q.getBBox(!0),p.width=(v||s.width||0)+2*u,p.height=
|
||
(w||s.height||0)+2*u,B=u+o.fontMetrics(c&&c.fontSize
|
||
).b,r||(c=i?-B:0,p.box=r=e?o.symbol(e,-t*u,c,p.width
|
||
,p.height):o.rect(-t*u,c,p.width,p.height,0,A["stroke-width"
|
||
]),r.add(p)),r.attr(b$({width:p.width,height:p.height
|
||
},A)),A=null,l(),!1},h["stroke-width"]=function(a,b
|
||
){return z=a%2/2,m(b,a),!1},h.stroke=h.fill=h.r=function(
|
||
a,b){return m(b,a),!1},h.anchorX=function(a,b){return f=
|
||
a,m(b,a+z-x),!1},h.anchorY=function(a,b){return g=a
|
||
,m(b,a-y),!1},h.x=function(a){return p.x=a,a-=t*((v||
|
||
s.width)+u),x=T(a),p.attr("translateX",x),!1},h.y=function(
|
||
a){return y=p.y=T(a),p.attr("translateY",a),!1};var C=
|
||
p.css;return a(p,{css:function(a){if(a){var b={},a=
|
||
b$({},a);bW("fontSize,fontWeight,fontFamily,color,lineHeight,width"
|
||
.split(","),function(c){a[c]!==P&&(b[c]=a[c],delete
|
||
a[c])}),q.css(b)}return C.call(p,a)},getBBox:function(
|
||
){return r.getBBox()},shadow:function(a){return r.shadow
|
||
(a),p},destroy:function(){ca(p,"add",n),ca(p.element
|
||
,"mouseenter"),ca(p.element,"mouseleave"),q&&(q=q.destroy
|
||
()),G.prototype.destroy.call(p)}})}},bj=ck;var cl;if(!
|
||
bg&&!bi){cl={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'
|
||
],d=["position: ","absolute",";"];(b==="shape"||b===
|
||
bu)&&d.push("left:0;top:0;width:1px;height:1px;"),bd&&
|
||
d.push("visibility: ",b===bu?"hidden":"visible"),c.
|
||
push(' style="',d.join(""),'"/>'),b&&(c=b===bu||b==="span"||
|
||
b==="img"?c.join(""):a.prepVML(c),this.element=p(c)
|
||
),this.renderer=a,this.attrSetters={}},add:function(
|
||
a){var b=this.renderer,c=this.element,d=b.box,d=a?a
|
||
.element||a:d;return a&&a.inverted&&b.invertChild(c
|
||
,d),bd&&d.gVis==="hidden"&&o(c,{visibility:"hidden"
|
||
}),d.appendChild(c),this.added=!0,this.alignOnAdd&&!
|
||
this.deferUpdateTransform&&this.updateTransform(),cb
|
||
(this,"add"),this},toggleChildren:function(a,b){for(
|
||
var c=a.childNodes,d=c.length;d--;)o(c[d],{visibility
|
||
:b}),c[d].nodeName==="DIV"&&this.toggleChildren(c[d
|
||
],b)},updateTransform:G.prototype.htmlUpdateTransform
|
||
,attr:function(a,b){var c,e,f,h=this.element||{},i=
|
||
h.style,j=h.nodeName,m=this.renderer,n=this.symbolName
|
||
,o,q=this.shadows,r,s=this.attrSetters,t=this;d(a)&&
|
||
k(b)&&(c=a,a={},a[c]=b);if(d(a))c=a,t=c==="strokeWidth"||
|
||
c==="stroke-width"?this.strokeweight:this[c];else for(
|
||
c in a)if(e=a[c],r=!1,f=s[c]&&s[c](e,c),f!==!1&&e!==
|
||
null){f!==P&&(e=f);if(n&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/
|
||
.test(c))o||(this.symbolAttr(a),o=!0),r=!0;else if(
|
||
c==="d"){e=e||[],this.d=e.join(" "),f=e.length;for(
|
||
r=[];f--;)r[f]=g(e[f])?T(e[f]*10)-5:e[f]==="Z"?"x":
|
||
e[f];e=r.join(" ")||"x",h.path=e;if(q)for(f=q.length
|
||
;f--;)q[f].path=q[f].cutOff?this.cutOffPath(e,q[f].
|
||
cutOff):e;r=!0}else c==="zIndex"||c==="visibility"?
|
||
(bd&&c==="visibility"&&j==="DIV"&&(h.gVis=e,this.toggleChildren
|
||
(h,e),e==="visible"&&(e=null)),e&&(i[c]=e),r=!0):c==="width"||
|
||
c==="height"?(e=W(0,e),this[c]=e,this.updateClipping?
|
||
(this[c]=e,this.updateClipping()):i[c]=e,r=!0):c==="x"||
|
||
c==="y"?(this[c]=e,i[{x:"left",y:"top"}[c]]=e):c==="class"?
|
||
h.className=e:c==="stroke"?(e=m.color(e,h,c),c="strokecolor"
|
||
):c==="stroke-width"||c==="strokeWidth"?(h.stroked=
|
||
e?!0:!1,c="strokeweight",this[c]=e,g(e)&&(e+="px"))
|
||
:c==="dashstyle"?((h.getElementsByTagName("stroke")
|
||
[0]||p(m.prepVML(["<stroke/>"]),null,null,h))[c]=e||"solid"
|
||
,this.dashstyle=e,r=!0):c==="fill"?j==="SPAN"?i.color=
|
||
e:(h.filled=e!==bv?!0:!1,e=m.color(e,h,c),c="fillcolor"
|
||
):j==="shape"&&c==="rotation"?this[c]=e:c==="translateX"||
|
||
c==="translateY"||c==="rotation"?(this[c]=e,this.updateTransform
|
||
(),r=!0):c==="text"&&(this.bBox=null,h.innerHTML=e,
|
||
r=!0);if(q&&c==="visibility")for(f=q.length;f--;)q[
|
||
f].style[c]=e;r||(bd?h[c]=e:l(h,c,e))}return t},clip
|
||
:function(a){var b=this,c=a.members,d=b.element,e=d
|
||
.parentNode;return c.push(b),b.destroyClip=function(
|
||
){j(c,b)},e&&e.className==="highcharts-tracker"&&!bd&&
|
||
o(d,{visibility:"hidden"}),b.css(a.getCSS(b))},css:
|
||
G.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&
|
||
B(a)},destroy:function(){return this.destroyClip&&this
|
||
.destroyClip(),G.prototype.destroy.apply(this)},empty
|
||
:function(){for(var a=this.element.childNodes,b=a.length
|
||
,c;b--;)c=a[b],c.parentNode.removeChild(c)},on:function(
|
||
a,b){return this.element["on"+a]=function(){var a=R
|
||
.event;a.target=a.srcElement,b(a)},this},cutOffPath
|
||
:function(a,b){var d,a=a.split(/[ ,]/);d=a.length;if(
|
||
d===9||d===11)a[d-4]=a[d-2]=c(a[d-2])-10*b;return a
|
||
.join(" ")},shadow:function(a,b,d){var e=[],f=this.
|
||
element,g=this.renderer,h,i=f.style,j,k=f.path,l,m;
|
||
k&&typeof k.value!="string"&&(k="x"),m=k;if(a){for(
|
||
a=1;a<=3;a++)l=7-2*a,d&&(m=this.cutOffPath(k.value,
|
||
l+.5)),j=['<shape isShadow="true" strokeweight="',7-2*
|
||
a,'" filled="false" path="',m,'" coordsize="10 10" style="'
|
||
,f.style.cssText,'" />'],h=p(g.prepVML(j),null,{left
|
||
:c(i.left)+1,top:c(i.top)+1}),d&&(h.cutOff=l+1),j=['<stroke color="black" opacity="'
|
||
,.05*a,'"/>'],p(g.prepVML(j),null,null,h),b?b.element
|
||
.appendChild(h):f.parentNode.insertBefore(h,f),e.push
|
||
(h);this.shadows=e}return this}},cl=q(G,cl);var cm=
|
||
{Element:cl,isIE8:bb.indexOf("MSIE 8.0")>-1,init:function(
|
||
a,b,c){var d,e;this.alignedObjects=[],d=this.createElement
|
||
(bu),e=d.element,e.style.position="relative",a.appendChild
|
||
(d.element),this.box=e,this.boxWrapper=d,this.setSize
|
||
(b,c,!1),Q.namespaces.hcv||(Q.namespaces.add("hcv","urn:schemas-microsoft-com:vml"
|
||
),Q.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "
|
||
)},isHidden:function(){return!this.box.offsetWidth}
|
||
,clipRect:function(b,c,d,e){var f=this.createElement
|
||
();return a(f,{members:[],left:b,top:c,width:d,height
|
||
:e,getCSS:function(b){var c=b.inverted,d=this.top,e=
|
||
this.left,f=e+this.width,g=d+this.height,d={clip:"rect("+
|
||
T(c?e:d)+"px,"+T(c?g:f)+"px,"+T(c?f:g)+"px,"+T(c?d:
|
||
e)+"px)"};return!c&&bd&&b.element.nodeName!=="IMG"&&
|
||
a(d,{width:f+"px",height:g+"px"}),d},updateClipping
|
||
:function(){bW(f.members,function(a){a.css(f.getCSS
|
||
(a))})}})},color:function(a,b,c){var d,e=/^rgba/,f,
|
||
g=bv;a&&a.linearGradient?f="gradient":a&&a.radialGradient&&
|
||
(f="pattern");if(f){var h,i,j=a.linearGradient||a.radialGradient
|
||
,k,l,m,n,o,q,r="",a=a.stops,s,t=[];l=a[0],s=a[a.length-1
|
||
],l[0]>0&&a.unshift([0,l[1]]),s[0]<1&&a.push([1,s[1
|
||
]]),bW(a,function(a,b){e.test(a[1])?(d=cj(a[1]),h=d
|
||
.get("rgb"),i=d.get("a")):(h=a[1],i=1),t.push(a[0]*100+"% "+
|
||
h),b?(n=i,o=h):(m=i,q=h)}),f==="gradient"?(k=j.x1||
|
||
j[0]||0,a=j.y1||j[1]||0,l=j.x2||j[2]||0,j=j.y2||j[3
|
||
]||0,k=90-S.atan((j-a)/(l-k))*180/_):(g=j.r*2,r='src="http://code.highcharts.com/gfx/radial-gradient.png" size="'+
|
||
g+","+g+'" origin="0.5,0.5" position="'+j.cx+","+j.
|
||
cy+'" color2="'+q+'" ',g=o),c==="fill"?(c=['<fill colors="'+
|
||
t.join(",")+'" angle="',k,'" opacity="',n,'" o:opacity2="'
|
||
,m,'" type="',f,'" ',r,'focus="100%" method="any" />'
|
||
],p(this.prepVML(c),null,null,b)):g=h}else e.test(a
|
||
)&&b.tagName!=="IMG"?(d=cj(a),c=["<",c,' opacity="'
|
||
,d.get("a"),'"/>'],p(this.prepVML(c),null,null,b),g=
|
||
d.get("rgb")):(b=b.getElementsByTagName(c),b.length&&
|
||
(b[0].opacity=1),g=a);return g},prepVML:function(a)
|
||
{var b=this.isIE8,a=a.join("");return b?(a=a.replace
|
||
("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),
|
||
a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'
|
||
):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);'
|
||
)):a=a.replace("<","<hcv:"),a},text:ck.prototype.html
|
||
,path:function(b){var c={coordsize:"10 10"};return f
|
||
(b)?c.d=b:e(b)&&a(c,b),this.createElement("shape").
|
||
attr(c)},circle:function(a,b,c){return this.symbol("circle"
|
||
).attr({x:a-c,y:b-c,width:2*c,height:2*c})},g:function(
|
||
a){var b;return a&&(b={className:"highcharts-"+a,"class"
|
||
:"highcharts-"+a}),this.createElement(bu).attr(b)},
|
||
image:function(a,b,c,d,e){var f=this.createElement("img"
|
||
).attr({src:a});return arguments.length>1&&f.css({left
|
||
:b,top:c,width:d,height:e}),f},rect:function(a,b,c,
|
||
d,f,g){e(a)&&(b=a.y,c=a.width,d=a.height,g=a.strokeWidth
|
||
,a=a.x);var h=this.symbol("rect");return h.r=f,h.attr
|
||
(h.crisp(g,a,b,W(c,0),W(d,0)))},invertChild:function(
|
||
a,b){var d=b.style;o(a,{flip:"x",left:c(d.width)-1,
|
||
top:c(d.height)-1,rotation:-90})},symbols:{arc:function(
|
||
a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=Z(f)
|
||
,d=$(f),i=Z(g),j=$(g),k=e.innerR,l=.08/h,m=k&&.1/k||0
|
||
;return g-f===0?["x"]:(2*_-g+f<l?i=-l:g-f<m&&(i=Z(f+
|
||
m)),f=["wa",a-h,b-h,a+h,b+h,a+h*c,b+h*d,a+h*i,b+h*j
|
||
],e.open&&f.push("M",a-k,b-k),f.push("at",a-k,b-k,a+
|
||
k,b+k,a+k*i,b+k*j,a+k*c,b+k*d,"x","e"),f)},circle:function(
|
||
a,b,c,d){return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2
|
||
,"e"]},rect:function(a,b,c,d,e){var f=a+c,g=b+d,h;return!
|
||
k(e)||!e.r?f=ck.prototype.symbols.square.apply(0,arguments
|
||
):(h=X(e.r,c,d),f=["M",a+h,b,"L",f-h,b,"wa",f-2*h,b
|
||
,f,b+2*h,f-h,b,f,b+h,"L",f,g-h,"wa",f-2*h,g-2*h,f,g
|
||
,f,g-h,f-h,g,"L",a+h,g,"wa",a,g-2*h,a+2*h,g,a+h,g,a
|
||
,g-h,"L",a,b+h,"wa",a,b,a+2*h,b+2*h,a,b+h,a+h,b,"x"
|
||
,"e"]),f}}};cl=function(){this.init.apply(this,arguments
|
||
)},cl.prototype=b$(ck.prototype,cm),bj=cl}var cn,co
|
||
;bi&&(cn=function(){},cn.prototype.symbols={},co=function(
|
||
){function a(){var a=b.length,c;for(c=0;c<a;c++)b[c
|
||
]();b=[]}var b=[];return{push:function(c,d){b.length===0&&
|
||
bV(d,a),b.push(c)}}}()),bj=cl||cn||ck,H.prototype={
|
||
addLabel:function(){var b=this.axis,c=b.options,d=b
|
||
.chart,e=b.horiz,f=b.categories,h=this.pos,j=c.labels
|
||
,l=b.tickPositions,e=f&&e&&f.length&&!j.step&&!j.staggerLines&&!
|
||
j.rotation&&d.plotWidth/l.length||!e&&d.plotWidth/2
|
||
,m=h===l[0],n=h===l[l.length-1],o=f&&k(f[h])?f[h]:h
|
||
,f=this.label,l=l.info,p;b.isDatetimeAxis&&l&&(p=c.
|
||
dateTimeLabelFormats[l.higherRanks[h]||l.unitName])
|
||
,this.isFirst=m,this.isLast=n,c=b.labelFormatter.call
|
||
({axis:b,chart:d,isFirst:m,isLast:n,dateTimeLabelFormat
|
||
:p,value:b.isLog?D(i(o)):o}),h=e&&{width:W(1,T(e-2*
|
||
(j.padding||10)))+"px"},h=a(h,j.style),k(f)?f&&f.attr
|
||
({text:c}).css(h):(e={align:j.align},g(j.rotation)&&
|
||
(e.rotation=j.rotation),this.label=k(c)&&j.enabled?
|
||
d.renderer.text(c,0,0,j.useHTML).attr(e).css(h).add
|
||
(b.axisGroup):null)},getLabelSize:function(){var a=
|
||
this.label,b=this.axis;return a?(this.labelBBox=a.getBBox
|
||
(!0))[b.horiz?"height":"width"]:0},getLabelSides:function(
|
||
){var a=this.axis.options.labels,b=this.labelBBox.width
|
||
,a=b*{left:0,center:.5,right:1}[a.align]-a.x;return[-
|
||
a,b-a]},handleOverflow:function(a,b){var c=!0,d=this
|
||
.axis,e=d.chart,f=this.isFirst,g=this.isLast,h=b.x,
|
||
i=d.reversed,j=d.tickPositions;if(f||g){var k=this.
|
||
getLabelSides(),l=k[0],k=k[1],e=e.plotLeft,m=e+d.len
|
||
,j=(d=d.ticks[j[a+(f?1:-1)]])&&d.label.xy.x+d.getLabelSides
|
||
()[f?0:1];f&&!i||g&&i?h+l<e&&(h=e-l,d&&h+k>j&&(c=!1
|
||
)):h+k>m&&(h=m-k,d&&h+l<j&&(c=!1)),b.x=h}return c},
|
||
getPosition:function(a,b,c,d){var e=this.axis,f=e.chart
|
||
,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.
|
||
translate(b+c,null,null,d)+e.transB:e.left+e.offset+
|
||
(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-
|
||
e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height
|
||
:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition
|
||
:function(a,b,d,e,f,g,h,i){var j=this.axis,l=j.transA
|
||
,m=j.reversed,j=j.staggerLines,a=a+f.x-(g&&e?g*l*(m?-1
|
||
:1):0),b=b+f.y-(g&&!e?g*l*(m?1:-1):0);return k(f.y)||
|
||
(b+=c(d.styles.lineHeight)*.9-d.getBBox().height/2)
|
||
,j&&(b+=h/(i||1)%j*16),{x:a,y:b}},getMarkPath:function(
|
||
a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0
|
||
:-c),b+(e?c:0)],d)},render:function(a,b){var c=this
|
||
.axis,d=c.options,e=c.chart.renderer,f=c.horiz,g=this
|
||
.type,h=this.label,i=this.pos,j=d.labels,k=this.gridLine
|
||
,l=g?g+"Grid":"grid",m=g?g+"Tick":"tick",o=d[l+"LineWidth"
|
||
],p=d[l+"LineColor"],q=d[l+"LineDashStyle"],r=d[m+"Length"
|
||
],l=d[m+"Width"]||0,s=d[m+"Color"],t=d[m+"Position"
|
||
],m=this.mark,u=j.step,v=!0,w=d.categories&&d.tickmarkPlacement==="between"?.5
|
||
:0,x=this.getPosition(f,i,w,b),y=x.x,x=x.y,z=c.staggerLines
|
||
;o&&(i=c.getPlotLinePath(i+w,o,b),k===P&&(k={stroke
|
||
:p,"stroke-width":o},q&&(k.dashstyle=q),g||(k.zIndex=1
|
||
),this.gridLine=k=o?e.path(i).attr(k).add(c.gridGroup
|
||
):null),!b&&k&&i&&k[this.isNew?"attr":"animate"]({d
|
||
:i})),l&&(t==="inside"&&(r=-r),c.opposite&&(r=-r),g=
|
||
this.getMarkPath(y,x,r,l,f,e),m?m.animate({d:g}):this
|
||
.mark=e.path(g).attr({stroke:s,"stroke-width":l}).add
|
||
(c.axisGroup)),h&&!isNaN(y)&&(h.xy=x=this.getLabelPosition
|
||
(y,x,h,f,j,w,a,u),this.isFirst&&!n(d.showFirstLabel
|
||
,1)||this.isLast&&!n(d.showLastLabel,1)?v=!1:!z&&f&&
|
||
j.overflow==="justify"&&!this.handleOverflow(a,x)&&
|
||
(v=!1),u&&a%u&&(v=!1),v?(h[this.isNew?"attr":"animate"
|
||
](x),h.show(),this.isNew=!1):h.hide())},destroy:function(
|
||
){A(this,this.axis)}},I.prototype={render:function(
|
||
){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2
|
||
,e=a.options,f=e.label,g=a.label,i=e.width,j=e.to,l=
|
||
e.from,m=k(l)&&k(j),o=e.value,p=e.dashStyle,q=a.svgElem
|
||
,r=[],s,t=e.color,u=e.zIndex,v=e.events,w=b.chart.renderer
|
||
;b.isLog&&(l=h(l),j=h(j),o=h(o));if(i){if(r=b.getPlotLinePath
|
||
(o,i),d={stroke:t,"stroke-width":i},p)d.dashstyle=p
|
||
}else{if(!m)return;if(l=W(l,b.min-d),j=X(j,b.max+d)
|
||
,r=b.getPlotBandPath(l,j,e),d={fill:t},e.borderWidth
|
||
)d.stroke=e.borderColor,d["stroke-width"]=e.borderWidth
|
||
}k(u)&&(d.zIndex=u);if(q)r?q.animate({d:r},null,q.onGetPath
|
||
):(q.hide(),q.onGetPath=function(){q.show()});else if(
|
||
r&&r.length&&(a.svgElem=q=w.path(r).attr(d).add(),v
|
||
))for(s in e=function(b){q.on(b,function(c){v[b].apply
|
||
(a,[c])})},v)e(s);return f&&k(f.text)&&r&&r.length&&
|
||
b.width>0&&b.height>0?(f=b$({align:c&&m&&"center",x
|
||
:c?!m&&4:10,verticalAlign:!c&&m&&"middle",y:c?m?16:10
|
||
:m?6:-4,rotation:c&&!m&&90},f),g||(a.label=g=w.text
|
||
(f.text,0,0).attr({align:f.textAlign||f.align,rotation
|
||
:f.rotation,zIndex:u}).css(f.style).add()),b=[r[1],
|
||
r[4],n(r[6],r[1])],r=[r[2],r[5],n(r[7],r[2])],c=y(b
|
||
),m=y(r),g.align(f,!1,{x:c,y:m,width:z(b)-c,height:
|
||
z(r)-m}),g.show()):g&&g.hide(),a},destroy:function(
|
||
){j(this.axis.plotLinesAndBands,this),A(this,this.axis
|
||
)}},J.prototype={destroy:function(){A(this,this.axis
|
||
)},setTotal:function(a){this.cum=this.total=a},render
|
||
:function(a){var b=this.options.formatter.call(this
|
||
);this.label?this.label.attr({text:b,visibility:"hidden"
|
||
}):this.label=this.axis.chart.renderer.text(b,0,0).
|
||
css(this.options.style).attr({align:this.textAlign,
|
||
rotation:this.options.rotation,visibility:"hidden"}
|
||
).add(a)},setOffset:function(a,b){var c=this.axis,d=
|
||
c.chart,e=d.inverted,f=this.isNegative,g=c.translate
|
||
(this.total,0,0,0,1),c=c.translate(0),c=Y(g-c),h=d.
|
||
xAxis[0].translate(this.x)+a,d=d.plotHeight,e={x:e?
|
||
f?g:g-c:h,y:e?d-h-b:f?d-g-c:d-g,width:e?c:b,height:
|
||
e?b:c};this.label&&this.label.align(this.alignOptions
|
||
,null,e).attr({visibility:"visible"})}},K.prototype=
|
||
{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L"
|
||
,second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b"
|
||
,week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1
|
||
,gridLineColor:"#C0C0C0",labels:bT,lineColor:"#C0D0E0"
|
||
,lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor
|
||
:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0"
|
||
,minorTickLength:2,minorTickPosition:"outside",startOfWeek
|
||
:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,
|
||
tickmarkPlacement:"between",tickPixelInterval:100,tickPosition
|
||
:"outside",tickWidth:1,title:{align:"middle",style:
|
||
{color:"#6D869F",fontWeight:"bold"}},type:"linear"}
|
||
,defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,
|
||
tickPixelInterval:72,showLastLabel:!0,labels:{align
|
||
:"right",x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding
|
||
:.05,startOnTick:!0,tickWidth:0,title:{rotation:270
|
||
,text:"Y-values"},stackLabels:{enabled:!1,formatter
|
||
:function(){return this.total},style:bT.style}},defaultLeftAxisOptions
|
||
:{labels:{align:"right",x:-8,y:null},title:{rotation
|
||
:270}},defaultRightAxisOptions:{labels:{align:"left"
|
||
,x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions
|
||
:{labels:{align:"center",x:0,y:14},title:{rotation:0
|
||
}},defaultTopAxisOptions:{labels:{align:"center",x:0
|
||
,y:-5},title:{rotation:0}},init:function(a,b){var c=
|
||
b.isX;this.horiz=a.inverted?!c:c,this.xOrY=(this.isXAxis=
|
||
c)?"x":"y",this.opposite=b.opposite,this.side=this.
|
||
horiz?this.opposite?0:2:this.opposite?1:3,this.setOptions
|
||
(b);var d=this.options,e=d.type,f=e==="datetime";this
|
||
.labelFormatter=d.labels.formatter||this.defaultLabelFormatter
|
||
,this.staggerLines=this.horiz&&d.labels.staggerLines
|
||
,this.userOptions=b,this.minPixelPadding=0,this.chart=
|
||
a,this.reversed=d.reversed,this.categories=d.categories
|
||
,this.isLog=e==="logarithmic",this.isLinked=k(d.linkedTo
|
||
),this.isDatetimeAxis=f,this.ticks={},this.minorTicks=
|
||
{},this.plotLinesAndBands=[],this.alternateBands={}
|
||
,this.len=0,this.minRange=this.userMinRange=d.minRange||
|
||
d.maxZoom,this.range=d.range,this.offset=d.offset||0
|
||
,this.stacks={},this.min=this.max=null;var g,d=this
|
||
.options.events;a.axes.push(this),a[c?"xAxis":"yAxis"
|
||
].push(this),this.series=[],a.inverted&&c&&this.reversed===
|
||
P&&(this.reversed=!0),this.removePlotLine=this.removePlotBand=
|
||
this.removePlotBandOrLine,this.addPlotLine=this.addPlotBand=
|
||
this.addPlotBandOrLine;for(g in d)b_(this,g,d[g]);this
|
||
.isLog&&(this.val2lin=h,this.lin2val=i)},setOptions
|
||
:function(a){this.options=b$(this.defaultOptions,this
|
||
.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions
|
||
,this.defaultRightAxisOptions,this.defaultBottomAxisOptions
|
||
,this.defaultLeftAxisOptions][this.side],a)},defaultLabelFormatter
|
||
:function(){var a=this.axis,b=this.value,c=a.tickInterval
|
||
,d=this.dateTimeLabelFormat;return a.categories?b:d?
|
||
bp(d,b):c%1e6===0?b/1e6+"M":c%1e3===0?b/1e3+"k":b>=1e3?
|
||
r(b,0):r(b,-1)},getSeriesExtremes:function(){var a=
|
||
this,b=a.chart,c=a.stacks,d=[],e=[],f;a.dataMin=a.dataMax=
|
||
null,bW(a.series,function(g){if(g.visible||!b.options
|
||
.chart.ignoreHiddenSeries){var h=g.options,i,j,l,m,
|
||
o,p,q,r,s,t=h.threshold,u,v=[],w=0;a.isLog&&t<=0&&(
|
||
t=h.threshold=null);if(a.isXAxis){if(h=g.xData,h.length
|
||
)a.dataMin=X(n(a.dataMin,h[0]),y(h)),a.dataMax=W(n(
|
||
a.dataMax,h[0]),z(h))}else{var x,A,B,C=g.cropped,D=
|
||
g.xAxis.getExtremes(),E=!!g.modifyValue;i=h.stacking
|
||
,a.usePercentage=i==="percent",i&&(o=h.stack,m=g.type+
|
||
n(o,""),p="-"+m,g.stackKey=m,j=d[m]||[],d[m]=j,l=e[
|
||
p]||[],e[p]=l),a.usePercentage&&(a.dataMin=0,a.dataMax=99
|
||
),h=g.processedXData,q=g.processedYData,u=q.length;
|
||
for(f=0;f<u;f++)if(r=h[f],s=q[f],s!==null&&s!==P&&(
|
||
i?(A=(x=s<t)?l:j,B=x?p:m,s=A[r]=k(A[r])?A[r]+s:s,c[
|
||
B]||(c[B]={}),c[B][r]||(c[B][r]=new J(a,a.options.stackLabels
|
||
,x,r,o)),c[B][r].setTotal(s)):E&&(s=g.modifyValue(s
|
||
)),C||(h[f+1]||r)>=D.min&&(h[f-1]||r)<=D.max))if(r=
|
||
s.length)for(;r--;)s[r]!==null&&(v[w++]=s[r]);else v
|
||
[w++]=s;!a.usePercentage&&v.length&&(a.dataMin=X(n(
|
||
a.dataMin,v[0]),y(v)),a.dataMax=W(n(a.dataMax,v[0])
|
||
,z(v))),k(t)&&(a.dataMin>=t?(a.dataMin=t,a.ignoreMinPadding=!0
|
||
):a.dataMax<t&&(a.dataMax=t,a.ignoreMaxPadding=!0))
|
||
}}})},translate:function(a,b,c,d,e){var f=this.len,
|
||
g=1,h=0,i=d?this.oldTransA:this.transA,d=d?this.oldMin
|
||
:this.min,e=this.options.ordinal||this.isLog&&e;return i||
|
||
(i=this.transA),c&&(g*=-1,h=f),this.reversed&&(g*=-1
|
||
,h-=g*f),b?(this.reversed&&(a=f-a),a=a/i+d,e&&(a=this
|
||
.lin2val(a))):(e&&(a=this.val2lin(a)),a=g*(a-d)*i+h+
|
||
g*this.minPixelPadding),a},getPlotLinePath:function(
|
||
a,b,c){var d=this.chart,e=this.left,f=this.top,g,h,
|
||
i,a=this.translate(a,null,null,c),j=c&&d.oldChartHeight||
|
||
d.chartHeight,k=c&&d.oldChartWidth||d.chartWidth,l;
|
||
g=this.transB,c=h=T(a+g),g=i=T(j-a-g);if(isNaN(a))l=!0
|
||
;else if(this.horiz){if(g=f,i=j-this.bottom,c<e||c>
|
||
e+this.width)l=!0}else if(c=e,h=k-this.right,g<f||g>
|
||
f+this.height)l=!0;return l?null:d.renderer.crispLine
|
||
(["M",c,g,"L",h,i],b||0)},getPlotBandPath:function(
|
||
a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath
|
||
(a);return d&&c?d.push(c[4],c[5],c[1],c[2]):d=null,
|
||
d},getLinearTickPositions:function(a,b,c){for(var d
|
||
,b=D(U(b/a)*a),c=D(V(c/a)*a),e=[];b<=c;){e.push(b),
|
||
b=D(b+a);if(b===d)break;d=b}return e},getLogTickPositions
|
||
:function(a,b,c,d){var e=this.options,f=this.len,g=
|
||
[];d||(this._minorAutoInterval=null);if(a>=.5)a=T(a
|
||
),g=this.getLinearTickPositions(a,b,c);else if(a>=.08
|
||
)for(var f=U(b),j,k,l,m,o,e=a>.3?[1,2,4]:a>.15?[1,2
|
||
,4,6,8]:[1,2,3,4,5,6,7,8,9];f<c+1&&!o;f++){k=e.length
|
||
;for(j=0;j<k&&!o;j++)l=h(i(f)*e[j]),l>b&&g.push(m),
|
||
m>c&&(o=!0),m=l}else if(b=i(b),c=i(c),a=e[d?"minorTickInterval"
|
||
:"tickInterval"],a=n(a==="auto"?null:a,this._minorAutoInterval
|
||
,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions
|
||
.length:f)||1)),a=t(a,null,S.pow(10,U(S.log(a)/S.LN10
|
||
))),g=bZ(this.getLinearTickPositions(a,b,c),h),!d)this
|
||
._minorAutoInterval=a/5;return d||(this.tickInterval=
|
||
a),g},getMinorTickPositions:function(){var a=this.tickPositions
|
||
,b=this.minorTickInterval,c=[],d,e;if(this.isLog){e=
|
||
a.length;for(d=1;d<e;d++)c=c.concat(this.getLogTickPositions
|
||
(b,a[d-1],a[d],!0))}else for(a=this.min+(a[0]-this.
|
||
min)%b;a<=this.max;a+=b)c.push(a);return c},adjustForMinRange
|
||
:function(){var a=this.options,b=this.min,c=this.max
|
||
,d,e=this.dataMax-this.dataMin>=this.minRange,f,g,h
|
||
,i,j;this.isXAxis&&this.minRange===P&&!this.isLog&&
|
||
(k(a.min)||k(a.max)?this.minRange=null:(bW(this.series
|
||
,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1
|
||
;g>0;g--)if(h=i[g]-i[g-1],f===P||h<f)f=h}),this.minRange=
|
||
X(f*5,this.dataMax-this.dataMin)));if(c-b<this.minRange
|
||
){var l=this.minRange;d=(l-c+b)/2,d=[b-d,n(a.min,b-
|
||
d)],e&&(d[2]=this.dataMin),b=z(d),c=[b+l,n(a.max,b+
|
||
l)],e&&(c[2]=this.dataMax),c=y(c),c-b<l&&(d[0]=c-l,
|
||
d[1]=n(a.min,c-l),b=z(d))}this.min=b,this.max=c},setAxisTranslation
|
||
:function(){var a=this.max-this.min,b=0,c,d,e=this.
|
||
transA;this.isXAxis&&(this.isLinked?b=this.linkedParent
|
||
.pointRange:bW(this.series,function(a){b=W(b,a.pointRange
|
||
),d=a.closestPointRange,!a.noSharedTooltip&&k(d)&&(
|
||
c=k(c)?X(c,d):d)}),this.pointRange=b,this.closestPointRange=
|
||
c),this.oldTransA=e,this.translationSlope=this.transA=
|
||
e=this.len/(a+b||1),this.transB=this.horiz?this.left
|
||
:this.bottom,this.minPixelPadding=e*(b/2)},setTickPositions
|
||
:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog
|
||
,f=b.isDatetimeAxis,g=b.isXAxis,i=b.isLinked,j=b.options
|
||
.tickPositioner,l=d.maxPadding,m=d.minPadding,o=d.tickInterval
|
||
,p=d.tickPixelInterval,q=b.categories;i?(b.linkedParent=
|
||
c[g?"xAxis":"yAxis"][d.linkedTo],c=b.linkedParent.getExtremes
|
||
(),b.min=n(c.min,c.dataMin),b.max=n(c.max,c.dataMax
|
||
),d.type!==b.linkedParent.options.type&&C(11,1)):(b
|
||
.min=n(b.userMin,d.min,b.dataMin),b.max=n(b.userMax
|
||
,d.max,b.dataMax)),e&&(!a&&X(b.min,n(b.dataMin,b.min
|
||
))<=0&&C(10,1),b.min=D(h(b.min)),b.max=D(h(b.max)))
|
||
,b.range&&(b.userMin=b.min=W(b.min,b.max-b.range),b
|
||
.userMax=b.max,a)&&(b.range=null),b.adjustForMinRange
|
||
(),!q&&!b.usePercentage&&!i&&k(b.min)&&k(b.max)&&(c=
|
||
b.max-b.min||1,!k(d.min)&&!k(b.userMin)&&m&&(b.dataMin<0||!
|
||
b.ignoreMinPadding)&&(b.min-=c*m),!k(d.max)&&!k(b.userMax
|
||
)&&l&&(b.dataMax>0||!b.ignoreMaxPadding)&&(b.max+=c*
|
||
l)),b.tickInterval=b.min===b.max||b.min===void 0||b
|
||
.max===void 0?1:i&&!o&&p===b.linkedParent.options.tickPixelInterval?
|
||
b.linkedParent.tickInterval:n(o,q?1:(b.max-b.min)*p/
|
||
(b.len||1)),g&&!a&&bW(b.series,function(a){a.processData
|
||
(b.min!==b.oldMin||b.max!==b.oldMax)}),b.setAxisTranslation
|
||
(),b.beforeSetTickPositions&&b.beforeSetTickPositions
|
||
(),b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval
|
||
(b.tickInterval)),!f&&!e&&(a=S.pow(10,U(S.log(b.tickInterval
|
||
)/S.LN10)),!k(d.tickInterval))&&(b.tickInterval=t(b
|
||
.tickInterval,null,a,d)),b.minorTickInterval=d.minorTickInterval==="auto"&&
|
||
b.tickInterval?b.tickInterval/5:d.minorTickInterval
|
||
,b.tickPositions=j=d.tickPositions||j&&j.apply(b,[b
|
||
.min,b.max]),j||(j=f?(b.getNonLinearTimeTicks||v)(u
|
||
(b.tickInterval,d.units),b.min,b.max,d.startOfWeek,
|
||
b.ordinalPositions,b.closestPointRange,!0):e?b.getLogTickPositions
|
||
(b.tickInterval,b.min,b.max):b.getLinearTickPositions
|
||
(b.tickInterval,b.min,b.max),b.tickPositions=j),i||
|
||
(e=j[0],f=j[j.length-1],d.startOnTick?b.min=e:b.min>
|
||
e&&j.shift(),d.endOnTick?b.max=f:b.max<f&&j.pop())}
|
||
,setMaxTicks:function(){var a=this.chart,b=a.maxTicks
|
||
,c=this.tickPositions,d=this.xOrY;b||(b={x:0,y:0}),!
|
||
this.isLinked&&!this.isDatetimeAxis&&c.length>b[d]&&
|
||
this.options.alignTicks!==!1&&(b[d]=c.length),a.maxTicks=
|
||
b},adjustTickAmount:function(){var a=this.xOrY,b=this
|
||
.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this
|
||
.isDatetimeAxis&&!this.categories&&!this.isLinked&&
|
||
this.options.alignTicks!==!1){var d=this.tickAmount
|
||
,e=b.length;this.tickAmount=a=c[a];if(e<a){for(;b.length<
|
||
a;)b.push(D(b[b.length-1]+this.tickInterval));this.
|
||
transA*=(e-1)/(a-1),this.max=b[b.length-1]}k(d)&&a!==
|
||
d&&(this.isDirty=!0)}},setScale:function(){var a=this
|
||
.stacks,b,c,d,e;this.oldMin=this.min,this.oldMax=this
|
||
.max,this.oldAxisLength=this.len,this.setAxisSize()
|
||
,e=this.len!==this.oldAxisLength,bW(this.series,function(
|
||
a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)d=!0
|
||
});if(e||d||this.isLinked||this.userMin!==this.oldUserMin||
|
||
this.userMax!==this.oldUserMax)if(this.getSeriesExtremes
|
||
(),this.setTickPositions(),this.oldUserMin=this.userMin
|
||
,this.oldUserMax=this.userMax,!this.isDirty)this.isDirty=
|
||
e||this.min!==this.oldMin||this.max!==this.oldMax;if(!
|
||
this.isXAxis)for(b in a)for(c in a[b])a[b][c].cum=a
|
||
[b][c].total;this.setMaxTicks()},setExtremes:function(
|
||
b,c,d,e,f){var g=this,h=g.chart,d=n(d,!0),f=a(f,{min
|
||
:b,max:c});cb(g,"setExtremes",f,function(){g.userMin=
|
||
b,g.userMax=c,g.isDirtyExtremes=!0,d&&h.redraw(e)})
|
||
},setAxisSize:function(){var a=this.chart,b=this.options
|
||
,c=b.offsetLeft||0,d=b.offsetRight||0;this.left=n(b
|
||
.left,a.plotLeft+c),this.top=n(b.top,a.plotTop),this
|
||
.width=n(b.width,a.plotWidth-c+d),this.height=n(b.height
|
||
,a.plotHeight),this.bottom=a.chartHeight-this.height-
|
||
this.top,this.right=a.chartWidth-this.width-this.left
|
||
,this.len=W(this.horiz?this.width:this.height,0)},getExtremes
|
||
:function(){var a=this.isLog;return{min:a?D(i(this.
|
||
min)):this.min,max:a?D(i(this.max)):this.max,dataMin
|
||
:this.dataMin,dataMax:this.dataMax,userMin:this.userMin
|
||
,userMax:this.userMax}},getThreshold:function(a){var b=
|
||
this.isLog,c=b?i(this.min):this.min,b=b?i(this.max)
|
||
:this.max;return c>a||a===null?a=c:b<a&&(a=b),this.
|
||
translate(a,0,1,0,1)},addPlotBandOrLine:function(a)
|
||
{return a=(new I(this,a)).render(),this.plotLinesAndBands
|
||
.push(a),a},getOffset:function(){var a=this,b=a.chart
|
||
,c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks
|
||
,g=a.horiz,h=a.side,i,j=0,l,m=0,o=d.title,p=d.labels
|
||
,q=0,r=b.axisOffset,s=[-1,1,1,-1][h],t;a.hasData=b=
|
||
a.series.length&&k(a.min)&&k(a.max),a.showAxis=i=b||
|
||
n(d.showEmpty,!0),a.axisGroup||(a.axisGroup=c.g("axis"
|
||
).attr({zIndex:d.zIndex||7}).add(),a.gridGroup=c.g("grid"
|
||
).attr({zIndex:d.gridZIndex||1}).add());if(b||a.isLinked
|
||
)bW(e,function(b){f[b]?f[b].addLabel():f[b]=new H(a
|
||
,b)}),bW(e,function(a){if(h===0||h===2||{1:"left",3
|
||
:"right"}[h]===p.align)q=W(f[a].getLabelSize(),q)})
|
||
,a.staggerLines&&(q+=(a.staggerLines-1)*16);else for(
|
||
t in f)f[t].destroy(),delete f[t];o&&o.text&&(a.axisTitle||
|
||
(a.axisTitle=c.text(o.text,0,0,o.useHTML).attr({zIndex
|
||
:7,rotation:o.rotation||0,align:o.textAlign||{low:"left"
|
||
,middle:"center",high:"right"}[o.align]}).css(o.style
|
||
).add(a.axisGroup),a.axisTitle.isNew=!0),i&&(j=a.axisTitle
|
||
.getBBox()[g?"height":"width"],m=n(o.margin,g?5:10)
|
||
,l=o.offset),a.axisTitle[i?"show":"hide"]()),a.offset=
|
||
s*n(d.offset,r[h]),a.axisTitleMargin=n(l,q+m+(h!==2&&
|
||
q&&s*d.labels[g?"y":"x"])),r[h]=W(r[h],a.axisTitleMargin+
|
||
j+s*a.offset)},getLinePath:function(a){var b=this.chart
|
||
,c=this.opposite,d=this.offset,e=this.horiz,f=this.
|
||
left+(c?this.width:0)+d,c=b.chartHeight-this.bottom-
|
||
(c?this.height:0)+d;return b.renderer.crispLine(["M"
|
||
,e?this.left:f,e?c:this.top,"L",e?b.chartWidth-this
|
||
.right:f,e?c:b.chartHeight-this.bottom],a)},getTitlePosition
|
||
:function(){var a=this.horiz,b=this.left,d=this.top
|
||
,e=this.len,f=this.options.title,g=a?b:d,h=this.opposite
|
||
,i=this.offset,j=c(f.style.fontSize||12),e={low:g+(
|
||
a?0:e),middle:g+e/2,high:g+(a?e:0)}[f.align],b=(a?d+
|
||
this.height:b)+(a?1:-1)*(h?-1:1)*this.axisTitleMargin+
|
||
(this.side===2?j:0);return{x:a?e:b+(h?this.width:0)+
|
||
i+(f.x||0),y:a?b-(h?this.height:0)+i:e+(f.y||0)}},render
|
||
:function(){var a=this,b=a.chart,c=b.renderer,d=a.options
|
||
,e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle
|
||
,j=a.stacks,l=a.ticks,m=a.minorTicks,n=a.alternateBands
|
||
,o=d.stackLabels,p=d.alternateGridColor,q=d.lineWidth
|
||
,r,s=b.hasRendered&&k(a.oldMin)&&!isNaN(a.oldMin),t=
|
||
a.showAxis,u,v;if(a.hasData||f)if(a.minorTickInterval&&!
|
||
a.categories&&bW(a.getMinorTickPositions(),function(
|
||
b){m[b]||(m[b]=new H(a,b,"minor")),s&&m[b].isNew&&m
|
||
[b].render(null,!0),m[b].isActive=!0,m[b].render()}
|
||
),bW(g.slice(1).concat([g[0]]),function(b,c){c=c===
|
||
g.length-1?0:c+1;if(!f||b>=a.min&&b<=a.max)l[b]||(l
|
||
[b]=new H(a,b)),s&&l[b].isNew&&l[b].render(c,!0),l[
|
||
b].isActive=!0,l[b].render(c)}),p&&bW(g,function(b,
|
||
c){c%2===0&&b<a.max&&(n[b]||(n[b]=new I(a)),u=b,v=g
|
||
[c+1]!==P?g[c+1]:a.max,n[b].options={from:e?i(u):u,
|
||
to:e?i(v):v,color:p},n[b].render(),n[b].isActive=!0
|
||
)}),!a._addedPlotLB)bW((d.plotLines||[]).concat(d.plotBands||
|
||
[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0
|
||
;bW([l,m,n],function(a){for(var b in a)a[b].isActive?
|
||
a[b].isActive=!1:(a[b].destroy(),delete a[b])}),q&&
|
||
(r=a.getLinePath(q),a.axisLine?a.axisLine.animate({
|
||
d:r}):a.axisLine=c.path(r).attr({stroke:d.lineColor
|
||
,"stroke-width":q,zIndex:7}).add(),a.axisLine[t?"show"
|
||
:"hide"]()),h&&t&&(h[h.isNew?"attr":"animate"](a.getTitlePosition
|
||
()),h.isNew=!1);if(o&&o.enabled){var w,x,d=a.stackTotalGroup
|
||
;d||(a.stackTotalGroup=d=c.g("stack-labels").attr({
|
||
visibility:"visible",zIndex:6}).add()),d.translate(
|
||
b.plotLeft,b.plotTop);for(w in j)for(x in b=j[w],b)
|
||
b[x].render(d)}a.isDirty=!1},removePlotBandOrLine:function(
|
||
a){for(var b=this.plotLinesAndBands,c=b.length;c--;
|
||
)b[c].id===a&&b[c].destroy()},setTitle:function(a,b
|
||
){var c=this.chart,d=this.options;d.title=b$(d.title
|
||
,a),this.axisTitle=void 0,this.isDirty=!0,n(b,!0)&&
|
||
c.redraw()},redraw:function(){var a=this.chart;a.tracker
|
||
.resetTracker&&a.tracker.resetTracker(!0),this.render
|
||
(),bW(this.plotLinesAndBands,function(a){a.render()
|
||
}),bW(this.series,function(a){a.isDirty=!0})},setCategories
|
||
:function(a,b){var c=this.chart;this.categories=this
|
||
.userOptions.categories=a,bW(this.series,function(a
|
||
){a.translate(),a.setTooltipPoints(!0)}),this.isDirty=!0
|
||
,n(b,!0)&&c.redraw()},destroy:function(){var a=this
|
||
,b=a.stacks,c;ca(a);for(c in b)A(b[c]),b[c]=null;bW
|
||
([a.ticks,a.minorTicks,a.alternateBands,a.plotLinesAndBands
|
||
],function(a){A(a)}),bW(["stackTotalGroup","axisLine"
|
||
,"axisGroup","gridGroup","axisTitle"],function(b){a
|
||
[b]&&(a[b]=a[b].destroy())})}},L.prototype={destroy
|
||
:function(){bW(this.crosshairs,function(a){a&&a.destroy
|
||
()}),this.label&&(this.label=this.label.destroy())}
|
||
,move:function(a,b){var c=this;c.currentX=c.tooltipIsHidden?
|
||
a:(2*c.currentX+a)/3,c.currentY=c.tooltipIsHidden?b
|
||
:(c.currentY+b)/2,c.label.attr({x:c.currentX,y:c.currentY
|
||
}),c.tooltipTick=Y(a-c.currentX)>1||Y(b-c.currentY)>1?
|
||
function(){c.move(a,b)}:null},hide:function(){if(!this
|
||
.tooltipIsHidden){var a=this.chart.hoverPoints;this
|
||
.label.hide(),a&&bW(a,function(a){a.setState()}),this
|
||
.chart.hoverPoints=null,this.tooltipIsHidden=!0}},hideCrosshairs
|
||
:function(){bW(this.crosshairs,function(a){a&&a.hide
|
||
()})},getAnchor:function(a,b){var c,d=this.chart,e=
|
||
d.inverted,f=0,g=0,a=m(a);return c=a[0].tooltipPos,
|
||
c||(bW(a,function(a){f+=a.plotX,g+=a.plotLow?(a.plotLow+
|
||
a.plotHigh)/2:a.plotY}),f/=a.length,g/=a.length,c=[
|
||
e?d.plotWidth-g:f,this.shared&&!e&&a.length>1&&b?b.
|
||
chartY-d.plotTop:e?d.plotHeight-f:g]),bZ(c,T)},getPosition
|
||
:function(a,b,c){var d=this.chart,e=d.plotLeft,f=d.
|
||
plotTop,g=d.plotWidth,h=d.plotHeight,i=n(this.options
|
||
.distance,12),j=c.plotX,c=c.plotY,d=j+e+(d.inverted?
|
||
i:-a-i),k=c-b+f+15,l;return d<7&&(d=e+j+i),d+a>e+g&&
|
||
(d-=d+a-(e+g),k=c-b+f-i,l=!0),k<f+5&&(k=f+5,l&&c>=k&&
|
||
c<=k+b&&(k=c+f+i)),k+b>f+h&&(k=W(f,f+h-b-i)),{x:d,y
|
||
:k}},refresh:function(a,b){function c(){var a=this.
|
||
points||m(this),b=a[0].series,c;return c=[b.tooltipHeaderFormatter
|
||
(a[0].key)],bW(a,function(a){b=a.series,c.push(b.tooltipFormatter&&
|
||
b.tooltipFormatter(a)||a.point.tooltipFormatter(b.tooltipOptions
|
||
.pointFormat))}),c.push(f.footerFormat||""),c.join(""
|
||
)}var d=this.chart,e=this.label,f=this.options,g,h,
|
||
i,j={},k,l=[];k=f.formatter||c;var j=d.hoverPoints,
|
||
o,p=f.crosshairs;i=this.shared,h=this.getAnchor(a,b
|
||
),g=h[0],h=h[1],i&&(!a.series||!a.series.noSharedTooltip
|
||
)?(j&&bW(j,function(a){a.setState()}),d.hoverPoints=
|
||
a,bW(a,function(a){a.setState("hover"),l.push(a.getLabelConfig
|
||
())}),j={x:a[0].category,y:a[0].y},j.points=l,a=a[0
|
||
]):j=a.getLabelConfig(),k=k.call(j),j=a.series,i=i||!
|
||
j.isCartesian||j.tooltipOutsidePlot||d.isInsidePlot
|
||
(g,h),k===!1||!i?this.hide():(this.tooltipIsHidden&&
|
||
e.show(),e.attr({text:k}),o=f.borderColor||a.color||
|
||
j.color||"#606060",e.attr({stroke:o}),e=(f.positioner||
|
||
this.getPosition).call(this,e.width,e.height,{plotX
|
||
:g,plotY:h}),this.move(T(e.x),T(e.y)),this.tooltipIsHidden=!1
|
||
);if(p){p=m(p);for(e=p.length;e--;)if(i=a.series[e?"yAxis"
|
||
:"xAxis"],p[e]&&i)(i=i.getPlotLinePath(e?n(a.stackY
|
||
,a.y):a.x,1),this.crosshairs[e])?this.crosshairs[e]
|
||
.attr({d:i,visibility:"visible"}):(j={"stroke-width"
|
||
:p[e].width||1,stroke:p[e].color||"#C0C0C0",zIndex:
|
||
p[e].zIndex||2},p[e].dashStyle&&(j.dashstyle=p[e].dashStyle
|
||
),this.crosshairs[e]=d.renderer.path(i).attr(j).add
|
||
())}cb(d,"tooltipRefresh",{text:k,x:g+d.plotLeft,y:
|
||
h+d.plotTop,borderColor:o})},tick:function(){this.tooltipTick&&
|
||
this.tooltipTick()}},M.prototype={normalizeMouseEvent
|
||
:function(b){var c,d,e,b=b||R.event;return b.target||
|
||
(b.target=b.srcElement),b.originalEvent&&(b=b.originalEvent
|
||
),b.event&&(b=b.event),e=b.touches?b.touches.item(0
|
||
):b,this.chartPosition=c=bY(this.chart.container),e
|
||
.pageX===P?(d=b.x,c=b.y):(d=e.pageX-c.left,c=e.pageY-
|
||
c.top),a(b,{chartX:T(d),chartY:T(c)})},getMouseCoordinates
|
||
:function(a){var b={xAxis:[],yAxis:[]},c=this.chart
|
||
;return bW(c.axes,function(d){var e=d.isXAxis;b[e?"xAxis"
|
||
:"yAxis"].push({axis:d,value:d.translate((c.inverted?!
|
||
e:e)?a.chartX-c.plotLeft:c.plotHeight-a.chartY+c.plotTop
|
||
,!0)})}),b},onmousemove:function(a){var b=this.chart
|
||
,c=b.series,d,e,f=b.hoverPoint,g=b.hoverSeries,h,i,
|
||
j=b.chartWidth,k=b.inverted?b.plotHeight+b.plotTop-
|
||
a.chartY:a.chartX-b.plotLeft;if(b.tooltip&&this.options
|
||
.tooltip.shared&&(!g||!g.noSharedTooltip)){e=[],h=c
|
||
.length;for(i=0;i<h;i++)c[i].visible&&c[i].options.
|
||
enableMouseTracking!==!1&&!c[i].noSharedTooltip&&c[
|
||
i].tooltipPoints.length&&(d=c[i].tooltipPoints[k],d
|
||
._dist=Y(k-d.plotX),j=X(j,d._dist),e.push(d));for(h=
|
||
e.length;h--;)e[h]._dist>j&&e.splice(h,1);e.length&&
|
||
e[0].plotX!==this.hoverX&&(b.tooltip.refresh(e,a),this
|
||
.hoverX=e[0].plotX)}g&&g.tracker&&(d=g.tooltipPoints
|
||
[k])&&d!==f&&d.onMouseOver()},resetTracker:function(
|
||
a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,
|
||
e=b.hoverPoints||d,b=b.tooltip;(a=a&&b&&e)&&m(e)[0]
|
||
.plotX===P&&(a=!1),a?b.refresh(e):(d&&d.onMouseOut(
|
||
),c&&c.onMouseOut(),b&&(b.hide(),b.hideCrosshairs()
|
||
),this.hoverX=null)},setDOMEvents:function(){function b
|
||
(){if(c.selectionMarker){var a={xAxis:[],yAxis:[]},
|
||
g=c.selectionMarker.getBBox(),h=g.x-d.plotLeft,i=g.
|
||
y-d.plotTop,j;f&&(bW(d.axes,function(b){if(b.options
|
||
.zoomEnabled!==!1){var c=b.isXAxis,e=d.inverted?!c:
|
||
c,f=b.translate(e?h:d.plotHeight-i-g.height,!0,0,0,1
|
||
),e=b.translate(e?h+g.width:d.plotHeight-i,!0,0,0,1
|
||
);!isNaN(f)&&!isNaN(e)&&(a[c?"xAxis":"yAxis"].push(
|
||
{axis:b,min:X(f,e),max:W(f,e)}),j=!0)}}),j&&cb(d,"selection"
|
||
,a,function(a){d.zoom(a)})),c.selectionMarker=c.selectionMarker
|
||
.destroy()}d&&(o(e,{cursor:"auto"}),d.cancelClick=f
|
||
,d.mouseIsDown=f=!1),ca(Q,bk?"touchend":"mouseup",b
|
||
)}var c=this,d=c.chart,e=d.container,f,g=c.zoomX&&!
|
||
d.inverted||c.zoomY&&d.inverted,h=c.zoomY&&!d.inverted||
|
||
c.zoomX&&d.inverted;c.hideTooltipOnMouseMove=function(
|
||
a){cc(a),c.chartPosition&&d.hoverSeries&&d.hoverSeries
|
||
.isCartesian&&!d.isInsidePlot(a.pageX-c.chartPosition
|
||
.left-d.plotLeft,a.pageY-c.chartPosition.top-d.plotTop
|
||
)&&c.resetTracker()},c.hideTooltipOnMouseLeave=function(
|
||
){c.resetTracker(),c.chartPosition=null},e.onmousedown=
|
||
function(a){a=c.normalizeMouseEvent(a),!bk&&a.preventDefault&&
|
||
a.preventDefault(),d.mouseIsDown=!0,d.cancelClick=!1
|
||
,d.mouseDownX=c.mouseDownX=a.chartX,c.mouseDownY=a.
|
||
chartY,b_(Q,bk?"touchend":"mouseup",b)};var i=function(
|
||
a){if(!a||!(a.touches&&a.touches.length>1)){a=c.normalizeMouseEvent
|
||
(a),bk||(a.returnValue=!1);var b=a.chartX,e=a.chartY
|
||
,i=!d.isInsidePlot(b-d.plotLeft,e-d.plotTop);bk&&a.
|
||
type==="touchstart"&&(l(a.target,"isTracker")?d.runTrackerClick||
|
||
a.preventDefault():!d.runChartClick&&!i&&a.preventDefault
|
||
()),i&&(b<d.plotLeft?b=d.plotLeft:b>d.plotLeft+d.plotWidth&&
|
||
(b=d.plotLeft+d.plotWidth),e<d.plotTop?e=d.plotTop:
|
||
e>d.plotTop+d.plotHeight&&(e=d.plotTop+d.plotHeight
|
||
));if(d.mouseIsDown&&a.type!=="touchstart"){if(f=Math
|
||
.sqrt(Math.pow(c.mouseDownX-b,2)+Math.pow(c.mouseDownY-
|
||
e,2)),f>10){a=d.isInsidePlot(c.mouseDownX-d.plotLeft
|
||
,c.mouseDownY-d.plotTop),d.hasCartesianSeries&&(c.zoomX||
|
||
c.zoomY)&&a&&!c.selectionMarker&&(c.selectionMarker=
|
||
d.renderer.rect(d.plotLeft,d.plotTop,g?1:d.plotWidth
|
||
,h?1:d.plotHeight,0).attr({fill:c.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)"
|
||
,zIndex:7}).add());if(c.selectionMarker&&g){var j=b-
|
||
c.mouseDownX;c.selectionMarker.attr({width:Y(j),x:(
|
||
j>0?0:j)+c.mouseDownX})}c.selectionMarker&&h&&(e-=c
|
||
.mouseDownY,c.selectionMarker.attr({height:Y(e),y:(
|
||
e>0?0:e)+c.mouseDownY})),a&&!c.selectionMarker&&c.options
|
||
.chart.panning&&d.pan(b)}}else i||c.onmousemove(a);
|
||
return i||!d.hasCartesianSeries}};e.onmousemove=i,b_
|
||
(e,"mouseleave",c.hideTooltipOnMouseLeave),b_(Q,"mousemove"
|
||
,c.hideTooltipOnMouseMove),e.ontouchstart=function(
|
||
a){(c.zoomX||c.zoomY)&&e.onmousedown(a),i(a)},e.ontouchmove=
|
||
i,e.ontouchend=function(){f&&c.resetTracker()},e.onclick=
|
||
function(b){var e=d.hoverPoint,f,g,b=c.normalizeMouseEvent
|
||
(b);b.cancelBubble=!0,d.cancelClick||(e&&(l(b.target
|
||
,"isTracker")||l(b.target.parentNode,"isTracker"))?
|
||
(f=e.plotX,g=e.plotY,a(e,{pageX:c.chartPosition.left+
|
||
d.plotLeft+(d.inverted?d.plotWidth-g:f),pageY:c.chartPosition
|
||
.top+d.plotTop+(d.inverted?d.plotHeight-f:g)}),cb(e
|
||
.series,"click",a(b,{point:e})),e.firePointEvent("click"
|
||
,b)):(a(b,c.getMouseCoordinates(b)),d.isInsidePlot(
|
||
b.chartX-d.plotLeft,b.chartY-d.plotTop)&&cb(d,"click"
|
||
,b)))}},destroy:function(){var a=this.chart,b=a.container
|
||
;a.trackerGroup&&(a.trackerGroup=a.trackerGroup.destroy
|
||
()),ca(b,"mouseleave",this.hideTooltipOnMouseLeave)
|
||
,ca(Q,"mousemove",this.hideTooltipOnMouseMove),b.onclick=
|
||
b.onmousedown=b.onmousemove=b.ontouchstart=b.ontouchend=
|
||
b.ontouchmove=null,clearInterval(this.tooltipInterval
|
||
)},init:function(a,b){a.trackerGroup||(a.trackerGroup=
|
||
a.renderer.g("tracker").attr({zIndex:9}).add()),b.enabled&&
|
||
(a.tooltip=new L(a,b),this.tooltipInterval=setInterval
|
||
(function(){a.tooltip.tick()},32)),this.setDOMEvents
|
||
()}},N.prototype={init:function(a){var b=this,d=b.options=
|
||
a.options.legend;if(d.enabled){var e=d.itemStyle,f=
|
||
n(d.padding,8),g=d.itemMarginTop||0;b.baseline=c(e.
|
||
fontSize)+3+g,b.itemStyle=e,b.itemHiddenStyle=b$(e,
|
||
d.itemHiddenStyle),b.itemMarginTop=g,b.padding=f,b.
|
||
initialItemX=f,b.initialItemY=f-5,b.maxItemWidth=0,
|
||
b.chart=a,b.itemHeight=0,b.lastLineHeight=0,b.render
|
||
(),b_(b.chart,"endResize",function(){b.positionCheckboxes
|
||
()})}},colorizeItem:function(a,b){var c=this.options
|
||
,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this
|
||
.itemHiddenStyle.color,c=b?c.itemStyle.color:g,g=b?
|
||
a.color:g;d&&d.css({fill:c}),e&&e.attr({stroke:g}),
|
||
f&&f.attr({stroke:g,fill:g})},positionItem:function(
|
||
a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=
|
||
a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&
|
||
a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4
|
||
,d),f&&(f.x=e,f.y=d)},destroyItem:function(a){var b=
|
||
a.checkbox;bW(["legendItem","legendLine","legendSymbol"
|
||
,"legendGroup"],function(b){a[b]&&a[b].destroy()}),
|
||
b&&B(a.checkbox)},destroy:function(){var a=this.group
|
||
,b=this.box;b&&(this.box=b.destroy()),a&&(this.group=
|
||
a.destroy())},positionCheckboxes:function(){var a=this
|
||
;bW(a.allItems,function(b){var c=b.checkbox,d=a.group
|
||
.alignAttr;c&&o(c,{left:d.translateX+b.legendItemWidth+
|
||
c.x-20+"px",top:d.translateY+c.y+3+"px"})})},renderItem
|
||
:function(a){var b,c=this,d=c.chart,e=d.renderer,f=
|
||
c.options,g=f.layout==="horizontal",h=f.symbolWidth
|
||
,i=f.symbolPadding,j=c.itemStyle,k=c.itemHiddenStyle
|
||
,l=c.padding,m=!f.rtl,n=f.width,o=f.itemMarginBottom||0
|
||
,q=c.itemMarginTop,r=c.initialItemX,s=a.legendItem,
|
||
t=a.series||a,u=t.options,v=u.showCheckbox;!s&&(a.legendGroup=
|
||
e.g("legend-item").attr({zIndex:1}).add(c.scrollGroup
|
||
),t.drawLegendSymbol(c,a),a.legendItem=s=e.text(f.labelFormatter
|
||
.call(a),m?h+i:-i,c.baseline,f.useHTML).css(b$(a.visible?
|
||
j:k)).attr({align:m?"left":"right",zIndex:2}).add(a
|
||
.legendGroup),a.legendGroup.on("mouseover",function(
|
||
){a.setState("hover"),s.css(c.options.itemHoverStyle
|
||
)}).on("mouseout",function(){s.css(a.visible?j:k),a
|
||
.setState()}).on("click",function(b){var c=function(
|
||
){a.setVisible()},b={browserEvent:b};a.firePointEvent?
|
||
a.firePointEvent("legendItemClick",b,c):cb(a,"legendItemClick"
|
||
,b,c)}),c.colorizeItem(a,a.visible),u&&v)&&(a.checkbox=
|
||
p("input",{type:"checkbox",checked:a.selected,defaultChecked
|
||
:a.selected},f.itemCheckboxStyle,d.container),b_(a.
|
||
checkbox,"click",function(b){cb(a,"checkboxClick",{
|
||
checked:b.target.checked},function(){a.select()})})
|
||
),e=s.getBBox(),b=a.legendItemWidth=f.itemWidth||h+
|
||
i+e.width+l+(v?20:0),f=b,c.itemHeight=h=e.height,g&&
|
||
c.itemX-r+f>(n||d.chartWidth-2*l-r)&&(c.itemX=r,c.itemY+=
|
||
q+c.lastLineHeight+o,c.lastLineHeight=0),c.maxItemWidth=
|
||
W(c.maxItemWidth,f),c.lastItemY=q+c.itemY+o,c.lastLineHeight=
|
||
W(h,c.lastLineHeight),a._legendItemPos=[c.itemX,c.itemY
|
||
],g?c.itemX+=f:(c.itemY+=q+h+o,c.lastLineHeight=h),
|
||
c.offsetWidth=n||W(g?c.itemX-r:f,c.offsetWidth)},render
|
||
:function(){var b=this,c=b.chart,d=c.renderer,e=b.group
|
||
,f,g,h,i,j=b.box,k=b.options,l=b.padding,m=k.borderWidth
|
||
,n=k.backgroundColor;b.itemX=b.initialItemX,b.itemY=
|
||
b.initialItemY,b.offsetWidth=0,b.lastItemY=0,e||(b.
|
||
group=e=d.g("legend").attr({zIndex:7}).add(),b.contentGroup=
|
||
d.g().attr({zIndex:1}).add(e),b.scrollGroup=d.g().add
|
||
(b.contentGroup),b.clipRect=d.clipRect(0,0,9999,c.chartHeight
|
||
),b.contentGroup.clip(b.clipRect)),f=[],bW(c.series
|
||
,function(a){var b=a.options;b.showInLegend&&(f=f.concat
|
||
(a.legendItems||(b.legendType==="point"?a.data:a)))
|
||
}),x(f,function(a,b){return(a.options.legendIndex||0
|
||
)-(b.options.legendIndex||0)}),k.reversed&&f.reverse
|
||
(),b.allItems=f,b.display=g=!!f.length,bW(f,function(
|
||
a){b.renderItem(a)}),h=k.width||b.offsetWidth,i=b.lastItemY+
|
||
b.lastLineHeight,i=b.handleOverflow(i);if(m||n)h+=l
|
||
,i+=l,j?h>0&&i>0&&(j[j.isNew?"attr":"animate"](j.crisp
|
||
(null,null,null,h,i)),j.isNew=!1):(b.box=j=d.rect(0
|
||
,0,h,i,k.borderRadius,m||0).attr({stroke:k.borderColor
|
||
,"stroke-width":m||0,fill:n||bv}).add(e).shadow(k.shadow
|
||
),j.isNew=!0),j[g?"show":"hide"]();b.legendWidth=h,
|
||
b.legendHeight=i,bW(f,function(a){b.positionItem(a)
|
||
}),g&&e.align(a({width:h,height:i},k),!0,c.spacingBox
|
||
),c.isResizing||this.positionCheckboxes()},handleOverflow
|
||
:function(a){var b=this,c=this.chart,d=c.renderer,e=
|
||
this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-
|
||
f:f)-this.padding,g=e.maxHeight,h=this.clipRect,i=e
|
||
.navigation,j=n(i.animation,!0),k=i.arrowSize||12,l=
|
||
this.nav;return e.layout==="horizontal"&&(f/=2),g&&
|
||
(f=X(f,g)),a>f?(this.clipHeight=c=f-20,this.pageCount=
|
||
V(a/c),this.currentPage=n(this.currentPage,1),this.
|
||
fullHeight=a,h.attr({height:c}),l||(this.nav=l=d.g(
|
||
).attr({zIndex:1}).add(this.group),this.up=d.symbol
|
||
("triangle",0,0,k,k).on("click",function(){b.scroll
|
||
(-1,j)}).add(l),this.pager=d.text("",15,10).css(i.style
|
||
).add(l),this.down=d.symbol("triangle-down",0,0,k,k
|
||
).on("click",function(){b.scroll(1,j)}).add(l)),b.scroll
|
||
(0),a=f):l&&(h.attr({height:c.chartHeight}),l.hide(
|
||
),this.scrollGroup.attr({translateY:1})),a},scroll:
|
||
function(a,b){var c=this.pageCount,d=this.currentPage+
|
||
a,e=this.clipHeight,f=this.options.navigation,g=f.activeColor
|
||
,f=f.inactiveColor,h=this.pager,i=this.padding;d>c&&
|
||
(d=c),d>0&&(b!==P&&E(b,this.chart),this.nav.attr({translateX
|
||
:i,translateY:e+7,visibility:"visible"}),this.up.attr
|
||
({fill:d===1?f:g}).css({cursor:d===1?"default":"pointer"
|
||
}),h.attr({text:d+"/"+this.pageCount}),this.down.attr
|
||
({x:18+this.pager.getBBox().width,fill:d===c?f:g}).
|
||
css({cursor:d===c?"default":"pointer"}),this.scrollGroup
|
||
.animate({translateY:-X(e*(d-1),this.fullHeight-e+i
|
||
)+1}),h.attr({text:d+"/"+c}),this.currentPage=d)}},
|
||
O.prototype={initSeries:function(a){var b=this.options
|
||
.chart,b=new bR[a.type||b.type||b.defaultSeriesType
|
||
];return b.init(this,a),b},addSeries:function(a,b,c
|
||
){var d=this;a&&(E(c,d),b=n(b,!0),cb(d,"addSeries",
|
||
{options:a},function(){d.initSeries(a),d.isDirtyLegend=!0
|
||
,b&&d.redraw()}))},isInsidePlot:function(a,b){return a>=0&&
|
||
a<=this.plotWidth&&b>=0&&b<=this.plotHeight},adjustTickAmounts
|
||
:function(){this.options.chart.alignTicks!==!1&&bW(
|
||
this.axes,function(a){a.adjustTickAmount()}),this.maxTicks=
|
||
null},redraw:function(a){var b=this.axes,c=this.series
|
||
,d=this.tracker,e=this.legend,f=this.isDirtyLegend,
|
||
g,h=this.isDirtyBox,i=c.length,j=i,k=this.clipRect,
|
||
l=this.renderer,m=l.isHidden();E(a,this);for(m&&this
|
||
.cloneRenderTo();j--;)if(a=c[j],a.isDirty&&a.options
|
||
.stacking){g=!0;break}if(g)for(j=i;j--;)if(a=c[j],a
|
||
.options.stacking)a.isDirty=!0;bW(c,function(a){a.isDirty&&
|
||
a.options.legendType==="point"&&(f=!0)}),f&&e.options
|
||
.enabled&&(e.render(),this.isDirtyLegend=!1),this.hasCartesianSeries&&
|
||
(this.isResizing||(this.maxTicks=null,bW(b,function(
|
||
a){a.setScale()})),this.adjustTickAmounts(),this.getMargins
|
||
(),bW(b,function(a){a.isDirtyExtremes&&(a.isDirtyExtremes=!1
|
||
,cb(a,"afterSetExtremes",a.getExtremes()));if(a.isDirty||
|
||
h||g)a.redraw(),h=!0})),h&&(this.drawChartBox(),k&&
|
||
(ce(k),k.animate({width:this.plotSizeX,height:this.
|
||
plotSizeY+1}))),bW(c,function(a){a.isDirty&&a.visible&&
|
||
(!a.isCartesian||a.xAxis)&&a.redraw()}),d&&d.resetTracker&&
|
||
d.resetTracker(!0),l.draw(),cb(this,"redraw"),m&&this
|
||
.cloneRenderTo(!0)},showLoading:function(b){var c=this
|
||
.options,d=this.loadingDiv,e=c.loading;d||(this.loadingDiv=
|
||
d=p(bu,{className:"highcharts-loading"},a(e.style,{
|
||
left:this.plotLeft+"px",top:this.plotTop+"px",width
|
||
:this.plotWidth+"px",height:this.plotHeight+"px",zIndex
|
||
:10,display:bv}),this.container),this.loadingSpan=p
|
||
("span",null,e.labelStyle,d)),this.loadingSpan.innerHTML=
|
||
b||c.lang.loading,this.loadingShown||(o(d,{opacity:0
|
||
,display:""}),cd(d,{opacity:e.style.opacity},{duration
|
||
:e.showDuration||0}),this.loadingShown=!0)},hideLoading
|
||
:function(){var a=this.options,b=this.loadingDiv;b&&
|
||
cd(b,{opacity:0},{duration:a.loading.hideDuration||100
|
||
,complete:function(){o(b,{display:bv})}}),this.loadingShown=!1
|
||
},get:function(a){var b=this.axes,c=this.series,d,e
|
||
;for(d=0;d<b.length;d++)if(b[d].options.id===a)return b
|
||
[d];for(d=0;d<c.length;d++)if(c[d].options.id===a)return c
|
||
[d];for(d=0;d<c.length;d++){e=c[d].points||[];for(b=0
|
||
;b<e.length;b++)if(e[b].id===a)return e[b]}return null
|
||
},getAxes:function(){var a=this,b=this.options,c=b.
|
||
xAxis||{},b=b.yAxis||{},c=m(c);bW(c,function(a,b){a
|
||
.index=b,a.isX=!0}),b=m(b),bW(b,function(a,b){a.index=
|
||
b}),c=c.concat(b),bW(c,function(b){new K(a,b)}),a.adjustTickAmounts
|
||
()},getSelectedPoints:function(){var a=[];return bW
|
||
(this.series,function(b){a=a.concat(bX(b.points,function(
|
||
a){return a.selected}))}),a},getSelectedSeries:function(
|
||
){return bX(this.series,function(a){return a.selected
|
||
})},showResetZoom:function(){var a=this,b=bo.lang,c=
|
||
a.options.chart.resetZoomButton,d=c.theme,e=d.states
|
||
,f=c.relativeTo==="chart"?null:{x:a.plotLeft,y:a.plotTop
|
||
,width:a.plotWidth,height:a.plotHeight};this.resetZoomButton=
|
||
a.renderer.button(b.resetZoom,null,null,function(){
|
||
a.zoomOut()},d,e&&e.hover).attr({align:c.position.align
|
||
,title:b.resetZoomTitle}).add().align(c.position,!1
|
||
,f)},zoomOut:function(){var a=this,b=a.resetZoomButton
|
||
;cb(a,"selection",{resetSelection:!0},function(){a.
|
||
zoom()}),b&&(a.resetZoomButton=b.destroy())},zoom:function(
|
||
a){var b=this,c=b.options.chart,d;b.resetZoomEnabled!==!1&&!
|
||
b.resetZoomButton&&b.showResetZoom(),!a||a.resetSelection?
|
||
bW(b.axes,function(a){a.options.zoomEnabled!==!1&&(
|
||
a.setExtremes(null,null,!1),d=!0)}):bW(a.xAxis.concat
|
||
(a.yAxis),function(a){var c=a.axis;b.tracker[c.isXAxis?"zoomX"
|
||
:"zoomY"]&&(c.setExtremes(a.min,a.max,!1),d=!0)}),d&&
|
||
b.redraw(n(c.animation,b.pointCount<100))},pan:function(
|
||
a){var b=this.xAxis[0],c=this.mouseDownX,d=b.pointRange/2
|
||
,e=b.getExtremes(),f=b.translate(c-a,!0)+d,c=b.translate
|
||
(c+this.plotWidth-a,!0)-d;(d=this.hoverPoints)&&bW(
|
||
d,function(a){a.setState()}),b.series.length&&f>X(e
|
||
.dataMin,e.min)&&c<W(e.dataMax,e.max)&&b.setExtremes
|
||
(f,c,!0,!1),this.mouseDownX=a,o(this.container,{cursor
|
||
:"move"})},setTitle:function(a,b){var c=this,d=c.options
|
||
,e;c.chartTitleOptions=e=b$(d.title,a),c.chartSubtitleOptions=
|
||
d=b$(d.subtitle,b),bW([["title",a,e],["subtitle",b,
|
||
d]],function(a){var b=a[0],d=c[b],e=a[1],a=a[2];d&&
|
||
e&&(d=d.destroy()),a&&a.text&&!d&&(c[b]=c.renderer.
|
||
text(a.text,0,0,a.useHTML).attr({align:a.align,"class"
|
||
:"highcharts-"+b,zIndex:a.zIndex||4}).css(a.style).
|
||
add().align(a,!1,c.spacingBox))})},getChartSize:function(
|
||
){var a=this.options.chart,b=this.renderToClone||this
|
||
.renderTo;this.containerWidth=bU(b,"width"),this.containerHeight=
|
||
bU(b,"height"),this.chartWidth=a.width||this.containerWidth||600
|
||
,this.chartHeight=a.height||(this.containerHeight>19?
|
||
this.containerHeight:400)},cloneRenderTo:function(a
|
||
){var b=this.renderToClone,c=this.container;a?b&&(this
|
||
.renderTo.appendChild(c),B(b),delete this.renderToClone
|
||
):(c&&this.renderTo.removeChild(c),this.renderToClone=
|
||
b=this.renderTo.cloneNode(0),o(b,{position:"absolute"
|
||
,top:"-9999px",display:"block"}),Q.body.appendChild
|
||
(b),c&&b.appendChild(c))},getContainer:function(){var b
|
||
,c=this.options.chart,e,f,g;this.renderTo=b=c.renderTo
|
||
,g="highcharts-"+bm++,d(b)&&(this.renderTo=b=Q.getElementById
|
||
(b)),b||C(13,!0),b.innerHTML="",b.offsetWidth||this
|
||
.cloneRenderTo(),this.getChartSize(),e=this.chartWidth
|
||
,f=this.chartHeight,this.container=b=p(bu,{className
|
||
:"highcharts-container"+(c.className?" "+c.className
|
||
:""),id:g},a({position:"relative",overflow:"hidden"
|
||
,width:e+"px",height:f+"px",textAlign:"left",lineHeight
|
||
:"normal"},c.style),this.renderToClone||b),this.renderer=
|
||
c.forExport?new ck(b,e,f,!0):new bj(b,e,f),bi&&this
|
||
.renderer.create(this,b,e,f)},getMargins:function()
|
||
{var a=this.options.chart,b=a.spacingTop,c=a.spacingRight
|
||
,d=a.spacingBottom,a=a.spacingLeft,e,f=this.legend,
|
||
g=this.optionsMarginTop,h=this.optionsMarginLeft,i=
|
||
this.optionsMarginRight,j=this.optionsMarginBottom,
|
||
l=this.chartTitleOptions,m=this.chartSubtitleOptions
|
||
,o=this.options.legend,p=n(o.margin,10),q=o.x,r=o.y
|
||
,s=o.align,t=o.verticalAlign;this.resetMargins(),e=
|
||
this.axisOffset,(this.title||this.subtitle)&&!k(this
|
||
.optionsMarginTop)&&(m=W(this.title&&!l.floating&&!
|
||
l.verticalAlign&&l.y||0,this.subtitle&&!m.floating&&!
|
||
m.verticalAlign&&m.y||0))&&(this.plotTop=W(this.plotTop
|
||
,m+n(l.margin,15)+b)),f.display&&!o.floating&&(s==="right"?
|
||
k(i)||(this.marginRight=W(this.marginRight,f.legendWidth-
|
||
q+p+c)):s==="left"?k(h)||(this.plotLeft=W(this.plotLeft
|
||
,f.legendWidth+q+p+a)):t==="top"?k(g)||(this.plotTop=
|
||
W(this.plotTop,f.legendHeight+r+p+b)):t==="bottom"&&!
|
||
k(j)&&(this.marginBottom=W(this.marginBottom,f.legendHeight-
|
||
r+p+d))),this.extraBottomMargin&&(this.marginBottom+=
|
||
this.extraBottomMargin),this.extraTopMargin&&(this.
|
||
plotTop+=this.extraTopMargin),this.hasCartesianSeries&&
|
||
bW(this.axes,function(a){a.getOffset()}),k(h)||(this
|
||
.plotLeft+=e[3]),k(g)||(this.plotTop+=e[0]),k(j)||(
|
||
this.marginBottom+=e[2]),k(i)||(this.marginRight+=e
|
||
[1]),this.setChartSize()},initReflow:function(){function a
|
||
(a){var f=c.width||bU(d,"width"),g=c.height||bU(d,"height"
|
||
),a=a?a.target:R;if(f&&g&&(a===R||a===Q)){if(f!==b.
|
||
containerWidth||g!==b.containerHeight)clearTimeout(
|
||
e),e=setTimeout(function(){b.resize(f,g,!1)},100);b
|
||
.containerWidth=f,b.containerHeight=g}}var b=this,c=
|
||
b.options.chart,d=b.renderTo,e;b_(R,"resize",a),b_(
|
||
b,"destroy",function(){ca(R,"resize",a)})},fireEndResize
|
||
:function(){var a=this;a&&cb(a,"endResize",null,function(
|
||
){a.isResizing-=1})},resize:function(a,b,c){var d,e
|
||
,f=this.title,g=this.subtitle;this.isResizing+=1,E(
|
||
c,this),this.oldChartHeight=this.chartHeight,this.oldChartWidth=
|
||
this.chartWidth,k(a)&&(this.chartWidth=d=T(a)),k(b)&&
|
||
(this.chartHeight=e=T(b)),o(this.container,{width:d+"px"
|
||
,height:e+"px"}),this.renderer.setSize(d,e,c),this.
|
||
plotWidth=d-this.plotLeft-this.marginRight,this.plotHeight=
|
||
e-this.plotTop-this.marginBottom,this.maxTicks=null
|
||
,bW(this.axes,function(a){a.isDirty=!0,a.setScale()
|
||
}),bW(this.series,function(a){a.isDirty=!0}),this.isDirtyBox=
|
||
this.isDirtyLegend=!0,this.getMargins(),a=this.spacingBox
|
||
,f&&f.align(null,null,a),g&&g.align(null,null,a),this
|
||
.redraw(c),this.oldChartHeight=null,cb(this,"resize"
|
||
),bq===!1?this.fireEndResize():setTimeout(this.fireEndResize
|
||
,bq&&bq.duration||500)},setChartSize:function(){var a=
|
||
this.inverted,b=this.chartWidth,c=this.chartHeight,
|
||
d=this.options.chart,e=d.spacingTop,f=d.spacingRight
|
||
,g=d.spacingBottom,d=d.spacingLeft;this.plotLeft=T(
|
||
this.plotLeft),this.plotTop=T(this.plotTop),this.plotWidth=
|
||
T(b-this.plotLeft-this.marginRight),this.plotHeight=
|
||
T(c-this.plotTop-this.marginBottom),this.plotSizeX=
|
||
a?this.plotHeight:this.plotWidth,this.plotSizeY=a?this
|
||
.plotWidth:this.plotHeight,this.spacingBox={x:d,y:e
|
||
,width:b-d-f,height:c-e-g},bW(this.axes,function(a)
|
||
{a.setAxisSize(),a.setAxisTranslation()})},resetMargins
|
||
:function(){var a=this.options.chart,b=a.spacingRight
|
||
,c=a.spacingBottom,d=a.spacingLeft;this.plotTop=n(this
|
||
.optionsMarginTop,a.spacingTop),this.marginRight=n(
|
||
this.optionsMarginRight,b),this.marginBottom=n(this
|
||
.optionsMarginBottom,c),this.plotLeft=n(this.optionsMarginLeft
|
||
,d),this.axisOffset=[0,0,0,0]},drawChartBox:function(
|
||
){var a=this.options.chart,b=this.renderer,c=this.chartWidth
|
||
,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground
|
||
,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0
|
||
,j=a.backgroundColor,k=a.plotBackgroundColor,l=a.plotBackgroundImage
|
||
,m,n={x:this.plotLeft,y:this.plotTop,width:this.plotWidth
|
||
,height:this.plotHeight};m=i+(a.shadow?8:0);if(i||j
|
||
)e?e.animate(e.crisp(null,null,null,c-m,d-m)):(e={fill
|
||
:j||bv},i&&(e.stroke=a.borderColor,e["stroke-width"
|
||
]=i),this.chartBackground=b.rect(m/2,m/2,c-m,d-m,a.
|
||
borderRadius,i).attr(e).add().shadow(a.shadow));k&&
|
||
(f?f.animate(n):this.plotBackground=b.rect(this.plotLeft
|
||
,this.plotTop,this.plotWidth,this.plotHeight,0).attr
|
||
({fill:k}).add().shadow(a.plotShadow)),l&&(h?h.animate
|
||
(n):this.plotBGImage=b.image(l,this.plotLeft,this.plotTop
|
||
,this.plotWidth,this.plotHeight).add()),a.plotBorderWidth&&
|
||
(g?g.animate(g.crisp(null,this.plotLeft,this.plotTop
|
||
,this.plotWidth,this.plotHeight)):this.plotBorder=b
|
||
.rect(this.plotLeft,this.plotTop,this.plotWidth,this
|
||
.plotHeight,0,a.plotBorderWidth).attr({stroke:a.plotBorderColor
|
||
,"stroke-width":a.plotBorderWidth,zIndex:4}).add())
|
||
,this.isDirtyBox=!1},propFromSeries:function(){var a=
|
||
this,b=a.options.chart,c,d=a.options.series,e,f;bW(
|
||
["inverted","angular","polar"],function(g){c=bR[b.type||
|
||
b.defaultSeriesType],f=a[g]||b[g]||c&&c.prototype[g
|
||
];for(e=d&&d.length;!f&&e--;)(c=bR[d[e].type])&&c.prototype
|
||
[g]&&(f=!0);a[g]=f})},render:function(){var b=this,
|
||
d=b.axes,e=b.renderer,f=b.options,g=f.labels,f=f.credits
|
||
,h;b.setTitle(),b.legend=new N(b),bW(d,function(a){
|
||
a.setScale()}),b.getMargins(),b.maxTicks=null,bW(d,
|
||
function(a){a.setTickPositions(!0),a.setMaxTicks()}
|
||
),b.adjustTickAmounts(),b.getMargins(),b.drawChartBox
|
||
(),b.hasCartesianSeries&&bW(d,function(a){a.render(
|
||
)}),b.seriesGroup||(b.seriesGroup=e.g("series-group"
|
||
).attr({zIndex:3}).add()),bW(b.series,function(a){a
|
||
.translate(),a.setTooltipPoints(),a.render()}),g.items&&
|
||
bW(g.items,function(){var d=a(g.style,this.style),f=
|
||
c(d.left)+b.plotLeft,h=c(d.top)+b.plotTop+12;delete
|
||
d.left,delete d.top,e.text(this.html,f,h).attr({zIndex
|
||
:2}).css(d).add()}),f.enabled&&!b.credits&&(h=f.href
|
||
,b.credits=e.text(f.text,0,0).on("click",function()
|
||
{h&&(location.href=h)}).attr({align:f.position.align
|
||
,zIndex:8}).css(f.style).add().align(f.position)),b
|
||
.hasRendered=!0},destroy:function(){var a=this,b=a.
|
||
axes,c=a.series,d=a.container,e,f=d&&d.parentNode;if(
|
||
a!==null){cb(a,"destroy"),ca(a);for(e=b.length;e--;
|
||
)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].
|
||
destroy();bW("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,tracker,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer"
|
||
.split(","),function(b){var c=a[b];c&&(a[b]=c.destroy
|
||
())}),d&&(d.innerHTML="",ca(d),f&&B(d),d=null);for(
|
||
e in a)delete a[e];a=a.options=null}},firstRender:function(
|
||
){var a=this,b=a.options,c=a.callback;!bg&&R==R.top&&
|
||
Q.readyState!=="complete"||bi&&!R.canvg?bi?co.push(
|
||
function(){a.firstRender()},b.global.canvasToolsURL
|
||
):Q.attachEvent("onreadystatechange",function(){Q.detachEvent
|
||
("onreadystatechange",a.firstRender),Q.readyState==="complete"&&
|
||
a.firstRender()}):(a.getContainer(),cb(a,"init"),Highcharts
|
||
.RangeSelector&&b.rangeSelector.enabled&&(a.rangeSelector=new
|
||
Highcharts.RangeSelector(a)),a.resetMargins(),a.setChartSize
|
||
(),a.propFromSeries(),a.getAxes(),bW(b.series||[],function(
|
||
b){a.initSeries(b)}),Highcharts.Scroller&&(b.navigator
|
||
.enabled||b.scrollbar.enabled)&&(a.scroller=new Highcharts
|
||
.Scroller(a)),a.tracker=new M(a,b),a.render(),a.renderer
|
||
.draw(),c&&c.apply(a,[a]),bW(a.callbacks,function(b
|
||
){b.apply(a,[a])}),a.cloneRenderTo(!0),cb(a,"load")
|
||
)},init:function(a){var b=this.options.chart,c;b.reflow!==!1&&
|
||
b_(this,"load",this.initReflow);if(a)for(c in a)b_(
|
||
this,c,a[c]);this.xAxis=[],this.yAxis=[],this.animation=
|
||
bi?!1:n(b.animation,!0),this.setSize=this.resize,this
|
||
.pointCount=0,this.counters=new w,this.firstRender(
|
||
)}},O.prototype.callbacks=[];var cp=function(){};cp
|
||
.prototype={init:function(a,b,c){var d=a.chart.counters
|
||
;return this.series=a,this.applyOptions(b,c),this.pointAttr=
|
||
{},a.options.colorByPoint&&(b=a.chart.options.colors
|
||
,this.options||(this.options={}),this.color=this.options
|
||
.color=this.color||b[d.color++],d.wrapColor(b.length
|
||
)),a.chart.pointCount++,this},applyOptions:function(
|
||
b,c){var d=this.series,e=typeof b;this.config=b;if(
|
||
e==="number"||b===null)this.y=b;else if(typeof b[0]=="number"
|
||
)this.x=b[0],this.y=b[1];else if(e==="object"&&typeof
|
||
b.length!="number"){if(a(this,b),this.options=b,b.dataLabels
|
||
)d._hasPointLabels=!0}else typeof b[0]=="string"&&(
|
||
this.name=b[0],this.y=b[1]);this.x===P&&(this.x=c===
|
||
P?d.autoIncrement():c)},destroy:function(){var a=this
|
||
.series.chart,b=a.hoverPoints,c;a.pointCount--,b&&(
|
||
this.setState(),j(b,this),!b.length)&&(a.hoverPoints=
|
||
null),this===a.hoverPoint&&this.onMouseOut();if(this
|
||
.graphic||this.dataLabel)ca(this),this.destroyElements
|
||
();this.legendItem&&a.legend.destroyItem(this);for(
|
||
c in this)this[c]=null},destroyElements:function(){
|
||
for(var a="graphic,tracker,dataLabel,group,connector,shadowGroup"
|
||
.split(","),b,c=6;c--;)b=a[c],this[b]&&(this[b]=this
|
||
[b].destroy())},getLabelConfig:function(){return{x:
|
||
this.category,y:this.y,key:this.name||this.category
|
||
,series:this.series,point:this,percentage:this.percentage
|
||
,total:this.total||this.stackTotal}},select:function(
|
||
a,b){var c=this,d=c.series.chart,a=n(a,!c.selected)
|
||
;c.firePointEvent(a?"select":"unselect",{accumulate
|
||
:b},function(){c.selected=a,c.setState(a&&"select")
|
||
,b||bW(d.getSelectedPoints(),function(a){a.selected&&
|
||
a!==c&&(a.selected=!1,a.setState(""),a.firePointEvent
|
||
("unselect"))})})},onMouseOver:function(){var a=this
|
||
.series,b=a.chart,c=b.tooltip,d=b.hoverPoint;d&&d!==
|
||
this&&d.onMouseOut(),this.firePointEvent("mouseOver"
|
||
),c&&(!c.shared||a.noSharedTooltip)&&c.refresh(this
|
||
),this.setState("hover"),b.hoverPoint=this},onMouseOut
|
||
:function(){this.firePointEvent("mouseOut"),this.setState
|
||
(),this.series.chart.hoverPoint=null},tooltipFormatter
|
||
:function(a){var b=this.series,c=b.tooltipOptions,e=
|
||
a.match(/\{(series|point)\.[a-zA-Z]+\}/g),f=/[{\.}]/
|
||
,g,h,i,j,k={y:0,open:0,high:0,low:0,close:0,percentage
|
||
:1,total:1};c.valuePrefix=c.valuePrefix||c.yPrefix,
|
||
c.valueDecimals=c.valueDecimals||c.yDecimals,c.valueSuffix=
|
||
c.valueSuffix||c.ySuffix;for(j in e)h=e[j],d(h)&&h!==
|
||
a&&(i=(" "+h).split(f),g={point:this,series:b}[i[1]
|
||
],i=i[2],g===this&&k.hasOwnProperty(i)?(g=k[i]?i:"value"
|
||
,g=(c[g+"Prefix"]||"")+r(this[i],n(c[g+"Decimals"],-1
|
||
))+(c[g+"Suffix"]||"")):g=g[i],a=a.replace(h,g));return a
|
||
},update:function(a,b,c){var d=this,f=d.series,g=d.
|
||
graphic,h,i=f.data,j=i.length,k=f.chart,b=n(b,!0);d
|
||
.firePointEvent("update",{options:a},function(){d.applyOptions
|
||
(a),e(a)&&(f.getAttribs(),g&&g.attr(d.pointAttr[f.state
|
||
]));for(h=0;h<j;h++)if(i[h]===d){f.xData[h]=d.x,f.yData
|
||
[h]=d.y,f.options.data[h]=a;break}f.isDirty=!0,f.isDirtyData=!0
|
||
,b&&k.redraw(c)})},remove:function(a,b){var c=this,
|
||
d=c.series,e=d.chart,f,g=d.data,h=g.length;E(b,e),a=
|
||
n(a,!0),c.firePointEvent("remove",null,function(){for(
|
||
f=0;f<h;f++)if(g[f]===c){g.splice(f,1),d.options.data
|
||
.splice(f,1),d.xData.splice(f,1),d.yData.splice(f,1
|
||
);break}c.destroy(),d.isDirty=!0,d.isDirtyData=!0,a&&
|
||
e.redraw()})},firePointEvent:function(a,b,c){var d=
|
||
this,e=this.series.options;(e.point.events[a]||d.options&&
|
||
d.options.events&&d.options.events[a])&&this.importEvents
|
||
(),a==="click"&&e.allowPointSelect&&(c=function(a){
|
||
d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}),cb
|
||
(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents
|
||
){var a=b$(this.series.options.point,this.options).
|
||
events,b;this.events=a;for(b in a)b_(this,b,a[b]);this
|
||
.hasImportedEvents=!0}},setState:function(a){var b=
|
||
this.plotX,c=this.plotY,d=this.series,e=d.options.states
|
||
,f=ci[d.type].marker&&d.options.marker,g=f&&!f.enabled
|
||
,h=f&&f.states[a],i=h&&h.enabled===!1,j=d.stateMarkerGraphic
|
||
,k=d.chart,l=this.pointAttr,a=a||"";a===this.state||
|
||
this.selected&&a!=="select"||e[a]&&e[a].enabled===!1||
|
||
a&&(i||g&&!h.enabled)||(this.graphic?(e=f&&this.graphic
|
||
.symbolName&&l[a].r,this.graphic.attr(b$(l[a],e?{x:
|
||
b-e,y:c-e,width:2*e,height:2*e}:{}))):(a&&h&&(j||(e=
|
||
h.radius,d.stateMarkerGraphic=j=k.renderer.symbol(d
|
||
.symbol,-e,-e,2*e,2*e).attr(l[a]).add(d.group)),j.translate
|
||
(b,c)),j&&j[a?"show":"hide"]()),this.state=a)}};var cq=
|
||
function(){};cq.prototype={isCartesian:!0,type:"line"
|
||
,pointClass:cp,sorted:!0,pointAttrToOptions:{stroke
|
||
:"lineColor","stroke-width":"lineWidth",fill:"fillColor"
|
||
,r:"radius"},init:function(b,c){var d,e;e=b.series.
|
||
length,this.chart=b,this.options=c=this.setOptions(
|
||
c),this.bindAxes(),a(this,{index:e,name:c.name||"Series "+
|
||
(e+1),state:"",pointAttr:{},visible:c.visible!==!1,
|
||
selected:c.selected===!0}),bi&&(c.animation=!1),e=c
|
||
.events;for(d in e)b_(this,d,e[d]);if(e&&e.click||c
|
||
.point&&c.point.events&&c.point.events.click||c.allowPointSelect
|
||
)b.runTrackerClick=!0;this.getColor(),this.getSymbol
|
||
(),this.setData(c.data,!1),this.isCartesian&&(b.hasCartesianSeries=!0
|
||
),b.series.push(this)},bindAxes:function(){var a=this
|
||
,b=a.options,c=a.chart,d;a.isCartesian&&bW(["xAxis"
|
||
,"yAxis"],function(e){bW(c[e],function(c){d=c.options
|
||
;if(b[e]===d.index||b[e]===P&&d.index===0)c.series.
|
||
push(a),a[e]=c,c.isDirty=!0})})},autoIncrement:function(
|
||
){var a=this.options,b=this.xIncrement,b=n(b,a.pointStart
|
||
,0);return this.pointInterval=n(this.pointInterval,
|
||
a.pointInterval,1),this.xIncrement=b+this.pointInterval
|
||
,b},getSegments:function(){var a=-1,b=[],c,d=this.points
|
||
,e=d.length;if(e)if(this.options.connectNulls){for(
|
||
c=e;c--;)d[c].y===null&&d.splice(c,1);d.length&&(b=
|
||
[d])}else bW(d,function(c,f){c.y===null?(f>a+1&&b.push
|
||
(d.slice(a+1,f)),a=f):f===e-1&&b.push(d.slice(a+1,f+1
|
||
))});this.segments=b},setOptions:function(a){var b=
|
||
this.chart.options,c=b.plotOptions,d=a.data;return a
|
||
.data=null,c=b$(c[this.type],c.series,a),c.data=a.data=
|
||
d,this.tooltipOptions=b$(b.tooltip,c.tooltip),c},getColor
|
||
:function(){var a=this.options,b=this.chart.options
|
||
.colors,c=this.chart.counters;this.color=a.color||!
|
||
a.colorByPoint&&b[c.color++]||"gray",c.wrapColor(b.
|
||
length)},getSymbol:function(){var a=this.options.marker
|
||
,b=this.chart,c=b.options.symbols,b=b.counters;this
|
||
.symbol=a.symbol||c[b.symbol++],/^url/.test(this.symbol
|
||
)&&(a.radius=0),b.wrapSymbol(c.length)},drawLegendSymbol
|
||
:function(a){var b=this.options,c=b.marker,d=a.options
|
||
.symbolWidth,e=this.chart.renderer,f=this.legendGroup
|
||
,a=a.baseline,g;b.lineWidth&&(g={"stroke-width":b.lineWidth
|
||
},b.dashStyle&&(g.dashstyle=b.dashStyle),this.legendLine=
|
||
e.path(["M",0,a-4,"L",d,a-4]).attr(g).add(f)),c&&c.
|
||
enabled&&(b=c.radius,this.legendSymbol=e.symbol(this
|
||
.symbol,d/2-b,a-4-b,2*b,2*b).attr(this.pointAttr[""
|
||
]).add(f))},addPoint:function(a,b,c,d){var e=this.data
|
||
,f=this.graph,g=this.area,h=this.chart,i=this.xData
|
||
,j=this.yData,k=f&&f.shift||0,l=this.options.data;E
|
||
(d,h),f&&c&&(f.shift=k+1),g&&(c&&(g.shift=k+1),g.isArea=!0
|
||
),b=n(b,!0),d={series:this},this.pointClass.prototype
|
||
.applyOptions.apply(d,[a]),i.push(d.x),j.push(this.
|
||
valueCount===4?[d.open,d.high,d.low,d.close]:d.y),l
|
||
.push(a),c&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift
|
||
(),i.shift(),j.shift(),l.shift())),this.getAttribs(
|
||
),this.isDirtyData=this.isDirty=!0,b&&h.redraw()},setData
|
||
:function(a,b){var c=this.points,d=this.options,e=this
|
||
.initialColor,h=this.chart,i=null,j=this.xAxis,l=this
|
||
.pointClass.prototype;this.xIncrement=null,this.pointRange=
|
||
j&&j.categories&&1||d.pointRange,k(e)&&(h.counters.
|
||
color=e);var m=[],o=[],p=a?a.length:[],q=this.valueCount
|
||
;if(p>(d.turboThreshold||1e3)){for(e=0;i===null&&e<
|
||
p;)i=a[e],e++;if(g(i)){l=n(d.pointStart,0),d=n(d.pointInterval
|
||
,1);for(e=0;e<p;e++)m[e]=l,o[e]=a[e],l+=d;this.xIncrement=
|
||
l}else if(f(i))if(q)for(e=0;e<p;e++)d=a[e],m[e]=d[0
|
||
],o[e]=d.slice(1,q+1);else for(e=0;e<p;e++)d=a[e],m
|
||
[e]=d[0],o[e]=d[1]}else for(e=0;e<p;e++)d={series:this
|
||
},l.applyOptions.apply(d,[a[e]]),m[e]=d.x,o[e]=l.toYData?
|
||
l.toYData.apply(d):d.y;this.data=[],this.options.data=
|
||
a,this.xData=m,this.yData=o;for(e=c&&c.length||0;e--
|
||
;)c[e]&&c[e].destroy&&c[e].destroy();j&&(j.minRange=
|
||
j.userMinRange),this.isDirty=this.isDirtyData=h.isDirtyBox=!0
|
||
,n(b,!0)&&h.redraw(!1)},remove:function(a,b){var c=
|
||
this,d=c.chart,a=n(a,!0);c.isRemoving||(c.isRemoving=!0
|
||
,cb(c,"remove",null,function(){c.destroy(),d.isDirtyLegend=
|
||
d.isDirtyBox=!0,a&&d.redraw(b)})),c.isRemoving=!1},
|
||
processData:function(a){var b=this.xData,c=this.yData
|
||
,d=b.length,e=0,f=d,g,h,i=this.xAxis,j=this.options
|
||
,k=j.cropThreshold,l=this.isCartesian;if(l&&!this.isDirty&&!
|
||
i.isDirty&&!this.yAxis.isDirty&&!a)return!1;if(l&&this
|
||
.sorted&&(!k||d>k||this.forceCrop))if(a=i.getExtremes
|
||
(),i=a.min,k=a.max,b[d-1]<i||b[0]>k)b=[],c=[];else if(
|
||
b[0]<i||b[d-1]>k){for(a=0;a<d;a++)if(b[a]>=i){e=W(0
|
||
,a-1);break}for(;a<d;a++)if(b[a]>k){f=a+1;break}b=b
|
||
.slice(e,f),c=c.slice(e,f),g=!0}for(a=b.length-1;a>0
|
||
;a--)if(d=b[a]-b[a-1],d>0&&(h===P||d<h))h=d;this.cropped=
|
||
g,this.cropStart=e,this.processedXData=b,this.processedYData=
|
||
c,j.pointRange===null&&(this.pointRange=h||1),this.
|
||
closestPointRange=h},generatePoints:function(){var a=
|
||
this.options.data,b=this.data,c,d=this.processedXData
|
||
,e=this.processedYData,f=this.pointClass,g=d.length
|
||
,h=this.cropStart||0,i,j=this.hasGroupedData,k,l=[]
|
||
,n;!b&&!j&&(b=[],b.length=a.length,b=this.data=b);for(
|
||
n=0;n<g;n++)i=h+n,j?l[n]=(new f).init(this,[d[n]].concat
|
||
(m(e[n]))):(b[i]?k=b[i]:a[i]!==P&&(b[i]=k=(new f).init
|
||
(this,a[i],d[n])),l[n]=k);if(b&&(g!==(c=b.length)||
|
||
j))for(n=0;n<c;n++)if(n===h&&!j&&(n+=g),b[n])b[n].destroyElements
|
||
(),b[n].plotX=P;this.data=b,this.points=l},translate
|
||
:function(){this.processedXData||this.processData()
|
||
,this.generatePoints();for(var a=this.chart,b=this.
|
||
options,c=b.stacking,d=this.xAxis,e=d.categories,f=
|
||
this.yAxis,g=this.points,h=g.length,i=!!this.modifyValue
|
||
,j,l=f.series,m=l.length;m--;)if(l[m].visible){m===
|
||
this.index&&(j=!0);break}for(m=0;m<h;m++){var l=g[m
|
||
],n=l.x,o=l.y,p=l.low,q=f.stacks[(o<b.threshold?"-"
|
||
:"")+this.stackKey];l.plotX=d.translate(n,0,0,0,1),
|
||
c&&this.visible&&q&&q[n]&&(p=q[n],n=p.total,p.cum=p=
|
||
p.cum-o,o=p+o,j&&(p=b.threshold),c==="percent"&&(p=
|
||
n?p*100/n:0,o=n?o*100/n:0),l.percentage=n?l.y*100/n
|
||
:0,l.stackTotal=n,l.stackY=o),l.yBottom=k(p)?f.translate
|
||
(p,0,1,0,1):null,i&&(o=this.modifyValue(o,l)),l.plotY=typeof
|
||
o=="number"?T(f.translate(o,0,1,0,1)*10)/10:P,l.clientX=
|
||
a.inverted?a.plotHeight-l.plotX:l.plotX,l.category=
|
||
e&&e[l.x]!==P?e[l.x]:l.x}this.getSegments()},setTooltipPoints
|
||
:function(a){var b=[],c=this.chart.plotSizeX,d,e;d=
|
||
this.xAxis;var f,g,h=[];if(this.options.enableMouseTracking!==!1
|
||
){a&&(this.tooltipPoints=null),bW(this.segments||this
|
||
.points,function(a){b=b.concat(a)}),d&&d.reversed&&
|
||
(b=b.reverse()),a=b.length;for(g=0;g<a;g++){f=b[g],
|
||
d=b[g-1]?b[g-1]._high+1:0;for(f._high=e=b[g+1]?W(0,
|
||
U((f.plotX+(b[g+1]?b[g+1].plotX:c))/2)):c;d>=0&&d<=
|
||
e;)h[d++]=f}this.tooltipPoints=h}},tooltipHeaderFormatter
|
||
:function(a){var b=this.tooltipOptions,c=b.xDateFormat
|
||
,d=this.xAxis,e=d&&d.options.type==="datetime",f;if(
|
||
e&&!c)for(f in bs)if(bs[f]>=d.closestPointRange){c=
|
||
b.dateTimeLabelFormats[f];break}return b.headerFormat
|
||
.replace("{point.key}",e?bp(c,a):a).replace("{series.name}"
|
||
,this.name).replace("{series.color}",this.color)},onMouseOver
|
||
:function(){var a=this.chart,b=a.hoverSeries;if(bk||!
|
||
a.mouseIsDown)b&&b!==this&&b.onMouseOut(),this.options
|
||
.events.mouseOver&&cb(this,"mouseOver"),this.setState
|
||
("hover"),a.hoverSeries=this},onMouseOut:function()
|
||
{var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint
|
||
;d&&d.onMouseOut(),this&&a.events.mouseOut&&cb(this
|
||
,"mouseOut"),c&&!a.stickyTracking&&!c.shared&&c.hide
|
||
(),this.setState(),b.hoverSeries=null},animate:function(
|
||
a){var b=this.chart,c=this.clipRect,d=this.options.
|
||
animation;d&&!e(d)&&(d={}),a?c.isAnimating||(c.attr
|
||
("width",0),c.isAnimating=!0):(c.animate({width:b.plotSizeX
|
||
},d),this.animate=null)},drawPoints:function(){var b
|
||
,c=this.points,d=this.chart,e,f,g,h,i,j,k,l;if(this
|
||
.options.marker.enabled)for(g=c.length;g--;)if(h=c[
|
||
g],e=h.plotX,f=h.plotY,l=h.graphic,f!==P&&!isNaN(f)
|
||
)if(b=h.pointAttr[h.selected?"select":""],i=b.r,j=n
|
||
(h.marker&&h.marker.symbol,this.symbol),k=j.indexOf
|
||
("url")===0,l)l.animate(a({x:e-i,y:f-i},l.symbolName?
|
||
{width:2*i,height:2*i}:{}));else if(i>0||k)h.graphic=
|
||
d.renderer.symbol(j,e-i,f-i,2*i,2*i).attr(b).add(this
|
||
.group)},convertAttribs:function(a,b,c,d){var e=this
|
||
.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{
|
||
},d=d||{};for(f in e)g=e[f],h[f]=n(a[g],b[f],c[f],d
|
||
[f]);return h},getAttribs:function(){var a=this,b=ci
|
||
[a.type].marker?a.options.marker:a.options,c=b.states
|
||
,d=c.hover,e,f=a.color,g={stroke:f,fill:f},h=a.points||
|
||
[],i=[],j,l=a.pointAttrToOptions,m;a.options.marker?
|
||
(d.radius=d.radius||b.radius+2,d.lineWidth=d.lineWidth||
|
||
b.lineWidth+1):d.color=d.color||cj(d.color||f).brighten
|
||
(d.brightness).get(),i[""]=a.convertAttribs(b,g),bW
|
||
(["hover","select"],function(b){i[b]=a.convertAttribs
|
||
(c[b],i[""])}),a.pointAttr=i;for(f=h.length;f--;){g=
|
||
h[f],(b=g.options&&g.options.marker||g.options)&&b.
|
||
enabled===!1&&(b.radius=0),e=!1;if(g.options)for(m in
|
||
l)k(b[l[m]])&&(e=!0);e?(j=[],c=b.states||{},e=c.hover=
|
||
c.hover||{},a.options.marker||(e.color=cj(e.color||
|
||
g.options.color).brighten(e.brightness||d.brightness
|
||
).get()),j[""]=a.convertAttribs(b,i[""]),j.hover=a.
|
||
convertAttribs(c.hover,i.hover,j[""]),j.select=a.convertAttribs
|
||
(c.select,i.select,j[""])):j=i,g.pointAttr=j}},destroy
|
||
:function(){var a=this,b=a.chart,c=a.clipRect,d=/AppleWebKit\/533/
|
||
.test(bb),e,f,g=a.data||[],h,i,k;cb(a,"destroy"),ca
|
||
(a),bW(["xAxis","yAxis"],function(b){if(k=a[b])j(k.
|
||
series,a),k.isDirty=!0}),a.legendItem&&a.chart.legend
|
||
.destroyItem(a);for(f=g.length;f--;)(h=g[f])&&h.destroy&&
|
||
h.destroy();a.points=null,c&&c!==b.clipRect&&(a.clipRect=
|
||
c.destroy()),bW("area,graph,dataLabelsGroup,group,tracker,trackerGroup"
|
||
.split(","),function(b){a[b]&&(e=d&&b==="group"?"hide"
|
||
:"destroy",a[b][e]())}),b.hoverSeries===a&&(b.hoverSeries=
|
||
null),j(b.series,a);for(i in a)delete a[i]},drawDataLabels
|
||
:function(){var a=this,b=a.options,c=b.dataLabels;if(
|
||
c.enabled||a._hasPointLabels){var d,e,f=a.points,g,
|
||
h,i,j=a.dataLabelsGroup,l=a.chart,m=a.xAxis,m=m?m.left
|
||
:l.plotLeft,o=a.yAxis,o=o?o.top:l.plotTop,p=l.renderer
|
||
,q=l.inverted,r=a.type,s=b.stacking,t=r==="column"||
|
||
r==="bar",u=c.verticalAlign===null,v=c.y===null,w=p
|
||
.fontMetrics(c.style.fontSize),x=w.h,y=w.b,z,A;t&&(
|
||
w={top:y,middle:y-x/2,bottom:-x+y},s?(u&&(c=b$(c,{verticalAlign
|
||
:"middle"})),v&&(c=b$(c,{y:w[c.verticalAlign]}))):u?
|
||
c=b$(c,{verticalAlign:"top"}):v&&(c=b$(c,{y:w[c.verticalAlign
|
||
]}))),j?j.translate(m,o):j=a.dataLabelsGroup=p.g("data-labels"
|
||
).attr({visibility:a.visible?"visible":"hidden",zIndex
|
||
:6}).translate(m,o).add(),h=c,bW(f,function(f){z=f.
|
||
dataLabel,c=h,(g=f.options)&&g.dataLabels&&(c=b$(c,
|
||
g.dataLabels));if(A=c.enabled){var m=f.barX&&f.barX+
|
||
f.barW/2||n(f.plotX,-999),o=n(f.plotY,-999),u=c.y===
|
||
null?f.y>=b.threshold?-x+y:y:c.y;d=(q?l.plotWidth-o
|
||
:m)+c.x,e=T((q?l.plotHeight-m:o)+u)}if(z&&a.isCartesian&&
|
||
(!l.isInsidePlot(d,e)||!A))f.dataLabel=z.destroy();
|
||
else if(A){var m=c.align,v;i=c.formatter.call(f.getLabelConfig
|
||
(),c),r==="column"&&(d+={left:-1,right:1}[m]*f.barW/2||0
|
||
),!s&&q&&f.y<0&&(m="right",d-=10),c.style.color=n(c
|
||
.color,c.style.color,a.color,"black");if(z)z.attr({
|
||
text:i}).animate({x:d,y:e});else if(k(i)){m={align:
|
||
m,fill:c.backgroundColor,stroke:c.borderColor,"stroke-width"
|
||
:c.borderWidth,r:c.borderRadius||0,rotation:c.rotation
|
||
,padding:c.padding,zIndex:1};for(v in m)m[v]===P&&delete
|
||
m[v];z=f.dataLabel=p[c.rotation?"text":"label"](i,d
|
||
,e,null,null,null,c.useHTML,!0).attr(m).css(c.style
|
||
).add(j).shadow(c.shadow)}t&&b.stacking&&z&&(v=f.barX
|
||
,m=f.barY,o=f.barW,f=f.barH,z.align(c,null,{x:q?l.plotWidth-
|
||
m-f:v,y:q?l.plotHeight-v-o:m,width:q?f:o,height:q?o
|
||
:f}))}})}},getSegmentPath:function(a){var b=this,c=
|
||
[];return bW(a,function(d,e){b.getPointSpline?c.push
|
||
.apply(c,b.getPointSpline(a,d,e)):(c.push(e?"L":"M"
|
||
),e&&b.options.step&&c.push(d.plotX,a[e-1].plotY),c
|
||
.push(d.plotX,d.plotY))}),c},drawGraph:function(){var a=
|
||
this,b=a.options,c=a.graph,d=[],e=a.group,f=b.lineColor||
|
||
a.color,g=b.lineWidth,h=b.dashStyle,i,j=a.chart.renderer
|
||
,k=[];bW(a.segments,function(b){i=a.getSegmentPath(
|
||
b),b.length>1?d=d.concat(i):k.push(b[0])}),a.graphPath=
|
||
d,a.singlePoints=k,c?(ce(c),c.animate({d:d})):g&&(c=
|
||
{stroke:f,"stroke-width":g},h&&(c.dashstyle=h),a.graph=
|
||
j.path(d).attr(c).add(e).shadow(b.shadow))},invertGroups
|
||
:function(){function a(){var a={width:b.yAxis.len,height
|
||
:b.xAxis.len};c.attr(a).invert(),d&&d.attr(a).invert
|
||
()}var b=this,c=b.group,d=b.trackerGroup,e=b.chart;
|
||
b_(e,"resize",a),b_(b,"destroy",function(){ca(e,"resize"
|
||
,a)}),a(),b.invertGroups=a},createGroup:function(){
|
||
var a=this.chart;(this.group=a.renderer.g("series")
|
||
).attr({visibility:this.visible?"visible":"hidden",
|
||
zIndex:this.options.zIndex}).translate(this.xAxis.left
|
||
,this.yAxis.top).add(a.seriesGroup),this.createGroup=
|
||
bt},render:function(){var a=this,b=a.chart,c,d=a.options
|
||
,e=d.clip!==!1,f=d.animation,f=(d=f&&a.animate)?f&&
|
||
f.duration||500:0,g=a.clipRect,h=b.renderer;!g&&(g=
|
||
a.clipRect=!b.hasRendered&&b.clipRect?b.clipRect:h.
|
||
clipRect(0,0,b.plotSizeX,b.plotSizeY+1),!b.clipRect
|
||
)&&(b.clipRect=g),a.createGroup(),c=a.group,a.drawDataLabels
|
||
(),d&&a.animate(!0),a.getAttribs(),a.drawGraph&&a.drawGraph
|
||
(),a.drawPoints(),a.options.enableMouseTracking!==!1&&
|
||
a.drawTracker(),b.inverted&&a.invertGroups(),e&&!a.
|
||
hasRendered&&(c.clip(g),a.trackerGroup&&a.trackerGroup
|
||
.clip(b.clipRect)),d&&a.animate(),setTimeout(function(
|
||
){g.isAnimating=!1,(c=a.group)&&g!==b.clipRect&&g.renderer&&
|
||
(e&&c.clip(a.clipRect=b.clipRect),g.destroy())},f),
|
||
a.isDirty=a.isDirtyData=!1,a.hasRendered=!0},redraw
|
||
:function(){var a=this.chart,b=this.isDirtyData,c=this
|
||
.group;c&&(a.inverted&&c.attr({width:a.plotWidth,height
|
||
:a.plotHeight}),c.animate({translateX:this.xAxis.left
|
||
,translateY:this.yAxis.top})),this.translate(),this
|
||
.setTooltipPoints(!0),this.render(),b&&cb(this,"updatedData"
|
||
)},setState:function(a){var b=this.options,c=this.graph
|
||
,d=b.states,b=b.lineWidth,a=a||"";this.state!==a&&(
|
||
this.state=a,d[a]&&d[a].enabled===!1||(a&&(b=d[a].lineWidth||
|
||
b+1),c&&!c.dashstyle&&c.attr({"stroke-width":b},a?0
|
||
:500)))},setVisible:function(a,b){var c=this.chart,
|
||
d=this.legendItem,e=this.group,f=this.tracker,g=this
|
||
.dataLabelsGroup,h,i=this.points,j=c.options.chart.
|
||
ignoreHiddenSeries;h=this.visible,h=(this.visible=a=
|
||
a===P?!h:a)?"show":"hide",e&&e[h]();if(f)f[h]();else if(
|
||
i)for(e=i.length;e--;)(f=i[e],f.tracker)&&f.tracker
|
||
[h]();g&&g[h](),d&&c.legend.colorizeItem(this,a),this
|
||
.isDirty=!0,this.options.stacking&&bW(c.series,function(
|
||
a){a.options.stacking&&a.visible&&(a.isDirty=!0)}),
|
||
j&&(c.isDirtyBox=!0),b!==!1&&c.redraw(),cb(this,h)}
|
||
,show:function(){this.setVisible(!0)},hide:function(
|
||
){this.setVisible(!1)},select:function(a){this.selected=
|
||
a=a===P?!this.selected:a,this.checkbox&&(this.checkbox
|
||
.checked=a),cb(this,a?"select":"unselect")},drawTrackerGroup
|
||
:function(){var a=this.trackerGroup,b=this.chart;return this
|
||
.isCartesian&&(a||(this.trackerGroup=a=b.renderer.g
|
||
().attr({zIndex:this.options.zIndex||1}).add(b.trackerGroup
|
||
)),a.translate(this.xAxis.left,this.yAxis.top)),a},
|
||
drawTracker:function(){var a=this,b=a.options,c=b.trackByArea
|
||
,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=
|
||
a.chart,g=f.renderer,h=f.options.tooltip.snap,i=a.tracker
|
||
,j=b.cursor,j=j&&{cursor:j},k=a.singlePoints,l=a.drawTrackerGroup
|
||
(),m;if(e&&!c)for(m=e+1;m--;)d[m]==="M"&&d.splice(m+1
|
||
,0,d[m+1]-h,d[m+2],"L"),(m&&d[m]==="M"||m===e)&&d.splice
|
||
(m,0,"L",d[m-2]+h,d[m-1]);for(m=0;m<k.length;m++)e=
|
||
k[m],d.push("M",e.plotX-h,e.plotY,"L",e.plotX+h,e.plotY
|
||
);i?i.attr({d:d}):a.tracker=g.path(d).attr({isTracker
|
||
:!0,"stroke-linejoin":"bevel",visibility:a.visible?"visible"
|
||
:"hidden",stroke:bw,fill:c?bw:bv,"stroke-width":b.lineWidth+
|
||
(c?0:2*h)}).on(bk?"touchstart":"mouseover",function(
|
||
){f.hoverSeries!==a&&a.onMouseOver()}).on("mouseout"
|
||
,function(){b.stickyTracking||a.onMouseOut()}).css(
|
||
j).add(l)}},bT=q(cq),bR.line=bT,ci.area=b$(bS,{threshold
|
||
:0}),bT=q(cq,{type:"area",getSegmentPath:function(a
|
||
){var b=cq.prototype.getSegmentPath.call(this,a),c=
|
||
[].concat(b),d,e=this.options;d=b.length;var f=this
|
||
.yAxis.getThreshold(e.threshold);d===3&&c.push("L",
|
||
b[1],b[2]);if(e.stacking&&this.type!=="areaspline")
|
||
for(d=a.length-1;d>=0;d--)d<a.length-1&&e.step&&c.push
|
||
(a[d+1].plotX,a[d].yBottom),c.push(a[d].plotX,a[d].
|
||
yBottom);else c.push("L",a[a.length-1].plotX,f,"L",
|
||
a[0].plotX,f);return this.areaPath=this.areaPath.concat
|
||
(c),b},drawGraph:function(){this.areaPath=[],cq.prototype
|
||
.drawGraph.apply(this);var a=this.areaPath,b=this.options
|
||
,c=this.area;c?c.animate({d:a}):this.area=this.chart
|
||
.renderer.path(a).attr({fill:n(b.fillColor,cj(this.
|
||
color).setOpacity(b.fillOpacity||.75).get())}).add(
|
||
this.group)},drawLegendSymbol:function(a,b){b.legendSymbol=
|
||
this.chart.renderer.rect(0,a.baseline-11,a.options.
|
||
symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup
|
||
)}}),bR.area=bT,ci.spline=b$(bS),cm=q(cq,{type:"spline"
|
||
,getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY
|
||
,f=a[c-1],g=a[c+1],h,i,j,k;if(c&&c<a.length-1){a=f.
|
||
plotY,j=g.plotX;var g=g.plotY,l;h=(1.5*d+f.plotX)/2.5
|
||
,i=(1.5*e+a)/2.5,j=(1.5*d+j)/2.5,k=(1.5*e+g)/2.5,l=
|
||
(k-i)*(j-d)/(j-h)+e-k,i+=l,k+=l,i>a&&i>e?(i=W(a,e),
|
||
k=2*e-i):i<a&&i<e&&(i=X(a,e),k=2*e-i),k>g&&k>e?(k=W
|
||
(g,e),i=2*e-k):k<g&&k<e&&(k=X(g,e),i=2*e-k),b.rightContX=
|
||
j,b.rightContY=k}return c?(b=["C",f.rightContX||f.plotX
|
||
,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=
|
||
f.rightContY=null):b=["M",d,e],b}}),bR.spline=cm,ci
|
||
.areaspline=b$(ci.area);var cr=bT.prototype,cm=q(cm
|
||
,{type:"areaspline",getSegmentPath:cr.getSegmentPath
|
||
,drawGraph:cr.drawGraph});bR.areaspline=cm,ci.column=
|
||
b$(bS,{borderColor:"#FFFFFF",borderWidth:1,borderRadius
|
||
:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength
|
||
:0,cropThreshold:50,pointRange:null,states:{hover:{
|
||
brightness:.1,shadow:!1},select:{color:"#C0C0C0",borderColor
|
||
:"#000000",shadow:!1}},dataLabels:{y:null,verticalAlign
|
||
:null},threshold:0}),cm=q(cq,{type:"column",tooltipOutsidePlot
|
||
:!0,pointAttrToOptions:{stroke:"borderColor","stroke-width"
|
||
:"borderWidth",fill:"color",r:"borderRadius"},init:
|
||
function(){cq.prototype.init.apply(this,arguments);
|
||
var a=this,b=a.chart;b.hasRendered&&bW(b.series,function(
|
||
b){b.type===a.type&&(b.isDirty=!0)})},translate:function(
|
||
){var b=this,c=b.chart,d=b.options,e=d.stacking,f=d
|
||
.borderWidth,g=0,h=b.xAxis,i=h.reversed,j={},l,m;cq
|
||
.prototype.translate.apply(b),bW(c.series,function(
|
||
a){a.type===b.type&&a.visible&&b.options.group===a.
|
||
options.group&&(a.options.stacking?(l=a.stackKey,j[
|
||
l]===P&&(j[l]=g++),m=j[l]):m=g++,a.columnIndex=m)})
|
||
;var o=b.points,h=Y(h.transA)*(h.ordinalSlope||d.pointRange||
|
||
h.closestPointRange||1),p=h*d.groupPadding,q=(h-2*p
|
||
)/g,r=d.pointWidth,s=k(r)?(q-r)/2:q*d.pointPadding,
|
||
t=n(r,q-2*s),u=V(W(t,1+2*f)),v=s+(p+((i?g-b.columnIndex
|
||
:b.columnIndex)||0)*q-h/2)*(i?-1:1),w=b.yAxis.getThreshold
|
||
(d.threshold),x=n(d.minPointLength,5);bW(o,function(
|
||
d){var g=d.plotY,h=n(d.yBottom,w),i=d.plotX+v,j=V(X
|
||
(g,h)),k=V(W(g,h)-j),l=b.yAxis.stacks[(d.y<0?"-":""
|
||
)+b.stackKey];e&&b.visible&&l&&l[d.x]&&l[d.x].setOffset
|
||
(v,u),Y(k)<x&&x&&(k=x,j=Y(j-w)>x?h-x:w-(g<=w?x:0)),
|
||
a(d,{barX:i,barY:j,barW:u,barH:k,pointWidth:t}),d.shapeType="rect"
|
||
,d.shapeArgs=g=c.renderer.Element.prototype.crisp.call
|
||
(0,f,i,j,u,k),f%2&&(g.y-=1,g.height+=1),d.trackerArgs=
|
||
Y(k)<3&&b$(d.shapeArgs,{height:6,y:j-3})})},getSymbol
|
||
:function(){},drawLegendSymbol:bT.prototype.drawLegendSymbol
|
||
,drawGraph:function(){},drawPoints:function(){var a=
|
||
this,b=a.options,c=a.chart.renderer,d,e;bW(a.points
|
||
,function(f){var g=f.plotY;g!==P&&!isNaN(g)&&f.y!==
|
||
null&&(d=f.graphic,e=f.shapeArgs,d?(ce(d),d.animate
|
||
(b$(e))):f.graphic=d=c[f.shapeType](e).attr(f.pointAttr
|
||
[f.selected?"select":""]).add(a.group).shadow(b.shadow
|
||
,null,b.stacking&&!b.borderRadius))})},drawTracker:
|
||
function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+
|
||
(new Date),g=a.options,h=g.cursor,i=h&&{cursor:h},j=
|
||
a.drawTrackerGroup(),k,m,n;bW(a.points,function(h){
|
||
e=h.tracker,d=h.trackerArgs||h.shapeArgs,m=h.plotY,
|
||
n=!a.isCartesian||m!==P&&!isNaN(m),delete d.strokeWidth
|
||
,h.y!==null&&n&&(e?e.attr(d):h.tracker=c[h.shapeType
|
||
](d).attr({isTracker:f,fill:bw,visibility:a.visible?"visible"
|
||
:"hidden"}).on(bk?"touchstart":"mouseover",function(
|
||
c){k=c.relatedTarget||c.fromElement,b.hoverSeries!==
|
||
a&&l(k,"isTracker")!==f&&a.onMouseOver(),h.onMouseOver
|
||
()}).on("mouseout",function(b){!g.stickyTracking&&(
|
||
k=b.relatedTarget||b.toElement,l(k,"isTracker")!==f
|
||
)&&a.onMouseOut()}).css(i).add(h.group||j))})},animate
|
||
:function(a){var b=this,c=b.points,d=b.options;a||(
|
||
bW(c,function(a){var c=a.graphic,a=a.shapeArgs,e=b.
|
||
yAxis,f=d.threshold;c&&(c.attr({height:0,y:k(f)?e.getThreshold
|
||
(f):e.translate(e.getExtremes().min,0,1,0,1)}),c.animate
|
||
({height:a.height,y:a.y},d.animation))}),b.animate=
|
||
null)},remove:function(){var a=this,b=a.chart;b.hasRendered&&
|
||
bW(b.series,function(b){b.type===a.type&&(b.isDirty=!0
|
||
)}),cq.prototype.remove.apply(a,arguments)}}),bR.column=
|
||
cm,ci.bar=b$(ci.column,{dataLabels:{align:"left",x:5
|
||
,y:null,verticalAlign:"middle"}}),cr=q(cm,{type:"bar"
|
||
,inverted:!0}),bR.bar=cr,ci.scatter=b$(bS,{lineWidth
|
||
:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat
|
||
:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>'
|
||
,pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"
|
||
}}),cr=q(cq,{type:"scatter",sorted:!1,translate:function(
|
||
){var a=this;cq.prototype.translate.apply(a),bW(a.points
|
||
,function(b){b.shapeType="circle",b.shapeArgs={x:b.
|
||
plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},
|
||
drawTracker:function(){for(var a=this,b=a.options.cursor
|
||
,b=b&&{cursor:b},c=a.points,d=c.length,e;d--;)if(e=
|
||
c[d].graphic)e.element._i=d;a._hasTracking?a._hasTracking=!0
|
||
:a.group.attr({isTracker:!0}).on(bk?"touchstart":"mouseover"
|
||
,function(b){a.onMouseOver(),b.target._i!==P&&c[b.target
|
||
._i].onMouseOver()}).on("mouseout",function(){a.options
|
||
.stickyTracking||a.onMouseOut()}).css(b)}}),bR.scatter=
|
||
cr,ci.pie=b$(bS,{borderColor:"#FFFFFF",borderWidth:1
|
||
,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance
|
||
:30,enabled:!0,formatter:function(){return this.point
|
||
.name},y:5},legendType:"point",marker:null,size:"75%"
|
||
,showInLegend:!1,slicedOffset:10,states:{hover:{brightness
|
||
:.1,shadow:!1}}}),bS={type:"pie",isCartesian:!1,pointClass
|
||
:q(cp,{init:function(){cp.prototype.init.apply(this
|
||
,arguments);var b=this,c;return a(b,{visible:b.visible!==!1
|
||
,name:n(b.name,"Slice")}),c=function(){b.slice()},b_
|
||
(b,"select",c),b_(b,"unselect",c),b},setVisible:function(
|
||
a){var b=this.series.chart,c=this.tracker,d=this.dataLabel
|
||
,e=this.connector,f=this.shadowGroup,g;g=(this.visible=
|
||
a=a===P?!this.visible:a)?"show":"hide",this.group[g
|
||
](),c&&c[g](),d&&d[g](),e&&e[g](),f&&f[g](),this.legendItem&&
|
||
b.legend.colorizeItem(this,a)},slice:function(a,b,c
|
||
){var d=this.series.chart,e=this.slicedTranslation;
|
||
E(c,d),n(b,!0),a=this.sliced=k(a)?a:!this.sliced,a=
|
||
{translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop
|
||
},this.group.animate(a),this.shadowGroup&&this.shadowGroup
|
||
.animate(a)}}),pointAttrToOptions:{stroke:"borderColor"
|
||
,"stroke-width":"borderWidth",fill:"color"},getColor
|
||
:function(){this.initialColor=this.chart.counters.color
|
||
},animate:function(){var a=this;bW(a.points,function(
|
||
b){var c=b.graphic,b=b.shapeArgs,d=-_/2;c&&(c.attr(
|
||
{r:0,start:d,end:d}),c.animate({r:b.r,start:b.start
|
||
,end:b.end},a.options.animation))}),a.animate=null}
|
||
,setData:function(a,b){cq.prototype.setData.call(this
|
||
,a,!1),this.processData(),this.generatePoints(),n(b
|
||
,!0)&&this.chart.redraw()},getCenter:function(){var a=
|
||
this.options,b=this.chart,d=b.plotWidth,e=b.plotHeight
|
||
,a=a.center.concat([a.size,a.innerSize||0]),f=X(d,e
|
||
),g;return bZ(a,function(a,b){return(g=/%$/.test(a)
|
||
)?[d,e,f,f][b]*c(a)/100:a})},translate:function(){this
|
||
.generatePoints();var a=0,b=-0.25,c=this.options,d=
|
||
c.slicedOffset,e=d+c.borderWidth,f,g=this.chart,h,i
|
||
,j,k=this.points,l=2*_,m,n,o,p=c.dataLabels.distance
|
||
;this.center=f=this.getCenter(),this.getX=function(
|
||
a,b){return j=S.asin((a-f[1])/(f[2]/2+p)),f[0]+(b?-1
|
||
:1)*Z(j)*(f[2]/2+p)},bW(k,function(b){a+=b.y}),bW(k
|
||
,function(c){m=a?c.y/a:0,h=T(b*l*1e3)/1e3,b+=m,i=T(
|
||
b*l*1e3)/1e3,c.shapeType="arc",c.shapeArgs={x:f[0],
|
||
y:f[1],r:f[2]/2,innerR:f[3]/2,start:h,end:i},j=(i+h
|
||
)/2,c.slicedTranslation=bZ([Z(j)*d+g.plotLeft,$(j)*
|
||
d+g.plotTop],T),n=Z(j)*f[2]/2,o=$(j)*f[2]/2,c.tooltipPos=
|
||
[f[0]+n*.7,f[1]+o*.7],c.labelPos=[f[0]+n+Z(j)*p,f[1
|
||
]+o+$(j)*p,f[0]+n+Z(j)*e,f[1]+o+$(j)*e,f[0]+n,f[1]+
|
||
o,p<0?"center":j<l/4?"left":"right",j],c.percentage=
|
||
m*100,c.total=a}),this.setTooltipPoints()},render:function(
|
||
){this.getAttribs(),this.drawPoints(),this.options.
|
||
enableMouseTracking!==!1&&this.drawTracker(),this.drawDataLabels
|
||
(),this.options.animation&&this.animate&&this.animate
|
||
(),this.isDirty=!1},drawPoints:function(){var b=this
|
||
,c=b.chart,d=c.renderer,e,f,g,h=b.options.shadow,i,
|
||
j;bW(b.points,function(k){f=k.graphic,j=k.shapeArgs
|
||
,g=k.group,i=k.shadowGroup,h&&!i&&(i=k.shadowGroup=
|
||
d.g("shadow").attr({zIndex:4}).add()),g||(g=k.group=
|
||
d.g("point").attr({zIndex:5}).add()),e=k.sliced?k.slicedTranslation
|
||
:[c.plotLeft,c.plotTop],g.translate(e[0],e[1]),i&&i
|
||
.translate(e[0],e[1]),f?f.animate(j):k.graphic=f=d.
|
||
arc(j).setRadialReference(b.center).attr(a(k.pointAttr
|
||
[""],{"stroke-linejoin":"round"})).add(k.group).shadow
|
||
(h,i),k.visible===!1&&k.setVisible(!1)})},drawDataLabels
|
||
:function(){var a=this.data,b,c=this.chart,d=this.options
|
||
.dataLabels,e=n(d.connectorPadding,10),f=n(d.connectorWidth
|
||
,1),g,h,i=n(d.softConnector,!0),j=d.distance,k=this
|
||
.center,l=k[2]/2,m=k[1],o=j>0,p=[[],[]],q,r,s,t,u=2
|
||
,v;if(d.enabled){cq.prototype.drawDataLabels.apply(
|
||
this),bW(a,function(a){a.dataLabel&&p[a.labelPos[7]<
|
||
_/2?0:1].push(a)}),p[1].reverse(),t=function(a,b){return b
|
||
.y-a.y};for(a=p[0][0]&&p[0][0].dataLabel&&(p[0][0].
|
||
dataLabel.getBBox().height||21);u--;){var w=[],x=[]
|
||
,y=p[u],z=y.length,A;if(j>0){for(v=m-l-j;v<=m+l+j;v+=
|
||
a)w.push(v);s=w.length;if(z>s){h=[].concat(y),h.sort
|
||
(t);for(v=z;v--;)h[v].rank=v;for(v=z;v--;)y[v].rank>=
|
||
s&&y.splice(v,1);z=y.length}for(v=0;v<z;v++){b=y[v]
|
||
,h=b.labelPos,b=9999;for(r=0;r<s;r++)g=Y(w[r]-h[1])
|
||
,g<b&&(b=g,A=r);if(A<v&&w[v]!==null)A=v;else for(s<
|
||
z-v+A&&w[v]!==null&&(A=s-z+v);w[A]===null;)A++;x.push
|
||
({i:A,y:w[A]}),w[A]=null}x.sort(t)}for(v=0;v<z;v++)
|
||
{b=y[v],h=b.labelPos,g=b.dataLabel,s=b.visible===!1?"hidden"
|
||
:"visible",q=h[1];if(j>0){if(r=x.pop(),A=r.i,r=r.y,
|
||
q>r&&w[A+1]!==null||q<r&&w[A-1]!==null)r=q}else r=q
|
||
;q=d.justify?k[0]+(u?-1:1)*(l+j):this.getX(A===0||A===
|
||
w.length-1?q:r,u),g.attr({visibility:s,align:h[6]})
|
||
[g.moved?"animate":"attr"]({x:q+d.x+({left:e,right:-
|
||
e}[h[6]]||0),y:r+d.y}),g.moved=!0,o&&f&&(g=b.connector
|
||
,h=i?["M",q+(h[6]==="left"?5:-5),r,"C",q,r,2*h[2]-h
|
||
[4],2*h[3]-h[5],h[2],h[3],"L",h[4],h[5]]:["M",q+(h[6
|
||
]==="left"?5:-5),r,"L",h[2],h[3],"L",h[4],h[5]],g?(
|
||
g.animate({d:h}),g.attr("visibility",s)):b.connector=
|
||
g=this.chart.renderer.path(h).attr({"stroke-width":
|
||
f,stroke:d.connectorColor||b.color||"#606060",visibility
|
||
:s,zIndex:3}).translate(c.plotLeft,c.plotTop).add()
|
||
)}}}},drawTracker:cm.prototype.drawTracker,drawLegendSymbol
|
||
:bT.prototype.drawLegendSymbol,getSymbol:function()
|
||
{}},bS=q(cq,bS),bR.pie=bS,a(Highcharts,{Axis:K,CanVGRenderer
|
||
:cn,Chart:O,Color:cj,Legend:N,Point:cp,Tick:H,Tooltip
|
||
:L,Renderer:bj,Series:cq,SVGRenderer:ck,VMLRenderer
|
||
:cl,dateFormat:bp,pathAnim:br,getOptions:function()
|
||
{return bo},hasBidiBug:bh,numberFormat:r,seriesTypes
|
||
:bR,setOptions:function(a){return bo=b$(bo,a),F(),bo
|
||
},addEvent:b_,removeEvent:ca,createElement:p,discardElement
|
||
:B,css:o,each:bW,extend:a,map:bZ,merge:b$,pick:n,splat
|
||
:m,extendClass:q,pInt:c,product:"Highcharts",version
|
||
:"2.2.5"})}(),Array.prototype.indexOf||(Array.prototype
|
||
.indexOf=function(a){"use strict";if(this===void 0||
|
||
this===null)throw new TypeError;var b=Object(this),
|
||
c=b.length>>>0;if(c===0)return-1;var d=0;arguments.
|
||
length>0&&(d=Number(arguments[1]),d!==d?d=0:d!==0&&
|
||
d!==Infinity&&d!==-Infinity&&(d=(d>0||-1)*Math.floor
|
||
(Math.abs(d))));if(d>=c)return-1;var e=d>=0?d:Math.
|
||
max(c-Math.abs(d),0);for(;e<c;e++)if(e in b&&b[e]===
|
||
a)return e;return-1}),window.I18n={},I18n.defaultLocale="en"
|
||
,I18n.fallbacks=!1,I18n.defaultSeparator=".",I18n.locale=
|
||
null,I18n.PLACEHOLDER=/(?:\{\{|%\{)(.*?)(?:\}\}?)/gm
|
||
,I18n.fallbackRules={},I18n.pluralizationRules={en:
|
||
function(a){return a==0?["zero","none","other"]:a==1?"one"
|
||
:"other"}},I18n.getFallbacks=function(a){if(a===I18n
|
||
.defaultLocale)return[];if(!I18n.fallbackRules[a]){
|
||
var b=[],c=a.split("-");for(var d=1;d<c.length;d++)
|
||
b.push(c.slice(0,d).join("-"));b.push(I18n.defaultLocale
|
||
),I18n.fallbackRules[a]=b}return I18n.fallbackRules
|
||
[a]},I18n.isValidNode=function(a,b,c){return a[b]!==
|
||
null&&a[b]!==c},I18n.lookup=function(a,b){var b=b||
|
||
{},c=a,d=this.prepareOptions(I18n.translations),e=b
|
||
.locale||I18n.currentLocale(),f=d[e]||{},b=this.prepareOptions
|
||
(b),g;typeof a=="object"&&(a=a.join(this.defaultSeparator
|
||
)),b.scope&&(a=b.scope.toString()+this.defaultSeparator+
|
||
a),a=a.split(this.defaultSeparator);while(f&&a.length>0
|
||
)g=a.shift(),f=f[g];if(!f){if(I18n.fallbacks){var h=
|
||
this.getFallbacks(e);for(var i=0;i<h.length;h++){f=
|
||
I18n.lookup(c,this.prepareOptions({locale:h[i]},b))
|
||
;if(f)break}}!f&&this.isValidNode(b,"defaultValue")&&
|
||
(f=b.defaultValue)}return f},I18n.prepareOptions=function(
|
||
){var a={},b,c=arguments.length;for(var d=0;d<c;d++
|
||
){b=arguments[d];if(!b)continue;for(var e in b)this
|
||
.isValidNode(a,e)||(a[e]=b[e])}return a},I18n.interpolate=
|
||
function(a,b){b=this.prepareOptions(b);var c=a.match
|
||
(this.PLACEHOLDER),d,e,f;if(!c)return a;for(var g=0
|
||
;d=c[g];g++)f=d.replace(this.PLACEHOLDER,"$1"),e=b[
|
||
f],this.isValidNode(b,f)||(e="[missing "+d+" value]"
|
||
),regex=new RegExp(d.replace(/\{/gm,"\\{").replace(/\}/gm
|
||
,"\\}")),a=a.replace(regex,e);return a},I18n.translate=
|
||
function(a,b){b=this.prepareOptions(b);var c=this.lookup
|
||
(a,b);try{return typeof c=="object"?typeof b.count=="number"?
|
||
this.pluralize(b.count,a,b):c:this.interpolate(c,b)
|
||
}catch(d){return this.missingTranslation(a)}},I18n.
|
||
localize=function(a,b){switch(a){case"currency":return this
|
||
.toCurrency(b);case"number":return a=this.lookup("number.format"
|
||
),this.toNumber(b,a);case"percentage":return this.toPercentage
|
||
(b);default:return a.match(/^(date|time)/)?this.toTime
|
||
(a,b):b.toString()}},I18n.parseDate=function(a){var b
|
||
,c;if(typeof a=="object")return a;b=a.toString().match
|
||
(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2}))?(Z|\+0000)?/
|
||
);if(b){for(var d=1;d<=6;d++)b[d]=parseInt(b[d],10)||0
|
||
;b[2]-=1,b[7]?c=new Date(Date.UTC(b[1],b[2],b[3],b[4
|
||
],b[5],b[6])):c=new Date(b[1],b[2],b[3],b[4],b[5],b
|
||
[6])}else typeof a=="number"?(c=new Date,c.setTime(
|
||
a)):a.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/)?(c=new Date
|
||
,c.setTime(Date.parse(a))):(c=new Date,c.setTime(Date
|
||
.parse(a)));return c},I18n.toTime=function(a,b){var c=
|
||
this.parseDate(b),d=this.lookup(a);return c.toString
|
||
().match(/invalid/i)?c.toString():d?this.strftime(c
|
||
,d):c.toString()},I18n.strftime=function(a,b){var c=
|
||
this.lookup("date");if(!c)return a.toString();c.meridian=
|
||
c.meridian||["AM","PM"];var d=a.getDay(),e=a.getDate
|
||
(),f=a.getFullYear(),g=a.getMonth()+1,h=a.getHours(
|
||
),i=h,j=h>11?1:0,k=a.getSeconds(),l=a.getMinutes(),
|
||
m=a.getTimezoneOffset(),n=Math.floor(Math.abs(m/60)
|
||
),o=Math.abs(m)-n*60,p=(m>0?"-":"+")+(n.toString().
|
||
length<2?"0"+n:n)+(o.toString().length<2?"0"+o:o);i>12?
|
||
i-=12:i===0&&(i=12);var q=function(a){var b="0"+a.toString
|
||
();return b.substr(b.length-2)},r=b;return r=r.replace
|
||
("%a",c.abbr_day_names[d]),r=r.replace("%A",c.day_names
|
||
[d]),r=r.replace("%b",c.abbr_month_names[g]),r=r.replace
|
||
("%B",c.month_names[g]),r=r.replace("%d",q(e)),r=r.
|
||
replace("%e",e),r=r.replace("%-d",e),r=r.replace("%H"
|
||
,q(h)),r=r.replace("%-H",h),r=r.replace("%I",q(i)),
|
||
r=r.replace("%-I",i),r=r.replace("%m",q(g)),r=r.replace
|
||
("%-m",g),r=r.replace("%M",q(l)),r=r.replace("%-M",
|
||
l),r=r.replace("%p",c.meridian[j]),r=r.replace("%S"
|
||
,q(k)),r=r.replace("%-S",k),r=r.replace("%w",d),r=r
|
||
.replace("%y",q(f)),r=r.replace("%-y",q(f).replace(/^0+/
|
||
,"")),r=r.replace("%Y",f),r=r.replace("%z",p),r},I18n
|
||
.toNumber=function(a,b){b=this.prepareOptions(b,this
|
||
.lookup("number.format"),{precision:3,separator:"."
|
||
,delimiter:",",strip_insignificant_zeros:!1});var c=
|
||
a<0,d=Math.abs(a).toFixed(b.precision).toString(),e=
|
||
d.split("."),f,g=[],h;a=e[0],f=e[1];while(a.length>0
|
||
)g.unshift(a.substr(Math.max(0,a.length-3),3)),a=a.
|
||
substr(0,a.length-3);h=g.join(b.delimiter),b.precision>0&&
|
||
(h+=b.separator+e[1]),c&&(h="-"+h);if(b.strip_insignificant_zeros
|
||
){var i={separator:new RegExp(b.separator.replace(/\./
|
||
,"\\.")+"$"),zeros:/0+$/};h=h.replace(i.zeros,"").replace
|
||
(i.separator,"")}return h},I18n.toCurrency=function(
|
||
a,b){return b=this.prepareOptions(b,this.lookup("number.currency.format"
|
||
),this.lookup("number.format"),{unit:"$",precision:2
|
||
,format:"%u%n",delimiter:",",separator:"."}),a=this
|
||
.toNumber(a,b),a=b.format.replace("%u",b.unit).replace
|
||
("%n",a),a},I18n.toHumanSize=function(a,b){var c=1024
|
||
,d=a,e=0,f,g;while(d>=c&&e<4)d/=c,e+=1;return e===0?
|
||
(f=this.t("number.human.storage_units.units.byte",{
|
||
count:d}),g=0):(f=this.t("number.human.storage_units.units."+
|
||
[null,"kb","mb","gb","tb"][e]),g=d-Math.floor(d)===0?0
|
||
:1),b=this.prepareOptions(b,{precision:g,format:"%n%u"
|
||
,delimiter:""}),a=this.toNumber(d,b),a=b.format.replace
|
||
("%u",f).replace("%n",a),a},I18n.toPercentage=function(
|
||
a,b){return b=this.prepareOptions(b,this.lookup("number.percentage.format"
|
||
),this.lookup("number.format"),{precision:3,separator
|
||
:".",delimiter:""}),a=this.toNumber(a,b),a+"%"},I18n
|
||
.pluralizer=function(a){return pluralizer=this.pluralizationRules
|
||
[a],pluralizer!==undefined?pluralizer:this.pluralizationRules
|
||
.en},I18n.findAndTranslateValidNode=function(a,b){for(
|
||
i=0;i<a.length;i++){key=a[i];if(this.isValidNode(b,
|
||
key))return b[key]}return null},I18n.pluralize=function(
|
||
a,b,c){var d;try{d=this.lookup(b,c)}catch(e){}if(!d
|
||
)return this.missingTranslation(b);var f;return c=this
|
||
.prepareOptions(c),c.count=a.toString(),pluralizer=
|
||
this.pluralizer(this.currentLocale()),key=pluralizer
|
||
(Math.abs(a)),keys=typeof key=="object"&&key instanceof
|
||
Array?key:[key],f=this.findAndTranslateValidNode(keys
|
||
,d),f==null&&(f=this.missingTranslation(b,keys[0]))
|
||
,this.interpolate(f,c)},I18n.missingTranslation=function(
|
||
){var a='[missing "'+this.currentLocale(),b=arguments
|
||
.length;for(var c=0;c<b;c++)a+="."+arguments[c];return a+='" translation]'
|
||
,a},I18n.currentLocale=function(){return I18n.locale||
|
||
I18n.defaultLocale},I18n.t=I18n.translate,I18n.l=I18n
|
||
.localize,I18n.p=I18n.pluralize,function(a){function b
|
||
(b){window["DOMParser"]==undefined&&window.ActiveXObject&&
|
||
(DOMParser=function(){},DOMParser.prototype.parseFromString=
|
||
function(a){var b=new ActiveXObject("Microsoft.XMLDOM"
|
||
);return b.async="false",b.loadXML(a),b});try{var c=
|
||
(new DOMParser).parseFromString(b,"text/xml");if(!a
|
||
.isXMLDoc(c))throw"Unable to parse XML";var d=a("parsererror"
|
||
,c);if(d.length==1)throw"Error: "+a(c).text()}catch(
|
||
e){var f=e.name==undefined?e:e.name+": "+e.message;
|
||
return a(document).trigger("xmlParseError",[f]),undefined
|
||
}return c}function c(a,b,c){(a.context?jQuery(a.context
|
||
):jQuery.event).trigger(b,c)}function d(b,c){var e=!1
|
||
;return typeof c=="string"?a.isFunction(b.test)?b.test
|
||
(c):b==c:(a.each(b,function(f,g){return c[f]===undefined?
|
||
(e=!1,e):(e=!0,typeof c[f]=="object"?d(b[f],c[f]):(
|
||
a.isFunction(b[f].test)?e=b[f].test(c[f]):e=b[f]==c
|
||
[f],e))}),e)}function e(b,c){if(a.isFunction(b))return b
|
||
(c);if(a.isFunction(b.url.test)){if(!b.url.test(c.url
|
||
))return null}else{var e=b.url.indexOf("*");if(b.url!==
|
||
c.url&&e===-1||!(new RegExp(b.url.replace(/[-[\]{}()+?.,\\^$|#\s]/g
|
||
,"\\$&").replace("*",".+"))).test(c.url))return null
|
||
}return b.data&&c.data&&!d(b.data,c.data)?null:b&&b
|
||
.type&&b.type.toLowerCase()!=c.type.toLowerCase()?null
|
||
:b}function f(b,c){var d=a.extend({},a.mockjaxSettings
|
||
,b);if(d.log&&a.isFunction(d.log)){var e=c.url;if(c
|
||
.data){params=[];for(key in c.data)params.push(key+"="+
|
||
c.data[key]);e=e+"?"+params.join("&")}d.log("MOCK "+
|
||
c.type.toUpperCase()+": "+e,a.extend({},c))}}function g
|
||
(c,d,e){var f=function(f){return function(){return function(
|
||
){this.status=c.status,this.statusText=c.statusText
|
||
,this.readyState=4,a.isFunction(c.response)&&c.response
|
||
(e),d.dataType=="json"&&typeof c.responseText=="object"?
|
||
this.responseText=JSON.stringify(c.responseText):d.
|
||
dataType=="xml"?typeof c.responseXML=="string"?this
|
||
.responseXML=b(c.responseXML):this.responseXML=c.responseXML
|
||
:this.responseText=c.responseText;if(typeof c.status=="number"||typeof
|
||
c.status=="string")this.status=c.status;typeof c.statusText=="string"&&
|
||
(this.statusText=c.statusText),a.isFunction(this.onreadystatechange
|
||
)?(c.isTimeout&&(this.status=-1),this.onreadystatechange
|
||
(c.isTimeout?"timeout":undefined)):c.isTimeout&&(this
|
||
.status=-1)}.apply(f)}}(this);c.proxy?p({global:!1,
|
||
url:c.proxy,type:c.proxyType,data:c.data,dataType:d
|
||
.dataType==="script"?"text/plain":d.dataType,complete
|
||
:function(a,b){c.responseXML=a.responseXML,c.responseText=
|
||
a.responseText,c.status=a.status,c.statusText=a.statusText
|
||
,this.responseTimer=setTimeout(f,c.responseTime||0)
|
||
}}):d.async===!1?f():this.responseTimer=setTimeout(
|
||
f,c.responseTime||50)}function h(b,c,d,e){return b=
|
||
a.extend({},a.mockjaxSettings,b),typeof b.headers=="undefined"&&
|
||
(b.headers={}),b.contentType&&(b.headers["content-type"
|
||
]=b.contentType),{status:b.status,statusText:b.statusText
|
||
,readyState:1,open:function(){},send:function(){e.fired=!0
|
||
,g.call(this,b,c,d)},abort:function(){clearTimeout(
|
||
this.responseTimer)},setRequestHeader:function(a,c)
|
||
{b.headers[a]=c},getResponseHeader:function(a){if(b
|
||
.headers&&b.headers[a])return b.headers[a];if(a.toLowerCase
|
||
()=="last-modified")return b.lastModified||(new Date
|
||
).toString();if(a.toLowerCase()=="etag")return b.etag||""
|
||
;if(a.toLowerCase()=="content-type")return b.contentType||"text/plain"
|
||
},getAllResponseHeaders:function(){var c="";return a
|
||
.each(b.headers,function(a,b){c+=a+": "+b+"\n"}),c}
|
||
}}function i(a,b,c){j(a),a.dataType="json";if(a.data&&
|
||
r.test(a.data)||r.test(a.url)){l(a,b);var d=/^(\w+:)?\/\/([^\/?#]+)/
|
||
,e=d.exec(a.url),f=e&&(e[1]&&e[1]!==location.protocol||
|
||
e[2]!==location.host);a.dataType="script";if(a.type
|
||
.toUpperCase()==="GET"&&f){var g=k(a,b,c);return g?
|
||
g:!0}}return null}function j(a){if(a.type.toUpperCase
|
||
()==="GET")r.test(a.url)||(a.url+=(/\?/.test(a.url)?"&"
|
||
:"?")+(a.jsonp||"callback")+"=?");else if(!a.data||!
|
||
r.test(a.data))a.data=(a.data?a.data+"&":"")+(a.jsonp||"callback"
|
||
)+"=?"}function k(b,c,d){var e=d&&d.context||b,f=null
|
||
;return c.response&&a.isFunction(c.response)?c.response
|
||
(d):typeof c.responseText=="object"?a.globalEval("("+
|
||
JSON.stringify(c.responseText)+")"):a.globalEval("("+
|
||
c.responseText+")"),m(b,c),n(b,c),jQuery.Deferred&&
|
||
(f=new jQuery.Deferred,typeof c.responseText=="object"?
|
||
f.resolve(c.responseText):f.resolve(jQuery.parseJSON
|
||
(c.responseText))),f}function l(a,b){jsonp=a.jsonpCallback||"jsonp"+
|
||
s++,a.data&&(a.data=(a.data+"").replace(r,"="+jsonp+"$1"
|
||
)),a.url=a.url.replace(r,"="+jsonp+"$1"),window[jsonp
|
||
]=window[jsonp]||function(c){data=c,m(a,b),n(a,b),window
|
||
[jsonp]=undefined;try{delete window[jsonp]}catch(d)
|
||
{}head&&head.removeChild(script)}}function m(a,b){a
|
||
.success&&a.success.call(callbackContext,b.response?
|
||
b.response.toString():b.responseText||"",status,{})
|
||
,a.global&&c(a,"ajaxSuccess",[{},a])}function n(a,b
|
||
){a.complete&&a.complete.call(callbackContext,{},status
|
||
),a.global&&c("ajaxComplete",[{},a]),a.global&&!--jQuery
|
||
.active&&jQuery.event.trigger("ajaxStop")}function o
|
||
(b,c){var d,g,j;typeof b=="object"?(c=b,b=undefined
|
||
):c.url=b,g=jQuery.extend(!0,{},jQuery.ajaxSettings
|
||
,c);for(var k=0;k<q.length;k++){if(!q[k])continue;j=
|
||
e(q[k],g);if(!j)continue;f(j,g);if(g.dataType==="jsonp"
|
||
)if(d=i(g,j,c))return d;return j.cache=g.cache,j.timeout=
|
||
g.timeout,j.global=g.global,function(b,c,e,f){d=p.call
|
||
(a,a.extend(!0,{},e,{xhr:function(){return h(b,c,e,
|
||
f)}}))}(j,g,c,q[k]),d}return p.apply(a,[c])}var p=a
|
||
.ajax,q=[],r=/=\?(&|$)/,s=(new Date).getTime();a.extend
|
||
({ajax:o}),a.mockjaxSettings={log:function(a){window
|
||
.console&&window.console.log&&window.console.log(a)
|
||
},status:200,statusText:"OK",responseTime:500,isTimeout
|
||
:!1,contentType:"text/plain",response:"",responseText
|
||
:"",responseXML:"",proxy:"",proxyType:"GET",lastModified
|
||
:null,etag:"",headers:{etag:"IJF@H#@923uf8023hFO@I#H#"
|
||
,"content-type":"text/plain"}},a.mockjax=function(a
|
||
){var b=q.length;return q[b]=a,b},a.mockjaxClear=function(
|
||
a){arguments.length==1?q[a]=null:q=[]},a.mockjax.handler=
|
||
function(a){if(arguments.length==1)return q[a]}}(jQuery
|
||
),function(a){function b(b){return b=a(b),(!b.data("timeago"
|
||
)||b.data("timeago").title!=b.attr("title"))&&b.data
|
||
("timeago",{datetime:e.parse(b.attr("title")),title
|
||
:b.attr("title")}),b.data("timeago")}function c(a){
|
||
return e.inWords(d(a))}function d(a){return e.distance
|
||
(a)}a.timeago=function(b){return b instanceof Date?
|
||
c(b):typeof b=="string"?c(a.timeago.parse(b)):c(a.timeago
|
||
.datetime(b))};var e=a.timeago;a.extend(a.timeago,{
|
||
settings:{refreshMillis:3e3,allowFuture:!0,strings:
|
||
{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",
|
||
suffixFromNow:"from now",seconds:"less than a minute"
|
||
,minute:"about a minute",minutes:"%d minutes",hour:"about an hour"
|
||
,hours:"about %d hours",day:"a day",days:"%d days",
|
||
month:"about a month",months:"%d months",year:"about a year"
|
||
,years:"%d years",numbers:[]}},distanceInWords:function(
|
||
b){if(!b)return;return typeof b=="string"&&(b=a.timeago
|
||
.parse(b)),a.timeago.inWords(a.timeago.distance(b))
|
||
},inWords:function(b){function c(c,e){var f=a.isFunction
|
||
(c)?c(e,b):c,g=d.numbers&&d.numbers[e]||e;return f.
|
||
replace(/%d/i,g)}var d=this.settings.strings,e=d.prefixAgo
|
||
,f=d.suffixAgo;this.settings.allowFuture&&(b<0&&(e=
|
||
d.prefixFromNow,f=d.suffixFromNow),b=Math.abs(b));var g=
|
||
b/1e3,h=g/60,i=h/60,j=i/24,k=j/365,l=g<45&&c(d.seconds
|
||
,Math.round(g))||g<90&&c(d.minute,1)||h<45&&c(d.minutes
|
||
,Math.round(h))||h<90&&c(d.hour,1)||i<24&&c(d.hours
|
||
,Math.round(i))||i<48&&c(d.day,1)||j<30&&c(d.days,Math
|
||
.floor(j))||j<60&&c(d.month,1)||j<365&&c(d.months,Math
|
||
.floor(j/30))||k<2&&c(d.year,1)||c(d.years,Math.floor
|
||
(k));return a.trim([e,l,f].join(" "))},distance:function(
|
||
a){return this.now()-a.getTime()},now:function(){return(new
|
||
Date).getTime()},parse:function(b){var c=a.trim(b);
|
||
return c=c.replace(/\.\d\d\d+/,""),c=c.replace(/-/,"/"
|
||
).replace(/-/,"/"),c=c.replace(/T/," ").replace(/Z/
|
||
," UTC"),c=c.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2"
|
||
),new Date(c)}}),a.fn.timeago=function(){return this
|
||
.each(function(){var d=b(this);isNaN(d.datetime)||a
|
||
(this).text(c(d.datetime))}),this},document.createElement
|
||
("abbr"),document.createElement("time")}(jQuery),function(
|
||
){Function.prototype.scopedTo===void 0&&(Function.prototype
|
||
.scopedTo=function(a,b){var c=this;return function(
|
||
){return c.apply(a,Array.prototype.slice.call(b||[]
|
||
).concat(Array.prototype.slice.call(arguments)))}})
|
||
;var a=function(b,c){this.options=c||{},this.key=b,
|
||
this.channels=new a.Channels,this.global_emitter=new
|
||
a.EventsDispatcher;var d=this;this.checkAppKey(),this
|
||
.connection=new a.Connection(this.key,this.options)
|
||
,this.connection.bind("connected",function(){d.subscribeAll
|
||
()}).bind("message",function(a){var b=a.event.indexOf
|
||
("pusher_internal:")===0;if(a.channel){var c;(c=d.channel
|
||
(a.channel))&&c.emit(a.event,a.data)}b||d.global_emitter
|
||
.emit(a.event,a.data)}).bind("disconnected",function(
|
||
){d.channels.disconnect()}).bind("error",function(b
|
||
){a.warn("Error",b)}),a.instances.push(this),a.isReady&&
|
||
d.connect()};a.instances=[],a.prototype={channel:function(
|
||
a){return this.channels.find(a)},connect:function()
|
||
{this.connection.connect()},disconnect:function(){this
|
||
.connection.disconnect()},bind:function(a,b){return this
|
||
.global_emitter.bind(a,b),this},bind_all:function(a
|
||
){return this.global_emitter.bind_all(a),this},subscribeAll
|
||
:function(){for(channelName in this.channels.channels
|
||
)this.channels.channels.hasOwnProperty(channelName)&&
|
||
this.subscribe(channelName)},subscribe:function(a){
|
||
var b=this,c=this.channels.add(a,this);return this.
|
||
connection.state==="connected"&&c.authorize(this.connection
|
||
.socket_id,this.options,function(d,e){d?c.emit("pusher:subscription_error"
|
||
,e):b.send_event("pusher:subscribe",{channel:a,auth
|
||
:e.auth,channel_data:e.channel_data})}),c},unsubscribe
|
||
:function(a){this.channels.remove(a),this.connection
|
||
.state==="connected"&&this.send_event("pusher:unsubscribe"
|
||
,{channel:a})},send_event:function(a,b,c){return this
|
||
.connection.send_event(a,b,c)},checkAppKey:function(
|
||
){(this.key===null||this.key===void 0)&&a.warn("Warning"
|
||
,"You must pass your app key when you instantiate Pusher."
|
||
)}},a.Util={extend:function b(a,c){for(var d in c)a
|
||
[d]=c[d]&&c[d].constructor&&c[d].constructor===Object?
|
||
b(a[d]||{},c[d]):c[d];return a},stringify:function(
|
||
){for(var a=["Pusher"],b=0;b<arguments.length;b++)typeof
|
||
arguments[b]=="string"?a.push(arguments[b]):window.
|
||
JSON==void 0?a.push(arguments[b].toString()):a.push
|
||
(JSON.stringify(arguments[b]));return a.join(" : ")
|
||
},arrayIndexOf:function(a,b){var c=Array.prototype.
|
||
indexOf;if(a==null)return-1;if(c&&a.indexOf===c)return a
|
||
.indexOf(b);for(i=0,l=a.length;i<l;i++)if(a[i]===b)
|
||
return i;return-1}},a.debug=function(){a.log&&a.log
|
||
(a.Util.stringify.apply(this,arguments))},a.warn=function(
|
||
){window.console&&window.console.warn?window.console
|
||
.warn(a.Util.stringify.apply(this,arguments)):a.log&&
|
||
a.log(a.Util.stringify.apply(this,arguments))},a.VERSION="1.12.2"
|
||
,a.host="ws.pusherapp.com",a.ws_port=80,a.wss_port=443
|
||
,a.channel_auth_endpoint="/pusher/auth",a.cdn_http="http://js.pusher.com/"
|
||
,a.cdn_https="https://d3dy5gmtp8yhk7.cloudfront.net/"
|
||
,a.dependency_suffix=".min",a.channel_auth_transport="ajax"
|
||
,a.activity_timeout=12e4,a.pong_timeout=3e4,a.isReady=!1
|
||
,a.ready=function(){a.isReady=!0;for(var b=0,c=a.instances
|
||
.length;b<c;b++)a.instances[b].connect()},this.Pusher=
|
||
a}.call(this),function(){function a(){this._callbacks=
|
||
{}}function b(b){this.callbacks=new a,this.global_callbacks=
|
||
[],this.failThrough=b}a.prototype.get=function(a){return this
|
||
._callbacks[this._prefix(a)]},a.prototype.add=function(
|
||
a,b){var c=this._prefix(a);this._callbacks[c]=this.
|
||
_callbacks[c]||[],this._callbacks[c].push(b)},a.prototype
|
||
.remove=function(a,b){if(this.get(a)){var c=Pusher.
|
||
Util.arrayIndexOf(this.get(a),b);this._callbacks[this
|
||
._prefix(a)].splice(c,1)}},a.prototype._prefix=function(
|
||
a){return"_"+a},b.prototype.bind=function(a,b){return this
|
||
.callbacks.add(a,b),this},b.prototype.unbind=function(
|
||
a,b){return this.callbacks.remove(a,b),this},b.prototype
|
||
.emit=function(a,b){for(var c=0;c<this.global_callbacks
|
||
.length;c++)this.global_callbacks[c](a,b);var d=this
|
||
.callbacks.get(a);if(d)for(c=0;c<d.length;c++)d[c](
|
||
b);else this.failThrough&&this.failThrough(a,b);return this
|
||
},b.prototype.bind_all=function(a){return this.global_callbacks
|
||
.push(a),this},this.Pusher.EventsDispatcher=b}.call
|
||
(this),function(){function a(a,b,c){b[a]!==void 0&&
|
||
b[a](c)}function b(a,b,d){c.EventsDispatcher.call(this
|
||
),this.state=void 0,this.errors=[],this.stateActions=
|
||
d,this.transitions=b,this.transition(a)}var c=this.
|
||
Pusher;b.prototype.transition=function(b,d){var e=this
|
||
.state,f=this.stateActions;if(e&&c.Util.arrayIndexOf
|
||
(this.transitions[e],b)==-1)throw this.emit("invalid_transition_attempt"
|
||
,{oldState:e,newState:b}),Error("Invalid transition ["+
|
||
e+" to "+b+"]");a(e+"Exit",f,d),a(e+"To"+(b.substr(0
|
||
,1).toUpperCase()+b.substr(1)),f,d),a(b+"Pre",f,d),
|
||
this.state=b,this.emit("state_change",{oldState:e,newState
|
||
:b}),a(b+"Post",f,d)},b.prototype.is=function(a){return this
|
||
.state===a},b.prototype.isNot=function(a){return this
|
||
.state!==a},c.Util.extend(b.prototype,c.EventsDispatcher
|
||
.prototype),this.Pusher.Machine=b}.call(this),function(
|
||
){var a=function(){var a=this;Pusher.EventsDispatcher
|
||
.call(this),window.addEventListener!==void 0&&(window
|
||
.addEventListener("online",function(){a.emit("online"
|
||
,null)},!1),window.addEventListener("offline",function(
|
||
){a.emit("offline",null)},!1))};a.prototype.isOnLine=
|
||
function(){return window.navigator.onLine===void 0?!0
|
||
:window.navigator.onLine},Pusher.Util.extend(a.prototype
|
||
,Pusher.EventsDispatcher.prototype),this.Pusher.NetInfo=
|
||
a}.call(this),function(){function a(a){a.connectionWait=0
|
||
,a.openTimeout=c.TransportType==="flash"?5e3:2e3,a.
|
||
connectedTimeout=2e3,a.connectionSecure=a.compulsorySecure
|
||
,a.connectionAttempts=0}function b(b,k){function l(
|
||
){w.connectionWait<h&&(w.connectionWait+=e),w.openTimeout<
|
||
i&&(w.openTimeout+=f),w.connectedTimeout<j&&(w.connectedTimeout+=
|
||
g),w.compulsorySecure!==!0&&(w.connectionSecure=!w.
|
||
connectionSecure),w.connectionAttempts++}function m
|
||
(){w._machine.transition("impermanentlyClosing")}function n
|
||
(){w._activityTimer&&clearTimeout(w._activityTimer)
|
||
,w._activityTimer=setTimeout(function(){w.send_event
|
||
("pusher:ping",{}),w._activityTimer=setTimeout(function(
|
||
){w.socket.close()},w.options.pong_timeout||c.pong_timeout
|
||
)},w.options.activity_timeout||c.activity_timeout)}
|
||
function o(){var a=w.connectionWait;if(a===0&&w.connectedAt
|
||
){var b=(new Date).getTime()-w.connectedAt;b<1e3&&(
|
||
a=1e3-b)}return a}function p(){w._machine.transition
|
||
("open")}function q(a){a=s(a);if(a!==void 0)if(a.event==="pusher:connection_established"
|
||
)w._machine.transition("connected",a.data.socket_id
|
||
);else if(a.event==="pusher:error"){var b=a.data.code
|
||
;w.emit("error",{type:"PusherError",data:{code:b,message
|
||
:a.data.message}}),b===4e3?(w.compulsorySecure=!0,w
|
||
.connectionSecure=!0,w.options.encrypted=!0,m()):b<4100?
|
||
w._machine.transition("permanentlyClosing"):b<4200?
|
||
(w.connectionWait=1e3,w._machine.transition("waiting"
|
||
)):b<4300?m():w._machine.transition("permanentlyClosing"
|
||
)}}function r(a){n(),a=s(a);if(a!==void 0){c.debug("Event recd"
|
||
,a);switch(a.event){case"pusher:error":w.emit("error"
|
||
,{type:"PusherError",data:a.data});break;case"pusher:ping"
|
||
:w.send_event("pusher:pong",{})}w.emit("message",a)
|
||
}}function s(a){try{var b=JSON.parse(a.data);if(typeof
|
||
b.data=="string")try{b.data=JSON.parse(b.data)}catch(
|
||
c){if(!(c instanceof SyntaxError))throw c}return b}
|
||
catch(d){w.emit("error",{type:"MessageParseError",error
|
||
:d,data:a.data})}}function t(){w._machine.transition
|
||
("waiting")}function u(a){w.emit("error",{type:"WebSocketError"
|
||
,error:a})}function v(a,b){var d=w.state;w.state=a,
|
||
d!==a&&(c.debug("State changed",d+" -> "+a),w.emit("state_change"
|
||
,{previous:d,current:a}),w.emit(a,b))}var w=this;c.
|
||
EventsDispatcher.call(this),this.options=c.Util.extend
|
||
({encrypted:!1},k),this.netInfo=new c.NetInfo,this.
|
||
netInfo.bind("online",function(){w._machine.is("waiting"
|
||
)&&(w._machine.transition("connecting"),v("connecting"
|
||
))}),this.netInfo.bind("offline",function(){w._machine
|
||
.is("connected")&&(w.socket.onclose=void 0,w.socket
|
||
.onmessage=void 0,w.socket.onerror=void 0,w.socket.
|
||
onopen=void 0,w.socket.close(),w.socket=void 0,w._machine
|
||
.transition("waiting"))}),this._machine=new c.Machine
|
||
("initialized",d,{initializedPre:function(){w.compulsorySecure=
|
||
w.options.encrypted,w.key=b,w.socket=null,w.socket_id=
|
||
null,w.state="initialized"},waitingPre:function(){w
|
||
.connectionWait>0&&w.emit("connecting_in",w.connectionWait
|
||
),w.netInfo.isOnLine()&&w.connectionAttempts<=4?v("connecting"
|
||
):v("unavailable"),w.netInfo.isOnLine()&&(w._waitingTimer=
|
||
setTimeout(function(){w._machine.transition("connecting"
|
||
)},o()))},waitingExit:function(){clearTimeout(w._waitingTimer
|
||
)},connectingPre:function(){if(w.netInfo.isOnLine()===!1
|
||
)w._machine.transition("waiting"),v("unavailable");
|
||
else{var a;a=c.ws_port;var b="ws://";if(w.connectionSecure||
|
||
document.location.protocol==="https:")a=c.wss_port,
|
||
b="wss://";a=b+c.host+":"+a+"/app/"+w.key+"?protocol=5&client=js&version="+
|
||
c.VERSION+"&flash="+(c.TransportType==="flash"?"true"
|
||
:"false"),c.debug("Connecting",a),w.socket=new c.Transport
|
||
(a),w.socket.onopen=p,w.socket.onclose=t,w.socket.onerror=
|
||
u,w._connectingTimer=setTimeout(m,w.openTimeout)}},
|
||
connectingExit:function(){clearTimeout(w._connectingTimer
|
||
),w.socket.onopen=void 0},connectingToWaiting:function(
|
||
){l()},connectingToImpermanentlyClosing:function(){
|
||
l()},openPre:function(){w.socket.onmessage=q,w.socket
|
||
.onerror=u,w.socket.onclose=t,w._openTimer=setTimeout
|
||
(m,w.connectedTimeout)},openExit:function(){clearTimeout
|
||
(w._openTimer),w.socket.onmessage=void 0},openToWaiting
|
||
:function(){l()},openToImpermanentlyClosing:function(
|
||
){l()},connectedPre:function(b){w.socket_id=b,w.socket
|
||
.onmessage=r,w.socket.onerror=u,w.socket.onclose=t,
|
||
a(w),w.connectedAt=(new Date).getTime(),n()},connectedPost
|
||
:function(){v("connected")},connectedExit:function(
|
||
){w._activityTimer&&clearTimeout(w._activityTimer),
|
||
v("disconnected")},impermanentlyClosingPost:function(
|
||
){w.socket&&(w.socket.onclose=t,w.socket.close())},
|
||
permanentlyClosingPost:function(){w.socket?(w.socket
|
||
.onclose=function(){a(w),w._machine.transition("permanentlyClosed"
|
||
)},w.socket.close()):(a(w),w._machine.transition("permanentlyClosed"
|
||
))},failedPre:function(){v("failed"),c.debug("WebSockets are not available in this browser."
|
||
)},permanentlyClosedPost:function(){v("disconnected"
|
||
)}})}var c=this.Pusher,d={initialized:["waiting","failed"
|
||
],waiting:["connecting","permanentlyClosed"],connecting
|
||
:["open","permanentlyClosing","impermanentlyClosing"
|
||
,"waiting"],open:["connected","permanentlyClosing","impermanentlyClosing"
|
||
,"waiting"],connected:["permanentlyClosing","waiting"
|
||
],impermanentlyClosing:["waiting","permanentlyClosing"
|
||
],permanentlyClosing:["permanentlyClosed"],permanentlyClosed
|
||
:["waiting","failed"],failed:["permanentlyClosed"]}
|
||
,e=2e3,f=2e3,g=2e3,h=5*e,i=5*f,j=5*g;b.prototype.connect=
|
||
function(){!this._machine.is("failed")&&!c.Transport?
|
||
this._machine.transition("failed"):this._machine.is
|
||
("initialized")?(a(this),this._machine.transition("waiting"
|
||
)):this._machine.is("waiting")&&this.netInfo.isOnLine
|
||
()===!0?this._machine.transition("connecting"):this
|
||
._machine.is("permanentlyClosed")&&(a(this),this._machine
|
||
.transition("waiting"))},b.prototype.send=function(
|
||
a){if(this._machine.is("connected")){var b=this;return setTimeout
|
||
(function(){b.socket.send(a)},0),!0}return!1},b.prototype
|
||
.send_event=function(a,b,d){return a={event:a,data:
|
||
b},d&&(a.channel=d),c.debug("Event sent",a),this.send
|
||
(JSON.stringify(a))},b.prototype.disconnect=function(
|
||
){this._machine.is("permanentlyClosed")||(this._machine
|
||
.is("waiting")||this._machine.is("failed")?this._machine
|
||
.transition("permanentlyClosed"):this._machine.transition
|
||
("permanentlyClosing"))},c.Util.extend(b.prototype,
|
||
c.EventsDispatcher.prototype),this.Pusher.Connection=
|
||
b}.call(this),function(){Pusher.Channels=function()
|
||
{this.channels={}},Pusher.Channels.prototype={add:function(
|
||
a,b){var c=this.find(a);return c||(c=Pusher.Channel
|
||
.factory(a,b),this.channels[a]=c),c},find:function(
|
||
a){return this.channels[a]},remove:function(a){delete
|
||
this.channels[a]},disconnect:function(){for(var a in
|
||
this.channels)this.channels[a].disconnect()}},Pusher
|
||
.Channel=function(a,b){var c=this;Pusher.EventsDispatcher
|
||
.call(this,function(b){Pusher.debug("No callbacks on "+
|
||
a+" for "+b)}),this.pusher=b,this.name=a,this.subscribed=!1
|
||
,this.bind("pusher_internal:subscription_succeeded"
|
||
,function(a){c.onSubscriptionSucceeded(a)})},Pusher
|
||
.Channel.prototype={init:function(){},disconnect:function(
|
||
){this.subscribed=!1,this.emit("pusher_internal:disconnected"
|
||
)},onSubscriptionSucceeded:function(){this.subscribed=!0
|
||
,this.emit("pusher:subscription_succeeded")},authorize
|
||
:function(a,b,c){return c(!1,{})},trigger:function(
|
||
a,b){return this.pusher.send_event(a,b,this.name)}}
|
||
,Pusher.Util.extend(Pusher.Channel.prototype,Pusher
|
||
.EventsDispatcher.prototype),Pusher.Channel.PrivateChannel=
|
||
{authorize:function(a,b,c){var d=this;return(new Pusher
|
||
.Channel.Authorizer(this,Pusher.channel_auth_transport
|
||
,b)).authorize(a,function(a,b){a||d.emit("pusher_internal:authorized"
|
||
,b),c(a,b)})}},Pusher.Channel.PresenceChannel={init
|
||
:function(){this.members=new a(this)},onSubscriptionSucceeded
|
||
:function(){this.subscribed=!0}};var a=function(a){
|
||
var b=this,c=function(){this._members_map={},this.count=0
|
||
,this.me=null};c.call(this),a.bind("pusher_internal:authorized"
|
||
,function(c){var d=JSON.parse(c.channel_data);a.bind
|
||
("pusher_internal:subscription_succeeded",function(
|
||
c){b._members_map=c.presence.hash,b.count=c.presence
|
||
.count,b.me=b.get(d.user_id),a.emit("pusher:subscription_succeeded"
|
||
,b)})}),a.bind("pusher_internal:member_added",function(
|
||
c){b.get(c.user_id)===null&&b.count++,b._members_map
|
||
[c.user_id]=c.user_info,a.emit("pusher:member_added"
|
||
,b.get(c.user_id))}),a.bind("pusher_internal:member_removed"
|
||
,function(c){var d=b.get(c.user_id);d&&(delete b._members_map
|
||
[c.user_id],b.count--,a.emit("pusher:member_removed"
|
||
,d))}),a.bind("pusher_internal:disconnected",function(
|
||
){c.call(b)})};a.prototype={each:function(a){for(var b in
|
||
this._members_map)a(this.get(b))},get:function(a){return this
|
||
._members_map.hasOwnProperty(a)?{id:a,info:this._members_map
|
||
[a]}:null}},Pusher.Channel.factory=function(a,b){var c=new
|
||
Pusher.Channel(a,b);return a.indexOf("private-")===0?
|
||
Pusher.Util.extend(c,Pusher.Channel.PrivateChannel)
|
||
:a.indexOf("presence-")===0&&(Pusher.Util.extend(c,
|
||
Pusher.Channel.PrivateChannel),Pusher.Util.extend(c
|
||
,Pusher.Channel.PresenceChannel)),c.init(),c}}.call
|
||
(this),function(){Pusher.Channel.Authorizer=function(
|
||
a,b,c){this.channel=a,this.type=b,this.authOptions=
|
||
(c||{}).auth||{}},Pusher.Channel.Authorizer.prototype=
|
||
{composeQuery:function(a){var a="&socket_id="+encodeURIComponent
|
||
(a)+"&channel_name="+encodeURIComponent(this.channel
|
||
.name),b;for(b in this.authOptions.params)a+="&"+encodeURIComponent
|
||
(b)+"="+encodeURIComponent(this.authOptions.params[
|
||
b]);return a},authorize:function(a,b){return Pusher
|
||
.authorizers[this.type].call(this,a,b)}},Pusher.auth_callbacks=
|
||
{},Pusher.authorizers={ajax:function(a,b){var c;c=Pusher
|
||
.XHR?new Pusher.XHR:window.XMLHttpRequest?new window
|
||
.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"
|
||
),c.open("POST",Pusher.channel_auth_endpoint,!0),c.
|
||
setRequestHeader("Content-Type","application/x-www-form-urlencoded"
|
||
);for(var d in this.authOptions.headers)c.setRequestHeader
|
||
(d,this.authOptions.headers[d]);return c.onreadystatechange=
|
||
function(){if(c.readyState==4)if(c.status==200){var a
|
||
,d=!1;try{a=JSON.parse(c.responseText),d=!0}catch(e
|
||
){b(!0,"JSON returned from webapp was invalid, yet status code was 200. Data was: "+
|
||
c.responseText)}d&&b(!1,a)}else Pusher.warn("Couldn't get auth info from your webapp"
|
||
,c.status),b(!0,c.status)},c.send(this.composeQuery
|
||
(a)),c},jsonp:function(a,b){this.authOptions.headers!==void 0&&
|
||
Pusher.warn("Warn","To send headers with the auth request, you must use AJAX, rather than JSONP."
|
||
);var c=document.createElement("script");Pusher.auth_callbacks
|
||
[this.channel.name]=function(a){b(!1,a)},c.src=Pusher
|
||
.channel_auth_endpoint+"?callback="+encodeURIComponent
|
||
("Pusher.auth_callbacks['"+this.channel.name+"']")+
|
||
this.composeQuery(a);var d=document.getElementsByTagName
|
||
("head")[0]||document.documentElement;d.insertBefore
|
||
(c,d.firstChild)}}}.call(this);var _require=function(
|
||
){function a(a,b){document.addEventListener?a.addEventListener
|
||
("load",b,!1):a.attachEvent("onreadystatechange",function(
|
||
){(a.readyState=="loaded"||a.readyState=="complete"
|
||
)&&b()})}function b(b,c){var d=document.getElementsByTagName
|
||
("head")[0],e=document.createElement("script");e.setAttribute
|
||
("src",b),e.setAttribute("type","text/javascript"),
|
||
e.setAttribute("async",!0),a(e,function(){c()}),d.appendChild
|
||
(e)}return function(a,c){for(var d=0,e=0;e<a.length
|
||
;e++)b(a[e],function(){a.length==++d&&setTimeout(c,0
|
||
)})}}();(function(){!window.WebSocket&&window.MozWebSocket&&
|
||
(window.WebSocket=window.MozWebSocket),window.WebSocket&&
|
||
(Pusher.Transport=window.WebSocket,Pusher.TransportType="native"
|
||
);var a=(document.location.protocol=="http:"?Pusher
|
||
.cdn_http:Pusher.cdn_https)+Pusher.VERSION,b=[];window
|
||
.JSON||b.push(a+"/json2"+Pusher.dependency_suffix+".js"
|
||
),window.WebSocket||(window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0
|
||
,b.push(a+"/flashfallback"+Pusher.dependency_suffix+".js"
|
||
));var c=function(){return window.WebSocket?function(
|
||
){Pusher.ready()}:function(){window.WebSocket?(Pusher
|
||
.Transport=window.WebSocket,Pusher.TransportType="flash"
|
||
,window.WEB_SOCKET_SWF_LOCATION=a+"/WebSocketMain.swf"
|
||
,WebSocket.__addTask(function(){Pusher.ready()}),WebSocket
|
||
.__initialize()):(Pusher.Transport=null,Pusher.TransportType="none"
|
||
,Pusher.ready())}}(),d=function(a){var b=function()
|
||
{document.body?a():setTimeout(b,0)};b()},e=function(
|
||
){d(c)};b.length>0?_require(b,e):e()})();minispade.register("app","(function() {(function() {\nminispade.require('travis');\nminispade.require('auth');\nminispade.require('controllers');\nminispade.require('helpers');\nminispade.require('models');\nminispade.require('pusher');\nminispade.require('routes');\nminispade.require('slider');\nminispade.require('store');\nminispade.require('tailing');\nminispade.require('templates');\nminispade.require('views');\nminispade.require('config/locales');\nminispade.require('data/sponsors');\n\n Travis.reopen({\n App: Em.Application.extend({\n autoinit: false,\n currentUserBinding: 'auth.user',\n authStateBinding: 'auth.state',\n init: function() {\n this._super.apply(this, arguments);\n this.store = Travis.Store.create();\n this.store.loadMany(Travis.Sponsor, Travis.SPONSORS);\n this.set('auth', Travis.Auth.create({\n store: this.store,\n endpoint: Travis.config.api_endpoint\n }));\n this.slider = new Travis.Slider();\n this.pusher = new Travis.Pusher(Travis.config.pusher);\n return this.tailing = new Travis.Tailing();\n },\n signIn: function() {\n return this.get('auth').signIn();\n },\n signOut: function() {\n this.get('auth').signOut();\n return this.get('router').send('showAuthenticated');\n },\n receive: function() {\n return this.store.receive.apply(this.store, arguments);\n },\n toggleSidebar: function() {\n var element;\n $('body').toggleClass('maximized');\n element = $('<span></span>');\n $('#top .profile').append(element);\n Em.run.later((function() {\n return element.remove();\n }), 10);\n element = $('<span></span>');\n $('#repository').append(element);\n return Em.run.later((function() {\n return element.remove();\n }), 10);\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=app"
|
||
),minispade.register("auth","(function() {(function() {\n\n this.Travis.Auth = Ember.Object.extend({\n iframe: $('<iframe id=\"auth-frame\" />').hide(),\n timeout: 5000,\n state: 'signed-out',\n receivingEnd: \"\" + location.protocol + \"//\" + location.host,\n init: function() {\n var _this = this;\n this.iframe.appendTo('body');\n window.addEventListener('message', function(e) {\n return _this.receiveMessage(e);\n });\n return this.loadUser();\n },\n accessToken: (function() {\n return sessionStorage.getItem('travis.token');\n }).property(),\n loadUser: function() {\n var user;\n if (user = typeof sessionStorage !== \"undefined\" && sessionStorage !== null ? sessionStorage.getItem('travis.user') : void 0) {\n return this.setData({\n user: JSON.parse(user)\n });\n } else if (typeof localStorage !== \"undefined\" && localStorage !== null ? localStorage.getItem('travis.auto_signin') : void 0) {\n return this.trySignIn();\n }\n },\n signIn: function() {\n this.set('state', 'signing-in');\n this.trySignIn();\n return Ember.run.later(this, this.checkSignIn.bind(this), this.timeout);\n },\n trySignIn: function() {\n return this.iframe.attr('src', \"\" + this.endpoint + \"/auth/post_message?origin=\" + this.receivingEnd);\n },\n checkSignIn: function() {\n if (this.get('state') === 'signing-in') {\n return this.forceSignIn();\n }\n },\n forceSignIn: function() {\n if (typeof localStorage !== \"undefined\" && localStorage !== null) {\n localStorage.setItem('travis.auto_signin', 'true');\n }\n return window.location = \"\" + this.endpoint + \"/auth/handshake?redirect_uri=\" + location;\n },\n signOut: function() {\n if (typeof localStorage !== \"undefined\" && localStorage !== null) {\n localStorage.clear();\n }\n if (typeof sessionStorage !== \"undefined\" && sessionStorage !== null) {\n sessionStorage.clear();\n }\n return this.setData();\n },\n setData: function(data) {\n var user;\n if (typeof data === 'string') {\n data = JSON.parse(data);\n }\n if (data != null ? data.token : void 0) {\n this.storeToken(data.token);\n }\n if (data != null ? data.user : void 0) {\n user = this.storeUser(data.user);\n }\n this.set('state', user ? 'signed-in' : 'signed-out');\n return this.set('user', user ? user : void 0);\n },\n storeToken: function(token) {\n if (typeof sessionStorage !== \"undefined\" && sessionStorage !== null) {\n sessionStorage.setItem('travis.token', token);\n }\n return this.notifyPropertyChange('accessToken');\n },\n storeUser: function(user) {\n if (typeof localStorage !== \"undefined\" && localStorage !== null) {\n localStorage.setItem('travis.auto_signin', 'true');\n }\n if (typeof sessionStorage !== \"undefined\" && sessionStorage !== null) {\n sessionStorage.setItem('travis.user', JSON.stringify(user));\n }\n this.store.load(Travis.User, user);\n return this.store.find(Travis.User, user.id);\n },\n receiveMessage: function(event) {\n if (event.origin === this.expectedOrigin()) {\n this.setData(event.data);\n return console.log(\"signed in as \" + event.data.user.login);\n } else {\n return console.log(\"unexpected message \" + event.origin + \": \" + event.data);\n }\n },\n expectedOrigin: function() {\n if (this.endpoint[0] === '/') {\n return this.receivingEnd;\n } else {\n return this.endpoint;\n }\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=auth"
|
||
),minispade.register("controllers","(function() {(function() {\nminispade.require('helpers');\nminispade.require('travis/ticker');\n\n Travis.reopen({\n Controller: Em.Controller.extend({\n connectOutlet: function() {\n var view, _connectedOutletViews;\n view = this._super.apply(this, arguments);\n if (view) {\n _connectedOutletViews = Travis.app.get('_connectedOutletViews');\n if (!_connectedOutletViews) {\n _connectedOutletViews = [];\n }\n _connectedOutletViews.pushObject(view);\n Travis.app.set('_connectedOutletViews', _connectedOutletViews);\n }\n return view;\n }\n }),\n TopController: Em.Controller.extend({\n userBinding: 'Travis.app.currentUser'\n }),\n ApplicationController: Em.Controller.extend(),\n MainController: Em.Controller.extend(),\n StatsLayoutController: Em.Controller.extend(),\n ProfileLayoutController: Em.Controller.extend()\n });\nminispade.require('controllers/accounts');\nminispade.require('controllers/builds');\nminispade.require('controllers/home');\nminispade.require('controllers/profile');\nminispade.require('controllers/repositories');\nminispade.require('controllers/repository');\nminispade.require('controllers/sidebar');\nminispade.require('controllers/stats');\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers"
|
||
),minispade.register("controllers/accounts","(function() {(function() {\n\n Travis.AccountsController = Ember.ArrayController.extend({\n tab: 'accounts',\n init: function() {\n return this._super();\n },\n findByLogin: function(login) {\n return this.find(function(account) {\n return account.get('login') === 'login';\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/accounts"
|
||
),minispade.register("controllers/builds","(function() {(function() {\n\n Travis.BuildsController = Em.ArrayController.extend({\n repositoryBinding: 'parent.repository',\n contentBinding: 'parent.builds'\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/builds"
|
||
),minispade.register("controllers/home","(function() {(function() {\n\n Travis.HomeController = Travis.Controller.extend();\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/home"
|
||
),minispade.register("controllers/job","(function() {(function() {\n\n\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/job"
|
||
),minispade.register("controllers/profile","(function() {(function() {\n\n Travis.ProfileController = Travis.Controller.extend({\n name: 'profile',\n userBinding: 'Travis.app.currentUser',\n accountsBinding: 'Travis.app.router.accountsController',\n account: (function() {\n var login;\n login = this.get('params.login') || Travis.app.get('currentUser.login');\n return this.get('accounts').filter(function(account) {\n if (account.get('login') === login) {\n return account;\n }\n })[0];\n }).property('accounts.length', 'params.login'),\n activate: function(action, params) {\n this.setParams(params || this.get('params'));\n return this[\"view\" + ($.camelize(action))]();\n },\n viewHooks: function() {\n this.connectTab('hooks');\n return this.set('hooks', Travis.Hook.find({\n owner_name: this.get('params.login') || Travis.app.get('currentUser.login')\n }));\n },\n viewUser: function() {\n return this.connectTab('user');\n },\n connectTab: function(tab) {\n var viewClass;\n viewClass = Travis[\"\" + ($.camelize(tab)) + \"View\"];\n this.set('tab', tab);\n return this.connectOutlet({\n outletName: 'pane',\n controller: this,\n viewClass: viewClass\n });\n },\n setParams: function(params) {\n var key, value, _results;\n this.set('params', {});\n _results = [];\n for (key in params) {\n value = params[key];\n _results.push(this.set(\"params.\" + key, params[key]));\n }\n return _results;\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/profile"
|
||
),minispade.register("controllers/repositories","(function() {(function() {\n\n Travis.RepositoriesController = Ember.ArrayController.extend({\n defaultTab: 'recent',\n sortProperties: ['sortOrder'],\n init: function() {\n this.activate(this.defaultTab);\n return Ember.run.later(this.updateTimes.bind(this), Travis.INTERVALS.updateTimes);\n },\n updateTimes: function() {\n var content;\n if (content = this.get('content')) {\n content.forEach(function(r) {\n return r.updateTimes();\n });\n }\n return Ember.run.later(this.updateTimes.bind(this), Travis.INTERVALS.updateTimes);\n },\n activate: function(tab, params) {\n this.set('tab', tab);\n return this[\"view\" + ($.camelize(tab))](params);\n },\n viewRecent: function() {\n return this.set('content', Travis.Repository.find());\n },\n viewOwned: function() {\n return this.set('content', Travis.Repository.ownedBy(Travis.app.get('currentUser.login')));\n },\n viewSearch: function(params) {\n return this.set('content', Travis.Repository.search(params.search));\n },\n searchObserver: (function() {\n var search, tab;\n search = this.get('search');\n tab = search ? 'search' : 'recent';\n return this.activate(tab, {\n search: search\n });\n }).observes('search')\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/repositories"
|
||
),minispade.register("controllers/repository","(function() {(function() {\n\n Travis.RepositoryController = Travis.Controller.extend({\n bindings: [],\n init: function() {\n this._super.apply(this, arguments);\n return Ember.run.later(this.updateTimes.bind(this), Travis.INTERVALS.updateTimes);\n },\n updateTimes: function() {\n var build, builds;\n if (builds = this.get('builds')) {\n builds.forEach(function(b) {\n return b.updateTimes();\n });\n }\n if (build = this.get('build')) {\n build.updateTimes();\n build.get('jobs').forEach(function(j) {\n return j.updateTimes();\n });\n }\n return Ember.run.later(this.updateTimes.bind(this), Travis.INTERVALS.updateTimes);\n },\n activate: function(action) {\n this._unbind();\n return this[\"view\" + ($.camelize(action))]();\n },\n viewIndex: function() {\n this._bind('repository', 'controllers.repositoriesController.firstObject');\n this._bind('build', 'repository.lastBuild');\n return this.connectTab('current');\n },\n viewCurrent: function() {\n this.connectTab('current');\n return this._bind('build', 'repository.lastBuild');\n },\n viewBuilds: function() {\n this.connectTab('builds');\n return this._bind('builds', 'repository.builds');\n },\n viewPullRequests: function() {\n this.connectTab('pull_requests');\n return this._bind('builds', 'repository.pullRequests');\n },\n viewBranches: function() {\n this.connectTab('branches');\n return this._bind('builds', 'repository.branches');\n },\n viewBuild: function() {\n return this.connectTab('build');\n },\n viewJob: function() {\n this._bind('build', 'job.build');\n return this.connectTab('job');\n },\n repositoryObserver: (function() {\n var repository;\n repository = this.get('repository');\n if (repository) {\n return repository.select();\n }\n }).observes('repository.id'),\n connectTab: function(tab) {\n var name, viewClass;\n name = tab === 'current' ? 'build' : tab;\n viewClass = name === 'builds' || name === 'branches' || name === 'pull_requests' ? Travis.BuildsView : Travis[\"\" + ($.camelize(name)) + \"View\"];\n this.set('tab', tab);\n return this.connectOutlet({\n outletName: 'pane',\n controller: this,\n viewClass: viewClass\n });\n },\n _bind: function(to, from) {\n return this.bindings.push(Ember.oneWay(this, to, from));\n },\n _unbind: function() {\n var binding, _i, _len, _ref;\n _ref = this.bindings;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n binding = _ref[_i];\n binding.disconnect(this);\n }\n return this.bindings.length = 0;\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/repository"
|
||
),minispade.register("controllers/sidebar","(function() {(function() {\n\n Travis.reopen({\n SidebarController: Em.ArrayController.extend({\n init: function() {\n this.tickables = [];\n return Travis.Ticker.create({\n target: this,\n interval: Travis.INTERVALS.sponsors\n });\n },\n tick: function() {\n var tickable, _i, _len, _ref, _results;\n _ref = this.tickables;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n tickable = _ref[_i];\n _results.push(tickable.tick());\n }\n return _results;\n }\n }),\n QueuesController: Em.ArrayController.extend(),\n WorkersController: Em.ArrayController.extend({\n groups: (function() {\n var content, groups, host, worker, _i, _len, _ref;\n if (content = this.get('content')) {\n groups = {};\n _ref = content.toArray();\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n worker = _ref[_i];\n host = worker.get('host');\n if (!groups[host]) {\n groups[host] = Em.ArrayProxy.create({\n content: []\n });\n }\n groups[host].pushObject(worker);\n }\n return $.values(groups);\n }\n }).property('content.length')\n }),\n SponsorsController: Em.ArrayController.extend({\n page: 0,\n arrangedContent: (function() {\n return this.get('shuffled').slice(this.start(), this.end());\n }).property('shuffled.length', 'page'),\n shuffled: (function() {\n var content;\n if (content = this.get('content')) {\n return $.shuffle(content);\n } else {\n return [];\n }\n }).property('content.length'),\n tick: function() {\n return this.set('page', this.isLast() ? 0 : this.get('page') + 1);\n },\n pages: (function() {\n var length;\n length = this.get('content.length');\n if (length) {\n return parseInt(length / this.get('perPage') + 1);\n } else {\n return 1;\n }\n }).property('length'),\n isLast: function() {\n return this.get('page') === this.get('pages') - 1;\n },\n start: function() {\n return this.get('page') * this.get('perPage');\n },\n end: function() {\n return this.start() + this.get('perPage');\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/sidebar"
|
||
),minispade.register("controllers/stats","(function() {(function() {\n\n Travis.StatsController = Travis.Controller.extend({\n name: 'stats',\n init: function() {\n return this._super('top');\n },\n activate: function(action, params) {}\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=controllers/stats"
|
||
),minispade.register("helpers","(function() {(function() {\nminispade.require('helpers/handlebars');\nminispade.require('helpers/helpers');\nminispade.require('helpers/urls');\n\n}).call(this);\n\n})();\n//@ sourceURL=helpers"
|
||
),minispade.register("helpers/handlebars","(function() {(function() {\n var safe;\nminispade.require('ext/ember/bound_helper');\n\n safe = function(string) {\n return new Handlebars.SafeString(string);\n };\n\n Handlebars.registerHelper('tipsy', function(text, tip) {\n return safe('<span class=\"tool-tip\" original-title=\"' + tip + '\">' + text + '</span>');\n });\n\n Handlebars.registerHelper('t', function(key) {\n return safe(I18n.t(key));\n });\n\n Ember.registerBoundHelper('formatTime', function(value, options) {\n return safe(Travis.Helpers.timeAgoInWords(value) || '-');\n });\n\n Ember.registerBoundHelper('formatDuration', function(duration, options) {\n return safe(Travis.Helpers.timeInWords(duration));\n });\n\n Ember.registerBoundHelper('formatCommit', function(commit, options) {\n if (commit) {\n return safe(Travis.Helpers.formatCommit(commit.get('sha'), commit.get('branch')));\n }\n });\n\n Ember.registerBoundHelper('formatSha', function(sha, options) {\n return safe(Travis.Helpers.formatSha(sha));\n });\n\n Ember.registerBoundHelper('pathFrom', function(url, options) {\n return safe(Travis.Helpers.pathFrom(url));\n });\n\n Ember.registerBoundHelper('formatMessage', function(message, options) {\n return safe(Travis.Helpers.formatMessage(message, options));\n });\n\n Ember.registerBoundHelper('formatConfig', function(config, options) {\n return safe(Travis.Helpers.formatConfig(config));\n });\n\n Ember.registerBoundHelper('formatLog', function(log, options) {\n return Travis.Helpers.formatLog(log) || '';\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=helpers/handlebars"
|
||
),minispade.register("helpers/helpers","(function() {(function() {\nminispade.require('travis/log');\nminispade.require('emoij');\n\n this.Travis.Helpers = {\n compact: function(object) {\n var key, result, value, _ref;\n result = {};\n _ref = object || {};\n for (key in _ref) {\n value = _ref[key];\n if (!$.isEmpty(value)) {\n result[key] = value;\n }\n }\n return result;\n },\n safe: function(string) {\n return new Handlebars.SafeString(string);\n },\n colorForResult: function(result) {\n if (result === 0) {\n return 'green';\n } else {\n if (result === 1) {\n return 'red';\n } else {\n return null;\n }\n }\n },\n formatCommit: function(sha, branch) {\n return Travis.Helpers.formatSha(sha) + (branch ? \" (\" + branch + \")\" : '');\n },\n formatSha: function(sha) {\n return (sha || '').substr(0, 7);\n },\n formatConfig: function(config) {\n var values;\n config = $.only(config, 'rvm', 'gemfile', 'env', 'otp_release', 'php', 'node_js', 'scala', 'jdk', 'python', 'perl');\n values = $.map(config, function(value, key) {\n value = (value && value.join ? value.join(', ') : value) || '';\n return '%@: %@'.fmt($.camelize(key), value);\n });\n if (values.length === 0) {\n return '-';\n } else {\n return values.join(', ');\n }\n },\n formatMessage: function(message, options) {\n message = message || '';\n if (options.short) {\n message = message.split(/\\n/)[0];\n }\n return this._emojize(this._escape(message)).replace(/\\n/g, '<br/>');\n },\n formatLog: function(log) {\n return Travis.Log.filter(log);\n },\n pathFrom: function(url) {\n return (url || '').split('/').pop();\n },\n timeAgoInWords: function(date) {\n return $.timeago.distanceInWords(date);\n },\n durationFrom: function(started, finished) {\n started = started && this._toUtc(new Date(this._normalizeDateString(started)));\n finished = finished ? this._toUtc(new Date(this._normalizeDateString(finished))) : this._nowUtc();\n if (started && finished) {\n return Math.round((finished - started) / 1000);\n } else {\n return 0;\n }\n },\n timeInWords: function(duration) {\n var days, hours, minutes, result, seconds;\n days = Math.floor(duration / 86400);\n hours = Math.floor(duration % 86400 / 3600);\n minutes = Math.floor(duration % 3600 / 60);\n seconds = duration % 60;\n if (days > 0) {\n return 'more than 24 hrs';\n } else {\n result = [];\n if (hours === 1) {\n result.push(hours + ' hr');\n }\n if (hours > 1) {\n result.push(hours + ' hrs');\n }\n if (minutes > 0) {\n result.push(minutes + ' min');\n }\n if (seconds > 0) {\n result.push(seconds + ' sec');\n }\n if (result.length > 0) {\n return result.join(' ');\n } else {\n return '-';\n }\n }\n },\n _normalizeDateString: function(string) {\n if (window.JHW) {\n string = string.replace('T', ' ').replace(/-/g, '/');\n string = string.replace('Z', '').replace(/\\..*$/, '');\n }\n return string;\n },\n _nowUtc: function() {\n return this._toUtc(new Date());\n },\n _toUtc: function(date) {\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n },\n _emojize: function(text) {\n var emojis;\n emojis = text.match(/:\\S+?:/g);\n if (emojis !== null) {\n $.each(emojis.uniq(), function(ix, emoji) {\n var image, strippedEmoji;\n strippedEmoji = emoji.substring(1, emoji.length - 1);\n if (EmojiDictionary.indexOf(strippedEmoji) !== -1) {\n image = '<img class=\\'emoji\\' title=\\'' + emoji + '\\' alt=\\'' + emoji + '\\' src=\\'' + '/images/emoji/' + strippedEmoji + '.png\\'/>';\n return text = text.replace(new RegExp(emoji, 'g'), image);\n }\n });\n }\n return text;\n },\n _escape: function(text) {\n return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n }\n };\n\n}).call(this);\n\n})();\n//@ sourceURL=helpers/helpers"
|
||
),minispade.register("helpers/urls",'(function() {(function() {\n\n this.Travis.Urls = {\n repository: function(slug) {\n return "/" + slug;\n },\n builds: function(slug) {\n return "/" + slug + "/builds";\n },\n pullRequests: function(slug) {\n return "/" + slug + "/pull_requests";\n },\n branches: function(slug) {\n return "/" + slug + "/branches";\n },\n build: function(slug, id) {\n return "/" + slug + "/builds/" + id;\n },\n job: function(slug, id) {\n return "/" + slug + "/jobs/" + id;\n },\n githubCommit: function(slug, sha) {\n return "http://github.com/" + slug + "/commit/" + sha;\n },\n githubRepository: function(slug) {\n return "http://github.com/" + slug;\n },\n githubWatchers: function(slug) {\n return "http://github.com/" + slug + "/watchers";\n },\n githubNetwork: function(slug) {\n return "http://github.com/" + slug + "/network";\n },\n githubAdmin: function(slug) {\n return "http://github.com/" + slug + "/admin/hooks#travis_minibucket";\n },\n statusImage: function(slug, branch) {\n return ("https://secure.travis-ci.org/" + slug + ".png") + (branch ? "?branch=" + branch : \'\');\n },\n email: function(email) {\n return "mailto:" + email;\n },\n account: function(login) {\n return "/profile/" + login;\n },\n user: function(login) {\n return "/profile/" + login + "/me";\n }\n };\n\n}).call(this);\n\n})();\n//@ sourceURL=helpers/urls'
|
||
),minispade.register("models","(function() {(function() {\nminispade.require('models/extensions');\nminispade.require('models/account');\nminispade.require('models/artifact');\nminispade.require('models/branch');\nminispade.require('models/build');\nminispade.require('models/commit');\nminispade.require('models/hook');\nminispade.require('models/job');\nminispade.require('models/repository');\nminispade.require('models/sponsor');\nminispade.require('models/user');\nminispade.require('models/worker');\n\n}).call(this);\n\n})();\n//@ sourceURL=models"
|
||
),minispade.register("models/account","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Account = Travis.Model.extend({\n primaryKey: 'login',\n login: DS.attr('string'),\n name: DS.attr('string'),\n type: DS.attr('string'),\n reposCount: DS.attr('number'),\n urlGithub: (function() {\n return \"http://github.com/\" + (this.get('login'));\n }).property()\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/account"
|
||
),minispade.register("models/artifact","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Artifact = Travis.Model.extend({\n body: DS.attr('string'),\n init: function() {\n this._super.apply(this, arguments);\n return this.set('queue', Ember.A([]));\n },\n append: function(body) {\n if (this.get('isLoaded')) {\n return this.set('body', this.get('body') + body);\n } else {\n return this.get('queue').pushObject(body);\n }\n },\n recordDidLoad: (function() {\n var queue;\n if (this.get('isLoaded')) {\n queue = this.get('queue');\n if (queue.get('length') > 0) {\n return this.append(queue.toArray().join(''));\n }\n }\n }).observes('isLoaded')\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/artifact"
|
||
),minispade.register("models/branch","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Branch = Travis.Model.extend(Travis.Helpers, {\n repositoryId: DS.attr('number'),\n commitId: DS.attr('number'),\n number: DS.attr('number'),\n branch: DS.attr('string'),\n message: DS.attr('string'),\n result: DS.attr('number'),\n duration: DS.attr('number'),\n startedAt: DS.attr('string'),\n finishedAt: DS.attr('string'),\n commit: DS.belongsTo('Travis.Commit'),\n repository: (function() {\n if (this.get('repositoryId')) {\n return Travis.Repository.find(this.get('repositoryId'));\n }\n }).property('repositoryId'),\n updateTimes: function() {\n this.notifyPropertyChange('started_at');\n return this.notifyPropertyChange('finished_at');\n }\n });\n\n this.Travis.Branch.reopenClass({\n byRepositoryId: function(id) {\n return this.find({\n repository_id: id\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/branch"
|
||
),minispade.register("models/build","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Build = Travis.Model.extend(Travis.DurationCalculations, {\n eventType: DS.attr('string'),\n repositoryId: DS.attr('number'),\n commitId: DS.attr('number'),\n state: DS.attr('string'),\n number: DS.attr('number'),\n branch: DS.attr('string'),\n message: DS.attr('string'),\n result: DS.attr('number'),\n _duration: DS.attr('number', {\n key: 'duration'\n }),\n startedAt: DS.attr('string', {\n key: 'started_at'\n }),\n finishedAt: DS.attr('string', {\n key: 'finished_at'\n }),\n repository: DS.belongsTo('Travis.Repository'),\n commit: DS.belongsTo('Travis.Commit'),\n jobs: DS.hasMany('Travis.Job', {\n key: 'job_ids'\n }),\n config: (function() {\n return Travis.Helpers.compact(this.get('data.config'));\n }).property('data.config'),\n isMatrix: (function() {\n return this.get('data.job_ids.length') > 1;\n }).property('data.job_ids.length'),\n requiredJobs: (function() {\n return this.get('jobs').filter(function(data) {\n return !data.get('allowFailure');\n });\n }).property('jobs.@each.allowFailure'),\n allowedFailureJobs: (function() {\n return this.get('jobs').filter(function(data) {\n return data.get('allowFailure');\n });\n }).property('jobs.@each.allowFailure'),\n configKeys: (function() {\n var config, headers, key, keys;\n if (!(config = this.get('config'))) {\n return [];\n }\n keys = $.intersect($.keys(config), Travis.CONFIG_KEYS);\n headers = (function() {\n var _i, _len, _ref, _results;\n _ref = ['build.job', 'build.duration', 'build.finished_at'];\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n key = _ref[_i];\n _results.push(I18n.t(key));\n }\n return _results;\n })();\n return $.map(headers.concat(keys), function(key) {\n return $.camelize(key);\n });\n }).property('config')\n });\n\n this.Travis.Build.reopenClass({\n byRepositoryId: function(id, parameters) {\n return this.find($.extend(parameters || {}, {\n repository_id: id,\n orderBy: 'number DESC'\n }));\n },\n olderThanNumber: function(id, build_number) {\n return this.find({\n url: \"/builds\",\n repository_id: id,\n after_number: build_number\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/build"
|
||
),minispade.register("models/commit","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Commit = Travis.Model.extend({\n buildId: DS.attr('number'),\n sha: DS.attr('string'),\n branch: DS.attr('string'),\n message: DS.attr('string'),\n compareUrl: DS.attr('string'),\n authorName: DS.attr('string'),\n authorEmail: DS.attr('string'),\n committerName: DS.attr('string'),\n committerEmail: DS.attr('string'),\n build: DS.belongsTo('Travis.Build', {\n key: 'buildId'\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/commit"
|
||
),minispade.register("models/extensions","(function() {(function() {\n\n Travis.DurationCalculations = Ember.Mixin.create({\n duration: (function() {\n var duration;\n if (duration = this.get('_duration')) {\n return duration;\n } else {\n return Travis.Helpers.durationFrom(this.get('startedAt'), this.get('finishedAt'));\n }\n }).property('_duration', 'finishedAt', 'startedAt'),\n updateTimes: function() {\n this.notifyPropertyChange('_duration');\n return this.notifyPropertyChange('finished_at');\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/extensions"
|
||
),minispade.register("models/hook","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Hook = Travis.Model.extend({\n name: DS.attr('string'),\n ownerName: DS.attr('string'),\n description: DS.attr('string'),\n active: DS.attr('boolean'),\n account: (function() {\n return this.get('slug').split('/')[0];\n }).property('slug'),\n slug: (function() {\n return \"\" + (this.get('ownerName')) + \"/\" + (this.get('name'));\n }).property('ownerName', 'name'),\n urlGithub: (function() {\n return \"http://github.com/\" + (this.get('slug'));\n }).property(),\n urlGithubAdmin: (function() {\n return \"http://github.com/\" + (this.get('slug')) + \"/admin/hooks#travis_minibucket\";\n }).property(),\n toggle: function() {\n var transaction;\n transaction = this.get('store').transaction();\n transaction.add(this);\n this.set('active', !this.get('active'));\n return transaction.commit();\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/hook"
|
||
),minispade.register("models/job","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Job = Travis.Model.extend(Travis.DurationCalculations, {\n repositoryId: DS.attr('number'),\n buildId: DS.attr('number'),\n commitId: DS.attr('number'),\n logId: DS.attr('number'),\n queue: DS.attr('string'),\n state: DS.attr('string'),\n number: DS.attr('string'),\n result: DS.attr('number'),\n _duration: DS.attr('number', {\n key: 'duration'\n }),\n startedAt: DS.attr('string'),\n finishedAt: DS.attr('string'),\n allowFailure: DS.attr('boolean', {\n key: 'allow_failure'\n }),\n repository: DS.belongsTo('Travis.Repository', {\n key: 'repository_id'\n }),\n build: DS.belongsTo('Travis.Build', {\n key: 'build_id'\n }),\n commit: DS.belongsTo('Travis.Commit', {\n key: 'commit_id'\n }),\n log: DS.belongsTo('Travis.Artifact', {\n key: 'log_id'\n }),\n isQueued: (function() {}).property('state'),\n config: (function() {\n return Travis.Helpers.compact(this.get('data.config'));\n }).property('data.config'),\n sponsor: (function() {\n return this.get('data.sponsor');\n }).property('data.sponsor'),\n configValues: (function() {\n var config;\n if (config = this.get('config')) {\n return $.values($.only.apply(config, Travis.CONFIG_KEYS));\n } else {\n return [];\n }\n }).property('config'),\n appendLog: function(text) {\n var log;\n if (log = this.get('log')) {\n return log.append(text);\n }\n },\n subscribe: function() {\n var id;\n if (id = this.get('id')) {\n return Travis.app.pusher.subscribe(\"job-\" + id);\n }\n },\n onStateChange: (function() {\n if (this.get('state') === 'finished') {\n return Travis.app.pusher.unsubscribe(\"job-\" + (this.get('id')));\n }\n }).observes('state')\n });\n\n this.Travis.Job.reopenClass({\n queued: function(queue) {\n this.find();\n return Travis.app.store.filter(this, function(job) {\n var queued;\n queued = ['created', 'queued'].indexOf(job.get('state')) !== -1;\n return queued && job.get('queue') === (\"builds.\" + queue);\n });\n },\n findMany: function(ids) {\n return Travis.app.store.findMany(this, ids);\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/job"
|
||
),minispade.register("models/repository","(function() {(function() {\nminispade.require('travis/expandable_record_array');\nminispade.require('travis/model');\n\n this.Travis.Repository = Travis.Model.extend({\n slug: DS.attr('string'),\n description: DS.attr('string'),\n lastBuildId: DS.attr('number'),\n lastBuildNumber: DS.attr('string'),\n lastBuildResult: DS.attr('number'),\n lastBuildStartedAt: DS.attr('string'),\n lastBuildFinishedAt: DS.attr('string'),\n lastBuild: DS.belongsTo('Travis.Build'),\n builds: (function() {\n var array, builds, id;\n id = this.get('id');\n builds = Travis.Build.byRepositoryId(id, {\n event_type: 'push'\n });\n array = Travis.ExpandableRecordArray.create({\n type: Travis.Build,\n content: Ember.A([]),\n store: this.get('store')\n });\n array.load(builds);\n return array;\n }).property(),\n pullRequests: (function() {\n var array, builds, id;\n id = this.get('id');\n builds = Travis.Build.byRepositoryId(id, {\n event_type: 'pull_request'\n });\n array = Travis.ExpandableRecordArray.create({\n type: Travis.Build,\n content: Ember.A([]),\n store: this.get('store')\n });\n array.load(builds);\n return array;\n }).property(),\n branches: (function() {\n return Travis.Branch.byRepositoryId(this.get('id'));\n }).property(),\n owner: (function() {\n return (this.get('slug') || '').split('/')[0];\n }).property('slug'),\n name: (function() {\n return (this.get('slug') || '').split('/')[1];\n }).property('slug'),\n lastBuildDuration: (function() {\n var duration;\n duration = this.get('data.last_build_duration');\n if (!duration) {\n duration = Travis.Helpers.durationFrom(this.get('lastBuildStartedAt'), this.get('lastBuildFinishedAt'));\n }\n return duration;\n }).property('data.last_build_duration', 'lastBuildStartedAt', 'lastBuildFinishedAt'),\n sortOrder: (function() {\n var lastBuildFinishedAt;\n if (lastBuildFinishedAt = this.get('lastBuildFinishedAt')) {\n return -new Date(lastBuildFinishedAt).getTime();\n } else {\n return -new Date('9999').getTime() - parseInt(this.get('lastBuildId'));\n }\n }).property('lastBuildFinishedAt', 'lastBuildId'),\n stats: (function() {\n var _this = this;\n return this.get('_stats') || $.get(\"https://api.github.com/repos/\" + (this.get('slug')), function(data) {\n _this.set('_stats', data);\n return _this.notifyPropertyChange('stats');\n }) && {};\n }).property(),\n select: function() {\n return Travis.Repository.select(this.get('id'));\n },\n updateTimes: function() {\n return this.notifyPropertyChange('lastBuildDuration');\n }\n });\n\n this.Travis.Repository.reopenClass({\n recent: function() {\n return this.find();\n },\n ownedBy: function(login) {\n return this.find({\n owner_name: login,\n orderBy: 'name'\n });\n },\n search: function(query) {\n return this.find({\n search: query,\n orderBy: 'name'\n });\n },\n bySlug: function(slug) {\n var repo;\n repo = $.select(this.find().toArray(), function(repo) {\n return repo.get('slug') === slug;\n });\n if (repo.length > 0) {\n return repo;\n } else {\n return this.find({\n slug: slug\n });\n }\n },\n select: function(id) {\n return this.find().forEach(function(repository) {\n return repository.set('selected', repository.get('id') === id);\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/repository"
|
||
),minispade.register("models/sponsor","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Sponsor = Travis.Model.extend({\n type: DS.attr('string'),\n url: DS.attr('string'),\n link: DS.attr('string'),\n image: (function() {\n return \"/images/sponsors/\" + (this.get('data.image'));\n }).property('data.image')\n });\n\n Travis.Sponsor.reopenClass({\n decks: function() {\n return this.platinum().concat(this.gold());\n },\n platinum: function() {\n var platinum, sponsor, _i, _len, _results;\n platinum = this.byType('platinum').toArray();\n _results = [];\n for (_i = 0, _len = platinum.length; _i < _len; _i++) {\n sponsor = platinum[_i];\n _results.push([sponsor]);\n }\n return _results;\n },\n gold: function() {\n var gold, _results;\n gold = this.byType('gold').toArray();\n _results = [];\n while (gold.length > 0) {\n _results.push(gold.splice(0, 2));\n }\n return _results;\n },\n links: function() {\n return this.byType('silver');\n },\n byType: function() {\n var types;\n types = Array.prototype.slice.apply(arguments);\n return Travis.Sponsor.filter(function(sponsor) {\n return types.indexOf(sponsor.get('type')) !== -1;\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/sponsor"
|
||
),minispade.register("models/user","(function() {(function() {\nminispade.require('travis/ajax');\nminispade.require('travis/model');\n\n this.Travis.User = Travis.Model.extend(Travis.Ajax, {\n name: DS.attr('string'),\n email: DS.attr('string'),\n login: DS.attr('string'),\n token: DS.attr('string'),\n locale: DS.attr('string'),\n gravatarId: DS.attr('string'),\n isSyncing: DS.attr('boolean'),\n syncedAt: DS.attr('string'),\n repoCount: DS.attr('number'),\n init: function() {\n if (this.get('isSyncing')) {\n this.poll();\n }\n this._super();\n return Ember.run.next(this, function() {\n var transaction;\n transaction = this.get('store').transaction();\n return transaction.add(this);\n });\n },\n urlGithub: (function() {\n return \"https://github.com/\" + (this.get('login'));\n }).property(),\n updateLocale: function(locale) {\n var observer, self, transaction;\n this.setWithSession('locale', locale);\n transaction = this.get('transaction');\n transaction.commit();\n self = this;\n observer = function() {\n if (!self.get('isSaving')) {\n self.removeObserver('isSaving', observer);\n transaction = self.get('store').transaction();\n return transaction.add(self);\n }\n };\n return this.addObserver('isSaving', observer);\n },\n type: (function() {\n return 'user';\n }).property(),\n sync: function() {\n this.post('/users/sync');\n this.setWithSession('isSyncing', true);\n return this.poll();\n },\n poll: function() {\n var _this = this;\n return this.ajax('/users', 'get', {\n success: function(data) {\n if (data.user.is_syncing) {\n return Ember.run.later(_this, _this.poll.bind(_this), 3000);\n } else {\n _this.set('isSyncing', false);\n return _this.setWithSession('syncedAt', data.user.synced_at);\n }\n }\n });\n },\n setWithSession: function(name, value) {\n var user;\n this.set(name, value);\n user = JSON.parse(typeof sessionStorage !== \"undefined\" && sessionStorage !== null ? sessionStorage.getItem('travis.user') : void 0);\n user[$.underscore(name)] = this.get(name);\n return typeof sessionStorage !== \"undefined\" && sessionStorage !== null ? sessionStorage.setItem('travis.user', JSON.stringify(user)) : void 0;\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/user"
|
||
),minispade.register("models/worker","(function() {(function() {\nminispade.require('travis/model');\n\n this.Travis.Worker = Travis.Model.extend({\n state: DS.attr('string'),\n name: DS.attr('string'),\n host: DS.attr('string'),\n lastSeenAt: DS.attr('string'),\n payload: (function() {\n return this.get('data.payload');\n }).property('data.payload'),\n number: (function() {\n return this.get('name').match(/\\d+$/)[0];\n }).property('name'),\n isWorking: (function() {\n return this.get('state') === 'working';\n }).property('state'),\n repository: (function() {\n return Travis.Repository.find(this.get('payload.repository.id'));\n }).property('payload.repository.id'),\n job_id: (function() {\n return this.get('payload.job.id');\n }).property('payload.job.id'),\n job: (function() {\n return Travis.Job.find(this.get('job_id'));\n }).property('job_id')\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=models/worker"
|
||
),minispade.register("pusher","(function() {(function() {\n\n Travis.Pusher = function(config) {\n if (config) {\n this.init(config);\n }\n return this;\n };\n\n $.extend(Travis.Pusher, {\n CHANNELS: ['common'],\n CHANNEL_PREFIX: ''\n });\n\n $.extend(Travis.Pusher.prototype, {\n active_channels: [],\n init: function(config) {\n var channel, _i, _len, _ref, _results;\n Pusher.warn = this.warn.bind(this);\n this.pusher = new Pusher(config.key);\n _ref = Travis.Pusher.CHANNELS;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n channel = _ref[_i];\n _results.push(this.subscribe(channel));\n }\n return _results;\n },\n subscribe: function(channel) {\n var _this = this;\n if (this.pusher && this.active_channels.indexOf(channel) === -1) {\n this.active_channels.push(channel);\n return this.pusher.subscribe(this.prefix(channel)).bind_all(function(event, data) {\n return _this.receive(event, data);\n });\n }\n },\n unsubscribe: function(channel) {\n var ix;\n ix = this.active_channels.indexOf(channel);\n if (this.pusher && ix === -1) {\n this.active_channels.splice(ix, 1);\n return this.pusher.unsubscribe(this.prefix(channel));\n }\n },\n prefix: function(channel) {\n return \"\" + Travis.Pusher.CHANNEL_PREFIX + channel;\n },\n receive: function(event, data) {\n if (event.substr(0, 6) === 'pusher') {\n return;\n }\n if (data.id) {\n data = this.normalize(event, data);\n }\n return Ember.run.next(function() {\n return Travis.app.store.receive(event, data);\n });\n },\n normalize: function(event, data) {\n switch (event) {\n case 'build:started':\n case 'build:finished':\n return data;\n case 'job:created':\n case 'job:started':\n case 'job:finished':\n case 'job:log':\n if (data.queue) {\n data.queue = data.queue.replace('builds.', '');\n }\n return {\n job: data\n };\n case 'worker:added':\n case 'worker:updated':\n case 'worker:removed':\n return {\n worker: data\n };\n }\n },\n warn: function(type, warning) {\n if (!this.ignoreWarning(warning)) {\n return console.warn(warning);\n }\n },\n ignoreWarning: function(warning) {\n var message, _ref;\n if (message = (_ref = warning.data) != null ? _ref.message : void 0) {\n return message.indexOf('Existing subscription') === 0 || message.indexOf('No current subscription') === 0;\n }\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=pusher"
|
||
),minispade.register("routes","(function() {(function() {\n\n Travis.Router = Ember.Router.extend({\n location: 'history',\n enableLogging: true,\n initialState: 'loading',\n goToRoot: Ember.Route.transitionTo('root.home.show'),\n goToStats: Ember.Route.transitionTo('root.stats'),\n showRepository: Ember.Route.transitionTo('root.home.repository.show'),\n showBuilds: Ember.Route.transitionTo('root.home.repository.builds.index'),\n showBuild: Ember.Route.transitionTo('root.home.repository.builds.show'),\n showPullRequests: Ember.Route.transitionTo('root.home.repository.pullRequests'),\n showBranches: Ember.Route.transitionTo('root.home.repository.branches'),\n showJob: Ember.Route.transitionTo('root.home.repository.job'),\n showProfile: Ember.Route.transitionTo('root.profile'),\n showAccount: Ember.Route.transitionTo('root.profile.account'),\n showUserProfile: Ember.Route.transitionTo('root.profile.account.profile'),\n signedIn: function() {\n return !!Travis.app.get('auth.user');\n },\n requiresAuth: function(path) {\n return path === '/profile' && !this.signedIn();\n },\n loading: Ember.Route.extend({\n routePath: function(router, path) {\n router.set('lastAttemptedPath', path);\n if (router.requiresAuth(path)) {\n return router.send('showUnauthenticated');\n } else {\n return router.send('showAuthenticated');\n }\n }\n }),\n showUnauthenticated: Ember.State.transitionTo('root.home.show'),\n showAuthenticated: Ember.State.transitionTo('authenticated.index'),\n authenticated: Ember.Route.extend({\n index: Ember.Route.extend({\n connectOutlets: function(router) {\n var path;\n router.transitionTo('root');\n path = router.get('lastAttemptedPath');\n if (path && path !== '/') {\n return router.route(path);\n }\n }\n })\n }),\n root: Ember.Route.extend({\n initialState: 'home',\n loading: Ember.State.extend(),\n stats: Ember.Route.extend({\n route: '/stats',\n connectOutlets: function(router) {\n router.get('applicationController').connectOutlet('statsLayout');\n $('body').attr('id', 'stats');\n router.get('statsLayoutController').connectOutlet('top', 'top');\n return router.get('statsLayoutController').connectOutlet('main', 'stats');\n }\n }),\n profile: Ember.Route.extend({\n initialState: 'index',\n route: '/profile',\n connectOutlets: function(router) {\n router.get('applicationController').connectOutlet('profileLayout');\n $('body').attr('id', 'profile');\n router.get('accountsController').set('content', Travis.Account.find());\n router.get('profileLayoutController').connectOutlet('top', 'top');\n return router.get('profileLayoutController').connectOutlet('left', 'accounts');\n },\n index: Ember.Route.extend({\n route: '/',\n connectOutlets: function(router) {\n router.get('profileLayoutController').connectOutlet('main', 'profile');\n return router.get('profileController').activate('hooks');\n }\n }),\n account: Ember.Route.extend({\n initialState: 'index',\n route: '/:login',\n connectOutlets: function(router, account) {\n var params;\n if (account) {\n params = {\n login: account.get('login')\n };\n return router.get('profileController').setParams(params);\n } else {\n return router.send('showProfile');\n }\n },\n deserialize: function(router, params) {\n return router.get('accountsController').findByLogin(params.login);\n },\n serialize: function(router, account) {\n if (account) {\n return {\n login: account.get('login')\n };\n } else {\n return {};\n }\n },\n index: Ember.Route.extend({\n route: '/',\n connectOutlets: function(router) {\n return router.get('profileController').activate('hooks');\n }\n }),\n profile: Ember.Route.extend({\n route: '/profile',\n connectOutlets: function(router) {\n return router.get('profileController').activate('user');\n }\n })\n })\n }),\n home: Ember.Route.extend({\n initialState: 'show',\n route: '/',\n connectOutlets: function(router) {\n router.get('applicationController').connectOutlet('home');\n $('body').attr('id', 'home');\n router.get('homeController').connectOutlet('left', 'repositories');\n router.get('homeController').connectOutlet('right', 'sidebar');\n router.get('homeController').connectOutlet('top', 'top');\n return router.get('homeController').connectOutlet('main', 'repository');\n },\n show: Ember.Route.extend({\n route: '/',\n connectOutlets: function(router) {\n return router.get('repositoryController').activate('index');\n }\n }),\n repository: Ember.Route.extend({\n initialState: 'show',\n route: '/:owner/:name',\n connectOutlets: function(router, repository) {\n return router.get('repositoryController').set('repository', repository);\n },\n deserialize: function(router, params) {\n var deferred, observer, repos, slug;\n slug = \"\" + params.owner + \"/\" + params.name;\n repos = Travis.Repository.bySlug(slug);\n deferred = $.Deferred();\n observer = function() {\n if (repos.get('isLoaded')) {\n repos.removeObserver('isLoaded', observer);\n return deferred.resolve(repos.objectAt(0));\n }\n };\n repos.addObserver('isLoaded', observer);\n return deferred.promise();\n },\n serialize: function(router, repository) {\n if (repository) {\n return {\n owner: repository.get('owner'),\n name: repository.get('name')\n };\n } else {\n return {};\n }\n },\n show: Ember.Route.extend({\n route: '/',\n connectOutlets: function(router) {\n return router.get('repositoryController').activate('current');\n }\n }),\n builds: Ember.Route.extend({\n route: '/builds',\n initialState: 'index',\n index: Ember.Route.extend({\n route: '/',\n connectOutlets: function(router, repository) {\n return router.get('repositoryController').activate('builds');\n }\n }),\n show: Ember.Route.extend({\n route: '/:build_id',\n connectOutlets: function(router, build) {\n if (!build.get) {\n build = Travis.Build.find(build);\n }\n router.get('repositoryController').set('build', build);\n return router.get('repositoryController').activate('build');\n },\n serialize: function(router, build) {\n if (build.get) {\n return {\n build_id: build.get('id')\n };\n } else {\n return {\n build_id: build\n };\n }\n },\n deserialize: function(router, params) {\n var build, deferred, observer;\n build = Travis.Build.find(params.build_id);\n deferred = $.Deferred();\n observer = function() {\n if (build.get('id')) {\n build.removeObserver('id', observer);\n return deferred.resolve(build);\n }\n };\n build.addObserver('id', observer);\n return deferred.promise();\n }\n })\n }),\n pullRequests: Ember.Route.extend({\n route: '/pull_requests',\n connectOutlets: function(router, repository) {\n return router.get('repositoryController').activate('pull_requests');\n }\n }),\n branches: Ember.Route.extend({\n route: '/branches',\n connectOutlets: function(router, repository) {\n return router.get('repositoryController').activate('branches');\n }\n }),\n job: Ember.Route.extend({\n route: '/jobs/:job_id',\n connectOutlets: function(router, job) {\n if (!job.get) {\n job = Travis.Job.find(job);\n }\n router.get('repositoryController').set('job', job);\n return router.get('repositoryController').activate('job');\n },\n serialize: function(router, job) {\n if (job.get) {\n return {\n job_id: job.get('id')\n };\n } else {\n return {\n job_id: job\n };\n }\n },\n deserialize: function(router, params) {\n var deferred, job, observer;\n job = Travis.Job.find(params.job_id);\n deferred = $.Deferred();\n observer = function() {\n if (job.get('id')) {\n job.removeObserver('id', observer);\n return deferred.resolve(job);\n }\n };\n job.addObserver('id', observer);\n return deferred.promise();\n }\n })\n })\n })\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=routes"
|
||
),minispade.register("slider","(function() {(function() {\n\n this.Travis.Slider = function() {\n if ((typeof localStorage !== \"undefined\" && localStorage !== null ? localStorage.getItem('travis.maximized') : void 0) === 'true') {\n this.minimize();\n }\n return this;\n };\n\n $.extend(Travis.Slider.prototype, {\n persist: function() {\n return typeof localStorage !== \"undefined\" && localStorage !== null ? localStorage.setItem('travis.maximized', this.isMinimized()) : void 0;\n },\n isMinimized: function() {\n return $('body').hasClass('maximized');\n },\n minimize: function() {\n return $('body').addClass('maximized');\n },\n toggle: function() {\n var element;\n $('body').toggleClass('maximized');\n this.persist();\n element = $('<span></span>');\n $('#top .profile').append(element);\n return Em.run.later((function() {\n return element.remove();\n }), 10);\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=slider"
|
||
),minispade.register("store","(function() {(function() {\n var DATA_PROXY,\n __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\nminispade.require('store/rest_adapter');\n\n DATA_PROXY = {\n get: function(name) {\n return this.savedData[name];\n }\n };\n\n Travis.Store = DS.Store.extend({\n revision: 4,\n adapter: Travis.RestAdapter.create(),\n merge: function(type, id, hash) {\n var clientId, data, dataCache, primaryKey, record, recordCache, typeMap;\n if (hash === void 0) {\n hash = id;\n primaryKey = type.proto().primaryKey;\n Ember.assert(\"A data hash was loaded for a record of type \" + type.toString() + \" but no primary key '\" + primaryKey + \"' was provided.\", hash[primaryKey]);\n id = hash[primaryKey];\n }\n typeMap = this.typeMapFor(type);\n dataCache = typeMap.cidToHash;\n clientId = typeMap.idToCid[id];\n recordCache = this.get('recordCache');\n if (clientId !== void 0) {\n if (data = dataCache[clientId]) {\n $.extend(data, hash);\n } else {\n dataCache[clientId] = hash;\n }\n if (record = recordCache[clientId]) {\n record.send('didChangeData');\n }\n } else {\n clientId = this.find(type, id).get('clientId');\n }\n if (clientId) {\n DATA_PROXY.savedData = hash;\n this.updateRecordArrays(type, clientId, DATA_PROXY);\n return {\n id: id,\n clientId: clientId\n };\n }\n },\n receive: function(event, data) {\n var job, mappings, name, type, _ref;\n _ref = event.split(':'), name = _ref[0], type = _ref[1];\n mappings = this.adapter.get('mappings');\n type = mappings[name];\n if (event === 'job:log') {\n if (job = this.find(Travis.Job, data['job']['id'])) {\n return job.appendLog(data['job']['_log']);\n }\n } else if (data[type.singularName()]) {\n return this._loadOne(this, type, data);\n } else if (data[type.pluralName()]) {\n return this._loadMany(this, type, data);\n } else {\n if (!type) {\n throw \"can't load data for \" + name;\n }\n }\n },\n _loadOne: function(store, type, json) {\n var root;\n root = type.singularName();\n this.adapter.sideload(store, type, json, root);\n this.merge(type, json[root]);\n return this._updateAssociations(type, root, json[root]);\n },\n _loadMany: function(store, type, json) {\n var root;\n root = type.pluralName();\n this.adapter.sideload(store, type, json, root);\n return this.loadMany(type, json[root]);\n },\n _updateAssociations: function(type, name, data) {\n var _this = this;\n return Em.get(type, 'associationsByName').forEach(function(key, meta) {\n var clientId, dataProxy, id, ids, parent, _ref;\n if (meta.kind === 'belongsTo') {\n id = data[\"\" + key + \"_id\"];\n if (clientId = _this.typeMapFor(meta.type).idToCid[id]) {\n if (parent = _this.findByClientId(meta.type, clientId, id)) {\n dataProxy = parent.get('data');\n if (ids = dataProxy.get(\"\" + name + \"_ids\")) {\n if (_ref = data.id, __indexOf.call(ids, _ref) < 0) {\n ids.pushObject(data.id);\n }\n return parent.send('didChangeData');\n }\n }\n }\n }\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=store"
|
||
),minispade.register("store/fixture_adapter",'(function() {(function() {\n\n this.Travis.FixtureAdapter = DS.Adapter.extend({\n find: function(store, type, id) {\n var fixtures;\n fixtures = type.FIXTURES;\n Ember.assert("Unable to find fixtures for model type " + type.toString(), !!fixtures);\n if (fixtures.hasLoaded) {\n return;\n }\n return setTimeout((function() {\n store.loadMany(type, fixtures);\n return fixtures.hasLoaded = true;\n }), 300);\n },\n findMany: function() {\n return this.find.apply(this, arguments);\n },\n findAll: function(store, type) {\n var fixtures, ids;\n fixtures = type.FIXTURES;\n Ember.assert("Unable to find fixtures for model type " + type.toString(), !!fixtures);\n ids = fixtures.map(function(item, index, self) {\n return item.id;\n });\n return store.loadMany(type, ids, fixtures);\n },\n findQuery: function(store, type, params, array) {\n var fixture, fixtures, hashes, key, matches, value;\n fixtures = type.FIXTURES;\n Ember.assert("Unable to find fixtures for model type " + type.toString(), !!fixtures);\n hashes = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = fixtures.length; _i < _len; _i++) {\n fixture = fixtures[_i];\n matches = (function() {\n var _results1;\n _results1 = [];\n for (key in params) {\n value = params[key];\n _results1.push(key === \'orderBy\' || fixture[key] === value);\n }\n return _results1;\n })();\n if (matches.reduce(function(a, b) {\n return a && b;\n })) {\n _results.push(fixture);\n } else {\n _results.push(null);\n }\n }\n return _results;\n })();\n return array.load(hashes.compact());\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=store/fixture_adapter'
|
||
),minispade.register("store/rest_adapter","(function() {(function() {\nminispade.require('travis/ajax');\nminispade.require('models');\n\n this.Travis.RestAdapter = DS.RESTAdapter.extend(Travis.Ajax, {\n mappings: {\n repositories: Travis.Repository,\n repository: Travis.Repository,\n builds: Travis.Build,\n build: Travis.Build,\n commits: Travis.Commit,\n commit: Travis.Commit,\n jobs: Travis.Job,\n job: Travis.Job,\n account: Travis.Account,\n accounts: Travis.Account,\n worker: Travis.Worker,\n workers: Travis.Worker\n },\n plurals: {\n repository: 'repositories',\n build: 'builds',\n branch: 'branches',\n job: 'jobs',\n worker: 'workers',\n profile: 'profile'\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=store/rest_adapter"
|
||
),minispade.register("tailing","(function() {(function() {\n\n this.Travis.Tailing = function() {\n this.position = $(window).scrollTop();\n $(window).scroll(this.onScroll.bind(this));\n return this;\n };\n\n $.extend(Travis.Tailing.prototype, {\n options: {\n timeout: 200\n },\n run: function() {\n this.autoScroll();\n this.positionButton();\n if (this.active()) {\n return Ember.run.later(this.run.bind(this), this.options.timeout);\n }\n },\n toggle: function(event) {\n if (this.active()) {\n return this.stop();\n } else {\n return this.start();\n }\n },\n active: function() {\n return $('#tail').hasClass('active');\n },\n start: function() {\n $('#tail').addClass('active');\n return this.run();\n },\n stop: function() {\n return $('#tail').removeClass('active');\n },\n autoScroll: function() {\n var log, logBottom, win, winBottom;\n if (!this.active()) {\n return;\n }\n win = $(window);\n log = $('#log');\n logBottom = log.offset().top + log.outerHeight() + 40;\n winBottom = win.scrollTop() + win.height();\n if (logBottom - winBottom > 0) {\n return win.scrollTop(logBottom - win.height());\n }\n },\n onScroll: function() {\n var position;\n this.positionButton();\n position = $(window).scrollTop();\n if (position < this.position) {\n this.stop();\n }\n return this.position = position;\n },\n positionButton: function() {\n var max, offset, tail;\n tail = $('#tail');\n if (tail.length === 0) {\n return;\n }\n offset = $(window).scrollTop() - $('#log').offset().top;\n max = $('#log').height() - $('#tail').height() + 5;\n if (offset > max) {\n offset = max;\n }\n if (offset > 0) {\n return tail.css({\n top: offset - 2\n });\n } else {\n return tail.css({\n top: 0\n });\n }\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=tailing"
|
||
),minispade.register("views","(function() {(function() {\nminispade.require('ext/ember/namespace');\n\n this.Travis.reopen({\n View: Em.View.extend({\n popup: function(event) {\n return $(\"#\" + event.target.name).toggleClass('display');\n }\n })\n });\n\n this.Travis.reopen({\n HomeView: Travis.View.extend({\n templateName: 'layouts/home'\n }),\n ProfileLayoutView: Travis.View.extend({\n templateName: 'layouts/profile'\n }),\n StatsLayoutView: Travis.View.extend({\n templateName: 'layouts/simple'\n }),\n ApplicationView: Travis.View.extend({\n templateName: 'application'\n })\n });\nminispade.require('views/accounts');\nminispade.require('views/build');\nminispade.require('views/job');\nminispade.require('views/repo');\nminispade.require('views/profile');\nminispade.require('views/sidebar');\nminispade.require('views/stats');\nminispade.require('views/top');\n\n}).call(this);\n\n})();\n//@ sourceURL=views"
|
||
),minispade.register("views/accounts","(function() {(function() {\n\n this.Travis.reopen({\n AccountsView: Travis.View.extend({\n tabBinding: 'controller.tab',\n templateName: 'profile/accounts',\n classAccounts: (function() {\n if (this.get('tab') === 'accounts') {\n return 'active';\n }\n }).property('tab')\n }),\n AccountsListView: Em.CollectionView.extend({\n elementId: 'accounts',\n accountBinding: 'content',\n tagName: 'ul',\n emptyView: Ember.View.extend({\n template: Ember.Handlebars.compile('<div class=\"loading\"><span>Loading</span></div>')\n }),\n itemViewClass: Travis.View.extend({\n accountBinding: 'content',\n typeBinding: 'content.type',\n selectedBinding: 'account.selected',\n classNames: ['account'],\n classNameBindings: ['type', 'selected'],\n name: (function() {\n return this.get('content.name') || this.get('content.login');\n }).property('content.login', 'content.name'),\n urlAccount: (function() {\n return Travis.Urls.account(this.get('account.login'));\n }).property('account.login')\n })\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/accounts"
|
||
),minispade.register("views/build","(function() {(function() {\n\n this.Travis.reopen({\n BuildsView: Travis.View.extend({\n templateName: 'builds/list',\n buildsBinding: 'controller.builds',\n showMore: function() {\n var id, number;\n id = this.get('controller.repository.id');\n number = this.get('builds.lastObject.number');\n return this.get('builds').load(Travis.Build.olderThanNumber(id, number));\n },\n ShowMoreButton: Em.View.extend({\n tagName: 'button',\n classNameBindings: ['isLoading'],\n attributeBindings: ['disabled'],\n isLoadingBinding: 'controller.builds.isLoading',\n template: Em.Handlebars.compile('{{view.label}}'),\n disabledBinding: 'isLoading',\n label: (function() {\n if (this.get('isLoading')) {\n return 'Loading';\n } else {\n return 'Show more';\n }\n }).property('isLoading'),\n click: function() {\n return this.get('parentView').showMore();\n }\n })\n }),\n BuildsItemView: Travis.View.extend({\n tagName: 'tr',\n classNameBindings: ['color'],\n repositoryBinding: 'controller.repository',\n buildBinding: 'context',\n commitBinding: 'build.commit',\n color: (function() {\n return Travis.Helpers.colorForResult(this.get('build.result'));\n }).property('build.result'),\n urlBuild: (function() {\n return Travis.Urls.build(this.get('repository.slug'), this.get('build.id'));\n }).property('repository.slug', 'build.id'),\n urlGithubCommit: (function() {\n return Travis.Urls.githubCommit(this.get('repository.slug'), this.get('commit.sha'));\n }).property('repository.slug', 'commit.sha')\n }),\n BuildView: Travis.View.extend({\n templateName: 'builds/show',\n elementId: 'build',\n classNameBindings: ['color', 'loading'],\n repositoryBinding: 'controller.repository',\n buildBinding: 'controller.build',\n commitBinding: 'build.commit',\n loading: (function() {\n return !this.get('build.isLoaded');\n }).property('build.isLoaded'),\n color: (function() {\n return Travis.Helpers.colorForResult(this.get('build.result'));\n }).property('build.result'),\n urlBuild: (function() {\n return Travis.Urls.build(this.get('repository.slug'), this.get('build.id'));\n }).property('repository.slug', 'build.id'),\n urlGithubCommit: (function() {\n return Travis.Urls.githubCommit(this.get('repository.slug'), this.get('commit.sha'));\n }).property('repository.slug', 'commit.sha'),\n urlAuthor: (function() {\n return Travis.Urls.email(this.get('commit.authorEmail'));\n }).property('commit.authorEmail'),\n urlCommitter: (function() {\n return Travis.Urls.email(this.get('commit.committerEmail'));\n }).property('commit.committerEmail')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/build"
|
||
),minispade.register("views/job","(function() {(function() {\n\n this.Travis.reopen({\n JobsView: Travis.View.extend({\n templateName: 'jobs/list',\n buildBinding: 'controller.build'\n }),\n JobsItemView: Travis.View.extend({\n tagName: 'tr',\n classNameBindings: ['color'],\n repositoryBinding: 'context.repository',\n jobBinding: 'context',\n color: (function() {\n return Travis.Helpers.colorForResult(this.get('job.result'));\n }).property('job.result'),\n urlJob: (function() {\n return Travis.Urls.job(this.get('repository.slug'), this.get('job.id'));\n }).property('repository.slug', 'job.id')\n }),\n JobView: Travis.View.extend({\n templateName: 'jobs/show',\n repositoryBinding: 'controller.repository',\n jobBinding: 'controller.job',\n commitBinding: 'job.commit',\n color: (function() {\n return Travis.Helpers.colorForResult(this.get('job.result'));\n }).property('job.result'),\n urlJob: (function() {\n return Travis.Urls.job(this.get('repository.slug'), this.get('job.id'));\n }).property('repository.slug', 'job.id'),\n urlGithubCommit: (function() {\n return Travis.Urls.githubCommit(this.get('repository.slug'), this.get('commit.sha'));\n }).property('repository.slug', 'commit.sha'),\n urlAuthor: (function() {\n return Travis.Urls.email(this.get('commit.authorEmail'));\n }).property('commit.authorEmail'),\n urlCommitter: (function() {\n return Travis.Urls.email(this.get('commit.committerEmail'));\n }).property('commit.committerEmail')\n }),\n LogView: Travis.View.extend({\n templateName: 'jobs/log',\n logBinding: 'job.log',\n click: function(event) {\n return $(event.target).closest('.fold').toggleClass('open');\n },\n toTop: function() {\n return $(window).scrollTop(0);\n },\n jobBinding: 'context',\n toggleTailing: function(event) {\n Travis.app.tailing.toggle();\n return event.preventDefault();\n },\n logSubscriber: (function() {\n var job, state;\n job = this.get('job');\n state = this.get('job.state');\n if (job && state !== 'finished') {\n job.subscribe();\n }\n return null;\n }).property('job', 'job.state')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/job"
|
||
),minispade.register("views/left","(function() {(function() {\n\n this.Travis.reopen({\n ReposView: Travis.View.extend({\n templateName: 'repos/list',\n tabBinding: 'controller.tab',\n classRecent: (function() {\n if (this.get('tab') === 'recent') {\n return 'active';\n }\n }).property('tab'),\n classOwned: (function() {\n var classes;\n classes = [];\n if (this.get('tab') === 'owned') {\n classes.push('active');\n }\n if (Travis.app.get('currentUser')) {\n classes.push('display');\n }\n return classes.join(' ');\n }).property('tab', 'Travis.currentUser'),\n classSearch: (function() {\n if (this.get('tab') === 'search') {\n return 'active';\n }\n }).property('tab')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/left"
|
||
),minispade.register("views/profile","(function() {(function() {\n\n this.Travis.reopen({\n ProfileView: Travis.View.extend({\n templateName: 'profile/show',\n accountBinding: 'controller.account',\n name: (function() {\n return this.get('account.name') || this.get('account.login');\n }).property('account.name', 'account.login')\n }),\n ProfileTabsView: Travis.View.extend({\n templateName: 'profile/tabs',\n tabBinding: 'controller.tab',\n activate: function(event) {\n return this.get('controller').activate(event.target.name);\n },\n classHooks: (function() {\n if (this.get('tab') === 'hooks') {\n return 'active';\n }\n }).property('tab'),\n classUser: (function() {\n if (this.get('tab') === 'user') {\n return 'active';\n }\n }).property('tab'),\n accountBinding: 'controller.account',\n displayUser: (function() {\n return this.get('controller.account.login') === this.get('controller.user.login');\n }).property('controller.account.login', 'controller.user.login')\n }),\n HooksView: Travis.View.extend({\n templateName: 'profile/tabs/hooks',\n userBinding: 'controller.user',\n urlGithubAdmin: (function() {\n return Travis.Urls.githubAdmin(this.get('hook.slug'));\n }).property('hook.slug')\n }),\n UserView: Travis.View.extend({\n templateName: 'profile/tabs/user',\n userBinding: 'controller.user',\n gravatarUrl: (function() {\n return \"\" + location.protocol + \"//www.gravatar.com/avatar/\" + (this.get('user.gravatarId')) + \"?s=48&d=mm\";\n }).property('user.gravatarId'),\n locales: (function() {\n return [\n {\n key: null,\n name: ''\n }, {\n key: 'en',\n name: 'English'\n }, {\n key: 'ca',\n name: 'Catalan'\n }, {\n key: 'cs',\n name: 'Čeština'\n }, {\n key: 'es',\n name: 'Español'\n }, {\n key: 'fr',\n name: 'Français'\n }, {\n key: 'ja',\n name: '日本語'\n }, {\n key: 'nl',\n name: 'Nederlands'\n }, {\n key: 'nb',\n name: 'Norsk Bokmål'\n }, {\n key: 'pl',\n name: 'Polski'\n }, {\n key: {\n 'pt-BR': {\n name: 'Português brasileiro'\n }\n }\n }, {\n key: 'ru',\n name: 'Русский'\n }\n ];\n }).property(),\n saveLocale: function(event) {\n return this.get('user').updateLocale($('#locale').val());\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/profile"
|
||
),minispade.register("views/repo","(function() {(function() {\nminispade.require('views/repo/list');\nminispade.require('views/repo/show');\n\n}).call(this);\n\n})();\n//@ sourceURL=views/repo"
|
||
),minispade.register("views/repo/list","(function() {(function() {\n\n this.Travis.reopen({\n RepositoriesView: Travis.View.extend({\n templateName: 'repos/list',\n toggleInfo: function(event) {\n return $('#repositories').toggleClass('open');\n }\n }),\n RepositoriesListView: Em.CollectionView.extend({\n elementId: 'repositories',\n tagName: 'ul',\n emptyView: Ember.View.extend({\n template: Ember.Handlebars.compile('<div class=\"loading\"><span>Loading</span></div>')\n }),\n itemViewClass: Travis.View.extend({\n repositoryBinding: 'content',\n classNames: ['repository'],\n classNameBindings: ['color', 'selected'],\n selectedBinding: 'repository.selected',\n color: (function() {\n return Travis.Helpers.colorForResult(this.get('repository.lastBuildResult'));\n }).property('repository.lastBuildResult'),\n urlRepository: (function() {\n return Travis.Urls.repository(this.get('repository.slug'));\n }).property('repository.slug'),\n urlLastBuild: (function() {\n return Travis.Urls.build(this.get('repository.slug'), this.get('repository.lastBuildId'));\n }).property('repository.slug', 'repository.lastBuildId')\n })\n }),\n ReposListTabsView: Travis.View.extend({\n templateName: 'repos/list/tabs',\n tabBinding: 'controller.tab',\n activate: function(event) {\n return this.get('controller').activate(event.target.name);\n },\n classRecent: (function() {\n if (this.get('tab') === 'recent') {\n return 'active';\n }\n }).property('tab'),\n classOwned: (function() {\n var classes;\n classes = [];\n if (this.get('tab') === 'owned') {\n classes.push('active');\n }\n if (Travis.app.get('currentUser')) {\n classes.push('display-inline');\n }\n return classes.join(' ');\n }).property('tab', 'Travis.app.currentUser'),\n classSearch: (function() {\n if (this.get('tab') === 'search') {\n return 'active';\n }\n }).property('tab')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/repo/list"
|
||
),minispade.register("views/repo/show","(function() {(function() {\n\n this.Travis.reopen({\n RepositoryView: Travis.View.extend({\n templateName: 'repos/show',\n repositoryBinding: 'controller.repository',\n \"class\": (function() {\n if (!this.get('repository.isLoaded')) {\n return 'loading';\n }\n }).property('repository.isLoaded'),\n urlGithub: (function() {\n return Travis.Urls.githubRepository(this.get('repository.slug'));\n }).property('repository.slug'),\n urlGithubWatchers: (function() {\n return Travis.Urls.githubWatchers(this.get('repository.slug'));\n }).property('repository.slug'),\n urlGithubNetwork: (function() {\n return Travis.Urls.githubNetwork(this.get('repository.slug'));\n }).property('repository.slug')\n }),\n RepoShowTabsView: Travis.View.extend({\n templateName: 'repos/show/tabs',\n repositoryBinding: 'controller.repository',\n buildBinding: 'controller.build',\n jobBinding: 'controller.job',\n tabBinding: 'controller.tab',\n classCurrent: (function() {\n if (this.get('tab') === 'current') {\n return 'active';\n }\n }).property('tab'),\n classBuilds: (function() {\n if (this.get('tab') === 'builds') {\n return 'active';\n }\n }).property('tab'),\n classPullRequests: (function() {\n if (this.get('tab') === 'pull_requests') {\n return 'active';\n }\n }).property('tab'),\n classBranches: (function() {\n if (this.get('tab') === 'branches') {\n return 'active';\n }\n }).property('tab'),\n classBuild: (function() {\n var classes, tab;\n tab = this.get('tab');\n classes = [];\n if (tab === 'build') {\n classes.push('active');\n }\n if (tab === 'build' || tab === 'job') {\n classes.push('display-inline');\n }\n return classes.join(' ');\n }).property('tab'),\n classJob: (function() {\n if (this.get('tab') === 'job') {\n return 'active display-inline';\n }\n }).property('tab')\n }),\n RepoShowToolsView: Travis.View.extend({\n templateName: 'repos/show/tools',\n repositoryBinding: 'controller.repository',\n buildBinding: 'controller.build',\n jobBinding: 'controller.job',\n tabBinding: 'controller.tab',\n toggle: function() {\n var element;\n element = $('#tools .pane').toggleClass('display-inline');\n return this.set('active', element.hasClass('display-inline'));\n },\n branches: (function() {\n if (this.get('active')) {\n return this.get('repository.branches');\n }\n }).property('active', 'repository.branches'),\n urlRepository: (function() {\n return 'https://' + location.host + Travis.Urls.repository(this.get('repository.slug'));\n }).property('repository.slug'),\n urlStatusImage: (function() {\n return Travis.Urls.statusImage(this.get('repository.slug'), this.get('branch.commit.branch'));\n }).property('repository.slug', 'branch'),\n markdownStatusImage: (function() {\n return \"[) + \")](\" + (this.get('urlRepository')) + \")\";\n }).property('urlStatusImage'),\n textileStatusImage: (function() {\n return \"!\" + (this.get('urlStatusImage')) + \"!:\" + (this.get('urlRepository'));\n }).property('urlStatusImage'),\n rdocStatusImage: (function() {\n return \"{<img src=\\\"\" + (this.get('urlStatusImage')) + \"\\\" alt=\\\"Build Status\\\" />}[\" + (this.get('urlRepository')) + \"]\";\n }).property('urlStatusImage')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/repo/show"
|
||
),minispade.register("views/sidebar","(function() {(function() {\n\n this.Travis.reopen({\n SidebarView: Travis.View.extend({\n templateName: 'layouts/sidebar',\n DecksView: Em.View.extend({\n templateName: \"sponsors/decks\",\n controller: Travis.SponsorsController.create({\n perPage: 1\n }),\n didInsertElement: function() {\n var controller;\n controller = this.get('controller');\n if (!controller.get('content')) {\n Travis.app.get('router.sidebarController').tickables.push(controller);\n controller.set('content', Travis.Sponsor.decks());\n }\n return this._super.apply(this, arguments);\n }\n }),\n LinksView: Em.View.extend({\n templateName: \"sponsors/links\",\n controller: Travis.SponsorsController.create({\n perPage: 6\n }),\n didInsertElement: function() {\n var controller;\n controller = this.get('controller');\n if (!controller.get('content')) {\n controller.set('content', Travis.Sponsor.links());\n Travis.app.get('router.sidebarController').tickables.push(controller);\n }\n return this._super.apply(this, arguments);\n }\n }),\n WorkersView: Em.View.extend({\n templateName: 'workers/list',\n controller: Travis.WorkersController.create(),\n didInsertElement: function() {\n this.set('controller.content', Travis.Worker.find());\n return this._super.apply(this, arguments);\n }\n }),\n QueuesView: Em.View.extend({\n templateName: 'queues/list',\n controller: Travis.QueuesController.create(),\n didInsertElement: function() {\n var queue, queues;\n queues = (function() {\n var _i, _len, _ref, _results;\n _ref = Travis.QUEUES;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n queue = _ref[_i];\n _results.push(Em.ArrayController.create({\n content: Travis.Job.queued(queue.name),\n id: \"queue_\" + queue.name,\n name: queue.display\n }));\n }\n return _results;\n })();\n this.set('controller.content', queues);\n return this._super.apply(this, arguments);\n }\n })\n }),\n WorkersView: Travis.View.extend({\n toggleWorkers: function(event) {\n var handle;\n handle = $(event.target).toggleClass('open');\n if (handle.hasClass('open')) {\n return $('#workers li').addClass('open');\n } else {\n return $('#workers li').removeClass('open');\n }\n }\n }),\n WorkersListView: Travis.View.extend({\n toggle: function(event) {\n return $(event.target).closest('li').toggleClass('open');\n }\n }),\n WorkersItemView: Travis.View.extend({\n display: (function() {\n var name, number, payload, repo, state;\n name = (this.get('worker.name') || '').replace('travis-', '');\n state = this.get('worker.state');\n payload = this.get('worker.payload');\n if (state === 'working' && payload !== void 0) {\n repo = payload.repository.slug;\n number = ' #' + payload.build.number;\n return (\"<span class='name'>\" + name + \": \" + repo + \"</span> \" + number).htmlSafe();\n } else {\n return \"\" + name + \": \" + state;\n }\n }).property('worker.state')\n }),\n QueueItemView: Travis.View.extend({\n tagName: 'li',\n urlJob: (function() {\n return Travis.Urls.job(this.get('job.repository.slug'), this.get('job.id'));\n }).property('job.repository.slug', 'job.id')\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/sidebar"
|
||
),minispade.register("views/stats",'(function() {(function() {\n\n this.Travis.reopen({\n StatsView: Travis.View.extend({\n templateName: \'stats/show\',\n didInsertElement: function() {},\n renderChart: function(config) {\n var chart;\n chart = new Highcharts.Chart(config);\n return this.fetch(config.source, function(data) {\n var stats;\n stats = (function() {\n var _i, _len, _ref, _results;\n _ref = data.stats;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n stats = _ref[_i];\n _results.push(config.map(stats));\n }\n return _results;\n })();\n return chart.series[0].setData(stats);\n });\n },\n fetch: function(url, callback) {\n return $.ajax({\n type: \'GET\',\n url: url,\n accepts: {\n json: \'application/vnd.travis-ci.2+json\'\n },\n success: callback\n });\n },\n CHARTS: {\n repos: {\n source: \'/api/stats/repos\',\n total: 0,\n map: function(data) {\n return [Date.parse(data.date), this.total += parseInt(data.count)];\n },\n chart: {\n renderTo: "repos_stats"\n },\n title: {\n text: "Total Projects/Repositories"\n },\n xAxis: {\n type: "datetime",\n dateTimeLabelFormats: {\n month: "%e. %b",\n year: "%b"\n }\n },\n yAxis: {\n title: {\n text: "Count"\n },\n min: 0\n },\n tooltip: {\n formatter: function() {\n return Highcharts.dateFormat("%e. %b", this.x) + ": " + this.y + " repos";\n }\n },\n series: [\n {\n name: "Repository Growth",\n data: []\n }\n ]\n },\n builds: {\n source: \'/api/stats/tests\',\n map: function(data) {\n return [Date.parse(data.date), parseInt(data.count)];\n },\n chart: {\n renderTo: "tests_stats",\n type: "column"\n },\n title: {\n text: "Build Count"\n },\n subtitle: {\n text: "last month"\n },\n xAxis: {\n type: "datetime",\n dateTimeLabelFormats: {\n month: "%e. %b",\n year: "%b"\n }\n },\n yAxis: {\n title: {\n text: "Count"\n },\n min: 0\n },\n tooltip: {\n formatter: function() {\n return Highcharts.dateFormat("%e. %b", this.x) + ": " + this.y + " builds";\n }\n },\n series: [\n {\n name: "Total Builds",\n data: []\n }\n ]\n }\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/stats'
|
||
),minispade.register("views/top","(function() {(function() {\n\n this.Travis.reopen({\n TopView: Travis.View.extend({\n templateName: 'layouts/top',\n tabBinding: 'controller.tab',\n userBinding: 'controller.user',\n gravatarUrl: (function() {\n return \"\" + location.protocol + \"//www.gravatar.com/avatar/\" + (this.get('user.gravatarId')) + \"?s=24&d=mm\";\n }).property('user.gravatarId'),\n classHome: (function() {\n if (this.get('tab') === 'home') {\n return 'active';\n }\n }).property('tab'),\n classStats: (function() {\n if (this.get('tab') === 'stats') {\n return 'active';\n }\n }).property('tab'),\n classProfile: (function() {\n var classes;\n classes = ['profile'];\n if (this.get('tab') === 'profile') {\n classes.push('active');\n }\n classes.push(Travis.app.get('authState'));\n return classes.join(' ');\n }).property('tab', 'Travis.app.authState'),\n showProfile: function() {\n return $('#top .profile ul').show();\n },\n hideProfile: function() {\n return $('#top .profile ul').hide();\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=views/top"
|
||
),minispade.register("data/sponsors",'(function() {(function() {\n\n this.Travis.SPONSORS = [\n {\n type: \'platinum\',\n url: "http://www.wooga.com",\n image: "wooga-205x130.png"\n }, {\n type: \'platinum\',\n url: "http://bendyworks.com",\n image: "bendyworks-205x130.png"\n }, {\n type: \'platinum\',\n url: "http://cloudcontrol.com",\n image: "cloudcontrol-205x130.png"\n }, {\n type: \'platinum\',\n url: "http://xing.de",\n image: "xing-205x130.png"\n }, {\n type: \'gold\',\n url: "http://heroku.com",\n image: "heroku-205x60.png"\n }, {\n type: \'gold\',\n url: "http://soundcloud.com",\n image: "soundcloud-205x60.png"\n }, {\n type: \'gold\',\n url: "http://nedap.com",\n image: "nedap-205x60.png"\n }, {\n type: \'gold\',\n url: "http://mongohq.com",\n image: "mongohq-205x60.png"\n }, {\n type: \'gold\',\n url: "http://zweitag.de",\n image: "zweitag-205x60.png"\n }, {\n type: \'gold\',\n url: "http://kanbanery.com",\n image: "kanbanery-205x60.png"\n }, {\n type: \'gold\',\n url: "http://ticketevolution.com",\n image: "ticketevolution-205x60.jpg"\n }, {\n type: \'gold\',\n url: "http://plan.io/travis",\n image: "planio-205x60.png"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://cobot.me\\">Cobot</a><span>: The one tool to run your coworking space</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://jumpstartlab.com\\">JumpstartLab</a><span>: We build developers</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://evilmartians.com\\">Evil Martians</a><span>: Agile Ruby on Rails development</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://zendesk.com\\">Zendesk</a><span>: Love your helpdesk</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://stripe.com\\">Stripe</a><span>: Payments for developers</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://basho.com\\">Basho</a><span>: We make Riak!</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://thinkrelevance.com\\">Relevance</a><span>: We deliver software solutions</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://mindmatters.de\\">Mindmatters</a><span>: Software für Menschen</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://amenhq.com\\">Amen</a><span>: The best and worst of everything</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://site5.com\\">Site5</a><span>: Premium Web Hosting Solutions</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://www.crowdint.com\\">Crowd Interactive</a><span>: Leading Rails consultancy in Mexico</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://www.atomicobject.com/detroit\\">Atomic Object</a><span>: Work with really smart people</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://codeminer.com.br\\">Codeminer</a><span>: smart services for your startup</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://cloudant.com\\">Cloudant</a><span>: grow into your data layer, not out of it</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://gidsy.com\\">Gidsy</a><span>: Explore, organize & book unique things to do!</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://5apps.com\\">5apps</a><span>: Package & deploy HTML5 apps automatically</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://meltmedia.com\\">Meltmedia</a><span>: We are Interactive Superheroes</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://www.fngtps.com\\">Fingertips</a><span> offers design and development services</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://www.engineyard.com\\">Engine Yard</a><span>: Build epic apps, let us handle the rest</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://malwarebytes.org\\">Malwarebytes</a><span>: Defeat Malware once and for all.</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://readmill.com\\">Readmill</a><span>: The best reading app on the iPad.</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://www.mdsol.com\\">Medidata</a><span>: clinical tech improving quality of life</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://coderwall.com/teams/4f27194e973bf000040005f0\\">ESM</a><span>: Japan\'s best agile Ruby/Rails consultancy</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://twitter.com\\">Twitter</a><span>: instantly connects people everywhere</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://agileanimal.com\\">AGiLE ANiMAL</a><span>: we <3 Travis CI.</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://tupalo.com\\">Tupalo</a><span>: Discover, review & share local businesses.</span>"\n }\n ];\n\n}).call(this);\n\n})();\n//@ sourceURL=data/sponsors'
|
||
),minispade.register("emoij","(function() {(function() {\n\n this.EmojiDictionary = ['-1', '0', '1', '109', '2', '3', '4', '5', '6', '7', '8', '8ball', '9', 'a', 'ab', 'airplane', 'alien', 'ambulance', 'angel', 'anger', 'angry', 'apple', 'aquarius', 'aries', 'arrow_backward', 'arrow_down', 'arrow_forward', 'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right', 'arrow_up', 'arrow_upper_left', 'arrow_upper_right', 'art', 'astonished', 'atm', 'b', 'baby', 'baby_chick', 'baby_symbol', 'balloon', 'bamboo', 'bank', 'barber', 'baseball', 'basketball', 'bath', 'bear', 'beer', 'beers', 'beginner', 'bell', 'bento', 'bike', 'bikini', 'bird', 'birthday', 'black_square', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'boot', 'bouquet', 'bow', 'bowtie', 'boy', 'bread', 'briefcase', 'broken_heart', 'bug', 'bulb', 'bullettrain_front', 'bullettrain_side', 'bus', 'busstop', 'cactus', 'cake', 'calling', 'camel', 'camera', 'cancer', 'capricorn', 'car', 'cat', 'cd', 'chart', 'checkered_flag', 'cherry_blossom', 'chicken', 'christmas_tree', 'church', 'cinema', 'city_sunrise', 'city_sunset', 'clap', 'clapper', 'clock1', 'clock10', 'clock11', 'clock12', 'clock2', 'clock3', 'clock4', 'clock5', 'clock6', 'clock7', 'clock8', 'clock9', 'closed_umbrella', 'cloud', 'clubs', 'cn', 'cocktail', 'coffee', 'cold_sweat', 'computer', 'confounded', 'congratulations', 'construction', 'construction_worker', 'convenience_store', 'cool', 'cop', 'copyright', 'couple', 'couple_with_heart', 'couplekiss', 'cow', 'crossed_flags', 'crown', 'cry', 'cupid', 'currency_exchange', 'curry', 'cyclone', 'dancer', 'dancers', 'dango', 'dart', 'dash', 'de', 'department_store', 'diamonds', 'disappointed', 'dog', 'dolls', 'dolphin', 'dress', 'dvd', 'ear', 'ear_of_rice', 'egg', 'eggplant', 'egplant', 'eight_pointed_black_star', 'eight_spoked_asterisk', 'elephant', 'email', 'es', 'european_castle', 'exclamation', 'eyes', 'factory', 'fallen_leaf', 'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel', 'finnadie', 'fire', 'fire_engine', 'fireworks', 'fish', 'fist', 'flags', 'flushed', 'football', 'fork_and_knife', 'fountain', 'four_leaf_clover', 'fr', 'fries', 'frog', 'fuelpump', 'gb', 'gem', 'gemini', 'ghost', 'gift', 'gift_heart', 'girl', 'goberserk', 'godmode', 'golf', 'green_heart', 'grey_exclamation', 'grey_question', 'grin', 'guardsman', 'guitar', 'gun', 'haircut', 'hamburger', 'hammer', 'hamster', 'hand', 'handbag', 'hankey', 'hash', 'headphones', 'heart', 'heart_decoration', 'heart_eyes', 'heartbeat', 'heartpulse', 'hearts', 'hibiscus', 'high_heel', 'horse', 'hospital', 'hotel', 'hotsprings', 'house', 'hurtrealbad', 'icecream', 'id', 'ideograph_advantage', 'imp', 'information_desk_person', 'iphone', 'it', 'jack_o_lantern', 'japanese_castle', 'joy', 'jp', 'key', 'kimono', 'kiss', 'kissing_face', 'kissing_heart', 'koala', 'koko', 'kr', 'leaves', 'leo', 'libra', 'lips', 'lipstick', 'lock', 'loop', 'loudspeaker', 'love_hotel', 'mag', 'mahjong', 'mailbox', 'man', 'man_with_gua_pi_mao', 'man_with_turban', 'maple_leaf', 'mask', 'massage', 'mega', 'memo', 'mens', 'metal', 'metro', 'microphone', 'minidisc', 'mobile_phone_off', 'moneybag', 'monkey', 'monkey_face', 'moon', 'mortar_board', 'mount_fuji', 'mouse', 'movie_camera', 'muscle', 'musical_note', 'nail_care', 'necktie', 'new', 'no_good', 'no_smoking', 'nose', 'notes', 'o', 'o2', 'ocean', 'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman', 'older_man', 'older_woman', 'open_hands', 'ophiuchus', 'palm_tree', 'parking', 'part_alternation_mark', 'pencil', 'penguin', 'pensive', 'persevere', 'person_with_blond_hair', 'phone', 'pig', 'pill', 'pisces', 'plus1', 'point_down', 'point_left', 'point_right', 'point_up', 'point_up_2', 'police_car', 'poop', 'post_office', 'postbox', 'pray', 'princess', 'punch', 'purple_heart', 'question', 'rabbit', 'racehorse', 'radio', 'rage', 'rage1', 'rage2', 'rage3', 'rage4', 'rainbow', 'raised_hands', 'ramen', 'red_car', 'red_circle', 'registered', 'relaxed', 'relieved', 'restroom', 'rewind', 'ribbon', 'rice', 'rice_ball', 'rice_cracker', 'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rose', 'ru', 'runner', 'sa', 'sagittarius', 'sailboat', 'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone', 'school', 'school_satchel', 'scissors', 'scorpius', 'scream', 'seat', 'secret', 'shaved_ice', 'sheep', 'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'signal_strength', 'six_pointed_star', 'ski', 'skull', 'sleepy', 'slot_machine', 'smile', 'smiley', 'smirk', 'smoking', 'snake', 'snowman', 'sob', 'soccer', 'space_invader', 'spades', 'spaghetti', 'sparkler', 'sparkles', 'speaker', 'speedboat', 'squirrel', 'star', 'star2', 'stars', 'station', 'statue_of_liberty', 'stew', 'strawberry', 'sunflower', 'sunny', 'sunrise', 'sunrise_over_mountains', 'surfer', 'sushi', 'suspect', 'sweat', 'sweat_drops', 'swimmer', 'syringe', 'tada', 'tangerine', 'taurus', 'taxi', 'tea', 'telephone', 'tennis', 'tent', 'thumbsdown', 'thumbsup', 'ticket', 'tiger', 'tm', 'toilet', 'tokyo_tower', 'tomato', 'tongue', 'top', 'tophat', 'traffic_light', 'train', 'trident', 'trophy', 'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip', 'tv', 'u5272', 'u55b6', 'u6307', 'u6708', 'u6709', 'u6e80', 'u7121', 'u7533', 'u7a7a', 'umbrella', 'unamused', 'underage', 'unlock', 'up', 'us', 'v', 'vhs', 'vibration_mode', 'virgo', 'vs', 'walking', 'warning', 'watermelon', 'wave', 'wc', 'wedding', 'whale', 'wheelchair', 'white_square', 'wind_chime', 'wink', 'wink2', 'wolf', 'woman', 'womans_hat', 'womens', 'x', 'yellow_heart', 'zap', 'zzz'];\n\n}).call(this);\n\n})();\n//@ sourceURL=emoij"
|
||
),minispade.register("ext/jquery","(function() {(function() {\n\n $.fn.extend({\n outerHtml: function() {\n return $(this).wrap('<div></div>').parent().html();\n },\n outerElement: function() {\n return $($(this).outerHtml()).empty();\n },\n flash: function() {\n return Utils.flash(this);\n },\n unflash: function() {\n return Utils.unflash(this);\n },\n filterLog: function() {\n this.deansi();\n return this.foldLog();\n },\n deansi: function() {\n return this.html(Utils.deansi(this.html()));\n },\n foldLog: function() {\n return this.html(Utils.foldLog(this.html()));\n },\n unfoldLog: function() {\n return this.html(Utils.unfoldLog(this.html()));\n },\n updateTimes: function() {\n return Utils.updateTimes(this);\n },\n activateTab: function(tab) {\n return Utils.activateTab(this, tab);\n },\n timeInWords: function() {\n return $(this).each(function() {\n return $(this).text(Utils.timeInWords(parseInt($(this).attr('title'))));\n });\n },\n updateGithubStats: function(repository) {\n return Utils.updateGithubStats(repository, $(this));\n }\n });\n\n $.extend({\n isEmpty: function(obj) {\n if ($.isArray(obj)) {\n return !obj.length;\n } else if ($.isObject(obj)) {\n return !$.keys(obj).length;\n } else {\n return !obj;\n }\n },\n isObject: function(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n },\n keys: function(obj) {\n var keys;\n keys = [];\n $.each(obj, function(key) {\n return keys.push(key);\n });\n return keys;\n },\n values: function(obj) {\n var values;\n values = [];\n $.each(obj, function(key, value) {\n return values.push(value);\n });\n return values;\n },\n underscore: function(string) {\n return string[0].toLowerCase() + string.substring(1).replace(/([A-Z])?/g, function(match, chr) {\n if (chr) {\n return \"_\" + (chr.toUpperCase());\n } else {\n return '';\n }\n });\n },\n camelize: function(string, uppercase) {\n string = uppercase === false ? $.underscore(string) : $.capitalize(string);\n return string.replace(/_(.)?/g, function(match, chr) {\n if (chr) {\n return chr.toUpperCase();\n } else {\n return '';\n }\n });\n },\n capitalize: function(string) {\n return string[0].toUpperCase() + string.substring(1);\n },\n compact: function(object) {\n return $.grep(object, function(value) {\n return !!value;\n });\n },\n all: function(array, callback) {\n var args, i;\n args = Array.prototype.slice.apply(arguments);\n callback = args.pop();\n array = args.pop() || this;\n i = 0;\n while (i < array.length) {\n if (callback(array[i])) {\n return false;\n }\n i++;\n }\n return true;\n },\n detect: function(array, callback) {\n var args, i;\n args = Array.prototype.slice.apply(arguments);\n callback = args.pop();\n array = args.pop() || this;\n i = 0;\n while (i < array.length) {\n if (callback(array[i])) {\n return array[i];\n }\n i++;\n }\n },\n select: function(array, callback) {\n var args, i, result;\n args = Array.prototype.slice.apply(arguments);\n callback = args.pop();\n array = args.pop() || this;\n result = [];\n i = 0;\n while (i < array.length) {\n if (callback(array[i])) {\n result.push(array[i]);\n }\n i++;\n }\n return result;\n },\n slice: function(object, key) {\n var keys, result;\n keys = Array.prototype.slice.apply(arguments);\n object = (typeof keys[0] === 'object' ? keys.shift() : this);\n result = {};\n for (key in object) {\n if (keys.indexOf(key) > -1) {\n result[key] = object[key];\n }\n }\n return result;\n },\n only: function(object) {\n var key, keys, result;\n keys = Array.prototype.slice.apply(arguments);\n object = (typeof keys[0] === 'object' ? keys.shift() : this);\n result = {};\n for (key in object) {\n if (keys.indexOf(key) !== -1) {\n result[key] = object[key];\n }\n }\n return result;\n },\n except: function(object) {\n var key, keys, result;\n keys = Array.prototype.slice.apply(arguments);\n object = (typeof keys[0] === 'object' ? keys.shift() : this);\n result = {};\n for (key in object) {\n if (keys.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n },\n intersect: function(array, other) {\n return array.filter(function(element) {\n return other.indexOf(element) !== -1;\n });\n },\n map: function(elems, callback, arg) {\n var i, isArray, key, length, ret, value;\n value = void 0;\n key = void 0;\n ret = [];\n i = 0;\n length = elems.length;\n isArray = elems instanceof jQuery || length !== void 0 && typeof length === 'number' && (length > 0 && elems[0] && elems[length - 1]) || length === 0 || jQuery.isArray(elems);\n if (isArray) {\n while (i < length) {\n value = callback(elems[i], i, arg);\n if (value != null) {\n ret[ret.length] = value;\n }\n i++;\n }\n } else {\n for (key in elems) {\n value = callback(elems[key], key, arg);\n if (value != null) {\n ret[ret.length] = value;\n }\n }\n }\n return ret.concat.apply([], ret);\n },\n shuffle: function(array) {\n var current, tmp, top;\n array = array.slice();\n top = array.length;\n while (top && --top) {\n current = Math.floor(Math.random() * (top + 1));\n tmp = array[current];\n array[current] = array[top];\n array[top] = tmp;\n }\n return array;\n },\n truncate: function(string, length) {\n if (string.length > length) {\n return string.trim().substring(0, length) + '...';\n } else {\n return string;\n }\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=ext/jquery"
|
||
),minispade.register("travis/ajax","(function() {(function() {\n\n jQuery.support.cors = true;\n\n this.Travis.Ajax = Ember.Mixin.create({\n DEFAULT_OPTIONS: {\n accepts: {\n json: 'application/vnd.travis-ci.2+json'\n }\n },\n post: function(url, data, callback) {\n return this.ajax(url, 'post', {\n data: data,\n success: callback\n });\n },\n ajax: function(url, method, options) {\n var accessToken, endpoint, _base, _ref;\n endpoint = Travis.config.api_endpoint || '';\n options = options || {};\n if (accessToken = (_ref = Travis.app) != null ? _ref.get('auth.accessToken') : void 0) {\n options.headers || (options.headers = {});\n (_base = options.headers)['Authorization'] || (_base['Authorization'] = \"token \" + accessToken);\n }\n options.url = \"\" + endpoint + url;\n options.type = method;\n options.dataType = 'json';\n options.contentType = 'application/json; charset=utf-8';\n options.context = this;\n if (options.data && method !== 'GET' && method !== 'get') {\n options.data = JSON.stringify(options.data);\n }\n return $.ajax($.extend(options, this.DEFAULT_OPTIONS));\n }\n });\n\n this.Travis.Ajax.instance = Em.Object.create(this.Travis.Ajax);\n\n $.extend(this.Travis, {\n get: function(url, callback) {\n return this.ajax(url, 'get', {\n success: callback\n });\n },\n post: function(url, data, callback) {\n return this.Ajax.instance.post(url, data, callback);\n },\n ajax: function(url, method, options) {\n return this.Ajax.instance.ajax(url, method, options);\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=travis/ajax"
|
||
),minispade.register("travis/expandable_record_array"
|
||
,"(function() {(function() {\n\n Travis.ExpandableRecordArray = DS.RecordArray.extend({\n isLoaded: false,\n isLoading: false,\n load: function(array) {\n var observer, self;\n this.set('isLoading', true);\n self = this;\n observer = function() {\n var content;\n if (this.get('isLoaded')) {\n content = self.get('content');\n array.removeObserver('isLoaded', observer);\n array.forEach(function(record) {\n return self.pushObject(record);\n });\n self.set('isLoading', false);\n return self.set('isLoaded', true);\n }\n };\n return array.addObserver('isLoaded', observer);\n },\n pushObject: function(record) {\n var clientId, id, ids;\n ids = this.get('content');\n id = record.get('id');\n clientId = record.get('clientId');\n if (ids.contains(clientId)) {\n return;\n }\n return ids.pushObject(clientId);\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=travis/expandable_record_array"
|
||
),minispade.register("travis/log","(function() {(function() {\n\n this.Travis.Log = {\n FOLDS: {\n schema: /(<p.*?\\/a>\\$ (?:bundle exec )?rake( db:create)? db:schema:load[\\s\\S]*?<p.*?\\/a>-- assume_migrated_upto_version[\\s\\S]*?<\\/p>\\n<p.*?\\/a>.*<\\/p>)/g,\n migrate: /(<p.*?\\/a>\\$ (?:bundle exec )?rake( db:create)? db:migrate[\\s\\S]*== +\\w+: migrated \\(.*\\) =+)/g,\n bundle: /(<p.*?\\/a>\\$ bundle install.*<\\/p>\\n(<p.*?\\/a>(Updating|Using|Installing|Fetching|remote:|Receiving|Resolving).*?<\\/p>\\n|<p.*?\\/a><\\/p>\\n)*)/g,\n exec: /(<p.*?\\/a>[\\/\\w]*.rvm\\/rubies\\/[\\S]*?\\/(ruby|rbx|jruby) .*?<\\/p>)/g\n },\n filter: function(log) {\n log = this.escape(log);\n log = this.deansi(log);\n log = log.replace(/\\r/g, '');\n log = this.number(log);\n log = this.fold(log);\n log = log.replace(/\\n/g, '');\n return log;\n },\n stripPaths: function(log) {\n return log.replace(/\\/home\\/vagrant\\/builds(\\/[^\\/\\n]+){2}\\//g, '');\n },\n escape: function(log) {\n return Handlebars.Utils.escapeExpression(log);\n },\n escapeRuby: function(log) {\n return log.replace(/#<(\\w+.*?)>/, '#<$1>');\n },\n number: function(log) {\n var result;\n result = '';\n $.each(log.trim().split('\\n'), function(ix, line) {\n var number, path;\n number = ix + 1;\n path = Travis.Log.location().substr(1).replace(/\\/L\\d+/, '') + '/L' + number;\n return result += '<p><a href=\\'#%@\\' id=\\'%@\\' name=\\'L%@\\'>%@</a>%@</p>\\n'.fmt(path, path, number, number, line);\n });\n return result.trim();\n },\n deansi: function(log) {\n var ansi, text;\n log = log.replace(/\\r\\r/g, '\\r').replace(/\\033\\[K\\r/g, '\\r').replace(/^.*\\r(?!$)/gm, '').replace(/\\[2K/g, '').replace(/\\033\\(B/g, \"\");\n ansi = ansiparse(log);\n text = '';\n ansi.forEach(function(part) {\n var classes;\n classes = [];\n part.foreground && classes.push(part.foreground);\n part.background && classes.push('bg-' + part.background);\n part.bold && classes.push('bold');\n part.italic && classes.push('italic');\n return text += (classes.length ? '<span class=\\'' + classes.join(' ') + '\\'>' + part.text + '</span>' : part.text);\n });\n return text.replace(/\\033/g, '');\n },\n fold: function(log) {\n log = this.unfold(log);\n $.each(Travis.Log.FOLDS, function(name, pattern) {\n return log = log.replace(pattern, function() {\n return '<div class=\\'fold ' + name + '\\'>' + arguments[1].trim() + '</div>';\n });\n });\n return log;\n },\n unfold: function(log) {\n return log.replace(/<div class='fold[^']*'>([\\s\\S]*?)<\\/div>/g, '$1\\n');\n },\n location: function() {\n return window.location.hash;\n }\n };\n\n}).call(this);\n\n})();\n//@ sourceURL=travis/log"
|
||
),minispade.register("travis/model","(function() {(function() {\n\n this.Travis.Model = DS.Model.extend({\n primaryKey: 'id',\n id: DS.attr('number'),\n refresh: function() {\n var id;\n id = this.get('id');\n if (id) {\n return Travis.app.store.adapter.find(Travis.app.store, this.constructor, id);\n }\n },\n update: function(attrs) {\n var _this = this;\n $.each(attrs, function(key, value) {\n if (key !== 'id') {\n return _this.set(key, value);\n }\n });\n return this;\n }\n });\n\n this.Travis.Model.reopenClass({\n find: function() {\n if (arguments.length === 0) {\n return Travis.app.store.findAll(this);\n } else {\n return this._super.apply(this, arguments);\n }\n },\n filter: function(callback) {\n return Travis.app.store.filter(this, callback);\n },\n load: function(attrs) {\n return Travis.app.store.load(this, attrs);\n },\n buildURL: function(suffix) {\n var base, url;\n base = this.url || this.pluralName();\n Ember.assert('Base URL (' + base + ') must not start with slash', !base || base.toString().charAt(0) !== '/');\n Ember.assert('URL suffix (' + suffix + ') must not start with slash', !suffix || suffix.toString().charAt(0) !== '/');\n url = [base];\n if (suffix !== void 0) {\n url.push(suffix);\n }\n return url.join('/');\n },\n singularName: function() {\n var name, parts;\n parts = this.toString().split('.');\n name = parts[parts.length - 1];\n return name.replace(/([A-Z])/g, '_$1').toLowerCase().slice(1);\n },\n pluralName: function() {\n return Travis.app.store.adapter.pluralize(this.singularName());\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=travis/model"
|
||
),minispade.register("travis/ticker","(function() {(function() {\n\n this.Travis.Ticker = Ember.Object.extend({\n init: function() {\n if (this.get('interval') !== -1) {\n return this.schedule();\n }\n },\n tick: function() {\n var context, target, targets, _i, _len;\n context = this.get('context');\n targets = this.get('targets') || [this.get('target')];\n for (_i = 0, _len = targets.length; _i < _len; _i++) {\n target = targets[_i];\n if (context) {\n target = context.get(target);\n }\n if (target) {\n target.tick();\n }\n }\n return this.schedule();\n },\n schedule: function() {\n var _this = this;\n return Ember.run.later((function() {\n return _this.tick();\n }), this.get('interval') || Travis.app.TICK_INTERVAL);\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=travis/ticker"
|
||
),minispade.register("travis","(function() {(function() {\nminispade.require('ext/jquery');\nminispade.require('ext/ember/namespace');\n\n this.Travis = Em.Namespace.create({\n config: {\n api_endpoint: $('meta[rel=\"travis.api_endpoint\"]').attr('href')\n },\n CONFIG_KEYS: ['rvm', 'gemfile', 'env', 'jdk', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala'],\n ROUTES: {\n 'profile/:login/me': ['profile', 'user'],\n 'profile/:login': ['profile', 'hooks'],\n 'profile': ['profile', 'hooks'],\n 'stats': ['stats', 'show'],\n ':owner/:name/jobs/:id/:line': ['home', 'job'],\n ':owner/:name/jobs/:id': ['home', 'job'],\n ':owner/:name/builds/:id': ['home', 'build'],\n ':owner/:name/builds': ['home', 'builds'],\n ':owner/:name/pull_requests': ['home', 'pullRequests'],\n ':owner/:name/branches': ['home', 'branches'],\n ':owner/:name': ['home', 'current'],\n '': ['home', 'index'],\n '#': ['home', 'index']\n },\n QUEUES: [\n {\n name: 'common',\n display: 'Common'\n }, {\n name: 'php',\n display: 'PHP, Perl and Python'\n }, {\n name: 'node_js',\n display: 'Node.js'\n }, {\n name: 'jvmotp',\n display: 'JVM and Erlang'\n }, {\n name: 'rails',\n display: 'Rails'\n }, {\n name: 'spree',\n display: 'Spree'\n }\n ],\n INTERVALS: {\n sponsors: -1,\n times: -1,\n updateTimes: 1000\n },\n run: function(attrs) {\n var _this = this;\n return $(function() {\n _this.redirectOnHashbang();\n return _this.loadConfig(function(config) {\n var app;\n app = Travis.App.create(attrs || {});\n $.each(Travis, function(key, value) {\n if (value && value.isClass && key !== 'constructor') {\n return app[key] = value;\n }\n });\n _this.app = app;\n _this.store = app.store;\n return app.initialize();\n });\n });\n },\n redirectOnHashbang: function() {\n if (location.hash.slice(0, 2) === '#!') {\n return location.href = location.href.replace('#!/', '');\n }\n },\n loadConfig: function(callback) {\n var _this = this;\n return this.get('/config', function(data) {\n $.extend(_this.config, data.config);\n console.log(\"Connecting to \" + data.config.api_endpoint);\n return callback(data.config);\n });\n }\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=travis"
|
||
),minispade.register("templates",'(function() {\nEmber.TEMPLATES[\'application\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression;\n\n\n stack1 = helpers._triageMustache.call(depth0, "outlet", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'builds/list\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <table id=\\"builds\\" class=\\"list\\">\\n <thead>\\n <tr>\\n <th>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.name", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n <th>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n <th>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.message", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.message", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n <th>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n <th>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.finished_at", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.finished_at", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n </tr>\\n </thead>\\n\\n <tbody>\\n ");\n stack1 = helpers.each.call(depth0, "build", "in", "builds", {hash:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </tbody>\\n </table>\\n <p>\\n ");\n stack1 = helpers.view.call(depth0, "view.ShowMoreButton", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </p>\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'contextBinding\'] = "build";\n stack1 = helpers.view.call(depth0, "Travis.BuildsItemView", {hash:stack1,inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <td class=\\"number\\">\\n <span class=\\"status\\"></span>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "id", {hash:{},inverse:self.noop,fn:self.program(4, program4, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </td>\\n <td class=\\"commit\\">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "view.urlGithubCommit";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers.formatCommit;\n stack1 = foundHelper ? foundHelper.call(depth0, "commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatCommit", "commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n </td>\\n <td class=\\"message\\">\\n ");\n stack1 = {};\n stack1[\'short\'] = "true";\n foundHelper = helpers.formatMessage;\n stack1 = foundHelper ? foundHelper.call(depth0, "commit.message", {hash:stack1,contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatMessage", "commit.message", {hash:stack1,contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </td>\\n <td class=\\"duration\\" ");\n stack1 = {};\n stack1[\'title\'] = "duration";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers.formatDuration;\n stack1 = foundHelper ? foundHelper.call(depth0, "duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatDuration", "duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </td>\\n <td class=\\"finished_at timeago\\" ");\n stack1 = {};\n stack1[\'title\'] = "finishedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "finishedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "finishedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </td>\\n ");\n return buffer;}\nfunction program4(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuild", "", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program6(depth0,data) {\n \n \n data.buffer.push("\\n <div class=\\"loading\\"><span>Loading</span></div>\\n");}\n\n stack1 = helpers[\'if\'].call(depth0, "builds.isLoaded", {hash:{},inverse:self.program(6, program6, data),fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'builds/show\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "loading", {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n \n data.buffer.push("\\n <span>Loading</span>\\n ");}\n\nfunction program4(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dl id=\\"summary\\">\\n <div class=\\"left\\">\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.name", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"number\\">\\n <span class=\\"status\\"></span>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "build.id", {hash:{},inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </dd>\\n <dt class=\\"finished_at_label\\">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.finished_at", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.finished_at", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"finished_at timeago\\" ");\n stack1 = {};\n stack1[\'title\'] = "finishedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.finishedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "build.finishedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"duration\\" ");\n stack1 = {};\n stack1[\'title\'] = "startedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatDuration;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatDuration", "build.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n </div>\\n\\n <div class=\\"right\\">\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"commit\\"><a href=\\"");\n stack1 = helpers.unbound.call(depth0, "urlGithubCommit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\">");\n foundHelper = helpers.formatCommit;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatCommit", "build.commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.compareUrl", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.authorName", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.committerName", {hash:{},inverse:self.noop,fn:self.program(11, program11, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </div>\\n\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.message", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.message", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"message\\">");\n foundHelper = helpers.formatMessage;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.commit.message", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatMessage", "build.commit.message", {hash:{},contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("</dd>\\n\\n ");\n stack1 = helpers.unless.call(depth0, "isMatrix", {hash:{},inverse:self.noop,fn:self.program(13, program13, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </dl>\\n\\n ");\n stack1 = helpers[\'if\'].call(depth0, "build.isMatrix", {hash:{},inverse:self.program(17, program17, data),fn:self.program(15, program15, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuild", "build", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "build.number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n ");\n return buffer;}\n\nfunction program7(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.compare", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.compare", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"compare\\"><a href=\\"");\n stack1 = helpers.unbound.call(depth0, "commit.compareUrl", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\">");\n foundHelper = helpers.pathFrom;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.commit.compareUrl", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "pathFrom", "build.commit.compareUrl", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program9(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.author", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.author", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"author\\"><a href=\\"");\n stack1 = helpers.unbound.call(depth0, "urlAuthor", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\">");\n stack1 = helpers._triageMustache.call(depth0, "build.commit.authorName", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program11(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.committer", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.committer", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"committer\\"><a href=\\"");\n stack1 = helpers.unbound.call(depth0, "urlCommitter", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\">");\n stack1 = helpers._triageMustache.call(depth0, "build.commit.committerName", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program13(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.config", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.config", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"config\\">");\n foundHelper = helpers.formatConfig;\n stack1 = foundHelper ? foundHelper.call(depth0, "build.config", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatConfig", "build.config", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n ");\n return buffer;}\n\nfunction program15(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'jobsBinding\'] = "build.requiredJobs";\n stack1[\'required\'] = "true";\n stack1 = helpers.view.call(depth0, "Travis.JobsView", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n stack1 = {};\n stack1[\'jobsBinding\'] = "build.allowedFailureJobs";\n stack1 = helpers.view.call(depth0, "Travis.JobsView", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\nfunction program17(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'contextBinding\'] = "build.jobs.firstObject";\n stack1 = helpers.view.call(depth0, "Travis.LogView", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\n stack1 = helpers[\'with\'].call(depth0, "view", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'jobs/list\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.required", {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n <thead>\\n <tr>\\n ");\n stack1 = helpers.each.call(depth0, "key", "in", "view.build.configKeys", {hash:{},inverse:self.noop,fn:self.program(6, program6, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </tr>\\n </thead>\\n <tbody>\\n ");\n stack1 = helpers.each.call(depth0, "job", "in", "view.jobs", {hash:{},inverse:self.noop,fn:self.program(8, program8, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </tbody>\\n </table>\\n\\n ");\n stack1 = helpers.unless.call(depth0, "view.required", {hash:{},inverse:self.noop,fn:self.program(14, program14, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <table id=\\"jobs\\" class=\\"list\\">\\n <caption>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.build_matrix", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.build_matrix", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </caption>\\n ");\n return buffer;}\n\nfunction program4(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <table id=\\"allowed_failure_jobs\\" class=\\"list\\">\\n <caption>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.allowed_failures", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.allowed_failures", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n <a title=\\"What\'s this?\\" class=\\"help\\" name=\\"help-allowed_failures\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "popup", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "></a>\\n </caption>\\n ");\n return buffer;}\n\nfunction program6(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <th>");\n stack1 = helpers._triageMustache.call(depth0, "key", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</th>\\n ");\n return buffer;}\n\nfunction program8(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'contextBinding\'] = "job";\n stack1 = helpers.view.call(depth0, "Travis.JobsItemView", {hash:stack1,inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program9(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <td class=\\"number\\">\\n <span class=\\"status\\"></span>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "job.id", {hash:{},inverse:self.noop,fn:self.program(10, program10, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </td>\\n <td class=\\"duration\\" ");\n stack1 = {};\n stack1[\'title\'] = "startedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers.formatDuration;\n stack1 = foundHelper ? foundHelper.call(depth0, "duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatDuration", "duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </td>\\n <td class=\\"finished_at timeago\\" ");\n stack1 = {};\n stack1[\'title\'] = "finishedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "finishedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "finishedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </td>\\n ");\n stack1 = helpers.each.call(depth0, "value", "in", "configValues", {hash:{},inverse:self.noop,fn:self.program(12, program12, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program10(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showJob", "repository", "job", {hash:stack1,contexts:[depth0,depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n ");\n return buffer;}\n\nfunction program12(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <td>");\n stack1 = helpers._triageMustache.call(depth0, "value", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</td>\\n ");\n return buffer;}\n\nfunction program14(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <div id=\\"help-allowed_failures\\" class=\\"popup\\">\\n <h4>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.allowed_failures", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.allowed_failures", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h4>\\n <p>\\n Allowed Failures are items in your build matrix that are allowed to\\n fail without causing the entire build to be shown as failed.\\n </p>\\n <p>\\n You can define allowed failures in the build matrix as follows:\\n </p>\\n <pre>matrix:\\n allow_failures:\\n - rvm: ruby-head</pre>\\n <p>\\n This lets you add in experimental and preparatory builds to test against versions or\\n configurations that you are not ready to officially support.\\n </p>\\n </div>\\n ");\n return buffer;}\n\n stack1 = helpers[\'if\'].call(depth0, "view.jobs.length", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'jobs/log\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <pre id=\\"log\\" class=\\"ansi\\"><a href=\\"#\\" id=\\"tail\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "toggleTailing", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <span class=\\"status\\"></span>\\n <label>Follow logs</label>\\n </a>");\n foundHelper = helpers.formatLog;\n stack1 = foundHelper ? foundHelper.call(depth0, "log.body", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatLog", "log.body", {hash:{},contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("</pre>\\n\\n ");\n stack1 = helpers[\'if\'].call(depth0, "sponsor.name", {hash:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n <a href=\'#\' class=\\"to-top\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "toTop", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">To top</a>\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <p class=\\"sponsor\\">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "builds.messages.sponsored_by", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "builds.messages.sponsored_by", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "sponsor.url";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "sponsor.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n </p>\\n ");\n return buffer;}\n\nfunction program4(depth0,data) {\n \n \n data.buffer.push("\\n <div id=\\"log\\" class=\\"loading\\">\\n <span>Loading</span>\\n </div>\\n");}\n\n stack1 = helpers._triageMustache.call(depth0, "view.logSubscriber", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n");\n stack1 = helpers[\'if\'].call(depth0, "log.isLoaded", {hash:{},inverse:self.program(4, program4, data),fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'jobs/show\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "job.isLoaded", {hash:{},inverse:self.program(11, program11, data),fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <div ");\n stack1 = {};\n stack1[\'class\'] = "view.color";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <dl id=\\"summary\\">\\n <div class=\\"left\\">\\n <dt>Job</dt>\\n <dd class=\\"number\\">\\n <span class=\\"status\\"></span>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "job.id", {hash:{},inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </dd>\\n <dt class=\\"finished_at_label\\">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.finished_at", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.finished_at", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"finished_at timeago\\" ");\n stack1 = {};\n stack1[\'title\'] = "finishedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "job.finishedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "job.finishedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"duration\\" ");\n stack1 = {};\n stack1[\'title\'] = "startedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatDuration;\n stack1 = foundHelper ? foundHelper.call(depth0, "job.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatDuration", "job.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n </div>\\n\\n <div class=\\"right\\">\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"commit\\"><a ");\n stack1 = {};\n stack1[\'href\'] = "urlGithubCommit";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatCommit;\n stack1 = foundHelper ? foundHelper.call(depth0, "commit", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatCommit", "commit", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.compareUrl", {hash:{},inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.authorName", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "commit.committerName", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </div>\\n\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.message", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.message", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"message\\">");\n foundHelper = helpers.formatMessage;\n stack1 = foundHelper ? foundHelper.call(depth0, "commit.message", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatMessage", "commit.message", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.config", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.config", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"config\\">");\n foundHelper = helpers.formatConfig;\n stack1 = foundHelper ? foundHelper.call(depth0, "job.config", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatConfig", "job.config", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dd>\\n </dl>\\n\\n ");\n stack1 = {};\n stack1[\'contextBinding\'] = "job";\n stack1 = helpers.view.call(depth0, "Travis.LogView", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n ");\n return buffer;}\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showJob", "repository", "job", {hash:stack1,contexts:[depth0,depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "job.number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n ");\n return buffer;}\n\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.compare", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.compare", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"compare\\"><a ");\n stack1 = {};\n stack1[\'href\'] = "commit.compareUrl";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.pathFrom;\n stack1 = foundHelper ? foundHelper.call(depth0, "commit.compareUrl", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "pathFrom", "commit.compareUrl", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program7(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.author", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.author", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"author\\"><a ");\n stack1 = {};\n stack1[\'href\'] = "urlAuthor";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "commit.authorName", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program9(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <dt>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "jobs.committer", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "jobs.committer", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</dt>\\n <dd class=\\"committer\\"><a ");\n stack1 = {};\n stack1[\'href\'] = "urlCommitter";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "commit.committerName", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></dd>\\n ");\n return buffer;}\n\nfunction program11(depth0,data) {\n \n \n data.buffer.push("\\n <div id=\\"job\\" class=\\"loading\\">\\n <span>Loading</span>\\n </div>\\n ");}\n\n stack1 = helpers[\'with\'].call(depth0, "view", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'layouts/home\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n data.buffer.push("<div id=\\"top\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "top", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "top", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</div>\\n\\n<div id=\\"page\\">\\n <div id=\\"left\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "left", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "left", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n\\n <div id=\\"main\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "main", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "main", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n\\n <div id=\\"right\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "right", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "right", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'layouts/profile\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n data.buffer.push("<div id=\\"top\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "top", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "top", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</div>\\n\\n<div id=\\"page\\">\\n <div id=\\"left\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "left", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "left", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n\\n <div id=\\"main\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "main", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "main", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n\\n <div id=\\"right\\">\\n <div id=\\"slider\\" ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app.slider";\n stack1 = helpers.action.call(depth0, "toggle", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <div class=\'icon\'></div> \\n </div>\\n\\n <div class=\\"box\\">\\n <h4>Getting started?</h4>\\n <p>\\n Please read our <a href=\\"http://about.travis-ci.org/docs/user/getting-started\\">guide</a>.\\n It will only take a few minutes :)\\n </p>\\n <p>\\n You can find detailled docs on our <a href=\\"http://about.travis-ci.org/\\">about</a> site.\\n </p>\\n <p>\\n If you need help please don\'t hesitate to join\\n <a href=\\"irc://irc.freenode.net#travis\\">#travis</a> on irc.freenode.net\\n or our <a href=\\"http://groups.google.com/group/travis-ci\\">mailinglist</a>.\\n </p>\\n </div>\\n </div>\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'layouts/sidebar\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n data.buffer.push("<a id=\\"github\\" href=\\"https://github.com/travis-ci\\" title=\\"Fork me on GitHub\\">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.fork_me", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.fork_me", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</a>\\n\\n<div id=\\"slider\\" ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app.slider";\n stack1 = helpers.action.call(depth0, "toggle", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <div class=\'icon\'></div> \\n</div>\\n\\n");\n stack1 = helpers.view.call(depth0, "view.DecksView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n");\n stack1 = helpers.view.call(depth0, "view.WorkersView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n");\n stack1 = helpers.view.call(depth0, "view.QueuesView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n");\n stack1 = helpers.view.call(depth0, "view.LinksView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n<div id=\\"about\\" class=\\"box\\">\\n <h4>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.about.join", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.about.join", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h4>\\n <ul>\\n <li>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.about.repository", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.about.repository", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ": <a href=\\"http://github.com/travis-ci\\">Github</a></li>\\n <li>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.about.twitter", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.about.twitter", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ": <a href=\\"http://twitter.com/travisci\\">@travisci</a></li>\\n <li>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.about.mailing_list", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.about.mailing_list", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ": <a href=\\"http://groups.google.com/group/travis-ci\\">travis-ci</a></li>\\n <li><a href=\\"irc://irc.freenode.net#travis\\">irc.freenode.net#travis</a></li>\\n </ul>\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'layouts/simple\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression;\n\n\n data.buffer.push("<div id=\\"top\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "top", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "top", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</div>\\n\\n<div id=\\"page\\">\\n <div id=\\"main\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "main", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "main", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n</div>\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'layouts/top\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;\n\n\n data.buffer.push("<a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "goToRoot", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h1>Travis</h1>\\n</a>\\n\\n<ul id=\\"navigation\\">\\n <li ");\n stack1 = {};\n stack1[\'class\'] = "view.classHome";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "goToRoot", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">Home</a>\\n </li>\\n <li ");\n stack1 = {};\n stack1[\'class\'] = "view.classStats";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "goToStats", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">Stats</a>\\n </li>\\n <li>\\n <a href=\\"http://about.travis-ci.org/blog\\">Blog</a>\\n </li>\\n <li>\\n <a href=\\"http://about.travis-ci.org/docs\\">Docs</a>\\n </li>\\n <li ");\n stack1 = {};\n stack1[\'class\'] = "view.classProfile";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <p class=\\"handle\\">\\n <a class=\\"signed-out\\" href=\\"#\\" ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app";\n stack1 = helpers.action.call(depth0, "signIn", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.top.github_login", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.top.github_login", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n <a class=\\"signed-in\\" ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showProfile", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "><img ");\n stack1 = {};\n stack1[\'src\'] = "view.gravatarUrl";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "user.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n <span class=\\"signing-in\\">Signing in</span>\\n </p>\\n <ul>\\n <li>\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showProfile", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.top.profile", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.top.profile", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n </li>\\n <li>\\n <a href=\\"/\\" ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app";\n stack1 = helpers.action.call(depth0, "signOut", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.top.sign_out", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.top.sign_out", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n </li>\\n </ul>\\n </li>\\n</ul>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'profile/accounts\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showAccount", "view.account", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"name\\">");\n stack1 = helpers._triageMustache.call(depth0, "view.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n <p class=\\"summary\\">\\n <span class=\\"repos_label\\">Repositories:</span>\\n <abbr class=\\"repos\\">");\n stack1 = helpers._triageMustache.call(depth0, "view.content.reposCount", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</abbr>\\n </p>\\n ");\n return buffer;}\n\n data.buffer.push("<div id=\\"search_box\\">\\n</div>\\n\\n<ul class=\\"tabs\\">\\n <li id=\\"tab_accounts\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classAccounts";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5><a name=\\"accounts\\" href=\\"\\">Accounts</a></h5>\\n </li>\\n</ul>\\n\\n<div class=\\"tab\\">\\n ");\n stack1 = {};\n stack1[\'contentBinding\'] = "controller";\n foundHelper = helpers.collection;\n stack1 = foundHelper ? foundHelper.call(depth0, "Travis.AccountsListView", {hash:stack1,inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data}) : helperMissing.call(depth0, "collection", "Travis.AccountsListView", {hash:stack1,inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'profile/show\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;\n\n\n data.buffer.push("<h3>");\n stack1 = helpers._triageMustache.call(depth0, "view.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h3>\\n\\n");\n stack1 = helpers.view.call(depth0, "Travis.ProfileTabsView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n<div class=\\"tab\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "pane", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "pane", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</div>\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'profile/tabs\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li id=\\"tab_user\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classUser";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showUserProfile", "view.account", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">Profile</a>\\n </h5>\\n </li>\\n ");\n return buffer;}\n\n data.buffer.push("<ul class=\\"tabs\\">\\n <li id=\\"tab_hooks\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classHooks";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showAccount", "view.account", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">Repositories</a>\\n </h5>\\n </li>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.displayUser", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</ul>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'profile/tabs/hooks\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "user.isSyncing", {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n \n data.buffer.push("\\n <p class=\\"message loading\\">\\n <span>Please wait while we sync from GitHub</span>\\n </p>\\n ");}\n\nfunction program4(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <p class=\\"message\\">\\n Last synchronized from GitHub: ");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "user.syncedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "user.syncedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n <button class=\\"sync_now\\" ");\n stack1 = {};\n stack1[\'target\'] = "user";\n stack1 = helpers.action.call(depth0, "sync", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n Sync now\\n </button>\\n </p>\\n\\n <ul id=\\"hooks\\">\\n ");\n stack1 = helpers.each.call(depth0, "hook", "in", "hooks", {hash:{},inverse:self.program(7, program7, data),fn:self.program(5, program5, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </ul>\\n ");\n return buffer;}\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li ");\n stack1 = {};\n stack1[\'class\'] = "hook.active:active";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "hook.urlGithub";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + " rel=\\"nofollow\\">");\n stack1 = helpers._triageMustache.call(depth0, "hook.slug", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n <p class=\\"description\\">");\n stack1 = helpers._triageMustache.call(depth0, "hook.description", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</p>\\n\\n <div class=\\"controls\\">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "hook.urlGithubAdmin";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"github-admin tool-tip\\" title=\\"Github service hooks admin page\\"></a>\\n <a ");\n stack1 = {};\n stack1[\'target\'] = "hook";\n stack1 = helpers.action.call(depth0, "toggle", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"switch\\"></a>\\n </div>\\n </li>\\n ");\n return buffer;}\n\nfunction program7(depth0,data) {\n \n \n data.buffer.push("\\n <li>\\n You do not seem to have any repositories that we could sync.\\n </li>\\n ");}\n\nfunction program9(depth0,data) {\n \n \n data.buffer.push("\\n <p class=\\"message loading\\">\\n <span>Loading</span>\\n </p>\\n");}\n\n data.buffer.push("<p class=\\"tip\\">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "profiles.show.message.your_repos", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "profiles.show.message.your_repos", {hash:{},contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</p>\\n\\n");\n stack1 = helpers[\'if\'].call(depth0, "hooks.isLoaded", {hash:{},inverse:self.program(9, program9, data),fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'profile/tabs/user\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;\n\n\n data.buffer.push("<img ");\n stack1 = {};\n stack1[\'src\'] = "view.gravatarUrl";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n\\n<dl class=\\"profile\\">\\n <dt>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "profiles.show.github", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "profiles.show.github", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":\\n </dt>\\n <dd>\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "urlGithub";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "user.login", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n </dd>\\n <dt>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "profiles.show.email", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "profiles.show.email", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":\\n </dt>\\n <dd>\\n ");\n stack1 = helpers._triageMustache.call(depth0, "user.email", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </dd>\\n <dt>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "profiles.show.token", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "profiles.show.token", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":\\n </dt>\\n <dd>\\n ");\n stack1 = helpers._triageMustache.call(depth0, "user.token", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </dd>\\n</dl>\\n\\n<form>\\n ");\n stack1 = {};\n stack1[\'id\'] = "locale";\n stack1[\'contentBinding\'] = "view.locales";\n stack1[\'valueBinding\'] = "Travis.app.currentUser.locale";\n stack1[\'optionLabelPath\'] = "content.name";\n stack1[\'optionValuePath\'] = "content.key";\n stack1 = helpers.view.call(depth0, "Ember.Select", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n <button name=\\"commit\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "saveLocale", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "profiles.show.update_locale", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "profiles.show.update_locale", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </button>\\n</form>\\n\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'queues/list\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <li class=\\"queue\\">\\n <h4>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "queue", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "queue", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ": ");\n stack1 = helpers._triageMustache.call(depth0, "queue.name", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h4>\\n <ul ");\n stack1 = {};\n stack1[\'id\'] = "queue.id";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers.each.call(depth0, "job", "in", "queue", {hash:{},inverse:self.program(5, program5, data),fn:self.program(2, program2, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </ul>\\n </li>\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'jobBinding\'] = "job";\n stack1 = helpers.view.call(depth0, "Travis.QueueItemView", {hash:stack1,inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app.router";\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showJob", "job.repository", "job", {hash:stack1,contexts:[depth0,depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <span class=\\"slug\\">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "job.repository.slug", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </span>\\n #");\n stack1 = helpers._triageMustache.call(depth0, "job.number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "no_job", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "no_job", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\n data.buffer.push("<ul id=\\"queues\\">\\n");\n stack1 = helpers.each.call(depth0, "queue", "in", "controller", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</ul>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'repos/list\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'with\'].call(depth0, "view.repository", {hash:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <div class=\\"slug-and-status\\">\\n <span class=\\"status\\"></span>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "slug", {hash:{},inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </div>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "lastBuildId", {hash:{},inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n <p class=\\"summary\\">\\n <span class=\\"duration_label\\">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.duration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.duration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</span>\\n <abbr class=\\"duration\\" ");\n stack1 = {};\n stack1[\'title\'] = "lastBuildStartedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatDuration;\n stack1 = foundHelper ? foundHelper.call(depth0, "lastBuildDuration", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatDuration", "lastBuildDuration", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</abbr>,\\n <span class=\\"finished_at_label\\">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.finished_at", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.finished_at", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</span>\\n <abbr class=\\"finished_at timeago\\" ");\n stack1 = {};\n stack1[\'title\'] = "lastBuildFinishedAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers.formatTime;\n stack1 = foundHelper ? foundHelper.call(depth0, "lastBuildFinishedAt", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "formatTime", "lastBuildFinishedAt", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</abbr>\\n </p>\\n\\n <div class=\\"indicator\\"><span></span></div>\\n\\n ");\n stack1 = helpers[\'if\'].call(depth0, "description", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showRepository", "", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"slug\\">");\n stack1 = helpers._triageMustache.call(depth0, "slug", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n ");\n return buffer;}\n\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuild", "", "lastBuildId", {hash:stack1,contexts:[depth0,depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"last_build\\">");\n stack1 = helpers._triageMustache.call(depth0, "lastBuildNumber", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n ");\n return buffer;}\n\nfunction program7(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <div class=\\"info\\">\\n <p class=\\"description\\">");\n stack1 = helpers._triageMustache.call(depth0, "description", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</p>\\n </div>\\n ");\n return buffer;}\n\n data.buffer.push("<div id=\\"search_box\\">\\n ");\n stack1 = {};\n stack1[\'valueBinding\'] = "controller.search";\n stack1 = helpers.view.call(depth0, "Ember.TextField", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n</div>\\n\\n");\n stack1 = helpers.view.call(depth0, "Travis.ReposListTabsView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n\\n<a ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "toggleInfo", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " class=\\"toggle-info\\"></a>\\n\\n<div class=\\"tab\\">\\n ");\n stack1 = {};\n stack1[\'contentBinding\'] = "controller";\n foundHelper = helpers.collection;\n stack1 = foundHelper ? foundHelper.call(depth0, "Travis.RepositoriesListView", {hash:stack1,inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data}) : helperMissing.call(depth0, "collection", "Travis.RepositoriesListView", {hash:stack1,inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'repos/list/tabs\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing;\n\n\n data.buffer.push("<ul class=\\"tabs\\">\\n <li id=\\"tab_recent\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classRecent";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5><a name=\\"recent\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "activate", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.recent", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.recent", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></h5>\\n </li>\\n <li id=\\"tab_owned\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classOwned";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5><a name=\\"owned\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "activate", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.my_repositories", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.my_repositories", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></h5>\\n </li>\\n <li id=\\"tab_search\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classSearch";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5><a name=\\"search\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "activate", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.search", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.search", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a></h5>\\n </li>\\n</ul>\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'repos/show\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'with\'].call(depth0, "view.repository", {hash:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n ");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <h3>\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "view.urlGithub";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">");\n stack1 = helpers._triageMustache.call(depth0, "slug", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</a>\\n </h3>\\n\\n <p class=\\"description\\">");\n stack1 = helpers._triageMustache.call(depth0, "description", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</p>\\n\\n <ul class=\\"github-stats\\">\\n <li class=\\"language\\">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "lastBuildLanguage", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </li>\\n <li>\\n <a class=\\"watchers\\" title=\\"Watchers\\" ");\n stack1 = {};\n stack1[\'href\'] = "view.urlGithubWatchers";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "stats.watchers", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n </li>\\n <li>\\n <a class=\\"forks\\" title=\\"Forks\\" ");\n stack1 = {};\n stack1[\'href\'] = "view.urlGithubNetwork";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "stats.forks", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n </li>\\n </ul>\\n\\n ");\n stack1 = helpers.view.call(depth0, "Travis.RepoShowTabsView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n stack1 = helpers.view.call(depth0, "Travis.RepoShowToolsView", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\nfunction program4(depth0,data) {\n \n \n data.buffer.push("\\n <span>Loading</span>\\n ");}\n\n data.buffer.push("<div id=\\"repository\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.class";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.repository.isLoaded", {hash:{},inverse:self.program(4, program4, data),fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n <div class=\\"tab\\">\\n ");\n foundHelper = helpers.outlet;\n stack1 = foundHelper ? foundHelper.call(depth0, "pane", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "outlet", "pane", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </div>\\n</div>\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'repos/show/tabs\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showRepository", "view.repository", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.current", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.current", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuilds", "view.repository", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.build_history", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.build_history", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showPullRequests", "view.repository", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.pull_requests", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.pull_requests", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program7(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBranches", "view.repository", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.branches", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.branches", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program9(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuild", "view.build", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.build", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.build", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " #");\n stack1 = helpers._triageMustache.call(depth0, "view.build.number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program11(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showBuild", "view.job", {hash:stack1,contexts:[depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.tabs.job", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.tabs.job", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " #");\n stack1 = helpers._triageMustache.call(depth0, "view.job.number", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\n data.buffer.push("<ul class=\\"tabs\\">\\n <li id=\\"tab_current\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classCurrent";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.repository.slug", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n <li id=\\"tab_builds\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classBuilds";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.repository.slug", {hash:{},inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n <li id=\\"tab_pull_requests\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classPullRequests";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.repository.slug", {hash:{},inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n <li id=\\"tab_branches\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classBranches";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.repository.slug", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n <li id=\\"tab_build\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classBuild";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.build.id", {hash:{},inverse:self.noop,fn:self.program(9, program9, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n <li id=\\"tab_job\\" ");\n stack1 = {};\n stack1[\'class\'] = "view.classJob";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <h5>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.job.id", {hash:{},inverse:self.noop,fn:self.program(11, program11, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </h5>\\n </li>\\n</ul>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'repos/show/tools\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'contentBinding\'] = "view.branches";\n stack1[\'selectionBinding\'] = "view.branch";\n stack1[\'optionLabelPath\'] = "content.commit.branch";\n stack1[\'optionValuePath\'] = "content.commit.branch";\n stack1 = helpers.view.call(depth0, "Ember.Select", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\nfunction program3(depth0,data) {\n \n \n data.buffer.push("\\n <span class=\\"loading\\"></span>\\n ");}\n\n data.buffer.push("<div id=\\"tools\\">\\n <a href=\\"#\\" ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "toggle", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "></a>\\n <div class=\\"pane\\">\\n <p>\\n <label>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.branch", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.branch", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</label>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "view.branches.isLoaded", {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </p>\\n <p>\\n <label>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.image_url", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.image_url", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</label>\\n <input type=\\"text\\" class=\\"url\\" ");\n stack1 = {};\n stack1[\'value\'] = "view.urlStatusImage";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + "></input>\\n </p>\\n <p>\\n <label>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.markdown", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.markdown", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</label>\\n <input type=\\"text\\" class=\\"markdown\\" ");\n stack1 = {};\n stack1[\'value\'] = "view.markdownStatusImage";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + "></input>\\n </p>\\n <p>\\n <label>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.textile", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.textile", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</label>\\n <input type=\\"text\\" class=\\"textile\\" ");\n stack1 = {};\n stack1[\'value\'] = "view.textileStatusImage";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + "></input>\\n </p>\\n <p>\\n <label>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "repositories.rdoc", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "repositories.rdoc", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ":</label>\\n <input type=\\"text\\" class=\\"rdoc\\" ");\n stack1 = {};\n stack1[\'value\'] = "view.rdocStatusImage";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + "></input>\\n </p>\\n </div>\\n</div>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'sponsors/decks\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers.each.call(depth0, "deck", {hash:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li ");\n stack1 = {};\n stack1[\'class\'] = "type";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <a ");\n stack1 = {};\n stack1[\'href\'] = "url";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n <img ");\n stack1 = {};\n stack1[\'src\'] = "image";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n </a>\\n </li>\\n ");\n return buffer;}\n\n data.buffer.push("<h4>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.sponsers", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.sponsers", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h4>\\n\\n<ul class=\\"sponsors top\\">\\n ");\n stack1 = helpers.each.call(depth0, "deck", "in", "controller", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n</ul>\\n\\n<p class=\\"hint\\">\\n <a href=\\"https://love.travis-ci.org/sponsors\\">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.sponsors_link", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.sponsors_link", {hash:{},contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </a>\\n</p>\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'sponsors/links\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, foundHelper, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li>\\n ");\n stack1 = {};\n stack1[\'unescaped\'] = "true";\n stack1 = helpers._triageMustache.call(depth0, "link", {hash:stack1,contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </li>\\n ");\n return buffer;}\n\n data.buffer.push("<div class=\\"box\\">\\n <h4>");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.sponsers", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.sponsers", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "</h4>\\n\\n <ul class=\\"sponsors bottom\\">\\n ");\n stack1 = helpers.each.call(depth0, "controller", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </ul>\\n\\n <p class=\\"hint\\">\\n <a href=\\"https://love.travis-ci.org/sponsors\\">\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "layouts.application.sponsors_link", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "layouts.application.sponsors_link", {hash:{},contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </a>\\n </p>\\n</div>\\n\\n\\n");\n return buffer;\n});\n\nEmber.TEMPLATES[\'stats/show\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n \n\n\n data.buffer.push("<div id=\\"repos_stats\\"></div>\\n<div id=\\"tests_stats\\"></div>\\n\\n");\n});\n\nEmber.TEMPLATES[\'workers/list\'] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data) {\nhelpers = helpers || Ember.Handlebars.helpers;\n var buffer = \'\', stack1, escapeExpression=this.escapeExpression, self=this, helperMissing=helpers.helperMissing;\n\nfunction program1(depth0,data) {\n \n var buffer = \'\', stack1, foundHelper;\n data.buffer.push("\\n <h4>\\n ");\n foundHelper = helpers[\'t\'];\n stack1 = foundHelper ? foundHelper.call(depth0, "workers", {hash:{},contexts:[depth0],data:data}) : helperMissing.call(depth0, "t", "workers", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n <a id=\\"toggle-workers\\" ");\n stack1 = {};\n stack1[\'target\'] = "parentView.parentView";\n stack1 = helpers.action.call(depth0, "toggleWorkers", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "></a>\\n </h4>\\n <ul id=\\"workers\\">\\n ");\n stack1 = helpers.each.call(depth0, "group", "in", "controller.groups", {hash:{},inverse:self.program(11, program11, data),fn:self.program(2, program2, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </ul>\\n");\n return buffer;}\nfunction program2(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers.view.call(depth0, "Travis.WorkersListView", {hash:{},inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program3(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li class=\\"group\\">\\n <h5 ");\n stack1 = {};\n stack1[\'target\'] = "view";\n stack1 = helpers.action.call(depth0, "toggle", {hash:stack1,contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "group.firstObject.host", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </h5>\\n <ul>\\n ");\n stack1 = helpers.each.call(depth0, "worker", "in", "group", {hash:{},inverse:self.noop,fn:self.program(4, program4, data),contexts:[depth0,depth0,depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </ul>\\n </li>\\n ");\n return buffer;}\nfunction program4(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = {};\n stack1[\'workerBinding\'] = "worker";\n stack1 = helpers.view.call(depth0, "Travis.WorkersItemView", {hash:stack1,inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program5(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <li class=\\"worker\\">\\n <div class=\\"status\\"></div>\\n ");\n stack1 = helpers[\'if\'].call(depth0, "worker.isWorking", {hash:{},inverse:self.program(9, program9, data),fn:self.program(6, program6, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n </li>\\n ");\n return buffer;}\nfunction program6(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers[\'if\'].call(depth0, "worker.job_id", {hash:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n ");\n return buffer;}\nfunction program7(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n <a ");\n stack1 = {};\n stack1[\'target\'] = "Travis.app.router";\n stack1[\'href\'] = true;\n stack1 = helpers.action.call(depth0, "showJob", "worker.repository", "worker.job_id", {hash:stack1,contexts:[depth0,depth0,depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + " ");\n stack1 = {};\n stack1[\'title\'] = "worker.lastSeenAt";\n stack1 = helpers.bindAttr.call(depth0, {hash:stack1,contexts:[],data:data});\n data.buffer.push(escapeExpression(stack1) + ">\\n ");\n stack1 = helpers._triageMustache.call(depth0, "view.display", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n </a>\\n ");\n return buffer;}\n\nfunction program9(depth0,data) {\n \n var buffer = \'\', stack1;\n data.buffer.push("\\n ");\n stack1 = helpers._triageMustache.call(depth0, "view.display", {hash:{},contexts:[depth0],data:data});\n data.buffer.push(escapeExpression(stack1) + "\\n ");\n return buffer;}\n\nfunction program11(depth0,data) {\n \n \n data.buffer.push("\\n No workers\\n ");}\n\n stack1 = helpers.view.call(depth0, "Travis.WorkersView", {hash:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],data:data});\n if(stack1 || stack1 === 0) { data.buffer.push(stack1); }\n data.buffer.push("\\n\\n");\n return buffer;\n});\n\n})();\n//@ sourceURL=templates'
|
||
),minispade.register("config/locales",'(function() {window.I18n = window.I18n || {}\nwindow.I18n.translations = {"ca":{"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","nl":"Nederlands","pl":"Polski","pt-BR":"português brasileiro","ru":"Русский"}},"en":{"errors":{"messages":{"not_found":"not found","already_confirmed":"was already confirmed","not_locked":"was not locked"}},"devise":{"failure":{"unauthenticated":"You need to sign in or sign up before continuing.","unconfirmed":"You have to confirm your account before continuing.","locked":"Your account is locked.","invalid":"Invalid email or password.","invalid_token":"Invalid authentication token.","timeout":"Your session expired, please sign in again to continue.","inactive":"Your account was not activated yet."},"sessions":{"signed_in":"Signed in successfully.","signed_out":"Signed out successfully."},"passwords":{"send_instructions":"You will receive an email with instructions about how to reset your password in a few minutes.","updated":"Your password was changed successfully. You are now signed in."},"confirmations":{"send_instructions":"You will receive an email with instructions about how to confirm your account in a few minutes.","confirmed":"Your account was successfully confirmed. You are now signed in."},"registrations":{"signed_up":"You have signed up successfully. If enabled, a confirmation was sent to your e-mail.","updated":"You updated your account successfully.","destroyed":"Bye! Your account was successfully cancelled. We hope to see you again soon."},"unlocks":{"send_instructions":"You will receive an email with instructions about how to unlock your account in a few minutes.","unlocked":"Your account was successfully unlocked. You are now signed in."},"mailer":{"confirmation_instructions":{"subject":"Confirmation instructions"},"reset_password_instructions":{"subject":"Reset password instructions"},"unlock_instructions":{"subject":"Unlock Instructions"}}},"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} hour","other":"%{count} hours"},"minutes_exact":{"one":"%{count} minute","other":"%{count} minutes"},"seconds_exact":{"one":"%{count} second","other":"%{count} seconds"}}},"workers":"Workers","queue":"Queue","no_job":"There are no jobs","repositories":{"branch":"Branch","image_url":"Image URL","markdown":"Markdown","textile":"Textile","rdoc":"RDOC","commit":"Commit","message":"Message","started_at":"Started","duration":"Duration","finished_at":"Finished","tabs":{"current":"Current","build_history":"Build History","branches":"Branch Summary","pull_requests":"Pull Requests","build":"Build","job":"Job"}},"build":{"job":"Job","duration":"Duration","finished_at":"Finished"},"jobs":{"messages":{"sponsored_by":"This test suite was run on a worker box sponsored by"},"build_matrix":"Build Matrix","allowed_failures":"Allowed Failures","author":"Author","config":"Config","compare":"Compare","committer":"Committer","branch":"Branch","commit":"Commit","message":"Message","started_at":"Started","duration":"Duration","finished_at":"Finished"},"builds":{"name":"Build","messages":{"sponsored_by":"This test suite was run on a worker box sponsored by"},"build_matrix":"Build Matrix","allowed_failures":"Allowed Failures","author":"Author","config":"Config","compare":"Compare","committer":"Committer","branch":"Branch","commit":"Commit","message":"Message","started_at":"Started","duration":"Duration","finished_at":"Finished","show_more":"Show more"},"layouts":{"top":{"home":"Home","blog":"Blog","docs":"Docs","stats":"Stats","github_login":"Sign in with Github","profile":"Profile","sign_out":"Sign Out","admin":"Admin"},"application":{"fork_me":"Fork me on Github","recent":"Recent","search":"Search","sponsers":"Sponsors","sponsors_link":"See all of our amazing sponsors →","my_repositories":"My Repositories"},"about":{"alpha":"This stuff is alpha.","messages":{"alpha":"Please do <strong>not</strong> consider this a stable service. We\'re still far from that! More info <a href=\'https://github.com/travis-ci\'>here.</a>"},"join":"Join us and help!","mailing_list":"Mailing List","repository":"Repository","twitter":"Twitter"},"mobile":{"author":"Author","build":"Build","build_matrix":"Build Matrix","commit":"Commit","committer":"Committer","compare":"Compare","config":"Config","duration":"Duration","finished_at":"Finished at","job":"Job","log":"Log"}},"profiles":{"show":{"email":"Email","github":"Github","message":{"your_repos":" Flick the switches below to turn on the Travis service hook for your projects, then push to GitHub.","config":"how to configure custom build options"},"messages":{"notice":"To get started, please read our <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Getting Started guide</a>.\\n <small>It will only take a couple of minutes.</small>"},"token":"Token","your_repos":"Your Repositories","update":"Update","update_locale":"Update","your_locale":"Your Locale"}},"statistics":{"index":{"count":"Count","repo_growth":"Repository Growth","total_projects":"Total Projects/Repositories","build_count":"Build Count","last_month":"last month","total_builds":"Total Builds"}},"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","pl":"Polski","ru":"Русский","nl":"Nederlands","pt-BR":"português brasileiro"}},"es":{"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} hora","other":"%{count} horas"},"minutes_exact":{"one":"%{count} minuto","other":"%{count} minutos"},"seconds_exact":{"one":"%{count} segundo","other":"%{count} segundos"}}},"workers":"Procesos","queue":"Cola","no_job":"No hay trabajos","repositories":{"branch":"Rama","image_url":"Imagen URL","markdown":"Markdown","textile":"Textile","rdoc":"RDOC","commit":"Commit","message":"Mensaje","started_at":"Iniciado","duration":"Duración","finished_at":"Finalizado","tabs":{"current":"Actual","build_history":"Histórico","branches":"Ramas","build":"Builds","job":"Trabajo"}},"build":{"job":"Trabajo","duration":"Duración","finished_at":"Finalizado"},"jobs":{"messages":{"sponsored_by":"Esta serie de tests han sido ejecutados en una caja de Proceso patrocinada por"},"build_matrix":"Matriz de Builds","allowed_failures":"Fallos Permitidos","author":"Autor","config":"Configuración","compare":"Comparar","committer":"Committer","branch":"Rama","commit":"Commit","message":"Mensaje","started_at":"Iniciado","duration":"Duración","finished_at":"Finalizado","sponsored_by":"Patrocinado por"},"builds":{"name":"Build","messages":{"sponsored_by":"Esta serie de tests han sido ejecutados en una caja de Proceso patrocinada por"},"build_matrix":"Matriz de Builds","allowed_failures":"Fallos Permitidos","author":"Autor","config":"Configuración","compare":"Comparar","committer":"Committer","branch":"Rama","commit":"Commit","message":"Mensaje","started_at":"Iniciado","duration":"Duración","finished_at":"Finalizado"},"layouts":{"top":{"home":"Inicio","blog":"Blog","docs":"Documentación","stats":"Estadísticas","github_login":"Iniciar sesión con Github","profile":"Perfil","sign_out":"Desconectar","admin":"Admin"},"application":{"fork_me":"Hazme un Fork en Github","recent":"Reciente","search":"Buscar","sponsers":"Patrocinadores","sponsors_link":"Ver todos nuestros patrocinadores →","my_repositories":"Mis Repositorios"},"about":{"alpha":"Esto es alpha.","messages":{"alpha":"Por favor <strong>no</strong> considereis esto un servicio estable. Estamos estamos aún lejos de ello! Más información <a href=\'https://github.com/travis-ci\'>aquí.</a>"},"join":"Únetenos y ayudanos!","mailing_list":"Lista de Correos","repository":"Repositorio","twitter":"Twitter"}},"profiles":{"show":{"email":"Correo electrónico","github":"Github","message":{"your_repos":" Activa los interruptores para inicial el Travis service hook para tus proyectos, y haz un Push en GitHub.<br />\\n Para probar varias versiones de ruby, mira","config":"como configurar tus propias opciones para el Build"},"messages":{"notice":"Para comenzar, por favor lee nuestra <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Guía de Inicio </a>.\\n <small>Solo tomará unos pocos minutos.</small>"},"token":"Token","your_repos":"Tus repositorios","update":"Actualizar","update_locale":"Actualizar","your_locale":"Tu Idioma"}},"statistics":{"index":{"count":"Número","repo_growth":"Crecimiento de Repositorios","total_projects":"Total de Proyectos/Repositorios","build_count":"Número de Builds","last_month":"mes anterior","total_builds":"Total de Builds"}},"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","pl":"Polski","ru":"Русский","nl":"Nederlands","pt-BR":"português brasileiro"}},"fr":{"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} heure","other":"%{count} heures"},"minutes_exact":{"one":"%{count} minute","other":"%{count} minutes"},"seconds_exact":{"one":"%{count} seconde","other":"%{count} secondes"}}},"workers":"Processus","queue":"File","no_job":"Pas de tâches","repositories":{"branch":"Branche","image_url":"Image","markdown":"Markdown","textile":"Textile","rdoc":"RDOC","commit":"Commit","message":"Message","started_at":"Commencé","duration":"Durée","finished_at":"Terminé","tabs":{"current":"Actuel","build_history":"Historique des tâches","branches":"Résumé des branches","build":"Construction","job":"Tâche"}},"build":{"job":"Tâche","duration":"Durée","finished_at":"Terminé"},"jobs":{"messages":{"sponsored_by":"Cette série de tests a été exécutée sur une machine sponsorisée par"},"build_matrix":"Matrice des versions","allowed_failures":"Échecs autorisés","author":"Auteur","config":"Config","compare":"Comparer","committer":"Committeur","branch":"Branche","commit":"Commit","message":"Message","started_at":"Commencé","duration":"Durée","finished_at":"Terminé","sponsored_by":"Cette série de tests a été exécutée sur une machine sponsorisée par"},"builds":{"name":"Version","messages":{"sponsored_by":"Cette série de tests a été exécutée sur une machine sponsorisée par"},"build_matrix":"Matrice des versions","allowed_failures":"Échecs autorisés","author":"Auteur","config":"Config","compare":"Comparer","committer":"Committeur","branch":"Branche","commit":"Commit","message":"Message","started_at":"Commencé","duration":"Durée","finished_at":"Terminé"},"layouts":{"top":{"home":"Accueil","blog":"Blog","docs":"Documentation","stats":"Statistiques","github_login":"Connection Github","profile":"Profil","sign_out":"Déconnection","admin":"Admin"},"application":{"fork_me":"Faites un Fork sur Github","recent":"Récent","search":"Chercher","sponsers":"Sponsors","sponsors_link":"Voir tous nos extraordinaire sponsors →","my_repositories":"Mes dépôts"},"about":{"alpha":"Ceci est en alpha.","messages":{"alpha":"S\'il vous plaît ne considérez <strong>pas</strong> ce service comme étant stable. Nous sommes loin de ça! Plus d\'infos <a href=\'https://github.com/travis-ci\'>ici.</a>"},"join":"Joignez-vous à nous et aidez-nous!","mailing_list":"Liste de distribution","repository":"Dépôt","twitter":"Twitter"},"mobile":{"author":"Auteur","build":"Version","build_matrix":"Matrice des versions","commit":"Commit","committer":"Committeur","compare":"Comparer","config":"Config","duration":"Durée","finished_at":"Terminé à","job":"Tâche","log":"Journal"}},"profiles":{"show":{"github":"Github","message":{"your_repos":"Utilisez les boutons ci-dessous pour activer Travis sur vos projets puis déployez sur GitHub.<br />\\nPour tester sur plus de versions de ruby, voir","config":"comment configurer des options de version personnalisées"},"messages":{"notice":"Pour commencer, veuillez lire notre <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">guide de démarrage</a>.\\n <small>Cela ne vous prendra que quelques minutes.</small>"},"token":"Jeton","your_repos":"Vos dépôts","email":"Courriel","update":"Modifier","update_locale":"Modifier","your_locale":"Votre langue"}},"statistics":{"index":{"count":"Décompte","repo_growth":"Croissance de dépôt","total_projects":"Total des projets/dépôts","build_count":"Décompte des versions","last_month":"mois dernier","total_builds":"Total des versions"}},"admin":{"actions":{"create":"créer","created":"créé","delete":"supprimer","deleted":"supprimé","update":"mise à jour","updated":"mis à jour"},"credentials":{"log_out":"Déconnection"},"delete":{"confirmation":"Oui, je suis sure","flash_confirmation":"%{name} a été détruit avec succès"},"flash":{"error":"%{name} n\'a pas pu être %{action}","noaction":"Aucune action n\'a été entreprise","successful":"%{name} a réussi à %{action}"},"history":{"name":"Historique","no_activity":"Aucune activité","page_name":"Historique pour %{name}"},"list":{"add_new":"Ajouter un nouveau","delete_action":"Supprimer","delete_selected":"Supprimer la sélection","edit_action":"Modifier","search":"Rechercher","select":"Sélectionner le %{name} à modifier","select_action":"Sélectionner","show_all":"Montrer tout"},"new":{"basic_info":"Information de base","cancel":"Annuler","chosen":"%{name} choisi","chose_all":"Choisir tout","clear_all":"Déselectionner tout","many_chars":"caractères ou moins","one_char":"caractère.","optional":"Optionnel","required":"Requis","save":"Sauvegarder","save_and_add_another":"Sauvegarder et en ajouter un autre","save_and_edit":"Sauvegarder et modifier","select_choice":"Faites vos choix et cliquez"},"dashboard":{"add_new":"Ajouter un nouveau","last_used":"Dernière utilisation","model_name":"Nom du modèle","modify":"Modification","name":"Tableau de bord","pagename":"Administration du site","records":"Enregistrements","show":"Voir","ago":"plus tôt"}},"home":{"name":"accueil"},"repository":{"duration":"Durée"},"devise":{"confirmations":{"confirmed":"Votre compte a été crée avec succès. Vous être maintenant connecté.","send_instructions":"Vous allez recevoir un courriel avec les instructions de confirmation de votre compte dans quelques minutes."},"failure":{"inactive":"Votre compte n\'a pas encore été activé.","invalid":"Adresse courriel ou mot de passe invalide.","invalid_token":"Jeton d\'authentification invalide.","locked":"Votre compte est bloqué.","timeout":"Votre session est expirée, veuillez vous reconnecter pour continuer.","unauthenticated":"Vous devez vous connecter ou vous enregistrer afin de continuer","unconfirmed":"Vous devez confirmer votre compte avant de continuer."},"mailer":{"confirmation_instructions":{"subject":"Instructions de confirmations"},"reset_password_instructions":{"subject":"Instruction de remise à zéro du mot de passe"},"unlock_instructions":{"subject":"Instruction de débloquage"}},"passwords":{"send_instructions":"Vous recevrez un courriel avec les instructions de remise à zéro du mot de passe dans quelques minutes.","updated":"Votre mot de passe a été changé avec succès. Vous êtes maintenant connecté."},"registrations":{"destroyed":"Au revoir! Votre compte a été annulé avec succès. Nous espérons vous revoir bientôt.","signed_up":"Vous êtes enregistré avec succès. Si activé, une confirmation vous a été envoyé par courriel.","updated":"Votre compte a été mis a jour avec succès"},"sessions":{"signed_in":"Connecté avec succès","signed_out":"Déconnecté avec succès"},"unlocks":{"send_instructions":"Vous recevrez un courriel contenant les instructions pour débloquer votre compte dans quelques minutes.","unlocked":"Votre compte a été débloqué avec succès."}},"errors":{"messages":{"already_confirmed":"étais déja confirmé","not_found":"n\'a pas été trouvé","not_locked":"n\'étais pas bloqué"}},"locales":{"en":"English","es":"Español","ja":"日本語","ru":"Русский","fr":"Français","nb":"Norsk Bokmål","pl":"Polski","nl":"Nederlands","pt-BR":"português brasileiro"}},"ja":{"workers":"ワーカー","queue":"キュー","no_job":"ジョブはありません","repositories":{"branch":"ブランチ","image_url":"画像URL","markdown":".md","textile":".textile","rdoc":".rdoc","commit":"コミット","message":"メッセージ","started_at":"開始時刻","duration":"処理時間","finished_at":"終了時刻","tabs":{"current":"最新","build_history":"ビルド履歴","branches":"ブランチまとめ","build":"ビルド","job":"ジョブ"}},"build":{"job":"ジョブ","duration":"処理時間","finished_at":"終了時刻"},"jobs":{"messages":{"sponsored_by":"このテストは以下のスポンサーの協力で行いました。"},"build_matrix":"ビルドマトリクス","allowed_failures":"失敗許容範囲内","author":"制作者","config":"設定","compare":"比較","committer":"コミット者","branch":"ブランチ","commit":"コミット","message":"メッセージ","started_at":"開始時刻","duration":"処理時間","finished_at":"終了時刻"},"builds":{"name":"ビルド","messages":{"sponsored_by":"このテストは以下のスポンサーの協力で行いました。"},"build_matrix":"失敗許容範囲外","allowed_failures":"失敗許容範囲内","author":"制作者","config":"設定","compare":"比較","committer":"コミット者","branch":"ブランチ","commit":"コミット","message":"メッセージ","started_at":"開始時刻","duration":"処理時間","finished_at":"終了時刻"},"layouts":{"about":{"alpha":"まだアルファですよ!","join":"参加してみよう!","mailing_list":"メールリスト","messages":{"alpha":"Travis-ciは安定したサービスまで後一歩!詳しくは<a href=\'https://github.com/travis-ci\'>こちら</a>"},"repository":"リポジトリ","twitter":"ツイッター"},"application":{"fork_me":"Githubでフォークしよう","my_repositories":"マイリポジトリ","recent":"最近","search":"検索","sponsers":"スポンサー","sponsors_link":"スポンサーをもっと見る →"},"top":{"blog":"ブログ","docs":"Travisとは?","github_login":"Githubでログイン","home":"ホーム","profile":"プロフィール","sign_out":"ログアウト","stats":"統計","admin":"管理"},"mobile":{"author":"制作者","build":"ビルド","build_matrix":"ビルドマトリクス","commit":"コミット","committer":"コミット者","compare":"比較","config":"設定","duration":"処理時間","finished_at":"終了時刻","job":"ジョブ","log":"ログ"}},"profiles":{"show":{"github":"Github","email":"メール","message":{"config":"詳細設定","your_repos":"以下のスイッチを設定し、Travis-ciを有効にします。Githubへプッシュしたらビルドは自動的に開始します。複数バーションや細かい設定はこちらへ:"},"messages":{"notice":"まずは<a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Travisのはじめ方</a>を参照してください。"},"token":"トークン","your_repos":"リポジトリ","update":"更新","update_locale":"更新","your_locale":"言語設定"}},"statistics":{"index":{"build_count":"ビルド数","count":"数","last_month":"先月","repo_growth":"リポジトリ","total_builds":"合計ビルド数","total_projects":"合計リポジトリ"}},"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","pl":"Polski","ru":"Русский","nl":"Nederlands","pt-BR":"português brasileiro"}},"nb":{"admin":{"actions":{"create":"opprett","created":"opprettet","delete":"slett","deleted":"slettet","update":"oppdater","updated":"oppdatert"},"credentials":{"log_out":"Logg ut"},"dashboard":{"add_new":"Legg til ny","ago":"siden","last_used":"Sist brukt","model_name":"Modell","modify":"Rediger","name":"Dashbord","pagename":"Nettstedsadministrasjon","records":"Oppføringer","show":"Vis"},"delete":{"confirmation":"Ja, jeg er sikker","flash_confirmation":"%{name} ble slettet"},"flash":{"error":"%{name} kunne ikke bli %{action}","noaction":"Ingen handlinger ble utført","successful":"%{name} ble %{action}"},"history":{"name":"Logg","no_activity":"Ingen aktivitet","page_name":"Logg for %{name}"},"list":{"add_new":"Legg til ny","delete_action":"Slett","delete_selected":"Slett valgte","edit_action":"Rediger","search":"Søk","select":"Velg %{name} for å redigere","select_action":"Velg","show_all":"Vis alle "},"new":{"basic_info":"Basisinformasjon","cancel":"Avbryt","chosen":"Valgt %{name}","chose_all":"Velg alle","clear_all":"Fjern alle","many_chars":"eller færre tegn.","one_char":"tegn.","optional":"Valgfri","required":"Påkrevd","save":"Lagre","save_and_add_another":"Lagre og legg til ny","save_and_edit":"Lagre og rediger","select_choice":"Kryss av for dine valg og klikk"}},"build":{"duration":"Varighet","finished_at":"Fullført","job":"Jobb"},"builds":{"allowed_failures":"Tillatte feil","author":"Forfatter","branch":"Gren","build_matrix":"Jobbmatrise","commit":"Innsending","committer":"Innsender","compare":"Sammenlign","config":"Oppsett","duration":"Varighet","finished_at":"Fullført","message":"Beskrivelse","messages":{"sponsored_by":"Denne testen ble kjørt på en maskin sponset av"},"name":"Jobb","started_at":"Startet"},"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} time","other":"%{count} timer"},"minutes_exact":{"one":"%{count} minutt","other":"%{count} minutter"},"seconds_exact":{"one":"%{count} sekund","other":"%{count} sekunder"}}},"devise":{"confirmations":{"confirmed":"Din konto er aktivert og du er nå innlogget.","send_instructions":"Om noen få minutter så vil du få en e-post med informasjon om hvordan du bekrefter kontoen din."},"failure":{"inactive":"Kontoen din har ikke blitt aktivert enda.","invalid":"Ugyldig e-post eller passord.","invalid_token":"Ugyldig autentiseringskode.","locked":"Kontoen din er låst.","timeout":"Du ble logget ut siden på grunn av mangel på aktivitet, vennligst logg inn på nytt.","unauthenticated":"Du må logge inn eller registrere deg for å fortsette.","unconfirmed":"Du må bekrefte kontoen din før du kan fortsette."},"mailer":{"confirmation_instructions":{"subject":"Bekreftelsesinformasjon"},"reset_password_instructions":{"subject":"Instruksjoner for å få nytt passord"},"unlock_instructions":{"subject":"Opplåsningsinstruksjoner"}},"passwords":{"send_instructions":"Om noen få minutter så vil du få en epost med informasjon om hvordan du kan få et nytt passord.","updated":"Passordet ditt ble endret, og du er logget inn."},"registrations":{"destroyed":"Adjø! Kontoen din ble kansellert. Vi håper vi ser deg igjen snart.","signed_up":"Du er nå registrert.","updated":"Kontoen din ble oppdatert."},"sessions":{"signed_in":"Du er nå logget inn.","signed_out":"Du er nå logget ut."},"unlocks":{"send_instructions":"Om noen få minutter så kommer du til å få en e-post med informasjon om hvordan du kan låse opp kontoen din.","unlocked":"Kontoen din ble låst opp, og du er nå logget inn igjen."}},"errors":{"messages":{"already_confirmed":"har allerede blitt bekreftet","not_found":"ikke funnnet","not_locked":"var ikke låst"}},"home":{"name":"hjem"},"jobs":{"allowed_failures":"Tillatte feil","author":"Forfatter","branch":"Gren","build_matrix":"Jobbmatrise","commit":"Innsending","committer":"Innsender","compare":"Sammenlign","config":"Oppsett","duration":"Varighet","finished_at":"Fullført","message":"Beskrivelse","messages":{"sponsored_by":"Denne testserien ble kjørt på en maskin sponset av"},"started_at":"Startet"},"layouts":{"about":{"alpha":"Dette er alfa-greier.","join":"Bli med og hjelp oss!","mailing_list":"E-postliste","messages":{"alpha":"Dette er <strong>ikke</strong> en stabil tjeneste. Vi har fremdeles et stykke igjen! Mer informasjon finner du <a href=\\"https://github.com/travis-ci\\">her</a>."},"repository":"Kodelager","twitter":"Twitter."},"application":{"fork_me":"Se koden på Github","my_repositories":"Mine kodelagre","recent":"Nylig","search":"Søk","sponsers":"Sponsorer","sponsors_link":"Se alle de flotte sponsorene våre →"},"mobile":{"author":"Forfatter","build":"Jobb","build_matrix":"Jobbmatrise","commit":"Innsending","committer":"Innsender","compare":"Sammenlign","config":"Oppsett","duration":"Varighet","finished_at":"Fullført","job":"Jobb","log":"Logg"},"top":{"admin":"Administrator","blog":"Blogg","docs":"Dokumentasjon","github_login":"Logg inn med Github","home":"Hjem","profile":"Profil","sign_out":"Logg ut","stats":"Statistikk"}},"no_job":"Ingen jobber finnnes","profiles":{"show":{"email":"E-post","github":"Github","message":{"config":"hvordan sette opp egne jobbinnstillinger","your_repos":"Slå\\u0010 på Travis for prosjektene dine ved å dra i bryterne under, og send koden til Github.<br />\\nFor å teste mot flere ruby-versjoner, se dokumentasjonen for"},"messages":{"notice":"For å komme i gang, vennligst les <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">kom-i-gang-veivisereren</a> vår. <small>Det tar bare et par minutter.</small>"},"token":"Kode","update":"Oppdater","update_locale":"Oppdater","your_locale":"Ditt språk","your_repos":"Dine kodelagre"}},"queue":"Kø","repositories":{"branch":"Gren","commit":"Innsender","duration":"Varighet","finished_at":"Fullført","image_url":"Bilde-URL","markdown":"Markdown","message":"Beskrivelse","rdoc":"RDOC","started_at":"Startet","tabs":{"branches":"Grensammendrag","build":"Jobb","build_history":"Jobblogg","current":"Siste","job":"Jobb"},"textile":"Textile"},"repository":{"duration":"Varighet"},"statistics":{"index":{"build_count":"Antall jobber","count":"Antall","last_month":"siste måned","repo_growth":"Vekst i kodelager","total_builds":"Totale jobber","total_projects":"Antall prosjekter/kodelagre"}},"workers":"Arbeidere","locales":{"en":"English","es":"Español","ja":"日本語","ru":"Русский","fr":"Français","nb":"Norsk Bokmål","pl":"Polski","nl":"Nederlands","pt-BR":"português brasileiro"}},"nl":{"admin":{"actions":{"create":"aanmaken","created":"aangemaakt","delete":"verwijderen","deleted":"verwijderd","update":"bijwerken","updated":"bijgewerkt"},"credentials":{"log_out":"Afmelden"},"dashboard":{"add_new":"Nieuwe toevoegen","ago":"geleden","last_used":"Laatst gebruikt","model_name":"Model naam","modify":"Wijzigen","pagename":"Site administratie","show":"Laten zien","records":"Gegevens"},"delete":{"confirmation":"Ja, ik ben zeker","flash_confirmation":"%{name} is vernietigd"},"flash":{"error":"%{name} kon niet worden %{action}","noaction":"Er zijn geen acties genomen","successful":"%{name} is %{action}"},"history":{"name":"Geschiedenis","no_activity":"Geen activiteit","page_name":"Geschiedenis van %{name}"},"list":{"add_new":"Nieuwe toevoegen","delete_action":"Verwijderen","delete_selected":"Verwijder geselecteerden","edit_action":"Bewerken","search":"Zoeken","select":"Selecteer %{name} om te bewerken","select_action":"Selecteer","show_all":"Laat allen zien"},"new":{"basic_info":"Basisinfo","cancel":"Annuleren","chosen":"%{name} gekozen","chose_all":"Kies allen","clear_all":"Deselecteer allen","many_chars":"tekens of minder.","one_char":"teken.","optional":"Optioneel","required":"Vereist","save":"Opslaan","save_and_add_another":"Opslaan en een nieuwe toevoegen","save_and_edit":"Opslaan en bewerken","select_choice":"Selecteer uw keuzes en klik"}},"build":{"duration":"Duur","finished_at":"Voltooid","job":"Taak"},"builds":{"allowed_failures":"Toegestane mislukkingen","author":"Auteur","branch":"Tak","build_matrix":"Bouw Matrix","compare":"Vergelijk","config":"Configuratie","duration":"Duur","finished_at":"Voltooid","message":"Bericht","messages":{"sponsored_by":"Deze tests zijn gedraaid op een machine gesponsord door"},"name":"Bouw","started_at":"Gestart","commit":"Commit","committer":"Committer"},"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} uur","other":"%{count} uren"},"minutes_exact":{"one":"%{count} minuut","other":"%{count} minuten"},"seconds_exact":{"one":"%{count} seconde","other":"%{count} seconden"}}},"devise":{"confirmations":{"confirmed":"Uw account is bevestigd. U wordt nu ingelogd.","send_instructions":"Binnen enkele minuten zal u een email ontvangen met instructies om uw account te bevestigen."},"failure":{"inactive":"Uw account is nog niet geactiveerd.","invalid":"Ongeldig email adres of wachtwoord.","invalid_token":"Ongeldig authenticatie token.","locked":"Uw account is vergrendeld.","timeout":"Uw sessie is verlopen, gelieve opnieuw in te loggen om verder te gaan.","unauthenticated":"U moet inloggen of u registeren voordat u verder gaat.","unconfirmed":"U moet uw account bevestigen voordat u verder gaat."},"mailer":{"confirmation_instructions":{"subject":"Bevestigings-instructies"},"reset_password_instructions":{"subject":"Wachtwoord herstel instructies"},"unlock_instructions":{"subject":"Ontgrendel-instructies"}},"passwords":{"send_instructions":"Binnen enkele minuten zal u een email krijgen met instructies om uw wachtwoord opnieuw in te stellen.","updated":"Uw wachtwoord is veranderd. U wordt nu ingelogd."},"registrations":{"destroyed":"Dag! Uw account is geannuleerd. We hopen u vlug terug te zien.","signed_up":"Uw registratie is voltooid. Als het ingeschakeld is wordt een bevestiging naar uw email adres verzonden.","updated":"Het bijwerken van uw account is gelukt."},"sessions":{"signed_in":"Inloggen gelukt.","signed_out":"Uitloggen gelukt."},"unlocks":{"send_instructions":"Binnen enkele minuten zal u een email krijgen met instructies om uw account te ontgrendelen.","unlocked":"Uw account is ontgrendeld. U wordt nu ingelogd."}},"errors":{"messages":{"already_confirmed":"was al bevestigd","not_found":"niet gevonden","not_locked":"was niet vergrendeld"}},"jobs":{"allowed_failures":"Toegestane mislukkingen","author":"Auteur","branch":"Tak","build_matrix":"Bouw matrix","compare":"Vergelijk","config":"Configuratie","duration":"Duur","finished_at":"Voltooid","message":"Bericht","messages":{"sponsored_by":"Deze testen zijn uitgevoerd op een machine gesponsord door"},"started_at":"Gestart","commit":"Commit","committer":"Committer"},"layouts":{"about":{"alpha":"Dit is in alfa-stadium.","join":"Doe met ons mee en help!","mailing_list":"Mailing lijst","messages":{"alpha":"Gelieve deze service <strong>niet</strong> te beschouwen als stabiel. Daar zijn we nog lang niet! Meer info <a href=\'https://github.com/travis-ci\'>hier.</a>"},"repository":"Repository","twitter":"Twitter"},"application":{"fork_me":"Maak een fork op Github","my_repositories":"Mijn repositories","recent":"Recent","search":"Zoeken","sponsers":"Sponsors","sponsors_link":"Bekijk al onze geweldige sponsors →"},"mobile":{"author":"Auteur","build":"Bouw","build_matrix":"Bouw matrix","compare":"Vergelijk","config":"Configuratie","duration":"Duur","finished_at":"Voltooid op","job":"Taak","commit":"Commit","committer":"Committer","log":"Logboek"},"top":{"admin":"Administratie","blog":"Blog","docs":"Documentatie","github_login":"Inloggen met Github","home":"Home","profile":"Profiel","sign_out":"Uitloggen","stats":"Statistieken"}},"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","nl":"Nederlands","pl":"Polski","ru":"Русский","pt-BR":"português brasileiro"},"no_job":"Er zijn geen taken","profiles":{"show":{"email":"Email adres","github":"Github","message":{"config":"hoe eigen bouw-opties in te stellen","your_repos":"Zet de schakelaars hieronder aan om de Travis hook voor uw projecten te activeren en push daarna naar Github<br />\\nOm te testen tegen meerdere rubies, zie"},"messages":{"notice":"Om te beginnen kunt u onze <a href=\\\\\\"http://about.travis-ci.org/docs/user/getting-started/\\\\\\">startersgids</a> lezen.\\\\n <small>Het zal maar enkele minuten van uw tijd vergen.</small>"},"update":"Bijwerken","update_locale":"Bijwerken","your_locale":"Uw taal","your_repos":"Uw repositories","token":"Token"}},"queue":"Wachtrij","repositories":{"branch":"Tak","duration":"Duur","finished_at":"Voltooid","image_url":"Afbeeldings URL","message":"Bericht","started_at":"Gestart","tabs":{"branches":"Tak samenvatting","build":"Bouw","build_history":"Bouw geschiedenis","current":"Huidig","job":"Taak"},"commit":"Commit","markdown":"Markdown","rdoc":"RDOC","textile":"Textile"},"repository":{"duration":"Duur"},"statistics":{"index":{"build_count":"Bouw aantal","count":"Aantal","last_month":"voorbije maand","repo_growth":"Repository groei","total_builds":"Bouw totaal","total_projects":"Projecten/Repository totaal"}},"workers":"Machines","home":{"name":"Hoofdpagina"}},"pl":{"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} godzina","other":"%{count} godziny"},"minutes_exact":{"one":"%{count} minuta","other":"%{count} minuty"},"seconds_exact":{"one":"%{count} sekunda","other":"%{count} sekundy"}}},"workers":"Workers","queue":"Kolejka","no_job":"Brak zadań","repositories":{"branch":"Gałąź","image_url":"URL obrazka","markdown":"Markdown","textile":"Textile","rdoc":"RDOC","commit":"Commit","message":"Opis","started_at":"Rozpoczęto","duration":"Czas trwania","finished_at":"Zakończono","tabs":{"current":"Aktualny","build_history":"Historia Buildów","branches":"Wszystkie Gałęzie","build":"Build","job":"Zadanie"}},"build":{"job":"Zadanie","duration":"Czas trwania","finished_at":"Zakończono"},"jobs":{"messages":{"sponsored_by":"Te testy zostały uruchomione na maszynie sponsorowanej przez"},"build_matrix":"Macierz Buildów","allowed_failures":"Dopuszczalne Niepowodzenia","author":"Autor","config":"Konfiguracja","compare":"Porównanie","committer":"Committer","branch":"Gałąź","commit":"Commit","message":"Opis","started_at":"Rozpoczęto","duration":"Czas trwania","finished_at":"Zakończono","sponsored_by":"Te testy zostały uruchomione na maszynie sponsorowanej przez"},"builds":{"name":"Build","messages":{"sponsored_by":"Te testy zostały uruchomione na maszynie sponsorowanej przez"},"build_matrix":"Macierz Buildów","allowed_failures":"Dopuszczalne Niepowodzenia","author":"Autor","config":"Konfiguracja","compare":"Porównanie","committer":"Komitujący","branch":"Gałąź","commit":"Commit","message":"Opis","started_at":"Rozpoczęto","duration":"Czas trwania","finished_at":"Zakończono"},"layouts":{"top":{"home":"Start","blog":"Blog","docs":"Dokumentacja","stats":"Statystki","github_login":"Zaloguj się przy pomocy Githuba","profile":"Profil","sign_out":"Wyloguj się"},"application":{"fork_me":"Fork me on Github","recent":"Ostatnie","search":"Wyniki","sponsers":"Sponsorzy","sponsors_link":"Zobacz naszych wszystkich wspaniałych sponsorów →","my_repositories":"Moje repozytoria"},"about":{"alpha":"To wciąż jest wersja alpha.","messages":{"alpha":"Proszę <strong>nie</strong> traktuj tego jako stabilnej usługi. Wciąż nam wiele do tego brakuje! Więcej informacji znajdziesz <a href=\'https://github.com/travis-ci\'>tutaj.</a>"},"join":"Pomóż i dołącz do nas!","mailing_list":"Lista mailingowa","repository":"Repozytorium","twitter":"Twitter"},"mobile":{"author":"Autor","build":"Build","build_matrix":"Macierz Buildów","commit":"Commit","committer":"Komitujący","compare":"Porównianie","config":"Konfiguracja","duration":"Czas trwania","finished_at":"Zakończono","job":"Zadanie","log":"Log"}},"profiles":{"show":{"email":"Email","github":"Github","message":{"your_repos":" Przesuń suwak poniżej, aby włączyć Travisa, dla twoich projektów, a następnie umieść swój kod na GitHubie.<br />\\n Aby testować swój kod przy użyciu wielu wersji Rubiego, zobacz","config":"jak skonfigurować niestandardowe opcje builda"},"messages":{"notice":"Aby zacząć, przeczytaj nasz <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Przewodnik </a>.\\n <small>Zajmie ci to tylko kilka minut.</small>"},"token":"Token","your_repos":"Twoje repozytoria"}},"statistics":{"index":{"count":"Ilość","repo_growth":"Przyrost repozytoriów","total_projects":"Łącznie projektów/repozytoriów","build_count":"Liczba buildów","last_month":"ostatni miesiąc","total_builds":"Łącznie Buildów"}},"date":{"abbr_day_names":["nie","pon","wto","śro","czw","pią","sob"],"abbr_month_names":["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],"day_names":["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],"formats":{"default":"%d-%m-%Y","long":"%B %d, %Y","short":"%d %b"},"month_names":["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],"order":["day","month","year"]},"errors":{"format":"%{attribute} %{message}","messages":{"accepted":"musi zostać zaakceptowane","blank":"nie może być puste"}},"locales":{"en":"English","es":"Español","ja":"日本語","ru":"Русский","fr":"Français","nb":"Norsk Bokmål","pl":"Polski","nl":"Nederlands","pt-BR":"português brasileiro"}},"pt-BR":{"admin":{"actions":{"create":"criar","created":"criado","delete":"deletar","deleted":"deletado","update":"atualizar","updated":"atualizado"},"credentials":{"log_out":"Deslogar"},"dashboard":{"add_new":"Adicionar novo","ago":"atrás","last_used":"Última utilização","model_name":"Nome do modelo","modify":"Modificar","name":"Dashboard","pagename":"Administração do site","records":"Registros","show":"Mostrar"},"delete":{"confirmation":"Sim, tenho certeza","flash_confirmation":"%{name} foi destruído com sucesso"},"flash":{"error":"%{name} falhou ao %{action}","noaction":"Nenhuma ação foi tomada","successful":"%{name} foi %{action} com sucesso"},"history":{"name":"Histórico","no_activity":"Nenhuma Atividade","page_name":"Histórico para %{name}"},"list":{"add_new":"Adicionar novo","delete_action":"Deletar","delete_selected":"Deletar selecionados","edit_action":"Editar","search":"Buscar","select":"Selecionar %{name} para editar","select_action":"Selecionar","show_all":"Mostrar todos"},"new":{"basic_info":"Informações básicas","cancel":"Cancelar","chosen":"Escolhido %{name}","chose_all":"Escolher todos","clear_all":"Limpar todos","many_chars":"caracteres ou menos.","one_char":"caractere.","optional":"Opcional","required":"Requerido","save":"Salvar","save_and_add_another":"Salvar e adicionar outro","save_and_edit":"Salvar e alterar","select_choice":"Selecione e clique"}},"build":{"duration":"Duração","finished_at":"Concluído em","job":"Trabalho"},"builds":{"allowed_failures":"Falhas Permitidas","author":"Autor","branch":"Branch","build_matrix":"Matriz de Build","commit":"Commit","committer":"Committer","compare":"Comparar","config":"Config","duration":"Duração","finished_at":"Concluído em","message":"Mensagem","messages":{"sponsored_by":"Esta série de testes foi executada em uma caixa de processos patrocinada por"},"name":"Build","started_at":"Iniciou em"},"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} hora","other":"%{count} horas"},"minutes_exact":{"one":"%{count} minuto","other":"%{count} minutos"},"seconds_exact":{"one":"%{count} segundo","other":"%{count} segundos"}}},"devise":{"confirmations":{"confirmed":"Sua conta foi confirmada com sucesso. Você agora está logado.","send_instructions":"Você receberá um email com instruções de como confirmar sua conta em alguns minutos."},"failure":{"inactive":"Sua conta ainda não foi ativada.","invalid":"Email ou senha inválidos.","invalid_token":"Token de autenticação inválido.","locked":"Sua conta está trancada.","timeout":"Sua sessão expirou, por favor faça seu login novamente.","unauthenticated":"Você precisa fazer o login ou cadastrar-se antes de continuar.","unconfirmed":"Você precisa confirmar sua conta antes de continuar."},"mailer":{"confirmation_instructions":{"subject":"Instruções de confirmação"},"reset_password_instructions":{"subject":"Instruções de atualização de senha"},"unlock_instructions":{"subject":"Instruções de destrancamento"}},"passwords":{"send_instructions":"Você receberá um email com instruções de como atualizar sua senha em alguns minutos.","updated":"Sua senha foi alterada com sucesso. Você agora está logado."},"registrations":{"destroyed":"Tchau! Sua conta foi cancelada com sucesso. Esperamos vê-lo novamente em breve!","signed_up":"Você se cadastrou com sucesso. Se ativada, uma confirmação foi enviada para seu email.","updated":"Você atualizou sua conta com sucesso."},"sessions":{"signed_in":"Logado com sucesso.","signed_out":"Deslogado com sucesso."},"unlocks":{"send_instructions":"Você receberá um email com instruções de como destrancar sua conta em alguns minutos.","unlocked":"Sua conta foi destrancada com sucesso. Você agora está logado."}},"errors":{"messages":{"already_confirmed":"já foi confirmado","not_found":"não encontrado","not_locked":"não estava trancado"}},"home":{"name":"home"},"jobs":{"allowed_failures":"Falhas Permitidas","author":"Autor","branch":"Branch","build_matrix":"Matriz de Build","commit":"Commit","committer":"Committer","compare":"Comparar","config":"Config","duration":"Duração","finished_at":"Concluído em","message":"Mensagem","messages":{"sponsored_by":"Esta série de testes foi executada em uma caixa de processos patrocinada por"},"started_at":"Iniciou em"},"layouts":{"about":{"alpha":"Isto é um alpha.","join":"Junte-se à nós e ajude!","mailing_list":"Lista de email","messages":{"alpha":"Por favor, <strong>não</strong> considere isto um serviço estável. Estamos muito longe disso! Mais informações <a href=\'https://github.com/travis-ci\'>aqui.</a>"},"repository":"Repositório","twitter":"Twitter"},"application":{"fork_me":"Faça fork no Github","my_repositories":"Meus Repositórios","recent":"Recentes","search":"Buscar","sponsers":"Patrocinadores","sponsors_link":"Conheça todos os nossos patrocinadores →"},"mobile":{"author":"Autor","build":"Build","build_matrix":"Matriz de Build","commit":"Commit","committer":"Committer","compare":"Comparar","config":"Config","duration":"Duração","finished_at":"Concluído em","job":"Trabalho","log":"Log"},"top":{"admin":"Admin","blog":"Blog","docs":"Documentação","github_login":"Logue com o Github","home":"Home","profile":"Perfil","sign_out":"Sair","stats":"Estatísticas"}},"locales":{"en":"English","es":"Español","fr":"Français","ja":"日本語","nb":"Norsk Bokmål","nl":"Nederlands","pl":"Polski","ru":"Русский","pt-BR":"português brasileiro"},"no_job":"Não há trabalhos","profiles":{"show":{"email":"Email","github":"Github","message":{"config":"como configurar opções de build","your_repos":"Use os botões abaixo para ligar ou desligar o hook de serviço do Travis para seus projetos, e então, faça um push para o Github.<br />Para testar com múltiplas versões do Ruby, leia"},"messages":{"notice":"Para começar, leia nosso <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Guia de início</a>. <small>Só leva alguns minutinhos.</small>"},"token":"Token","update":"Atualizar","update_locale":"Atualizar","your_locale":"Sua língua","your_repos":"Seus Repositórios"}},"queue":"Fila","repositories":{"branch":"Branch","commit":"Commit","duration":"Duração","finished_at":"Concluído em","image_url":"URL da imagem","markdown":"Markdown","message":"Mensagem","rdoc":"RDOC","started_at":"Iniciou em","tabs":{"branches":"Sumário do Branch","build":"Build","build_history":"Histórico de Build","current":"Atual","job":"Trabalho"},"textile":"Textile"},"repository":{"duration":"Duração"},"statistics":{"index":{"build_count":"Número de Builds","count":"Número","last_month":"último mês","repo_growth":"Crescimento de Repositório","total_builds":"Total de Builds","total_projects":"Total de Projetos/Repositórios"}},"workers":"Processos"},"ru":{"admin":{"actions":{"create":"создать","created":"создано","delete":"удалить","deleted":"удалено","update":"обновить","updated":"обновлено"},"credentials":{"log_out":"Выход"},"dashboard":{"add_new":"Добавить","ago":"назад","last_used":"Использовалось в последний раз","model_name":"Имя модели","modify":"Изменить","name":"Панель управления","pagename":"Управление сайтом","records":"Записи","show":"Показать"},"delete":{"confirmation":"Да, я уверен","flash_confirmation":"%{name} успешно удалено"},"history":{"name":"История","no_activity":"Нет активности","page_name":"История %{name}"},"list":{"add_new":"Добавить","delete_action":"Удалить","delete_selected":"Удалить выбранные","edit_action":"Редактировать","search":"Поиск","select":"Для редактирования выберите %{name}","select_action":"Выбрать","show_all":"Показать все"},"new":{"basic_info":"Основная информация","cancel":"Отмена","chosen":"Выбрано %{name}","chose_all":"Выбрать все","clear_all":"Очистить все","one_char":"символ.","optional":"Необязательно","required":"Обязательно","save":"Сохранить","save_and_add_another":"Сохранить и добавить другое","save_and_edit":"Сохранить и продолжить редактирование","select_choice":"Выберите и кликните","many_chars":"символов или меньше."},"flash":{"error":"%{name} не удалось %{action}","noaction":"Никаких действий не произведено","successful":"%{name} было успешно %{action}"}},"build":{"duration":"Длительность","finished_at":"Завершен","job":"Задача"},"builds":{"allowed_failures":"Допустимые неудачи","author":"Автор","branch":"Ветка","build_matrix":"Матрица","commit":"Коммит","committer":"Коммитер","compare":"Дифф","config":"Конфигурация","duration":"Длительность","finished_at":"Завершен","message":"Комментарий","messages":{"sponsored_by":"Эта серия тестов была запущена на машине, спонсируемой"},"name":"Билд","started_at":"Начало"},"datetime":{"distance_in_words":{"hours_exact":{"one":"%{count} час","few":"%{count} часа","many":"%{count} часов","other":"%{count} часа"},"minutes_exact":{"one":"%{count} минута","few":"%{count} минуты","many":"%{count} минут","other":"%{count} минуты"},"seconds_exact":{"one":"%{count} секунда","few":"%{count} секунды","many":"%{count} секунд","other":"%{count} секунды"}}},"devise":{"confirmations":{"confirmed":"Ваш аккаунт успешно подтвержден. Приветствуем!","send_instructions":"В течении нескольких минут вы получите электронное письмо с инструкциями для прохождения процедуры подтверждения аккаунта."},"failure":{"inactive":"Ваш аккаунт еще не активирован.","invalid":"Ошибка в адресе почты или пароле.","invalid_token":"Неправильный токен аутентификации.","locked":"Ваш аккаунт заблокирован.","timeout":"Сессия окончена. Для продолжения работы войдите снова.","unauthenticated":"Вам нужно войти или зарегистрироваться.","unconfirmed":"Вы должны сначала подтвердить свой аккаунт."},"mailer":{"confirmation_instructions":{"subject":"Инструкции для подтверждению аккаунта"},"reset_password_instructions":{"subject":"Инструкции для сброса пароля"},"unlock_instructions":{"subject":"Инструкции для разблокирования аккаунта"}},"passwords":{"send_instructions":"В течении нескольких минут вы получите электронное письмо с инструкциями для сброса пароля.","updated":"Ваш пароль успешно изменен. Приветствуем!"},"registrations":{"destroyed":"Ваш аккаунт был успешно удален. Живите долго и процветайте!","signed_up":"Вы успешно прошли регистрацию. Инструкции для подтверждения аккаунта отправлены на ваш электронный адрес.","updated":"Аккаунт успешно обновлен."},"sessions":{"signed_in":"Приветствуем!","signed_out":"Удачи!"},"unlocks":{"send_instructions":"В течении нескольких минут вы получите электронное письмо с инструкциям для разблокировния аккаунта.","unlocked":"Ваш аккаунт успешно разблокирован. Приветствуем!"}},"errors":{"messages":{"already_confirmed":"уже подтвержден","not_found":"не найден","not_locked":"не заблокирован"}},"home":{"name":"Главная"},"jobs":{"allowed_failures":"Допустимые неудачи","author":"Автор","branch":"Ветка","build_matrix":"Матрица","commit":"Коммит","committer":"Коммитер","compare":"Сравнение","config":"Конфигурация","duration":"Длительность","finished_at":"Завершен","message":"Комментарий","messages":{"sponsored_by":"Эта серия тестов была запущена на машине спонсируемой"},"started_at":"Начало"},"layouts":{"about":{"alpha":"Это альфа-версия","join":"Присоединяйтесь к нам и помогайте!","mailing_list":"Лист рассылки","messages":{"alpha":"Пожалуйста, <strong>не</strong> считайте данный сервис стабильным. Мы еще очень далеки от стабильности! <a href=\'https://github.com/travis-ci\'>Подробности</a>"},"repository":"Репозиторий","twitter":"Twitter"},"application":{"fork_me":"Fork me on Github","my_repositories":"Мои репозитории","recent":"Недавние","search":"Поиск","sponsers":"Спонсоры","sponsors_link":"Список всех наших замечательных спонсоров →"},"mobile":{"author":"Автор","build":"Сборка","build_matrix":"Матрица сборок","commit":"Коммит","committer":"Коммитер","compare":"Сравнение","config":"Конфигурация","duration":"Длительность","finished_at":"Завершен","job":"Задача","log":"Журнал"},"top":{"admin":"Управление","blog":"Блог","docs":"Документация","github_login":"Войти через Github","home":"Главная","profile":"Профиль","sign_out":"Выход","stats":"Статистика"}},"no_job":"Очередь пуста","profiles":{"show":{"email":"Электронная почта","github":"Github","message":{"config":"как настроить специальные опции билда","your_repos":"Используйте переключатели, чтобы включить Travis service hook для вашего проекта, а потом отправьте код на GitHub.<br />\\nДля тестирования на нескольких версиях Ruby смотрите"},"messages":{"notice":"Перед началом, пожалуйста, прочтите <a href=\\"http://about.travis-ci.org/docs/user/getting-started/\\">Руководство для быстрого старта</a>. <small>Это займет всего несколько минут.</small>"},"token":"Токен","update":"Обновить","update_locale":"Обновить","your_locale":"Ваш язык","your_repos":"Ваши репозитории"}},"queue":"Очередь","repositories":{"branch":"Ветка","commit":"Коммит","duration":"Длительность","finished_at":"Завершен","image_url":"URL изображения","markdown":"Markdown","message":"Комментарий","rdoc":"RDOC","started_at":"Начало","tabs":{"branches":"Статус веток","build":"Билд","build_history":"История","current":"Текущий","job":"Задача"},"textile":"Textile"},"repository":{"duration":"Длительность"},"statistics":{"index":{"build_count":"Количество билдов","count":"Количество","last_month":"прошлый месяц","repo_growth":"Рост числа репозиториев","total_builds":"Всего билдов","total_projects":"Всего проектов/репозиториев"}},"workers":"Машины","locales":{"en":"English","es":"Español","ja":"日本語","ru":"Русский","fr":"Français","nb":"Norsk Bokmål","pl":"Polski","nl":"Nederlands","pt-BR":"português brasileiro"}}};\n\n\n})();\n//@ sourceURL=config/locales'
|
||
),minispade.register("ext/ember/bound_helper","(function() {// https://gist.github.com/2018185\n// For reference: https://github.com/wagenet/ember.js/blob/ac66dcb8a1cbe91d736074441f853e0da474ee6e/packages/ember-handlebars/lib/views/bound_property_view.js\nvar BoundHelperView = Ember.View.extend(Ember._Metamorph, {\n\n context: null,\n options: null,\n property: null,\n // paths of the property that are also observed\n propertyPaths: [],\n\n value: Ember.K,\n\n valueForRender: function() {\n var value = this.value(Ember.get(this.context, this.property), this.options);\n if (this.options.escaped) { value = Handlebars.Utils.escapeExpression(value); }\n return value;\n },\n\n render: function(buffer) {\n buffer.push(this.valueForRender());\n },\n\n valueDidChange: function() {\n if (this.morph.isRemoved()) { return; }\n this.morph.html(this.valueForRender());\n },\n\n didInsertElement: function() {\n this.valueDidChange();\n },\n\n init: function() {\n this._super();\n Ember.addObserver(this.context, this.property, this, 'valueDidChange');\n this.get('propertyPaths').forEach(function(propName) {\n Ember.addObserver(this.context, this.property + '.' + propName, this, 'valueDidChange');\n }, this);\n },\n\n destroy: function() {\n Ember.removeObserver(this.context, this.property, this, 'valueDidChange');\n this.get('propertyPaths').forEach(function(propName) {\n this.context.removeObserver(this.property + '.' + propName, this, 'valueDidChange');\n }, this);\n this._super();\n }\n\n});\n\nEmber.registerBoundHelper = function(name, func) {\n var propertyPaths = Array.prototype.slice.call(arguments, 2);\n Ember.Handlebars.registerHelper(name, function(property, options) {\n var data = options.data,\n view = data.view,\n ctx = this;\n\n var bindView = view.createChildView(BoundHelperView, {\n property: property,\n propertyPaths: propertyPaths,\n context: ctx,\n options: options.hash,\n value: func\n });\n\n view.appendChild(bindView);\n });\n};\n\n\n})();\n//@ sourceURL=ext/ember/bound_helper"
|
||
),minispade.register("ext/ember/namespace","(function() {Em.Namespace.reopen = Em.Namespace.reopenClass\n\n\n\n})();\n//@ sourceURL=ext/ember/namespace"
|
||
); |