ember-source 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- data/dist/ember-data-deps.js +731 -273
- data/dist/ember-data-deps.min.js +5 -5
- data/dist/ember-data-deps.prod.js +725 -267
- data/dist/ember-debug.js +2 -2
- data/dist/ember-old-router.js +965 -389
- data/dist/ember-old-router.min.js +8 -8
- data/dist/ember-old-router.prod.js +958 -382
- data/dist/ember-runtime.js +707 -269
- data/dist/ember-runtime.min.js +5 -5
- data/dist/ember-runtime.prod.js +701 -263
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +18 -3
- data/dist/ember-template-compiler.min.js +3 -3
- data/dist/ember-template-compiler.prod.js +16 -1
- data/dist/ember-tests.js +1 -1
- data/dist/ember.js +1494 -562
- data/dist/ember.min.js +9 -8
- data/dist/ember.prod.js +1459 -527
- metadata +2 -2
data/dist/ember-runtime.min.js
CHANGED
@@ -8,10 +8,10 @@
|
|
8
8
|
// ==========================================================================
|
9
9
|
|
10
10
|
|
11
|
-
// Version: v1.0.0-rc.1-
|
12
|
-
// Last commit:
|
11
|
+
// Version: v1.0.0-rc.1-536-gd47406c
|
12
|
+
// Last commit: d47406c (2013-04-25 17:21:02 -0700)
|
13
13
|
|
14
14
|
|
15
|
-
(function(){var e,t;(function(){var n={},r={};e=function(e,t,r){n[e]={deps:t,callback:r}},t=function(e){if(r[e])return r[e];r[e]={};var i=n[e],s=i.deps,o=i.callback,u=[],a;for(var f=0,l=s.length;f<l;f++)s[f]==="exports"?u.push(a={}):u.push(t(s[f]));var c=o.apply(this,u);return r[e]=a||c}})(),function(){function r(t){if(e.console&&e.console[t])return e.console[t].apply?function(){e.console[t].apply(e.console,arguments)}:function(){var n=Array.prototype.join.call(arguments,", ");e.console[t](n)}}"undefined"==typeof Ember&&(Ember={});var e=Ember.imports=Ember.imports||this,t=Ember.exports=Ember.exports||this,n=Ember.lookup=Ember.lookup||this;t.Em=t.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.2",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,typeof Ember.EXTEND_PROTOTYPES=="undefined"&&(Ember.EXTEND_PROTOTYPES=!0),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.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:r("log")||Ember.K,warn:r("warn")||Ember.K,error:r("error")||Ember.K,info:r("info")||Ember.K,debug:r("debug")||r("info")||Ember.K},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(n){Ember.onerror(n)}},Ember.merge=function(e,t){for(var n in t){if(!t.hasOwnProperty(n))continue;e[n]=t[n]}return e},Ember.isNone=function(e){return e===null||e===undefined},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return e===null||e===undefined||e.length===0&&typeof e!="function"||typeof e=="object"&&Ember.get(e,"length")===0},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};Ember.create=Object.create;if(!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,n){t.prototype=e,e=new t;if(n){t.prototype=e;for(var r in n)t.prototype[r]=n[r].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var n=Object.defineProperty,r,i;if(n)try{n({},"a",{get:function(){}})}catch(s){n=null}n&&(r=function(){var e={};return n(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),n(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),i=function(){try{return n(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?i||(n=function(e,t,n){var r;return typeof Node=="object"?r=e instanceof Node:r=typeof e=="object"&&typeof e.nodeType=="number"&&typeof e.nodeName=="string",r?e[t]=n.value:Object.defineProperty(e,t,n)}):n=null),e.defineProperty=n,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,n){n.get||(e[t]=n.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=Ember.EnumerableUtils={map:function(e,t,n){return e.map?e.map.call(e,t,n):Array.prototype.map.call(e,t,n)},forEach:function(e,t,n){return e.forEach?e.forEach.call(e,t,n):Array.prototype.forEach.call(e,t,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):Array.prototype.indexOf.call(e,t,n)},indexesOf:function(t,n){return n===undefined?[]:e.map(n,function(n){return e.indexOf(t,n)})},addObject:function(t,n){var r=e.indexOf(t,n);r===-1&&t.push(n)},removeObject:function(t,n){var r=e.indexOf(t,n);r!==-1&&t.splice(r,1)},replace:function(e,t,n,r){if(e.replace)return e.replace(t,n,r);var i=Array.prototype.concat.apply([t,n],r);return e.splice.apply(e,i)},intersection:function(e,t){var n=[];return e.forEach(function(e){t.indexOf(e)>=0&&n.push(e)}),n}}}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(this===void 0||this===null)throw new TypeError;var t=Object(this),n=t.length>>>0;if(typeof e!="function")throw new TypeError;var r=new Array(n),i=arguments[1];for(var s=0;s<n;s++)s in t&&(r[s]=e.call(i,t[s],s,t));return r},n=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(this===void 0||this===null)throw new TypeError;var t=Object(this),n=t.length>>>0;if(typeof e!="function")throw new TypeError;var r=arguments[1];for(var i=0;i<n;i++)i in t&&e.call(r,t[i],i,t)},r=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){t===null||t===undefined?t=0:t<0&&(t=Math.max(0,this.length+t));for(var n=t,r=this.length;n<r;n++)if(this[n]===e)return n;return-1};Ember.ArrayPolyfills={map:t,forEach:n,indexOf:r},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=n),Array.prototype.indexOf||(Array.prototype.indexOf=r))}(),function(){function h(e){this.descs={},this.watching={},this.cache={},this.source=e}function p(e,t){return!!e&&typeof e[t]=="function"}var e=Ember.platform.defineProperty,t=Ember.create,n="__ember"+ +(new Date),r=0,i=[],s={},o=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=n;var u={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(i,s){s||(s="ember");var o=s+r++;return i&&(u.value=o,e(i,n,u)),o},Ember.guidFor=function(o){if(o===undefined)return"(undefined)";if(o===null)return"(null)";var a,f,l=typeof o;switch(l){case"number":return f=i[o],f||(f=i[o]="nu"+o),f;case"string":return f=s[o],f||(f=s[o]="st"+r++),f;case"boolean":return o?"(true)":"(false)";default:if(o[n])return o[n];if(o===Object)return"(Object)";if(o===Array)return"(Array)";return f="ember"+r++,u.value=f,e(o,n,u),f}};var a={writable:!0,configurable:!1,enumerable:!1,value:null},f=Ember.GUID_KEY+"_meta";Ember.META_KEY=f;var l={descs:{},watching:{}};o&&(l.values={}),Ember.EMPTY_META=l,Object.freeze&&Object.freeze(l);var c=Ember.platform.defineProperty.isSimulated;c&&(h.prototype.__preventPlainObject__=!0,h.prototype.toJSON=function(){}),Ember.meta=function(r,i){var s=r[f];return i===!1?s||l:(s?s.source!==r&&(c||e(r,f,a),s=t(s),s.descs=t(s.descs),s.watching=t(s.watching),s.cache={},s.source=r,o&&(s.values=t(s.values)),r[f]=s):(c||e(r,f,a),s=new h(r),o&&(s.values={}),r[f]=s,s.descs.constructor=null),s)},Ember.getMeta=function(t,n){var r=Ember.meta(t,!1);return r[n]},Ember.setMeta=function(t,n,r){var i=Ember.meta(t,!0);return i[n]=r,r},Ember.metaPath=function(n,r,i){var s=Ember.meta(n,i),o,u;for(var a=0,f=r.length;a<f;a++){o=r[a],u=s[o];if(!u){if(!i)return undefined;u=s[o]={__ember_source__:n}}else if(u.__ember_source__!==n){if(!i)return undefined;u=s[o]=t(u),u.__ember_source__=n}s=u}return u},Ember.wrap=function(e,t){function n(){}function r(){var r,i=this._super;return this._super=t||n,r=e.apply(this,arguments),this._super=i,r}return r.wrappedFunction=e,r.__ember_observes__=e.__ember_observes__,r.__ember_observesBefore__=e.__ember_observesBefore__,r},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:e.length!==undefined&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return e===null||e===undefined?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=p,Ember.tryInvoke=function(e,t,n){if(p(e,t))return e[t].apply(e,n||[])};var d=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return e!==1}();d?Ember.tryFinally=function(e,t,n){var r,i,s;n=n||this;try{r=e.call(n)}finally{try{i=t.call(n)}catch(o){s=o}}if(s)throw s;return i===undefined?r:i}:Ember.tryFinally=function(e,t,n){var r,i;n=n||this;try{r=e.call(n)}finally{i=t.call(n)}return i===undefined?r:i},d?Ember.tryCatchFinally=function(e,t,n,r){var i,s,o,u;r=r||this;try{i=e.call(r)}catch(a){i=t.call(r,a)}finally{try{s=n.call(r)}catch(f){o=f}}if(o)throw o;return s===undefined?i:s}:Ember.tryCatchFinally=function(e,t,n,r){var i,s;r=r||this;try{i=e.call(r)}catch(o){i=t.call(r,o)}finally{s=n.call(r)}return s===undefined?i:s};var v={},m="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(m,function(e){v["[object "+e+"]"]=e.toLowerCase()});var g=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=e===null||e===undefined?String(e):v[g.call(e)]||"object",t==="function"?Ember.Object&&Ember.Object.detect(e)&&(t="class"):t==="object"&&(e instanceof Error?t="error":Ember.Object&&e instanceof Ember.Object?t="instance":t="object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},n=function(n){var r=[],i;for(var s=0,o=e.length;s<o;s++)i=e[s],i.regex.test(n)&&r.push(i.object);return t[n]=r,r},r=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+(new Date)}}();Ember.Instrumentation.instrument=function(e,i,s,o){function d(){for(h=0,p=u.length;h<p;h++)c=u[h],l[h]=c.before(e,r(),i);return s.call(o)}function v(e){i=i||{},i.exception=e}function m(){for(h=0,p=u.length;h<p;h++)c=u[h],c.after(e,r(),i,l[h]);Ember.STRUCTURED_PROFILE&&console.timeEnd(a)}var u=t[e],a,f;Ember.STRUCTURED_PROFILE&&(a=e+": "+i.object,console.time(a)),u||(u=n(e));if(u.length===0)return f=s.call(o),Ember.STRUCTURED_PROFILE&&console.timeEnd(a),f;var l=[],c,h,p;return Ember.tryCatchFinally(d,v,m)},Ember.Instrumentation.subscribe=function(n,r){var i=n.split("."),s,o=[];for(var u=0,a=i.length;u<a;u++)s=i[u],s==="*"?o.push("[^\\.]*"):o.push(s);o=o.join("\\."),o+="(\\..*)?";var f={pattern:n,regex:new RegExp("^"+o+"$"),object:r};return e.push(f),t={},f},Ember.Instrumentation.unsubscribe=function(n){var r;for(var i=0,s=e.length;i<s;i++)e[i]===n&&(r=i);e.splice(r,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e=Ember.guidFor,t=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},r=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t},i=Ember.OrderedSet=function(){this.clear()};i.create=function(){return new i},i.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(t){var n=e(t),r=this.presenceSet,i=this.list;if(n in r)return;r[n]=!0,i.push(t)},remove:function(n){var r=e(n),i=this.presenceSet,s=this.list;delete i[r];var o=t.call(s,n);o>-1&&s.splice(o,1)},isEmpty:function(){return this.list.length===0},has:function(t){var n=e(t),r=this.presenceSet;return n in r},forEach:function(e,t){var n=this.list.slice();for(var r=0,i=n.length;r<i;r++)e.call(t,n[r])},toArray:function(){return this.list.slice()},copy:function(){var e=new i;return e.presenceSet=n(this.presenceSet),e.list=this.list.slice(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={get:function(t){var n=this.values,r=e(t);return n[r]},set:function(t,n){var r=this.keys,i=this.values,s=e(t);r.add(t),i[s]=n},remove:function(t){var n=this.keys,r=this.values,i=e(t),s;return r.hasOwnProperty(i)?(n.remove(t),s=r[i],delete r[i],!0):!1},has:function(t){var n=this.values,r=e(t);return n.hasOwnProperty(r)},forEach:function(t,n){var r=this.keys,i=this.values;r.forEach(function(r){var s=e(r);t.call(n,r,i[s])})},copy:function(){return r(this,new s)}};var o=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};o.create=function(e){return e?new o(e):new s},o.prototype=Ember.create(s.prototype),o.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var n=this.defaultValue(e);return this.set(e,n),n},o.prototype.copy=function(){return r(this,new o({defaultValue:this.defaultValue}))}}(),function(){function o(e){return e.match(s)[0]}function u(e,n){var s=i.test(n),u=!s&&r.test(n),a;if(!e||u)e=Ember.lookup;s&&(n=n.slice(5)),e===Ember.lookup&&(a=o(n),e=t(e,a),n=n.slice(a.length+1));if(!n||n.length===0)throw new Error("Invalid Path");return[e,n]}var e=Ember.META_KEY,t,n=Ember.ENV.MANDATORY_SETTER,r=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,s=/^([^\.\*]+)/;t=function(r,i){if(i==="")return r;!i&&"string"==typeof r&&(i=r,r=null);if(!r||i.indexOf(".")!==-1)return a(r,i);var s=r[e],o=s&&s.descs[i],u;return o?o.get(r,i):(n&&s&&s.watching[i]>0?u=s.values[i]:u=r[i],u!==undefined||"object"!=typeof r||i in r||"function"!=typeof r.unknownProperty?u:r.unknownProperty(i))},Ember.config.overrideAccessors&&(Ember.get=t,Ember.config.overrideAccessors(),t=Ember.get);var a=Ember._getPath=function(e,n){var r,s,o,a,f;if(e===null&&n.indexOf(".")===-1)return t(Ember.lookup,n);r=i.test(n);if(!e||r)o=u(e,n),e=o[0],n=o[1],o.length=0;s=n.split("."),f=s.length;for(a=0;e&&a<f;a++){e=t(e,s[a],!0);if(e&&e.isDestroyed)return undefined}return e};Ember.normalizeTuple=function(e,t){return u(e,t)},Ember.getWithDefault=function(e,n,r){var i=t(e,n);return i===undefined?r:i},Ember.get=t,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function r(e,t,n){var r=-1;for(var i=0,s=e.length;i<s;i++)if(t===e[i][0]&&n===e[i][1]){r=i;break}return r}function i(n,r){var i=t(n,!0),s;return i.listeners||(i.listeners={}),i.hasOwnProperty("listeners")||(i.listeners=e(i.listeners)),s=i.listeners[r],s&&!i.listeners.hasOwnProperty(r)?s=i.listeners[r]=i.listeners[r].slice():s||(s=i.listeners[r]=[]),s}function s(e,t,i){var s=e[n],o=s&&s.listeners&&s.listeners[t];if(!o)return;for(var u=o.length-1;u>=0;u--){var a=o[u][0],f=o[u][1],l=o[u][2],c=o[u][3],h=r(i,a,f);h===-1&&i.push([a,f,l,c])}}function o(e,t,i){var s=e[n],o=s&&s.listeners&&s.listeners[t],u=[];if(!o)return;for(var a=o.length-1;a>=0;a--){var f=o[a][0],l=o[a][1],c=o[a][2],h=o[a][3],p=r(i,f,l);if(p!==-1)continue;i.push([f,l,c,h]),u.push([f,l,c,h])}return u}function u(e,t,n,s,o){!s&&"function"==typeof n&&(s=n,n=null);var u=i(e,t),a=r(u,n,s);if(a!==-1)return;u.push([n,s,o,undefined]),"function"==typeof e.didAddListener&&e.didAddListener(t,n,s)}function a(e,t,s,o){function u(n,s,o){var u=i(e,t),a=r(u,n,s);if(a===-1)return;u.splice(a,1),"function"==typeof e.didRemoveListener&&e.didRemoveListener(t,n,s)}!o&&"function"==typeof s&&(o=s,s=null);if(o)u(s,o);else{var a=e[n],f=a&&a.listeners&&a.listeners[t];if(!f)return;for(var l=f.length-1;l>=0;l--)u(f[l][0],f[l][1])}}function f(e,t,n,s,o){function l(){return o.call(n)}function c(){f&&(f[3]=undefined)}!s&&"function"==typeof n&&(s=n,n=null);var u=i(e,t),a=r(u,n,s),f;return a!==-1&&(f=u[a].slice(),f[3]=!0,u[a]=f),Ember.tryFinally(l,c)}function l(e,t,n,s,o){function d(){return o.call(n)}function v(){for(c=0,h=u.length;c<h;c++)u[c][3]=undefined}!s&&"function"==typeof n&&(s=n,n=null);var u=[],a,f,l,c,h;for(c=0,h=t.length;c<h;c++){a=t[c],f=i(e,a);var p=r(f,n,s);p!==-1&&(l=f[p].slice(),l[3]=!0,f[p]=l,u.push(l))}return Ember.tryFinally(d,v)}function c(e){var t=e[n].listeners,r=[];if(t)for(var i in t)t[i]&&r.push(i);return r}function h(e,t,r,i){e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r);if(!i){var s=e[n];i=s&&s.listeners&&s.listeners[t]}if(!i)return;for(var o=i.length-1;o>=0;o--){if(!i[o]||i[o][3]===!0)continue;var u=i[o][0],f=i[o][1],l=i[o][2];l&&a(e,t,u,f),u||(u=e),"string"==typeof f&&(f=u[f]),r?f.apply(u,r):f.call(u)}return!0}function p(e,t){var r=e[n],i=r&&r.listeners&&r.listeners[t];return!!i&&!!i.length}function d(e,t){var r=[],i=e[n],s=i&&i.listeners&&i.listeners[t];if(!s)return r;for(var o=0,u=s.length;o<u;o++){var a=s[o][0],f=s[o][1];r.push([a,f])}return r}var e=Ember.create,t=Ember.meta,n=Ember.META_KEY;Ember.addListener=u,Ember.removeListener=a,Ember._suspendListener=f,Ember._suspendListeners=l,Ember.sendEvent=h,Ember.hasListeners=p,Ember.watchedEvents=c,Ember.listenersFor=d,Ember.listenersDiff=o,Ember.listenersUnion=s}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,n=Ember._ObserverSet=function(){this.clear()};n.prototype.add=function(t,n,r){var i=this.observerSet,s=this.observers,o=e(t),u=i[o],a;return u||(i[o]=u={}),a=u[n],a===undefined&&(a=s.push({sender:t,keyName:n,eventName:r,listeners:[]})-1,u[n]=a),s[a].listeners},n.prototype.flush=function(){var e=this.observers,n,r,i,s;this.clear();for(n=0,r=e.length;n<r;++n){i=e[n],s=i.sender;if(s.isDestroying||s.isDestroyed)continue;t(s,i.eventName,[s,i.keyName],i.listeners)}},n.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function d(e,t,n){if(e.isDestroying)return;var r=h,i=!r;i&&(r=h={}),m(l,e,t,r,n),i&&(h=null)}function v(e,t,n){if(e.isDestroying)return;var r=p,i=!r;i&&(r=p={}),m(c,e,t,r,n),i&&(p=null)}function m(e,n,r,i,s){var o=t(n);i[o]||(i[o]={});if(i[o][r])return;i[o][r]=!0;var u=s.deps;u=u&&u[r];if(u)for(var a in u){var f=s.descs[a];if(f&&f._suspended===n)continue;e(n,a)}}var e=Ember.meta,t=Ember.guidFor,n=Ember.tryFinally,r=Ember.sendEvent,i=Ember.listenersUnion,s=Ember.listenersDiff,o=Ember._ObserverSet,u=new o,a=new o,f=0,l=Ember.propertyWillChange=function(t,n){var r=e(t,!1),i=r.watching[n]>0||n==="length",s=r.proto,o=r.descs[n];if(!i)return;if(s===t)return;o&&o.willChange&&o.willChange(t,n),d(t,n,r),g(t,n,r),S(t,n)},c=Ember.propertyDidChange=function(t,n){var r=e(t,!1),i=r.watching[n]>0||n==="length",s=r.proto,o=r.descs[n];if(s===t)return;o&&o.didChange&&o.didChange(t,n);if(!i&&n!=="length")return;v(t,n,r),y(t,n,r),x(t,n)},h,p,g=function(e,t,n,r){if(!n.hasOwnProperty("chainWatchers"))return;var i=n.chainWatchers;i=i[t];if(!i)return;for(var s=0,o=i.length;s<o;s++)i[s].willChange(r)},y=function(e,t,n,r){if(!n.hasOwnProperty("chainWatchers"))return;var i=n.chainWatchers;i=i[t];if(!i)return;for(var s=i.length-1;s>=0;s--)i[s].didChange(r)};Ember.overrideChains=function(e,t,n){y(e,t,n,!0)};var b=Ember.beginPropertyChanges=function(){f++},w=Ember.endPropertyChanges=function(){f--,f<=0&&(u.clear(),a.flush())},E=Ember.changeProperties=function(e,t){b(),n(e,w,t)},S=function(e,t){if(e.isDestroying)return;var n=t+":before",i,o;f?(i=u.add(e,t,n),o=s(e,n,i),r(e,n,[e,t],o)):r(e,n,[e,t])},x=function(e,t){if(e.isDestroying)return;var n=t+":change",s;f?(s=a.add(e,t,n),i(e,n,s)):r(e,n,[e,t])}}(),function(){function u(e,t,n,r){var i;i=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(i.length+1)),t!=="this"&&(e=s(e,t));if(!i||i.length===0)throw new Error("You passed an empty path");if(!e){if(r)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return o(e,i,n)}var e=Ember.META_KEY,t=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$]))/,r=Ember.propertyWillChange,i=Ember.propertyDidChange,s=Ember._getPath,o=function(r,i,s,o){typeof r=="string"&&(s=i,i=r,r=null);if(!r||i.indexOf(".")!==-1)return u(r,i,s,o);var a=r[e],f=a&&a.descs[i],l,c;return f?f.set(r,i,s):(l="object"==typeof r&&!(i in r),l&&"function"==typeof r.setUnknownProperty?r.setUnknownProperty(i,s):a&&a.watching[i]>0?(t?c=a.values[i]:c=r[i],s!==c&&(Ember.propertyWillChange(r,i),t?c!==undefined||i in r?a.values[i]=s:Ember.defineProperty(r,i,null,s):r[i]=s,Ember.propertyDidChange(r,i))):r[i]=s),s};Ember.config.overrideAccessors&&(Ember.set=o,Ember.config.overrideAccessors(),o=Ember.set),Ember.set=o,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,n){return o(e,t,n,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.META_KEY,t=Ember.meta,n=Ember.platform.defineProperty,r=Ember.ENV.MANDATORY_SETTER,i=Ember.Descriptor=function(){},s=Ember.MANDATORY_SETTER_FUNCTION=function(e){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var n=this[e];return n&&n.values[t]}};Ember.defineProperty=function(e,i,u,a,f){var l,c,h,p;return f||(f=t(e)),l=f.descs,c=f.descs[i],h=f.watching[i]>0,c instanceof Ember.Descriptor&&c.teardown(e,i),u instanceof Ember.Descriptor?(p=u,l[i]=u,r&&h?n(e,i,{configurable:!0,enumerable:!0,writable:!0,value:undefined}):e[i]=undefined,u.setup(e,i)):(l[i]=undefined,u==null?(p=a,r&&h?(f.values[i]=a,n(e,i,{configurable:!0,enumerable:!0,set:s,get:o(i)})):e[i]=a):(p=u,n(e,i,u))),h&&Ember.overrideChains(e,i,f),e.didDefineProperty&&e.didDefineProperty(e,i,p),this}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(n,r){return e(function(){for(var e in r)r.hasOwnProperty(e)&&t(n,e,r[e])}),n}}(),function(){var e=Ember.meta,t=Ember.typeOf,n=Ember.ENV.MANDATORY_SETTER,r=Ember.platform.defineProperty;Ember.watchKey=function(i,s){if(s==="length"&&t(i)==="array")return;var o=e(i),u=o.watching,a;u[s]?u[s]=(u[s]||0)+1:(u[s]=1,a=o.descs[s],a&&a.willWatch&&a.willWatch(i,s),"function"==typeof i.willWatchProperty&&i.willWatchProperty(s),n&&s in i&&(o.values[s]=i[s],r(i,s,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(s)})))},Ember.unwatchKey=function(t,i){var s=e(t),o=s.watching,u;o[i]===1?(o[i]=0,u=s.descs[i],u&&u.didUnwatch&&u.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),n&&i in t&&(r(t,i,{configurable:!0,enumerable:!0,writable:!0,value:s.values[i]}),delete s.values[i])):o[i]>1&&o[i]--}}(),function(){function l(e){return e.match(f)[0]}function h(t,n,r){if(!t||"object"!=typeof t)return;var i=e(t),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[n]||(o[n]=[]),o[n].push(r),s(t,n)}function d(t){return e(t,!1).proto===t}var e=Ember.meta,t=Ember.get,n=Ember.normalizeTuple,r=Ember.ArrayPolyfills.forEach,i=Ember.warn,s=Ember.watchKey,o=Ember.unwatchKey,u=Ember.propertyWillChange,a=Ember.propertyDidChange,f=/^([^\.\*]+)/,c=[];Ember.flushPendingChains=function(){if(c.length===0)return;var e=c;c=[],r.call(e,function(e){e[0].add(e[1])}),i("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",c.length===0)};var p=Ember.removeChainWatcher=function(t,n,r){if(!t||"object"!=typeof t)return;var i=e(t,!1);if(!i.hasOwnProperty("chainWatchers"))return;var s=i.chainWatchers;if(s[n]){s=s[n];for(var u=0,a=s.length;u<a;u++)s[u]===r&&s.splice(u,1)}o(t,n)},v=Ember._ChainNode=function(e,t,n){var r;this._parent=e,this._key=t,this._watching=n===undefined,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&h(this._object,this._key,this)),this._parent&&this._parent._key==="@each"&&this.value()},m=v.prototype;m.value=function(){if(this._value===undefined&&this._watching){var e=this._parent.value();this._value=e&&!d(e)?t(e,this._key):undefined}return this._value},m.destroy=function(){if(this._watching){var e=this._object;e&&p(e,this._key,this),this._watching=!1}},m.copy=function(e){var t=new v(null,null,e),n=this._paths,r;for(r in n){if(n[r]<=0)continue;t.add(r)}return t},m.add=function(e){var t,r,i,s,o;o=this._paths,o[e]=(o[e]||0)+1,t=this.value(),r=n(t,e);if(r[0]&&r[0]===t)e=r[1],i=l(e),e=e.slice(i.length+1);else{if(!r[0]){c.push([this,e]),r.length=0;return}s=r[0],i=e.slice(0,0-(r[1].length+1)),e=r[1]}r.length=0,this.chain(i,e,s)},m.remove=function(e){var t,r,i,s,o;o=this._paths,o[e]>0&&o[e]--,t=this.value(),r=n(t,e),r[0]===t?(e=r[1],i=l(e),e=e.slice(i.length+1)):(s=r[0],i=e.slice(0,0-(r[1].length+1)),e=r[1]),r.length=0,this.unchain(i,e)},m.count=0,m.chain=function(e,t,n){var r=this._chains,i;r||(r=this._chains={}),i=r[e],i||(i=r[e]=new v(this,e,n)),i.count++,t&&t.length>0&&(e=l(t),t=t.slice(e.length+1),i.chain(e,t))},m.unchain=function(e,t){var n=this._chains,r=n[e];t&&t.length>1&&(e=l(t),t=t.slice(e.length+1),r.unchain(e,t)),r.count--,r.count<=0&&(delete n[r._key],r.destroy())},m.willChange=function(){var e=this._chains;if(e)for(var t in e){if(!e.hasOwnProperty(t))continue;e[t].willChange()}this._parent&&this._parent.chainWillChange(this,this._key,1)},m.chainWillChange=function(e,t,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,n+1):(n>1&&u(this.value(),t),t="this."+t,this._paths[t]>0&&u(this.value(),t))},m.chainDidChange=function(e,t,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,n+1):(n>1&&a(this.value(),t),t="this."+t,this._paths[t]>0&&a(this.value(),t))},m.didChange=function(e){if(this._watching){var t=this._parent.value();t!==this._object&&(p(this._object,this._key,this),this._object=t,h(t,this._key,this)),this._value=undefined,this._parent&&this._parent._key==="@each"&&this.value()}var n=this._chains;if(n)for(var r in n){if(!n.hasOwnProperty(r))continue;n[r].didChange(e)}if(e)return;this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(t){var n=e(t,!1),r=n.chains;r&&(r.value()!==t&&(n.chains=r=r.copy(t)),r.didChange(!0))}}(),function(){function r(t){var r=e(t),i=r.chains;return i?i.value()!==t&&(i=r.chains=i.copy(t)):i=r.chains=new n(null,null,t),i}var e=Ember.meta,t=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if(i==="length"&&t(n)==="array")return;var s=e(n),o=s.watching;o[i]?o[i]=(o[i]||0)+1:(o[i]=1,r(n).add(i))},Ember.unwatchPath=function(t,n){var i=e(t),s=i.watching,o;s[n]===1?(s[n]=0,r(t).remove(n)):s[n]>1&&s[n]--}}(),function(){function c(e){return e==="*"||!l.test(e)}var e=Ember.meta,t=Ember.GUID_KEY,n=Ember.META_KEY,r=Ember.removeChainWatcher,i=Ember.watchKey,s=Ember.unwatchKey,o=Ember.watchPath,u=Ember.unwatchPath,a=Ember.typeOf,f=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(e,t){if(t==="length"&&a(e)==="array")return;c(t)?i(e,t):o(e,t)},Ember.isWatching=function(t,r){var i=t[n];return(i&&i.watching[r])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(e,t){if(t==="length"&&a(e)==="array")return;c(t)?s(e,t):u(e,t)},Ember.rewatch=function(n){var r=e(n,!1),i=r.chains;t in n&&!n.hasOwnProperty(t)&&f(n,"ember"),i&&i.value()!==n&&(r.chains=i.copy(n))};var h=[];Ember.destroy=function(e){var t=e[n],i,s,o,u;if(t){e[n]=null,i=t.chains;if(i){h.push(i);while(h.length>0){i=h.pop(),s=i._chains;if(s)for(o in s)s.hasOwnProperty(o)&&h.push(s[o]);i._watching&&(u=i._object,u&&r(u,i._key,i))}}}}}(),function(){function a(e,t,n){var r=t[n];return r?t.hasOwnProperty(n)||(r=t[n]=i(r)):r=t[n]={},r}function f(e,t){return a(e,t,"deps")}function l(e,t,n,r){var i=e._dependentKeys,s,u,l,c,h;if(!i)return;s=f(t,r);for(u=0,l=i.length;u<l;u++)c=i[u],h=a(t,s,c),h[n]=(h[n]||0)+1,o(t,c)}function c(e,t,n,r){var i=e._dependentKeys,s,o,l,c,h;if(!i)return;s=f(t,r);for(o=0,l=i.length;o<l;o++)c=i[o],h=a(t,s,c),h[n]=(h[n]||0)-1,u(t,c)}function h(e,t){this.func=e,this._cacheable=t&&t.cacheable!==undefined?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(t.readOnly!==undefined||!!t.readOnly)}function d(t,n){var r={};for(var i=0;i<n.length;i++)r[n[i]]=e(t,n[i]);return r}function v(e,t){Ember.computed[e]=function(e){var n=r.call(arguments);return Ember.computed(e,function(){return t.apply(this,n)})}}function m(e,t){Ember.computed[e]=function(){var e=r.call(arguments),n=Ember.computed(function(){return t.apply(this,[d(this,e)])});return n.property.apply(n,e)}}var e=Ember.get,t=Ember.set,n=Ember.meta,r=[].slice,i=Ember.create,s=Ember.META_KEY,o=Ember.watch,u=Ember.unwatch;Ember.ComputedProperty=h,h.prototype=new Ember.Descriptor;var p=h.prototype;p.cacheable=function(e){return this._cacheable=e!==!1,this},p.volatile=function(){return this.cacheable(!1)},p.readOnly=function(e){return this._readOnly=e===undefined||!!e,this},p.property=function(){var e=[];for(var t=0,n=arguments.length;t<n;t++)e.push(arguments[t]);return this._dependentKeys=e,this},p.meta=function(e){return arguments.length===0?this._meta||{}:(this._meta=e,this)},p.willWatch=function(e,t){var n=e[s];t in n.cache||l(this,e,t,n)},p.didUnwatch=function(e,t){var n=e[s];t in n.cache||c(this,e,t,n)},p.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=n(e);t in r.cache&&(delete r.cache[t],r.watching[t]||c(this,e,t,r))}},p.get=function(e,t){var r,i,s;if(this._cacheable){s=n(e),i=s.cache;if(t in i)return i[t];r=i[t]=this.func.call(e,t),s.watching[t]||l(this,e,t,s)}else r=this.func.call(e,t);return r},p.set=function(e,t,r){var i=this._cacheable,s=this.func,o=n(e,i),u=o.watching[t],a=this._suspended,f=!1,c=o.cache,h,p;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{i&&c.hasOwnProperty(t)&&(h=c[t],f=!0),s.wrappedFunction&&(s=s.wrappedFunction);if(s.length===3)p=s.call(e,t,r,h);else{if(s.length!==2){Ember.defineProperty(e,t,null,h),Ember.set(e,t,r);return}p=s.call(e,t,r)}if(f&&h===p)return;u&&Ember.propertyWillChange(e,t),f&&delete c[t],i&&(!u&&!f&&l(this,e,t,o),c[t]=p),u&&Ember.propertyDidChange(e,t)}finally{this._suspended=a}return p},p.setup=function(e,t){var r=e[s];r&&r.watching[t]&&l(this,e,t,n(e))},p.teardown=function(e,t){var r=n(e);return(r.watching[t]||t in r.cache)&&c(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;arguments.length>1&&(t=r.call(arguments,0,-1),e=r.call(arguments,-1)[0]);if(typeof e!="function")throw new Error("Computed Property declared without a property function");var n=new h(e);return t&&n.property.apply(n,t),n},Ember.cacheFor=function(t,r){var i=n(t,!1).cache;if(i&&r in i)return i[r]},v("empty",function(t){return Ember.isEmpty(e(this,t))}),v("notEmpty",function(t){return!Ember.isEmpty(e(this,t))}),v("none",function(t){return Ember.isNone(e(this,t))}),v("not",function(t){return!e(this,t)}),v("bool",function(t){return!!e(this,t)}),v("match",function(t,n){var r=e(this,t);return typeof r=="string"?!!r.match(n):!1}),v("equal",function(t,n){return e(this,t)===n}),v("gt",function(t,n){return e(this,t)>n}),v("gte",function(t,n){return e(this,t)>=n}),v("lt",function(t,n){return e(this,t)<n}),v("lte",function(t,n){return e(this,t)<=n}),m("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),m("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),m("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),m("map",function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&(Ember.isNone(e[n])?t.push(null):t.push(e[n]));return t}),Ember.computed.alias=function(n){return Ember.computed(n,function(r,i){return arguments.length>1?(t(this,n,i),i):e(this,n)})},Ember.computed.defaultTo=function(t){return Ember.computed(function(n,r,i){var s;return arguments.length===1?i!=null?i:e(this,t):r!=null?r:e(this,t)})}}(),function(){function r(t){return t+e}function i(e){return e+t}var e=":change",t=":before",n=Ember.guidFor;Ember.addObserver=function(e,t,n,i){return Ember.addListener(e,r(t),n,i),Ember.watch(e,t),this},Ember.observersFor=function(e,t){return Ember.listenersFor(e,r(t))},Ember.removeObserver=function(e,t,n,i){return Ember.unwatch(e,t),Ember.removeListener(e,r(t),n,i),this},Ember.addBeforeObserver=function(e,t,n,r){return Ember.addListener(e,i(t),n,r),Ember.watch(e,t),this},Ember._suspendBeforeObserver=function(e,t,n,r,s){return Ember._suspendListener(e,i(t),n,r,s)},Ember._suspendObserver=function(e,t,n,i,s){return Ember._suspendListener(e,r(t),n,i,s)};var s=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,t,n,r,o){var u=s.call(t,i);return Ember._suspendListeners(e,u,n,r,o)},Ember._suspendObservers=function(e,t,n,i,o){var u=s.call(t,r);return Ember._suspendListeners(e,u,n,i,o)},Ember.beforeObserversFor=function(e,t){return Ember.listenersFor(e,i(t))},Ember.removeBeforeObserver=function(e,t,n,r){return Ember.unwatch(e,t),Ember.removeListener(e,i(t),n,r),this}}(),function(){function n(t,n,r,i){return n===undefined&&(n=t,t=undefined),"string"==typeof n&&(n=t[n]),r&&i>0&&(r=r.length>i?e.call(r,i):null),Ember.handleErrors(function(){return n.apply(t||this,r||[])},this)}function u(){o=null,s.currentRunLoop&&s.end()}function c(){f=null,s(function(){var e=+(new Date),t=-1;for(var r in a){if(!a.hasOwnProperty(r))continue;var i=a[r];if(i&&i.expires)if(e>=i.expires)delete a[r],n(i.target,i.method,i.args,2);else if(t<0||i.expires<t)t=i.expires}t>0&&(f=setTimeout(c,t-e),l=t)})}function h(e,t){t[this.tguid]&&delete t[this.tguid][this.mguid],a[e]&&n(this.target,this.method,this.args),delete a[e]}function p(e,t,n,r){var i=Ember.guidFor(t),o=Ember.guidFor(n),u=s.autorun().onceTimers,f=u[i]&&u[i][o],l;return f&&a[f]?a[f].args=r:(l={target:t,method:n,args:r,tguid:i,mguid:o},f=Ember.guidFor(l),a[f]=l,u[i]||(u[i]={}),u[i][o]=f,s.schedule(e,l,h,f,u)),f}var e=[].slice,t=Ember.ArrayPolyfills
|
16
|
-
.forEach,r,i=function(e){this._prev=e||null,this.onceTimers={}};i.prototype={end:function(){this.flush()},prev:function(){return this._prev},schedule:function(t,n,r){var i=this._queues,s;i||(i=this._queues={}),s=i[t],s||(s=i[t]=[]);var o=arguments.length>3?e.call(arguments,3):null;return s.push({target:n,method:r,args:o}),this},flush:function(e){function f(e){n(e.target,e.method,e.args)}function l(){t.call(u,f)}var i,s,o,u,a;if(!this._queues)return this;Ember.watch.flushPending();if(e)while(this._queues&&(u=this._queues[e]))this._queues[e]=null,e==="sync"?(a=Ember.LOG_BINDINGS,a&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember.beginPropertyChanges(),Ember.tryFinally(l,Ember.endPropertyChanges),a&&Ember.Logger.log("End: Flush Sync Queue")):t.call(u,f);else{i=Ember.run.queues,o=i.length,s=0;e:while(s<o){e=i[s],u=this._queues&&this._queues[e],delete this._queues[e],u&&(e==="sync"?(a=Ember.LOG_BINDINGS,a&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember.beginPropertyChanges(),Ember.tryFinally(l,Ember.endPropertyChanges),a&&Ember.Logger.log("End: Flush Sync Queue")):t.call(u,f));for(var c=0;c<=s;c++)if(this._queues&&this._queues[i[c]]){s=c;continue e}s++}}return r=null,this}},Ember.RunLoop=i,Ember.run=function(e,t){function i(){if(e||t)return n(e,t,r,2)}var r=arguments;return s.begin(),Ember.tryFinally(i,s.end)};var s=Ember.run;Ember.run.begin=function(){s.currentRunLoop=new i(s.currentRunLoop)},Ember.run.end=function(){function e(){s.currentRunLoop.end()}function t(){s.currentRunLoop=s.currentRunLoop.prev()}Ember.tryFinally(e,t)},Ember.run.queues=["sync","actions","destroy"],Ember.run.schedule=function(e,t,n){var r=s.autorun();r.schedule.apply(r,arguments)};var o;Ember.run.hasScheduledTimers=function(){return!!o||!!f},Ember.run.cancelTimers=function(){o&&(clearTimeout(o),o=null),f&&(clearTimeout(f),f=null),a={}},Ember.run.autorun=function(){return s.currentRunLoop||(s.begin(),o||(o=setTimeout(u,1))),s.currentRunLoop},Ember.run.sync=function(){s.autorun(),s.currentRunLoop.flush("sync")};var a={},f,l;Ember.run.later=function(t,n){var r,i,s,o,u;return arguments.length===2&&"function"==typeof t?(u=n,n=t,t=undefined,r=[t,n]):(r=e.call(arguments),u=r.pop()),i=+(new Date)+u,s={target:t,method:n,expires:i,args:r},o=Ember.guidFor(s),a[o]=s,f&&i<l&&(clearTimeout(f),f=null),f||(f=setTimeout(c,u),l=i),o},Ember.run.once=function(t,n){return p("actions",t,n,e.call(arguments,2))},Ember.run.scheduleOnce=function(t,n,r,i){return p(t,n,r,e.call(arguments,3))},Ember.run.next=function(){var t=e.call(arguments);return t.push(1),s.later.apply(this,t)},Ember.run.cancel=function(e){delete a[e]}}(),function(){function s(t,n){return e(i(n)?Ember.lookup:t,n)}function u(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}Ember.LOG_BINDINGS=!!Ember.ENV.LOG_BINDINGS;var e=Ember.get,t=Ember.set,n=Ember.guidFor,r=/^([A-Z$]|([0-9][A-Z$]))/,i=Ember.isGlobalPath=function(e){return r.test(e)},o=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};o.prototype={copy:function(){var e=new o(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(e){var t=this._from,n=this._to;return Ember.trySet(e,n,s(e,t)),Ember.addObserver(e,t,this,this.fromDidChange),this._oneWay||Ember.addObserver(e,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var n=this._directionMap,r=n.get(e);r||(Ember.run.schedule("sync",this,this._sync,e),n.set(e,t)),r==="back"&&t==="fwd"&&n.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(t.isDestroyed||!this._readyToSync)return;var r=this._directionMap,i=r.get(t),o=this._from,u=this._to;r.remove(t);if(i==="fwd"){var a=s(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",a,t),this._oneWay?Ember.trySet(t,u,a):Ember._suspendObserver(t,u,this,this.toDidChange,function(){Ember.trySet(t,u,a)})}else if(i==="back"){var f=e(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",f,t),Ember._suspendObserver(t,o,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(o)?Ember.lookup:t,o,f)})}}},u(o,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var n=this,r=new n(null,e);return r.oneWay(t)}}),Ember.Binding=o,Ember.bind=function(e,t,n){return(new Ember.Binding(t,n)).connect(e)},Ember.oneWay=function(e,t,n){return(new Ember.Binding(t,n)).oneWay().connect(e)}}(),function(){function l(e){var t=Ember.meta(e,!0),n=t.mixins;return n?t.hasOwnProperty("mixins")||(n=t.mixins=u(n)):n=t.mixins={},n}function c(t,n){return n&&n.length>0&&(t.mixins=r.call(n,function(t){if(t instanceof e)return t;var n=new e;return n.properties=t,n})),t}function h(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function d(t,n){var r;return n instanceof e?(r=f(n),t[r]?p:(t[r]=n,n.properties)):n}function v(e,t,n){var r;return r=t.concatenatedProperties||n.concatenatedProperties,e.concatenatedProperties&&(r=r?r.concat(e.concatenatedProperties):e.concatenatedProperties),r}function m(e,t,n,r,i){var s;return r[t]===undefined&&(s=i[t]),s=s||e.descs[t],!!s&&s instanceof Ember.ComputedProperty?(n=u(n),n.func=Ember.wrap(n.func,s.func),n):n}function g(e,t,n,r,i){var s;return i[t]===undefined&&(s=r[t]),s=s||e[t],"function"!=typeof s?n:Ember.wrap(n,s)}function y(e,t,n,r){var i=r[t]||e[t];return i?"function"==typeof i.concat?i.concat(n):Ember.makeArray(i).concat(n):Ember.makeArray(n)}function b(e,n,r,s,o,u,a){if(r instanceof Ember.Descriptor){if(r===t&&o[n])return p;r.func&&(r=m(s,n,r,u,o)),o[n]=r,u[n]=undefined}else{if(h(r))r=g(e,n,r,u,o);else if(a&&i.call(a,n)>=0||n==="concatenatedProperties")r=y(e,n,r,u);o[n]=undefined,u[n]=r}}function w(e,t,n,r,i,o){function h(e){delete n[e],delete r[e]}var u,a,f,l,c;for(var m=0,g=e.length;m<g;m++){u=e[m],a=d(t,u);if(a===p)continue;if(a){c=Ember.meta(i),l=v(a,r,i);for(f in a){if(!a.hasOwnProperty(f))continue;o.push(f),b(i,f,a[f],c,n,r,l)}a.hasOwnProperty("toString")&&(i.toString=a.toString)}else u.mixins&&(w(u.mixins,t,n,r,i,o),u._without&&s.call(u._without,h))}}function E(e){var t=Ember.meta(e),n=t.required;if(!n||!t.hasOwnProperty("required"))n=t.required=n?u(n):{};return n}function x(e,t,n,r){if(S.test(t)){var i=r.bindings;i?r.hasOwnProperty("bindings")||(i=r.bindings=u(r.bindings)):i=r.bindings={},i[t]=n}}function T(e,t){var n=t.bindings,r,i,s;if(n){for(r in n)i=n[r],i&&(s=r.slice(0,-7),i instanceof Ember.Binding?(i=i.copy(),i.to(s)):i=new Ember.Binding(s,i),i.connect(e),e[r]=i);t.bindings={}}}function N(e,t){return T(e,t||Ember.meta(e)),e}function C(e,t,n,r,i){var s=t.methodName,o;return r[s]||i[s]?(o=i[s],t=r[s]):n.descs[s]?(t=n.descs[s],o=undefined):(t=undefined,o=e[s]),{desc:t,value:o}}function k(e,t,n,r,i){if("function"!=typeof n)return;var s=n[r];if(s)for(var o=0,u=s.length;o<u;o++)Ember[i](e,s[o],null,t)}function L(e,t,n){var r=e[t];k(e,t,r,"__ember_observesBefore__","removeBeforeObserver"),k(e,t,r,"__ember_observes__","removeObserver"),k(e,t,n,"__ember_observesBefore__","addBeforeObserver"),k(e,t,n,"__ember_observes__","addObserver")}function A(e,r,i){var s={},o={},u=Ember.meta(e),f,c,h,p=[];w(r,l(e),s,o,e,p);for(var d=0,v=p.length;d<v;d++){f=p[d];if(f==="constructor"||!o.hasOwnProperty(f))continue;h=s[f],c=o[f];if(h===t)continue;while(h&&h instanceof n){var m=C(e,h,u,s,o);h=m.desc,c=m.value}if(h===undefined&&c===undefined)continue;L(e,f,c),x(e,f,c,u),a(e,f,h,c,u)}return i||N(e,u),e}function M(e,t,n){var r=f(e);if(n[r])return!1;n[r]=!0;if(e===t)return!0;var i=e.mixins,s=i?i.length:0;while(--s>=0)if(M(i[s],t,n))return!0;return!1}function _(e,t,n){if(n[f(t)])return;n[f(t)]=!0;if(t.properties){var r=t.properties;for(var i in r)r.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&s.call(t.mixins,function(t){_(e,t,n)})}var e,t,n,r=Ember.ArrayPolyfills.map,i=Ember.ArrayPolyfills.indexOf,s=Ember.ArrayPolyfills.forEach,o=[].slice,u=Ember.create,a=Ember.defineProperty,f=Ember.guidFor,p={},S=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=o.call(arguments,1);return A(e,t,!1),e},Ember.Mixin=function(){return c(this,arguments)},e=Ember.Mixin,e.prototype={properties:null,mixins:null,ownerConstructor:null},e._apply=A,e.applyPartial=function(e){var t=o.call(arguments,1);return A(e,t,!0)},e.finishPartial=N,Ember.anyUnprocessedMixins=!1,e.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return c(new e,arguments)};var O=e.prototype;O.reopen=function(){var t,n;this.properties?(t=e.create(),t.properties=this.properties,delete this.properties,this.mixins=[t]):this.mixins||(this.mixins=[]);var r=arguments.length,i=this.mixins,s;for(s=0;s<r;s++)t=arguments[s],t instanceof e?i.push(t):(n=e.create(),n.properties=t,i.push(n));return this},O.apply=function(e){return A(e,[this],!1)},O.applyPartial=function(e){return A(e,[this],!0)},O.detect=function(t){if(!t)return!1;if(t instanceof e)return M(t,this,{});var n=Ember.meta(t,!1).mixins;return n?!!n[f(this)]:!1},O.without=function(){var t=new e(this);return t._without=o.call(arguments),t},O.keys=function(){var e={},t={},n=[];_(e,this,t);for(var r in e)e.hasOwnProperty(r)&&n.push(r);return n},e.mixins=function(e){var t=Ember.meta(e,!1).mixins,n=[];if(!t)return n;for(var r in t){var i=t[r];i.properties||n.push(i)}return n},t=new Ember.Descriptor,t.toString=function(){return"(Required Property)"},Ember.required=function(){return t},n=function(e){this.methodName=e},n.prototype=new Ember.Descriptor,Ember.alias=function(e){return new n(e)},Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new n(e)},Ember.observer=function(e){var t=o.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;e<t;e++)var n=arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=o.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){}(),function(){e("rsvp",[],function(){"use strict";function d(e,t){n.async(function(){e.trigger("promise:resolved",{detail:t}),e.isResolved=!0,e.resolvedValue=t})}function v(e,t){n.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedValue=t})}function m(e){var t,n=[],r=new c,i=e.length;i===0&&r.resolve([]);var s=function(e){return function(t){o(e,t)}},o=function(e,t){n[e]=t,--i===0&&r.resolve(n)},u=function(e){r.reject(e)};for(t=0;t<i;t++)e[t].then(s(t),u);return r}var e=typeof window!="undefined"?window:{},t=e.MutationObserver||e.WebKitMutationObserver,n,r;if(typeof process!="undefined"&&{}.toString.call(process)==="[object process]")r=function(e,t){process.nextTick(function(){e.call(t)})};else if(t){var i=[],s=new t(function(){var e=i.slice();i=[],e.forEach(function(e){var t=e[0],n=e[1];t.call(n)})}),o=document.createElement("div");s.observe(o,{attributes:!0}),window.addEventListener("unload",function(){s.disconnect(),s=null}),r=function(e,t){i.push([e,t]),o.setAttribute("drainQueue","drainQueue")}}else r=function(e,t){setTimeout(function(){e.call(t)},1)};var u=function(e,t){this.type=e;for(var n in t){if(!t.hasOwnProperty(n))continue;this[n]=t[n]}},a=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n][0]===t)return n;return-1},f=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},l={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,n){var r=f(this),i,s;e=e.split(/\s+/),n=n||this;while(s=e.shift())i=r[s],i||(i=r[s]=[]),a(i,t)===-1&&i.push([t,n])},off:function(e,t){var n=f(this),r,i,s;e=e.split(/\s+/);while(i=e.shift()){if(!t){n[i]=[];continue}r=n[i],s=a(r,t),s!==-1&&r.splice(s,1)}},trigger:function(e,t){var n=f(this),r,i,s,o,a;if(r=n[e])for(var l=0;l<r.length;l++)i=r[l],s=i[0],o=i[1],typeof t!="object"&&(t={detail:t}),a=new u(e,t),s.call(o,a)}},c=function(){this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this)},h=function(){},p=function(e,t,n,r){var i=typeof n=="function",s,o,u,a;if(i)try{s=n(r.detail),u=!0}catch(f){a=!0,o=f}else s=r.detail,u=!0;s&&typeof s.then=="function"?s.then(function(e){t.resolve(e)},function(e){t.reject(e)}):i&&u?t.resolve(s):a?t.reject(o):t[e](s)};return c.prototype={then:function(e,t){var r=new c;return this.isResolved&&n.async(function(){p("resolve",r,e,{detail:this.resolvedValue})},this),this.isRejected&&n.async(function(){p("reject",r,t,{detail:this.rejectedValue})},this),this.on("promise:resolved",function(t){p("resolve",r,e,t)}),this.on("promise:failed",function(e){p("reject",r,t,e)}),r},resolve:function(e){d(this,e),this.resolve=h,this.reject=h},reject:function(e){v(this,e),this.resolve=h,this.reject=h}},l.mixin(c.prototype),n={async:r,Promise:c,Event:u,EventTarget:l,all:m,raiseOnUncaughtExceptions:!0},n})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function n(e){throw new Error(e+" is not currently supported on child containers")}function r(e,t){var n=s(e,t,"singleton");return n!==!1}function i(e,t){var n={};if(!t)return n;var r,i;for(var s=0,o=t.length;s<o;s++)r=t[s],i=e.lookup(r.fullName),n[r.property]=i;return n}function s(e,t,n){var r=e._options.get(t);if(r&&r[n]!==undefined)return r[n];var i=t.split(":")[0];r=e._typeOptions.get(i);if(r)return r[n]}function o(e,t){var n=e.normalize(t);return e.resolve(n)}function u(e,t){var n=o(e,t),r=t.split(":"),u=r[0],a=r[1],f;if(s(e,t,"instantiate")===!1)return n;if(n){var l=[];l=l.concat(e.typeInjections.get(u)||[]),l=l.concat(e.injections[t]||[]);var c=i(e,l);return c.container=e,c._debugContainerKey=t,f=n.create(c),f}}function a(e,t){e.cache.eachLocal(function(n,r){if(s(e,n,"instantiate")===!1)return;t(r)})}function f(e){e.cache.eachLocal(function(t,n){if(s(e,t,"instantiate")===!1)return;n.destroy()}),e.cache.dict={}}return e.prototype={get:function(e){var t=this.dict;if(t.hasOwnProperty(e))return t[e];if(this.parent)return this.parent.get(e)},set:function(e,t){this.dict[e]=t},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var n=this.dict;for(var r in n)n.hasOwnProperty(r)&&e.call(t,r,n[r])}},t.prototype={child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,n){e[t]=n},register:function(e,t,n,r){var i;e.indexOf(":")!==-1?(r=n,n=t,i=e):i=e+":"+t;var s=this.normalize(i);this.registry.set(s,n),this._options.set(s,r||{})},resolve:function(e){return this.resolver(e)||this.registry.get(e)},normalize:function(e){return e},lookup:function(e,t){e=this.normalize(e),t=t||{};if(this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var n=u(this,e);if(!n)return;return r(this,e)&&t.singleton!==!1&&this.cache.set(e,n),n},has:function(e){return this.cache.has(e)?!0:!!o(this,e)},optionsForType:function(e,t){this.parent&&n("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,r){this.parent&&n("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:r})},injection:function(e,t,r){this.parent&&n("injection");if(e.indexOf(":")===-1)return this.typeInjection(e,t,r);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:r})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;e<t;e++)this.children[e].destroy();this.children=[],a(this,function(e){e.isDestroying=!0}),a(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;e<t;e++)f(this.children[e]);f(this)}},t})}(),function(){function t(n,r,i,s){var o,u,a;if("object"!=typeof n||n===null)return n;if(r&&(u=e(i,n))>=0)return s[u];if(Ember.typeOf(n)==="array"){o=n.slice();if(r){u=o.length;while(--u>=0)o[u]=t(o[u],r,i,s)}}else if(Ember.Copyable&&Ember.Copyable.detect(n))o=n.copy(r,i,s);else{o={};for(a in n){if(!n.hasOwnProperty(a))continue;if(a.substring(0,2)==="__")continue;o[a]=r?t(n[a],r,i,s):n[a]}}return r&&(i.push(n),s.push(o)),o}var e=Ember.EnumerableUtils.indexOf;Ember.compare=function r(e,t){if(e===t)return 0;var n=Ember.typeOf(e),i=Ember.typeOf(t),s=Ember.Comparable;if(s){if(n==="instance"&&s.detect(e.constructor))return e.constructor.compare(e,t);if(i==="instance"&&s.detect(t.constructor))return 1-t.constructor.compare(t,e)}var o=Ember.ORDER_DEFINITION_MAPPING;if(!o){var u=Ember.ORDER_DEFINITION;o=Ember.ORDER_DEFINITION_MAPPING={};var a,f;for(a=0,f=u.length;a<f;++a)o[u[a]]=a;delete Ember.ORDER_DEFINITION}var l=o[n],c=o[i];if(l<c)return-1;if(l>c)return 1;switch(n){case"boolean":case"number":if(e<t)return-1;if(e>t)return 1;return 0;case"string":var h=e.localeCompare(t);if(h<0)return-1;if(h>0)return 1;return 0;case"array":var p=e.length,d=t.length,v=Math.min(p,d),m=0,g=0;while(m===0&&g<v)m=r(e[g],t[g]),g++;if(m!==0)return m;if(p<d)return-1;if(p>d)return 1;return 0;case"instance":if(Ember.Comparable&&Ember.Comparable.detect(e))return e.compare(e,t);return 0;case"date":var y=e.getTime(),b=t.getTime();if(y<b)return-1;if(y>b)return 1;return 0;default:return 0}},Ember.copy=function(e,n){return"object"!=typeof e||e===null?e:Ember.Copyable&&Ember.Copyable.detect(e)?e.copy(n):t(e,n,n?[]:null,n?[]:null)},Ember.inspect=function(e){if(typeof e!="object"||e===null)return e+"";var t,n=[];for(var r in e)if(e.hasOwnProperty(r)){t=e[r];if(t==="toString")continue;Ember.typeOf(t)==="function"&&(t="function() { ... }"),n.push(r+": "+t)}return"{"+n.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},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(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t});var n=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){var e=Error.prototype.constructor.apply(this,arguments);for(var t=0;t<n.length;t++)this[n[t]]=e[n[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},n=/([a-z])([A-Z])/g,r=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,s=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var n=0;return e.replace(/%@([0-9]+)?/g,function(e,r){return r=r?parseInt(r,0)-1:n++,e=t[r],(e===null?"(null)":e===undefined?"":e).toString()})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(n,"$1_$2").toLowerCase()},dasherize:function(n){var r=t,i=r.hasOwnProperty(n),s;return i?r[n]:(s=Ember.String.decamelize(n).replace(e,"-"),r[n]=s,s)},camelize:function(e){return e.replace(r,function(e,t,n){return n?n.toUpperCase():""}).replace(/^([A-Z])/,function(e,t,n){return e.toLowerCase()})},classify:function(e){var t=e.split("."),n=[];for(var r=0,i=t.length;r<i;r++){var s=Ember.String.camelize(t[r]);n.push(s.charAt(0).toUpperCase()+s.substr(1))}return n.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(s,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,n=Ember.String.loc,r=Ember.String.camelize,i=Ember.String.decamelize,s=Ember.String.dasherize,o=Ember.String.underscore,u=Ember.String.capitalize,a=Ember.String.classify;if(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return n(this,arguments)},String.prototype.camelize=function(){return r(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return s(this)},String.prototype.underscore=function(){return o(this)},String.prototype.classify=function(){return a(this)},String.prototype.capitalize=function(){return u(this)}}(),function(){var e=Array.prototype.slice;if(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this}}(),function(){}(),function(){function s(){return i.length===0?{}:i.pop()}function o(e){return i.push(e),null}function u(t,n){function i(i){var s=e(i,t);return r?n===s:!!s}var r=arguments.length===2;return i}var e=Ember.get,t=Ember.set,n=Array.prototype.slice,r=Ember.EnumerableUtils.indexOf,i=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(e(this,"length")===0)return undefined;var t=s(),n;return n=this.nextObject(0,null,t),o(t),n}).property("[]"),lastObject:Ember.computed(function(){var t=e(this,"length");if(t===0)return undefined;var n=s(),r=0,i,u=null;do u=i,i=this.nextObject(r++,u,n);while(i!==undefined);return o(n),u}).property("[]"),contains:function(e){return this.find(function(t){return t===e})!==undefined},forEach:function(t,n){if(typeof t!="function")throw new TypeError;var r=e(this,"length"),i=null,u=s();n===undefined&&(n=null);for(var a=0;a<r;a++){var f=this.nextObject(a,i,u);t.call(n,f,a,this),i=f}return i=null,u=o(u),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,n){return this.forEach(function(r){t(r,e,n)})},map:function(e,t){var n=Ember.A([]);return this.forEach(function(r,i,s){n[i]=e.call(t,r,i,s)}),n},mapProperty:function(t){return this.map(function(n){return e(n,t)})},filter:function(e,t){var n=Ember.A([]);return this.forEach(function(r,i,s){e.call(t,r,i,s)&&n.push(r)}),n},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(e,t){return this.filter(u.apply(this,arguments))},rejectProperty:function(t,n){var r=function(r){return e(r,t)===n},i=function(n){return!!e(n,t)},s=arguments.length===2?r:i;return this.reject(s)},find:function(t,n){var r=e(this,"length");n===undefined&&(n=null);var i=null,u,a=!1,f,l=s();for(var c=0;c<r&&!a;c++){u=this.nextObject(c,i,l);if(a=t.call(n,u,c,this))f=u;i=u}return u=i=null,l=o(l),f},findProperty:function(e,t){return this.find(u.apply(this,arguments))},every:function(e,t){return!this.find(function(n,r,i){return!e.call(t,n,r,i)})},everyProperty:function(e,t){return this.every(u.apply(this,arguments))},some:function(e,t){return!!this.find(function(n,r,i){return!!e.call(t,n,r,i)})},someProperty:function(e,t){return this.some(u.apply(this,arguments))},reduce:function(e,t,n){if(typeof e!="function")throw new TypeError;var r=t;return this.forEach(function(t,i){r=e.call(null,r,t,i,this,n)},this),r},invoke:function(e){var t,r=Ember.A([]);return arguments.length>1&&(t=n.call(arguments,1)),this.forEach(function(n,i){var s=n&&n[e];"function"==typeof s&&(r[i]=t?s.apply(n,t):s.call(n))},this),r},toArray:function(){var e=Ember.A([]);return this.forEach(function(t,n){e[n]=t}),e},compact:function(){return this.filter(function(e){return e!=null})},without:function(e){if(!this.contains(e))return this;var t=Ember.A([]);return this.forEach(function(n){n!==e&&(t[t.length]=n)}),t},uniq:function(){var e=Ember.A([]);return this.forEach(function(t){r(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(e,t){return this}),addEnumerableObserver:function(t,n){var r=n&&n.willChange||"enumerableWillChange",i=n&&n.didChange||"enumerableDidChange",s=e(this,"hasEnumerableObservers");return s||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",t,r),Ember.addListener(this,"@enumerable:change",t,i),s||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(t,n){var r=n&&n.willChange||"enumerableWillChange",i=n&&n.didChange||"enumerableDidChange",s=e(this,"hasEnumerableObservers");return s&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",t,r),Ember.removeListener(this,"@enumerable:change",t,i),s&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(t,n){var r,i,s;return"number"==typeof t?r=t:t?r=e(t,"length"):r=t=-1,"number"==typeof n?i=n:n?i=e(n,"length"):i=n=-1,s=i<0||r<0||i-r!==0,t===-1&&(t=null),n===-1&&(n=null),Ember.propertyWillChange(this,"[]"),s&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,t,n]),this},enumerableContentDidChange:function(t,n){var r,i,s;return"number"==typeof t?r=t:t?r=e(t,"length"):r=t=-1,"number"==typeof n?i=n:n?i=e(n,"length"):i=n=-1,s=i<0||r<0||i-r!==0,t===-1&&(t=null),n===-1&&(n=null),Ember.sendEvent(this,"@enumerable:change",[this,t,n]),s&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){function i(e){return e===null||e===undefined}var e=Ember.get,t=Ember.set,n=Ember.EnumerableUtils.map,r=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{isSCArray:!0,length:Ember.required(),objectAt:function(t){return t<0||t>=e(this,"length")?undefined:e(this,t)},objectsAt:function(e){var t=this;return n(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,n){return n!==undefined&&this.replace(0,e(this,"length"),n),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(t,n){var r=Ember.A([]),s=e(this,"length");i(t)&&(t=0);if(i(n)||n>s)n=s;t<0&&(t=s+t),n<0&&(n=s+n);while(t<n)r[r.length]=this.objectAt(t++);return r},indexOf:function(t,n){var r,i=e(this,"length");n===undefined&&(n=0),n<0&&(n+=i);for(r=n;r<i;r++)if(this.objectAt(r,!0)===t)return r;return-1},lastIndexOf:function(t,n){var r,i=e(this,"length");if(n===undefined||n>=i)n=i-1;n<0&&(n+=i);for(r=n;r>=0;r--)if(this.objectAt(r)===t)return r;return-1},addArrayObserver:function(t,n){var r=n&&n.willChange||"arrayWillChange",i=n&&n.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,r),Ember.addListener(this,"@array:change",t,i),s||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,n){var r=n&&n.willChange||"arrayWillChange",i=n&&n.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,r),Ember.removeListener(this,"@array:change",t,i),s&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,n,r){t===undefined?(t=0,n=r=-1):(n===undefined&&(n=-1),r===undefined&&(r=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,n,r]);var i,s;if(t>=0&&n>=0&&e(this,"hasEnumerableObservers")){i=[],s=t+n;for(var o=t;o<s;o++)i.push(this.objectAt(o))}else i=n;return this.enumerableContentWillChange(i,r),this},arrayContentDidChange:function(t,n,i){t===undefined?(t=0,n=i=-1):(n===undefined&&(n=-1),i===undefined&&(i=-1));var s,o;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){s=[],o=t+i;for(var u=t;u<o;u++)s.push(this.objectAt(u))}else s=i;this.enumerableContentDidChange(n,s),Ember.sendEvent(this,"@array:change",[this,t,n,i]);var a=e(this,"length"),f=r(this,"firstObject"),l=r(this,"lastObject");return this.objectAt(0)!==f&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(a-1)!==l&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({isComparable:!0,compare:Ember.required(Function)})}(),function(){var e=Ember.get,t=Ember.set;Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],n=Ember.get,r=Ember.set;Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=n(this,"length");return e===0?this:(this.replace(0,e,t),this)},insertAt:function(t,r){if(t>n(this,"length"))throw new Error(e);return this.replace(t,0,[r]),this},removeAt:function(r,i){if("number"==typeof r){if(r<0||r>=n(this,"length"))throw new Error(e);i===undefined&&(i=1),this.replace(r,i,t)}return this},pushObject:function(e){return this.insertAt(n(this,"length"),e),e},pushObjects:function(e){return this.replace(n(this,"length"),0,e),this},popObject:function(){var e=n(this,"length");if(e===0)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(n(this,"length")===0)return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=n(this,"length");if(e===0)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(e.length===0)return this.clear();var t=n(this,"length");return this.replace(0,t,e),this},removeObject:function(e){var t=n(this,"length")||0;while(--t>=0){var r=this.objectAt(t);r===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},n=arguments;arguments.length===1&&Ember.typeOf(arguments[0])==="array"&&(n=arguments[0]);for(var r=0;r<n.length;r++)t[n[r]]=e(this,n[r]);return t},set:function(e,n){return t(this,e,n),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,n){Ember.addBeforeObserver(this,e,t,n)},addObserver:function(e,t,n){Ember.addObserver(this,e,t,n)},removeObserver:function(e,t,n){Ember.removeObserver(this,e,t,n)},hasObserverFor:function(e){return Ember
|
17
|
-
.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(n,r){return r||(r=1),t(this,n,(e(this,n)||0)+r),e(this,n)},decrementProperty:function(n,r){return r||(r=1),t(this,n,(e(this,n)||0)-r),e(this,n)},toggleProperty:function(n){return t(this,n,!e(this,n)),e(this,n)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,targetObject:Ember.computed(function(){var t=e(this,"target");if(Ember.typeOf(t)==="string"){var n=e(this,t);return n===undefined&&(n=e(Ember.lookup,t)),n}return t}).property("target"),triggerAction:function(){var t=e(this,"action"),n=e(this,"targetObject");if(n&&t){var r;return typeof n.send=="function"?r=n.send(t,this):(typeof t=="string"&&(t=n[t]),r=t.call(n,this)),r!==!1&&(r=!0),r}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,n){return Ember.addListener(this,e,t,n),this},one:function(e,t,n){return n||(n=t,t=null),Ember.addListener(this,e,t,n,!0),this},trigger:function(e){var t=[],n,r;for(n=1,r=arguments.length;n<r;n++)t.push(arguments[n]);Ember.sendEvent(this,e,t)},fire:function(e){this.trigger.apply(this,arguments)},off:function(e,t,n){return Ember.removeListener(this,e,t,n),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.async=function(e,t){Ember.run.schedule("actions",t,e)};var n=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){var r=n(this,"promise");return r.then.apply(r,arguments)},resolve:function(e){n(this,"promise").resolve(e)},reject:function(e){n(this,"promise").reject(e)},promise:Ember.computed(function(){return new e.Promise})})}(),function(){}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function b(){var e=!1,t,s,o=function(){e||o.proto(),r(this,i,y),r(this,"_super",y);var a=u(this);a.proto=this;if(t){var l=t;t=null,this.reopen.apply(this,l)}if(s){var c=s;s=null;var h=this.concatenatedProperties;for(var p=0,v=c.length;p<v;p++){var b=c[p];for(var w in b){if(!b.hasOwnProperty(w))continue;var E=b[w],S=Ember.IS_BINDING;if(S.test(w)){var x=a.bindings;x?a.hasOwnProperty("bindings")||(x=a.bindings=n(a.bindings)):x=a.bindings={},x[w]=E}var T=a.descs[w];if(h&&g(h,w)>=0){var N=this[w];N?"function"==typeof N.concat?E=N.concat(E):E=Ember.makeArray(N).concat(E):E=Ember.makeArray(E)}T?T.set(this,w,E):typeof this.setUnknownProperty!="function"||w in this?m?Ember.defineProperty(this,w,null,E):this[w]=E:this.setUnknownProperty(w,E)}}}d(this,a),delete a.proto,f(this),this.init.apply(this,arguments)};return o.toString=h.prototype.toString,o.willReopen=function(){e&&(o.PrototypeMixin=h.create(o.PrototypeMixin)),e=!1},o._initMixins=function(e){t=e},o._initProperties=function(e){s=e},o.proto=function(){var t=o.superclass;return t&&t.proto(),e||(e=!0,o.PrototypeMixin.applyPartial(o.prototype),a(o.prototype)),this.prototype},o}function E(e){return function(){return e}}var e=Ember.set,t=Ember.get,n=Ember.create,r=Ember.platform.defineProperty,i=Ember.GUID_KEY,s=Ember.guidFor,o=Ember.generateGuid,u=Ember.meta,a=Ember.rewatch,f=Ember.finishChains,l=Ember.destroy,c=Ember.run.schedule,h=Ember.Mixin,p=h._apply,d=h.finishPartial,v=h.prototype.reopen,m=Ember.ENV.MANDATORY_SETTER,g=Ember.EnumerableUtils.indexOf,y={configurable:!0,writable:!0,enumerable:!1,value:undefined},w=b();w.toString=function(){return"Ember.CoreObject"},w.PrototypeMixin=h.create({reopen:function(){return p(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){if(this._didCallDestroy)return;return this.isDestroying=!0,this._didCallDestroy=!0,c("destroy",this,this._scheduledDestroy),this},willDestroy:Ember.K,_scheduledDestroy:function(){this.willDestroy&&this.willDestroy(),l(this),this.isDestroyed=!0,this.didDestroy&&this.didDestroy()},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function x(){var e=typeof this.toStringExtension=="function",t=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+s(this)+t+">";return this.toString=E(n),n}}),w.PrototypeMixin.ownerConstructor=w,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(w.PrototypeMixin),w.__super__=null;var S=h.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var e=b(),t;return e.ClassMixin=h.create(this.ClassMixin),e.PrototypeMixin=h.create(this.PrototypeMixin),e.ClassMixin.ownerConstructor=e,e.PrototypeMixin.ownerConstructor=e,v.apply(e.PrototypeMixin,arguments),e.superclass=this,e.__super__=this.prototype,t=e.prototype=n(this.prototype),t.constructor=e,o(t,"ember"),u(t).proto=t,e.ClassMixin.apply(e),e},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),v.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return v.apply(this.ClassMixin,arguments),p(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;while(e){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=u(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var n=this.proto(),r=u(n).descs,i={},s;for(var o in r)s=r[o],s instanceof Ember.ComputedProperty&&e.call(t||this,o,s._meta||i)}});S.ownerConstructor=w,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(S),w.ClassMixin=S,S.apply(w),Ember.CoreObject=w}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function o(e,t,n){var u=e.length;r[e.join(".")]=t;for(var f in t){if(!i.call(t,f))continue;var c=t[f];e[u]=f;if(c&&c.toString===l)c.toString=h(e.join(".")),c[a]=e.join(".");else if(c&&c.isNamespace){if(n[s(c)])continue;n[s(c)]=!0,o(e,c,n)}}e.length=u}function u(){var e=Ember.Namespace,t=Ember.lookup,n,r;if(e.PROCESSED)return;for(var i in t){if(i==="parent"||i==="top"||i==="frameElement")continue;if(i==="globalStorage"&&t.StorageList&&t.globalStorage instanceof t.StorageList)continue;if(t.hasOwnProperty&&!t.hasOwnProperty(i))continue;try{n=Ember.lookup[i],r=n&&n.isNamespace}catch(s){continue}r&&(n[a]=i)}}function f(e){var t=e.superclass;if(t)return t[a]?t[a]:f(t);return}function l(){!Ember.BOOTED&&!this[a]&&c();var e;if(this[a])e=this[a];else{var t=f(this);t?e="(subclass of "+t+")":e="(unknown mixin)",this.toString=h(e)}return e}function c(){var e=!n.PROCESSED,t=Ember.anyUnprocessedMixins;e&&(u(),n.PROCESSED=!0);if(e||t){var r=n.NAMESPACES,i;for(var s=0,a=r.length;s<a;s++)i=r[s],o([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function h(e){return function(){return e}}var e=Ember.get,t=Ember.ArrayPolyfills.indexOf,n=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var t=e(this,"name");return t?t:(u(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){o([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=undefined,e.splice(t.call(e,this),1),this._super()}});n.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:c,byName:function(e){return Ember.BOOTED||c(),r[e]}});var r=n.NAMESPACES_BY_ID,i={}.hasOwnProperty,s=Ember.guidFor,a=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=l}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],n=Ember.get,r=Ember.set;Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return n(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,r){n(this,"content").replace(e,t,r)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=n(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){var e=n(this,"content");this._setupContent()},"content"),_setupContent:function(){var e=n(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=n(this,"arrangedContent"),t=e?n(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,undefined),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=n(this,"arrangedContent"),t=e?n(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,undefined,t)},"arrangedContent"),_setupArrangedContent:function(){var e=n(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=n(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return n(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=n(this,"arrangedContent");return e?n(e,"length"):0}),_replace:function(e,t,r){var i=n(this,"content");return i&&this.replaceContent(e,t,r),this},replace:function(){if(n(this,"arrangedContent")!==n(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,r){if(t>n(this,"content.length"))throw new Error(e);return this._replace(t,0,[r]),this},insertAt:function(e,t){if(n(this,"arrangedContent")===n(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(r,i){if("number"==typeof r){var s=n(this,"content"),o=n(this,"arrangedContent"),u=[],a;if(r<0||r>=n(this,"length"))throw new Error(e);i===undefined&&(i=1);for(a=r;a<r+i;a++)u.push(s.indexOf(o.objectAt(a)));u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges();for(a=0;a<u.length;a++)this._replace(u[a],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(n(this,"content.length"),e),e},pushObjects:function(e){return this._replace(n(this,"length"),0,e),this},setObjects:function(e){if(e.length===0)return this.clear();var t=n(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,n,r){this.arrayContentWillChange(t,n,r)},arrangedContentArrayDidChange:function(e,t,n,r){this.arrayContentDidChange(t,n,r)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function f(e,t){var n=t.slice(8);if(n in this)return;u(this,n)}function l(e,t){var n=t.slice(8);if(n in this)return;a(this,n)}var e=Ember.get,t=Ember.set,n=Ember.String.fmt,r=Ember.addBeforeObserver,i=Ember.addObserver,s=Ember.removeBeforeObserver,o=Ember.removeObserver,u=Ember.propertyWillChange,a=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(e){var t="content."+e;r(this,t,null,f),i(this,t,null,l)},didUnwatchProperty:function(e){var t="content."+e;s(this,t,null,f),o(this,t,null,l)},unknownProperty:function(t){var n=e(this,"content");if(n)return e(n,t)},setUnknownProperty:function(n,r){var i=e(this,"content");return t(i,n,r)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,n,r,i,s;if(arguments.length){t=this.proto();for(n=0,r=arguments.length;n<r;n++){i=arguments[n];for(s in i){if(!i.hasOwnProperty(s)||s in t)continue;e||(e={}),e[s]=null}}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function o(e,t,r,i,s){var o=r._objects,u;o||(o=r._objects={});while(--s>=i){var a=e.objectAt(s);a&&(Ember.addBeforeObserver(a,t,r,"contentKeyWillChange"),Ember.addObserver(a,t,r,"contentKeyDidChange"),u=n(a),o[u]||(o[u]=[]),o[u].push(s))}}function u(e,t,r,i,s){var o=r._objects;o||(o=r._objects={});var u,a;while(--s>=i){var f=e.objectAt(s);f&&(Ember.removeBeforeObserver(f,t,r,"contentKeyWillChange"),Ember.removeObserver(f,t,r,"contentKeyDidChange"),a=n(f),u=o[a],u[u.indexOf(s)]=null)}}var e=Ember.set,t=Ember.get,n=Ember.guidFor,r=Ember.EnumerableUtils.forEach,i=Ember.Object.extend(Ember.Array,{init:function(e,t,n){this._super(),this._keyName=t,this._owner=n,this._content=e},objectAt:function(e){var n=this._content.objectAt(e);return n&&t(n,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?t(e,"length"):0})}),s=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),r(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e,t){var n;return n=new i(this._content,e,this),Ember.defineProperty(this,e,null,n),this.beginObservingContentKey(e),n},arrayWillChange:function(e,t,n,r){var i=this._keys,s,o;o=n>0?t+n:-1,Ember.beginPropertyChanges(this);for(s in i){if(!i.hasOwnProperty(s))continue;o>0&&u(e,s,this,t,o),Ember.propertyWillChange(this,s)}Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(e,t,n,r){var i=this._keys,s,u;u=r>0?t+r:-1,Ember.beginPropertyChanges(this);for(s in i){if(!i.hasOwnProperty(s))continue;u>0&&o(e,s,this,t,u),Ember.propertyDidChange(this,s)}Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(e){s.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){s.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(e){var n=this._keys;n||(n=this._keys={});if(!n[e]){n[e]=1;var r=this._content,i=t(r,"length");o(r,e,this,0,i)}else n[e]++},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var r=this._content,i=t(r,"length");u(r,e,this,0,i)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get,t=Ember.set,n=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return e==="length"?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(t,n,r){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=r?e(r,"length"):0;this.arrayContentWillChange(t,n,i);if(!r||r.length===0)this.splice(t,n);else{var s=[t,n].concat(r);this.splice.apply(this,s)}return this.arrayContentDidChange(t,n,i),this},unknownProperty:function(e,t){var n;return t!==undefined&&n===undefined&&(n=this[e]=t),n},indexOf:function(e,t){var n,r=this.length;t===undefined?t=0:t=t<0?Math.ceil(t):Math.floor(t),t<0&&(t+=r);for(n=t;n<r;n++)if(this[n]===e)return n;return-1},lastIndexOf:function(e,t){var n,r=this.length;t===undefined?t=r-1:t=t<0?Math.ceil(t):Math.floor(t),t<0&&(t+=r);for(n=t;n>=0;n--)if(this[n]===e)return n;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),r=["length"];Ember.EnumerableUtils.forEach(n.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(n=n.without.apply(n,r)),Ember.NativeArray=n,Ember.A=function(e){return e===undefined&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){n.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,n=Ember.guidFor,r=Ember.isNone,i=Ember.String.fmt;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 r=e(this,"length");if(r===0)return this;var i;this.enumerableContentWillChange(r,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var s=0;s<r;s++)i=n(this[s]),delete this[i],delete this[s];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(r,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var n=e(this,"length");if(e(t,"length")!==n)return!1;while(--n>=0)if(!t.contains(this[n]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:undefined}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:undefined}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(r(i))return this;var s=n(i),o=this[s],u=e(this,"length"),a;return o>=0&&o<u&&this[o]===i?this:(a=[i],this.enumerableContentWillChange(null,a),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,a),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(r(i))return this;var s=n(i),o=this[s],u=e(this,"length"),a=o===0,f=o===u-1,l,c;return o>=0&&o<u&&this[o]===i&&(c=[i],this.enumerableContentWillChange(c,null),a&&Ember.propertyWillChange(this,"firstObject"),f&&Ember.propertyWillChange(this,"lastObject"),o<u-1&&(l=this[u-1],this[o]=l,this[n(l)]=o),delete this[s],delete this[u-1],t(this,"length",u-1),a&&Ember.propertyDidChange(this,"firstObject"),f&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(c,null)),this},contains:function(e){return this[n(e)]>=0},copy:function(){var r=this.constructor,i=new r,s=e(this,"length");t(i,"length",s);while(--s>=0)i[s]=this[s],i[n(this[s])]=s;return i},toString:function(){var e=this.length,t,n=[];for(t=0;t<e;t++)n[t]=this[t];return i("Ember.Set<%@>",[n.join(",")])}})}(),function(){var e=Ember.DeferredMixin,t=Ember.get,n=Ember.Object.extend(e);n.reopenClass({promise:function(e,r){var i=n.create();return e.call(r,i),t(i,"promise")}}),Ember.Deferred=n}(),function(){var e=Ember.ENV.EMBER_LOAD_HOOKS||{},t={};Ember.onLoad=function(n,r){var i;e[n]=e[n]||Ember.A(),e[n].pushObject(r),(i=t[n])&&r(i)},Ember.runLoadHooks=function(n,r){var i;t[n]=r,(i=e[n])&&e[n].forEach(function(e){e(r)})}}(),function(){}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,store:null,model:Ember.computed.alias("content"),send:function(t){var n=[].slice.call(arguments,1),r;this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=Ember.set,n=Ember.EnumerableUtils.forEach;Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,orderBy:function(t,r){var i=0,s=e(this,"sortProperties"),o=e(this,"sortAscending");return n(s,function(n){i===0&&(i=Ember.compare(e(t,n),e(r,n)),i!==0&&!o&&(i=-1*i))}),i},destroy:function(){var t=e(this,"content"),r=e(this,"sortProperties");return t&&r&&n(t,function(e){n(r,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(t,r){var i=e(this,"content"),s=e(this,"isSorted"),o=e(this,"sortProperties"),u=this;return i&&s?(i=i.slice(),i.sort(function(e,t){return u.orderBy(e,t)}),n(i,function(e){n(o,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(i)):i}),_contentWillChange:Ember.beforeObserver(function(){var t=e(this,"content"),r=e(this,"sortProperties");t&&r&&n(t,function(e){n(r,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(t,r,i,s){var o=e(this,"isSorted");if(o){var u=e(this,"arrangedContent"),a=t.slice(r,r+i),f=e(this,"sortProperties");n(a,function(e){u.removeObject(e),n(f,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(t,r,i,s)},contentArrayDidChange:function(t,r,i,s){var o=e(this,"isSorted"),u=e(this,"sortProperties");if(o){var a=t.slice(r,r+s);n(a,function(e){this.insertItemSorted(e),n(u,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(t,r,i,s)},insertItemSorted:function(t){var n=e(this,"arrangedContent"),r=e(n,"length"),i=this._binarySearch(t,0,r);n.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var n=e(this,"arrangedContent"),r=n.indexOf(t),i=n.objectAt(r-1),s=n.objectAt(r+1),o=i&&this.orderBy(t,i),u=s&&this.orderBy(t,s);if(o<0||u>0)n.removeObject(t),this.insertItemSorted(t)},_binarySearch:function(t,n,r){var i,s,o,u;return n===r?n:(u=e(this,"arrangedContent"),i=n+Math.floor((r-n)/2),s=u.objectAt(i),o=this.orderBy(s,t),o<0?this._binarySearch(t,i+1,r):o>0?this._binarySearch(t,n,i):i)}})}(),function(){var e=Ember.get,t=Ember.set,n=Ember.EnumerableUtils.forEach,r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(t){return e(this,"itemController")},objectAtContent:function(t){var n=e(this,"length"),r=e(this,"arrangedContent"),i=r&&r.objectAt(t);if(t>=0&&t<n){var s=this.lookupItemController(i);if(s)return this.controllerAt(t,i,s)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(t,i,s){var o=e(this,"_subControllers"),u=o.slice(t,t+i);n(u,function(e){e&&e.destroy()}),r(o,t,i,new Array(s)),this._super(t,i,s)},init:function(){this.get("content")||Ember.defineProperty(this,"content",undefined,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,n,r){var i=e(this,"container"),s=e(this,"_subControllers"),o=s[t];o||(o=i.lookup("controller:"+r,{singleton:!1}),s[t]=o);if(!o)throw new Error('Could not resolve itemController: "'+r+'"');return o.set("target",this),o.set("content",n),o},_subControllers:null,_resetSubControllers:function(){var t=e(this,"_subControllers");n(t,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}(),function(){}(),function(){}()})(),typeof location!="undefined"&&(location.hostname==="localhost"||location.hostname==="127.0.0.1")&&console.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
15
|
+
(function(){var e,r;(function(){var t={},n={};e=function(e,r,n){t[e]={deps:r,callback:n}},r=function(e){if(n[e])return n[e];n[e]={};for(var i,o=t[e],s=o.deps,a=o.callback,u=[],c=0,h=s.length;h>c;c++)"exports"===s[c]?u.push(i={}):u.push(r(s[c]));var l=a.apply(this,u);return n[e]=i||l}})(),function(){function e(e){return r.console&&r.console[e]?r.console[e].apply?function(){r.console[e].apply(r.console,arguments)}:function(){var t=Array.prototype.join.call(arguments,", ");r.console[e](t)}:void 0}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,t=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,t.Em=t.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.3",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),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.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,r){return r}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K},Ember.onerror=null,Ember.handleErrors=function(e,r){if("function"!=typeof Ember.onerror)return e.call(r||this);try{return e.call(r||this)}catch(t){Ember.onerror(t)}},Ember.merge=function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var r=function(){};Ember.create=function(e,t){if(r.prototype=e,e=new r,t){r.prototype=e;for(var n in t)r.prototype[n]=t[n].value;e=new r}return r.prototype=null,e},Ember.create.isSimulated=!0}var t,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(t=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),t?n||(i=function(e,r,t){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[r]=t.value:Object.defineProperty(e,r,t)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,r,t){t.get||(e[r]=t.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},r=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var r=Object(this),t=r.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(t),i=arguments[1],o=0;t>o;o++)o in r&&(n[o]=e.call(i,r[o],o,r));return n},t=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var r=Object(this),t=r.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;t>i;i++)i in r&&e.call(n,r[i],i,r)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,r){null===r||void 0===r?r=0:0>r&&(r=Math.max(0,this.length+r));for(var t=r,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};Ember.ArrayPolyfills={map:r,forEach:t,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=r),Array.prototype.forEach||(Array.prototype.forEach=t),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function r(e,r){return!(!e||"function"!=typeof e[r])}var t=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,o=0,s=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,r){r||(r="ember");var n=r+o++;return e&&(c.value=n,t(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var r,n=typeof e;switch(n){case"number":return r=s[e],r||(r=s[e]="nu"+e),r;case"string":return r=a[e],r||(r=a[e]="st"+o++),r;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(r="ember"+o++,c.value=r,t(e,i,c),r)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f={descs:{},watching:{}};u&&(f.values={}),Ember.EMPTY_META=f,Object.freeze&&Object.freeze(f);var m=Ember.platform.defineProperty.isSimulated;m&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(r,i){var o=r[l];return i===!1?o||f:(o?o.source!==r&&(m||t(r,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=r,u&&(o.values=n(o.values)),r[l]=o):(m||t(r,l,h),o=new e(r),u&&(o.values={}),r[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,r){var t=Ember.meta(e,!1);return t[r]},Ember.setMeta=function(e,r,t){var n=Ember.meta(e,!0);return n[r]=t,t},Ember.metaPath=function(e,r,t){for(var i,o,s=Ember.meta(e,t),a=0,u=r.length;u>a;a++){if(i=r[a],o=s[i]){if(o.__ember_source__!==e){if(!t)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!t)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,r){function t(){}function n(){var n,i=this._super;return this._super=r||t,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=r,Ember.tryInvoke=function(e,t,n){return r(e,t)?e[t].apply(e,n||[]):void 0};var b=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(r){}return 1!==e}();Ember.tryFinally=b?function(e,r,t){var n,i,o;t=t||this;try{n=e.call(t)}finally{try{i=r.call(t)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,r,t){var n,i;t=t||this;try{n=e.call(t)}finally{i=r.call(t)}return void 0===i?n:i},Ember.tryCatchFinally=b?function(e,r,t,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=r.call(n,a)}finally{try{o=t.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,r,t,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=r.call(n,s)}finally{o=t.call(n)}return void 0===o?i:o};var p={},E="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(E,function(e){p["[object "+e+"]"]=e.toLowerCase()});var d=Object.prototype.toString;Ember.typeOf=function(e){var r;return r=null===e||void 0===e?String(e):p[d.call(e)]||"object","function"===r?Ember.Object&&Ember.Object.detect(e)&&(r="class"):"object"===r&&(r=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),r}}(),function(){Ember.Instrumentation={};var e=[],r={},t=function(t){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(t)&&i.push(n.object);return r[t]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},r=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return r?r.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,o,s){function a(){for(b=0,p=f.length;p>b;b++)m=f[b],E[b]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(b=0,p=f.length;p>b;b++)m=f[b],m.after(e,n(),i,E[b]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=r[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=t(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,b,p,E=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(t,n){for(var i,o=t.split("."),s=[],a=0,u=o.length;u>a;a++)i=o[a],"*"===i?s.push("[^\\.]*"):s.push(i);s=s.join("\\."),s+="(\\..*)?";var c={pattern:t,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),r={},c},Ember.Instrumentation.unsubscribe=function(t){for(var n,i=0,o=e.length;o>i;i++)e[i]===t&&(n=i);e.splice(n,1),r={}},Ember.Instrumentation.reset=function(){e=[],r={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,r,t,n;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,r=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,t=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;var i=Ember.EnumerableUtils={map:function(r,t,n){return r.map?r.map.call(r,t,n):e.call(r,t,n)},forEach:function(e,t,n){return e.forEach?e.forEach.call(e,t,n):r.call(e,t,n)},indexOf:function(e,r,n){return e.indexOf?e.indexOf.call(e,r,n):t.call(e,r,n)},indexesOf:function(e,r){return void 0===r?[]:i.map(r,function(r){return i.indexOf(e,r)})},addObject:function(e,r){var t=i.indexOf(e,r);-1===t&&e.push(r)},removeObject:function(e,r){var t=i.indexOf(e,r);-1!==t&&e.splice(t,1)},replace:function(e,r,t,i){if(e.replace)return e.replace(r,t,i);var o=n.apply([r,t],i);return e.splice.apply(e,o)},intersection:function(e,r){var t=[];return i.forEach(e,function(e){i.indexOf(r,e)>=0&&t.push(e)}),t}}}(),function(){var e=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,t=function(e){var r={};for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r},n=function(e,r){var n=e.keys.copy(),i=t(e.values);return r.keys=n,r.values=i,r},i=Ember.OrderedSet=function(){this.clear()};i.create=function(){return new i},i.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(r){var t=e(r),n=this.presenceSet,i=this.list;t in n||(n[t]=!0,i.push(r))},remove:function(t){var n=e(t),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,t);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(r){var t=e(r),n=this.presenceSet;return t in n},forEach:function(e,r){for(var t=this.toArray(),n=0,i=t.length;i>n;n++)e.call(r,t[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new i;return e.presenceSet=t(this.presenceSet),e.list=this.toArray(),e}};var o=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};o.create=function(){return new o},o.prototype={get:function(r){var t=this.values,n=e(r);return t[n]},set:function(r,t){var n=this.keys,i=this.values,o=e(r);n.add(r),i[o]=t},remove:function(r){var t=this.keys,n=this.values,i=e(r);return n.hasOwnProperty(i)?(t.remove(r),delete n[i],!0):!1},has:function(r){var t=this.values,n=e(r);return t.hasOwnProperty(n)},forEach:function(r,t){var n=this.keys,i=this.values;n.forEach(function(n){var o=e(n);r.call(t,n,i[o])})},copy:function(){return n(this,new o)}};var s=Ember.MapWithDefault=function(e){o.call(this),this.defaultValue=e.defaultValue};s.create=function(e){return e?new s(e):new o},s.prototype=Ember.create(o.prototype),s.prototype.get=function(e){var r=this.has(e);if(r)return o.prototype.get.call(this,e);var t=this.defaultValue(e);return this.set(e,t),t},s.prototype.copy=function(){return n(this,new s({defaultValue:this.defaultValue}))}}(),function(){function e(e){return e.match(a)[0]}function r(r,n){var i,a=s.test(n),u=!a&&o.test(n);if((!r||u)&&(r=Ember.lookup),a&&(n=n.slice(5)),r===Ember.lookup&&(i=e(n),r=t(r,i),n=n.slice(i.length+1)),!n||0===n.length)throw new Error("Invalid Path");return[r,n]}var t,n=Ember.META_KEY,i=Ember.ENV.MANDATORY_SETTER,o=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,s=/^this[\.\*]/,a=/^([^\.\*]+)/;t=function t(e,r){if(""===r)return e;if(r||"string"!=typeof e||(r=e,e=null),null===e||-1!==r.indexOf("."))return u(e,r);var t,o=e[n],s=o&&o.descs[r];return s?s.get(e,r):(t=i&&o&&o.watching[r]>0?o.values[r]:e[r],void 0!==t||"object"!=typeof e||r in e||"function"!=typeof e.unknownProperty?t:e.unknownProperty(r))},Ember.config.overrideAccessors&&(Ember.get=t,Ember.config.overrideAccessors(),t=Ember.get);var u=Ember._getPath=function(e,n){var i,o,a,u,c;if(null===e&&-1===n.indexOf("."))return t(Ember.lookup,n);for(i=s.test(n),(!e||i)&&(a=r(e,n),e=a[0],n=a[1],a.length=0),o=n.split("."),c=o.length,u=0;void 0!==e&&null!==e&&c>u;u++)if(e=t(e,o[u],!0),e&&e.isDestroyed)return void 0;return e};Ember.normalizeTuple=function(e,t){return r(e,t)},Ember.getWithDefault=function(e,r,n){var i=t(e,r);return void 0===i?n:i},Ember.get=t,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,r,t){for(var n=-1,i=0,o=e.length;o>i;i++)if(r===e[i][0]&&t===e[i][1]){n=i;break}return n}function r(e,r){var t,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),t=n.listeners[r],t&&!n.listeners.hasOwnProperty(r)?t=n.listeners[r]=n.listeners[r].slice():t||(t=n.listeners[r]=[]),t}function t(r,t,n){var i=r[b],o=i&&i.listeners&&i.listeners[t];if(o)for(var s=o.length-1;s>=0;s--){var a=o[s][0],u=o[s][1],c=o[s][2],h=e(n,a,u);-1===h&&n.push([a,u,c])}}function n(r,t,n){var i=r[b],o=i&&i.listeners&&i.listeners[t],s=[];if(o){for(var a=o.length-1;a>=0;a--){var u=o[a][0],c=o[a][1],h=o[a][2],l=e(n,u,c);-1===l&&(n.push([u,c,h]),s.push([u,c,h]))}return s}}function i(t,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=r(t,n),u=e(a,i,o),c=0;s&&(c|=p),-1===u&&(a.push([i,o,c]),"function"==typeof t.didAddListener&&t.didAddListener(n,i,o))}function o(t,n,i,o){function s(i,o){var s=r(t,n),a=e(s,i,o);-1!==a&&(s.splice(a,1),"function"==typeof t.didRemoveListener&&t.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=t[b],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)s(u[c][0],u[c][1])}}function s(t,n,i,o,s){function a(){return s.call(i)}function u(){c&&(c[2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c,h=r(t,n),l=e(h,i,o);return-1!==l&&(c=h[l].slice(),c[2]|=E,h[l]=c),Ember.tryFinally(a,u)}function a(t,n,i,o,s){function a(){return s.call(i)}function u(){for(f=0,m=b.length;m>f;f++)b[f][2]&=~E}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m,b=[];for(f=0,m=n.length;m>f;f++){c=n[f],h=r(t,c);var p=e(h,i,o);-1!==p&&(l=h[p].slice(),l[2]|=E,h[p]=l,b.push(l))}return Ember.tryFinally(a,u)}function u(e){var r=e[b].listeners,t=[];if(r)for(var n in r)r[n]&&t.push(n);return t}function c(e,r,t,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(r,t),!n){var i=e[b];n=i&&i.listeners&&i.listeners[r]}if(n){for(var s=n.length-1;s>=0;s--){var a=n[s];if(a){var u=a[0],c=a[1],h=a[2];h&E||(h&p&&o(e,r,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),t?c.apply(u,t):c.call(u))}}return!0}}function h(e,r){var t=e[b],n=t&&t.listeners&&t.listeners[r];return!(!n||!n.length)}function l(e,r){var t=[],n=e[b],i=n&&n.listeners&&n.listeners[r];if(!i)return t;for(var o=0,s=i.length;s>o;o++){var a=i[o][0],u=i[o][1];t.push([a,u])}return t}var f=Ember.create,m=Ember.meta,b=Ember.META_KEY,p=1,E=2;Ember.addListener=i,Ember.removeListener=o,Ember._suspendListener=s,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=h,Ember.watchedEvents=u,Ember.listenersFor=l,Ember.listenersDiff=n,Ember.listenersUnion=t}(),function(){var e=Ember.guidFor,r=Ember.sendEvent,t=Ember._ObserverSet=function(){this.clear()};t.prototype.add=function(r,t,n){var i,o=this.observerSet,s=this.observers,a=e(r),u=o[a];return u||(o[a]=u={}),i=u[t],void 0===i&&(i=s.push({sender:r,keyName:t,eventName:n,listeners:[]})-1,u[t]=i),s[i].listeners},t.prototype.flush=function(){var e,t,n,i,o=this.observers;for(this.clear(),e=0,t=o.length;t>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||r(i,n.eventName,[i,n.keyName],n.listeners)},t.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,r,i){if(!e.isDestroying){var o=n,s=!o;s&&(o=n={}),t(p,e,r,o,i),s&&(n=null)}}function r(e,r,n){if(!e.isDestroying){var o=i,s=!o;s&&(o=i={}),t(E,e,r,o,n),s&&(i=null)}}function t(e,r,t,n,i){var o=s(r);if(n[o]||(n[o]={}),!n[o][t]){n[o][t]=!0;var a=i.deps;if(a=a&&a[t])for(var u in a){var c=i.descs[u];c&&c._suspended===r||e(r,u)}}}var n,i,o=Ember.meta,s=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,h=Ember.listenersDiff,l=Ember._ObserverSet,f=new l,m=new l,b=0,p=Ember.propertyWillChange=function(r,t){var n=o(r,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];i&&s!==r&&(a&&a.willChange&&a.willChange(r,t),e(r,t,n),d(r,t,n),_(r,t))},E=Ember.propertyDidChange=function(e,t){var n=o(e,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];s!==e&&(a&&a.didChange&&a.didChange(e,t),(i||"length"===t)&&(r(e,t,n),v(e,t,n),O(e,t)))},d=function(e,r,t,n){if(t.hasOwnProperty("chainWatchers")){var i=t.chainWatchers;if(i=i[r])for(var o=0,s=i.length;s>o;o++)i[o].willChange(n)}},v=function(e,r,t,n){if(t.hasOwnProperty("chainWatchers")){var i=t.chainWatchers;if(i=i[r])for(var o=i.length-1;o>=0;o--)i[o].didChange(n)}};Ember.overrideChains=function(e,r,t){v(e,r,t,!0)};var g=Ember.beginPropertyChanges=function(){b++},y=Ember.endPropertyChanges=function(){b--,0>=b&&(f.clear(),m.flush())};Ember.changeProperties=function(e,r){g(),a(e,y,r)};var _=function(e,r){if(!e.isDestroying){var t,n,i=r+":before";b?(t=f.add(e,r,i),n=h(e,i,t),u(e,i,[e,r],n)):u(e,i,[e,r])}},O=function(e,r){if(!e.isDestroying){var t,n=r+":change";b?(t=m.add(e,r,n),c(e,n,t)):u(e,n,[e,r])}}}(),function(){function e(e,r,t,o){var s;if(s=r.slice(r.lastIndexOf(".")+1),r=r.slice(0,r.length-(s.length+1)),"this"!==r&&(e=n(e,r)),!s||0===s.length)throw new Error("You passed an empty path");if(!e){if(o)return;throw new Error("Object in path "+r+" could not be found or was destroyed.")}return i(e,s,t)}var r=Ember.META_KEY,t=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function i(n,i,o,s){if("string"==typeof n&&(o=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,o,s);var a,u,c=n[r],h=c&&c.descs[i];return h?h.set(n,i,o):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,o):c&&c.watching[i]>0?(u=t?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),t?void 0!==u||i in n?c.values[i]=o:Ember.defineProperty(n,i,null,o):n[i]=o,Ember.propertyDidChange(n,i))):n[i]=o),o};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,r,t){return i(e,r,t,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.META_KEY,r=Ember.meta,t=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(r){return function(){var t=this[e];return t&&t.values[r]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=r(e)),h=c.descs,l=c.descs[s],f=c.watching[s]>0,l instanceof Ember.Descriptor&&l.teardown(e,s),a instanceof Ember.Descriptor?(m=a,h[s]=a,n&&f?t(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0,a.setup(e,s)):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,t(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,t(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.changeProperties,r=Ember.set;Ember.setProperties=function(t,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&r(t,e,n[e])}),t}}(),function(){var e=Ember.meta,r=Ember.typeOf,t=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==r(i)){var s,a=e(i),u=a.watching;u[o]?u[o]=(u[o]||0)+1:(u[o]=1,s=a.descs[o],s&&s.willWatch&&s.willWatch(i,o),"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),t&&o in i&&(a.values[o]=i[o],n(i,o,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(r,i){var o,s=e(r),a=s.watching;1===a[i]?(a[i]=0,o=s.descs[i],o&&o.didUnwatch&&o.didUnwatch(r,i),"function"==typeof r.didUnwatchProperty&&r.didUnwatchProperty(i),t&&i in r&&(n(r,i,{configurable:!0,enumerable:!0,writable:!0,value:s.values[i]}),delete s.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(f)[0]}function r(e,r,t){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[r]||(o[r]=[]),o[r].push(t),u(e,r)}}function t(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=Ember.propertyWillChange,l=Ember.propertyDidChange,f=/^([^\.\*]+)/,m=[];Ember.flushPendingChains=function(){if(0!==m.length){var e=m;m=[],s.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===m.length)}};var b=Ember.removeChainWatcher=function(e,r,t){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[r]){o=o[r];for(var s=0,a=o.length;a>s;s++)o[s]===t&&o.splice(s,1)}c(e,r)}}},p=Ember._ChainNode=function(e,t,n){this._parent=e,this._key=t,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&r(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},E=p.prototype;E.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!t(e)?i(e,this._key):void 0}return this._value},E.destroy=function(){if(this._watching){var e=this._object;e&&b(e,this._key,this),this._watching=!1}},E.copy=function(e){var r,t=new p(null,null,e),n=this._paths;for(r in n)0>=n[r]||t.add(r);return t},E.add=function(r){var t,n,i,s,a;if(a=this._paths,a[r]=(a[r]||0)+1,t=this.value(),n=o(t,r),n[0]&&n[0]===t)r=n[1],i=e(r),r=r.slice(i.length+1);else{if(!n[0])return m.push([this,r]),n.length=0,void 0;s=n[0],i=r.slice(0,0-(n[1].length+1)),r=n[1]}n.length=0,this.chain(i,r,s)},E.remove=function(r){var t,n,i,s,a;a=this._paths,a[r]>0&&a[r]--,t=this.value(),n=o(t,r),n[0]===t?(r=n[1],i=e(r),r=r.slice(i.length+1)):(s=n[0],i=r.slice(0,0-(n[1].length+1)),r=n[1]),n.length=0,this.unchain(i,r)},E.count=0,E.chain=function(r,t,n){var i,o=this._chains;o||(o=this._chains={}),i=o[r],i||(i=o[r]=new p(this,r,n)),i.count++,t&&t.length>0&&(r=e(t),t=t.slice(r.length+1),i.chain(r,t))},E.unchain=function(r,t){var n=this._chains,i=n[r];t&&t.length>1&&(r=e(t),t=t.slice(r.length+1),i.unchain(r,t)),i.count--,0>=i.count&&(delete n[i._key],i.destroy())},E.willChange=function(){var e=this._chains;if(e)for(var r in e)e.hasOwnProperty(r)&&e[r].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},E.chainWillChange=function(e,r,t){this._key&&(r=this._key+"."+r),this._parent?this._parent.chainWillChange(this,r,t+1):(t>1&&h(this.value(),r),r="this."+r,this._paths[r]>0&&h(this.value(),r))},E.chainDidChange=function(e,r,t){this._key&&(r=this._key+"."+r),this._parent?this._parent.chainDidChange(this,r,t+1):(t>1&&l(this.value(),r),r="this."+r,this._paths[r]>0&&l(this.value(),r))},E.didChange=function(e){if(this._watching){var t=this._parent.value();t!==this._object&&(b(this._object,this._key,this),this._object=t,r(t,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var r=n(e,!1),t=r.chains;t&&(t.value()!==e&&(r.chains=t=t.copy(e)),t.didChange(!0))}}(),function(){function e(e){var t=r(e),i=t.chains;return i?i.value()!==e&&(i=t.chains=i.copy(e)):i=t.chains=new n(null,null,e),i}var r=Ember.meta,t=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==t(n)){var o=r(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(t,n){var i=r(t),o=i.watching;1===o[n]?(o[n]=0,e(t).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var r=Ember.meta,t=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,o=Ember.watchKey,s=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,h=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(r,t){("length"!==t||"array"!==c(r))&&(e(t)?o(r,t):a(r,t))},Ember.isWatching=function(e,r){var t=e[n];return(t&&t.watching[r])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(r,t){("length"!==t||"array"!==c(r))&&(e(t)?s(r,t):u(r,t))},Ember.rewatch=function(e){var n=r(e,!1),i=n.chains;t in e&&!e.hasOwnProperty(t)&&h(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var r,t,o,s,a=e[n];if(a&&(e[n]=null,r=a.chains))for(f.push(r);f.length>0;){if(r=f.pop(),t=r._chains)for(o in t)t.hasOwnProperty(o)&&f.push(t[o]);r._watching&&(s=r._object,s&&i(s,r._key,r))}}}(),function(){function e(e,r){var t=e[r];return t?e.hasOwnProperty(r)||(t=e[r]=f(t)):t=e[r]={},t}function r(r){return e(r,"deps")}function t(t,n,i,o){var s,a,u,c,h,l=t._dependentKeys;if(l)for(s=r(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,b(n,c)}function n(t,n,i,o){var s,a,u,c,h,l=t._dependentKeys;if(l)for(s=r(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,p(n,c)}function i(e,r){this.func=e,this._cacheable=r&&void 0!==r.cacheable?r.cacheable:!0,this._dependentKeys=r&&r.dependentKeys,this._readOnly=r&&(void 0!==r.readOnly||!!r.readOnly)}function o(e,r){for(var t={},n=0;r.length>n;n++)t[r[n]]=u(e,r[n]);return t}function s(e,r){Ember.computed[e]=function(e){var t=l.call(arguments);return Ember.computed(e,function(){return r.apply(this,t)})}}function a(e,r){Ember.computed[e]=function(){var e=l.call(arguments),t=Ember.computed(function(){return r.apply(this,[o(this,e)])});return t.property.apply(t,e)}}var u=Ember.get,c=Ember.set,h=Ember.meta,l=[].slice,f=Ember.create,m=Ember.META_KEY,b=Ember.watch,p=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var E=i.prototype;E.cacheable=function(e){return this._cacheable=e!==!1,this},E.volatile=function(){return this.cacheable(!1)},E.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},E.property=function(){for(var e=[],r=0,t=arguments.length;t>r;r++)e.push(arguments[r]);return this._dependentKeys=e,this},E.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},E.willWatch=function(e,r){var n=e[m];r in n.cache||t(this,e,r,n)},E.didUnwatch=function(e,r){var t=e[m];r in t.cache||n(this,e,r,t)},E.didChange=function(e,r){if(this._cacheable&&this._suspended!==e){var t=h(e);r in t.cache&&(delete t.cache[r],t.watching[r]||n(this,e,r,t))}},E.get=function(e,r){var n,i,o;if(this._cacheable){if(o=h(e),i=o.cache,r in i)return i[r];n=i[r]=this.func.call(e,r),o.watching[r]||t(this,e,r,o)}else n=this.func.call(e,r);return n},E.set=function(e,r,n){var i,o,s=this._cacheable,a=this.func,u=h(e,s),c=u.watching[r],l=this._suspended,f=!1,m=u.cache;if(this._readOnly)throw new Error("Cannot Set: "+r+" on: "+e.toString());this._suspended=e;try{if(s&&m.hasOwnProperty(r)&&(i=m[r],f=!0),a.wrappedFunction&&(a=a.wrappedFunction),3===a.length)o=a.call(e,r,n,i);else{if(2!==a.length)return Ember.defineProperty(e,r,null,i),Ember.set(e,r,n),void 0;o=a.call(e,r,n)}if(f&&i===o)return;c&&Ember.propertyWillChange(e,r),f&&delete m[r],s&&(c||f||t(this,e,r,u),m[r]=o),c&&Ember.propertyDidChange(e,r)}finally{this._suspended=l}return o},E.setup=function(e,r){var n=e[m];n&&n.watching[r]&&t(this,e,r,h(e))},E.teardown=function(e,r){var t=h(e);return(t.watching[r]||r in t.cache)&&n(this,e,r,t),this._cacheable&&delete t.cache[r],null},Ember.computed=function(e){var r;if(arguments.length>1&&(r=l.call(arguments,0,-1),e=l.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var t=new i(e);return r&&t.property.apply(t,r),t},Ember.cacheFor=function(e,r){var t=h(e,!1).cache;return t&&r in t?t[r]:void 0},s("empty",function(e){return Ember.isEmpty(u(this,e))}),s("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),s("none",function(e){return Ember.isNone(u(this,e))}),s("not",function(e){return!u(this,e)}),s("bool",function(e){return!!u(this,e)}),s("match",function(e,r){var t=u(this,e);return"string"==typeof t?!!t.match(r):!1}),s("equal",function(e,r){return u(this,e)===r}),s("gt",function(e,r){return u(this,e)>r}),s("gte",function(e,r){return u(this,e)>=r}),s("lt",function(e,r){return r>u(this,e)}),s("lte",function(e,r){return r>=u(this,e)}),a("and",function(e){for(var r in e)if(e.hasOwnProperty(r)&&!e[r])return!1;return!0}),a("or",function(e){for(var r in e)if(e.hasOwnProperty(r)&&e[r])return!0;return!1}),a("any",function(e){for(var r in e)if(e.hasOwnProperty(r)&&e[r])return e[r];return null}),a("map",function(e){var r=[];for(var t in e)e.hasOwnProperty(t)&&(Ember.isNone(e[t])?r.push(null):r.push(e[t]));return r}),Ember.computed.alias=function(e){return Ember.computed(e,function(r,t){return arguments.length>1?(c(this,e,t),t):u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(r,t,n){return 1===arguments.length?null!=n?n:u(this,e):null!=t?t:u(this,e)})}}(),function(){function e(e){return e+t}function r(e){return e+n}var t=":change",n=":before";Ember.guidFor,Ember.addObserver=function(r,t,n,i){return Ember.addListener(r,e(t),n,i),Ember.watch(r,t),this},Ember.observersFor=function(r,t){return Ember.listenersFor(r,e(t))},Ember.removeObserver=function(r,t,n,i){return Ember.unwatch(r,t),Ember.removeListener(r,e(t),n,i),this},Ember.addBeforeObserver=function(e,t,n,i){return Ember.addListener(e,r(t),n,i),Ember.watch(e,t),this},Ember._suspendBeforeObserver=function(e,t,n,i,o){return Ember._suspendListener(e,r(t),n,i,o)},Ember._suspendObserver=function(r,t,n,i,o){return Ember._suspendListener(r,e(t),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,t,n,o,s){var a=i.call(t,r);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(r,t,n,o,s){var a=i.call(t,e);return Ember._suspendListeners(r,a,n,o,s)},Ember.beforeObserversFor=function(e,t){return Ember.listenersFor(e,r(t))},Ember.removeBeforeObserver=function(e,t,n,i){return Ember.unwatch(e,t),Ember.removeListener(e,r(t),n,i),this}}(),function(){function e(e,r,t,n){return void 0===r&&(r=e,e=void 0),"string"==typeof r&&(r=e[r]),t&&n>0&&(t=t.length>n?s.call(t,n):null),Ember.handleErrors(function(){return r.apply(e||this,t||[])},this)}function r(){h=null,c.currentRunLoop&&c.end()}function t(e,r){var t=e.expires,n=r.expires;return t>n?1:n>t?-1:0}function n(){l=null,c(function(){var r=+new Date,i=-1,o=[];for(var s in m)if(m.hasOwnProperty(s)){var u=m[s];u&&u.expires&&(r>=u.expires?(delete m[s],o.push(u)):(0>i||i>u.expires)&&(i=u.expires))}a.call(o.sort(t),function(r){e(r.target,r.method,r.args,2)}),i>0&&(l=window.setTimeout(n,i-r),f=i)})}function i(r,t){t[this.tguid]&&delete t[this.tguid][this.mguid],m[r]&&e(this.target,this.method,this.args),delete m[r]}function o(e,r,t,n){var o,s=Ember.guidFor(r),a=Ember.guidFor(t),u=c.autorun().onceTimers,h=u[s]&&u[s][a];return h&&m[h]?m[h].args=n:(o={target:r,method:t,args:n,tguid:s,mguid:a},h=Ember.guidFor(o),m[h]=o,u[s]||(u[s]={}),u[s][a]=h,c.schedule(e,o,i,h,u)),h}var s=[].slice,a=Ember.ArrayPolyfills.forEach,u=function(e){this._prev=e||null,this.onceTimers={}};u.prototype={end:function(){this.flush()},prev:function(){return this._prev},schedule:function(e,r,t){var n,i=this._queues;i||(i=this._queues={}),n=i[e],n||(n=i[e]=[]);var o=arguments.length>3?s.call(arguments,3):null;return n.push({target:r,method:t,args:o}),this
|
16
|
+
},flush:function(r){function t(r){e(r.target,r.method,r.args)}function n(){a.call(u,t)}var i,o,s,u,c;if(!this._queues)return this;if(Ember.watch.flushPending(),r)for(;this._queues&&(u=this._queues[r]);)this._queues[r]=null,"sync"===r?(c=Ember.LOG_BINDINGS,c&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember.beginPropertyChanges(),Ember.tryFinally(n,Ember.endPropertyChanges),c&&Ember.Logger.log("End: Flush Sync Queue")):a.call(u,t);else{i=Ember.run.queues,s=i.length,o=0;e:for(;s>o;){r=i[o],u=this._queues&&this._queues[r],delete this._queues[r],u&&("sync"===r?(c=Ember.LOG_BINDINGS,c&&Ember.Logger.log("Begin: Flush Sync Queue"),Ember.beginPropertyChanges(),Ember.tryFinally(n,Ember.endPropertyChanges),c&&Ember.Logger.log("End: Flush Sync Queue")):a.call(u,t));for(var h=0;o>=h;h++)if(this._queues&&this._queues[i[h]]){o=h;continue e}o++}}return this}},Ember.RunLoop=u,Ember.run=function(r,t){function n(){return r||t?e(r,t,i,2):void 0}var i=arguments;return c.begin(),Ember.tryFinally(n,c.end)};var c=Ember.run;Ember.run.begin=function(){c.currentRunLoop=new u(c.currentRunLoop)},Ember.run.end=function(){function e(){c.currentRunLoop.end()}function r(){c.currentRunLoop=c.currentRunLoop.prev()}Ember.tryFinally(e,r)},Ember.run.queues=["sync","actions","destroy"],Ember.run.schedule=function(){var e=c.autorun();e.schedule.apply(e,arguments)};var h;Ember.run.hasScheduledTimers=function(){return!(!h&&!l)},Ember.run.cancelTimers=function(){h&&(clearTimeout(h),h=null),l&&(clearTimeout(l),l=null),m={}},Ember.run.autorun=function(){return c.currentRunLoop||(c.begin(),h||(h=setTimeout(r,1))),c.currentRunLoop},Ember.run.sync=function(){c.autorun(),c.currentRunLoop.flush("sync")};var l,f,m={};Ember.run.later=function(e,r){var t,i,o,a,u;return 2===arguments.length&&"function"==typeof e?(u=r,r=e,e=void 0,t=[e,r]):(t=s.call(arguments),u=t.pop()),i=+new Date+u,o={target:e,method:r,expires:i,args:t},a=Ember.guidFor(o),m[a]=o,l&&f>i&&(clearTimeout(l),l=null),l||(l=setTimeout(n,u),f=i),a},Ember.run.once=function(e,r){return o("actions",e,r,s.call(arguments,2))},Ember.run.scheduleOnce=function(e,r,t){return o(e,r,t,s.call(arguments,3))},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),c.later.apply(this,e)},Ember.run.cancel=function(e){delete m[e]}}(),function(){function e(e,r){return t(o(r)?Ember.lookup:e,r)}function r(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var t=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,o=Ember.isGlobalPath=function(e){return i.test(e)},s=function(e,r){this._direction="fwd",this._from=r,this._to=e,this._directionMap=Ember.Map.create()};s.prototype={copy:function(){var e=new s(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(r){var t=this._from,n=this._to;return Ember.trySet(r,n,e(r,t)),Ember.addObserver(r,t,this,this.fromDidChange),this._oneWay||Ember.addObserver(r,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var r=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),r&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,r){var t=this._directionMap,n=t.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),t.set(e,r)),"back"===n&&"fwd"===r&&t.set(e,"fwd")},_sync:function(r){var n=Ember.LOG_BINDINGS;if(!r.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(r),s=this._from,a=this._to;if(i.remove(r),"fwd"===o){var u=e(r,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,r),this._oneWay?Ember.trySet(r,a,u):Ember._suspendObserver(r,a,this,this.toDidChange,function(){Ember.trySet(r,a,u)})}else if("back"===o){var c=t(r,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,r),Ember._suspendObserver(r,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:r,s,c)})}}}},r(s,{from:function(){var e=this,r=new e;return r.from.apply(r,arguments)},to:function(){var e=this,r=new e;return r.to.apply(r,arguments)},oneWay:function(e,r){var t=this,n=new t(null,e);return n.oneWay(r)}}),Ember.Binding=s,Ember.bind=function(e,r,t){return new Ember.Binding(r,t).connect(e)},Ember.oneWay=function(e,r,t){return new Ember.Binding(r,t).oneWay().connect(e)}}(),function(){function e(e){var r=Ember.meta(e,!0),t=r.mixins;return t?r.hasOwnProperty("mixins")||(t=r.mixins=A(t)):t=r.mixins={},t}function r(e,r){return r&&r.length>0&&(e.mixins=O.call(r,function(e){if(e instanceof g)return e;var r=new g;return r.properties=e,r})),e}function t(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,r){var t;return r instanceof g?(t=S(r),e[t]?D:(e[t]=r,r.properties)):r}function i(e,r,t){var n;return n=r.concatenatedProperties||t.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function o(e,r,t,n,i){var o;return void 0===n[r]&&(o=i[r]),o=o||e.descs[r],o&&o instanceof Ember.ComputedProperty?(t=A(t),t.func=Ember.wrap(t.func,o.func),t):t}function s(e,r,t,n,i){var o;return void 0===i[r]&&(o=n[r]),o=o||e[r],"function"!=typeof o?t:Ember.wrap(t,o)}function a(e,r,t,n){var i=n[r]||e[r];return i?"function"==typeof i.concat?i.concat(t):Ember.makeArray(i).concat(t):Ember.makeArray(t)}function u(e,r,n,i,u,c,h){if(n instanceof Ember.Descriptor){if(n===y&&u[r])return D;n.func&&(n=o(i,r,n,c,u)),u[r]=n,c[r]=void 0}else t(n)?n=s(e,r,n,c,u):(h&&C.call(h,r)>=0||"concatenatedProperties"===r)&&(n=a(e,r,n,c)),u[r]=void 0,c[r]=n}function c(e,r,t,o,s,a){function h(e){delete t[e],delete o[e]}for(var l,f,m,b,p,E=0,d=e.length;d>E;E++)if(l=e[E],f=n(r,l),f!==D)if(f){p=Ember.meta(s),b=i(f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),u(s,m,f[m],p,t,o,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(c(l.mixins,r,t,o,s,a),l._without&&w.call(l._without,h))}function h(e,r,t,n){if(x.test(r)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=A(n.bindings)):i=n.bindings={},i[r]=t}}function l(e,r){var t,n,i,o=r.bindings;if(o){for(t in o)n=o[t],n&&(i=t.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[t]=n);r.bindings={}}}function f(e,r){return l(e,r||Ember.meta(e)),e}function m(e,r,t,n,i){var o,s=r.methodName;return n[s]||i[s]?(o=i[s],r=n[s]):t.descs[s]?(r=t.descs[s],o=void 0):(r=void 0,o=e[s]),{desc:r,value:o}}function b(e,r,t,n,i){if("function"==typeof t){var o=t[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,r)}}function p(e,r,t){var n=e[r];b(e,r,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,r,n,"__ember_observes__","removeObserver"),b(e,r,t,"__ember_observesBefore__","addBeforeObserver"),b(e,r,t,"__ember_observes__","addObserver")}function E(r,t,n){var i,o,s,a={},u={},l=Ember.meta(r),b=[];c(t,e(r),a,u,r,b);for(var E=0,d=b.length;d>E;E++)if(i=b[E],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==y)){for(;s&&s instanceof _;){var v=m(r,s,l,a,u);s=v.desc,o=v.value}(void 0!==s||void 0!==o)&&(p(r,i,o),h(r,i,o,l),j(r,i,s,o,l))}return n||f(r,l),r}function d(e,r,t){var n=S(e);if(t[n])return!1;if(t[n]=!0,e===r)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(d(i[o],r,t))return!0;return!1}function v(e,r,t){if(!t[S(r)])if(t[S(r)]=!0,r.properties){var n=r.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else r.mixins&&w.call(r.mixins,function(r){v(e,r,t)})}var g,y,_,O=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,w=Ember.ArrayPolyfills.forEach,P=[].slice,A=Ember.create,j=Ember.defineProperty,S=Ember.guidFor,D={},x=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var r=P.call(arguments,1);return E(e,r,!1),e},Ember.Mixin=function(){return r(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var r=P.call(arguments,1);return E(e,r,!0)},g.finishPartial=f,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return r(new e,arguments)};var N=g.prototype;N.reopen=function(){var e,r;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var t,n=arguments.length,i=this.mixins;for(t=0;n>t;t++)e=arguments[t],e instanceof g?i.push(e):(r=g.create(),r.properties=e,i.push(r));return this},N.apply=function(e){return E(e,[this],!1)},N.applyPartial=function(e){return E(e,[this],!0)},N.detect=function(e){if(!e)return!1;if(e instanceof g)return d(e,this,{});var r=Ember.meta(e,!1).mixins;return r?!!r[S(this)]:!1},N.without=function(){var e=new g(this);return e._without=P.call(arguments),e},N.keys=function(){var e={},r={},t=[];v(e,this,r);for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},g.mixins=function(e){var r=Ember.meta(e,!1).mixins,t=[];if(!r)return t;for(var n in r){var i=r[n];i.properties||t.push(i)}return t},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},_=function(e){this.methodName=e},_.prototype=new Ember.Descriptor,Ember.alias=function(e){return new _(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new _(e)},Ember.observer=function(e){var r=P.call(arguments,1);return e.__ember_observes__=r,e},Ember.immediateObserver=function(){for(var e=0,r=arguments.length;r>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var r=P.call(arguments,1);return e.__ember_observesBefore__=r,e}}(),function(){e("rsvp/all",["rsvp/defer","exports"],function(e,r){"use strict";function t(e){var r=[],t=n(),i=e.length;0===i&&t.resolve([]);for(var o=function(e){return function(r){s(e,r)}},s=function(e,n){r[e]=n,0===--i&&t.resolve(r)},a=function(e){t.reject(e)},u=0;e.length>u;u++)e[u]&&"function"==typeof e[u].then?e[u].then(o(u),a):s(u,e[u]);return t.promise}var n=e.defer;r.all=t}),e("rsvp/async",["exports"],function(e){"use strict";var r,t="undefined"!=typeof window?window:{},n=t.MutationObserver||t.WebKitMutationObserver;if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))r=function(e,r){process.nextTick(function(){e.call(r)})};else if(n){var i=[],o=new n(function(){var e=i.slice();i=[],e.forEach(function(e){var r=e[0],t=e[1];r.call(t)})}),s=document.createElement("div");o.observe(s,{attributes:!0}),window.addEventListener("unload",function(){o.disconnect(),o=null}),r=function(e,r){i.push([e,r]),s.setAttribute("drainQueue","drainQueue")}}else r=function(e,r){setTimeout(function(){e.call(r)},1)};e.async=r}),e("rsvp/config",["rsvp/async","exports"],function(e,r){"use strict";var t=e.async,n={};n.async=t,r.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,r){"use strict";function t(){var e={},r=new n(function(r,t){e.resolve=r,e.reject=t});return e.promise=r,e}var n=e.Promise;r.defer=t}),e("rsvp/events",["exports"],function(e){"use strict";var r=function(e,r){this.type=e;for(var t in r)r.hasOwnProperty(t)&&(this[t]=r[t])},t=function(e,r){for(var t=0,n=e.length;n>t;t++)if(e[t][0]===r)return t;return-1},n=function(e){var r=e._promiseCallbacks;return r||(r=e._promiseCallbacks={}),r},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,r,i){var o,s,a=n(this);for(e=e.split(/\s+/),i=i||this;s=e.shift();)o=a[s],o||(o=a[s]=[]),-1===t(o,r)&&o.push([r,i])},off:function(e,r){var i,o,s,a=n(this);for(e=e.split(/\s+/);o=e.shift();)r?(i=a[o],s=t(i,r),-1!==s&&i.splice(s,1)):a[o]=[]},trigger:function(e,t){var i,o,s,a,u,c=n(this);if(i=c[e])for(var h=0;i.length>h;h++)o=i[h],s=o[0],a=o[1],"object"!=typeof t&&(t={detail:t}),u=new r(e,t),s.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,r){"use strict";function t(e){var r=0;for(var t in e)r++;return r}function n(e){var r={},n=i(),o=t(e);0===o&&n.resolve({});var s=function(e){return function(r){a(e,r)}},a=function(e,t){r[e]=t,0===--o&&n.resolve(r)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(s(c),u):a(c,e[c]);return n.promise}var i=e.defer;r.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,r,t){"use strict";function n(e,r){return function(t,n){t?r(t):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var r,t,i=Array.prototype.slice.call(arguments),a=new o(function(e,n){r=e,t=n});return s(i).then(function(i){i.push(n(r,t));try{e.apply(this,i)}catch(o){t(o)}}),a}}var o=e.Promise,s=r.all;t.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,r,t){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function o(e,r){e===r?a(e,r):s(e,r)||a(e,r)}function s(e,r){var t=null;if(n(r)){try{t=r.then}catch(s){return u(e,s),!0}if(i(t)){try{t.call(r,function(t){r!==t?o(e,t):a(e,t)},function(r){u(e,r)})}catch(s){u(e,s)}return!0}}return!1}function a(e,r){c.async(function(){e.trigger("promise:resolved",{detail:r}),e.isFulfilled=!0,e.fulfillmentValue=r})}function u(e,r){c.async(function(){e.trigger("promise:failed",{detail:r}),e.isRejected=!0,e.rejectedReason=r})}var c=e.config,h=r.EventTarget,l=function(e){var r=this,t=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(r instanceof l))return new l(e);var n=function(e){t||(t=!0,o(r,e))},i=function(e){t||(t=!0,u(r,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),e(n,i)},f=function(e,r,t,n){var a,c,h,l,f=i(t);if(f)try{a=t(n.detail),h=!0}catch(m){l=!0,c=m}else a=n.detail,h=!0;s(r,a)||(f&&h?o(r,a):l?u(r,c):"resolve"===e?o(r,a):"reject"===e&&u(r,a))};l.prototype={constructor:l,then:function(e,r){var t=new l(function(){});return this.isFulfilled&&c.async(function(){f("resolve",t,e,{detail:this.fulfillmentValue})},this),this.isRejected&&c.async(function(){f("reject",t,r,{detail:this.rejectedReason})},this),this.on("promise:resolved",function(r){f("resolve",t,e,r)}),this.on("promise:failed",function(e){f("reject",t,r,e)}),t}},h.mixin(l.prototype),t.Promise=l}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,r){"use strict";function t(e){return"function"==typeof e||"object"==typeof e&&null!==e}function n(e){var r=new i(function(r,n){var i;try{t(e)?(i=e.then,"function"==typeof i?i.call(e,r,n):r(e)):r(e)}catch(o){n(o)}});return r}var i=e.Promise;r.resolve=n}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","exports"],function(e,r,t,n,i,o,s,a,u){"use strict";function c(e,r){E[e]=r}var h=e.EventTarget,l=r.Promise,f=t.denodeify,m=n.all,b=i.hash,p=o.defer,E=s.config,d=a.resolve;u.Promise=l,u.EventTarget=h,u.all=m,u.hash=b,u.defer=p,u.denodeify=f,u.configure=c,u.resolve=d})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function r(r){this.parent=r,this.children=[],this.resolver=r&&r.resolver||function(){},this.registry=new e(r&&r.registry),this.cache=new e(r&&r.cache),this.typeInjections=new e(r&&r.typeInjections),this.injections={},this._options=new e(r&&r._options),this._typeOptions=new e(r&&r._typeOptions)}function t(e){throw new Error(e+" is not currently supported on child containers")}function n(e,r){var t=o(e,r,"singleton");return t!==!1}function i(e,r){var t={};if(!r)return t;for(var n,i,o=0,s=r.length;s>o;o++)n=r[o],i=e.lookup(n.fullName),t[n.property]=i;return t}function o(e,r,t){var n=e._options.get(r);if(n&&void 0!==n[t])return n[t];var i=r.split(":")[0];return n=e._typeOptions.get(i),n?n[t]:void 0}function s(e,r){var t=e.normalize(r);return e.resolve(t)}function a(e,r){var t,n=s(e,r),a=r.split(":"),u=a[0];if(o(e,r,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[r]||[]);var h=i(e,c);return h.container=e,h._debugContainerKey=r,t=n.create(h)}}function u(e,r){e.cache.eachLocal(function(t,n){o(e,t,"instantiate")!==!1&&r(n)})}function c(e){e.cache.eachLocal(function(r,t){o(e,r,"instantiate")!==!1&&t.destroy()}),e.cache.dict={}}return e.prototype={get:function(e){var r=this.dict;return r.hasOwnProperty(e)?r[e]:this.parent?this.parent.get(e):void 0},set:function(e,r){this.dict[e]=r},has:function(e){var r=this.dict;return r.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,r){var t=this.dict;for(var n in t)t.hasOwnProperty(n)&&e.call(r,n,t[n])}},r.prototype={child:function(){var e=new r(this);return this.children.push(e),e},set:function(e,r,t){e[r]=t},register:function(e,r,t,n){var i;-1!==e.indexOf(":")?(n=t,t=r,i=e):i=e+":"+r;var o=this.normalize(i);this.registry.set(o,t),this._options.set(o,n||{})},resolve:function(e){return this.resolver(e)||this.registry.get(e)},normalize:function(e){return e},lookup:function(e,r){if(e=this.normalize(e),r=r||{},this.cache.has(e)&&r.singleton!==!1)return this.cache.get(e);var t=a(this,e);return t?(n(this,e)&&r.singleton!==!1&&this.cache.set(e,t),t):void 0},has:function(e){return this.cache.has(e)?!0:!!s(this,e)},optionsForType:function(e,r){this.parent&&t("optionsForType"),this._typeOptions.set(e,r)},options:function(e,r){this.optionsForType(e,r)},typeInjection:function(e,r,n){this.parent&&t("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:r,fullName:n})},injection:function(e,r,n){if(this.parent&&t("injection"),-1===e.indexOf(":"))return this.typeInjection(e,r,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:r,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,r=this.children.length;r>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.isDestroying=!0}),u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,r=this.children.length;r>e;e++)c(this.children[e]);c(this)}},r})}(),function(){function e(t,n,i,o){var s,a,u;if("object"!=typeof t||null===t)return t;if(n&&(a=r(i,t))>=0)return o[a];if("array"===Ember.typeOf(t)){if(s=t.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(t))s=t.copy(n,i,o);else{s={};for(u in t)t.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(t[u],n,i,o):t[u])}return n&&(i.push(t),o.push(s)),s}var r=Ember.EnumerableUtils.indexOf;Ember.compare=function t(e,r){if(e===r)return 0;var n=Ember.typeOf(e),i=Ember.typeOf(r),o=Ember.Comparable;if(o){if("instance"===n&&o.detect(e.constructor))return e.constructor.compare(e,r);if("instance"===i&&o.detect(r.constructor))return 1-r.constructor.compare(r,e)}var s=Ember.ORDER_DEFINITION_MAPPING;if(!s){var a=Ember.ORDER_DEFINITION;s=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)s[a[u]]=u;delete Ember.ORDER_DEFINITION}var h=s[n],l=s[i];if(l>h)return-1;if(h>l)return 1;switch(n){case"boolean":case"number":return r>e?-1:e>r?1:0;case"string":var f=e.localeCompare(r);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,b=r.length,p=Math.min(m,b),E=0,d=0;0===E&&p>d;)E=t(e[d],r[d]),d++;return 0!==E?E:b>m?-1:m>b?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,r):0;case"date":var v=e.getTime(),g=r.getTime();return g>v?-1:v>g?1:0;default:return 0}},Ember.copy=function(r,t){return"object"!=typeof r||null===r?r:Ember.Copyable&&Ember.Copyable.detect(r)?r.copy(t):e(r,t,t?[]:null,t?[]:null)},Ember.inspect=function(e){if("object"!=typeof e||null===e)return e+"";var r,t=[];for(var n in e)if(e.hasOwnProperty(n)){if(r=e[n],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),t.push(n+": "+r)}return"{"+t.join(", ")+"}"},Ember.isEqual=function(e,r){return e&&"function"==typeof e.isEqual?e.isEqual(r):e===r},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(e){var r=[];for(var t in e)e.hasOwnProperty(t)&&r.push(t);return r});var n=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.prototype.constructor.apply(this,arguments),r=0;n.length>r;r++)this[n[r]]=e[n[r]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=r("rsvp")}(),function(){var e=/[ _]/g,r={},t=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,r){var t=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,0)-1:t++,e=r[n],(null===e?"(null)":void 0===e?"":e).toString()})},loc:function(e,r){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,r)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(t,"$1_$2").toLowerCase()},dasherize:function(t){var n,i=r,o=i.hasOwnProperty(t);return o?i[t]:(n=Ember.String.decamelize(t).replace(e,"-"),i[t]=n,n)},camelize:function(e){return e.replace(n,function(e,r,t){return t?t.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var r=e.split("."),t=[],n=0,i=r.length;i>n;n++){var o=Ember.String.camelize(r[n]);t.push(o.charAt(0).toUpperCase()+o.substr(1))}return t.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,r=Ember.String.w,t=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,o=Ember.String.dasherize,s=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return r(this)},String.prototype.loc=function(){return t(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return o(this)},String.prototype.underscore=function(){return s(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function r(e){return a.push(e),null}function t(e,r){function t(t){var o=n(t,e);return i?r===o:!!o}var i=2===arguments.length;return t}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var t,i=e();return t=this.nextObject(0,null,i),r(i),t}).property("[]"),lastObject:Ember.computed(function(){var t=n(this,"length");if(0===t)return void 0;var i,o=e(),s=0,a=null;do a=i,i=this.nextObject(s++,a,o);while(void 0!==i);return r(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(r){return r===e})},forEach:function(t,i){if("function"!=typeof t)throw new TypeError;var o=n(this,"length"),s=null,a=e();void 0===i&&(i=null);for(var u=0;o>u;u++){var c=this.nextObject(u,s,a);t.call(i,c,u,this),s=c}return s=null,a=r(a),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,r){return this.forEach(function(t){i(t,e,r)})},map:function(e,r){var t=Ember.A([]);return this.forEach(function(n,i,o){t[i]=e.call(r,n,i,o)}),t},mapProperty:function(e){return this.map(function(r){return n(r,e)})},filter:function(e,r){var t=Ember.A([]);return this.forEach(function(n,i,o){e.call(r,n,i,o)&&t.push(n)}),t},reject:function(e,r){return this.filter(function(){return!e.apply(r,arguments)})},filterProperty:function(){return this.filter(t.apply(this,arguments))},rejectProperty:function(e,r){var t=function(t){return n(t,e)===r},i=function(r){return!!n(r,e)},o=2===arguments.length?t:i;return this.reject(o)},find:function(t,i){var o=n(this,"length");void 0===i&&(i=null);for(var s,a,u=null,c=!1,h=e(),l=0;o>l&&!c;l++)s=this.nextObject(l,u,h),(c=t.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=r(h),a},findProperty:function(){return this.find(t.apply(this,arguments))},every:function(e,r){return!this.find(function(t,n,i){return!e.call(r,t,n,i)})},everyProperty:function(){return this.every(t.apply(this,arguments))},some:function(e,r){return!!this.find(function(t,n,i){return!!e.call(r,t,n,i)})},someProperty:function(){return this.some(t.apply(this,arguments))},reduce:function(e,r,t){if("function"!=typeof e)throw new TypeError;var n=r;return this.forEach(function(r,i){n=e.call(null,n,r,i,this,t)},this),n},invoke:function(e){var r,t=Ember.A([]);return arguments.length>1&&(r=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(t[i]=r?o.apply(n,r):o.call(n))},this),t},toArray:function(){var e=Ember.A([]);return this.forEach(function(r,t){e[t]=r}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var r=Ember.A([]);return this.forEach(function(t){t!==e&&(r[r.length]=t)}),r},uniq:function(){var e=Ember.A([]);return this.forEach(function(r){0>s(e,r)&&e.push(r)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,r){var t=r&&r.willChange||"enumerableWillChange",i=r&&r.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,t),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,r){var t=r&&r.willChange||"enumerableWillChange",i=r&&r.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,t),Ember.removeListener(this,"@enumerable:change",e,i),o&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,r){var t,i,o;return t="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof r?r:r?n(r,"length"):r=-1,o=0>i||0>t||0!==i-t,-1===e&&(e=null),-1===r&&(r=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,r]),this},enumerableContentDidChange:function(e,r){var t,i,o;return t="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof r?r:r?n(r,"length"):r=-1,o=0>i||0>t||0!==i-t,-1===e&&(e=null),-1===r&&(r=null),Ember.sendEvent(this,"@enumerable:change",[this,e,r]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,r=(Ember.set,Ember.isNone),t=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{isSCArray:!0,length:Ember.required(),objectAt:function(r){return 0>r||r>=e(this,"length")?void 0:e(this,r)},objectsAt:function(e){var r=this;return t(e,function(e){return r.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(r,t){return void 0!==t&&this.replace(0,e(this,"length"),t),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(t,n){var i=Ember.A([]),o=e(this,"length");for(r(t)&&(t=0),(r(n)||n>o)&&(n=o),0>t&&(t=o+t),0>n&&(n=o+n);n>t;)i[i.length]=this.objectAt(t++);return i},indexOf:function(r,t){var n,i=e(this,"length");for(void 0===t&&(t=0),0>t&&(t+=i),n=t;i>n;n++)if(this.objectAt(n,!0)===r)return n;return-1},lastIndexOf:function(r,t){var n,i=e(this,"length");for((void 0===t||t>=i)&&(t=i-1),0>t&&(t+=i),n=t;n>=0;n--)if(this.objectAt(n)===r)return n;return-1},addArrayObserver:function(r,t){var n=t&&t.willChange||"arrayWillChange",i=t&&t.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",r,n),Ember.addListener(this,"@array:change",r,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(r,t){var n=t&&t.willChange||"arrayWillChange",i=t&&t.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",r,n),Ember.removeListener(this,"@array:change",r,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(r,t,n){void 0===r?(r=0,t=n=-1):(void 0===t&&(t=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,r,t,n]);var i,o;if(r>=0&&t>=0&&e(this,"hasEnumerableObservers")){i=[],o=r+t;for(var s=r;o>s;s++)i.push(this.objectAt(s))}else i=t;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(r,t,i){void 0===r?(r=0,t=i=-1):(void 0===t&&(t=-1),void 0===i&&(i=-1));var o,s;if(r>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=r+i;for(var a=r;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(t,o),Ember.sendEvent(this,"@array:change",[this,r,t,i]);var u=e(this,"length"),c=n(this,"firstObject"),h=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==h&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({isComparable:!0,compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,r=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(r(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(r){return Ember.beginPropertyChanges(this),e(r,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(r){return Ember.beginPropertyChanges(this),e(r,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",r=[],t=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=t(this,"length");return 0===e?this:(this.replace(0,e,r),this)},insertAt:function(r,n){if(r>t(this,"length"))throw new Error(e);return this.replace(r,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=t(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,r)}return this},pushObject:function(e){return this.insertAt(t(this,"length"),e),e},pushObjects:function(e){return this.replace(t(this,"length"),0,e),this},popObject:function(){var e=t(this,"length");if(0===e)return null;var r=this.objectAt(e-1);return this.removeAt(e-1,1),r},shiftObject:function(){if(0===t(this,"length"))return null;var e=this.objectAt(0);
|
17
|
+
return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=t(this,"length");if(0===e)return this;var r=this.toArray().reverse();return this.replace(0,e,r),this},setObjects:function(e){if(0===e.length)return this.clear();var r=t(this,"length");return this.replace(0,r,e),this},removeObject:function(e){for(var r=t(this,"length")||0;--r>=0;){var n=this.objectAt(r);n===e&&this.removeAt(r)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,r=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(r){return e(this,r)},getProperties:function(){var r={},t=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(t=arguments[0]);for(var n=0;t.length>n;n++)r[t[n]]=e(this,t[n]);return r},set:function(e,t){return r(this,e,t),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,r,t){Ember.addBeforeObserver(this,e,r,t)},addObserver:function(e,r,t){Ember.addObserver(this,e,r,t)},removeObserver:function(e,r,t){Ember.removeObserver(this,e,r,t)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,r){return this.set(e,r)},getWithDefault:function(e,r){return Ember.getWithDefault(this,e,r)},incrementProperty:function(t,n){return Ember.isNone(n)&&(n=1),r(this,t,(e(this,t)||0)+n),e(this,t)},decrementProperty:function(t,n){return Ember.isNone(n)&&(n=1),r(this,t,(e(this,t)||0)-n),e(this,t)},toggleProperty:function(t){return r(this,t,!e(this,t)),e(this,t)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var r=e(this,"target");if("string"===Ember.typeOf(r)){var t=e(this,r);return void 0===t&&(t=e(Ember.lookup,r)),t}return r}).property("target"),actionContextObject:Ember.computed(function(){var r=e(this,"actionContext");if("string"===Ember.typeOf(r)){var t=e(this,r);return void 0===t&&(t=e(Ember.lookup,r)),t}return r}).property("actionContext"),triggerAction:function(r){r=r||{};var t=r.action||e(this,"action"),n=r.target||e(this,"targetObject"),i=r.actionContext||e(this,"actionContextObject")||this;if(n&&t){var o;return o=n.send?n.send.apply(n,[t,i]):n[t].apply(n,[i]),o!==!1&&(o=!0),o}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,r,t){return Ember.addListener(this,e,r,t),this},one:function(e,r,t){return t||(t=r,r=null),Ember.addListener(this,e,r,t,!0),this},trigger:function(e){var r,t,n=[];for(r=1,t=arguments.length;t>r;r++)n.push(arguments[r]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,r,t){return Ember.removeListener(this,e,r,t),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=r("rsvp");e.configure("async",function(e,r){Ember.run.schedule("actions",r,e)});var t=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,r){var n,i,o;return o=this,n=t(this,"_deferred"),i=n.promise,i.then(function(r){return r===i?e(o):e(r)},function(e){return r(e)})},resolve:function(e){var r,n;r=t(this,"_deferred"),n=r.promise,e===this?r.resolve(n):r.resolve(e)},reject:function(e){t(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return new e.defer})})}(),function(){Ember.Container=r("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,r,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var h=e;e=null,this.reopen.apply(this,h)}if(r){var l=r;r=null;for(var f=this.concatenatedProperties,m=0,p=l.length;p>m;m++){var g=l[m];for(var y in g)if(g.hasOwnProperty(y)){var _=g[y],O=Ember.IS_BINDING;if(O.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=t(u.bindings)):C=u.bindings={},C[y]=_}var w=u.descs[y];if(f&&d(f,y)>=0){var P=this[y];_=P?"function"==typeof P.concat?P.concat(_):Ember.makeArray(P).concat(_):Ember.makeArray(_)}w?w.set(this,y,_):"function"!=typeof this.setUnknownProperty||y in this?E?Ember.defineProperty(this,y,null,_):this[y]=_:this.setUnknownProperty(y,_)}}}b(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return s.toString=f.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=f.create(s.PrototypeMixin)),o=!1},s._initMixins=function(r){e=r},s._initProperties=function(e){r=e},s.proto=function(){var e=s.superclass;return e&&e.proto(),o||(o=!0,s.PrototypeMixin.applyPartial(s.prototype),u(s.prototype)),this.prototype},s}function r(e){return function(){return e}}var t=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,o=Ember.guidFor,s=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,h=Ember.destroy,l=Ember.run.schedule,f=Ember.Mixin,m=f._apply,b=f.finishPartial,p=f.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,d=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=f.create({reopen:function(){return m(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this._didCallDestroy?void 0:(this.isDestroying=!0,this._didCallDestroy=!0,l("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.willDestroy&&this.willDestroy(),h(this),this.isDestroyed=!0,this.didDestroy&&this.didDestroy()},bind:function(e,r){return r instanceof Ember.Binding||(r=Ember.Binding.from(r)),r.to(e).connect(this),r},toString:function(){var e="function"==typeof this.toStringExtension,t=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+t+">";return this.toString=r(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=f.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var r,n=e();return n.ClassMixin=f.create(this.ClassMixin),n.PrototypeMixin=f.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,p.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,r=n.prototype=t(this.prototype),r.constructor=n,s(r,"ember"),a(r).proto=r,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),p.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return p.apply(this.ClassMixin,arguments),m(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var r=a(this.proto(),!1).descs[e];return r._meta||{}},eachComputedProperty:function(e,r){var t,n=this.proto(),i=a(n).descs,o={};for(var s in i)t=i[s],t instanceof Ember.ComputedProperty&&e.call(r||this,s,t._meta||o)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(r,t,i){var s=r.length;c[r.join(".")]=t;for(var a in t)if(h.call(t,a)){var u=t[a];if(r[s]=a,u&&u.toString===n)u.toString=o(r.join(".")),u[f]=r.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(r,u,i)}}r.length=s}function r(){var e,r,t=Ember.Namespace,n=Ember.lookup;if(!t.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],r=e&&e.isNamespace}catch(o){continue}r&&(e[f]=i)}}function t(e){var r=e.superclass;return r?r[f]?r[f]:t(r):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else{var r=t(this);e=r?"(subclass of "+r+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var t=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(t&&(r(),u.PROCESSED=!0),t||n){for(var i,o=u.NAMESPACES,s=0,a=o.length;a>s;s++)i=o[s],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function o(e){return function(){return e}}var s=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=s(this,"name");return e?e:(r(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,h={}.hasOwnProperty,l=Ember.guidFor,f=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",r=[],t=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return t(this,"arrangedContent").objectAt(e)},replaceContent:function(e,r,n){t(this,"content").replace(e,r,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=t(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){t(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=t(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=t(this,"arrangedContent"),r=e?t(e,"length"):0;this.arrangedContentArrayWillChange(this,0,r,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=t(this,"arrangedContent"),r=e?t(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,r)},"arrangedContent"),_setupArrangedContent:function(){var e=t(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=t(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return t(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=t(this,"arrangedContent");return e?t(e,"length"):0}),_replace:function(e,r,n){var i=t(this,"content");return i&&this.replaceContent(e,r,n),this},replace:function(){if(t(this,"arrangedContent")!==t(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(r,n){if(r>t(this,"content.length"))throw new Error(e);return this._replace(r,0,[n]),this},insertAt:function(e,r){if(t(this,"arrangedContent")===t(this,"content"))return this._insertAt(e,r);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=t(this,"content"),a=t(this,"arrangedContent"),u=[];if(0>n||n>=t(this,"length"))throw new Error(e);for(void 0===i&&(i=1),o=n;n+i>o;o++)u.push(s.indexOf(a.objectAt(o)));for(u.sort(function(e,r){return r-e}),Ember.beginPropertyChanges(),o=0;u.length>o;o++)this._replace(u[o],1,r);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(t(this,"content.length"),e),e},pushObjects:function(e){return this._replace(t(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var r=t(this,"length");return this._replace(0,r,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,r,t,n){this.arrayContentWillChange(r,t,n)},arrangedContentArrayDidChange:function(e,r,t,n){this.arrayContentDidChange(r,t,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,r){var t=r.slice(8);t in this||u(this,t)}function r(e,r){var t=r.slice(8);t in this||c(this,t)}var t=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),o=Ember.addObserver,s=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(t){var n="content."+t;i(this,n,null,e),o(this,n,null,r)},didUnwatchProperty:function(t){var n="content."+t;s(this,n,null,e),a(this,n,null,r)},unknownProperty:function(e){var r=t(this,"content");return r?t(r,e):void 0},setUnknownProperty:function(e,r){var i=t(this,"content");return n(i,e,r)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,r,t,n,i,o;if(arguments.length){for(r=this.proto(),t=0,n=arguments.length;n>t;t++){i=arguments[t];for(o in i)!i.hasOwnProperty(o)||o in r||(e||(e={}),e[o]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,r,t,i,o){var s,a=t._objects;for(a||(a=t._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,r,t,"contentKeyWillChange"),Ember.addObserver(u,r,t,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function r(e,r,t,i,o){var s=t._objects;s||(s=t._objects={});for(var a,u;--o>=i;){var c=e.objectAt(o);c&&(Ember.removeBeforeObserver(c,r,t,"contentKeyWillChange"),Ember.removeObserver(c,r,t,"contentKeyDidChange"),u=n(c),a=s[u],a[a.indexOf(o)]=null)}}var t=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.Object.extend(Ember.Array,{init:function(e,r,t){this._super(),this._keyName=r,this._owner=t,this._content=e},objectAt:function(e){var r=this._content.objectAt(e);return r&&t(r,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?t(e,"length"):0})}),s=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var r;return r=new o(this._content,e,this),Ember.defineProperty(this,e,null,r),this.beginObservingContentKey(e),r},arrayWillChange:function(e,t,n){var i,o,s=this._keys;o=n>0?t+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&r(e,i,this,t,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(r,t,n,i){var o,s,a=this._keys;s=i>0?t+i:-1,Ember.beginPropertyChanges(this);for(o in a)a.hasOwnProperty(o)&&(s>0&&e(r,o,this,t,s),Ember.propertyDidChange(this,o));Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(e){s.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){s.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(r){var n=this._keys;if(n||(n=this._keys={}),n[r])n[r]++;else{n[r]=1;var i=this._content,o=t(i,"length");e(i,r,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&0>=--n[e]){var i=this._content,o=t(i,"length");r(i,e,this,0,o)}},contentKeyWillChange:function(e,r){Ember.propertyWillChange(this,r)},contentKeyDidChange:function(e,r){Ember.propertyDidChange(this,r)}})}(),function(){var e=Ember.get;Ember.set;var r=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(r,t,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(r,t,i),n&&0!==n.length){var o=[r,t].concat(n);this.splice.apply(this,o)}else this.splice(r,t);return this.arrayContentDidChange(r,t,i),this},unknownProperty:function(e,r){var t;return void 0!==r&&void 0===t&&(t=this[e]=r),t},indexOf:function(e,r){var t,n=this.length;for(r=void 0===r?0:0>r?Math.ceil(r):Math.floor(r),0>r&&(r+=n),t=r;n>t;t++)if(this[t]===e)return t;return-1},lastIndexOf:function(e,r){var t,n=this.length;for(r=void 0===r?n-1:0>r?Math.ceil(r):Math.floor(r),0>r&&(r+=n),t=r;t>=0;t--)if(this[t]===e)return t;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),t=["length"];Ember.EnumerableUtils.forEach(r.keys(),function(e){Array.prototype[e]&&t.push(e)}),t.length>0&&(r=r.without.apply(r,t)),Ember.NativeArray=r,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){r.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,r=Ember.set,t=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;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 n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var o=0;n>o;o++)i=t(this[o]),delete this[i],delete this[o];return r(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(r){if(!Ember.Enumerable.detect(r))return!1;var t=e(this,"length");if(e(r,"length")!==t)return!1;for(;--t>=0;)if(!r.contains(this[t]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var r=this.length>0?this[this.length-1]:null;return this.remove(r),r},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=t(i),a=this[s],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(o=[i],this.enumerableContentWillChange(null,o),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,r(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=t(i),u=this[a],c=e(this,"length"),h=0===u,l=u===c-1;return u>=0&&c>u&&this[u]===i&&(s=[i],this.enumerableContentWillChange(s,null),h&&Ember.propertyWillChange(this,"firstObject"),l&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(o=this[c-1],this[u]=o,this[t(o)]=u),delete this[a],delete this[c-1],r(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[t(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(r(i,"length",o);--o>=0;)i[o]=this[o],i[t(this[o])]=o;return i},toString:function(){var e,r=this.length,t=[];for(e=0;r>e;e++)t[e]=this[e];return i("Ember.Set<%@>",[t.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var r=Ember.Object.extend(e);r.reopenClass({promise:function(e,t){var n=r.create();return e.call(t,n),n}}),Ember.Deferred=r}(),function(){var e=Ember.ArrayPolyfills.forEach,r=Ember.ENV.EMBER_LOAD_HOOKS||{},t={};Ember.onLoad=function(e,n){var i;r[e]=r[e]||Ember.A(),r[e].pushObject(n),(i=t[e])&&n(i)},Ember.runLoadHooks=function(n,i){t[n]=i,r[n]&&e.call(r[n],function(e){e(i)})}}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,store:null,model:Ember.computed.alias("content"),send:function(r){var t,n=[].slice.call(arguments,1);this[r]?this[r].apply(this,n):(t=e(this,"target"))&&t.send.apply(t,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,r=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,orderBy:function(t,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending");return r(o,function(r){0===i&&(i=Ember.compare(e(t,r),e(n,r)),0===i||s||(i=-1*i))}),i},destroy:function(){var t=e(this,"content"),n=e(this,"sortProperties");return t&&n&&r(t,function(e){r(n,function(r){Ember.removeObserver(e,r,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var t=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return t&&n?(t=t.slice(),t.sort(function(e,r){return o.orderBy(e,r)}),r(t,function(e){r(i,function(r){Ember.addObserver(e,r,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(t)):t}),_contentWillChange:Ember.beforeObserver(function(){var t=e(this,"content"),n=e(this,"sortProperties");t&&n&&r(t,function(e){r(n,function(r){Ember.removeObserver(e,r,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var r=e(this,"arrangedContent");r.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(t,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=t.slice(n,n+i),c=e(this,"sortProperties");r(u,function(e){a.removeObject(e),r(c,function(r){Ember.removeObserver(e,r,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(t,n,i,o)},contentArrayDidChange:function(t,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=t.slice(n,n+o);r(u,function(e){this.insertItemSorted(e),r(a,function(r){Ember.addObserver(e,r,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(t,n,i,o)},insertItemSorted:function(r){var t=e(this,"arrangedContent"),n=e(t,"length"),i=this._binarySearch(r,0,n);t.insertAt(i,r)},contentItemSortPropertyDidChange:function(r){var t=e(this,"arrangedContent"),n=t.indexOf(r),i=t.objectAt(n-1),o=t.objectAt(n+1),s=i&&this.orderBy(r,i),a=o&&this.orderBy(r,o);(0>s||a>0)&&(t.removeObject(r),this.insertItemSorted(r))},_binarySearch:function(r,t,n){var i,o,s,a;return t===n?t:(a=e(this,"arrangedContent"),i=t+Math.floor((n-t)/2),o=a.objectAt(i),s=this.orderBy(o,r),0>s?this._binarySearch(r,i+1,n):s>0?this._binarySearch(r,t,i):i)}})}(),function(){var e=Ember.get,r=(Ember.set,Ember.EnumerableUtils.forEach),t=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(r){var t=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(r);if(r>=0&&t>r){var o=this.lookupItemController(i);if(o)return this.controllerAt(r,i,o)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,o){var s=e(this,"_subControllers"),a=s.slice(n,n+i);r(a,function(e){e&&e.destroy()}),t(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(r,t,n){var i=e(this,"container"),o=e(this,"_subControllers"),s=o[r];if(s||(s=i.lookup("controller:"+n,{singleton:!1}),o[r]=s),!s)throw new Error('Could not resolve itemController: "'+n+'"');return s.set("target",this),s.set("content",t),s},_subControllers:null,_resetSubControllers:function(){var t=e(this,"_subControllers");t&&r(t,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}()})(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||console.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
data/dist/ember-runtime.prod.js
CHANGED
@@ -55,7 +55,7 @@ var define, requireModule;
|
|
55
55
|
|
56
56
|
@class Ember
|
57
57
|
@static
|
58
|
-
@version 1.0.0-rc.
|
58
|
+
@version 1.0.0-rc.3
|
59
59
|
*/
|
60
60
|
|
61
61
|
if ('undefined' === typeof Ember) {
|
@@ -82,10 +82,10 @@ Ember.toString = function() { return "Ember"; };
|
|
82
82
|
/**
|
83
83
|
@property VERSION
|
84
84
|
@type String
|
85
|
-
@default '1.0.0-rc.
|
85
|
+
@default '1.0.0-rc.3'
|
86
86
|
@final
|
87
87
|
*/
|
88
|
-
Ember.VERSION = '1.0.0-rc.
|
88
|
+
Ember.VERSION = '1.0.0-rc.3';
|
89
89
|
|
90
90
|
/**
|
91
91
|
Standard environmental variables. You can define these in a global `ENV`
|
@@ -310,7 +310,7 @@ Ember.none = Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isN
|
|
310
310
|
@return {Boolean}
|
311
311
|
*/
|
312
312
|
Ember.isEmpty = function(obj) {
|
313
|
-
return obj
|
313
|
+
return Ember.isNone(obj) || (obj.length === 0 && typeof obj !== 'function') || (typeof obj === 'object' && Ember.get(obj, 'length') === 0);
|
314
314
|
};
|
315
315
|
Ember.empty = Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.", Ember.isEmpty) ;
|
316
316
|
|
@@ -343,6 +343,13 @@ var platform = Ember.platform = {};
|
|
343
343
|
*/
|
344
344
|
Ember.create = Object.create;
|
345
345
|
|
346
|
+
// IE8 has Object.create but it couldn't treat property descripters.
|
347
|
+
if (Ember.create) {
|
348
|
+
if (Ember.create({a: 1}, {a: {value: 2}}).a !== 2) {
|
349
|
+
Ember.create = null;
|
350
|
+
}
|
351
|
+
}
|
352
|
+
|
346
353
|
// STUB_OBJECT_CREATE allows us to override other libraries that stub
|
347
354
|
// Object.create different than we would prefer
|
348
355
|
if (!Ember.create || Ember.ENV.STUB_OBJECT_CREATE) {
|
@@ -477,62 +484,6 @@ if (Ember.ENV.MANDATORY_SETTER && !platform.hasPropertyAccessors) {
|
|
477
484
|
|
478
485
|
|
479
486
|
|
480
|
-
(function() {
|
481
|
-
var utils = Ember.EnumerableUtils = {
|
482
|
-
map: function(obj, callback, thisArg) {
|
483
|
-
return obj.map ? obj.map.call(obj, callback, thisArg) : Array.prototype.map.call(obj, callback, thisArg);
|
484
|
-
},
|
485
|
-
|
486
|
-
forEach: function(obj, callback, thisArg) {
|
487
|
-
return obj.forEach ? obj.forEach.call(obj, callback, thisArg) : Array.prototype.forEach.call(obj, callback, thisArg);
|
488
|
-
},
|
489
|
-
|
490
|
-
indexOf: function(obj, element, index) {
|
491
|
-
return obj.indexOf ? obj.indexOf.call(obj, element, index) : Array.prototype.indexOf.call(obj, element, index);
|
492
|
-
},
|
493
|
-
|
494
|
-
indexesOf: function(obj, elements) {
|
495
|
-
return elements === undefined ? [] : utils.map(elements, function(item) {
|
496
|
-
return utils.indexOf(obj, item);
|
497
|
-
});
|
498
|
-
},
|
499
|
-
|
500
|
-
addObject: function(array, item) {
|
501
|
-
var index = utils.indexOf(array, item);
|
502
|
-
if (index === -1) { array.push(item); }
|
503
|
-
},
|
504
|
-
|
505
|
-
removeObject: function(array, item) {
|
506
|
-
var index = utils.indexOf(array, item);
|
507
|
-
if (index !== -1) { array.splice(index, 1); }
|
508
|
-
},
|
509
|
-
|
510
|
-
replace: function(array, idx, amt, objects) {
|
511
|
-
if (array.replace) {
|
512
|
-
return array.replace(idx, amt, objects);
|
513
|
-
} else {
|
514
|
-
var args = Array.prototype.concat.apply([idx, amt], objects);
|
515
|
-
return array.splice.apply(array, args);
|
516
|
-
}
|
517
|
-
},
|
518
|
-
|
519
|
-
intersection: function(array1, array2) {
|
520
|
-
var intersection = [];
|
521
|
-
|
522
|
-
array1.forEach(function(element) {
|
523
|
-
if (array2.indexOf(element) >= 0) {
|
524
|
-
intersection.push(element);
|
525
|
-
}
|
526
|
-
});
|
527
|
-
|
528
|
-
return intersection;
|
529
|
-
}
|
530
|
-
};
|
531
|
-
|
532
|
-
})();
|
533
|
-
|
534
|
-
|
535
|
-
|
536
487
|
(function() {
|
537
488
|
/*jshint newcap:false*/
|
538
489
|
/**
|
@@ -1409,6 +1360,68 @@ Ember.subscribe = Ember.Instrumentation.subscribe;
|
|
1409
1360
|
|
1410
1361
|
|
1411
1362
|
|
1363
|
+
(function() {
|
1364
|
+
var map, forEach, indexOf, concat;
|
1365
|
+
concat = Array.prototype.concat;
|
1366
|
+
map = Array.prototype.map || Ember.ArrayPolyfills.map;
|
1367
|
+
forEach = Array.prototype.forEach || Ember.ArrayPolyfills.forEach;
|
1368
|
+
indexOf = Array.prototype.indexOf || Ember.ArrayPolyfills.indexOf;
|
1369
|
+
|
1370
|
+
var utils = Ember.EnumerableUtils = {
|
1371
|
+
map: function(obj, callback, thisArg) {
|
1372
|
+
return obj.map ? obj.map.call(obj, callback, thisArg) : map.call(obj, callback, thisArg);
|
1373
|
+
},
|
1374
|
+
|
1375
|
+
forEach: function(obj, callback, thisArg) {
|
1376
|
+
return obj.forEach ? obj.forEach.call(obj, callback, thisArg) : forEach.call(obj, callback, thisArg);
|
1377
|
+
},
|
1378
|
+
|
1379
|
+
indexOf: function(obj, element, index) {
|
1380
|
+
return obj.indexOf ? obj.indexOf.call(obj, element, index) : indexOf.call(obj, element, index);
|
1381
|
+
},
|
1382
|
+
|
1383
|
+
indexesOf: function(obj, elements) {
|
1384
|
+
return elements === undefined ? [] : utils.map(elements, function(item) {
|
1385
|
+
return utils.indexOf(obj, item);
|
1386
|
+
});
|
1387
|
+
},
|
1388
|
+
|
1389
|
+
addObject: function(array, item) {
|
1390
|
+
var index = utils.indexOf(array, item);
|
1391
|
+
if (index === -1) { array.push(item); }
|
1392
|
+
},
|
1393
|
+
|
1394
|
+
removeObject: function(array, item) {
|
1395
|
+
var index = utils.indexOf(array, item);
|
1396
|
+
if (index !== -1) { array.splice(index, 1); }
|
1397
|
+
},
|
1398
|
+
|
1399
|
+
replace: function(array, idx, amt, objects) {
|
1400
|
+
if (array.replace) {
|
1401
|
+
return array.replace(idx, amt, objects);
|
1402
|
+
} else {
|
1403
|
+
var args = concat.apply([idx, amt], objects);
|
1404
|
+
return array.splice.apply(array, args);
|
1405
|
+
}
|
1406
|
+
},
|
1407
|
+
|
1408
|
+
intersection: function(array1, array2) {
|
1409
|
+
var intersection = [];
|
1410
|
+
|
1411
|
+
utils.forEach(array1, function(element) {
|
1412
|
+
if (utils.indexOf(array2, element) >= 0) {
|
1413
|
+
intersection.push(element);
|
1414
|
+
}
|
1415
|
+
});
|
1416
|
+
|
1417
|
+
return intersection;
|
1418
|
+
}
|
1419
|
+
};
|
1420
|
+
|
1421
|
+
})();
|
1422
|
+
|
1423
|
+
|
1424
|
+
|
1412
1425
|
(function() {
|
1413
1426
|
/**
|
1414
1427
|
@module ember-metal
|
@@ -1548,7 +1561,7 @@ OrderedSet.prototype = {
|
|
1548
1561
|
*/
|
1549
1562
|
forEach: function(fn, self) {
|
1550
1563
|
// allow mutation during iteration
|
1551
|
-
var list = this.
|
1564
|
+
var list = this.toArray();
|
1552
1565
|
|
1553
1566
|
for (var i = 0, j = list.length; i < j; i++) {
|
1554
1567
|
fn.call(self, list[i]);
|
@@ -1571,7 +1584,7 @@ OrderedSet.prototype = {
|
|
1571
1584
|
var set = new OrderedSet();
|
1572
1585
|
|
1573
1586
|
set.presenceSet = copy(this.presenceSet);
|
1574
|
-
set.list = this.
|
1587
|
+
set.list = this.toArray();
|
1575
1588
|
|
1576
1589
|
return set;
|
1577
1590
|
}
|
@@ -1654,12 +1667,10 @@ Map.prototype = {
|
|
1654
1667
|
// to use in browsers that are not ES6 friendly;
|
1655
1668
|
var keys = this.keys,
|
1656
1669
|
values = this.values,
|
1657
|
-
guid = guidFor(key)
|
1658
|
-
value;
|
1670
|
+
guid = guidFor(key);
|
1659
1671
|
|
1660
1672
|
if (values.hasOwnProperty(guid)) {
|
1661
1673
|
keys.remove(key);
|
1662
|
-
value = values[guid];
|
1663
1674
|
delete values[guid];
|
1664
1675
|
return true;
|
1665
1676
|
} else {
|
@@ -1831,12 +1842,11 @@ get = function get(obj, keyName) {
|
|
1831
1842
|
obj = null;
|
1832
1843
|
}
|
1833
1844
|
|
1834
|
-
if (!obj || keyName.indexOf('.') !== -1) {
|
1835
1845
|
|
1846
|
+
if (obj === null || keyName.indexOf('.') !== -1) {
|
1836
1847
|
return getPath(obj, keyName);
|
1837
1848
|
}
|
1838
1849
|
|
1839
|
-
|
1840
1850
|
var meta = obj[META_KEY], desc = meta && meta.descs[keyName], ret;
|
1841
1851
|
if (desc) {
|
1842
1852
|
return desc.get(obj, keyName);
|
@@ -1908,7 +1918,7 @@ var getPath = Ember._getPath = function(root, path) {
|
|
1908
1918
|
|
1909
1919
|
parts = path.split(".");
|
1910
1920
|
len = parts.length;
|
1911
|
-
for (idx=0; root && idx<len; idx++) {
|
1921
|
+
for (idx=0; root !== undefined && root !== null && idx<len; idx++) {
|
1912
1922
|
root = get(root, parts[idx], true);
|
1913
1923
|
if (root && root.isDestroyed) { return undefined; }
|
1914
1924
|
}
|
@@ -1954,7 +1964,9 @@ Ember.getPath = Ember.deprecateFunc('getPath is deprecated since get now support
|
|
1954
1964
|
|
1955
1965
|
var o_create = Ember.create,
|
1956
1966
|
metaFor = Ember.meta,
|
1957
|
-
META_KEY = Ember.META_KEY
|
1967
|
+
META_KEY = Ember.META_KEY,
|
1968
|
+
/* listener flags */
|
1969
|
+
ONCE = 1, SUSPENDED = 2, IMMEDIATE = 4;
|
1958
1970
|
|
1959
1971
|
/*
|
1960
1972
|
The event system uses a series of nested hashes to store listeners on an
|
@@ -1967,7 +1979,7 @@ var o_create = Ember.create,
|
|
1967
1979
|
{
|
1968
1980
|
listeners: { // variable name: `listenerSet`
|
1969
1981
|
"foo:changed": [ // variable name: `actions`
|
1970
|
-
[target, method,
|
1982
|
+
[target, method, flags]
|
1971
1983
|
]
|
1972
1984
|
}
|
1973
1985
|
}
|
@@ -2013,12 +2025,11 @@ function actionsUnion(obj, eventName, otherActions) {
|
|
2013
2025
|
for (var i = actions.length - 1; i >= 0; i--) {
|
2014
2026
|
var target = actions[i][0],
|
2015
2027
|
method = actions[i][1],
|
2016
|
-
|
2017
|
-
suspended = actions[i][3],
|
2028
|
+
flags = actions[i][2],
|
2018
2029
|
actionIndex = indexOf(otherActions, target, method);
|
2019
2030
|
|
2020
2031
|
if (actionIndex === -1) {
|
2021
|
-
otherActions.push([target, method,
|
2032
|
+
otherActions.push([target, method, flags]);
|
2022
2033
|
}
|
2023
2034
|
}
|
2024
2035
|
}
|
@@ -2032,14 +2043,13 @@ function actionsDiff(obj, eventName, otherActions) {
|
|
2032
2043
|
for (var i = actions.length - 1; i >= 0; i--) {
|
2033
2044
|
var target = actions[i][0],
|
2034
2045
|
method = actions[i][1],
|
2035
|
-
|
2036
|
-
suspended = actions[i][3],
|
2046
|
+
flags = actions[i][2],
|
2037
2047
|
actionIndex = indexOf(otherActions, target, method);
|
2038
2048
|
|
2039
2049
|
if (actionIndex !== -1) { continue; }
|
2040
2050
|
|
2041
|
-
otherActions.push([target, method,
|
2042
|
-
diffActions.push([target, method,
|
2051
|
+
otherActions.push([target, method, flags]);
|
2052
|
+
diffActions.push([target, method, flags]);
|
2043
2053
|
}
|
2044
2054
|
|
2045
2055
|
return diffActions;
|
@@ -2065,11 +2075,14 @@ function addListener(obj, eventName, target, method, once) {
|
|
2065
2075
|
}
|
2066
2076
|
|
2067
2077
|
var actions = actionsFor(obj, eventName),
|
2068
|
-
actionIndex = indexOf(actions, target, method)
|
2078
|
+
actionIndex = indexOf(actions, target, method),
|
2079
|
+
flags = 0;
|
2080
|
+
|
2081
|
+
if (once) flags |= ONCE;
|
2069
2082
|
|
2070
2083
|
if (actionIndex !== -1) { return; }
|
2071
2084
|
|
2072
|
-
actions.push([target, method,
|
2085
|
+
actions.push([target, method, flags]);
|
2073
2086
|
|
2074
2087
|
if ('function' === typeof obj.didAddListener) {
|
2075
2088
|
obj.didAddListener(eventName, target, method);
|
@@ -2096,7 +2109,7 @@ function removeListener(obj, eventName, target, method) {
|
|
2096
2109
|
target = null;
|
2097
2110
|
}
|
2098
2111
|
|
2099
|
-
function _removeListener(target, method
|
2112
|
+
function _removeListener(target, method) {
|
2100
2113
|
var actions = actionsFor(obj, eventName),
|
2101
2114
|
actionIndex = indexOf(actions, target, method);
|
2102
2115
|
|
@@ -2153,12 +2166,12 @@ function suspendListener(obj, eventName, target, method, callback) {
|
|
2153
2166
|
|
2154
2167
|
if (actionIndex !== -1) {
|
2155
2168
|
action = actions[actionIndex].slice(); // copy it, otherwise we're modifying a shared object
|
2156
|
-
action[
|
2169
|
+
action[2] |= SUSPENDED; // mark the action as suspended
|
2157
2170
|
actions[actionIndex] = action; // replace the shared object with our copy
|
2158
2171
|
}
|
2159
2172
|
|
2160
2173
|
function tryable() { return callback.call(target); }
|
2161
|
-
function finalizer() { if (action) { action[
|
2174
|
+
function finalizer() { if (action) { action[2] &= ~SUSPENDED; } }
|
2162
2175
|
|
2163
2176
|
return Ember.tryFinally(tryable, finalizer);
|
2164
2177
|
}
|
@@ -2197,7 +2210,7 @@ function suspendListeners(obj, eventNames, target, method, callback) {
|
|
2197
2210
|
|
2198
2211
|
if (actionIndex !== -1) {
|
2199
2212
|
action = actions[actionIndex].slice();
|
2200
|
-
action[
|
2213
|
+
action[2] |= SUSPENDED;
|
2201
2214
|
actions[actionIndex] = action;
|
2202
2215
|
suspendedActions.push(action);
|
2203
2216
|
}
|
@@ -2207,7 +2220,7 @@ function suspendListeners(obj, eventNames, target, method, callback) {
|
|
2207
2220
|
|
2208
2221
|
function finalizer() {
|
2209
2222
|
for (i = 0, l = suspendedActions.length; i < l; i++) {
|
2210
|
-
suspendedActions[i][
|
2223
|
+
suspendedActions[i][2] &= ~SUSPENDED;
|
2211
2224
|
}
|
2212
2225
|
}
|
2213
2226
|
|
@@ -2257,13 +2270,11 @@ function sendEvent(obj, eventName, params, actions) {
|
|
2257
2270
|
if (!actions) { return; }
|
2258
2271
|
|
2259
2272
|
for (var i = actions.length - 1; i >= 0; i--) { // looping in reverse for once listeners
|
2260
|
-
|
2261
|
-
|
2262
|
-
var target =
|
2263
|
-
|
2264
|
-
|
2265
|
-
|
2266
|
-
if (once) { removeListener(obj, eventName, target, method); }
|
2273
|
+
var action = actions[i];
|
2274
|
+
if (!action) { continue; }
|
2275
|
+
var target = action[0], method = action[1], flags = action[2];
|
2276
|
+
if (flags & SUSPENDED) { continue; }
|
2277
|
+
if (flags & ONCE) { removeListener(obj, eventName, target, method); }
|
2267
2278
|
if (!target) { target = obj; }
|
2268
2279
|
if ('string' === typeof method) { method = target[method]; }
|
2269
2280
|
if (params) {
|
@@ -2343,7 +2354,7 @@ var guidFor = Ember.guidFor,
|
|
2343
2354
|
keyName: keyName,
|
2344
2355
|
eventName: eventName,
|
2345
2356
|
listeners: [
|
2346
|
-
[target, method,
|
2357
|
+
[target, method, flags]
|
2347
2358
|
]
|
2348
2359
|
},
|
2349
2360
|
...
|
@@ -2617,8 +2628,6 @@ var notifyObservers = function(obj, keyName) {
|
|
2617
2628
|
var META_KEY = Ember.META_KEY,
|
2618
2629
|
MANDATORY_SETTER = Ember.ENV.MANDATORY_SETTER,
|
2619
2630
|
IS_GLOBAL = /^([A-Z$]|([0-9][A-Z$]))/,
|
2620
|
-
propertyWillChange = Ember.propertyWillChange,
|
2621
|
-
propertyDidChange = Ember.propertyDidChange,
|
2622
2631
|
getPath = Ember._getPath;
|
2623
2632
|
|
2624
2633
|
/**
|
@@ -2772,7 +2781,7 @@ var MANDATORY_SETTER = Ember.ENV.MANDATORY_SETTER;
|
|
2772
2781
|
//
|
2773
2782
|
|
2774
2783
|
/**
|
2775
|
-
Objects of this type can implement an interface to
|
2784
|
+
Objects of this type can implement an interface to respond to requests to
|
2776
2785
|
get and set. The default implementation handles simple properties.
|
2777
2786
|
|
2778
2787
|
You generally won't need to create or subclass this directly.
|
@@ -3077,7 +3086,6 @@ function isProto(pvalue) {
|
|
3077
3086
|
// value for the key then the node won't actually watch it. For a root node
|
3078
3087
|
// pass null for parent and key and object for value.
|
3079
3088
|
var ChainNode = Ember._ChainNode = function(parent, key, value) {
|
3080
|
-
var obj;
|
3081
3089
|
this._parent = parent;
|
3082
3090
|
this._key = key;
|
3083
3091
|
|
@@ -3525,7 +3533,7 @@ var get = Ember.get,
|
|
3525
3533
|
This function returns a map of unique dependencies for a
|
3526
3534
|
given object and key.
|
3527
3535
|
*/
|
3528
|
-
function keysForDep(
|
3536
|
+
function keysForDep(depsMeta, depKey) {
|
3529
3537
|
var keys = depsMeta[depKey];
|
3530
3538
|
if (!keys) {
|
3531
3539
|
// if there are no dependencies yet for a the given key
|
@@ -3539,8 +3547,8 @@ function keysForDep(obj, depsMeta, depKey) {
|
|
3539
3547
|
return keys;
|
3540
3548
|
}
|
3541
3549
|
|
3542
|
-
function metaForDeps(
|
3543
|
-
return keysForDep(
|
3550
|
+
function metaForDeps(meta) {
|
3551
|
+
return keysForDep(meta, 'deps');
|
3544
3552
|
}
|
3545
3553
|
|
3546
3554
|
function addDependentKeys(desc, obj, keyName, meta) {
|
@@ -3549,12 +3557,12 @@ function addDependentKeys(desc, obj, keyName, meta) {
|
|
3549
3557
|
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
3550
3558
|
if (!depKeys) return;
|
3551
3559
|
|
3552
|
-
depsMeta = metaForDeps(
|
3560
|
+
depsMeta = metaForDeps(meta);
|
3553
3561
|
|
3554
3562
|
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
3555
3563
|
depKey = depKeys[idx];
|
3556
3564
|
// Lookup keys meta for depKey
|
3557
|
-
keys = keysForDep(
|
3565
|
+
keys = keysForDep(depsMeta, depKey);
|
3558
3566
|
// Increment the number of times depKey depends on keyName.
|
3559
3567
|
keys[keyName] = (keys[keyName] || 0) + 1;
|
3560
3568
|
// Watch the depKey
|
@@ -3568,12 +3576,12 @@ function removeDependentKeys(desc, obj, keyName, meta) {
|
|
3568
3576
|
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
3569
3577
|
if (!depKeys) return;
|
3570
3578
|
|
3571
|
-
depsMeta = metaForDeps(
|
3579
|
+
depsMeta = metaForDeps(meta);
|
3572
3580
|
|
3573
3581
|
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
3574
3582
|
depKey = depKeys[idx];
|
3575
3583
|
// Lookup keys meta for depKey
|
3576
|
-
keys = keysForDep(
|
3584
|
+
keys = keysForDep(depsMeta, depKey);
|
3577
3585
|
// Increment the number of times depKey depends on keyName.
|
3578
3586
|
keys[keyName] = (keys[keyName] || 0) - 1;
|
3579
3587
|
// Watch the depKey
|
@@ -3604,25 +3612,29 @@ ComputedProperty.prototype = new Ember.Descriptor();
|
|
3604
3612
|
|
3605
3613
|
var ComputedPropertyPrototype = ComputedProperty.prototype;
|
3606
3614
|
|
3607
|
-
|
3608
|
-
Call on a computed property to
|
3609
|
-
|
3610
|
-
|
3615
|
+
/*
|
3616
|
+
Call on a computed property to explicitly change it's cacheable mode.
|
3617
|
+
|
3618
|
+
Please use `.volatile` over this method.
|
3611
3619
|
|
3612
3620
|
```javascript
|
3613
3621
|
MyApp.president = Ember.Object.create({
|
3614
3622
|
fullName: function() {
|
3615
3623
|
return this.get('firstName') + ' ' + this.get('lastName');
|
3616
3624
|
|
3617
|
-
//
|
3618
|
-
//
|
3619
|
-
// one of the dependent properties change.
|
3625
|
+
// By default, Ember will return the value of this property
|
3626
|
+
// without re-executing this function.
|
3620
3627
|
}.property('firstName', 'lastName')
|
3628
|
+
|
3629
|
+
initials: function() {
|
3630
|
+
return this.get('firstName')[0] + this.get('lastName')[0];
|
3631
|
+
|
3632
|
+
// This function will be executed every time this property
|
3633
|
+
// is requested.
|
3634
|
+
}.property('firstName', 'lastName').cacheable(false)
|
3621
3635
|
});
|
3622
3636
|
```
|
3623
3637
|
|
3624
|
-
Properties are cacheable by default.
|
3625
|
-
|
3626
3638
|
@method cacheable
|
3627
3639
|
@param {Boolean} aFlag optional set to `false` to disable caching
|
3628
3640
|
@return {Ember.ComputedProperty} this
|
@@ -4186,7 +4198,6 @@ Ember.computed.alias = function(dependentKey) {
|
|
4186
4198
|
*/
|
4187
4199
|
Ember.computed.defaultTo = function(defaultPath) {
|
4188
4200
|
return Ember.computed(function(key, newValue, cachedValue) {
|
4189
|
-
var result;
|
4190
4201
|
if (arguments.length === 1) {
|
4191
4202
|
return cachedValue != null ? cachedValue : get(this, defaultPath);
|
4192
4203
|
}
|
@@ -4346,8 +4357,6 @@ function invoke(target, method, args, ignore) {
|
|
4346
4357
|
// RUNLOOP
|
4347
4358
|
//
|
4348
4359
|
|
4349
|
-
var timerMark; // used by timers...
|
4350
|
-
|
4351
4360
|
/**
|
4352
4361
|
Ember RunLoop (Private)
|
4353
4362
|
|
@@ -4478,8 +4487,6 @@ RunLoop.prototype = {
|
|
4478
4487
|
}
|
4479
4488
|
}
|
4480
4489
|
|
4481
|
-
timerMark = null;
|
4482
|
-
|
4483
4490
|
return this;
|
4484
4491
|
}
|
4485
4492
|
|
@@ -4595,7 +4602,7 @@ Ember.run.queues = ['sync', 'actions', 'destroy'];
|
|
4595
4602
|
|
4596
4603
|
At the end of a RunLoop, any methods scheduled in this way will be invoked.
|
4597
4604
|
Methods will be invoked in an order matching the named queues defined in
|
4598
|
-
the `run.queues` property.
|
4605
|
+
the `Ember.run.queues` property.
|
4599
4606
|
|
4600
4607
|
```javascript
|
4601
4608
|
Ember.run.schedule('sync', this, function(){
|
@@ -4704,27 +4711,44 @@ Ember.run.sync = function() {
|
|
4704
4711
|
|
4705
4712
|
var timers = {}; // active timers...
|
4706
4713
|
|
4714
|
+
function sortByExpires(timerA, timerB) {
|
4715
|
+
var a = timerA.expires,
|
4716
|
+
b = timerB.expires;
|
4717
|
+
|
4718
|
+
if (a > b) { return 1; }
|
4719
|
+
if (a < b) { return -1; }
|
4720
|
+
return 0;
|
4721
|
+
}
|
4722
|
+
|
4707
4723
|
var scheduledLater, scheduledLaterExpires;
|
4708
4724
|
function invokeLaterTimers() {
|
4709
4725
|
scheduledLater = null;
|
4710
4726
|
run(function() {
|
4711
4727
|
var now = (+ new Date()), earliest = -1;
|
4728
|
+
var timersToBeInvoked = [];
|
4712
4729
|
for (var key in timers) {
|
4713
4730
|
if (!timers.hasOwnProperty(key)) { continue; }
|
4714
4731
|
var timer = timers[key];
|
4715
4732
|
if (timer && timer.expires) {
|
4716
4733
|
if (now >= timer.expires) {
|
4717
4734
|
delete timers[key];
|
4718
|
-
|
4735
|
+
timersToBeInvoked.push(timer);
|
4719
4736
|
} else {
|
4720
4737
|
if (earliest < 0 || (timer.expires < earliest)) { earliest = timer.expires; }
|
4721
4738
|
}
|
4722
4739
|
}
|
4723
4740
|
}
|
4724
4741
|
|
4742
|
+
forEach.call(timersToBeInvoked.sort(sortByExpires), function(timer) {
|
4743
|
+
invoke(timer.target, timer.method, timer.args, 2);
|
4744
|
+
});
|
4745
|
+
|
4725
4746
|
// schedule next timeout to fire when the earliest timer expires
|
4726
4747
|
if (earliest > 0) {
|
4727
|
-
|
4748
|
+
// To allow overwrite `setTimeout` as stub from test code.
|
4749
|
+
// The assignment to `window.setTimeout` doesn't equal to `setTimeout` in older IE.
|
4750
|
+
// So `window` is required.
|
4751
|
+
scheduledLater = window.setTimeout(invokeLaterTimers, earliest - now);
|
4728
4752
|
scheduledLaterExpires = earliest;
|
4729
4753
|
}
|
4730
4754
|
});
|
@@ -4826,8 +4850,25 @@ function scheduleOnce(queue, target, method, args) {
|
|
4826
4850
|
}
|
4827
4851
|
|
4828
4852
|
/**
|
4829
|
-
|
4830
|
-
|
4853
|
+
Schedule a function to run one time during the current RunLoop. This is equivalent
|
4854
|
+
to calling `scheduleOnce` with the "actions" queue.
|
4855
|
+
|
4856
|
+
@method once
|
4857
|
+
@param {Object} [target] The target of the method to invoke.
|
4858
|
+
@param {Function|String} method The method to invoke.
|
4859
|
+
If you pass a string it will be resolved on the
|
4860
|
+
target at the time the method is invoked.
|
4861
|
+
@param {Object} [args*] Optional arguments to pass to the timeout.
|
4862
|
+
@return {Object} timer
|
4863
|
+
*/
|
4864
|
+
Ember.run.once = function(target, method) {
|
4865
|
+
return scheduleOnce('actions', target, method, slice.call(arguments, 2));
|
4866
|
+
};
|
4867
|
+
|
4868
|
+
/**
|
4869
|
+
Schedules a function to run one time in a given queue of the current RunLoop.
|
4870
|
+
Calling this method with the same queue/target/method combination will have
|
4871
|
+
no effect (past the initial call).
|
4831
4872
|
|
4832
4873
|
Note that although you can pass optional arguments these will not be
|
4833
4874
|
considered when looking for duplicates. New arguments will replace previous
|
@@ -4835,41 +4876,40 @@ function scheduleOnce(queue, target, method, args) {
|
|
4835
4876
|
|
4836
4877
|
```javascript
|
4837
4878
|
Ember.run(function(){
|
4838
|
-
var
|
4839
|
-
Ember.run.
|
4840
|
-
Ember.run.
|
4841
|
-
// doFoo will only be executed once
|
4879
|
+
var sayHi = function() { console.log('hi'); }
|
4880
|
+
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
4881
|
+
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
4882
|
+
// doFoo will only be executed once, in the afterRender queue of the RunLoop
|
4842
4883
|
});
|
4843
4884
|
```
|
4844
4885
|
|
4845
|
-
Also note that passing an anonymous function to `Ember.run.
|
4886
|
+
Also note that passing an anonymous function to `Ember.run.scheduleOnce` will
|
4846
4887
|
not prevent additional calls with an identical anonymous function from
|
4847
4888
|
scheduling the items multiple times, e.g.:
|
4848
4889
|
|
4849
4890
|
```javascript
|
4850
4891
|
function scheduleIt() {
|
4851
|
-
Ember.run.
|
4892
|
+
Ember.run.scheduleOnce('actions', myContext, function() { console.log("Closure"); });
|
4852
4893
|
}
|
4853
4894
|
scheduleIt();
|
4854
4895
|
scheduleIt();
|
4855
|
-
// "Closure" will print twice, even though we're using `Ember.run.
|
4896
|
+
// "Closure" will print twice, even though we're using `Ember.run.scheduleOnce`,
|
4856
4897
|
// because the function we pass to it is anonymous and won't match the
|
4857
4898
|
// previously scheduled operation.
|
4858
4899
|
```
|
4859
4900
|
|
4860
|
-
|
4861
|
-
|
4901
|
+
Available queues, and their order, can be found at `Ember.run.queues`
|
4902
|
+
|
4903
|
+
@method scheduleOnce
|
4904
|
+
@param {String} [queue] The name of the queue to schedule against. Default queues are 'sync' and 'actions'.
|
4905
|
+
@param {Object} [target] The target of the method to invoke.
|
4862
4906
|
@param {Function|String} method The method to invoke.
|
4863
4907
|
If you pass a string it will be resolved on the
|
4864
4908
|
target at the time the method is invoked.
|
4865
4909
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
4866
4910
|
@return {Object} timer
|
4867
4911
|
*/
|
4868
|
-
Ember.run.
|
4869
|
-
return scheduleOnce('actions', target, method, slice.call(arguments, 2));
|
4870
|
-
};
|
4871
|
-
|
4872
|
-
Ember.run.scheduleOnce = function(queue, target, method, args) {
|
4912
|
+
Ember.run.scheduleOnce = function(queue, target, method) {
|
4873
4913
|
return scheduleOnce(queue, target, method, slice.call(arguments, 3));
|
4874
4914
|
};
|
4875
4915
|
|
@@ -5305,7 +5345,7 @@ mixinProperties(Binding, {
|
|
5305
5345
|
Properties ending in a `Binding` suffix will be converted to `Ember.Binding`
|
5306
5346
|
instances. The value of this property should be a string representing a path
|
5307
5347
|
to another object or a custom binding instanced created using Binding helpers
|
5308
|
-
(see "
|
5348
|
+
(see "One Way Bindings"):
|
5309
5349
|
|
5310
5350
|
```
|
5311
5351
|
valueBinding: "MyApp.someController.title"
|
@@ -6044,7 +6084,7 @@ Ember.alias = function(methodName) {
|
|
6044
6084
|
return new Alias(methodName);
|
6045
6085
|
};
|
6046
6086
|
|
6047
|
-
Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.", Ember.alias);
|
6087
|
+
Ember.alias = Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.", Ember.alias);
|
6048
6088
|
|
6049
6089
|
/**
|
6050
6090
|
Makes a method available via an additional name.
|
@@ -6132,14 +6172,57 @@ Ember Metal
|
|
6132
6172
|
})();
|
6133
6173
|
|
6134
6174
|
(function() {
|
6135
|
-
define("rsvp",
|
6136
|
-
[],
|
6137
|
-
function() {
|
6175
|
+
define("rsvp/all",
|
6176
|
+
["rsvp/defer","exports"],
|
6177
|
+
function(__dependency1__, __exports__) {
|
6178
|
+
"use strict";
|
6179
|
+
var defer = __dependency1__.defer;
|
6180
|
+
|
6181
|
+
function all(promises) {
|
6182
|
+
var results = [], deferred = defer(), remaining = promises.length;
|
6183
|
+
|
6184
|
+
if (remaining === 0) {
|
6185
|
+
deferred.resolve([]);
|
6186
|
+
}
|
6187
|
+
|
6188
|
+
var resolver = function(index) {
|
6189
|
+
return function(value) {
|
6190
|
+
resolveAll(index, value);
|
6191
|
+
};
|
6192
|
+
};
|
6193
|
+
|
6194
|
+
var resolveAll = function(index, value) {
|
6195
|
+
results[index] = value;
|
6196
|
+
if (--remaining === 0) {
|
6197
|
+
deferred.resolve(results);
|
6198
|
+
}
|
6199
|
+
};
|
6200
|
+
|
6201
|
+
var rejectAll = function(error) {
|
6202
|
+
deferred.reject(error);
|
6203
|
+
};
|
6204
|
+
|
6205
|
+
for (var i = 0; i < promises.length; i++) {
|
6206
|
+
if (promises[i] && typeof promises[i].then === 'function') {
|
6207
|
+
promises[i].then(resolver(i), rejectAll);
|
6208
|
+
} else {
|
6209
|
+
resolveAll(i, promises[i]);
|
6210
|
+
}
|
6211
|
+
}
|
6212
|
+
return deferred.promise;
|
6213
|
+
}
|
6214
|
+
|
6215
|
+
__exports__.all = all;
|
6216
|
+
});
|
6217
|
+
|
6218
|
+
define("rsvp/async",
|
6219
|
+
["exports"],
|
6220
|
+
function(__exports__) {
|
6138
6221
|
"use strict";
|
6139
6222
|
var browserGlobal = (typeof window !== 'undefined') ? window : {};
|
6140
6223
|
|
6141
|
-
var
|
6142
|
-
var
|
6224
|
+
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
6225
|
+
var async;
|
6143
6226
|
|
6144
6227
|
if (typeof process !== 'undefined' &&
|
6145
6228
|
{}.toString.call(process) === '[object process]') {
|
@@ -6148,10 +6231,10 @@ define("rsvp",
|
|
6148
6231
|
callback.call(binding);
|
6149
6232
|
});
|
6150
6233
|
};
|
6151
|
-
} else if (
|
6234
|
+
} else if (BrowserMutationObserver) {
|
6152
6235
|
var queue = [];
|
6153
6236
|
|
6154
|
-
var observer = new
|
6237
|
+
var observer = new BrowserMutationObserver(function() {
|
6155
6238
|
var toProcess = queue.slice();
|
6156
6239
|
queue = [];
|
6157
6240
|
|
@@ -6182,6 +6265,47 @@ define("rsvp",
|
|
6182
6265
|
};
|
6183
6266
|
}
|
6184
6267
|
|
6268
|
+
|
6269
|
+
__exports__.async = async;
|
6270
|
+
});
|
6271
|
+
|
6272
|
+
define("rsvp/config",
|
6273
|
+
["rsvp/async","exports"],
|
6274
|
+
function(__dependency1__, __exports__) {
|
6275
|
+
"use strict";
|
6276
|
+
var async = __dependency1__.async;
|
6277
|
+
|
6278
|
+
var config = {};
|
6279
|
+
config.async = async;
|
6280
|
+
|
6281
|
+
__exports__.config = config;
|
6282
|
+
});
|
6283
|
+
|
6284
|
+
define("rsvp/defer",
|
6285
|
+
["rsvp/promise","exports"],
|
6286
|
+
function(__dependency1__, __exports__) {
|
6287
|
+
"use strict";
|
6288
|
+
var Promise = __dependency1__.Promise;
|
6289
|
+
|
6290
|
+
function defer() {
|
6291
|
+
var deferred = {};
|
6292
|
+
|
6293
|
+
var promise = new Promise(function(resolve, reject) {
|
6294
|
+
deferred.resolve = resolve;
|
6295
|
+
deferred.reject = reject;
|
6296
|
+
});
|
6297
|
+
|
6298
|
+
deferred.promise = promise;
|
6299
|
+
return deferred;
|
6300
|
+
}
|
6301
|
+
|
6302
|
+
__exports__.defer = defer;
|
6303
|
+
});
|
6304
|
+
|
6305
|
+
define("rsvp/events",
|
6306
|
+
["exports"],
|
6307
|
+
function(__exports__) {
|
6308
|
+
"use strict";
|
6185
6309
|
var Event = function(type, options) {
|
6186
6310
|
this.type = type;
|
6187
6311
|
|
@@ -6276,7 +6400,148 @@ define("rsvp",
|
|
6276
6400
|
}
|
6277
6401
|
};
|
6278
6402
|
|
6279
|
-
|
6403
|
+
|
6404
|
+
__exports__.EventTarget = EventTarget;
|
6405
|
+
});
|
6406
|
+
|
6407
|
+
define("rsvp/hash",
|
6408
|
+
["rsvp/defer","exports"],
|
6409
|
+
function(__dependency1__, __exports__) {
|
6410
|
+
"use strict";
|
6411
|
+
var defer = __dependency1__.defer;
|
6412
|
+
|
6413
|
+
function size(object) {
|
6414
|
+
var size = 0;
|
6415
|
+
|
6416
|
+
for (var prop in object) {
|
6417
|
+
size++;
|
6418
|
+
}
|
6419
|
+
|
6420
|
+
return size;
|
6421
|
+
}
|
6422
|
+
|
6423
|
+
function hash(promises) {
|
6424
|
+
var results = {}, deferred = defer(), remaining = size(promises);
|
6425
|
+
|
6426
|
+
if (remaining === 0) {
|
6427
|
+
deferred.resolve({});
|
6428
|
+
}
|
6429
|
+
|
6430
|
+
var resolver = function(prop) {
|
6431
|
+
return function(value) {
|
6432
|
+
resolveAll(prop, value);
|
6433
|
+
};
|
6434
|
+
};
|
6435
|
+
|
6436
|
+
var resolveAll = function(prop, value) {
|
6437
|
+
results[prop] = value;
|
6438
|
+
if (--remaining === 0) {
|
6439
|
+
deferred.resolve(results);
|
6440
|
+
}
|
6441
|
+
};
|
6442
|
+
|
6443
|
+
var rejectAll = function(error) {
|
6444
|
+
deferred.reject(error);
|
6445
|
+
};
|
6446
|
+
|
6447
|
+
for (var prop in promises) {
|
6448
|
+
if (promises[prop] && typeof promises[prop].then === 'function') {
|
6449
|
+
promises[prop].then(resolver(prop), rejectAll);
|
6450
|
+
} else {
|
6451
|
+
resolveAll(prop, promises[prop]);
|
6452
|
+
}
|
6453
|
+
}
|
6454
|
+
|
6455
|
+
return deferred.promise;
|
6456
|
+
}
|
6457
|
+
|
6458
|
+
__exports__.hash = hash;
|
6459
|
+
});
|
6460
|
+
|
6461
|
+
define("rsvp/node",
|
6462
|
+
["rsvp/promise","rsvp/all","exports"],
|
6463
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
6464
|
+
"use strict";
|
6465
|
+
var Promise = __dependency1__.Promise;
|
6466
|
+
var all = __dependency2__.all;
|
6467
|
+
|
6468
|
+
function makeNodeCallbackFor(resolve, reject) {
|
6469
|
+
return function (error, value) {
|
6470
|
+
if (error) {
|
6471
|
+
reject(error);
|
6472
|
+
} else if (arguments.length > 2) {
|
6473
|
+
resolve(Array.prototype.slice.call(arguments, 1));
|
6474
|
+
} else {
|
6475
|
+
resolve(value);
|
6476
|
+
}
|
6477
|
+
};
|
6478
|
+
}
|
6479
|
+
|
6480
|
+
function denodeify(nodeFunc) {
|
6481
|
+
return function() {
|
6482
|
+
var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject;
|
6483
|
+
|
6484
|
+
var promise = new Promise(function(nodeResolve, nodeReject) {
|
6485
|
+
resolve = nodeResolve;
|
6486
|
+
reject = nodeReject;
|
6487
|
+
});
|
6488
|
+
|
6489
|
+
all(nodeArgs).then(function(nodeArgs) {
|
6490
|
+
nodeArgs.push(makeNodeCallbackFor(resolve, reject));
|
6491
|
+
|
6492
|
+
try {
|
6493
|
+
nodeFunc.apply(this, nodeArgs);
|
6494
|
+
} catch(e) {
|
6495
|
+
reject(e);
|
6496
|
+
}
|
6497
|
+
});
|
6498
|
+
|
6499
|
+
return promise;
|
6500
|
+
};
|
6501
|
+
}
|
6502
|
+
|
6503
|
+
__exports__.denodeify = denodeify;
|
6504
|
+
});
|
6505
|
+
|
6506
|
+
define("rsvp/promise",
|
6507
|
+
["rsvp/config","rsvp/events","exports"],
|
6508
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
6509
|
+
"use strict";
|
6510
|
+
var config = __dependency1__.config;
|
6511
|
+
var EventTarget = __dependency2__.EventTarget;
|
6512
|
+
|
6513
|
+
function objectOrFunction(x) {
|
6514
|
+
return isFunction(x) || (typeof x === "object" && x !== null);
|
6515
|
+
}
|
6516
|
+
|
6517
|
+
function isFunction(x){
|
6518
|
+
return typeof x === "function";
|
6519
|
+
}
|
6520
|
+
|
6521
|
+
var Promise = function(resolver) {
|
6522
|
+
var promise = this,
|
6523
|
+
resolved = false;
|
6524
|
+
|
6525
|
+
if (typeof resolver !== 'function') {
|
6526
|
+
throw new TypeError('You must pass a resolver function as the sole argument to the promise constructor');
|
6527
|
+
}
|
6528
|
+
|
6529
|
+
if (!(promise instanceof Promise)) {
|
6530
|
+
return new Promise(resolver);
|
6531
|
+
}
|
6532
|
+
|
6533
|
+
var resolvePromise = function(value) {
|
6534
|
+
if (resolved) { return; }
|
6535
|
+
resolved = true;
|
6536
|
+
resolve(promise, value);
|
6537
|
+
};
|
6538
|
+
|
6539
|
+
var rejectPromise = function(value) {
|
6540
|
+
if (resolved) { return; }
|
6541
|
+
resolved = true;
|
6542
|
+
reject(promise, value);
|
6543
|
+
};
|
6544
|
+
|
6280
6545
|
this.on('promise:resolved', function(event) {
|
6281
6546
|
this.trigger('success', { detail: event.detail });
|
6282
6547
|
}, this);
|
@@ -6284,12 +6549,12 @@ define("rsvp",
|
|
6284
6549
|
this.on('promise:failed', function(event) {
|
6285
6550
|
this.trigger('error', { detail: event.detail });
|
6286
6551
|
}, this);
|
6287
|
-
};
|
6288
6552
|
|
6289
|
-
|
6553
|
+
resolver(resolvePromise, rejectPromise);
|
6554
|
+
};
|
6290
6555
|
|
6291
6556
|
var invokeCallback = function(type, promise, callback, event) {
|
6292
|
-
var hasCallback =
|
6557
|
+
var hasCallback = isFunction(callback),
|
6293
6558
|
value, error, succeeded, failed;
|
6294
6559
|
|
6295
6560
|
if (hasCallback) {
|
@@ -6305,34 +6570,34 @@ define("rsvp",
|
|
6305
6570
|
succeeded = true;
|
6306
6571
|
}
|
6307
6572
|
|
6308
|
-
if (
|
6309
|
-
|
6310
|
-
promise.resolve(value);
|
6311
|
-
}, function(error) {
|
6312
|
-
promise.reject(error);
|
6313
|
-
});
|
6573
|
+
if (handleThenable(promise, value)) {
|
6574
|
+
return;
|
6314
6575
|
} else if (hasCallback && succeeded) {
|
6315
|
-
|
6576
|
+
resolve(promise, value);
|
6316
6577
|
} else if (failed) {
|
6317
|
-
|
6318
|
-
} else {
|
6319
|
-
promise
|
6578
|
+
reject(promise, error);
|
6579
|
+
} else if (type === 'resolve') {
|
6580
|
+
resolve(promise, value);
|
6581
|
+
} else if (type === 'reject') {
|
6582
|
+
reject(promise, value);
|
6320
6583
|
}
|
6321
6584
|
};
|
6322
6585
|
|
6323
6586
|
Promise.prototype = {
|
6587
|
+
constructor: Promise,
|
6588
|
+
|
6324
6589
|
then: function(done, fail) {
|
6325
|
-
var thenPromise = new Promise();
|
6590
|
+
var thenPromise = new Promise(function() {});
|
6326
6591
|
|
6327
|
-
if (this.
|
6328
|
-
|
6329
|
-
invokeCallback('resolve', thenPromise, done, { detail: this.
|
6592
|
+
if (this.isFulfilled) {
|
6593
|
+
config.async(function() {
|
6594
|
+
invokeCallback('resolve', thenPromise, done, { detail: this.fulfillmentValue });
|
6330
6595
|
}, this);
|
6331
6596
|
}
|
6332
6597
|
|
6333
6598
|
if (this.isRejected) {
|
6334
|
-
|
6335
|
-
invokeCallback('reject', thenPromise, fail, { detail: this.
|
6599
|
+
config.async(function() {
|
6600
|
+
invokeCallback('reject', thenPromise, fail, { detail: this.rejectedReason });
|
6336
6601
|
}, this);
|
6337
6602
|
}
|
6338
6603
|
|
@@ -6345,75 +6610,138 @@ define("rsvp",
|
|
6345
6610
|
});
|
6346
6611
|
|
6347
6612
|
return thenPromise;
|
6348
|
-
}
|
6613
|
+
}
|
6614
|
+
};
|
6349
6615
|
|
6350
|
-
|
6351
|
-
resolve(this, value);
|
6616
|
+
EventTarget.mixin(Promise.prototype);
|
6352
6617
|
|
6353
|
-
|
6354
|
-
|
6355
|
-
|
6618
|
+
function resolve(promise, value) {
|
6619
|
+
if (promise === value) {
|
6620
|
+
fulfill(promise, value);
|
6621
|
+
} else if (!handleThenable(promise, value)) {
|
6622
|
+
fulfill(promise, value);
|
6623
|
+
}
|
6624
|
+
}
|
6625
|
+
|
6626
|
+
function handleThenable(promise, value) {
|
6627
|
+
var then = null;
|
6356
6628
|
|
6357
|
-
|
6358
|
-
|
6629
|
+
if (objectOrFunction(value)) {
|
6630
|
+
try {
|
6631
|
+
then = value.then;
|
6632
|
+
} catch(e) {
|
6633
|
+
reject(promise, e);
|
6634
|
+
return true;
|
6635
|
+
}
|
6359
6636
|
|
6360
|
-
|
6361
|
-
|
6637
|
+
if (isFunction(then)) {
|
6638
|
+
try {
|
6639
|
+
then.call(value, function(val) {
|
6640
|
+
if (value !== val) {
|
6641
|
+
resolve(promise, val);
|
6642
|
+
} else {
|
6643
|
+
fulfill(promise, val);
|
6644
|
+
}
|
6645
|
+
}, function(val) {
|
6646
|
+
reject(promise, val);
|
6647
|
+
});
|
6648
|
+
} catch (e) {
|
6649
|
+
reject(promise, e);
|
6650
|
+
}
|
6651
|
+
return true;
|
6652
|
+
}
|
6362
6653
|
}
|
6363
|
-
};
|
6364
6654
|
|
6365
|
-
|
6366
|
-
|
6655
|
+
return false;
|
6656
|
+
}
|
6657
|
+
|
6658
|
+
function fulfill(promise, value) {
|
6659
|
+
config.async(function() {
|
6367
6660
|
promise.trigger('promise:resolved', { detail: value });
|
6368
|
-
promise.
|
6369
|
-
promise.
|
6661
|
+
promise.isFulfilled = true;
|
6662
|
+
promise.fulfillmentValue = value;
|
6370
6663
|
});
|
6371
6664
|
}
|
6372
6665
|
|
6373
6666
|
function reject(promise, value) {
|
6374
|
-
|
6667
|
+
config.async(function() {
|
6375
6668
|
promise.trigger('promise:failed', { detail: value });
|
6376
6669
|
promise.isRejected = true;
|
6377
|
-
promise.
|
6670
|
+
promise.rejectedReason = value;
|
6378
6671
|
});
|
6379
6672
|
}
|
6380
6673
|
|
6381
|
-
function all(promises) {
|
6382
|
-
var i, results = [];
|
6383
|
-
var allPromise = new Promise();
|
6384
|
-
var remaining = promises.length;
|
6385
6674
|
|
6386
|
-
|
6387
|
-
|
6388
|
-
}
|
6675
|
+
__exports__.Promise = Promise;
|
6676
|
+
});
|
6389
6677
|
|
6390
|
-
|
6391
|
-
|
6392
|
-
|
6393
|
-
|
6394
|
-
|
6678
|
+
define("rsvp/resolve",
|
6679
|
+
["rsvp/promise","exports"],
|
6680
|
+
function(__dependency1__, __exports__) {
|
6681
|
+
"use strict";
|
6682
|
+
var Promise = __dependency1__.Promise;
|
6395
6683
|
|
6396
|
-
var resolve = function(index, value) {
|
6397
|
-
results[index] = value;
|
6398
|
-
if (--remaining === 0) {
|
6399
|
-
allPromise.resolve(results);
|
6400
|
-
}
|
6401
|
-
};
|
6402
6684
|
|
6403
|
-
|
6404
|
-
|
6405
|
-
|
6685
|
+
function objectOrFunction(x) {
|
6686
|
+
return typeof x === "function" || (typeof x === "object" && x !== null);
|
6687
|
+
}
|
6406
6688
|
|
6407
|
-
|
6408
|
-
|
6409
|
-
|
6410
|
-
|
6689
|
+
function resolve(thenable){
|
6690
|
+
var promise = new Promise(function(resolve, reject){
|
6691
|
+
var then;
|
6692
|
+
|
6693
|
+
try {
|
6694
|
+
if ( objectOrFunction(thenable) ) {
|
6695
|
+
then = thenable.then;
|
6696
|
+
|
6697
|
+
if (typeof then === "function") {
|
6698
|
+
then.call(thenable, resolve, reject);
|
6699
|
+
} else {
|
6700
|
+
resolve(thenable);
|
6701
|
+
}
|
6702
|
+
|
6703
|
+
} else {
|
6704
|
+
resolve(thenable);
|
6705
|
+
}
|
6706
|
+
|
6707
|
+
} catch(error) {
|
6708
|
+
reject(error);
|
6709
|
+
}
|
6710
|
+
});
|
6711
|
+
|
6712
|
+
return promise;
|
6411
6713
|
}
|
6412
6714
|
|
6413
|
-
EventTarget.mixin(Promise.prototype);
|
6414
6715
|
|
6415
|
-
|
6416
|
-
|
6716
|
+
__exports__.resolve = resolve;
|
6717
|
+
});
|
6718
|
+
|
6719
|
+
define("rsvp",
|
6720
|
+
["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","exports"],
|
6721
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __exports__) {
|
6722
|
+
"use strict";
|
6723
|
+
var EventTarget = __dependency1__.EventTarget;
|
6724
|
+
var Promise = __dependency2__.Promise;
|
6725
|
+
var denodeify = __dependency3__.denodeify;
|
6726
|
+
var all = __dependency4__.all;
|
6727
|
+
var hash = __dependency5__.hash;
|
6728
|
+
var defer = __dependency6__.defer;
|
6729
|
+
var config = __dependency7__.config;
|
6730
|
+
var resolve = __dependency8__.resolve;
|
6731
|
+
|
6732
|
+
function configure(name, value) {
|
6733
|
+
config[name] = value;
|
6734
|
+
}
|
6735
|
+
|
6736
|
+
|
6737
|
+
__exports__.Promise = Promise;
|
6738
|
+
__exports__.EventTarget = EventTarget;
|
6739
|
+
__exports__.all = all;
|
6740
|
+
__exports__.hash = hash;
|
6741
|
+
__exports__.defer = defer;
|
6742
|
+
__exports__.denodeify = denodeify;
|
6743
|
+
__exports__.configure = configure;
|
6744
|
+
__exports__.resolve = resolve;
|
6417
6745
|
});
|
6418
6746
|
|
6419
6747
|
})();
|
@@ -6659,7 +6987,7 @@ define("container",
|
|
6659
6987
|
var factory = factoryFor(container, fullName);
|
6660
6988
|
|
6661
6989
|
var splitName = fullName.split(":"),
|
6662
|
-
type = splitName[0],
|
6990
|
+
type = splitName[0],
|
6663
6991
|
value;
|
6664
6992
|
|
6665
6993
|
if (option(container, fullName, 'instantiate') === false) {
|
@@ -7067,7 +7395,8 @@ Ember.String = {
|
|
7067
7395
|
```
|
7068
7396
|
|
7069
7397
|
@method fmt
|
7070
|
-
@param {
|
7398
|
+
@param {String} str The string to format
|
7399
|
+
@param {Array} formats An array of parameters to interpolate into string.
|
7071
7400
|
@return {String} formatted string
|
7072
7401
|
*/
|
7073
7402
|
fmt: function(str, formats) {
|
@@ -8397,9 +8726,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
8397
8726
|
// HELPERS
|
8398
8727
|
//
|
8399
8728
|
|
8400
|
-
var get = Ember.get, set = Ember.set, map = Ember.EnumerableUtils.map, cacheFor = Ember.cacheFor;
|
8401
|
-
|
8402
|
-
function none(obj) { return obj===null || obj===undefined; }
|
8729
|
+
var get = Ember.get, set = Ember.set, isNone = Ember.isNone, map = Ember.EnumerableUtils.map, cacheFor = Ember.cacheFor;
|
8403
8730
|
|
8404
8731
|
// ..........................................................
|
8405
8732
|
// ARRAY
|
@@ -8549,8 +8876,8 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
8549
8876
|
slice: function(beginIndex, endIndex) {
|
8550
8877
|
var ret = Ember.A([]);
|
8551
8878
|
var length = get(this, 'length') ;
|
8552
|
-
if (
|
8553
|
-
if (
|
8879
|
+
if (isNone(beginIndex)) beginIndex = 0 ;
|
8880
|
+
if (isNone(endIndex) || (endIndex > length)) endIndex = length ;
|
8554
8881
|
|
8555
8882
|
if (beginIndex < 0) beginIndex = length + beginIndex;
|
8556
8883
|
if (endIndex < 0) endIndex = length + endIndex;
|
@@ -8710,7 +9037,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
8710
9037
|
@param {Number} startIdx The starting index in the array that will change.
|
8711
9038
|
@param {Number} removeAmt The number of items that will be removed. If you
|
8712
9039
|
pass `null` assumes 0
|
8713
|
-
@param {Number} addAmt The number of items that will be added
|
9040
|
+
@param {Number} addAmt The number of items that will be added. If you
|
8714
9041
|
pass `null` assumes 0.
|
8715
9042
|
@return {Ember.Array} receiver
|
8716
9043
|
*/
|
@@ -8744,6 +9071,20 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
8744
9071
|
return this;
|
8745
9072
|
},
|
8746
9073
|
|
9074
|
+
/**
|
9075
|
+
If you are implementing an object that supports `Ember.Array`, call this
|
9076
|
+
method just after the array content changes to notify any observers and
|
9077
|
+
invalidate any related properties. Pass the starting index of the change
|
9078
|
+
as well as a delta of the amounts to change.
|
9079
|
+
|
9080
|
+
@method arrayContentDidChange
|
9081
|
+
@param {Number} startIdx The starting index in the array that did change.
|
9082
|
+
@param {Number} removeAmt The number of items that were removed. If you
|
9083
|
+
pass `null` assumes 0
|
9084
|
+
@param {Number} addAmt The number of items that were added. If you
|
9085
|
+
pass `null` assumes 0.
|
9086
|
+
@return {Ember.Array} receiver
|
9087
|
+
*/
|
8747
9088
|
arrayContentDidChange: function(startIdx, removeAmt, addAmt) {
|
8748
9089
|
|
8749
9090
|
// if no args are passed assume everything changes
|
@@ -9044,7 +9385,7 @@ var forEach = Ember.EnumerableUtils.forEach;
|
|
9044
9385
|
|
9045
9386
|
To add an object to an enumerable, use the `addObject()` method. This
|
9046
9387
|
method will only add the object to the enumerable if the object is not
|
9047
|
-
already present and
|
9388
|
+
already present and is of a type supported by the enumerable.
|
9048
9389
|
|
9049
9390
|
```javascript
|
9050
9391
|
set.addObject(contact);
|
@@ -9052,8 +9393,8 @@ var forEach = Ember.EnumerableUtils.forEach;
|
|
9052
9393
|
|
9053
9394
|
## Removing Objects
|
9054
9395
|
|
9055
|
-
To remove an object
|
9056
|
-
will only remove the object if it is
|
9396
|
+
To remove an object from an enumerable, use the `removeObject()` method. This
|
9397
|
+
will only remove the object if it is present in the enumerable, otherwise
|
9057
9398
|
this method has no effect.
|
9058
9399
|
|
9059
9400
|
```javascript
|
@@ -9080,7 +9421,7 @@ Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
|
9080
9421
|
already present in the collection. If the object is present, this method
|
9081
9422
|
has no effect.
|
9082
9423
|
|
9083
|
-
If the passed object is of a type not supported by the receiver
|
9424
|
+
If the passed object is of a type not supported by the receiver,
|
9084
9425
|
then this method should raise an exception.
|
9085
9426
|
|
9086
9427
|
@method addObject
|
@@ -9107,10 +9448,10 @@ Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
|
9107
9448
|
__Required.__ You must implement this method to apply this mixin.
|
9108
9449
|
|
9109
9450
|
Attempts to remove the passed object from the receiver collection if the
|
9110
|
-
object is
|
9451
|
+
object is present in the collection. If the object is not present,
|
9111
9452
|
this method has no effect.
|
9112
9453
|
|
9113
|
-
If the passed object is of a type not supported by the receiver
|
9454
|
+
If the passed object is of a type not supported by the receiver,
|
9114
9455
|
then this method should raise an exception.
|
9115
9456
|
|
9116
9457
|
@method removeObject
|
@@ -9121,7 +9462,7 @@ Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
|
9121
9462
|
|
9122
9463
|
|
9123
9464
|
/**
|
9124
|
-
Removes each
|
9465
|
+
Removes each object in the passed enumerable from the receiver.
|
9125
9466
|
|
9126
9467
|
@method removeObjects
|
9127
9468
|
@param {Ember.Enumerable} objects the objects to remove
|
@@ -9902,7 +10243,7 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
9902
10243
|
@return {Object} The new property value
|
9903
10244
|
*/
|
9904
10245
|
incrementProperty: function(keyName, increment) {
|
9905
|
-
if (
|
10246
|
+
if (Ember.isNone(increment)) { increment = 1; }
|
9906
10247
|
set(this, keyName, (get(this, keyName) || 0)+increment);
|
9907
10248
|
return get(this, keyName);
|
9908
10249
|
},
|
@@ -9921,7 +10262,7 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
9921
10262
|
@return {Object} The new property value
|
9922
10263
|
*/
|
9923
10264
|
decrementProperty: function(keyName, increment) {
|
9924
|
-
if (
|
10265
|
+
if (Ember.isNone(increment)) { increment = 1; }
|
9925
10266
|
set(this, keyName, (get(this, keyName) || 0)-increment);
|
9926
10267
|
return get(this, keyName);
|
9927
10268
|
},
|
@@ -9977,6 +10318,15 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
9977
10318
|
var get = Ember.get, set = Ember.set;
|
9978
10319
|
|
9979
10320
|
/**
|
10321
|
+
`Ember.TargetActionSupport` is a mixin that can be included in a class
|
10322
|
+
to add a `triggerAction` method with semantics similar to the Handlebars
|
10323
|
+
`{{action}}` helper. In normal Ember usage, the `{{action}}` helper is
|
10324
|
+
usually the best choice. This mixin is most often useful when you are
|
10325
|
+
doing more complex event handling in View objects.
|
10326
|
+
|
10327
|
+
See also `Ember.ViewTargetActionSupport`, which has
|
10328
|
+
view-aware defaults for target and actionContext.
|
10329
|
+
|
9980
10330
|
@class TargetActionSupport
|
9981
10331
|
@namespace Ember
|
9982
10332
|
@extends Ember.Mixin
|
@@ -9984,6 +10334,7 @@ var get = Ember.get, set = Ember.set;
|
|
9984
10334
|
Ember.TargetActionSupport = Ember.Mixin.create({
|
9985
10335
|
target: null,
|
9986
10336
|
action: null,
|
10337
|
+
actionContext: null,
|
9987
10338
|
|
9988
10339
|
targetObject: Ember.computed(function() {
|
9989
10340
|
var target = get(this, 'target');
|
@@ -9997,21 +10348,86 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
9997
10348
|
}
|
9998
10349
|
}).property('target'),
|
9999
10350
|
|
10000
|
-
|
10001
|
-
var
|
10002
|
-
|
10351
|
+
actionContextObject: Ember.computed(function() {
|
10352
|
+
var actionContext = get(this, 'actionContext');
|
10353
|
+
|
10354
|
+
if (Ember.typeOf(actionContext) === "string") {
|
10355
|
+
var value = get(this, actionContext);
|
10356
|
+
if (value === undefined) { value = get(Ember.lookup, actionContext); }
|
10357
|
+
return value;
|
10358
|
+
} else {
|
10359
|
+
return actionContext;
|
10360
|
+
}
|
10361
|
+
}).property('actionContext'),
|
10362
|
+
|
10363
|
+
/**
|
10364
|
+
Send an "action" with an "actionContext" to a "target". The action, actionContext
|
10365
|
+
and target will be retrieved from properties of the object. For example:
|
10366
|
+
|
10367
|
+
```javascript
|
10368
|
+
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
10369
|
+
target: Ember.computed.alias('controller'),
|
10370
|
+
action: 'save',
|
10371
|
+
actionContext: Ember.computed.alias('context'),
|
10372
|
+
click: function(){
|
10373
|
+
this.triggerAction(); // Sends the `save` action, along with the current context
|
10374
|
+
// to the current controller
|
10375
|
+
}
|
10376
|
+
});
|
10377
|
+
```
|
10378
|
+
|
10379
|
+
The `target`, `action`, and `actionContext` can be provided as properties of
|
10380
|
+
an optional object argument to `triggerAction` as well.
|
10381
|
+
|
10382
|
+
```javascript
|
10383
|
+
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
10384
|
+
click: function(){
|
10385
|
+
this.triggerAction({
|
10386
|
+
action: 'save',
|
10387
|
+
target: this.get('controller'),
|
10388
|
+
actionContext: this.get('context'),
|
10389
|
+
}); // Sends the `save` action, along with the current context
|
10390
|
+
// to the current controller
|
10391
|
+
}
|
10392
|
+
});
|
10393
|
+
```
|
10394
|
+
|
10395
|
+
The `actionContext` defaults to the object you mixing `TargetActionSupport` into.
|
10396
|
+
But `target` and `action` must be specified either as properties or with the argument
|
10397
|
+
to `triggerAction`, or a combination:
|
10398
|
+
|
10399
|
+
```javascript
|
10400
|
+
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
10401
|
+
target: Ember.computed.alias('controller'),
|
10402
|
+
click: function(){
|
10403
|
+
this.triggerAction({
|
10404
|
+
action: 'save'
|
10405
|
+
}); // Sends the `save` action, along with a reference to `this`,
|
10406
|
+
// to the current controller
|
10407
|
+
}
|
10408
|
+
});
|
10409
|
+
```
|
10410
|
+
|
10411
|
+
@method triggerAction
|
10412
|
+
@param opts {Hash} (optional, with the optional keys action, target and/or actionContext)
|
10413
|
+
@return {Boolean} true if the action was sent successfully and did not return false
|
10414
|
+
*/
|
10415
|
+
triggerAction: function(opts) {
|
10416
|
+
opts = opts || {};
|
10417
|
+
var action = opts['action'] || get(this, 'action'),
|
10418
|
+
target = opts['target'] || get(this, 'targetObject'),
|
10419
|
+
actionContext = opts['actionContext'] || get(this, 'actionContextObject') || this;
|
10003
10420
|
|
10004
10421
|
if (target && action) {
|
10005
10422
|
var ret;
|
10006
10423
|
|
10007
|
-
if (
|
10008
|
-
ret = target.send(action,
|
10424
|
+
if (target.send) {
|
10425
|
+
ret = target.send.apply(target, [action, actionContext]);
|
10009
10426
|
} else {
|
10010
|
-
|
10011
|
-
|
10012
|
-
}
|
10013
|
-
ret = action.call(target, this);
|
10427
|
+
|
10428
|
+
ret = target[action].apply(target, [actionContext]);
|
10014
10429
|
}
|
10430
|
+
|
10015
10431
|
if (ret !== false) ret = true;
|
10016
10432
|
|
10017
10433
|
return ret;
|
@@ -10183,9 +10599,9 @@ Ember.Evented = Ember.Mixin.create({
|
|
10183
10599
|
(function() {
|
10184
10600
|
var RSVP = requireModule("rsvp");
|
10185
10601
|
|
10186
|
-
RSVP.async
|
10602
|
+
RSVP.configure('async', function(callback, binding) {
|
10187
10603
|
Ember.run.schedule('actions', binding, callback);
|
10188
|
-
};
|
10604
|
+
});
|
10189
10605
|
|
10190
10606
|
/**
|
10191
10607
|
@module ember
|
@@ -10207,9 +10623,22 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
10207
10623
|
@param {Function} doneCallback a callback function to be called when done
|
10208
10624
|
@param {Function} failCallback a callback function to be called when failed
|
10209
10625
|
*/
|
10210
|
-
then: function(
|
10211
|
-
var promise
|
10212
|
-
|
10626
|
+
then: function(resolve, reject) {
|
10627
|
+
var deferred, promise, entity;
|
10628
|
+
|
10629
|
+
entity = this;
|
10630
|
+
deferred = get(this, '_deferred');
|
10631
|
+
promise = deferred.promise;
|
10632
|
+
|
10633
|
+
return promise.then(function(fulfillment) {
|
10634
|
+
if (fulfillment === promise) {
|
10635
|
+
return resolve(entity);
|
10636
|
+
} else {
|
10637
|
+
return resolve(fulfillment);
|
10638
|
+
}
|
10639
|
+
}, function(reason) {
|
10640
|
+
return reject(reason);
|
10641
|
+
});
|
10213
10642
|
},
|
10214
10643
|
|
10215
10644
|
/**
|
@@ -10218,7 +10647,16 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
10218
10647
|
@method resolve
|
10219
10648
|
*/
|
10220
10649
|
resolve: function(value) {
|
10221
|
-
|
10650
|
+
var deferred, promise;
|
10651
|
+
|
10652
|
+
deferred = get(this, '_deferred');
|
10653
|
+
promise = deferred.promise;
|
10654
|
+
|
10655
|
+
if (value === this){
|
10656
|
+
deferred.resolve(promise);
|
10657
|
+
} else {
|
10658
|
+
deferred.resolve(value);
|
10659
|
+
}
|
10222
10660
|
},
|
10223
10661
|
|
10224
10662
|
/**
|
@@ -10227,11 +10665,11 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
10227
10665
|
@method reject
|
10228
10666
|
*/
|
10229
10667
|
reject: function(value) {
|
10230
|
-
get(this, '
|
10668
|
+
get(this, '_deferred').reject(value);
|
10231
10669
|
},
|
10232
10670
|
|
10233
|
-
|
10234
|
-
return new RSVP.
|
10671
|
+
_deferred: Ember.computed(function() {
|
10672
|
+
return new RSVP.defer();
|
10235
10673
|
})
|
10236
10674
|
});
|
10237
10675
|
|
@@ -10917,7 +11355,7 @@ function findNamespaces() {
|
|
10917
11355
|
|
10918
11356
|
for (var prop in lookup) {
|
10919
11357
|
// These don't raise exceptions but can cause warnings
|
10920
|
-
if (prop === "parent" || prop === "top" || prop === "frameElement") { continue; }
|
11358
|
+
if (prop === "parent" || prop === "top" || prop === "frameElement" || prop === "webkitStorageInfo") { continue; }
|
10921
11359
|
|
10922
11360
|
// get(window.globalStorage, 'isNamespace') would try to read the storage for domain isNamespace and cause exception in Firefox.
|
10923
11361
|
// globalStorage is a storage obsoleted by the WhatWG storage specification. See https://developer.mozilla.org/en/DOM/Storage#globalStorage
|
@@ -11827,9 +12265,8 @@ if (ignore.length>0) {
|
|
11827
12265
|
@namespace Ember
|
11828
12266
|
@extends Ember.Mixin
|
11829
12267
|
@uses Ember.MutableArray
|
11830
|
-
@uses Ember.
|
12268
|
+
@uses Ember.Observable
|
11831
12269
|
@uses Ember.Copyable
|
11832
|
-
@uses Ember.Freezable
|
11833
12270
|
*/
|
11834
12271
|
Ember.NativeArray = NativeArray;
|
11835
12272
|
|
@@ -11876,7 +12313,7 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Array) {
|
|
11876
12313
|
@submodule ember-runtime
|
11877
12314
|
*/
|
11878
12315
|
|
11879
|
-
var get = Ember.get, set = Ember.set, guidFor = Ember.guidFor,
|
12316
|
+
var get = Ember.get, set = Ember.set, guidFor = Ember.guidFor, isNone = Ember.isNone, fmt = Ember.String.fmt;
|
11880
12317
|
|
11881
12318
|
/**
|
11882
12319
|
An unordered collection of objects.
|
@@ -12234,7 +12671,7 @@ Ember.Set = Ember.CoreObject.extend(Ember.MutableEnumerable, Ember.Copyable, Emb
|
|
12234
12671
|
// implements Ember.MutableEnumerable
|
12235
12672
|
addObject: function(obj) {
|
12236
12673
|
if (get(this, 'isFrozen')) throw new Error(Ember.FROZEN_ERROR);
|
12237
|
-
if (
|
12674
|
+
if (isNone(obj)) return this; // nothing to do
|
12238
12675
|
|
12239
12676
|
var guid = guidFor(obj),
|
12240
12677
|
idx = this[guid],
|
@@ -12262,7 +12699,7 @@ Ember.Set = Ember.CoreObject.extend(Ember.MutableEnumerable, Ember.Copyable, Emb
|
|
12262
12699
|
// implements Ember.MutableEnumerable
|
12263
12700
|
removeObject: function(obj) {
|
12264
12701
|
if (get(this, 'isFrozen')) throw new Error(Ember.FROZEN_ERROR);
|
12265
|
-
if (
|
12702
|
+
if (isNone(obj)) return this; // nothing to do
|
12266
12703
|
|
12267
12704
|
var guid = guidFor(obj),
|
12268
12705
|
idx = this[guid],
|
@@ -12337,7 +12774,7 @@ Deferred.reopenClass({
|
|
12337
12774
|
promise: function(callback, binding) {
|
12338
12775
|
var deferred = Deferred.create();
|
12339
12776
|
callback.call(binding, deferred);
|
12340
|
-
return
|
12777
|
+
return deferred;
|
12341
12778
|
}
|
12342
12779
|
});
|
12343
12780
|
|
@@ -12348,6 +12785,8 @@ Ember.Deferred = Deferred;
|
|
12348
12785
|
|
12349
12786
|
|
12350
12787
|
(function() {
|
12788
|
+
var forEach = Ember.ArrayPolyfills.forEach;
|
12789
|
+
|
12351
12790
|
/**
|
12352
12791
|
@module ember
|
12353
12792
|
@submodule ember-runtime
|
@@ -12380,12 +12819,10 @@ Ember.onLoad = function(name, callback) {
|
|
12380
12819
|
@param object {Object} object to pass to callbacks
|
12381
12820
|
*/
|
12382
12821
|
Ember.runLoadHooks = function(name, object) {
|
12383
|
-
var hooks;
|
12384
|
-
|
12385
12822
|
loaded[name] = object;
|
12386
12823
|
|
12387
|
-
if (
|
12388
|
-
loadHooks[name]
|
12824
|
+
if (loadHooks[name]) {
|
12825
|
+
forEach.call(loadHooks[name], function(callback) {
|
12389
12826
|
callback(object);
|
12390
12827
|
});
|
12391
12828
|
}
|
@@ -12839,9 +13276,9 @@ Ember.ArrayController = Ember.ArrayProxy.extend(Ember.ControllerMixin,
|
|
12839
13276
|
});
|
12840
13277
|
```
|
12841
13278
|
|
12842
|
-
@method
|
12843
|
-
@
|
12844
|
-
@
|
13279
|
+
@method lookupItemController
|
13280
|
+
@param {Object} object
|
13281
|
+
@return {String}
|
12845
13282
|
*/
|
12846
13283
|
lookupItemController: function(object) {
|
12847
13284
|
return get(this, 'itemController');
|
@@ -12919,10 +13356,11 @@ Ember.ArrayController = Ember.ArrayProxy.extend(Ember.ControllerMixin,
|
|
12919
13356
|
|
12920
13357
|
_resetSubControllers: function() {
|
12921
13358
|
var subControllers = get(this, '_subControllers');
|
12922
|
-
|
12923
|
-
|
12924
|
-
|
12925
|
-
|
13359
|
+
if (subControllers) {
|
13360
|
+
forEach(subControllers, function(subController) {
|
13361
|
+
if (subController) { subController.destroy(); }
|
13362
|
+
});
|
13363
|
+
}
|
12926
13364
|
|
12927
13365
|
this.set('_subControllers', Ember.A());
|
12928
13366
|
}
|