ember-source 1.3.2 → 1.4.0.beta.1
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-data-deps.js +647 -192
- data/dist/ember-data-deps.min.js +5 -5
- data/dist/ember-data-deps.prod.js +644 -185
- data/dist/ember-debug.js +1 -6
- data/dist/ember-runtime.js +647 -192
- data/dist/ember-runtime.min.js +5 -5
- data/dist/ember-runtime.prod.js +644 -185
- data/dist/ember-spade.js +2 -2
- data/dist/ember-template-compiler.js +1 -1
- data/dist/ember-template-compiler.min.js +1 -1
- data/dist/ember-template-compiler.prod.js +1 -1
- data/dist/ember-tests.js +2 -2
- data/dist/ember.js +2959 -1531
- data/dist/ember.min.js +10 -9
- data/dist/ember.prod.js +2850 -1518
- metadata +6 -7
data/dist/ember-data-deps.min.js
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.
|
8
|
+
* @version 1.4.0-beta.1
|
9
9
|
*/
|
10
|
-
!function(){var e,t,r,n;!function(){var i={},o={};e=function(e,t,r){i[e]={deps:t,callback:r}},n=r=t=function(e){function r(t){if("."!==t.charAt(0))return t;for(var r=t.split("/"),n=e.split("/").slice(0,-1),i=0,o=r.length;o>i;i++){var s=r[i];if(".."===s)n.pop();else{if("."===s)continue;n.push(s)}}return n.join("/")}if(n._eak_seen=i,o[e])return o[e];if(o[e]={},!i[e])throw new Error("Could not find module "+e);for(var s,a=i[e],u=a.deps,c=a.callback,h=[],l=0,f=u.length;f>l;l++)"exports"===u[l]?h.push(s={}):h.push(t(r(u[l])));var m=c.apply(this,h);return o[e]=s||m}}(),function(){"undefined"==typeof Ember&&(Ember={});{var e=(Ember.imports=Ember.imports||this,Ember.exports=Ember.exports||this);Ember.lookup=Ember.lookup||this}e.Em=e.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.3.2",Ember.ENV||(Ember.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),Ember.config=Ember.config||{},"undefined"==typeof Ember.ENV.DISABLE_RANGE_API&&(Ember.ENV.DISABLE_RANGE_API=!0),"undefined"==typeof MetamorphENV&&(e.MetamorphENV={}),MetamorphENV.DISABLE_RANGE_API=Ember.ENV.DISABLE_RANGE_API,Ember.FEATURES=Ember.ENV.FEATURES||{},Ember.FEATURES.isEnabled=function(e){var t=Ember.FEATURES[e];return Ember.ENV.ENABLE_ALL_FEATURES?!0:t===!0||t===!1||void 0===t?t:Ember.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},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,t){return t}),Ember.uuid=0,Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);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 t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=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}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.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},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){var e=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){var t=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,Ember.Error);for(var r=0;r<e.length;r++)this[e[r]]=t[e[r]]},Ember.Error.prototype=Ember.create(Error.prototype),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(r){Ember.onerror(r)}}}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}Ember.GUID_PREFIX="ember";var r=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,t){t||(t=Ember.GUID_PREFIX);var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f=Ember.platform.defineProperty.isSimulated;e.prototype={descs:null,deps:null,watching:null,listeners:null,cache:null,source:null,mixins:null,bindings:null,chains:null,chainWatchers:null,values:null},f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){});var m=new e(null);u&&(m.values={}),Ember.EMPTY_META=m,Ember.meta=function(t,i){var o=t[l];return i===!1?o||m:(o?o.source!==t&&(f||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(f||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,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_listens__=e.__ember_listens__,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=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var b={},d="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(d,function(e){b["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):b[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(e instanceof Error?t="error":Ember.Object&&e instanceof Ember.Object?t="instance":e instanceof Date&&(t="date")),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=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,o,s){function a(){for(p=0,b=f.length;b>p;p++)m=f[p],d[p]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,b=f.length;b>p;p++)m=f[p],m.after(e,n(),i,d[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,p,b,d=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.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:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf,n=Array.prototype.splice;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},_replace:function(e,t,r,i){for(var o,s,a=[].concat(i),u=[],c=6e4,h=t,l=r;a.length;)s=l>c?c:l,0>=s&&(s=0),o=a.splice(0,c),o=[h,s].concat(o),h+=c,l-=s,u=u.concat(n.apply(e,o));return u},replace:function(e,t,r,n){return e.replace?e.replace(t,r,n):i._replace(e,t,r,n)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Ember.Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i+=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-3;s>=0;s-=3){var a=o[s],u=o[s+1],c=o[s+2],h=e(n,a,u);-1===h&&n.push(a,u,c)}}function n(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-3;a>=0;a-=3){var u=o[a],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(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=d),-1===u&&(a.push(i,o,c),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,3),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-3;c>=0;c-=3)s(u[c],u[c+1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){-1!==h&&(c[h+2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c=t(r,n),h=e(c,i,o);return-1!==h&&(c[h+2]|=E),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(var e=0,t=m.length;t>e;e++){var r=m[e];p[e][r+2]&=~E}}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m=[],p=[];for(l=0,f=n.length;f>l;l++){c=n[l],h=t(r,c);var b=e(h,i,o);-1!==b&&(h[b+2]|=E,m.push(b),p.push(h))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-3;s>=0;s-=3){var a=n[s],u=n[s+1],c=n[s+2];u&&(c&E||(c&d&&o(e,t,a,u),a||(a=e),"string"==typeof u&&(u=a[u]),r?u.apply(a,r):u.call(a)))}return!0}}function h(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o+=3){var a=i[o],u=i[o+1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,p=Ember.META_KEY,b=[].slice,d=1,E=2;Ember.on=function(){var e=b.call(arguments,-1)[0],t=b.call(arguments,0,-1);return e.__ember_listens__=t,e},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=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t){var n=l(e,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];i&&s!==e&&(a&&a.willChange&&a.willChange(e,t),r(e,t,n),o(e,t,n),c(e,t))}function t(e,t){var r=l(e,!1),i=r.watching[t]>0||"length"===t,o=r.proto,a=r.descs[t];o!==e&&(a&&a.didChange&&a.didChange(e,t),(i||"length"===t)&&(n(e,t,r),s(e,t,r,!1),h(e,t)))}function r(t,r,n){if(!t.isDestroying){var o=_,s=!o;s&&(o=_={}),i(e,t,r,o,n),s&&(_=null)}}function n(e,r,n){if(!e.isDestroying){var o=O,s=!o;s&&(o=O={}),i(t,e,r,o,n),s&&(O=null)}}function i(e,t,r,n,i){var o=f(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var s=i.deps;if(s=s&&s[r])for(var a in s){var u=i.descs[a];u&&u._suspended===t||e(t,a)}}}function o(t,r,n){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var i,o,s=n.chainWatchers[r],a=[];for(i=0,o=s.length;o>i;i++)s[i].willChange(a);for(i=0,o=a.length;o>i;i+=2)e(a[i],a[i+1])}}function s(e,r,n,i){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var o,s,a=n.chainWatchers[r],u=i?null:[];for(o=0,s=a.length;s>o;o++)a[o].didChange(u);if(!i)for(o=0,s=u.length;s>o;o+=2)t(u[o],u[o+1])}}function a(){g++}function u(){g--,0>=g&&(y.clear(),v.flush())}function c(e,t){if(!e.isDestroying){var r,n,i=t+":before";g?(r=y.add(e,t,i),n=d(e,i,r),p(e,i,[e,t],n)):p(e,i,[e,t])}}function h(e,t){if(!e.isDestroying){var r,n=t+":change";g?(r=v.add(e,t,n),b(e,n,r)):p(e,n,[e,t])}}var l=Ember.meta,f=Ember.guidFor,m=Ember.tryFinally,p=Ember.sendEvent,b=Ember.listenersUnion,d=Ember.listenersDiff,E=Ember._ObserverSet,y=new E,v=new E,g=0;Ember.propertyWillChange=e,Ember.propertyDidChange=t;var _,O;Ember.overrideChains=function(e,t,r){s(e,t,r,!0)},Ember.beginPropertyChanges=a,Ember.endPropertyChanges=u,Ember.changeProperties=function(e,t){a(),m(e,u,t)}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t===s?s:t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Ember.Error("Property set failed: You passed an empty path");if(!e){if(o)return;throw new Ember.Error('Property set failed: object in path "'+t+'" could not be found or was destroyed.')}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(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[t],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=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?(void 0!==u||i in n)&&n.propertyIsEnumerable(i)?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.trySet=function(e,t,r){return i(e,t,r,!0)}}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){function e(e){var t,r;Ember.imports.console?t=Ember.imports.console:"undefined"!=typeof console&&(t=console);var n="object"==typeof t?t[e]:null;return n?n.apply?(r=function(){n.apply(t,arguments)},r.displayName="console."+e,r):function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Ember.Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},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,assert:e("assert")||t}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=t(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?r(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,r(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,r(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.get;Ember.getProperties=function(t){var r={},n=arguments,i=1;2===arguments.length&&"array"===Ember.typeOf(arguments[1])&&(i=0,n=arguments[1]);for(var o=n.length;o>i;i++)r[n[i]]=e(t,n[i]);return r}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s=e(i),a=s.watching;a[o]?a[o]=(a[o]||0)+1:(a[o]=1,"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(s.values[o]=i[o],n(i,o,{configurable:!0,enumerable:i.propertyIsEnumerable(o),set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o=e(t),s=o.watching;1===s[i]?(s[i]=0,"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&n(t,i,{configurable:!0,enumerable:t.propertyIsEnumerable(i),set:function(e){n(t,i,{configurable:!0,writable:!0,enumerable:!0,value:e}),delete o.values[i]},get:Ember.DEFAULT_GETTER_FUNCTION(i)})):s[i]>1&&s[i]--}}(),function(){function e(e){return e.match(h)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e,t){if(!e)return void 0;var r=n(e,!1);if(r.proto===e)return void 0;if("@each"===t)return i(e,t);var o=r.descs[t];return o&&o._cacheable?t in r.cache?r.cache[t]:void 0:i(e,t)}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=/^([^\.\*]+)/,l=[];Ember.flushPendingChains=function(){if(0!==l.length){var e=l;l=[],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===l.length)}};var f=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},m=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},p=m.prototype;p.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=r(e,this._key)}return this._value},p.destroy=function(){if(this._watching){var e=this._object;e&&f(e,this._key,this),this._watching=!1}},p.copy=function(e){var t,r=new m(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},p.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return l.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},p.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},p.count=0,p.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new m(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},p.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},p.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},p.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(f(this._object,this._key,this),this._object=r,t(r,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);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(null))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=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(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=m(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(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 n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(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 i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=c(e,t[n]);return r}function a(e,t){Ember.computed[e]=function(e){var r=f.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function u(e,t){Ember.computed[e]=function(){var e=f.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var c=Ember.get,h=Ember.set,l=Ember.meta,f=[].slice,m=Ember.create,p=(Ember.META_KEY,Ember.watch),b=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var d=i.prototype;d.cacheable=function(e){return this._cacheable=e!==!1,this},d.volatile=function(){return this.cacheable(!1)},d.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},d.property=function(){var e;return e=f.call(arguments),this._dependentKeys=e,this},d.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},d.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],n(this,e,t,r))}},d.get=function(e,t){var n,i,s,a;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),a=s.chainWatchers&&s.chainWatchers[t],a&&o(a),r(this,e,t,s)}else n=this.func.call(e,t);return n},d.set=function(e,t,n){var i,o,s,a=this._cacheable,u=this.func,c=l(e,a),h=c.watching[t],f=this._suspended,m=!1,p=c.cache;if(this._readOnly)throw new Ember.Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(o=p[t],m=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)s=u.call(e,t,n,o);else{if(2!==i)return Ember.defineProperty(e,t,null,o),Ember.set(e,t,n),void 0;s=u.call(e,t,n)}if(m&&o===s)return;h&&Ember.propertyWillChange(e,t),m&&delete p[t],a&&(m||r(this,e,t,c),p[t]=s),h&&Ember.propertyDidChange(e,t)}finally{this._suspended=f}return s},d.teardown=function(e,t){var r=l(e);return t in r.cache&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=f.call(arguments,0,-1),e=f.call(arguments,-1)[0]),"function"!=typeof e)throw new Ember.Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=l(e,!1).cache;return r&&t in r?r[t]:void 0},a("empty",function(e){return Ember.isEmpty(c(this,e))}),a("notEmpty",function(e){return!Ember.isEmpty(c(this,e))}),a("none",function(e){return Ember.isNone(c(this,e))}),a("not",function(e){return!c(this,e)}),a("bool",function(e){return!!c(this,e)}),a("match",function(e,t){var r=c(this,e);return"string"==typeof r?t.test(r):!1}),a("equal",function(e,t){return c(this,e)===t}),a("gt",function(e,t){return c(this,e)>t}),a("gte",function(e,t){return c(this,e)>=t}),a("lt",function(e,t){return c(this,e)<t}),a("lte",function(e,t){return c(this,e)<=t}),u("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),u("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),u("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),u("collect",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(h(this,e,r),r):c(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return c(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:c(this,e):null!=r?r:c(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this
|
11
|
-
},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,p=m&&m.before,b=m&&m.after,d=0,E=r.length;for(E&&p&&p();E>d;)c=r[d],h=r[d+1],l=r[d+2],f=r[d+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),d+=4;t._queueBeingFlushed=null,E&&b&&b(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e){return"number"==typeof e||v.test(e)}function n(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function i(e){e.begin(),c=y.setTimeout(function(){c=null,e.end()})}function o(e,t,r){(!h||l>t)&&(h&&clearTimeout(h),h=y.setTimeout(function(){h=null,l=null,s(e)},r),l=t)}function s(e){var t,r,n,i,s=+new Date;e.run(function(){for(n=0,i=E.length;i>n&&(t=E[n],!(t>s));n+=2);for(r=E.splice(0,n),n=1,i=r.length;i>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),E.length&&o(e,E[0],E[0]-s)}function a(e,t){for(var r,n=-1,i=0,o=d.length;o>i;i++)if(r=d[i],r[0]===e&&r[1]===t){n=i;break}return n}function u(e,t){for(var r,n=-1,i=0,o=b.length;o>i;i++)if(r=b[i],r[0]===e&&r[1]===t){n=i;break}return n}var c,h,l,f=e.DeferredActionQueues,m=[].slice,p=[].pop,b=[],d=[],E=[],y=this,v=/\d+/;n.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new f(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,m.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var n=this.DEBUG?new Error:void 0,o=arguments.length>3?m.call(arguments,3):void 0;return this.currentInstance||i(this),this.currentInstance.schedule(e,t,r,o,!1,n)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var n=this.DEBUG?new Error:void 0,o=arguments.length>3?m.call(arguments,3):void 0;return this.currentInstance||i(this),this.currentInstance.schedule(e,t,r,o,!0,n)},setTimeout:function(){function e(){t.apply(i,c)}var t,n,i,s,a,u,c=m.call(arguments),h=c.length,l=this;if(0!==h){if(1===h)t=c.shift(),n=0;else if(2===h)s=c[0],a=c[1],"function"==typeof a||"function"==typeof s[a]?(i=c.shift(),t=c.shift(),n=0):r(a)?(t=c.shift(),n=c.shift()):(t=c.shift(),n=0);else{var f=c[c.length-1];r(f)&&(n=c.pop()),s=c[0],u=c[1],"function"==typeof u||"string"==typeof u&&null!==s&&u in s?(i=c.shift(),t=c.shift()):t=c.shift()}var p=+new Date+parseInt(n,10);"string"==typeof t&&(t=i[t]);var b,d;for(b=0,d=E.length;d>b&&!(p<E[b]);b+=2);return E.splice(b,0,p,e),o(l,p,n),e}},throttle:function(e,t){var r,n,i,o=this,s=arguments,a=parseInt(p.call(s),10);return n=u(e,t),n>-1?b[n]:(i=y.setTimeout(function(){o.run.apply(o,s);var r=u(e,t);r>-1&&b.splice(r,1)},a),r=[e,t,i],b.push(r),r)},debounce:function(e,t){var r,n,i,o,s=this,u=arguments,c=p.call(u);return"number"==typeof c||"string"==typeof c?(r=c,c=!1):r=p.call(u),r=parseInt(r,10),n=a(e,t),n>-1&&(i=d[n],d.splice(n,1),clearTimeout(i[2])),o=y.setTimeout(function(){c||s.run.apply(s,u);var r=a(e,t);r>-1&&d.splice(r,1)},r),c&&-1===n&&s.run.apply(s,u),i=[e,t,o],d.push(i),i},cancelTimers:function(){var e,t;for(e=0,t=b.length;t>e;e++)clearTimeout(b[e][2]);for(b=[],e=0,t=d.length;t>e;e++)clearTimeout(d[e][2]);d=[],h&&(clearTimeout(h),h=null),E=[],c&&(clearTimeout(c),c=null)},hasTimers:function(){return!!E.length||c},cancel:function(e){var t=typeof e;if(e&&"object"===t&&e.queue&&e.method)return e.queue.cancel(e);if("function"!==t)return"[object Array]"===window.toString.call(e)?this._cancelItem(u,b,e)||this._cancelItem(a,d,e):void 0;for(var r=0,n=E.length;n>r;r+=2)if(E[r+1]===e)return E.splice(r,2),!0},_cancelItem:function(e,t,r){var n,i;return r.length<3?!1:(i=e(r[0],r[1]),i>-1&&(n=t[i],n[2]===r[2])?(t.splice(i,1),clearTimeout(r[2]),!0):!1)}},n.prototype.schedule=n.prototype.defer,n.prototype.scheduleOnce=n.prototype.deferOnce,n.prototype.later=n.prototype.setTimeout,t.Backburner=n})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=o;Ember.run;Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)},Ember.run.throttle=function(){return o.throttle.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=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,t){this._direction="fwd",this._from=t,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(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,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 r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{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 r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=j(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=C.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?T:(e[r]=t,t.properties)):t}function i(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=j(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i){var o=i[t]||e[t];if(!o)return n;var a=Ember.merge({},o);for(var u in n)if(n.hasOwnProperty(u)){var c=n[u];a[u]=r(c)?s(e,u,c,o,{}):c}return a}function c(e,t,n,i,c,h,l,f){if(n instanceof Ember.Descriptor){if(n===_&&c[t])return T;n.func&&(n=o(i,t,n,h,c)),c[t]=n,h[t]=void 0}else l&&w.call(l,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?n=a(e,t,n,h):f&&w.call(f,t)>=0?n=u(e,t,n,h):r(n)&&(n=s(e,t,n,h,c)),c[t]=void 0,h[t]=n}function h(e,t,r,o,s,a){function u(e){delete r[e],delete o[e]}for(var l,f,m,p,b,d,E=0,y=e.length;y>E;E++)if(l=e[E],f=n(t,l),f!==T)if(f){d=Ember.meta(s),s.willMergeMixin&&s.willMergeMixin(f),p=i("concatenatedProperties",f,o,s),b=i("mergedProperties",f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),c(s,m,f[m],d,r,o,p,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(h(l.mixins,t,r,o,s,a),l._without&&A.call(l._without,u))}function l(e,t,r,n){if(I.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=j(n.bindings)):i=n.bindings={},i[t]=r}}function f(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return f(e,t||Ember.meta(e)),e}function p(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}function d(e,t,r){var n=e[t];"function"==typeof n&&(b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,n,"__ember_listens__","removeListener")),"function"==typeof r&&(b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver"),b(e,t,r,"__ember_listens__","addListener"))}function E(t,r,n){var i,o,s,a={},u={},c=Ember.meta(t),f=[];h(r,e(t),a,u,t,f);for(var b=0,E=f.length;E>b;b++)if(i=f[b],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==_)){for(;s&&s instanceof O;){var y=p(t,s,c,a,u);s=y.desc,o=y.value}(void 0!==s||void 0!==o)&&(d(t,i,o),l(t,i,o,c),S(t,i,s,o,c))}return n||m(t,c),t}function y(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(y(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&A.call(t.mixins,function(t){v(e,t,r)})}var g,_,O,C=Ember.ArrayPolyfills.map,w=Ember.ArrayPolyfills.indexOf,A=Ember.ArrayPolyfills.forEach,P=[].slice,j=Ember.create,S=Ember.defineProperty,x=Ember.guidFor,T={},I=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=P.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=P.call(arguments,1);return E(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var N=g.prototype;N.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));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 y(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},N.without=function(){var e=new g(this);return e._without=P.call(arguments),e},N.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},_=new Ember.Descriptor,_.toString=function(){return"(Required Property)"},Ember.required=function(){return _},O=function(e){this.methodName=e},O.prototype=new Ember.Descriptor,Ember.alias=function(e){return new O(e)},Ember.aliasMethod=function(e){return new O(e)},Ember.observer=function(){var e,t=P.call(arguments,-1)[0];if(e=P.call(arguments,0,-1),"function"!=typeof t&&(t=arguments[0],e=P.call(arguments,1)),"function"!=typeof t)throw new Ember.Error("Ember.observer called without a function");return t.__ember_observes__=e,t},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(){var e,t=P.call(arguments,-1)[0];if(e=P.call(arguments,0,-1),"function"!=typeof t&&(t=arguments[0],e=P.call(arguments,1)),"function"!=typeof t)throw new Ember.Error("Ember.beforeObserver called without a function");return t.__ember_observesBefore__=e,t}}(),function(){var e=Ember.EnumerableUtils.forEach,t=Ember.EnumerableUtils.indexOf;Ember.libraries=function(){var r=[],n=0,i=function(e){for(var t=0;t<r.length;t++)if(r[t].name===e)return r[t]};return r.register=function(e,t){i(e)||r.push({name:e,version:t})},r.registerCoreLibrary=function(e,t){i(e)||r.splice(n++,0,{name:e,version:t})},r.deRegister=function(e){var n=i(e);n&&r.splice(t(r,n),1)},r.each=function(t){e(r,function(e){t(e.name,e.version)})},r}(),Ember.libraries.registerCoreLibrary("Ember",Ember.VERSION)}(),function(){e("rsvp/all",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.all(e,t)}}),e("rsvp/all_settled",["./promise","./utils","exports"],function(e,t,r){"use strict";function n(e){return{state:"fulfilled",value:e}}function i(e){return{state:"rejected",reason:e}}var o=e["default"],s=t.isArray,a=t.isNonThenable;r["default"]=function(e,t){return new o(function(t){function r(e){return function(t){c(e,n(t))}}function u(e){return function(t){c(e,i(t))}}function c(e,r){f[e]=r,0===--l&&t(f)}if(!s(e))throw new TypeError("You must pass an array to allSettled.");var h,l=e.length;if(0===l)return t([]),void 0;for(var f=new Array(l),m=0;m<e.length;m++)h=e[m],a(h)?c(m,n(h)):o.cast(h).then(r(m),u(m))},t)}}),e("rsvp/config",["./events","exports"],function(e,t){"use strict";function r(e,t){return"onerror"===e?(i.on("error",t),void 0):2!==arguments.length?i[e]:(i[e]=t,void 0)}var n=e["default"],i={instrument:!1};n.mixin(i),t.config=i,t.configure=r}),e("rsvp/defer",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e){var t={};return t.promise=new r(function(e,r){t.resolve=e,t.reject=r},e),t}}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1},r=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t};e["default"]={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e._promiseCallbacks=void 0,e},on:function(e,n){var i,o=r(this);i=o[e],i||(i=o[e]=[]),-1===t(i,n)&&i.push(n)},off:function(e,n){var i,o,s=r(this);return n?(i=s[e],o=t(i,n),-1!==o&&i.splice(o,1),void 0):(s[e]=[],void 0)},trigger:function(e,t){var n,i,o=r(this);if(n=o[e])for(var s=0;s<n.length;s++)(i=n[s])(t)}}}),e("rsvp/filter",["./all","./map","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){return o(e,r).then(function(n){if(!u(e))throw new TypeError("You must pass an array to filter.");if(!a(t))throw new TypeError("You must pass a function to filter's second argument.");return s(e,t,r).then(function(e){var t,r=n.length,i=[];for(t=0;r>t;t++)e[t]&&i.push(n[t]);return i})})}var o=e["default"],s=t["default"],a=r.isFunction,u=r.isArray;n["default"]=i}),e("rsvp/hash",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isNonThenable,o=t.keysOf;r["default"]=function(e){return new n(function(t,r){function s(e){return function(r){h[e]=r,0===--f&&t(h)}}function a(e){f=0,r(e)}var u,c,h={},l=o(e),f=l.length;if(0===f)return t(h),void 0;for(var m=0;m<l.length;m++)c=l[m],u=e[c],i(u)?(h[c]=u,0===--f&&t(h)):n.cast(u).then(s(c),a)})}}),e("rsvp/instrument",["./config","./utils","exports"],function(e,t,r){"use strict";var n=e.config,i=t.now;r["default"]=function(e,t,r){try{n.trigger(e,{guid:t._guidKey+t._id,eventName:e,detail:t._detail,childGuid:r&&t._guidKey+r._id,label:t._label,timeStamp:i(),stack:new Error(t._label).stack})}catch(o){setTimeout(function(){throw o},0)}}}),e("rsvp/map",["./promise","./all","./utils","exports"],function(e,t,r,n){"use strict";var i=(e["default"],t["default"]),o=r.isArray,s=r.isFunction;n["default"]=function(e,t,r){return i(e,r).then(function(n){if(!o(e))throw new TypeError("You must pass an array to map.");if(!s(t))throw new TypeError("You must pass a function to map's second argument.");var a,u=n.length,c=[];for(a=0;u>a;a++)c.push(t(n[a]));return i(c,r)})}}),e("rsvp/node",["./promise","exports"],function(e,t){"use strict";function r(e,t){return function(r,n){r?t(r):arguments.length>2?e(i.call(arguments,1)):e(n)}}var n=e["default"],i=Array.prototype.slice;t["default"]=function(e,t){return function(){var o=i.call(arguments),s=this||t;return new n(function(t,i){n.all(o).then(function(n){try{n.push(r(t,i)),e.apply(s,n)}catch(o){i(o)}})})}}}),e("rsvp/promise",["./config","./events","./instrument","./utils","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(e,t,r,n,i,o,s,a,u,c){"use strict";function h(){}function l(e,t){if(!A(e))throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(!(this instanceof l))throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._id=D++,this._label=t,this._subscribers=[],O.instrument&&C("created",this),h!==e&&f(e,this)}function f(e,t){function r(e){E(t,e)}function n(e){v(t,e)}try{e(r,n)}catch(i){n(i)}}function m(e,t,r,n){var i=e._subscribers,o=i.length;i[o]=t,i[o+R]=r,i[o+F]=n}function p(e,t){var r,n,i=e._subscribers,o=e._detail;O.instrument&&C(t===R?"fulfilled":"rejected",e);for(var s=0;s<i.length;s+=3)r=i[s],n=i[s+t],b(t,r,n,o);e._subscribers=null}function b(e,t,r,n){var i,o,s,a,u=A(r);if(u)try{i=r(n),s=!0}catch(c){a=!0,o=c}else i=n,s=!0;d(t,i)||(u&&s?E(t,i):a?v(t,o):e===R?E(t,i):e===F&&v(t,i))}function d(e,t){var r,n=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(w(t)&&(n=t.then,A(n)))return n.call(t,function(n){return r?!0:(r=!0,t!==n?E(e,n):y(e,n),void 0)},function(t){return r?!0:(r=!0,v(e,t),void 0)},"derived from: "+(e._label||" unknown promise")),!0}catch(i){return r?!0:(v(e,i),!0)}return!1}function E(e,t){e===t?y(e,t):d(e,t)||y(e,t)}function y(e,t){e._state===M&&(e._state=k,e._detail=t,O.async(g,e))}function v(e,t){e._state===M&&(e._state=k,e._detail=t,O.async(_,e))}function g(e){p(e,e._state=R)}function _(e){e._onerror&&e._onerror(e._detail),p(e,e._state=F)}var O=e.config,C=(t["default"],r["default"]),w=n.objectOrFunction,A=n.isFunction,P=n.now,j=i["default"],S=o["default"],x=s["default"],T=a["default"],I=u["default"],N="rsvp_"+P()+"-",D=0;c["default"]=l,l.cast=j,l.all=S,l.race=x,l.resolve=T,l.reject=I;var M=void 0,k=0,R=1,F=2;l.prototype={constructor:l,_id:void 0,_guidKey:N,_label:void 0,_state:void 0,_detail:void 0,_subscribers:void 0,_onerror:function(e){O.trigger("error",e)},then:function(e,t,r){var n=this;this._onerror=null;var i=new this.constructor(h,r);if(this._state){var o=arguments;O.async(function(){b(n._state,i,o[n._state-1],n._detail)})}else m(this,i,e,t);return O.instrument&&C("chained",n,i),i},"catch":function(e,t){return this.then(null,e,t)},"finally":function(e,t){var r=this.constructor;return this.then(function(t){return r.cast(e()).then(function(){return t})},function(t){return r.cast(e()).then(function(){throw t})},t)}}}),e("rsvp/promise/all",["../utils","exports"],function(e,t){"use strict";var r=e.isArray,n=e.isNonThenable;t["default"]=function(e,t){var i=this;return new i(function(t,o){function s(e){return function(r){h[e]=r,0===--c&&t(h)}}function a(e){c=0,o(e)}if(!r(e))throw new TypeError("You must pass an array to all.");var u,c=e.length,h=new Array(c);if(0===c)return t(h),void 0;for(var l=0;l<e.length;l++)u=e[l],n(u)?(h[l]=u,0===--c&&t(h)):i.cast(u).then(s(l),a)},t)}}),e("rsvp/promise/cast",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return e&&"object"==typeof e&&e.constructor===r?e:new r(function(t){t(e)},t)}}),e("rsvp/promise/race",["../utils","exports"],function(e,t){"use strict";var r=e.isArray,n=(e.isFunction,e.isNonThenable);t["default"]=function(e,t){var i,o=this;return new o(function(t,s){function a(e){c&&(c=!1,t(e))}function u(e){c&&(c=!1,s(e))}if(!r(e))throw new TypeError("You must pass an array to race.");for(var c=!0,h=0;h<e.length;h++){if(i=e[h],n(i))return c=!1,t(i),void 0;o.cast(i).then(a,u)}},t)}}),e("rsvp/promise/reject",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return new r(function(t,r){r(e)},t)}}),e("rsvp/promise/resolve",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return new r(function(t){t(e)},t)}}),e("rsvp/race",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.race(e,t)}}),e("rsvp/reject",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.reject(e,t)}}),e("rsvp/resolve",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.resolve(e,t)}}),e("rsvp/rethrow",["exports"],function(e){"use strict";e["default"]=function(e){throw setTimeout(function(){throw e}),e}}),e("rsvp/utils",["exports"],function(e){"use strict";function t(e){return"function"==typeof e||"object"==typeof e&&null!==e}function r(e){return"function"==typeof e}function n(e){return!t(e)}function i(e){return"[object Array]"===Object.prototype.toString.call(e)}e.objectOrFunction=t,e.isFunction=r,e.isNonThenable=n,e.isArray=i;var o=Date.now||function(){return(new Date).getTime()};e.now=o;var s=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.keysOf=s}),e("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all_settled","./rsvp/race","./rsvp/hash","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","exports"],function(e,t,r,n,i,o,s,a,u,c,h,l,f,m,p){"use strict";function b(e,t){j.async(e,t)}function d(){j.on.apply(j,arguments)}function E(){j.off.apply(j,arguments)}var y=e["default"],v=t["default"],g=r["default"],_=n["default"],O=i["default"],C=o["default"],w=s["default"],A=a["default"],P=u["default"],j=c.config,S=c.configure,x=h["default"],T=l["default"],I=f["default"],N=m["default"];if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var D=window.__PROMISE_INSTRUMENTATION__;S("instrument",!0);for(var M in D)D.hasOwnProperty(M)&&d(M,D[M])}p.Promise=y,p.EventTarget=v,p.all=_,p.allSettled=O,p.race=C,p.hash=w,p.rethrow=A,p.defer=P,p.denodeify=g,p.configure=S,p.on=d,p.off=E,p.resolve=T,p.reject=I,p.async=b,p.map=x,p.filter=N})}(),function(){Ember.MODEL_FACTORY_INJECTIONS=!1||!!Ember.ENV.MODEL_FACTORY_INJECTIONS,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.factoryCache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this.factoryTypeInjections=new e(t&&t.factoryTypeInjections),this.factoryInjections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=o(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,o=0,s=t.length;s>o;o++){if(n=t[o],i=e.lookup(n.fullName),void 0===i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function o(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function s(e,t){var r,n=e.normalize(t),i=e.resolve(n),o=e.factoryCache,s=t.split(":")[0];if(void 0!==i){if(o.has(t))return o.get(t);if(!i||"function"!=typeof i.extend||!Ember.MODEL_FACTORY_INJECTIONS&&"model"===s)return i;var c=a(e,t),h=u(e,t);return h._toString=e.makeToString(i,t),r=i.extend(c),r.reopenClass(h),o.set(t,r),r}}function a(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.typeInjections.get(n)||[]),o=o.concat(e.injections[t]||[]),o=i(e,o),o._debugContainerKey=t,o.container=e,o}function u(e,t){var r=t.split(":"),n=r[0],o=[];return o=o.concat(e.factoryTypeInjections.get(n)||[]),o=o.concat(e.factoryInjections[t]||[]),o=i(e,o),o._debugContainerKey=t,o}function c(e,t){var r=s(e,t);return o(e,t,"instantiate")===!1?r:r?"function"==typeof r.extend?r.create():r.create(a(e,t)):void 0}function h(e,t){e.cache.eachLocal(function(r,n){o(e,r,"instantiate")!==!1&&t(n)})}function l(e){e.cache.eachLocal(function(t,r){o(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}function f(e,t,r,n){var i=e.get(t);i||(i=[],e.set(t,i)),i.push({property:r,fullName:n})}function m(e,t,r,n){var i=e[t]=e[t]||[];i.push({property:r,fullName:n})}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r){if(-1===e.indexOf(":"))throw new TypeError("malformed fullName, expected: `type:name` got: "+e);if(void 0===t)throw new TypeError("Attempting to register an unknown factory: `"+e+"`");var n=this.normalize(e);if(this.cache.has(n))throw new Error("Cannot re-register: `"+e+"`, as it has already been looked up.");this.registry.set(n,t),this._options.set(n,r||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this.factoryCache.remove(t),this._options.remove(t)},resolve:function(e){return this.resolver(e)||this.registry.get(e)},describe:function(e){return e},normalize:function(e){return e},makeToString:function(e){return e.toString()},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=c(this,e);return void 0!==r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return s(this,e)},has:function(e){return this.cache.has(e)?!0:!!this.resolve(e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection"),f(this.typeInjections,e,t,n)},injection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.typeInjection(e,t,n):(m(this.injections,e,t,n),void 0)},factoryTypeInjection:function(e,t,n){this.parent&&r("factoryTypeInjection"),f(this.factoryTypeInjections,e,t,n)},factoryInjection:function(e,t,n){return this.parent&&r("injection"),-1===e.indexOf(":")?this.factoryTypeInjection(e,t,n):(m(this.factoryInjections,e,t,n),void 0)},destroy:function(){for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],h(this,function(e){e.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)l(this.children[e]);l(this)}},t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;if(Ember.compare=function i(e,t){if(e===t)return 0;var r=Ember.typeOf(e),n=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===n&&o.detect(t.constructor))return 1-t.constructor.compare(t,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
|
12
|
-
}var h=s[r],l=s[n];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,p=t.length,b=Math.min(m,p),d=0,E=0;0===d&&b>E;)d=i(e[E],t[E]),E++;return 0!==d?d:p>m?-1:m>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var y=e.getTime(),v=t.getTime();return v>y?-1:y>v?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}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.create.isSimulated){var r=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString","toString"],n=function(e,r,n){"__"!==n.substring(0,2)&&"_super"!==n&&(t(r,n)>=0||e.hasOwnProperty(n)&&r.push(n))};Ember.keys=function(e){var t,i=[];for(t in e)n(e,i,t);for(var o=0,s=r.length;s>o;o++)t=r[o],n(e,i,t);return i}}}(),function(){var e=/[ _]/g,t={},r=/([a-z\d])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},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(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.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,t=Ember.String.w,r=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 t(this)},String.prototype.loc=function(){return r(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=Ember.get,t=Ember.set,r=Array.prototype.slice,n=Ember.getProperties;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){return n.apply(null,[this].concat(r.call(arguments)))},set:function(e,r){return t(this,e,r),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,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this),l=u.proto;if(u.proto=this,e){var f=e;e=null,this.reopen.apply(this,f)}if(t){var m=t;t=null;for(var p=this.concatenatedProperties,d=0,g=m.length;g>d;d++){var _=m[d];if("object"!=typeof _&&void 0!==_)throw new Ember.Error("Ember.Object.create only accepts objects.");if(_)for(var O=Ember.keys(_),C=0,w=O.length;w>C;C++){var A=O[C];if(_.hasOwnProperty(A)){var P=_[A],j=Ember.IS_BINDING;if(j.test(A)){var S=u.bindings;S?u.hasOwnProperty("bindings")||(S=u.bindings=r(u.bindings)):S=u.bindings={},S[A]=P}var x=u.descs[A];if(p&&y(p,A)>=0){var T=this[A];P=T?"function"==typeof T.concat?T.concat(P):Ember.makeArray(T).concat(P):Ember.makeArray(P)}x?x.set(this,A,P):"function"!=typeof this.setUnknownProperty||A in this?E?Ember.defineProperty(this,A,null,P):this[A]=P:this.setUnknownProperty(A,P)}}}}b(this,u),this.init.apply(this,arguments),u.proto=l,c(this),h(this,"init")};return s.toString=m.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=m.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=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 t(e){return function(){return e}}var r=(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.sendEvent,l=Ember.destroy,f=Ember.run.schedule,m=Ember.Mixin,p=m._apply,b=m.finishPartial,d=m.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,y=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return p(this,arguments,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,f("actions",this,this.willDestroy),f("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var _=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t),a(t).proto=t,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(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),p(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 t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});_.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(_),g.ClassMixin=_,_.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.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],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else if(this._toString)e=this._toString;else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||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:(t(),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(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=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,h=Ember.meta,l=Ember.defineProperty;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer("content",function(){}),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=h(this);if(i.proto===this)return l(this,e,null,t),t;var o=r(this,"content");return n(o,e,t)}})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)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 t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)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);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapBy(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapBy:function(e){return this.map(function(t){return n(t,e)})},mapProperty:Ember.aliasMethod("mapBy"),filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterBy:function(){return this.filter(r.apply(this,arguments))},filterProperty:Ember.aliasMethod("filterBy"),rejectBy:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},rejectProperty:Ember.aliasMethod("rejectBy"),find:function(r,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=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findBy:function(){return this.find(r.apply(this,arguments))},findProperty:Ember.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:Ember.aliasMethod("isEvery"),everyProperty:Ember.aliasMethod("isEvery"),isEvery:function(){return this.every(r.apply(this,arguments))},any:function(e,t){var r=this.find(function(r,n,i){return!!e.call(t,r,n,i)});return"undefined"!=typeof r},some:Ember.aliasMethod("any"),isAny:function(){return this.any(r.apply(this,arguments))},anyBy:Ember.aliasMethod("isAny"),someProperty:Ember.aliasMethod("isAny"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):o.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),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,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||i-r!==0,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||i-r!==0,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this},sortBy:function(){var e=arguments;return this.toArray().sort(function(t,r){for(var i=0;i<e.length;i++){var o=e[i],s=n(t,o),a=n(r,o),u=Ember.compare(s,a);if(u)return u}return 0})}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),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(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,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(){function e(e,t){return"@this"===t?e:f(e,t)}function t(e,t,r){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={}}function r(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function n(e,t,r){return 0>e?Math.max(0,t+e):t>e?e:Math.min(t-r,e)}function i(e,t,r){return Math.min(r,t-e)}function o(e,t,r,n,i,o){var s={arrayChanged:e,index:r,item:t,propertyName:n,property:i};return o&&(s.previousValues=o),s}function s(e,t,r,n,i){w(e,function(s,a){i.setValue(t.addedItem.call(this,i.getValue(),s,o(e,s,a,n,r),i.sugarMeta))},this)}function a(e,t){{var r;e._callbacks()}e._hasInstanceMeta(this,t)?(r=e._instanceMeta(this,t),r.setValue(e.resetValue(r.getValue()))):r=e._instanceMeta(this,t),e.options.initialize&&e.options.initialize.call(this,r.getValue(),{property:e,propertyName:t},r.sugarMeta)}function u(t,r){if(j.test(r))return!1;var n=e(t,r);return Ember.Array.detect(n)}function c(e,t,r){this.context=e,this.propertyName=t,this.cache=p(e).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function h(t){var r=this;this.options=t,this._instanceMetas={},this._dependentKeys=null,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.cacheable(),this.recomputeOnce=function(e){Ember.run.once(this,n,e)};var n=function(t){var n=(r._dependentKeys,r._instanceMeta(this,t)),i=r._callbacks();a.call(this,r,t),n.dependentArraysObserver.suspendArrayObservers(function(){w(r._dependentKeys,function(t){if(u(this,t)){var i=e(this,t),o=n.dependentArrays[t];i===o?r._previousItemPropertyKeys[t]&&(delete r._previousItemPropertyKeys[t],n.dependentArraysObserver.setupPropertyObservers(t,r._itemPropertyKeys[t])):(n.dependentArrays[t]=i,o&&n.dependentArraysObserver.teardownObservers(o,t),i&&n.dependentArraysObserver.setupObservers(i,t))}},this)},this),w(r._dependentKeys,function(o){if(u(this,o)){var a=e(this,o);a&&s.call(this,a,i,r,t,n)}},this)};this.func=function(e){return n.call(this,e),r._instanceMeta(this,e).getValue()}}function l(e){return e}var f=Ember.get,m=(Ember.set,Ember.guidFor),p=Ember.meta,b=Ember.propertyWillChange,d=Ember.propertyDidChange,E=Ember.addBeforeObserver,y=Ember.removeBeforeObserver,v=Ember.addObserver,g=Ember.removeObserver,_=Ember.ComputedProperty,O=[].slice,C=Ember.create,w=Ember.EnumerableUtils.forEach,A=/^(.*)\.@each\.(.*)/,P=/(.*\.@each){2,}/,j=/\.\[\]$/;t.prototype={setValue:function(e){this.instanceMeta.setValue(e,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[m(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[m(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(e,t){var r=this.suspended;this.suspended=!0,e.call(t),this.suspended=r},setupPropertyObservers:function(t,r){var n=e(this.instanceMeta.context,t),i=e(n,"length"),o=new Array(i);this.resetTransformations(t,o),w(n,function(e,i){var s=this.createPropertyObserverContext(n,i,this.trackedArraysByGuid[t]);o[i]=s,w(r,function(t){E(e,t,this,s.beforeObserver),v(e,t,this,s.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,o=this,s=this.trackedArraysByGuid[e];s&&s.apply(function(e,s,a){a!==Ember.TrackedArray.DELETE&&w(e,function(e){e.destroyed=!0,r=e.beforeObserver,n=e.observer,i=e.item,w(t,function(e){y(i,e,o,r),g(i,e,o,n)})})})},createPropertyObserverContext:function(e,t,n){var i=new r(e,t,n);return this.createPropertyObserver(i),i},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.itemPropertyWillChange(r,n,e.dependentArray,e)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new Ember.TrackedArray(t)},trackAdd:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},trackRemove:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(t,r){var n=e(r,"length");t.apply(function(e,t,r){r!==Ember.TrackedArray.DELETE&&(r!==Ember.TrackedArray.RETAIN||e.length!==n||0!==t)&&w(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(t,r,s){function a(e){f[l].destroyed=!0,y(c,e,this,f[l].beforeObserver),g(c,e,this,f[l].observer)}if(!this.suspended){var u,c,h,l,f,p=this.callbacks.removedItem,b=m(t),d=this.dependentKeysByGuid[b],E=this.cp._itemPropertyKeys[d]||[],v=e(t,"length"),_=n(r,v,0),O=i(_,v,s);for(f=this.trackRemove(d,_,O),l=O-1;l>=0&&(h=_+l,!(h>=v));--l)c=t.objectAt(h),w(E,a,this),u=o(t,c,h,this.instanceMeta.propertyName,this.cp),this.setValue(p.call(this.instanceMeta.context,this.getValue(),c,u,this.instanceMeta.sugarMeta))}},dependentArrayDidChange:function(t,r,i,s){if(!this.suspended){var a,u,c=this.callbacks.addedItem,h=m(t),l=this.dependentKeysByGuid[h],f=new Array(s),p=this.cp._itemPropertyKeys[l],b=e(t,"length"),d=n(r,b,s);w(t.slice(d,d+s),function(e,r){p&&(u=f[r]=this.createPropertyObserverContext(t,d+r,this.trackedArraysByGuid[l]),w(p,function(t){E(e,t,this,u.beforeObserver),v(e,t,this,u.observer)},this)),a=o(t,e,d+r,this.instanceMeta.propertyName,this.cp),this.setValue(c.call(this.instanceMeta.context,this.getValue(),e,a,this.instanceMeta.sugarMeta))},this),this.trackAdd(l,d,f)}},itemPropertyWillChange:function(t,r,n,i){var o=m(t);this.changedItems[o]||(this.changedItems[o]={array:n,observerContext:i,obj:t,previousValues:{}}),this.changedItems[o].previousValues[r]=e(t,r)},itemPropertyDidChange:function(){this.flushChanges()},flushChanges:function(){var e,t,r,n=this.changedItems;for(e in n)t=n[e],t.observerContext.destroyed||(this.updateIndexes(t.observerContext.trackedArray,t.observerContext.dependentArray),r=o(t.array,t.obj,t.observerContext.index,this.instanceMeta.propertyName,this.cp,t.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)));this.changedItems={}}},c.prototype={getValue:function(){return this.propertyName in this.cache?this.cache[this.propertyName]:this.initialValue},setValue:function(e,t){if(void 0!==e){var r=t&&e!==this.cache[this.propertyName];r&&b(this.context,this.propertyName),this.cache[this.propertyName]=e,r&&d(this.context,this.propertyName)}else delete this.cache[this.propertyName]}},Ember.ReduceComputedProperty=h,h.prototype=C(_.prototype),h.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||l,addedItem:e.addedItem||l}}return this.callbacks},h.prototype._hasInstanceMeta=function(e,t){var r=m(e),n=r+":"+t;return!!this._instanceMetas[n]},h.prototype._instanceMeta=function(e,r){var n=m(e),i=n+":"+r,o=this._instanceMetas[i];return o||(o=this._instanceMetas[i]=new c(e,r,this.initialValue()),o.dependentArraysObserver=new t(this._callbacks(),this,o,e,r,o.sugarMeta)),o},h.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},h.prototype.resetValue=function(){return this.initialValue()},h.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},h.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},h.prototype.property=function(){var e,t,r,n=this,i=(O.call(arguments),new Ember.Set);return w(O.call(arguments),function(o){if(P.test(o))throw new Ember.Error("Nested @each properties not supported: "+o);(e=A.exec(o))?(t=e[1],r=e[2],n.itemPropertyKey(t,r),i.add(t)):i.add(o)}),_.prototype.property.apply(this,i.toArray())},Ember.reduceComputed=function(e){var t;if(arguments.length>1&&(t=O.call(arguments,0,-1),e=O.call(arguments,-1)[0]),"object"!=typeof e)throw new Ember.Error("Reduce Computed Property declared without an options hash");if(!("initialValue"in e))throw new Ember.Error("Reduce Computed Property declared without an initial value");var r=new h(e);return t&&r.property.apply(r,t),r}}(),function(){function e(){var e=this;return t.apply(this,arguments),this.func=function(t){return function(r){return e._hasInstanceMeta(this,r)||i(e._dependentKeys,function(t){Ember.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this.func),this}var t=Ember.ReduceComputedProperty,r=[].slice,n=Ember.create,i=Ember.EnumerableUtils.forEach;Ember.ArrayComputedProperty=e,e.prototype=n(t.prototype),e.prototype.initialValue=function(){return Ember.A()},e.prototype.resetValue=function(e){return e.clear(),e},e.prototype.didChange=function(){},Ember.arrayComputed=function(t){var n;if(arguments.length>1&&(n=r.call(arguments,0,-1),t=r.call(arguments,-1)[0]),"object"!=typeof t)throw new Ember.Error("Array Computed Property declared without an options hash");var i=new e(t);return n&&i.property.apply(i,n),i}}(),function(){function e(e,i,o,s){function a(e){return t.detectInstance(e)?n(r(e,"content")):n(e)}var u,c,h,l,f;return arguments.length<4&&(s=r(e,"length")),arguments.length<3&&(o=0),o===s?o:(u=o+Math.floor((s-o)/2),c=e.objectAt(u),l=a(c),f=a(i),l===f?u:(h=this.order(c,i),0===h&&(h=f>l?-1:1),0>h?this.binarySearch(e,i,u+1,s):h>0?this.binarySearch(e,i,o,u):u))}var t,r=Ember.get,n=(Ember.set,Ember.guidFor),i=Ember.merge,o=[].slice,s=Ember.EnumerableUtils.forEach,a=Ember.EnumerableUtils.map;Ember.computed.max=function(e){return Ember.reduceComputed.call(null,e,{initialValue:-1/0,addedItem:function(e,t){return Math.max(e,t)},removedItem:function(e,t){return e>t?e:void 0}})},Ember.computed.min=function(e){return Ember.reduceComputed.call(null,e,{initialValue:1/0,addedItem:function(e,t){return Math.min(e,t)},removedItem:function(e,t){return t>e?e:void 0}})},Ember.computed.map=function(e,t){var r={addedItem:function(e,r,n){var i=t.call(this,r);return e.insertAt(n.index,i),e},removedItem:function(e,t,r){return e.removeAt(r.index,1),e}};return Ember.arrayComputed(e,r)},Ember.computed.mapBy=function(e,t){var n=function(e){return r(e,t)};return Ember.computed.map(e+".@each."+t,n)},Ember.computed.mapProperty=Ember.computed.mapBy,Ember.computed.filter=function(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new Ember.SubArray},addedItem:function(e,r,n,i){var o=!!t.call(this,r),s=i.filteredArrayIndexes.addItem(n.index,o);return o&&e.insertAt(s,r),e},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);return i>-1&&e.removeAt(i),e}};return Ember.arrayComputed(e,r)},Ember.computed.filterBy=function(e,t,n){var i;return i=2===arguments.length?function(e){return r(e,t)}:function(e){return r(e,t)===n},Ember.computed.filter(e+".@each."+t,i)},Ember.computed.filterProperty=Ember.computed.filterBy,Ember.computed.uniq=function(){var e=o.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var o=n(t);return i.itemCounts[o]?++i.itemCounts[o]:i.itemCounts[o]=1,e.addObject(t),e},removedItem:function(e,t,r,i){var o=n(t),s=i.itemCounts;return 0===--s[o]&&e.removeObject(t),e}}),Ember.arrayComputed.apply(null,e)},Ember.computed.union=Ember.computed.uniq,Ember.computed.intersect=function(){var e=function(e){return a(e.property._dependentKeys,function(e){return n(e)})},t=o.call(arguments);return t.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(t,r,i,o){var s=n(r),a=(e(i),n(i.arrayChanged)),u=i.property._dependentKeys.length,c=o.itemCounts;return c[s]||(c[s]={}),void 0===c[s][a]&&(c[s][a]=0),1===++c[s][a]&&u===Ember.keys(c[s]).length&&t.addObject(r),t},removedItem:function(t,r,i,o){var s,a=n(r),u=(e(i),n(i.arrayChanged)),c=(i.property._dependentKeys.length,o.itemCounts);return void 0===c[a][u]&&(c[a][u]=0),0===--c[a][u]&&(delete c[a][u],s=Ember.keys(c[a]).length,0===s&&delete c[a],t.removeObject(r)),t}}),Ember.arrayComputed.apply(null,t)},Ember.computed.setDiff=function(e,t){if(2!==arguments.length)throw new Ember.Error("setDiff requires exactly two dependent arrays.");return Ember.arrayComputed.call(null,e,t,{addedItem:function(n,i,o){var s=r(this,e),a=r(this,t);return o.arrayChanged===s?a.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,o){var s=r(this,e),a=r(this,t);return o.arrayChanged===a?s.contains(i)&&n.addObject(i):n.removeObject(i),n
|
13
|
-
}})},t=Ember.ObjectProxy.extend(),Ember.computed.sort=function(n,o){var a,u;return"function"==typeof o?a=function(t,r,n){n.order=o,n.binarySearch=e}:(u=o,a=function(t,i,o){function a(){var e,t,a,h=r(this,u),l=o.sortProperties=[],f=o.sortPropertyAscending={};i.property.clearItemPropertyKeys(n),s(h,function(r){-1!==(t=r.indexOf(":"))?(e=r.substring(0,t),a="desc"!==r.substring(t+1).toLowerCase()):(e=r,a=!0),l.push(e),f[e]=a,i.property.itemPropertyKey(n,e)}),h.addObserver("@each",this,c)}function c(){Ember.run.once(this,h,i.propertyName)}function h(e){a.call(this),i.property.recomputeOnce.call(this,e)}Ember.addObserver(this,u,c),a.call(this),o.order=function(e,t){for(var n,i,o,s=0;s<this.sortProperties.length;++s)if(n=this.sortProperties[s],i=Ember.compare(r(e,n),r(t,n)),0!==i)return o=this.sortPropertyAscending[n],o?i:-1*i;return 0},o.binarySearch=e}),Ember.arrayComputed.call(null,n,{initialize:a,addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,r,n,o){var s,a,u;return n.previousValues?(s=i({content:r},n.previousValues),u=t.create(s)):u=r,a=o.binarySearch(e,u),e.removeAt(a),e}})}}(),function(){Ember.RSVP=t("rsvp"),Ember.RSVP.onerrorDefault=function(e){if(e instanceof Error)if(Ember.testing){if(!Ember.Test||!Ember.Test.adapter)throw e;Ember.Test.adapter.exception(e)}else Ember.Logger.error(e.stack)},Ember.RSVP.on("error",Ember.RSVP.onerrorDefault)}(),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.observesImmediately=function(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return this.observes.apply(this,arguments)},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this},Function.prototype.on=function(){var t=e.call(arguments);return this.__ember_listens__=t,this})}(),function(){Ember.Comparable=Ember.Mixin.create({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 Ember.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=[],r=Ember.get;Ember.set}Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Ember.Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Ember.Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))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=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){{var e=Ember.get;Ember.set}Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){function r(e,t){var r=[];return t&&r.push(t),r.concat(e)}t=t||{};var n=t.action||e(this,"action"),i=t.target||e(this,"targetObject"),o=t.actionContext;if("undefined"==typeof o&&(o=e(this,"actionContextObject")||this),i&&n){var s;return s=i.send?i.send.apply(i,r(o,n)):i[n].apply(i,r(o)),s!==!1&&(s=!0),s}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)}),e.Promise.prototype.fail=function(e,t){return this["catch"](e,t)};var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t,n){function i(t){return t===s?e(a):e(t)}var o,s,a;return a=this,o=r(this,"_deferred"),s=o.promise,s.then(e&&i,t,n)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer("Ember: DeferredMixin - "+this)})})}(),function(){var e=Ember.get,t=Ember.typeOf;Ember.ActionHandler=Ember.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){var r;e._actions||("object"===t(e.actions)?r="actions":"object"===t(e.events)&&(r="events"),r&&(e._actions=Ember.merge(e._actions||{},e[r])),delete e[r])},send:function(t){var r,n=[].slice.call(arguments,1);if(this._actions&&this._actions[t]){if(this._actions[t].apply(this,n)!==!0)return}else if(this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(t)&&this.deprecatedSend.apply(this,[].slice.call(arguments))!==!0)return;(r=e(this,"target"))&&r.send.apply(r,arguments)}})}(),function(){function e(e,t){t.then(function(t){r(e,"isFulfilled",!0),r(e,"content",t)},function(t){r(e,"isRejected",!0),r(e,"reason",t)},"Ember: PromiseProxy")}function t(e){return function(){var t=n(this,"promise");return t[e].apply(t,arguments)}}var r=Ember.set,n=Ember.get,i=Ember.RSVP.resolve,o=(Ember.RSVP.rethrow,Ember.computed.not),s=Ember.computed.or;Ember.PromiseProxyMixin=Ember.Mixin.create({reason:null,isPending:o("isSettled").readOnly(),isSettled:s("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:Ember.computed(function(t,r){if(2===arguments.length)return r=i(r),e(this,r),r.then();throw new Ember.Error("PromiseProxy's promise must be set")}),then:t("then"),"catch":t("catch"),"finally":t("finally")})}(),function(){function e(e,t,r){this.type=e,this.count=t,this.items=r}function t(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var r=Ember.get,n=Ember.EnumerableUtils.forEach,i="r",o="i",s="d";Ember.TrackedArray=function(t){arguments.length<1&&(t=[]);var n=r(t,"length");this._operations=n?[new e(i,n,t)]:[]},Ember.TrackedArray.RETAIN=i,Ember.TrackedArray.INSERT=o,Ember.TrackedArray.DELETE=s,Ember.TrackedArray.prototype={addItems:function(t,n){var i=r(n,"length");if(!(1>i)){var s,a,u=this._findArrayOperation(t),c=u.operation,h=u.index,l=u.rangeStart;a=new e(o,i,n),c?u.split?(this._split(h,t-l,a),s=h+1):(this._operations.splice(h,0,a),s=h):(this._operations.push(a),s=h),this._composeInsert(s)}},removeItems:function(t,r){if(!(1>r)){var n,i,o=this._findArrayOperation(t),a=(o.operation,o.index),u=o.rangeStart;return n=new e(s,r),o.split?(this._split(a,t-u,n),i=a+1):(this._operations.splice(a,0,n),i=a),this._composeDelete(i)}},apply:function(t){var r=[],o=0;n(this._operations,function(e){t(e.items,o,e.type),e.type!==s&&(o+=e.count,r=r.concat(e.items))}),this._operations=[new e(i,r.length,r)]},_findArrayOperation:function(e){var r,n,i,o,a,u=!1;for(r=o=0,n=this._operations.length;n>r;++r)if(i=this._operations[r],i.type!==s){if(a=o+i.count-1,e===o)break;if(e>o&&a>=e){u=!0;break}o=a+1}return new t(i,r,u,o)},_split:function(t,r,n){var i=this._operations[t],o=i.items.slice(r),s=new e(i.type,o.length,o);i.count=r,i.items=i.items.slice(0,r),this._operations.splice(t+1,0,n,s)},_composeInsert:function(e){var t=this._operations[e],r=this._operations[e-1],n=this._operations[e+1],i=r&&r.type,s=n&&n.type;i===o?(r.count+=t.count,r.items=r.items.concat(t.items),s===o?(r.count+=n.count,r.items=r.items.concat(n.items),this._operations.splice(e,2)):this._operations.splice(e,1)):s===o&&(t.count+=n.count,t.items=t.items.concat(n.items),this._operations.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._operations[e],a=i.count,u=this._operations[e-1],c=u&&u.type,h=!1,l=[];c===s&&(i=u,e-=1);for(var f=e+1;a>0;++f)t=this._operations[f],r=t.type,n=t.count,r!==s?(n>a?(l=l.concat(t.items.splice(0,a)),t.count-=a,f-=1,n=a,a=0):(n===a&&(h=!0),l=l.concat(t.items),a-=n),r===o&&(i.count-=n)):i.count+=n;return i.count>0?this._operations.splice(e+1,f-1-e):this._operations.splice(e,h?2:1),l},toString:function(){var e="";return n(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}(),function(){function e(e,t){this.type=e,this.count=t}var t=(Ember.get,Ember.EnumerableUtils.forEach),r="r",n="f";Ember.SubArray=function(t){arguments.length<1&&(t=0),this._operations=t>0?[new e(r,t)]:[]},Ember.SubArray.prototype={addItem:function(t,i){var o=-1,s=i?r:n,a=this;return this._findOperation(t,function(n,u,c,h,l){var f,m;s===n.type?++n.count:t===c?a._operations.splice(u,0,new e(s,1)):(f=new e(s,1),m=new e(n.type,h-t+1),n.count=t-c,a._operations.splice(u+1,0,f,m)),i&&(o=n.type===r?l+(t-c):l),a._composeAt(u)},function(t){a._operations.push(new e(s,1)),i&&(o=t),a._composeAt(a._operations.length-1)}),o},removeItem:function(e){var t=-1,n=this;return this._findOperation(e,function(i,o,s,a,u){i.type===r&&(t=u+(e-s)),i.count>1?--i.count:(n._operations.splice(o,1),n._composeAt(o))},function(){throw new Ember.Error("Can't remove an item that has never been added.")}),t},_findOperation:function(e,t,n){var i,o,s,a,u,c=0;for(i=a=0,o=this._operations.length;o>i;a=u+1,++i){if(s=this._operations[i],u=a+s.count-1,e>=a&&u>=e)return t(s,i,a,u,c),void 0;s.type===r&&(c+=s.count)}n(c)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1),--e)),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))},toString:function(){var e="";return t(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){{var e="Index out of range",t=[],r=Ember.get;Ember.set}Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer("content",function(){r(this,"content");this._setupContent()}),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver("arrangedContent",function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)}),_arrangedContentDidChange:Ember.observer("arrangedContent",function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)}),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Ember.Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Ember.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,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(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,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,s){var a=r._objects;a||(a=r._objects={});for(var u,c;--s>=i;){var h=e.objectAt(s);h&&(Ember.removeBeforeObserver(h,t,r,"contentKeyWillChange"),Ember.removeObserver(h,t,r,"contentKeyDidChange"),c=n(h),u=a[c],u[o.call(u,s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.ArrayPolyfills.indexOf,s=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),a=/^.+:(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 t;return t=new s(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s=this._keys;o=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in s)s.hasOwnProperty(n)&&(o>0&&e(t,n,this,r,o),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){a.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){a.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils._replace),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,n,i){if(this.isFrozen)throw Ember.FROZEN_ERROR;var o=i?e(i,"length"):0;return this.arrayContentWillChange(r,n,o),0===o?this.splice(r,n):t(this,r,n,i),this.arrayContentDidChange(r,n,o),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),n=["length"];Ember.EnumerableUtils.forEach(r.keys(),function(e){Array.prototype[e]&&n.push(e)}),n.length>0&&(r=r.without.apply(r,n)),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,t=Ember.set,r=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 Ember.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=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Ember.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]: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 Ember.Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(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,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Ember.Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(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[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin,t=(Ember.get,Ember.Object.extend(e));t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){Ember.get;Ember.ControllerMixin=Ember.Mixin.create(Ember.ActionHandler,{isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),deprecatedSendHandles:function(e){return!!this[e]},deprecatedSend:function(e){var t=[].slice.call(arguments,1);this[e].apply(this,t)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver("content",function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()}),sortAscendingWillChange:Ember.beforeObserver("sortAscending",function(){this._lastSortAscending=e(this,"sortAscending")}),sortAscendingDidChange:Ember.observer("sortAscending",function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}}),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,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);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this._super(),this.set("_subControllers",Ember.A())},content:Ember.computed(function(){return Ember.A()}),controllerAt:function(t,r,n){var i,o=e(this,"container"),s=e(this,"_subControllers"),a=s[t];if(a)return a;if(i="controller:"+n,!o.has(i))throw new Ember.Error('Could not resolve itemController: "'+n+'"');return a=o.lookupFactory(i).create({target:this,parentController:e(this,"parentController")||this,content:r}),s[t]=a,a},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,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||Ember.Logger.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.");
|
10
|
+
!function(){var e,t,r,n;!function(){var i={},o={};e=function(e,t,r){i[e]={deps:t,callback:r}},n=r=t=function(e){function r(t){if("."!==t.charAt(0))return t;for(var r=t.split("/"),n=e.split("/").slice(0,-1),i=0,o=r.length;o>i;i++){var s=r[i];if(".."===s)n.pop();else{if("."===s)continue;n.push(s)}}return n.join("/")}if(n._eak_seen=i,o[e])return o[e];if(o[e]={},!i[e])throw new Error("Could not find module "+e);for(var s,a=i[e],u=a.deps,c=a.callback,h=[],l=0,f=u.length;f>l;l++)"exports"===u[l]?h.push(s={}):h.push(t(r(u[l])));var m=c.apply(this,h);return o[e]=s||m}}(),function(){"undefined"==typeof Ember&&(Ember={});{var e=(Ember.imports=Ember.imports||this,Ember.exports=Ember.exports||this);Ember.lookup=Ember.lookup||this}e.Em=e.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.4.0-beta.1+canary.64fee6ed",Ember.ENV||(Ember.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),Ember.config=Ember.config||{},"undefined"==typeof Ember.ENV.DISABLE_RANGE_API&&(Ember.ENV.DISABLE_RANGE_API=!0),"undefined"==typeof MetamorphENV&&(e.MetamorphENV={}),MetamorphENV.DISABLE_RANGE_API=Ember.ENV.DISABLE_RANGE_API,Ember.FEATURES=Ember.ENV.FEATURES||{},Ember.FEATURES.isEnabled=function(e){var t=Ember.FEATURES[e];return Ember.ENV.ENABLE_ALL_FEATURES?!0:t===!0||t===!1||void 0===t?t:Ember.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},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,t){return t}),Ember.uuid=0,Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);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 t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=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}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.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},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){var e=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){var t=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,Ember.Error);for(var r=0;r<e.length;r++)this[e[r]]=t[e[r]]},Ember.Error.prototype=Ember.create(Error.prototype),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(r){Ember.onerror(r)}}}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}Ember.GUID_PREFIX="ember";var r=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,t){t||(t=Ember.GUID_PREFIX);var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f=Ember.platform.defineProperty.isSimulated;e.prototype={descs:null,deps:null,watching:null,listeners:null,cache:null,source:null,mixins:null,bindings:null,chains:null,chainWatchers:null,values:null,proto:null},f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){});var m=new e(null);u&&(m.values={}),Ember.EMPTY_META=m,Ember.meta=function(t,i){var o=t[l];return i===!1?o||m:(o?o.source!==t&&(f||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(f||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,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_listens__=e.__ember_listens__,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=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var b={},d="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(d,function(e){b["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):b[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(e instanceof Error?t="error":Ember.Object&&e instanceof Ember.Object?t="instance":e instanceof Date&&(t="date")),t},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}return"{"+n.join(", ")+"}"}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=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,o,s){function a(){for(p=0,b=f.length;b>p;p++)m=f[p],d[p]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,b=f.length;b>p;p++)m=f[p],m.after(e,n(),i,d[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,p,b,d=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.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:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n,i;e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf,i=Array.prototype.filter||Ember.ArrayPolyfills.filter,n=Array.prototype.splice;var o=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},filter:function(e,t,r){return e.filter?e.filter.call(e,t,r):i.call(e,t,r)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:o.map(t,function(t){return o.indexOf(e,t)})},addObject:function(e,t){var r=o.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=o.indexOf(e,t);-1!==r&&e.splice(r,1)},_replace:function(e,t,r,i){for(var o,s,a=[].concat(i),u=[],c=6e4,h=t,l=r;a.length;)s=l>c?c:l,0>=s&&(s=0),o=a.splice(0,c),o=[h,s].concat(o),h+=c,l-=s,u=u.concat(n.apply(e,o));return u},replace:function(e,t,r,n){return e.replace?e.replace(t,r,n):o._replace(e,t,r,n)},intersection:function(e,t){var r=[];return o.forEach(e,function(e){o.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Ember.Error("Path cannot be empty");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i+=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-3;s>=0;s-=3){var a=o[s],u=o[s+1],c=o[s+2],h=e(n,a,u);-1===h&&n.push(a,u,c)}}function n(t,r,n){var i=t[p],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-3;a>=0;a-=3){var u=o[a],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(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=d),-1===u&&(a.push(i,o,c),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,3),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-3;c>=0;c-=3)s(u[c],u[c+1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){-1!==h&&(c[h+2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c=t(r,n),h=e(c,i,o);return-1!==h&&(c[h+2]|=E),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(var e=0,t=m.length;t>e;e++){var r=m[e];p[e][r+2]&=~E}}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m=[],p=[];for(l=0,f=n.length;f>l;l++){c=n[l],h=t(r,c);var b=e(h,i,o);-1!==b&&(h[b+2]|=E,m.push(b),p.push(h))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-3;s>=0;s-=3){var a=n[s],u=n[s+1],c=n[s+2];u&&(c&E||(c&d&&o(e,t,a,u),a||(a=e),"string"==typeof u&&(u=a[u]),r?u.apply(a,r):u.call(a)))}return!0}}function h(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o+=3){var a=i[o],u=i[o+1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,p=Ember.META_KEY,b=[].slice,d=1,E=2;Ember.on=function(){var e=b.call(arguments,-1)[0],t=b.call(arguments,0,-1);return e.__ember_listens__=t,e},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=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t){var n=l(e,!1),i=n.watching[t]>0||"length"===t,s=n.proto,a=n.descs[t];i&&s!==e&&(a&&a.willChange&&a.willChange(e,t),r(e,t,n),o(e,t,n),c(e,t))}function t(e,t){var r=l(e,!1),i=r.watching[t]>0||"length"===t,o=r.proto,a=r.descs[t];o!==e&&(a&&a.didChange&&a.didChange(e,t),(i||"length"===t)&&(n(e,t,r),s(e,t,r,!1),h(e,t)))}function r(t,r,n){if(!t.isDestroying){var o=_,s=!o;s&&(o=_={}),i(e,t,r,o,n),s&&(_=null)}}function n(e,r,n){if(!e.isDestroying){var o=O,s=!o;s&&(o=O={}),i(t,e,r,o,n),s&&(O=null)}}function i(e,t,r,n,i){var o=f(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var s=i.deps;if(s=s&&s[r])for(var a in s){var u=i.descs[a];u&&u._suspended===t||e(t,a)}}}function o(t,r,n){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var i,o,s=n.chainWatchers[r],a=[];for(i=0,o=s.length;o>i;i++)s[i].willChange(a);for(i=0,o=a.length;o>i;i+=2)e(a[i],a[i+1])}}function s(e,r,n,i){if(n.hasOwnProperty("chainWatchers")&&n.chainWatchers[r]){var o,s,a=n.chainWatchers[r],u=i?null:[];for(o=0,s=a.length;s>o;o++)a[o].didChange(u);if(!i)for(o=0,s=u.length;s>o;o+=2)t(u[o],u[o+1])}}function a(){g++}function u(){g--,0>=g&&(y.clear(),v.flush())}function c(e,t){if(!e.isDestroying){var r,n,i=t+":before";g?(r=y.add(e,t,i),n=d(e,i,r),p(e,i,[e,t],n)):p(e,i,[e,t])}}function h(e,t){if(!e.isDestroying){var r,n=t+":change";g?(r=v.add(e,t,n),b(e,n,r)):p(e,n,[e,t])}}var l=Ember.meta,f=Ember.guidFor,m=Ember.tryFinally,p=Ember.sendEvent,b=Ember.listenersUnion,d=Ember.listenersDiff,E=Ember._ObserverSet,y=new E,v=new E,g=0;Ember.propertyWillChange=e,Ember.propertyDidChange=t;var _,O;Ember.overrideChains=function(e,t,r){s(e,t,r,!0)},Ember.beginPropertyChanges=a,Ember.endPropertyChanges=u,Ember.changeProperties=function(e,t){a(),m(e,u,t)}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t===s?s:t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Ember.Error("Property set failed: You passed an empty path");if(!e){if(o)return;throw new Ember.Error('Property set failed: object in path "'+t+'" could not be found or was destroyed.')}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(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[t],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=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?(void 0!==u||i in n)&&n.propertyIsEnumerable(i)?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.trySet=function(e,t,r){return i(e,t,r,!0)}}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){function e(e){var t,r;Ember.imports.console?t=Ember.imports.console:"undefined"!=typeof console&&(t=console);var n="object"==typeof t?t[e]:null;return n?n.apply?(r=function(){n.apply(t,arguments)},r.displayName="console."+e,r):function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Ember.Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},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,assert:e("assert")||t}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,a,u,c,h){var l,f,m,p;return h||(h=t(e)),l=h.descs,f=h.descs[a],m=h.watching[a]>0,f instanceof Ember.Descriptor&&f.teardown(e,a),u instanceof Ember.Descriptor?(p=u,l[a]=u,n&&m?r(e,a,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[a]=void 0,u.func&&u._dependentCPs&&s(e,u._dependentCPs,h)):(l[a]=void 0,null==u?(p=c,n&&m?(h.values[a]=c,r(e,a,{configurable:!0,enumerable:!0,set:i,get:o(a)})):e[a]=c):(p=u,r(e,a,u))),m&&Ember.overrideChains(e,a,h),e.didDefineProperty&&e.didDefineProperty(e,a,p),this};var s=function(e,t,r){for(var n,i,o=t.length,a=0;o>a;++a)n=t[a],i=n.implicitCPKey,Ember.defineProperty(e,i,n,void 0,r),n._dependentCPs&&s(e,n._dependentCPs,r)}}(),function(){var e=Ember.get;Ember.getProperties=function(t){var r={},n=arguments,i=1;2===arguments.length&&"array"===Ember.typeOf(arguments[1])&&(i=0,n=arguments[1]);for(var o=n.length;o>i;i++)r[n[i]]=e(t,n[i]);return r}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s=e(i),a=s.watching;a[o]?a[o]=(a[o]||0)+1:(a[o]=1,"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(s.values[o]=i[o],n(i,o,{configurable:!0,enumerable:i.propertyIsEnumerable(o),set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o=e(t),s=o.watching;1===s[i]?(s[i]=0,"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&n(t,i,{configurable:!0,enumerable:t.propertyIsEnumerable(i),set:function(e){n(t,i,{configurable:!0,writable:!0,enumerable:!0,value:e}),delete o.values[i]},get:Ember.DEFAULT_GETTER_FUNCTION(i)})):s[i]>1&&s[i]--}}(),function(){function e(e){return e.match(h)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e,t){if(!e)return void 0;var r=n(e,!1);if(r.proto===e)return void 0;if("@each"===t)return i(e,t);var o=r.descs[t];return o&&o._cacheable?t in r.cache?r.cache[t]:void 0:i(e,t)}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=/^([^\.\*]+)/,l=[];Ember.flushPendingChains=function(){if(0!==l.length){var e=l;l=[],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===l.length)}};var f=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},m=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},p=m.prototype;p.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=r(e,this._key)}return this._value},p.destroy=function(){if(this._watching){var e=this._object;e&&f(e,this._key,this),this._watching=!1}},p.copy=function(e){var t,r=new m(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},p.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return l.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},p.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},p.count=0,p.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new m(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},p.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},p.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},p.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},p.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(f(this._object,this._key,this),this._object=r,t(r,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);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(null))}}(),function(){var e=Ember.EnumerableUtils.forEach,t=/^((?:[^\.]*\.)*)\{(.*)\}$/;Ember.expandProperties=function(r,n){var i,o,s;(i=t.exec(r))?(o=i[1],s=i[2],e(s.split(","),function(e){n(o+e)})):n(r)}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=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(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=l(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,f(n,c)}function n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,m(n,c)}function i(e,t){this.func=e,A(this,t&&t.dependentKeys),this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=a(e,t[n]);return r}var a=Ember.get,u=Ember.set,c=Ember.meta,h=[].slice,l=Ember.create,f=(Ember.META_KEY,Ember.watch),m=Ember.unwatch,p=Ember.expandProperties;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var b=i.prototype;b.toString=function(){return this.implicitCPKey?this.implicitCPKey:Ember.Descriptor.prototype.toString.apply(this,arguments)},b.cacheable=function(e){return this._cacheable=e!==!1,this},b.volatile=function(){return this.cacheable(!1)},b.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},b.property=function(){var e,t=function(t){e.push(t)};e=[];for(var r=0,n=arguments.length;n>r;r++)p(arguments[r],t);return A(this,e),this},b.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},b.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=c(e);t in r.cache&&(delete r.cache[t],n(this,e,t,r))}},b.get=function(e,t){var n,i,s,a;if(this._cacheable){if(s=c(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),a=s.chainWatchers&&s.chainWatchers[t],a&&o(a),r(this,e,t,s)}else n=this.func.call(e,t);return n},b.set=function(e,t,n){var i,o,s,a=this._cacheable,u=this.func,h=c(e,a),l=h.watching[t],f=this._suspended,m=!1,p=h.cache;if(this._readOnly)throw new Ember.Error("Cannot Set: "+t+" on: "+Ember.inspect(e));this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(o=p[t],m=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)s=u.call(e,t,n,o);else{if(2!==i)return Ember.defineProperty(e,t,null,o),Ember.set(e,t,n),void 0;s=u.call(e,t,n)}if(m&&o===s)return;l&&Ember.propertyWillChange(e,t),m&&delete p[t],a&&(m||r(this,e,t,h),p[t]=s),l&&Ember.propertyDidChange(e,t)}finally{this._suspended=f}return s},b.teardown=function(e,t){var r=c(e);return t in r.cache&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=h.call(arguments,0,-1),e=h.call(arguments,-1)[0]),"function"!=typeof e)throw new Ember.Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=c(e,!1).cache;return r&&t in r?r[t]:void 0};var d,E,y=Ember.guidFor,v=Ember.EnumerableUtils.map,g=Ember.EnumerableUtils.filter,_=(Ember.typeOf,function(e){return[y(e)].concat(e._dependentKeys).join("_")}),O=function(e){return e instanceof Ember.ComputedProperty?_(e):"string"==typeof e||e instanceof String||"object"==typeof e||"number"==typeof e?e:void 0},C=function(e){return v(e,function(e){return O(e)})},w=function(e){return g(e,function(e){return e instanceof Ember.ComputedProperty})},A=function(e,t){t?(e._dependentKeys=C(t),e._dependentCPs=w(t),e.implicitCPKey=_(e)):(e._dependentKeys=e._dependentCPs=[],delete e.implicitCPKey)};Ember.computed.normalizeDependentKey=O,Ember.computed.normalizeDependentKeys=C,d=function(e,t){Ember.computed[e]=function(e){var r=C(h.call(arguments));return Ember.computed(e,function(){return t.apply(this,r)})}},E=function(e,t){Ember.computed[e]=function(){var e=h.call(arguments),r=C(e),n=Ember.computed(function(){return t.apply(this,[s(this,r)])});return n.property.apply(n,e)
|
11
|
+
}},Ember.computed.literal=function(e){return Ember.computed(function(){return e})},d("empty",function(e){return Ember.isEmpty(a(this,e))}),d("notEmpty",function(e){return!Ember.isEmpty(a(this,e))}),d("none",function(e){return Ember.isNone(a(this,e))}),d("not",function(e){return!a(this,e)}),d("bool",function(e){return!!a(this,e)}),d("match",function(e,t){var r=a(this,e);return"string"==typeof r?t.test(r):!1}),d("equal",function(e,t){return a(this,e)===t}),d("gt",function(e,t){return a(this,e)>t}),d("gte",function(e,t){return a(this,e)>=t}),d("lt",function(e,t){return a(this,e)<t}),d("lte",function(e,t){return a(this,e)<=t}),E("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),E("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),E("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),E("collect",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(u(this,e,r),r):a(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return a(this,e)})},Ember.FEATURES.isEnabled("computed-read-only")&&(Ember.computed.readOnly=function(e){return Ember.computed(e,function(){return a(this,e)}).readOnly()}),Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:a(this,e):null!=r?r:a(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,p=m&&m.before,b=m&&m.after,d=0,E=r.length;for(E&&p&&p();E>d;)c=r[d],h=r[d+1],l=r[d+2],f=r[d+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),d+=4;t._queueBeingFlushed=null,E&&b&&b(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e){return"number"==typeof e||v.test(e)}function n(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function i(e){e.begin(),c=y.setTimeout(function(){c=null,e.end()})}function o(e,t,r){(!h||l>t)&&(h&&clearTimeout(h),h=y.setTimeout(function(){h=null,l=null,s(e)},r),l=t)}function s(e){var t,r,n,i,s=+new Date;e.run(function(){for(n=0,i=E.length;i>n&&(t=E[n],!(t>s));n+=2);for(r=E.splice(0,n),n=1,i=r.length;i>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),E.length&&o(e,E[0],E[0]-s)}function a(e,t){for(var r,n=-1,i=0,o=d.length;o>i;i++)if(r=d[i],r[0]===e&&r[1]===t){n=i;break}return n}function u(e,t){for(var r,n=-1,i=0,o=b.length;o>i;i++)if(r=b[i],r[0]===e&&r[1]===t){n=i;break}return n}var c,h,l,f=e.DeferredActionQueues,m=[].slice,p=[].pop,b=[],d=[],E=[],y=this,v=/\d+/;n.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new f(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,m.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var n=this.DEBUG?new Error:void 0,o=arguments.length>3?m.call(arguments,3):void 0;return this.currentInstance||i(this),this.currentInstance.schedule(e,t,r,o,!1,n)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var n=this.DEBUG?new Error:void 0,o=arguments.length>3?m.call(arguments,3):void 0;return this.currentInstance||i(this),this.currentInstance.schedule(e,t,r,o,!0,n)},setTimeout:function(){function e(){t.apply(i,c)}var t,n,i,s,a,u,c=m.call(arguments),h=c.length,l=this;if(0!==h){if(1===h)t=c.shift(),n=0;else if(2===h)s=c[0],a=c[1],"function"==typeof a||"function"==typeof s[a]?(i=c.shift(),t=c.shift(),n=0):r(a)?(t=c.shift(),n=c.shift()):(t=c.shift(),n=0);else{var f=c[c.length-1];r(f)&&(n=c.pop()),s=c[0],u=c[1],"function"==typeof u||"string"==typeof u&&null!==s&&u in s?(i=c.shift(),t=c.shift()):t=c.shift()}var p=+new Date+parseInt(n,10);"string"==typeof t&&(t=i[t]);var b,d;for(b=0,d=E.length;d>b&&!(p<E[b]);b+=2);return E.splice(b,0,p,e),o(l,p,n),e}},throttle:function(e,t){var r,n,i,o=this,s=arguments,a=parseInt(p.call(s),10);return n=u(e,t),n>-1?b[n]:(i=y.setTimeout(function(){o.run.apply(o,s);var r=u(e,t);r>-1&&b.splice(r,1)},a),r=[e,t,i],b.push(r),r)},debounce:function(e,t){var r,n,i,o,s=this,u=arguments,c=p.call(u);return"number"==typeof c||"string"==typeof c?(r=c,c=!1):r=p.call(u),r=parseInt(r,10),n=a(e,t),n>-1&&(i=d[n],d.splice(n,1),clearTimeout(i[2])),o=y.setTimeout(function(){c||s.run.apply(s,u);var r=a(e,t);r>-1&&d.splice(r,1)},r),c&&-1===n&&s.run.apply(s,u),i=[e,t,o],d.push(i),i},cancelTimers:function(){var e,t;for(e=0,t=b.length;t>e;e++)clearTimeout(b[e][2]);for(b=[],e=0,t=d.length;t>e;e++)clearTimeout(d[e][2]);d=[],h&&(clearTimeout(h),h=null),E=[],c&&(clearTimeout(c),c=null)},hasTimers:function(){return!!E.length||c},cancel:function(e){var t=typeof e;if(e&&"object"===t&&e.queue&&e.method)return e.queue.cancel(e);if("function"!==t)return"[object Array]"===window.toString.call(e)?this._cancelItem(u,b,e)||this._cancelItem(a,d,e):void 0;for(var r=0,n=E.length;n>r;r+=2)if(E[r+1]===e)return E.splice(r,2),!0},_cancelItem:function(e,t,r){var n,i;return r.length<3?!1:(i=e(r[0],r[1]),i>-1&&(n=t[i],n[2]===r[2])?(t.splice(i,1),clearTimeout(r[2]),!0):!1)}},n.prototype.schedule=n.prototype.defer,n.prototype.scheduleOnce=n.prototype.deferOnce,n.prototype.later=n.prototype.setTimeout,t.Backburner=n})}(),function(){function e(){!Ember.run.currentRunLoop}{var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;[].concat}Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.bind=function(){var e=arguments;return function(){return Ember.run.join.apply(Ember.run,e)}},Ember.run.backburner=o;Ember.run;Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)},Ember.run.throttle=function(){return o.throttle.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=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,t){this._direction="fwd",this._from=t,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(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,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 r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{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 r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=S(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=C.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?I:(e[r]=t,t.properties)):t}function i(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=S(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i){var o=i[t]||e[t];if(!o)return n;var a=Ember.merge({},o);for(var u in n)if(n.hasOwnProperty(u)){var c=n[u];a[u]=r(c)?s(e,u,c,o,{}):c}return a}function c(e,t,n,i,c,h,l,f){if(n instanceof Ember.Descriptor){if(n===_&&c[t])return I;n.func&&(n=o(i,t,n,h,c)),c[t]=n,h[t]=void 0}else l&&w.call(l,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?n=a(e,t,n,h):f&&w.call(f,t)>=0?n=u(e,t,n,h):r(n)&&(n=s(e,t,n,h,c)),c[t]=void 0,h[t]=n}function h(e,t,r,o,s,a){function u(e){delete r[e],delete o[e]}for(var l,f,m,p,b,d,E=0,y=e.length;y>E;E++)if(l=e[E],f=n(t,l),f!==I)if(f){d=Ember.meta(s),s.willMergeMixin&&s.willMergeMixin(f),p=i("concatenatedProperties",f,o,s),b=i("mergedProperties",f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),c(s,m,f[m],d,r,o,p,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(h(l.mixins,t,r,o,s,a),l._without&&A.call(l._without,u))}function l(e,t,r,n){if(D.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=S(n.bindings)):i=n.bindings={},i[t]=r}}function f(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return f(e,t||Ember.meta(e)),e}function p(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}function d(e,t,r){var n=e[t];"function"==typeof n&&(b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,n,"__ember_listens__","removeListener")),"function"==typeof r&&(b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver"),b(e,t,r,"__ember_listens__","addListener"))}function E(t,r,n){var i,o,s,a={},u={},c=Ember.meta(t),f=[];h(r,e(t),a,u,t,f);for(var b=0,E=f.length;E>b;b++)if(i=f[b],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==_)){for(;s&&s instanceof O;){var y=p(t,s,c,a,u);s=y.desc,o=y.value}(void 0!==s||void 0!==o)&&(d(t,i,o),l(t,i,o,c),j(t,i,s,o,c))}return n||m(t,c),t}function y(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(y(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&A.call(t.mixins,function(t){v(e,t,r)})}var g,_,O,C=Ember.ArrayPolyfills.map,w=Ember.ArrayPolyfills.indexOf,A=Ember.ArrayPolyfills.forEach,P=[].slice,S=Ember.create,j=Ember.defineProperty,x=Ember.guidFor,T=Ember.expandProperties,I={},D=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=P.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=P.call(arguments,1);return E(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var N=g.prototype;N.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));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 y(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},N.without=function(){var e=new g(this);return e._without=P.call(arguments),e},N.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},_=new Ember.Descriptor,_.toString=function(){return"(Required Property)"},Ember.required=function(){return _},O=function(e){this.methodName=e},O.prototype=new Ember.Descriptor,Ember.aliasMethod=function(e){return new O(e)},Ember.observer=function(){var e,t=P.call(arguments,-1)[0],r=function(t){e.push(t)},n=P.call(arguments,0,-1);"function"!=typeof t&&(t=arguments[0],n=P.call(arguments,1)),e=[];for(var i=0;i<n.length;++i)T(n[i],r);if("function"!=typeof t)throw new Ember.Error("Ember.observer called without a function");return t.__ember_observes__=e,t},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(){var e,t=P.call(arguments,-1)[0],r=function(t){e.push(t)},n=P.call(arguments,0,-1);"function"!=typeof t&&(t=arguments[0],n=P.call(arguments,1)),e=[];for(var i=0;i<n.length;++i)T(n[i],r);if("function"!=typeof t)throw new Ember.Error("Ember.beforeObserver called without a function");return t.__ember_observesBefore__=e,t}}(),function(){var e=Ember.EnumerableUtils.forEach,t=Ember.EnumerableUtils.indexOf;Ember.libraries=function(){var r=[],n=0,i=function(e){for(var t=0;t<r.length;t++)if(r[t].name===e)return r[t]};return r.register=function(e,t){i(e)||r.push({name:e,version:t})},r.registerCoreLibrary=function(e,t){i(e)||r.splice(n++,0,{name:e,version:t})},r.deRegister=function(e){var n=i(e);n&&r.splice(t(r,n),1)},r.each=function(t){e(r,function(e){t(e.name,e.version)})},r}(),Ember.libraries.registerCoreLibrary("Ember",Ember.VERSION)}(),function(){e("rsvp/all",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.all(e,t)}}),e("rsvp/all_settled",["./promise","./utils","exports"],function(e,t,r){"use strict";function n(e){return{state:"fulfilled",value:e}}function i(e){return{state:"rejected",reason:e}}var o=e["default"],s=t.isArray,a=t.isNonThenable;r["default"]=function(e,t){return new o(function(t){function r(e){return function(t){c(e,n(t))}}function u(e){return function(t){c(e,i(t))}}function c(e,r){f[e]=r,0===--l&&t(f)}if(!s(e))throw new TypeError("You must pass an array to allSettled.");var h,l=e.length;if(0===l)return t([]),void 0;for(var f=new Array(l),m=0;m<e.length;m++)h=e[m],a(h)?c(m,n(h)):o.cast(h).then(r(m),u(m))},t)}}),e("rsvp/config",["./events","exports"],function(e,t){"use strict";function r(e,t){return"onerror"===e?(i.on("error",t),void 0):2!==arguments.length?i[e]:(i[e]=t,void 0)}var n=e["default"],i={instrument:!1};n.mixin(i),t.config=i,t.configure=r}),e("rsvp/defer",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e){var t={};return t.promise=new r(function(e,r){t.resolve=e,t.reject=r},e),t}}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1},r=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t};e["default"]={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e._promiseCallbacks=void 0,e},on:function(e,n){var i,o=r(this);i=o[e],i||(i=o[e]=[]),-1===t(i,n)&&i.push(n)},off:function(e,n){var i,o,s=r(this);return n?(i=s[e],o=t(i,n),-1!==o&&i.splice(o,1),void 0):(s[e]=[],void 0)},trigger:function(e,t){var n,i,o=r(this);if(n=o[e])for(var s=0;s<n.length;s++)(i=n[s])(t)}}}),e("rsvp/filter",["./all","./map","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){return o(e,r).then(function(n){if(!u(e))throw new TypeError("You must pass an array to filter.");if(!a(t))throw new TypeError("You must pass a function to filter's second argument.");return s(e,t,r).then(function(e){var t,r=n.length,i=[];for(t=0;r>t;t++)e[t]&&i.push(n[t]);return i})})}var o=e["default"],s=t["default"],a=r.isFunction,u=r.isArray;n["default"]=i}),e("rsvp/hash",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isNonThenable,o=t.keysOf;r["default"]=function(e){return new n(function(t,r){function s(e){return function(r){h[e]=r,0===--f&&t(h)}}function a(e){f=0,r(e)}var u,c,h={},l=o(e),f=l.length;if(0===f)return t(h),void 0;for(var m=0;m<l.length;m++)c=l[m],u=e[c],i(u)?(h[c]=u,0===--f&&t(h)):n.cast(u).then(s(c),a)})}}),e("rsvp/instrument",["./config","./utils","exports"],function(e,t,r){"use strict";var n=e.config,i=t.now;r["default"]=function(e,t,r){try{n.trigger(e,{guid:t._guidKey+t._id,eventName:e,detail:t._detail,childGuid:r&&t._guidKey+r._id,label:t._label,timeStamp:i(),stack:new Error(t._label).stack})}catch(o){setTimeout(function(){throw o},0)}}}),e("rsvp/map",["./promise","./all","./utils","exports"],function(e,t,r,n){"use strict";var i=(e["default"],t["default"]),o=r.isArray,s=r.isFunction;n["default"]=function(e,t,r){return i(e,r).then(function(n){if(!o(e))throw new TypeError("You must pass an array to map.");if(!s(t))throw new TypeError("You must pass a function to map's second argument.");var a,u=n.length,c=[];for(a=0;u>a;a++)c.push(t(n[a]));return i(c,r)})}}),e("rsvp/node",["./promise","exports"],function(e,t){"use strict";function r(e,t){return function(r,n){r?t(r):arguments.length>2?e(i.call(arguments,1)):e(n)}}var n=e["default"],i=Array.prototype.slice;t["default"]=function(e,t){return function(){var o=i.call(arguments),s=this||t;return new n(function(t,i){n.all(o).then(function(n){try{n.push(r(t,i)),e.apply(s,n)}catch(o){i(o)}})})}}}),e("rsvp/promise",["./config","./events","./instrument","./utils","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(e,t,r,n,i,o,s,a,u,c){"use strict";function h(){}function l(e,t){if(!A(e))throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(!(this instanceof l))throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._id=N++,this._label=t,this._subscribers=[],O.instrument&&C("created",this),h!==e&&f(e,this)}function f(e,t){function r(e){E(t,e)}function n(e){v(t,e)}try{e(r,n)}catch(i){n(i)}}function m(e,t,r,n){var i=e._subscribers,o=i.length;i[o]=t,i[o+R]=r,i[o+F]=n}function p(e,t){var r,n,i=e._subscribers,o=e._detail;O.instrument&&C(t===R?"fulfilled":"rejected",e);for(var s=0;s<i.length;s+=3)r=i[s],n=i[s+t],b(t,r,n,o);e._subscribers=null}function b(e,t,r,n){var i,o,s,a,u=A(r);if(u)try{i=r(n),s=!0}catch(c){a=!0,o=c}else i=n,s=!0;d(t,i)||(u&&s?E(t,i):a?v(t,o):e===R?E(t,i):e===F&&v(t,i))}function d(e,t){var r,n=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(w(t)&&(n=t.then,A(n)))return n.call(t,function(n){return r?!0:(r=!0,t!==n?E(e,n):y(e,n),void 0)},function(t){return r?!0:(r=!0,v(e,t),void 0)},"derived from: "+(e._label||" unknown promise")),!0}catch(i){return r?!0:(v(e,i),!0)}return!1}function E(e,t){e===t?y(e,t):d(e,t)||y(e,t)}function y(e,t){e._state===M&&(e._state=k,e._detail=t,O.async(g,e))}function v(e,t){e._state===M&&(e._state=k,e._detail=t,O.async(_,e))}function g(e){p(e,e._state=R)}function _(e){e._onerror&&e._onerror(e._detail),p(e,e._state=F)}var O=e.config,C=(t["default"],r["default"]),w=n.objectOrFunction,A=n.isFunction,P=n.now,S=i["default"],j=o["default"],x=s["default"],T=a["default"],I=u["default"],D="rsvp_"+P()+"-",N=0;c["default"]=l,l.cast=S,l.all=j,l.race=x,l.resolve=T,l.reject=I;var M=void 0,k=0,R=1,F=2;l.prototype={constructor:l,_id:void 0,_guidKey:D,_label:void 0,_state:void 0,_detail:void 0,_subscribers:void 0,_onerror:function(e){O.trigger("error",e)},then:function(e,t,r){var n=this;this._onerror=null;var i=new this.constructor(h,r);if(this._state){var o=arguments;O.async(function(){b(n._state,i,o[n._state-1],n._detail)})}else m(this,i,e,t);return O.instrument&&C("chained",n,i),i},"catch":function(e,t){return this.then(null,e,t)},"finally":function(e,t){var r=this.constructor;return this.then(function(t){return r.cast(e()).then(function(){return t})},function(t){return r.cast(e()).then(function(){throw t})},t)}}}),e("rsvp/promise/all",["../utils","exports"],function(e,t){"use strict";var r=e.isArray,n=e.isNonThenable;t["default"]=function(e,t){var i=this;return new i(function(t,o){function s(e){return function(r){h[e]=r,0===--c&&t(h)}}function a(e){c=0,o(e)}if(!r(e))throw new TypeError("You must pass an array to all.");var u,c=e.length,h=new Array(c);if(0===c)return t(h),void 0;for(var l=0;l<e.length;l++)u=e[l],n(u)?(h[l]=u,0===--c&&t(h)):i.cast(u).then(s(l),a)},t)}}),e("rsvp/promise/cast",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return e&&"object"==typeof e&&e.constructor===r?e:new r(function(t){t(e)},t)}}),e("rsvp/promise/race",["../utils","exports"],function(e,t){"use strict";var r=e.isArray,n=(e.isFunction,e.isNonThenable);t["default"]=function(e,t){var i,o=this;return new o(function(t,s){function a(e){c&&(c=!1,t(e))}function u(e){c&&(c=!1,s(e))}if(!r(e))throw new TypeError("You must pass an array to race.");for(var c=!0,h=0;h<e.length;h++){if(i=e[h],n(i))return c=!1,t(i),void 0;o.cast(i).then(a,u)}},t)}}),e("rsvp/promise/reject",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return new r(function(t,r){r(e)},t)}}),e("rsvp/promise/resolve",["exports"],function(e){"use strict";e["default"]=function(e,t){var r=this;return new r(function(t){t(e)},t)}}),e("rsvp/race",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.race(e,t)}}),e("rsvp/reject",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.reject(e,t)}}),e("rsvp/resolve",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.resolve(e,t)}}),e("rsvp/rethrow",["exports"],function(e){"use strict";e["default"]=function(e){throw setTimeout(function(){throw e}),e}}),e("rsvp/utils",["exports"],function(e){"use strict";function t(e){return"function"==typeof e||"object"==typeof e&&null!==e}function r(e){return"function"==typeof e}function n(e){return!t(e)}function i(e){return"[object Array]"===Object.prototype.toString.call(e)}e.objectOrFunction=t,e.isFunction=r,e.isNonThenable=n,e.isArray=i;var o=Date.now||function(){return(new Date).getTime()};e.now=o;var s=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.keysOf=s}),e("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all_settled","./rsvp/race","./rsvp/hash","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","exports"],function(e,t,r,n,i,o,s,a,u,c,h,l,f,m,p){"use strict";function b(e,t){S.async(e,t)}function d(){S.on.apply(S,arguments)}function E(){S.off.apply(S,arguments)}var y=e["default"],v=t["default"],g=r["default"],_=n["default"],O=i["default"],C=o["default"],w=s["default"],A=a["default"],P=u["default"],S=c.config,j=c.configure,x=h["default"],T=l["default"],I=f["default"],D=m["default"];if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var N=window.__PROMISE_INSTRUMENTATION__;j("instrument",!0);for(var M in N)N.hasOwnProperty(M)&&d(M,N[M])}p.Promise=y,p.EventTarget=v,p.all=_,p.allSettled=O,p.race=C,p.hash=w,p.rethrow=A,p.defer=P,p.denodeify=g,p.configure=j,p.on=d,p.off=E,p.resolve=T,p.reject=I,p.async=b,p.map=x,p.filter=D})}(),function(){Ember.MODEL_FACTORY_INJECTIONS=!1||!!Ember.ENV.MODEL_FACTORY_INJECTIONS,e("container",[],function(){"use strict";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.factoryCache=new e(t&&t.factoryCache),this.resolveCache=new e(t&&t.resolveCache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this.factoryTypeInjections=new e(t&&t.factoryTypeInjections),this.factoryInjections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e,t){return e.cache.has(t)?!0:!!e.resolve(t)}function n(e,t,r){if(r=r||{},e.cache.has(t)&&r.singleton!==!1)return e.cache.get(t);var n=l(e,t);return void 0!==n?(o(e,t)&&r.singleton!==!1&&e.cache.set(t,n),n):void 0}function i(e){throw new Error(e+" is not currently supported on child containers")}function o(e,t){var r=a(e,t,"singleton");return r!==!1}function s(e,t){var r={};if(!t)return r;for(var i,o,s=0,a=t.length;a>s;s++){if(i=t[s],o=n(e,i.fullName),void 0===o)throw new Error("Attempting to inject an unknown injection: `"+i.fullName+"`");r[i.property]=o}return r}function a(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function u(e,t){var r,n=t,i=e.resolve(n),o=e.factoryCache,s=t.split(":")[0];if(void 0!==i){if(o.has(t))return o.get(t);if(!i||"function"!=typeof i.extend||!Ember.MODEL_FACTORY_INJECTIONS&&"model"===s)return i;var a=c(e,t),u=h(e,t);return u._toString=e.makeToString(i,t),r=i.extend(a),r.reopenClass(u),o.set(t,r),r}}function c(e,t){var r=t.split(":"),n=r[0],i=[];return i=i.concat(e.typeInjections.get(n)||[]),i=i.concat(e.injections[t]||[]),i=s(e,i),i._debugContainerKey=t,i.container=e,i}function h(e,t){var r=t.split(":"),n=r[0],i=[];return i=i.concat(e.factoryTypeInjections.get(n)||[]),i=i.concat(e.factoryInjections[t]||[]),i=s(e,i),i._debugContainerKey=t,i}function l(e,t){var r=u(e,t);return a(e,t,"instantiate")===!1?r:r?"function"==typeof r.extend?r.create():r.create(c(e,t)):void 0}function f(e,t){e.cache.eachLocal(function(r,n){a(e,r,"instantiate")!==!1&&t(n)})}function m(e){e.cache.eachLocal(function(t,r){a(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}function p(e,t,r,n){var i=e.get(t);i||(i=[],e.set(t,i)),i.push({property:r,fullName:n})}function b(e){if(!E.test(e))throw new TypeError("Invalid Fullname, expected: `type:name` got: "+e)}function d(e,t,r,n){var i=e[t]=e[t]||[];i.push({property:r,fullName:n})}e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r){if(b(e),void 0===t)throw new TypeError("Attempting to register an unknown factory: `"+e+"`");var n=this.normalize(e);if(this.cache.has(n))throw new Error("Cannot re-register: `"+e+"`, as it has already been looked up.");
|
12
|
+
this.registry.set(n,t),this._options.set(n,r||{})},unregister:function(e){b(e);var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this.factoryCache.remove(t),this.resolveCache.remove(t),this._options.remove(t)},resolve:function(e){b(e);var t=this.normalize(e),r=this.resolveCache.get(t);if(r)return r;var n=this.resolver(t)||this.registry.get(t);return this.resolveCache.set(t,n),n},describe:function(e){return e},normalize:function(e){return e},makeToString:function(e){return e.toString()},lookup:function(e,t){return b(e),n(this,this.normalize(e),t)},lookupFactory:function(e){return b(e),u(this,this.normalize(e))},has:function(e){return b(e),r(this,this.normalize(e))},optionsForType:function(e,t){this.parent&&i("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,r){b(r),this.parent&&i("typeInjection"),p(this.typeInjections,e,t,r)},injection:function(e,t,r){this.parent&&i("injection"),b(r);var n=this.normalize(r);if(-1===e.indexOf(":"))return this.typeInjection(e,t,n);b(e);var o=this.normalize(e);d(this.injections,o,t,n)},factoryTypeInjection:function(e,t,r){this.parent&&i("factoryTypeInjection"),p(this.factoryTypeInjections,e,t,this.normalize(r))},factoryInjection:function(e,t,r){this.parent&&i("injection");var n=this.normalize(e),o=this.normalize(r);return b(r),-1===e.indexOf(":")?this.factoryTypeInjection(n,t,o):(b(e),d(this.factoryInjections,n,t,o),void 0)},destroy:function(){for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],f(this,function(e){e.destroy()}),this.parent=void 0,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)m(this.children[e]);m(this)}};var E=/^[^:]+.+:[^:]+$/;return t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;if(Ember.compare=function i(e,t){if(e===t)return 0;var r=Ember.typeOf(e),n=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===n&&o.detect(t.constructor))return 1-t.constructor.compare(t,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[r],l=s[n];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,p=t.length,b=Math.min(m,p),d=0,E=0;0===d&&b>E;)d=i(e[E],t[E]),E++;return 0!==d?d:p>m?-1:m>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var y=e.getTime(),v=t.getTime();return v>y?-1:y>v?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},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.create.isSimulated){var r=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString","toString"],n=function(e,r,n){"__"!==n.substring(0,2)&&"_super"!==n&&(t(r,n)>=0||e.hasOwnProperty(n)&&r.push(n))};Ember.keys=function(e){var t,i=[];for(t in e)n(e,i,t);for(var o=0,s=r.length;s>o;o++)t=r[o],n(e,i,t);return i}}}(),function(){var e=/[ _]/g,t={},r=/([a-z\d])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g,s=/[_|\/|\s]+/g,a=/[^a-z0-9\-]+/gi,u=/[\-]+/g,c=/^-+|-+$/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},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(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}},Ember.FEATURES.isEnabled("string-humanize")&&(Ember.String.humanize=function(e){return e.replace(/_id$/,"").replace(/_/g," ").replace(/^\w/g,function(e){return e.toUpperCase()})}),Ember.FEATURES.isEnabled("string-parameterize")&&(Ember.String.parameterize=function(e){return e.replace(s,"-").replace(a,"").replace(u,"-").replace(c,"").toLowerCase()})}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=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;if(Ember.FEATURES.isEnabled("string-humanize"))var c=Ember.String.humanize;if(Ember.FEATURES.isEnabled("string-parameterize"))var h=Ember.String.parameterize;(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 r(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)},Ember.FEATURES.isEnabled("string-humanize")&&(String.prototype.humanize=function(){return c(this)}),Ember.FEATURES.isEnabled("string-parameterize")&&(String.prototype.parameterize=function(){return h(this)}))}(),function(){var e=Ember.get,t=Ember.set,r=Array.prototype.slice,n=Ember.getProperties;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){return n.apply(null,[this].concat(r.call(arguments)))},set:function(e,r){return t(this,e,r),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,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this),l=u.proto;if(u.proto=this,e){var f=e;e=null,this.reopen.apply(this,f)}if(t){var m=t;t=null;for(var p=this.concatenatedProperties,d=0,g=m.length;g>d;d++){var _=m[d];if("object"!=typeof _&&void 0!==_)throw new Ember.Error("Ember.Object.create only accepts objects.");if(_)for(var O=Ember.keys(_),C=0,w=O.length;w>C;C++){var A=O[C];if(_.hasOwnProperty(A)){var P=_[A],S=Ember.IS_BINDING;if(S.test(A)){var j=u.bindings;j?u.hasOwnProperty("bindings")||(j=u.bindings=r(u.bindings)):j=u.bindings={},j[A]=P}var x=u.descs[A];if(p&&y(p,A)>=0){var T=this[A];P=T?"function"==typeof T.concat?T.concat(P):Ember.makeArray(T).concat(P):Ember.makeArray(P)}x?x.set(this,A,P):"function"!=typeof this.setUnknownProperty||A in this?E?Ember.defineProperty(this,A,null,P):this[A]=P:this.setUnknownProperty(A,P)}}}}b(this,u),this.init.apply(this,arguments),u.proto=l,c(this),h(this,"init")};return s.toString=m.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=m.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=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 t(e){return function(){return e}}var r=(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.sendEvent,l=Ember.destroy,f=Ember.run.schedule,m=Ember.Mixin,p=m._apply,b=m.finishPartial,d=m.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,y=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return p(this,arguments,!0),this},init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,f("actions",this,this.willDestroy),f("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var _=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t),a(t).proto=t,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(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),p(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 t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});_.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(_),g.ClassMixin=_,_.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.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],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else if(this._toString)e=this._toString;else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||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:(t(),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(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=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,h=Ember.meta,l=Ember.defineProperty;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer("content",function(){}),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=h(this);if(i.proto===this)return l(this,e,null,t),t;var o=r(this,"content");return n(o,e,t)}})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)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 t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)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);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapBy(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapBy:function(e){return this.map(function(t){return n(t,e)})},mapProperty:Ember.aliasMethod("mapBy"),filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterBy:function(){return this.filter(r.apply(this,arguments))},filterProperty:Ember.aliasMethod("filterBy"),rejectBy:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},rejectProperty:Ember.aliasMethod("rejectBy"),find:function(r,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=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findBy:function(){return this.find(r.apply(this,arguments))},findProperty:Ember.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:Ember.aliasMethod("isEvery"),everyProperty:Ember.aliasMethod("isEvery"),isEvery:function(){return this.every(r.apply(this,arguments))},any:function(e,t){var r=this.find(function(r,n,i){return!!e.call(t,r,n,i)});return"undefined"!=typeof r},some:Ember.aliasMethod("any"),isAny:function(){return this.any(r.apply(this,arguments))},anyBy:Ember.aliasMethod("isAny"),someProperty:Ember.aliasMethod("isAny"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e(n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):n[e]())},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),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,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||i-r!==0,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||i-r!==0,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this},sortBy:function(){var e=arguments;return this.toArray().sort(function(t,r){for(var i=0;i<e.length;i++){var o=e[i],s=n(t,o),a=n(r,o),u=Ember.compare(s,a);if(u)return u}return 0})}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),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(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,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(){function e(e,t){return"@this"===t?e:f(e,t)}function t(e,t,r){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={}}function r(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function n(e,t,r){return 0>e?Math.max(0,t+e):t>e?e:Math.min(t-r,e)}function i(e,t,r){return Math.min(r,t-e)}function o(e,t,r,n,i,o){var s={arrayChanged:e,index:r,item:t,propertyName:n,property:i};return o&&(s.previousValues=o),s}function s(e,t,r,n,i){w(e,function(s,a){i.setValue(t.addedItem.call(this,i.getValue(),s,o(e,s,a,n,r),i.sugarMeta))},this)}function a(e,t){{var r;e._callbacks()}e._hasInstanceMeta(this,t)?(r=e._instanceMeta(this,t),r.setValue(e.resetValue(r.getValue()))):r=e._instanceMeta(this,t),e.options.initialize&&e.options.initialize.call(this,r.getValue(),{property:e,propertyName:t},r.sugarMeta)}function u(t,r){if(S.test(r))return!1;var n=e(t,r);return Ember.Array.detect(n)}function c(e,t,r){this.context=e,this.propertyName=t,this.cache=p(e).cache,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function h(t){var r=this;this.options=t,this._instanceMetas={},this._dependentKeys=null,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.cacheable(),this.recomputeOnce=function(e){Ember.run.once(this,n,e)};var n=function(t){var n=(r._dependentKeys,r._instanceMeta(this,t)),i=r._callbacks();a.call(this,r,t),n.dependentArraysObserver.suspendArrayObservers(function(){w(r._dependentKeys,function(t){if(u(this,t)){var i=e(this,t),o=n.dependentArrays[t];i===o?r._previousItemPropertyKeys[t]&&(delete r._previousItemPropertyKeys[t],n.dependentArraysObserver.setupPropertyObservers(t,r._itemPropertyKeys[t])):(n.dependentArrays[t]=i,o&&n.dependentArraysObserver.teardownObservers(o,t),i&&n.dependentArraysObserver.setupObservers(i,t))}},this)},this),w(r._dependentKeys,function(o){if(u(this,o)){var a=e(this,o);a&&s.call(this,a,i,r,t,n)}},this)};this.func=function(e){return n.call(this,e),r._instanceMeta(this,e).getValue()}}function l(e){return e}var f=Ember.get,m=(Ember.set,Ember.guidFor),p=Ember.meta,b=Ember.propertyWillChange,d=Ember.propertyDidChange,E=Ember.addBeforeObserver,y=Ember.removeBeforeObserver,v=Ember.addObserver,g=Ember.removeObserver,_=Ember.ComputedProperty,O=[].slice,C=Ember.create,w=Ember.EnumerableUtils.forEach,A=/^(.*)\.@each\.(.*)/,P=/(.*\.@each){2,}/,S=/\.\[\]$/,j=Ember.expandProperties;t.prototype={setValue:function(e){this.instanceMeta.setValue(e,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[m(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[m(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(e,t){var r=this.suspended;this.suspended=!0,e.call(t),this.suspended=r},setupPropertyObservers:function(t,r){var n=e(this.instanceMeta.context,t),i=e(n,"length"),o=new Array(i);this.resetTransformations(t,o),w(n,function(e,i){var s=this.createPropertyObserverContext(n,i,this.trackedArraysByGuid[t]);o[i]=s,w(r,function(t){E(e,t,this,s.beforeObserver),v(e,t,this,s.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,o=this,s=this.trackedArraysByGuid[e];s&&s.apply(function(e,s,a){a!==Ember.TrackedArray.DELETE&&w(e,function(e){e.destroyed=!0,r=e.beforeObserver,n=e.observer,i=e.item,w(t,function(e){y(i,e,o,r),g(i,e,o,n)})})})},createPropertyObserverContext:function(e,t,n){var i=new r(e,t,n);return this.createPropertyObserver(i),i},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.itemPropertyWillChange(r,n,e.dependentArray,e)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new Ember.TrackedArray(t)},trackAdd:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},trackRemove:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(t,r){var n=e(r,"length");t.apply(function(e,t,r){r!==Ember.TrackedArray.DELETE&&(r!==Ember.TrackedArray.RETAIN||e.length!==n||0!==t)&&w(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(t,r,s){function a(e){f[l].destroyed=!0,y(c,e,this,f[l].beforeObserver),g(c,e,this,f[l].observer)}if(!this.suspended){var u,c,h,l,f,p=this.callbacks.removedItem,b=m(t),d=this.dependentKeysByGuid[b],E=this.cp._itemPropertyKeys[d]||[],v=e(t,"length"),_=n(r,v,0),O=i(_,v,s);for(f=this.trackRemove(d,_,O),l=O-1;l>=0&&(h=_+l,!(h>=v));--l)c=t.objectAt(h),w(E,a,this),u=o(t,c,h,this.instanceMeta.propertyName,this.cp),this.setValue(p.call(this.instanceMeta.context,this.getValue(),c,u,this.instanceMeta.sugarMeta))}},dependentArrayDidChange:function(t,r,i,s){if(!this.suspended){var a,u,c=this.callbacks.addedItem,h=m(t),l=this.dependentKeysByGuid[h],f=new Array(s),p=this.cp._itemPropertyKeys[l],b=e(t,"length"),d=n(r,b,s);w(t.slice(d,d+s),function(e,r){p&&(u=f[r]=this.createPropertyObserverContext(t,d+r,this.trackedArraysByGuid[l]),w(p,function(t){E(e,t,this,u.beforeObserver),v(e,t,this,u.observer)},this)),a=o(t,e,d+r,this.instanceMeta.propertyName,this.cp),this.setValue(c.call(this.instanceMeta.context,this.getValue(),e,a,this.instanceMeta.sugarMeta))},this),this.trackAdd(l,d,f)}},itemPropertyWillChange:function(t,r,n,i){var o=m(t);this.changedItems[o]||(this.changedItems[o]={array:n,observerContext:i,obj:t,previousValues:{}}),this.changedItems[o].previousValues[r]=e(t,r)},itemPropertyDidChange:function(){this.flushChanges()},flushChanges:function(){var e,t,r,n=this.changedItems;for(e in n)t=n[e],t.observerContext.destroyed||(this.updateIndexes(t.observerContext.trackedArray,t.observerContext.dependentArray),r=o(t.array,t.obj,t.observerContext.index,this.instanceMeta.propertyName,this.cp,t.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)));this.changedItems={}}},c.prototype={getValue:function(){return this.propertyName in this.cache?this.cache[this.propertyName]:this.initialValue},setValue:function(e,t){if(void 0!==e){var r=t&&e!==this.cache[this.propertyName];r&&b(this.context,this.propertyName),this.cache[this.propertyName]=e,r&&d(this.context,this.propertyName)}else delete this.cache[this.propertyName]}},Ember.ReduceComputedProperty=h,h.prototype=C(_.prototype),h.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||l,addedItem:e.addedItem||l}}return this.callbacks},h.prototype._hasInstanceMeta=function(e,t){var r=m(e),n=r+":"+t;return!!this._instanceMetas[n]},h.prototype._instanceMeta=function(e,r){var n=m(e),i=n+":"+r,o=this._instanceMetas[i];return o||(o=this._instanceMetas[i]=new c(e,r,this.initialValue()),o.dependentArraysObserver=new t(this._callbacks(),this,o,e,r,o.sugarMeta)),o},h.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},h.prototype.resetValue=function(){return this.initialValue()},h.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},h.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},h.prototype.property=function(){var e,t,r=this,n=(O.call(arguments),new Ember.Set);return w(O.call(arguments),function(i){if(P.test(i))throw new Ember.Error("Nested @each properties not supported: "+i);if(e=A.exec(i)){t=e[1];var o=e[2],s=function(e){r.itemPropertyKey(t,e)};j(o,s),n.add(t)}else n.add(i)}),_.prototype.property.apply(this,n.toArray())},Ember.reduceComputed=function(e){var t;if(arguments.length>1&&(t=O.call(arguments,0,-1),e=O.call(arguments,-1)[0]),"object"!=typeof e)throw new Ember.Error("Reduce Computed Property declared without an options hash");if(!("initialValue"in e))throw new Ember.Error("Reduce Computed Property declared without an initial value");var r=new h(e);return t&&r.property.apply(r,t),r}}(),function(){function e(){var e=this;return t.apply(this,arguments),this.func=function(t){return function(r){return e._hasInstanceMeta(this,r)||i(e._dependentKeys,function(t){Ember.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this.func),this}var t=Ember.ReduceComputedProperty,r=[].slice,n=Ember.create,i=Ember.EnumerableUtils.forEach;Ember.ArrayComputedProperty=e,e.prototype=n(t.prototype),e.prototype.initialValue=function(){return Ember.A()},e.prototype.resetValue=function(e){return e.clear(),e},e.prototype.didChange=function(){},Ember.arrayComputed=function(t){var n;if(arguments.length>1&&(n=r.call(arguments,0,-1),t=r.call(arguments,-1)[0]),"object"!=typeof t)throw new Ember.Error("Array Computed Property declared without an options hash");var i=new e(t);return n&&i.property.apply(i,n),i}}(),function(){function e(e,i,o,s){function a(e){return t.detectInstance(e)?n(r(e,"content")):n(e)}var u,c,h,l,f;return arguments.length<4&&(s=r(e,"length")),arguments.length<3&&(o=0),o===s?o:(u=o+Math.floor((s-o)/2),c=e.objectAt(u),l=a(c),f=a(i),l===f?u:(h=this.order(c,i),0===h&&(h=f>l?-1:1),0>h?this.binarySearch(e,i,u+1,s):h>0?this.binarySearch(e,i,o,u):u))
|
13
|
+
}var t,r=Ember.get,n=(Ember.set,Ember.guidFor),i=Ember.merge,o=[].slice,s=Ember.EnumerableUtils.forEach,a=Ember.EnumerableUtils.map;Ember.computed.sum=function(e){return Ember.reduceComputed(e,{initialValue:0,addedItem:function(e,t){return e+t},removedItem:function(e,t){return e-t}})},Ember.computed.max=function(e){return Ember.reduceComputed(e,{initialValue:-1/0,addedItem:function(e,t){return Math.max(e,t)},removedItem:function(e,t){return e>t?e:void 0}})},Ember.computed.min=function(e){return Ember.reduceComputed(e,{initialValue:1/0,addedItem:function(e,t){return Math.min(e,t)},removedItem:function(e,t){return t>e?e:void 0}})},Ember.computed.map=function(e,t){var r={addedItem:function(e,r,n){var i=t.call(this,r);return e.insertAt(n.index,i),e},removedItem:function(e,t,r){return e.removeAt(r.index,1),e}};return Ember.arrayComputed(e,r)},Ember.computed.mapBy=function(e,t){var n=function(e){return r(e,t)};return Ember.computed.map(e+".@each."+t,n)},Ember.computed.mapProperty=Ember.computed.mapBy,Ember.computed.filter=function(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new Ember.SubArray},addedItem:function(e,r,n,i){var o=!!t.call(this,r),s=i.filteredArrayIndexes.addItem(n.index,o);return o&&e.insertAt(s,r),e},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);return i>-1&&e.removeAt(i),e}};return Ember.arrayComputed(e,r)},Ember.computed.filterBy=function(e,t,n){var i;return i=2===arguments.length?function(e){return r(e,t)}:function(e){return r(e,t)===n},Ember.computed.filter(e+".@each."+t,i)},Ember.computed.filterProperty=Ember.computed.filterBy,Ember.computed.uniq=function(){var e=o.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var o=n(t);return i.itemCounts[o]?++i.itemCounts[o]:i.itemCounts[o]=1,e.addObject(t),e},removedItem:function(e,t,r,i){var o=n(t),s=i.itemCounts;return 0===--s[o]&&e.removeObject(t),e}}),Ember.arrayComputed.apply(null,e)},Ember.computed.union=Ember.computed.uniq,Ember.computed.intersect=function(){var e=function(e){return a(e.property._dependentKeys,function(e){return n(e)})},t=o.call(arguments);return t.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(t,r,i,o){var s=n(r),a=(e(i),n(i.arrayChanged)),u=i.property._dependentKeys.length,c=o.itemCounts;return c[s]||(c[s]={}),void 0===c[s][a]&&(c[s][a]=0),1===++c[s][a]&&u===Ember.keys(c[s]).length&&t.addObject(r),t},removedItem:function(t,r,i,o){var s,a=n(r),u=(e(i),n(i.arrayChanged)),c=(i.property._dependentKeys.length,o.itemCounts);return void 0===c[a][u]&&(c[a][u]=0),0===--c[a][u]&&(delete c[a][u],s=Ember.keys(c[a]).length,0===s&&delete c[a],t.removeObject(r)),t}}),Ember.arrayComputed.apply(null,t)},Ember.computed.setDiff=function(e,t){if(2!==arguments.length)throw new Ember.Error("setDiff requires exactly two dependent arrays.");return Ember.arrayComputed(e,t,{addedItem:function(n,i,o){var s=r(this,e),a=r(this,t);return o.arrayChanged===s?a.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,o){var s=r(this,e),a=r(this,t);return o.arrayChanged===a?s.contains(i)&&n.addObject(i):n.removeObject(i),n}})},t=Ember.ObjectProxy.extend(),Ember.computed.sort=function(n,o){var a,u;return"function"==typeof o?a=function(t,r,n){n.order=o,n.binarySearch=e}:(u=o,a=function(t,i,o){function a(){var e,t,a,h=r(this,u),l=o.sortProperties=[],f=o.sortPropertyAscending={};i.property.clearItemPropertyKeys(n),s(h,function(r){-1!==(t=r.indexOf(":"))?(e=r.substring(0,t),a="desc"!==r.substring(t+1).toLowerCase()):(e=r,a=!0),l.push(e),f[e]=a,i.property.itemPropertyKey(n,e)}),h.addObserver("@each",this,c)}function c(){Ember.run.once(this,h,i.propertyName)}function h(e){a.call(this),i.property.recomputeOnce.call(this,e)}Ember.addObserver(this,u,c),a.call(this),o.order=function(e,t){for(var n,i,o,s=0;s<this.sortProperties.length;++s)if(n=this.sortProperties[s],i=Ember.compare(r(e,n),r(t,n)),0!==i)return o=this.sortPropertyAscending[n],o?i:-1*i;return 0},o.binarySearch=e}),Ember.arrayComputed(n,{initialize:a,addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,r,n,o){var s,a,u;return n.previousValues?(s=i({content:r},n.previousValues),u=t.create(s)):u=r,a=o.binarySearch(e,u),e.removeAt(a),e}})}}(),function(){Ember.RSVP=t("rsvp"),Ember.RSVP.onerrorDefault=function(e){if(e instanceof Error)if(Ember.testing){if(!Ember.Test||!Ember.Test.adapter)throw e;Ember.Test.adapter.exception(e)}else Ember.Logger.error(e.stack)},Ember.RSVP.on("error",Ember.RSVP.onerrorDefault)}(),function(){var e=Array.prototype.slice,t=Ember.expandProperties;(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(){for(var e=function(e){r.push(e)},r=[],n=0;n<arguments.length;++n)t(arguments[n],e);return this.__ember_observes__=r,this},Function.prototype.observesImmediately=function(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return this.observes.apply(this,arguments)},Function.prototype.observesBefore=function(){for(var e=function(e){r.push(e)},r=[],n=0;n<arguments.length;++n)t(arguments[n],e);return this.__ember_observesBefore__=r,this},Function.prototype.on=function(){var t=e.call(arguments);return this.__ember_listens__=t,this})}(),function(){Ember.Comparable=Ember.Mixin.create({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 Ember.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=[],r=Ember.get;Ember.set}Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Ember.Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Ember.Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))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=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){{var e=Ember.get;Ember.set}Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){function r(e,t){var r=[];return t&&r.push(t),r.concat(e)}t=t||{};var n=t.action||e(this,"action"),i=t.target||e(this,"targetObject"),o=t.actionContext;if("undefined"==typeof o&&(o=e(this,"actionContextObject")||this),i&&n){var s;return s=i.send?i.send.apply(i,r(o,n)):i[n].apply(i,r(o)),s!==!1&&(s=!0),s}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)}),e.Promise.prototype.fail=function(e,t){return this["catch"](e,t)};var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t,n){function i(t){return t===s?e(a):e(t)}var o,s,a;return a=this,o=r(this,"_deferred"),s=o.promise,s.then(e&&i,t,n)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer("Ember: DeferredMixin - "+this)})})}(),function(){var e=Ember.get,t=Ember.typeOf;Ember.ActionHandler=Ember.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){var r;e._actions||("object"===t(e.actions)?r="actions":"object"===t(e.events)&&(r="events"),r&&(e._actions=Ember.merge(e._actions||{},e[r])),delete e[r])},send:function(t){var r,n=[].slice.call(arguments,1);if(this._actions&&this._actions[t]){if(this._actions[t].apply(this,n)!==!0)return}else if(this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(t)&&this.deprecatedSend.apply(this,[].slice.call(arguments))!==!0)return;(r=e(this,"target"))&&r.send.apply(r,arguments)}})}(),function(){function e(e,t){return t.then(function(t){return r(e,"isFulfilled",!0),r(e,"content",t),t},function(t){throw r(e,"isRejected",!0),r(e,"reason",t),t},"Ember: PromiseProxy")}function t(e){return function(){var t=n(this,"promise");return t[e].apply(t,arguments)}}var r=Ember.set,n=Ember.get,i=Ember.computed.not,o=Ember.computed.or;Ember.PromiseProxyMixin=Ember.Mixin.create({reason:null,isPending:i("isSettled").readOnly(),isSettled:o("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:Ember.computed(function(t,r){if(2===arguments.length)return e(this,r);throw new Ember.Error("PromiseProxy's promise must be set")}),then:t("then"),"catch":t("catch"),"finally":t("finally")})}(),function(){function e(e,t,r){this.type=e,this.count=t,this.items=r}function t(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var r=Ember.get,n=Ember.EnumerableUtils.forEach,i="r",o="i",s="d";Ember.TrackedArray=function(t){arguments.length<1&&(t=[]);var n=r(t,"length");this._operations=n?[new e(i,n,t)]:[]},Ember.TrackedArray.RETAIN=i,Ember.TrackedArray.INSERT=o,Ember.TrackedArray.DELETE=s,Ember.TrackedArray.prototype={addItems:function(t,n){var i=r(n,"length");if(!(1>i)){var s,a,u=this._findArrayOperation(t),c=u.operation,h=u.index,l=u.rangeStart;a=new e(o,i,n),c?u.split?(this._split(h,t-l,a),s=h+1):(this._operations.splice(h,0,a),s=h):(this._operations.push(a),s=h),this._composeInsert(s)}},removeItems:function(t,r){if(!(1>r)){var n,i,o=this._findArrayOperation(t),a=(o.operation,o.index),u=o.rangeStart;return n=new e(s,r),o.split?(this._split(a,t-u,n),i=a+1):(this._operations.splice(a,0,n),i=a),this._composeDelete(i)}},apply:function(t){var r=[],o=0;n(this._operations,function(e){t(e.items,o,e.type),e.type!==s&&(o+=e.count,r=r.concat(e.items))}),this._operations=[new e(i,r.length,r)]},_findArrayOperation:function(e){var r,n,i,o,a,u=!1;for(r=o=0,n=this._operations.length;n>r;++r)if(i=this._operations[r],i.type!==s){if(a=o+i.count-1,e===o)break;if(e>o&&a>=e){u=!0;break}o=a+1}return new t(i,r,u,o)},_split:function(t,r,n){var i=this._operations[t],o=i.items.slice(r),s=new e(i.type,o.length,o);i.count=r,i.items=i.items.slice(0,r),this._operations.splice(t+1,0,n,s)},_composeInsert:function(e){var t=this._operations[e],r=this._operations[e-1],n=this._operations[e+1],i=r&&r.type,s=n&&n.type;i===o?(r.count+=t.count,r.items=r.items.concat(t.items),s===o?(r.count+=n.count,r.items=r.items.concat(n.items),this._operations.splice(e,2)):this._operations.splice(e,1)):s===o&&(t.count+=n.count,t.items=t.items.concat(n.items),this._operations.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._operations[e],a=i.count,u=this._operations[e-1],c=u&&u.type,h=!1,l=[];c===s&&(i=u,e-=1);for(var f=e+1;a>0;++f)t=this._operations[f],r=t.type,n=t.count,r!==s?(n>a?(l=l.concat(t.items.splice(0,a)),t.count-=a,f-=1,n=a,a=0):(n===a&&(h=!0),l=l.concat(t.items),a-=n),r===o&&(i.count-=n)):i.count+=n;return i.count>0?this._operations.splice(e+1,f-1-e):this._operations.splice(e,h?2:1),l},toString:function(){var e="";return n(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}(),function(){function e(e,t){this.type=e,this.count=t}var t=(Ember.get,Ember.EnumerableUtils.forEach),r="r",n="f";Ember.SubArray=function(t){arguments.length<1&&(t=0),this._operations=t>0?[new e(r,t)]:[]},Ember.SubArray.prototype={addItem:function(t,i){var o=-1,s=i?r:n,a=this;return this._findOperation(t,function(n,u,c,h,l){var f,m;s===n.type?++n.count:t===c?a._operations.splice(u,0,new e(s,1)):(f=new e(s,1),m=new e(n.type,h-t+1),n.count=t-c,a._operations.splice(u+1,0,f,m)),i&&(o=n.type===r?l+(t-c):l),a._composeAt(u)},function(t){a._operations.push(new e(s,1)),i&&(o=t),a._composeAt(a._operations.length-1)}),o},removeItem:function(e){var t=-1,n=this;return this._findOperation(e,function(i,o,s,a,u){i.type===r&&(t=u+(e-s)),i.count>1?--i.count:(n._operations.splice(o,1),n._composeAt(o))},function(){throw new Ember.Error("Can't remove an item that has never been added.")}),t},_findOperation:function(e,t,n){var i,o,s,a,u,c=0;for(i=a=0,o=this._operations.length;o>i;a=u+1,++i){if(s=this._operations[i],u=a+s.count-1,e>=a&&u>=e)return t(s,i,a,u,c),void 0;s.type===r&&(c+=s.count)}n(c)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1),--e)),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))},toString:function(){var e="";return t(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){{var e="Index out of range",t=[],r=Ember.get;Ember.set}Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer("content",function(){r(this,"content");this._setupContent()}),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver("arrangedContent",function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)}),_arrangedContentDidChange:Ember.observer("arrangedContent",function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)}),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Ember.Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Ember.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,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(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,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,s){var a=r._objects;a||(a=r._objects={});for(var u,c;--s>=i;){var h=e.objectAt(s);h&&(Ember.removeBeforeObserver(h,t,r,"contentKeyWillChange"),Ember.removeObserver(h,t,r,"contentKeyDidChange"),c=n(h),u=a[c],u[o.call(u,s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.ArrayPolyfills.indexOf,s=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),a=/^.+:(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 t;return t=new s(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s=this._keys;o=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in s)s.hasOwnProperty(n)&&(o>0&&e(t,n,this,r,o),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){a.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){a.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils._replace),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,n,i){if(this.isFrozen)throw Ember.FROZEN_ERROR;var o=i?e(i,"length"):0;return this.arrayContentWillChange(r,n,o),0===o?this.splice(r,n):t(this,r,n,i),this.arrayContentDidChange(r,n,o),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),n=["length"];Ember.EnumerableUtils.forEach(r.keys(),function(e){Array.prototype[e]&&n.push(e)}),n.length>0&&(r=r.without.apply(r,n)),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,t=Ember.set,r=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 Ember.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=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Ember.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]: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 Ember.Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(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,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Ember.Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(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[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin,t=(Ember.get,Ember.Object.extend(e));t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){Ember.get;Ember.ControllerMixin=Ember.Mixin.create(Ember.ActionHandler,{isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),deprecatedSendHandles:function(e){return!!this[e]},deprecatedSend:function(e){var t=[].slice.call(arguments,1);this[e].apply(this,t)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver("content",function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()}),sortAscendingWillChange:Ember.beforeObserver("sortAscending",function(){this._lastSortAscending=e(this,"sortAscending")}),sortAscendingDidChange:Ember.observer("sortAscending",function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}}),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,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);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this._super(),this.set("_subControllers",Ember.A())},content:Ember.computed(function(){return Ember.A()}),controllerAt:function(t,r,n){var i,o=e(this,"container"),s=e(this,"_subControllers"),a=s[t];if(a)return a;if(i="controller:"+n,!o.has(i))throw new Ember.Error('Could not resolve itemController: "'+n+'"');return a=o.lookupFactory(i).create({target:this,parentController:e(this,"parentController")||this,content:r}),s[t]=a,a},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,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||Ember.Logger.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.");
|
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.
|
8
|
+
* @version 1.4.0-beta.1
|
9
9
|
*/
|
10
10
|
|
11
11
|
|
@@ -88,7 +88,7 @@ var define, requireModule, require, requirejs;
|
|
88
88
|
|
89
89
|
@class Ember
|
90
90
|
@static
|
91
|
-
@version 1.
|
91
|
+
@version 1.4.0-beta.1+canary.64fee6ed
|
92
92
|
*/
|
93
93
|
|
94
94
|
if ('undefined' === typeof Ember) {
|
@@ -115,10 +115,10 @@ Ember.toString = function() { return "Ember"; };
|
|
115
115
|
/**
|
116
116
|
@property VERSION
|
117
117
|
@type String
|
118
|
-
@default '1.
|
118
|
+
@default '1.4.0-beta.1+canary.64fee6ed'
|
119
119
|
@static
|
120
120
|
*/
|
121
|
-
Ember.VERSION = '1.
|
121
|
+
Ember.VERSION = '1.4.0-beta.1+canary.64fee6ed';
|
122
122
|
|
123
123
|
/**
|
124
124
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -593,17 +593,19 @@ var arrayIndexOf = isNativeFunc(Array.prototype.indexOf) ? Array.prototype.index
|
|
593
593
|
return -1;
|
594
594
|
};
|
595
595
|
|
596
|
-
/**
|
597
|
-
Array polyfills to support ES5 features in older browsers.
|
598
596
|
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
Ember
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
597
|
+
/**
|
598
|
+
Array polyfills to support ES5 features in older browsers.
|
599
|
+
|
600
|
+
@namespace Ember
|
601
|
+
@property ArrayPolyfills
|
602
|
+
*/
|
603
|
+
Ember.ArrayPolyfills = {
|
604
|
+
map: arrayMap,
|
605
|
+
forEach: arrayForEach,
|
606
|
+
indexOf: arrayIndexOf
|
607
|
+
};
|
608
|
+
|
607
609
|
|
608
610
|
if (Ember.SHIM_ES5) {
|
609
611
|
if (!Array.prototype.map) {
|
@@ -871,7 +873,8 @@ Meta.prototype = {
|
|
871
873
|
bindings: null,
|
872
874
|
chains: null,
|
873
875
|
chainWatchers: null,
|
874
|
-
values: null
|
876
|
+
values: null,
|
877
|
+
proto: null
|
875
878
|
};
|
876
879
|
|
877
880
|
if (isDefinePropertySimulated) {
|
@@ -1377,6 +1380,41 @@ Ember.typeOf = function(item) {
|
|
1377
1380
|
return ret;
|
1378
1381
|
};
|
1379
1382
|
|
1383
|
+
/**
|
1384
|
+
Convenience method to inspect an object. This method will attempt to
|
1385
|
+
convert the object into a useful string description.
|
1386
|
+
|
1387
|
+
It is a pretty simple implementation. If you want something more robust,
|
1388
|
+
use something like JSDump: https://github.com/NV/jsDump
|
1389
|
+
|
1390
|
+
@method inspect
|
1391
|
+
@for Ember
|
1392
|
+
@param {Object} obj The object you want to inspect.
|
1393
|
+
@return {String} A description of the object
|
1394
|
+
*/
|
1395
|
+
Ember.inspect = function(obj) {
|
1396
|
+
var type = Ember.typeOf(obj);
|
1397
|
+
if (type === 'array') {
|
1398
|
+
return '[' + obj + ']';
|
1399
|
+
}
|
1400
|
+
if (type !== 'object') {
|
1401
|
+
return obj + '';
|
1402
|
+
}
|
1403
|
+
|
1404
|
+
var v, ret = [];
|
1405
|
+
for(var key in obj) {
|
1406
|
+
if (obj.hasOwnProperty(key)) {
|
1407
|
+
v = obj[key];
|
1408
|
+
if (v === 'toString') { continue; } // ignore useless items
|
1409
|
+
if (Ember.typeOf(v) === 'function') { v = "function() { ... }"; }
|
1410
|
+
ret.push(key + ": " + v);
|
1411
|
+
}
|
1412
|
+
}
|
1413
|
+
return "{" + ret.join(", ") + "}";
|
1414
|
+
};
|
1415
|
+
|
1416
|
+
|
1417
|
+
|
1380
1418
|
})();
|
1381
1419
|
|
1382
1420
|
|
@@ -1591,10 +1629,11 @@ Ember.subscribe = Ember.Instrumentation.subscribe;
|
|
1591
1629
|
|
1592
1630
|
|
1593
1631
|
(function() {
|
1594
|
-
var map, forEach, indexOf, splice;
|
1632
|
+
var map, forEach, indexOf, splice, filter;
|
1595
1633
|
map = Array.prototype.map || Ember.ArrayPolyfills.map;
|
1596
1634
|
forEach = Array.prototype.forEach || Ember.ArrayPolyfills.forEach;
|
1597
1635
|
indexOf = Array.prototype.indexOf || Ember.ArrayPolyfills.indexOf;
|
1636
|
+
filter = Array.prototype.filter || Ember.ArrayPolyfills.filter;
|
1598
1637
|
splice = Array.prototype.splice;
|
1599
1638
|
|
1600
1639
|
var utils = Ember.EnumerableUtils = {
|
@@ -1606,6 +1645,10 @@ var utils = Ember.EnumerableUtils = {
|
|
1606
1645
|
return obj.forEach ? obj.forEach.call(obj, callback, thisArg) : forEach.call(obj, callback, thisArg);
|
1607
1646
|
},
|
1608
1647
|
|
1648
|
+
filter: function(obj, callback, thisArg) {
|
1649
|
+
return obj.filter ? obj.filter.call(obj, callback, thisArg) : filter.call(obj, callback, thisArg);
|
1650
|
+
},
|
1651
|
+
|
1609
1652
|
indexOf: function(obj, element, index) {
|
1610
1653
|
return obj.indexOf ? obj.indexOf.call(obj, element, index) : indexOf.call(obj, element, index);
|
1611
1654
|
},
|
@@ -1785,7 +1828,7 @@ var normalizeTuple = Ember.normalizeTuple = function(target, path) {
|
|
1785
1828
|
}
|
1786
1829
|
|
1787
1830
|
// must return some kind of path to be valid else other things will break.
|
1788
|
-
if (!path || path.length===0) throw new Ember.Error('
|
1831
|
+
if (!path || path.length===0) throw new Ember.Error('Path cannot be empty');
|
1789
1832
|
|
1790
1833
|
return [ target, path ];
|
1791
1834
|
};
|
@@ -3315,6 +3358,12 @@ Ember.defineProperty = function(obj, keyName, desc, data, meta) {
|
|
3315
3358
|
} else {
|
3316
3359
|
obj[keyName] = undefined; // make enumerable
|
3317
3360
|
}
|
3361
|
+
|
3362
|
+
|
3363
|
+
if (desc.func && desc._dependentCPs) {
|
3364
|
+
addImplicitCPs(obj, desc._dependentCPs, meta);
|
3365
|
+
}
|
3366
|
+
|
3318
3367
|
} else {
|
3319
3368
|
descs[keyName] = undefined; // shadow descriptor in proto
|
3320
3369
|
if (desc == null) {
|
@@ -3351,6 +3400,22 @@ Ember.defineProperty = function(obj, keyName, desc, data, meta) {
|
|
3351
3400
|
};
|
3352
3401
|
|
3353
3402
|
|
3403
|
+
var addImplicitCPs = function defineImplicitCPs(obj, implicitCPs, meta) {
|
3404
|
+
var cp, key, length = implicitCPs.length;
|
3405
|
+
|
3406
|
+
for (var i=0; i<length; ++i) {
|
3407
|
+
cp = implicitCPs[i];
|
3408
|
+
key = cp.implicitCPKey;
|
3409
|
+
|
3410
|
+
Ember.defineProperty(obj, key, cp, undefined, meta);
|
3411
|
+
|
3412
|
+
if (cp._dependentCPs) {
|
3413
|
+
addImplicitCPs(obj, cp._dependentCPs, meta);
|
3414
|
+
}
|
3415
|
+
}
|
3416
|
+
};
|
3417
|
+
|
3418
|
+
|
3354
3419
|
})();
|
3355
3420
|
|
3356
3421
|
|
@@ -3835,6 +3900,52 @@ Ember.finishChains = function(obj) {
|
|
3835
3900
|
|
3836
3901
|
(function() {
|
3837
3902
|
|
3903
|
+
/**
|
3904
|
+
@module ember-metal
|
3905
|
+
*/
|
3906
|
+
|
3907
|
+
var forEach = Ember.EnumerableUtils.forEach,
|
3908
|
+
BRACE_EXPANSION = /^((?:[^\.]*\.)*)\{(.*)\}$/;
|
3909
|
+
|
3910
|
+
/**
|
3911
|
+
Expands `pattern`, invoking `callback` for each expansion.
|
3912
|
+
|
3913
|
+
The only pattern supported is brace-expansion, anything else will be passed
|
3914
|
+
once to `callback` directly. Brace expansion can only appear at the end of a
|
3915
|
+
pattern, for example as the last item in a chain.
|
3916
|
+
|
3917
|
+
Example
|
3918
|
+
```js
|
3919
|
+
function echo(arg){ console.log(arg); }
|
3920
|
+
|
3921
|
+
Ember.expandProperties('foo.bar', echo); //=> 'foo.bar'
|
3922
|
+
Ember.expandProperties('{foo,bar}', echo); //=> 'foo', 'bar'
|
3923
|
+
Ember.expandProperties('foo.{bar,baz}', echo); //=> 'foo.bar', 'foo.baz'
|
3924
|
+
Ember.expandProperties('{foo,bar}.baz', echo); //=> '{foo,bar}.baz'
|
3925
|
+
```
|
3926
|
+
|
3927
|
+
@method
|
3928
|
+
@private
|
3929
|
+
@param {string} pattern The property pattern to expand.
|
3930
|
+
@param {function} callback The callback to invoke. It is invoked once per
|
3931
|
+
expansion, and is passed the expansion.
|
3932
|
+
*/
|
3933
|
+
Ember.expandProperties = function (pattern, callback) {
|
3934
|
+
var match, prefix, list;
|
3935
|
+
|
3936
|
+
if (match = BRACE_EXPANSION.exec(pattern)) {
|
3937
|
+
prefix = match[1];
|
3938
|
+
list = match[2];
|
3939
|
+
|
3940
|
+
forEach(list.split(','), function (suffix) {
|
3941
|
+
callback(prefix + suffix);
|
3942
|
+
});
|
3943
|
+
} else {
|
3944
|
+
callback(pattern);
|
3945
|
+
}
|
3946
|
+
};
|
3947
|
+
|
3948
|
+
|
3838
3949
|
})();
|
3839
3950
|
|
3840
3951
|
|
@@ -4037,6 +4148,13 @@ var get = Ember.get,
|
|
4037
4148
|
unwatch = Ember.unwatch;
|
4038
4149
|
|
4039
4150
|
|
4151
|
+
|
4152
|
+
|
4153
|
+
|
4154
|
+
|
4155
|
+
var expandProperties = Ember.expandProperties;
|
4156
|
+
|
4157
|
+
|
4040
4158
|
// ..........................................................
|
4041
4159
|
// DEPENDENT KEYS
|
4042
4160
|
//
|
@@ -4195,9 +4313,10 @@ function removeDependentKeys(desc, obj, keyName, meta) {
|
|
4195
4313
|
*/
|
4196
4314
|
function ComputedProperty(func, opts) {
|
4197
4315
|
this.func = func;
|
4198
|
-
|
4316
|
+
|
4317
|
+
setDependentKeys(this, opts && opts.dependentKeys);
|
4318
|
+
|
4199
4319
|
this._cacheable = (opts && opts.cacheable !== undefined) ? opts.cacheable : true;
|
4200
|
-
this._dependentKeys = opts && opts.dependentKeys;
|
4201
4320
|
this._readOnly = opts && (opts.readOnly !== undefined || !!opts.readOnly);
|
4202
4321
|
}
|
4203
4322
|
|
@@ -4206,6 +4325,15 @@ ComputedProperty.prototype = new Ember.Descriptor();
|
|
4206
4325
|
|
4207
4326
|
var ComputedPropertyPrototype = ComputedProperty.prototype;
|
4208
4327
|
|
4328
|
+
|
4329
|
+
ComputedPropertyPrototype.toString = function() {
|
4330
|
+
if (this.implicitCPKey) {
|
4331
|
+
return this.implicitCPKey;
|
4332
|
+
}
|
4333
|
+
return Ember.Descriptor.prototype.toString.apply(this, arguments);
|
4334
|
+
};
|
4335
|
+
|
4336
|
+
|
4209
4337
|
/**
|
4210
4338
|
Properties are cacheable by default. Computed property will automatically
|
4211
4339
|
cache the return value of your function until one of the dependent keys changes.
|
@@ -4301,10 +4429,18 @@ ComputedPropertyPrototype.property = function() {
|
|
4301
4429
|
var args;
|
4302
4430
|
|
4303
4431
|
|
4304
|
-
|
4305
|
-
|
4432
|
+
var addArg = function (property) {
|
4433
|
+
args.push(property);
|
4434
|
+
};
|
4306
4435
|
|
4307
|
-
|
4436
|
+
args = [];
|
4437
|
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
4438
|
+
expandProperties(arguments[i], addArg);
|
4439
|
+
}
|
4440
|
+
|
4441
|
+
|
4442
|
+
setDependentKeys(this, args);
|
4443
|
+
|
4308
4444
|
return this;
|
4309
4445
|
};
|
4310
4446
|
|
@@ -4431,7 +4567,7 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
4431
4567
|
funcArgLength, cachedValue, ret;
|
4432
4568
|
|
4433
4569
|
if (this._readOnly) {
|
4434
|
-
throw new Ember.Error('Cannot Set: ' + keyName + ' on: ' +
|
4570
|
+
throw new Ember.Error('Cannot Set: ' + keyName + ' on: ' + Ember.inspect(obj));
|
4435
4571
|
}
|
4436
4572
|
|
4437
4573
|
this._suspended = obj;
|
@@ -4562,26 +4698,86 @@ function getProperties(self, propertyNames) {
|
|
4562
4698
|
return ret;
|
4563
4699
|
}
|
4564
4700
|
|
4565
|
-
|
4566
|
-
|
4567
|
-
|
4568
|
-
|
4569
|
-
|
4570
|
-
|
4701
|
+
var registerComputed, registerComputedWithProperties;
|
4702
|
+
|
4703
|
+
|
4704
|
+
var guidFor = Ember.guidFor,
|
4705
|
+
map = Ember.EnumerableUtils.map,
|
4706
|
+
filter = Ember.EnumerableUtils.filter,
|
4707
|
+
typeOf = Ember.typeOf;
|
4708
|
+
|
4709
|
+
var implicitKey = function (cp) {
|
4710
|
+
return [guidFor(cp)].concat(cp._dependentKeys).join('_');
|
4711
|
+
};
|
4712
|
+
|
4713
|
+
var normalizeDependentKey = function (key) {
|
4714
|
+
if (key instanceof Ember.ComputedProperty) {
|
4715
|
+
return implicitKey(key);
|
4716
|
+
} else if (typeof key === 'string' || key instanceof String || typeof key === 'object' || typeof key === 'number') {
|
4717
|
+
return key;
|
4718
|
+
} else {
|
4719
|
+
}
|
4571
4720
|
};
|
4572
|
-
}
|
4573
4721
|
|
4574
|
-
function
|
4575
|
-
|
4576
|
-
|
4722
|
+
var normalizeDependentKeys = function (keys) {
|
4723
|
+
return map(keys, function (key) {
|
4724
|
+
return normalizeDependentKey(key);
|
4725
|
+
});
|
4726
|
+
};
|
4577
4727
|
|
4578
|
-
|
4579
|
-
|
4728
|
+
var selectDependentCPs = function (keys) {
|
4729
|
+
return filter(keys, function (key) {
|
4730
|
+
return key instanceof Ember.ComputedProperty;
|
4580
4731
|
});
|
4732
|
+
};
|
4581
4733
|
|
4582
|
-
|
4734
|
+
var setDependentKeys = function(cp, dependentKeys) {
|
4735
|
+
if (dependentKeys) {
|
4736
|
+
cp._dependentKeys = normalizeDependentKeys(dependentKeys);
|
4737
|
+
cp._dependentCPs = selectDependentCPs(dependentKeys);
|
4738
|
+
cp.implicitCPKey = implicitKey(cp);
|
4739
|
+
} else {
|
4740
|
+
cp._dependentKeys = cp._dependentCPs = [];
|
4741
|
+
delete cp.implicitCPKey;
|
4742
|
+
}
|
4583
4743
|
};
|
4584
|
-
|
4744
|
+
// expose `normalizeDependentKey[s]` so user CP macros can easily support
|
4745
|
+
// composition
|
4746
|
+
Ember.computed.normalizeDependentKey = normalizeDependentKey;
|
4747
|
+
Ember.computed.normalizeDependentKeys = normalizeDependentKeys;
|
4748
|
+
|
4749
|
+
registerComputed = function (name, macro) {
|
4750
|
+
Ember.computed[name] = function(dependentKey) {
|
4751
|
+
var args = normalizeDependentKeys(a_slice.call(arguments));
|
4752
|
+
return Ember.computed(dependentKey, function() {
|
4753
|
+
return macro.apply(this, args);
|
4754
|
+
});
|
4755
|
+
};
|
4756
|
+
};
|
4757
|
+
|
4758
|
+
|
4759
|
+
|
4760
|
+
registerComputedWithProperties = function(name, macro) {
|
4761
|
+
Ember.computed[name] = function() {
|
4762
|
+
var args = a_slice.call(arguments);
|
4763
|
+
var properties = normalizeDependentKeys(args);
|
4764
|
+
|
4765
|
+
var computed = Ember.computed(function() {
|
4766
|
+
return macro.apply(this, [getProperties(this, properties)]);
|
4767
|
+
});
|
4768
|
+
|
4769
|
+
return computed.property.apply(computed, args);
|
4770
|
+
};
|
4771
|
+
};
|
4772
|
+
|
4773
|
+
|
4774
|
+
|
4775
|
+
Ember.computed.literal = function (value) {
|
4776
|
+
return Ember.computed(function () {
|
4777
|
+
return value;
|
4778
|
+
});
|
4779
|
+
};
|
4780
|
+
|
4585
4781
|
|
4586
4782
|
/**
|
4587
4783
|
A computed property that returns true if the value of the dependent
|
@@ -5112,7 +5308,51 @@ Ember.computed.oneWay = function(dependentKey) {
|
|
5112
5308
|
});
|
5113
5309
|
};
|
5114
5310
|
|
5311
|
+
if (Ember.FEATURES.isEnabled('computed-read-only')) {
|
5312
|
+
/**
|
5313
|
+
Where `computed.oneWay` provides oneWay bindings, `computed.readOnly` provides
|
5314
|
+
a readOnly one way binding. Very often when using `computed.oneWay` one does
|
5315
|
+
not also want changes to propogate back up, as they will replace the value.
|
5316
|
+
|
5317
|
+
This prevents the reverse flow, and also throws an exception when it occurs.
|
5318
|
+
|
5319
|
+
Example
|
5320
|
+
|
5321
|
+
```javascript
|
5322
|
+
User = Ember.Object.extend({
|
5323
|
+
firstName: null,
|
5324
|
+
lastName: null,
|
5325
|
+
nickName: Ember.computed.readOnly('firstName')
|
5326
|
+
});
|
5327
|
+
|
5328
|
+
user = User.create({
|
5329
|
+
firstName: 'Teddy',
|
5330
|
+
lastName: 'Zeenny'
|
5331
|
+
});
|
5332
|
+
|
5333
|
+
user.get('nickName');
|
5334
|
+
# 'Teddy'
|
5335
|
+
|
5336
|
+
user.set('nickName', 'TeddyBear');
|
5337
|
+
# throws Exception
|
5338
|
+
# throw new Ember.Error('Cannot Set: nickName on: <User:ember27288>' );`
|
5339
|
+
|
5340
|
+
user.get('firstName');
|
5341
|
+
# 'Teddy'
|
5342
|
+
```
|
5115
5343
|
|
5344
|
+
@method computed.readOnly
|
5345
|
+
@for Ember
|
5346
|
+
@param {String} dependentKey
|
5347
|
+
@return {Ember.ComputedProperty} computed property which creates a
|
5348
|
+
one way computed property to the original value for property.
|
5349
|
+
*/
|
5350
|
+
Ember.computed.readOnly = function(dependentKey) {
|
5351
|
+
return Ember.computed(dependentKey, function() {
|
5352
|
+
return get(this, dependentKey);
|
5353
|
+
}).readOnly();
|
5354
|
+
};
|
5355
|
+
}
|
5116
5356
|
/**
|
5117
5357
|
A computed property that acts like a standard getter and setter,
|
5118
5358
|
but returns the value at the provided `defaultPath` if the
|
@@ -5926,7 +6166,8 @@ var Backburner = requireModule('backburner').Backburner,
|
|
5926
6166
|
onBegin: onBegin,
|
5927
6167
|
onEnd: onEnd
|
5928
6168
|
}),
|
5929
|
-
slice = [].slice
|
6169
|
+
slice = [].slice,
|
6170
|
+
concat = [].concat;
|
5930
6171
|
|
5931
6172
|
// ..........................................................
|
5932
6173
|
// Ember.run - this is ideally the only public API the dev sees
|
@@ -6012,7 +6253,7 @@ Ember.run = function(target, method) {
|
|
6012
6253
|
@return {Object} Return value from invoking the passed function. Please note,
|
6013
6254
|
when called within an existing loop, no return value is possible.
|
6014
6255
|
*/
|
6015
|
-
Ember.run.join = function(target, method) {
|
6256
|
+
Ember.run.join = function(target, method /* args */) {
|
6016
6257
|
if (!Ember.run.currentRunLoop) {
|
6017
6258
|
return Ember.run.apply(Ember.run, arguments);
|
6018
6259
|
}
|
@@ -6022,6 +6263,55 @@ Ember.run.join = function(target, method) {
|
|
6022
6263
|
Ember.run.schedule.apply(Ember.run, args);
|
6023
6264
|
};
|
6024
6265
|
|
6266
|
+
|
6267
|
+
/**
|
6268
|
+
Provides a useful utility for when integrating with non-Ember libraries
|
6269
|
+
that provide asynchronous callbacks.
|
6270
|
+
|
6271
|
+
Ember utilizes a run-loop to batch and coalesce changes. This works by
|
6272
|
+
marking the start and end of Ember-related Javascript execution.
|
6273
|
+
|
6274
|
+
When using events such as a View's click handler, Ember wraps the event
|
6275
|
+
handler in a run-loop, but when integrating with non-Ember libraries this
|
6276
|
+
can be tedious.
|
6277
|
+
|
6278
|
+
For example, the following is rather verbose but is the correct way to combine
|
6279
|
+
third-party events and Ember code.
|
6280
|
+
|
6281
|
+
```javascript
|
6282
|
+
var that = this;
|
6283
|
+
jQuery(window).on('resize', function(){
|
6284
|
+
Ember.run(function(){
|
6285
|
+
that.handleResize();
|
6286
|
+
});
|
6287
|
+
});
|
6288
|
+
```
|
6289
|
+
|
6290
|
+
To reduce the boilerplate, the following can be used to construct a
|
6291
|
+
run-loop-wrapped callback handler.
|
6292
|
+
|
6293
|
+
```javascript
|
6294
|
+
jQuery(window).on('resize', Ember.run.bind(this, this.triggerResize));
|
6295
|
+
```
|
6296
|
+
|
6297
|
+
@method bind
|
6298
|
+
@namespace Ember.run
|
6299
|
+
@param {Object} [target] target of method to call
|
6300
|
+
@param {Function|String} method Method to invoke.
|
6301
|
+
May be a function or a string. If you pass a string
|
6302
|
+
then it will be looked up on the passed target.
|
6303
|
+
@param {Object} [args*] Any additional arguments you wish to pass to the method.
|
6304
|
+
@return {Object} return value from invoking the passed function. Please note,
|
6305
|
+
when called within an existing loop, no return value is possible.
|
6306
|
+
*/
|
6307
|
+
Ember.run.bind = function(target, method /* args*/) {
|
6308
|
+
var args = arguments;
|
6309
|
+
return function() {
|
6310
|
+
return Ember.run.join.apply(Ember.run, args);
|
6311
|
+
};
|
6312
|
+
};
|
6313
|
+
|
6314
|
+
|
6025
6315
|
Ember.run.backburner = backburner;
|
6026
6316
|
|
6027
6317
|
var run = Ember.run;
|
@@ -6191,7 +6481,7 @@ Ember.run.later = function(target, method) {
|
|
6191
6481
|
If you pass a string it will be resolved on the
|
6192
6482
|
target at the time the method is invoked.
|
6193
6483
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
6194
|
-
@return {Object}
|
6484
|
+
@return {Object} Timer information for use in cancelling, see `Ember.run.cancel`.
|
6195
6485
|
*/
|
6196
6486
|
Ember.run.once = function(target, method) {
|
6197
6487
|
checkAutoRun();
|
@@ -6242,7 +6532,7 @@ Ember.run.once = function(target, method) {
|
|
6242
6532
|
If you pass a string it will be resolved on the
|
6243
6533
|
target at the time the method is invoked.
|
6244
6534
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
6245
|
-
@return {Object}
|
6535
|
+
@return {Object} Timer information for use in cancelling, see `Ember.run.cancel`.
|
6246
6536
|
*/
|
6247
6537
|
Ember.run.scheduleOnce = function(queue, target, method) {
|
6248
6538
|
checkAutoRun();
|
@@ -6305,7 +6595,7 @@ Ember.run.scheduleOnce = function(queue, target, method) {
|
|
6305
6595
|
If you pass a string it will be resolved on the
|
6306
6596
|
target at the time the method is invoked.
|
6307
6597
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
6308
|
-
@return {Object}
|
6598
|
+
@return {Object} Timer information for use in cancelling, see `Ember.run.cancel`.
|
6309
6599
|
*/
|
6310
6600
|
Ember.run.next = function() {
|
6311
6601
|
var args = slice.call(arguments);
|
@@ -6315,7 +6605,8 @@ Ember.run.next = function() {
|
|
6315
6605
|
|
6316
6606
|
/**
|
6317
6607
|
Cancels a scheduled item. Must be a value returned by `Ember.run.later()`,
|
6318
|
-
`Ember.run.once()`,
|
6608
|
+
`Ember.run.once()`, `Ember.run.next()`, `Ember.run.debounce()`, or
|
6609
|
+
`Ember.run.throttle()`.
|
6319
6610
|
|
6320
6611
|
```javascript
|
6321
6612
|
var runNext = Ember.run.next(myContext, function() {
|
@@ -6332,11 +6623,29 @@ Ember.run.next = function() {
|
|
6332
6623
|
// will not be executed
|
6333
6624
|
});
|
6334
6625
|
Ember.run.cancel(runOnce);
|
6626
|
+
|
6627
|
+
var throttle = Ember.run.throttle(myContext, function() {
|
6628
|
+
// will not be executed
|
6629
|
+
}, 1);
|
6630
|
+
Ember.run.cancel(throttle);
|
6631
|
+
|
6632
|
+
var debounce = Ember.run.debounce(myContext, function() {
|
6633
|
+
// will not be executed
|
6634
|
+
}, 1);
|
6635
|
+
Ember.run.cancel(debounce);
|
6636
|
+
|
6637
|
+
var debounceImmediate = Ember.run.debounce(myContext, function() {
|
6638
|
+
// will be executed since we passed in true (immediate)
|
6639
|
+
}, 100, true);
|
6640
|
+
// the 100ms delay until this method can be called again will be cancelled
|
6641
|
+
Ember.run.cancel(debounceImmediate);
|
6642
|
+
```
|
6643
|
+
```
|
6335
6644
|
```
|
6336
6645
|
|
6337
6646
|
@method cancel
|
6338
6647
|
@param {Object} timer Timer object to cancel
|
6339
|
-
@return {
|
6648
|
+
@return {Boolean} true if cancelled or false/undefined if it wasn't found
|
6340
6649
|
*/
|
6341
6650
|
Ember.run.cancel = function(timer) {
|
6342
6651
|
return backburner.cancel(timer);
|
@@ -6368,6 +6677,34 @@ Ember.run.cancel = function(timer) {
|
|
6368
6677
|
// console logs 'debounce ran.' one time.
|
6369
6678
|
```
|
6370
6679
|
|
6680
|
+
Immediate allows you to run the function immediately, but debounce
|
6681
|
+
other calls for this function until the wait time has elapsed. If
|
6682
|
+
`debounce` is called again before the specified time has elapsed,
|
6683
|
+
the timer is reset and the entire period msut pass again before
|
6684
|
+
the method can be called again.
|
6685
|
+
|
6686
|
+
```javascript
|
6687
|
+
var myFunc = function() { console.log(this.name + ' ran.'); };
|
6688
|
+
var myContext = {name: 'debounce'};
|
6689
|
+
|
6690
|
+
Ember.run.debounce(myContext, myFunc, 150, true);
|
6691
|
+
|
6692
|
+
// console logs 'debounce ran.' one time immediately.
|
6693
|
+
// 100ms passes
|
6694
|
+
|
6695
|
+
Ember.run.debounce(myContext, myFunc, 150, true);
|
6696
|
+
|
6697
|
+
// 150ms passes and nothing else is logged to the console and
|
6698
|
+
// the debouncee is no longer being watched
|
6699
|
+
|
6700
|
+
Ember.run.debounce(myContext, myFunc, 150, true);
|
6701
|
+
|
6702
|
+
// console logs 'debounce ran.' one time immediately.
|
6703
|
+
// 150ms passes and nothing else is logged tot he console and
|
6704
|
+
// the debouncee is no longer being watched
|
6705
|
+
|
6706
|
+
```
|
6707
|
+
|
6371
6708
|
@method debounce
|
6372
6709
|
@param {Object} [target] target of method to invoke
|
6373
6710
|
@param {Function|String} method The method to invoke.
|
@@ -6376,7 +6713,7 @@ Ember.run.cancel = function(timer) {
|
|
6376
6713
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
6377
6714
|
@param {Number} wait Number of milliseconds to wait.
|
6378
6715
|
@param {Boolean} immediate Trigger the function on the leading instead of the trailing edge of the wait interval.
|
6379
|
-
@return {
|
6716
|
+
@return {Array} Timer information for use in cancelling, see `Ember.run.cancel`.
|
6380
6717
|
*/
|
6381
6718
|
Ember.run.debounce = function() {
|
6382
6719
|
return backburner.debounce.apply(backburner, arguments);
|
@@ -6413,7 +6750,7 @@ Ember.run.debounce = function() {
|
|
6413
6750
|
then it will be looked up on the passed target.
|
6414
6751
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
6415
6752
|
@param {Number} spacing Number of milliseconds to space out requests.
|
6416
|
-
@return {
|
6753
|
+
@return {Array} Timer information for use in cancelling, see `Ember.run.cancel`.
|
6417
6754
|
*/
|
6418
6755
|
Ember.run.throttle = function() {
|
6419
6756
|
return backburner.throttle.apply(backburner, arguments);
|
@@ -6921,6 +7258,9 @@ var Mixin, REQUIRED, Alias,
|
|
6921
7258
|
guidFor = Ember.guidFor;
|
6922
7259
|
|
6923
7260
|
|
7261
|
+
var expandProperties = Ember.expandProperties;
|
7262
|
+
|
7263
|
+
|
6924
7264
|
function mixinsMeta(obj) {
|
6925
7265
|
var m = Ember.meta(obj, true), ret = m.mixins;
|
6926
7266
|
if (!ret) {
|
@@ -7491,34 +7831,6 @@ Alias = function(methodName) {
|
|
7491
7831
|
};
|
7492
7832
|
Alias.prototype = new Ember.Descriptor();
|
7493
7833
|
|
7494
|
-
/**
|
7495
|
-
Makes a property or method available via an additional name.
|
7496
|
-
|
7497
|
-
```javascript
|
7498
|
-
App.PaintSample = Ember.Object.extend({
|
7499
|
-
color: 'red',
|
7500
|
-
colour: Ember.alias('color'),
|
7501
|
-
name: function() {
|
7502
|
-
return "Zed";
|
7503
|
-
},
|
7504
|
-
moniker: Ember.alias("name")
|
7505
|
-
});
|
7506
|
-
|
7507
|
-
var paintSample = App.PaintSample.create()
|
7508
|
-
paintSample.get('colour'); // 'red'
|
7509
|
-
paintSample.moniker(); // 'Zed'
|
7510
|
-
```
|
7511
|
-
|
7512
|
-
@method alias
|
7513
|
-
@for Ember
|
7514
|
-
@param {String} methodName name of the method or property to alias
|
7515
|
-
@return {Ember.Descriptor}
|
7516
|
-
@deprecated Use `Ember.aliasMethod` or `Ember.computed.alias` instead
|
7517
|
-
*/
|
7518
|
-
Ember.alias = function(methodName) {
|
7519
|
-
return new Alias(methodName);
|
7520
|
-
};
|
7521
|
-
|
7522
7834
|
/**
|
7523
7835
|
Makes a method available via an additional name.
|
7524
7836
|
|
@@ -7574,16 +7886,22 @@ Ember.observer = function() {
|
|
7574
7886
|
var paths;
|
7575
7887
|
|
7576
7888
|
|
7577
|
-
|
7889
|
+
var addWatchedProperty = function (path) { paths.push(path); };
|
7890
|
+
var _paths = a_slice.call(arguments, 0, -1);
|
7578
7891
|
|
7579
7892
|
if (typeof func !== "function") {
|
7580
7893
|
// revert to old, soft-deprecated argument ordering
|
7581
7894
|
|
7582
7895
|
func = arguments[0];
|
7583
|
-
|
7896
|
+
_paths = a_slice.call(arguments, 1);
|
7584
7897
|
}
|
7585
|
-
|
7586
7898
|
|
7899
|
+
paths = [];
|
7900
|
+
|
7901
|
+
for (var i=0; i<_paths.length; ++i) {
|
7902
|
+
expandProperties(_paths[i], addWatchedProperty);
|
7903
|
+
}
|
7904
|
+
|
7587
7905
|
if (typeof func !== "function") {
|
7588
7906
|
throw new Ember.Error("Ember.observer called without a function");
|
7589
7907
|
}
|
@@ -7671,16 +7989,23 @@ Ember.beforeObserver = function() {
|
|
7671
7989
|
var paths;
|
7672
7990
|
|
7673
7991
|
|
7674
|
-
|
7992
|
+
var addWatchedProperty = function(path) { paths.push(path); };
|
7993
|
+
|
7994
|
+
var _paths = a_slice.call(arguments, 0, -1);
|
7675
7995
|
|
7676
7996
|
if (typeof func !== "function") {
|
7677
7997
|
// revert to old, soft-deprecated argument ordering
|
7678
7998
|
|
7679
7999
|
func = arguments[0];
|
7680
|
-
|
8000
|
+
_paths = a_slice.call(arguments, 1);
|
7681
8001
|
}
|
7682
|
-
|
7683
8002
|
|
8003
|
+
paths = [];
|
8004
|
+
|
8005
|
+
for (var i=0; i<_paths.length; ++i) {
|
8006
|
+
expandProperties(_paths[i], addWatchedProperty);
|
8007
|
+
}
|
8008
|
+
|
7684
8009
|
if (typeof func !== "function") {
|
7685
8010
|
throw new Ember.Error("Ember.beforeObserver called without a function");
|
7686
8011
|
}
|
@@ -9917,6 +10242,7 @@ Ember.MODEL_FACTORY_INJECTIONS = false || !!Ember.ENV.MODEL_FACTORY_INJECTIONS;
|
|
9917
10242
|
define("container",
|
9918
10243
|
[],
|
9919
10244
|
function() {
|
10245
|
+
"use strict";
|
9920
10246
|
|
9921
10247
|
// A safe and simple inheriting object.
|
9922
10248
|
function InheritingDict(parent) {
|
@@ -10038,7 +10364,8 @@ define("container",
|
|
10038
10364
|
|
10039
10365
|
this.registry = new InheritingDict(parent && parent.registry);
|
10040
10366
|
this.cache = new InheritingDict(parent && parent.cache);
|
10041
|
-
this.factoryCache = new InheritingDict(parent && parent.
|
10367
|
+
this.factoryCache = new InheritingDict(parent && parent.factoryCache);
|
10368
|
+
this.resolveCache = new InheritingDict(parent && parent.resolveCache);
|
10042
10369
|
this.typeInjections = new InheritingDict(parent && parent.typeInjections);
|
10043
10370
|
this.injections = {};
|
10044
10371
|
|
@@ -10159,9 +10486,7 @@ define("container",
|
|
10159
10486
|
@param {Object} options
|
10160
10487
|
*/
|
10161
10488
|
register: function(fullName, factory, options) {
|
10162
|
-
|
10163
|
-
throw new TypeError("malformed fullName, expected: `type:name` got: " + fullName + "");
|
10164
|
-
}
|
10489
|
+
validateFullName(fullName);
|
10165
10490
|
|
10166
10491
|
if (factory === undefined) {
|
10167
10492
|
throw new TypeError('Attempting to register an unknown factory: `' + fullName + '`');
|
@@ -10194,11 +10519,14 @@ define("container",
|
|
10194
10519
|
@param {String} fullName
|
10195
10520
|
*/
|
10196
10521
|
unregister: function(fullName) {
|
10522
|
+
validateFullName(fullName);
|
10523
|
+
|
10197
10524
|
var normalizedName = this.normalize(fullName);
|
10198
10525
|
|
10199
10526
|
this.registry.remove(normalizedName);
|
10200
10527
|
this.cache.remove(normalizedName);
|
10201
10528
|
this.factoryCache.remove(normalizedName);
|
10529
|
+
this.resolveCache.remove(normalizedName);
|
10202
10530
|
this._options.remove(normalizedName);
|
10203
10531
|
},
|
10204
10532
|
|
@@ -10235,7 +10563,18 @@ define("container",
|
|
10235
10563
|
@return {Function} fullName's factory
|
10236
10564
|
*/
|
10237
10565
|
resolve: function(fullName) {
|
10238
|
-
|
10566
|
+
validateFullName(fullName);
|
10567
|
+
|
10568
|
+
var normalizedName = this.normalize(fullName);
|
10569
|
+
var cached = this.resolveCache.get(normalizedName);
|
10570
|
+
|
10571
|
+
if (cached) { return cached; }
|
10572
|
+
|
10573
|
+
var resolved = this.resolver(normalizedName) || this.registry.get(normalizedName);
|
10574
|
+
|
10575
|
+
this.resolveCache.set(normalizedName, resolved);
|
10576
|
+
|
10577
|
+
return resolved;
|
10239
10578
|
},
|
10240
10579
|
|
10241
10580
|
/**
|
@@ -10316,23 +10655,8 @@ define("container",
|
|
10316
10655
|
@return {any}
|
10317
10656
|
*/
|
10318
10657
|
lookup: function(fullName, options) {
|
10319
|
-
|
10320
|
-
|
10321
|
-
options = options || {};
|
10322
|
-
|
10323
|
-
if (this.cache.has(fullName) && options.singleton !== false) {
|
10324
|
-
return this.cache.get(fullName);
|
10325
|
-
}
|
10326
|
-
|
10327
|
-
var value = instantiate(this, fullName);
|
10328
|
-
|
10329
|
-
if (value === undefined) { return; }
|
10330
|
-
|
10331
|
-
if (isSingleton(this, fullName) && options.singleton !== false) {
|
10332
|
-
this.cache.set(fullName, value);
|
10333
|
-
}
|
10334
|
-
|
10335
|
-
return value;
|
10658
|
+
validateFullName(fullName);
|
10659
|
+
return lookup(this, this.normalize(fullName), options);
|
10336
10660
|
},
|
10337
10661
|
|
10338
10662
|
/**
|
@@ -10343,7 +10667,8 @@ define("container",
|
|
10343
10667
|
@return {any}
|
10344
10668
|
*/
|
10345
10669
|
lookupFactory: function(fullName) {
|
10346
|
-
|
10670
|
+
validateFullName(fullName);
|
10671
|
+
return factoryFor(this, this.normalize(fullName));
|
10347
10672
|
},
|
10348
10673
|
|
10349
10674
|
/**
|
@@ -10355,11 +10680,8 @@ define("container",
|
|
10355
10680
|
@return {Boolean}
|
10356
10681
|
*/
|
10357
10682
|
has: function(fullName) {
|
10358
|
-
|
10359
|
-
|
10360
|
-
}
|
10361
|
-
|
10362
|
-
return !!this.resolve(fullName);
|
10683
|
+
validateFullName(fullName);
|
10684
|
+
return has(this, this.normalize(fullName));
|
10363
10685
|
},
|
10364
10686
|
|
10365
10687
|
/**
|
@@ -10440,6 +10762,7 @@ define("container",
|
|
10440
10762
|
@param {String} fullName
|
10441
10763
|
*/
|
10442
10764
|
typeInjection: function(type, property, fullName) {
|
10765
|
+
validateFullName(fullName);
|
10443
10766
|
if (this.parent) { illegalChildOperation('typeInjection'); }
|
10444
10767
|
|
10445
10768
|
addTypeInjection(this.typeInjections, type, property, fullName);
|
@@ -10489,14 +10812,20 @@ define("container",
|
|
10489
10812
|
@param {String} property
|
10490
10813
|
@param {String} injectionName
|
10491
10814
|
*/
|
10492
|
-
injection: function(
|
10815
|
+
injection: function(fullName, property, injectionName) {
|
10493
10816
|
if (this.parent) { illegalChildOperation('injection'); }
|
10494
10817
|
|
10495
|
-
|
10496
|
-
|
10818
|
+
validateFullName(injectionName);
|
10819
|
+
var normalizedInjectionName = this.normalize(injectionName);
|
10820
|
+
|
10821
|
+
if (fullName.indexOf(':') === -1) {
|
10822
|
+
return this.typeInjection(fullName, property, normalizedInjectionName);
|
10497
10823
|
}
|
10498
10824
|
|
10499
|
-
|
10825
|
+
validateFullName(fullName);
|
10826
|
+
var normalizedName = this.normalize(fullName);
|
10827
|
+
|
10828
|
+
addInjection(this.injections, normalizedName, property, normalizedInjectionName);
|
10500
10829
|
},
|
10501
10830
|
|
10502
10831
|
|
@@ -10532,7 +10861,7 @@ define("container",
|
|
10532
10861
|
factoryTypeInjection: function(type, property, fullName) {
|
10533
10862
|
if (this.parent) { illegalChildOperation('factoryTypeInjection'); }
|
10534
10863
|
|
10535
|
-
addTypeInjection(this.factoryTypeInjections, type, property, fullName);
|
10864
|
+
addTypeInjection(this.factoryTypeInjections, type, property, this.normalize(fullName));
|
10536
10865
|
},
|
10537
10866
|
|
10538
10867
|
/**
|
@@ -10584,14 +10913,21 @@ define("container",
|
|
10584
10913
|
@param {String} property
|
10585
10914
|
@param {String} injectionName
|
10586
10915
|
*/
|
10587
|
-
factoryInjection: function(
|
10916
|
+
factoryInjection: function(fullName, property, injectionName) {
|
10588
10917
|
if (this.parent) { illegalChildOperation('injection'); }
|
10589
10918
|
|
10590
|
-
|
10591
|
-
|
10919
|
+
var normalizedName = this.normalize(fullName);
|
10920
|
+
var normalizedInjectionName = this.normalize(injectionName);
|
10921
|
+
|
10922
|
+
validateFullName(injectionName);
|
10923
|
+
|
10924
|
+
if (fullName.indexOf(':') === -1) {
|
10925
|
+
return this.factoryTypeInjection(normalizedName, property, normalizedInjectionName);
|
10592
10926
|
}
|
10593
10927
|
|
10594
|
-
|
10928
|
+
validateFullName(fullName);
|
10929
|
+
|
10930
|
+
addInjection(this.factoryInjections, normalizedName, property, normalizedInjectionName);
|
10595
10931
|
},
|
10596
10932
|
|
10597
10933
|
/**
|
@@ -10601,7 +10937,6 @@ define("container",
|
|
10601
10937
|
@method destroy
|
10602
10938
|
*/
|
10603
10939
|
destroy: function() {
|
10604
|
-
|
10605
10940
|
for (var i=0, l=this.children.length; i<l; i++) {
|
10606
10941
|
this.children[i].destroy();
|
10607
10942
|
}
|
@@ -10627,6 +10962,32 @@ define("container",
|
|
10627
10962
|
}
|
10628
10963
|
};
|
10629
10964
|
|
10965
|
+
function has(container, fullName){
|
10966
|
+
if (container.cache.has(fullName)) {
|
10967
|
+
return true;
|
10968
|
+
}
|
10969
|
+
|
10970
|
+
return !!container.resolve(fullName);
|
10971
|
+
}
|
10972
|
+
|
10973
|
+
function lookup(container, fullName, options) {
|
10974
|
+
options = options || {};
|
10975
|
+
|
10976
|
+
if (container.cache.has(fullName) && options.singleton !== false) {
|
10977
|
+
return container.cache.get(fullName);
|
10978
|
+
}
|
10979
|
+
|
10980
|
+
var value = instantiate(container, fullName);
|
10981
|
+
|
10982
|
+
if (value === undefined) { return; }
|
10983
|
+
|
10984
|
+
if (isSingleton(container, fullName) && options.singleton !== false) {
|
10985
|
+
container.cache.set(fullName, value);
|
10986
|
+
}
|
10987
|
+
|
10988
|
+
return value;
|
10989
|
+
}
|
10990
|
+
|
10630
10991
|
function illegalChildOperation(operation) {
|
10631
10992
|
throw new Error(operation + " is not currently supported on child containers");
|
10632
10993
|
}
|
@@ -10642,14 +11003,14 @@ define("container",
|
|
10642
11003
|
|
10643
11004
|
if (!injections) { return hash; }
|
10644
11005
|
|
10645
|
-
var injection,
|
11006
|
+
var injection, injectable;
|
10646
11007
|
|
10647
11008
|
for (var i=0, l=injections.length; i<l; i++) {
|
10648
11009
|
injection = injections[i];
|
10649
|
-
|
11010
|
+
injectable = lookup(container, injection.fullName);
|
10650
11011
|
|
10651
|
-
if (
|
10652
|
-
hash[injection.property] =
|
11012
|
+
if (injectable !== undefined) {
|
11013
|
+
hash[injection.property] = injectable;
|
10653
11014
|
} else {
|
10654
11015
|
throw new Error('Attempting to inject an unknown injection: `' + injection.fullName + '`');
|
10655
11016
|
}
|
@@ -10674,7 +11035,7 @@ define("container",
|
|
10674
11035
|
}
|
10675
11036
|
|
10676
11037
|
function factoryFor(container, fullName) {
|
10677
|
-
var name =
|
11038
|
+
var name = fullName;
|
10678
11039
|
var factory = container.resolve(name);
|
10679
11040
|
var injectedFactory;
|
10680
11041
|
var cache = container.factoryCache;
|
@@ -10784,6 +11145,13 @@ define("container",
|
|
10784
11145
|
});
|
10785
11146
|
}
|
10786
11147
|
|
11148
|
+
var VALID_FULL_NAME_REGEXP = /^[^:]+.+:[^:]+$/;
|
11149
|
+
function validateFullName(fullName) {
|
11150
|
+
if (!VALID_FULL_NAME_REGEXP.test(fullName)) {
|
11151
|
+
throw new TypeError('Invalid Fullname, expected: `type:name` got: ' + fullName);
|
11152
|
+
}
|
11153
|
+
}
|
11154
|
+
|
10787
11155
|
function addInjection(rules, factoryName, property, injectionName) {
|
10788
11156
|
var injections = rules[factoryName] = rules[factoryName] || [];
|
10789
11157
|
injections.push({ property: property, fullName: injectionName });
|
@@ -10977,39 +11345,6 @@ Ember.copy = function(obj, deep) {
|
|
10977
11345
|
return _copy(obj, deep, deep ? [] : null, deep ? [] : null);
|
10978
11346
|
};
|
10979
11347
|
|
10980
|
-
/**
|
10981
|
-
Convenience method to inspect an object. This method will attempt to
|
10982
|
-
convert the object into a useful string description.
|
10983
|
-
|
10984
|
-
It is a pretty simple implementation. If you want something more robust,
|
10985
|
-
use something like JSDump: https://github.com/NV/jsDump
|
10986
|
-
|
10987
|
-
@method inspect
|
10988
|
-
@for Ember
|
10989
|
-
@param {Object} obj The object you want to inspect.
|
10990
|
-
@return {String} A description of the object
|
10991
|
-
*/
|
10992
|
-
Ember.inspect = function(obj) {
|
10993
|
-
var type = Ember.typeOf(obj);
|
10994
|
-
if (type === 'array') {
|
10995
|
-
return '[' + obj + ']';
|
10996
|
-
}
|
10997
|
-
if (type !== 'object') {
|
10998
|
-
return obj + '';
|
10999
|
-
}
|
11000
|
-
|
11001
|
-
var v, ret = [];
|
11002
|
-
for(var key in obj) {
|
11003
|
-
if (obj.hasOwnProperty(key)) {
|
11004
|
-
v = obj[key];
|
11005
|
-
if (v === 'toString') { continue; } // ignore useless items
|
11006
|
-
if (Ember.typeOf(v) === 'function') { v = "function() { ... }"; }
|
11007
|
-
ret.push(key + ": " + v);
|
11008
|
-
}
|
11009
|
-
}
|
11010
|
-
return "{" + ret.join(", ") + "}";
|
11011
|
-
};
|
11012
|
-
|
11013
11348
|
/**
|
11014
11349
|
Compares two objects, returning true if they are logically equal. This is
|
11015
11350
|
a deeper comparison than a simple triple equal. For sets it will compare the
|
@@ -11114,6 +11449,10 @@ var STRING_DECAMELIZE_REGEXP = (/([a-z\d])([A-Z])/g);
|
|
11114
11449
|
var STRING_CAMELIZE_REGEXP = (/(\-|_|\.|\s)+(.)?/g);
|
11115
11450
|
var STRING_UNDERSCORE_REGEXP_1 = (/([a-z\d])([A-Z]+)/g);
|
11116
11451
|
var STRING_UNDERSCORE_REGEXP_2 = (/\-|\s+/g);
|
11452
|
+
var STRING_PARAMETERIZE_REGEXP_1 = (/[_|\/|\s]+/g);
|
11453
|
+
var STRING_PARAMETERIZE_REGEXP_2 = (/[^a-z0-9\-]+/gi);
|
11454
|
+
var STRING_PARAMETERIZE_REGEXP_3 = (/[\-]+/g);
|
11455
|
+
var STRING_PARAMETERIZE_REGEXP_4 = (/^-+|-+$/g);
|
11117
11456
|
|
11118
11457
|
/**
|
11119
11458
|
Defines the hash of localized strings for the current language. Used by
|
@@ -11352,6 +11691,54 @@ Ember.String = {
|
|
11352
11691
|
}
|
11353
11692
|
};
|
11354
11693
|
|
11694
|
+
if (Ember.FEATURES.isEnabled("string-humanize")) {
|
11695
|
+
/**
|
11696
|
+
Returns the Humanized form of a string
|
11697
|
+
|
11698
|
+
Replaces underscores with spaces, and capitializes first character
|
11699
|
+
of string. Also strips "_id" suffixes.
|
11700
|
+
|
11701
|
+
```javascript
|
11702
|
+
'first_name'.humanize() // 'First name'
|
11703
|
+
'user_id'.humanize() // 'User'
|
11704
|
+
```
|
11705
|
+
|
11706
|
+
@method humanize
|
11707
|
+
@param {String} str The string to humanize.
|
11708
|
+
@return {String} The humanized string.
|
11709
|
+
*/
|
11710
|
+
|
11711
|
+
Ember.String.humanize = function(str) {
|
11712
|
+
return str.replace(/_id$/, '').
|
11713
|
+
replace(/_/g, ' ').
|
11714
|
+
replace(/^\w/g, function(s){
|
11715
|
+
return s.toUpperCase();
|
11716
|
+
});
|
11717
|
+
};
|
11718
|
+
}
|
11719
|
+
|
11720
|
+
if (Ember.FEATURES.isEnabled("string-parameterize")) {
|
11721
|
+
/**
|
11722
|
+
Transforms a string so that it may be used as part of a 'pretty' / SEO friendly URL.
|
11723
|
+
|
11724
|
+
```javascript
|
11725
|
+
'My favorite items.'.parameterize(); // 'my-favorite-items'
|
11726
|
+
'action_name'.parameterize(); // 'action-name'
|
11727
|
+
'100 ways Ember.js is better than Angular.'.parameterize(); // '100-ways-emberjs-is-better-than-angular'
|
11728
|
+
```
|
11729
|
+
|
11730
|
+
@method parameterize
|
11731
|
+
@param {String} str The string to parameterize.
|
11732
|
+
@return {String} the parameterized string.
|
11733
|
+
*/
|
11734
|
+
Ember.String.parameterize = function(str) {
|
11735
|
+
return str.replace(STRING_PARAMETERIZE_REGEXP_1, '-') // replace underscores, slashes and spaces with separator
|
11736
|
+
.replace(STRING_PARAMETERIZE_REGEXP_2, '') // remove non-alphanumeric characters except the separator
|
11737
|
+
.replace(STRING_PARAMETERIZE_REGEXP_3, '-') // replace multiple occurring separators
|
11738
|
+
.replace(STRING_PARAMETERIZE_REGEXP_4, '') // trim leading and trailing separators
|
11739
|
+
.toLowerCase();
|
11740
|
+
};
|
11741
|
+
}
|
11355
11742
|
|
11356
11743
|
|
11357
11744
|
})();
|
@@ -11376,6 +11763,13 @@ var fmt = Ember.String.fmt,
|
|
11376
11763
|
capitalize = Ember.String.capitalize,
|
11377
11764
|
classify = Ember.String.classify;
|
11378
11765
|
|
11766
|
+
if (Ember.FEATURES.isEnabled("string-humanize")) {
|
11767
|
+
var humanize = Ember.String.humanize;
|
11768
|
+
}
|
11769
|
+
|
11770
|
+
if (Ember.FEATURES.isEnabled("string-parameterize")) {
|
11771
|
+
var parameterize = Ember.String.parameterize;
|
11772
|
+
}
|
11379
11773
|
|
11380
11774
|
if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.String) {
|
11381
11775
|
|
@@ -11469,7 +11863,30 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.String) {
|
|
11469
11863
|
return capitalize(this);
|
11470
11864
|
};
|
11471
11865
|
|
11472
|
-
|
11866
|
+
if (Ember.FEATURES.isEnabled("string-humanize")) {
|
11867
|
+
/**
|
11868
|
+
See [Ember.String.humanize](/api/classes/Ember.String.html#method_humanize).
|
11869
|
+
|
11870
|
+
@method humanize
|
11871
|
+
@for String
|
11872
|
+
*/
|
11873
|
+
String.prototype.humanize = function() {
|
11874
|
+
return humanize(this);
|
11875
|
+
};
|
11876
|
+
}
|
11877
|
+
|
11878
|
+
if (Ember.FEATURES.isEnabled("string-parameterize")) {
|
11879
|
+
/**
|
11880
|
+
See [Ember.String.parameterize](/api/classes/Ember.String.html#method_parameterize).
|
11881
|
+
|
11882
|
+
@method parameterize
|
11883
|
+
@for String
|
11884
|
+
*/
|
11885
|
+
String.prototype.parameterize = function() {
|
11886
|
+
return parameterize(this);
|
11887
|
+
};
|
11888
|
+
}
|
11889
|
+
|
11473
11890
|
}
|
11474
11891
|
|
11475
11892
|
|
@@ -13831,7 +14248,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
13831
14248
|
var ret = initialValue;
|
13832
14249
|
|
13833
14250
|
this.forEach(function(item, i) {
|
13834
|
-
ret = callback
|
14251
|
+
ret = callback(ret, item, i, this, reducerProperty);
|
13835
14252
|
}, this);
|
13836
14253
|
|
13837
14254
|
return ret;
|
@@ -13854,7 +14271,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
13854
14271
|
this.forEach(function(x, idx) {
|
13855
14272
|
var method = x && x[methodName];
|
13856
14273
|
if ('function' === typeof method) {
|
13857
|
-
ret[idx] = args ? method.apply(x, args) :
|
14274
|
+
ret[idx] = args ? method.apply(x, args) : x[methodName]();
|
13858
14275
|
}
|
13859
14276
|
}, this);
|
13860
14277
|
|
@@ -14049,8 +14466,6 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
14049
14466
|
notify range observers.
|
14050
14467
|
|
14051
14468
|
@method enumerableContentDidChange
|
14052
|
-
@param {Number} [start] optional start offset for the content change.
|
14053
|
-
For unordered enumerables, you should always pass -1.
|
14054
14469
|
@param {Ember.Enumerable|Number} removing An enumerable of the objects to
|
14055
14470
|
be removed or the number of items to be removed.
|
14056
14471
|
@param {Ember.Enumerable|Number} adding An enumerable of the objects to
|
@@ -14260,7 +14675,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, {
|
|
14260
14675
|
|
14261
14676
|
@method slice
|
14262
14677
|
@param {Integer} beginIndex (Optional) index to begin slicing from.
|
14263
|
-
@param {Integer} endIndex (Optional) index to end the slice at.
|
14678
|
+
@param {Integer} endIndex (Optional) index to end the slice at (but not included).
|
14264
14679
|
@return {Array} New array with specified slice
|
14265
14680
|
*/
|
14266
14681
|
slice: function(beginIndex, endIndex) {
|
@@ -14411,7 +14826,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, {
|
|
14411
14826
|
Becomes true whenever the array currently has observers watching changes
|
14412
14827
|
on the array.
|
14413
14828
|
|
14414
|
-
@property Boolean
|
14829
|
+
@property {Boolean} hasArrayObservers
|
14415
14830
|
*/
|
14416
14831
|
hasArrayObservers: Ember.computed(function() {
|
14417
14832
|
return Ember.hasListeners(this, '@array:change') || Ember.hasListeners(this, '@array:before');
|
@@ -14561,6 +14976,9 @@ var e_get = Ember.get,
|
|
14561
14976
|
arrayBracketPattern = /\.\[\]$/;
|
14562
14977
|
|
14563
14978
|
|
14979
|
+
var expandProperties = Ember.expandProperties;
|
14980
|
+
|
14981
|
+
|
14564
14982
|
function get(obj, key) {
|
14565
14983
|
if (key === '@this') {
|
14566
14984
|
return obj;
|
@@ -15053,6 +15471,7 @@ function ReduceComputedProperty(options) {
|
|
15053
15471
|
}, this);
|
15054
15472
|
};
|
15055
15473
|
|
15474
|
+
|
15056
15475
|
this.func = function (propertyName) {
|
15057
15476
|
|
15058
15477
|
recompute.call(this, propertyName);
|
@@ -15139,10 +15558,13 @@ ReduceComputedProperty.prototype.property = function () {
|
|
15139
15558
|
dependentArrayKey = match[1];
|
15140
15559
|
|
15141
15560
|
|
15142
|
-
|
15143
|
-
|
15144
|
-
|
15145
|
-
|
15561
|
+
var itemPropertyKeyPattern = match[2],
|
15562
|
+
addItemPropertyKey = function (itemPropertyKey) {
|
15563
|
+
cp.itemPropertyKey(dependentArrayKey, itemPropertyKey);
|
15564
|
+
};
|
15565
|
+
|
15566
|
+
expandProperties(itemPropertyKeyPattern, addItemPropertyKey);
|
15567
|
+
propertyArgs.add(dependentArrayKey);
|
15146
15568
|
} else {
|
15147
15569
|
propertyArgs.add(dependentKey);
|
15148
15570
|
}
|
@@ -15252,7 +15674,7 @@ ReduceComputedProperty.prototype.property = function () {
|
|
15252
15674
|
|
15253
15675
|
```javascript
|
15254
15676
|
Ember.computed.max = function (dependentKey) {
|
15255
|
-
return Ember.reduceComputed
|
15677
|
+
return Ember.reduceComputed(dependentKey, {
|
15256
15678
|
initialValue: -Infinity,
|
15257
15679
|
|
15258
15680
|
addedItem: function (accumulatedValue, item, changeMeta, instanceMeta) {
|
@@ -15561,6 +15983,30 @@ var get = Ember.get,
|
|
15561
15983
|
map = Ember.EnumerableUtils.map,
|
15562
15984
|
SearchProxy;
|
15563
15985
|
|
15986
|
+
/**
|
15987
|
+
A computed property that returns the sum of the value
|
15988
|
+
in the dependent array.
|
15989
|
+
|
15990
|
+
@method computed.sum
|
15991
|
+
@for Ember
|
15992
|
+
@param {String} dependentKey
|
15993
|
+
@return {Ember.ComputedProperty} computes the sum of all values in the dependentKey's array
|
15994
|
+
*/
|
15995
|
+
|
15996
|
+
Ember.computed.sum = function(dependentKey){
|
15997
|
+
return Ember.reduceComputed(dependentKey, {
|
15998
|
+
initialValue: 0,
|
15999
|
+
|
16000
|
+
addedItem: function(accumulatedValue, item, changeMeta, instanceMeta){
|
16001
|
+
return accumulatedValue + item;
|
16002
|
+
},
|
16003
|
+
|
16004
|
+
removedItem: function(accumulatedValue, item, changeMeta, instanceMeta){
|
16005
|
+
return accumulatedValue - item;
|
16006
|
+
}
|
16007
|
+
});
|
16008
|
+
};
|
16009
|
+
|
15564
16010
|
/**
|
15565
16011
|
A computed property that calculates the maximum value in the
|
15566
16012
|
dependent array. This will return `-Infinity` when the dependent
|
@@ -15594,7 +16040,7 @@ var get = Ember.get,
|
|
15594
16040
|
@return {Ember.ComputedProperty} computes the largest value in the dependentKey's array
|
15595
16041
|
*/
|
15596
16042
|
Ember.computed.max = function (dependentKey) {
|
15597
|
-
return Ember.reduceComputed
|
16043
|
+
return Ember.reduceComputed(dependentKey, {
|
15598
16044
|
initialValue: -Infinity,
|
15599
16045
|
|
15600
16046
|
addedItem: function (accumulatedValue, item, changeMeta, instanceMeta) {
|
@@ -15642,7 +16088,7 @@ Ember.computed.max = function (dependentKey) {
|
|
15642
16088
|
@return {Ember.ComputedProperty} computes the smallest value in the dependentKey's array
|
15643
16089
|
*/
|
15644
16090
|
Ember.computed.min = function (dependentKey) {
|
15645
|
-
return Ember.reduceComputed
|
16091
|
+
return Ember.reduceComputed(dependentKey, {
|
15646
16092
|
initialValue: Infinity,
|
15647
16093
|
|
15648
16094
|
addedItem: function (accumulatedValue, item, changeMeta, instanceMeta) {
|
@@ -15927,7 +16373,7 @@ Ember.computed.union = Ember.computed.uniq;
|
|
15927
16373
|
|
15928
16374
|
/**
|
15929
16375
|
A computed property which returns a new array with all the duplicated
|
15930
|
-
elements from two or more
|
16376
|
+
elements from two or more dependent arrays.
|
15931
16377
|
|
15932
16378
|
Example
|
15933
16379
|
|
@@ -16033,7 +16479,7 @@ Ember.computed.setDiff = function (setAProperty, setBProperty) {
|
|
16033
16479
|
if (arguments.length !== 2) {
|
16034
16480
|
throw new Ember.Error("setDiff requires exactly two dependent arrays.");
|
16035
16481
|
}
|
16036
|
-
return Ember.arrayComputed
|
16482
|
+
return Ember.arrayComputed(setAProperty, setBProperty, {
|
16037
16483
|
addedItem: function (array, item, changeMeta, instanceMeta) {
|
16038
16484
|
var setA = get(this, setAProperty),
|
16039
16485
|
setB = get(this, setBProperty);
|
@@ -16233,7 +16679,7 @@ Ember.computed.sort = function (itemsKey, sortDefinition) {
|
|
16233
16679
|
};
|
16234
16680
|
}
|
16235
16681
|
|
16236
|
-
return Ember.arrayComputed
|
16682
|
+
return Ember.arrayComputed(itemsKey, {
|
16237
16683
|
initialize: initFn,
|
16238
16684
|
|
16239
16685
|
addedItem: function (array, item, changeMeta, instanceMeta) {
|
@@ -16296,6 +16742,9 @@ Ember.RSVP.on('error', Ember.RSVP.onerrorDefault);
|
|
16296
16742
|
var a_slice = Array.prototype.slice;
|
16297
16743
|
|
16298
16744
|
|
16745
|
+
var expandProperties = Ember.expandProperties;
|
16746
|
+
|
16747
|
+
|
16299
16748
|
if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
16300
16749
|
|
16301
16750
|
/**
|
@@ -16392,9 +16841,15 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
16392
16841
|
*/
|
16393
16842
|
Function.prototype.observes = function() {
|
16394
16843
|
|
16395
|
-
|
16396
|
-
|
16844
|
+
var addWatchedProperty = function (obs) { watched.push(obs); };
|
16845
|
+
var watched = [];
|
16846
|
+
|
16847
|
+
for (var i=0; i<arguments.length; ++i) {
|
16848
|
+
expandProperties(arguments[i], addWatchedProperty);
|
16849
|
+
}
|
16397
16850
|
|
16851
|
+
this.__ember_observes__ = watched;
|
16852
|
+
|
16398
16853
|
return this;
|
16399
16854
|
};
|
16400
16855
|
|
@@ -16456,9 +16911,15 @@ if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.Function) {
|
|
16456
16911
|
*/
|
16457
16912
|
Function.prototype.observesBefore = function() {
|
16458
16913
|
|
16459
|
-
|
16460
|
-
|
16914
|
+
var addWatchedProperty = function (obs) { watched.push(obs); };
|
16915
|
+
var watched = [];
|
16916
|
+
|
16917
|
+
for (var i=0; i<arguments.length; ++i) {
|
16918
|
+
expandProperties(arguments[i], addWatchedProperty);
|
16919
|
+
}
|
16461
16920
|
|
16921
|
+
this.__ember_observesBefore__ = watched;
|
16922
|
+
|
16462
16923
|
return this;
|
16463
16924
|
};
|
16464
16925
|
|
@@ -17659,6 +18120,7 @@ Ember.ActionHandler = Ember.Mixin.create({
|
|
17659
18120
|
var hashName;
|
17660
18121
|
|
17661
18122
|
if (!props._actions) {
|
18123
|
+
|
17662
18124
|
if (typeOf(props.actions) === 'object') {
|
17663
18125
|
hashName = 'actions';
|
17664
18126
|
} else if (typeOf(props.events) === 'object') {
|
@@ -17703,8 +18165,6 @@ Ember.ActionHandler = Ember.Mixin.create({
|
|
17703
18165
|
|
17704
18166
|
(function() {
|
17705
18167
|
var set = Ember.set, get = Ember.get,
|
17706
|
-
resolve = Ember.RSVP.resolve,
|
17707
|
-
rethrow = Ember.RSVP.rethrow,
|
17708
18168
|
not = Ember.computed.not,
|
17709
18169
|
or = Ember.computed.or;
|
17710
18170
|
|
@@ -17713,14 +18173,15 @@ var set = Ember.set, get = Ember.get,
|
|
17713
18173
|
@submodule ember-runtime
|
17714
18174
|
*/
|
17715
18175
|
|
17716
|
-
function
|
17717
|
-
promise.then(function(value) {
|
18176
|
+
function tap(proxy, promise) {
|
18177
|
+
return promise.then(function(value) {
|
17718
18178
|
set(proxy, 'isFulfilled', true);
|
17719
18179
|
set(proxy, 'content', value);
|
18180
|
+
return value;
|
17720
18181
|
}, function(reason) {
|
17721
18182
|
set(proxy, 'isRejected', true);
|
17722
18183
|
set(proxy, 'reason', reason);
|
17723
|
-
|
18184
|
+
throw reason;
|
17724
18185
|
}, "Ember: PromiseProxy");
|
17725
18186
|
}
|
17726
18187
|
|
@@ -17849,9 +18310,7 @@ Ember.PromiseProxyMixin = Ember.Mixin.create({
|
|
17849
18310
|
*/
|
17850
18311
|
promise: Ember.computed(function(key, promise) {
|
17851
18312
|
if (arguments.length === 2) {
|
17852
|
-
|
17853
|
-
observePromise(this, promise);
|
17854
|
-
return promise.then(); // fork the promise.
|
18313
|
+
return tap(this, promise);
|
17855
18314
|
} else {
|
17856
18315
|
throw new Ember.Error("PromiseProxy's promise must be set");
|
17857
18316
|
}
|