travis-web/public/javascripts/application.min.js

8461 lines
732 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! 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={"<":"&lt;",">"
:"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},b=/&(?!\w+;)|[<>"'`]/g
,c=/[&<>"'`]/,d=function(b){return a[b]||"&amp;"};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={"<":"&lt;",">"
:"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c=/&(?!\w+;)|[<>"'`]/g
,d=/[&<>"'`]/,e=function(a){return b[a]||"&amp;"},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="&shy;"+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(/&lt;/g
,"<").replace(/&gt;/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, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\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 \"[![Build Status](\" + (this.get('urlStatusImage')) + \")](\" + (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 &amp; book unique things to do!</span>"\n }, {\n type: \'silver\',\n link: "<a href=\\"http://5apps.com\\">5apps</a><span>: Package &amp; 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 &amp; 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+.*?)>/, '#&lt;$1&gt;');\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>&nbsp;\\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>&nbsp;\\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 &rarr;","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 &rarr;","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 &rarr;","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":"スポンサーをもっと見る &rarr;"},"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 &rarr;"},"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 &rarr;"},"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 &rarr;","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 &rarr;"},"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":"Список всех наших замечательных спонсоров &rarr;"},"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"
);