ember-source 1.0.0.rc6.2 → 1.0.0.rc6.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/dist/ember-data-deps.js +736 -538
- data/dist/ember-data-deps.min.js +6 -6
- data/dist/ember-data-deps.prod.js +731 -533
- data/dist/ember-debug.js +2 -2
- data/dist/ember-old-router.js +1040 -656
- data/dist/ember-old-router.min.js +9 -9
- data/dist/ember-old-router.prod.js +1030 -647
- data/dist/ember-runtime.js +713 -515
- data/dist/ember-runtime.min.js +5 -5
- data/dist/ember-runtime.prod.js +708 -510
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +8 -8
- data/dist/ember-template-compiler.min.js +2 -2
- data/dist/ember-template-compiler.prod.js +3 -3
- data/dist/ember-tests.js +8 -3
- data/dist/ember.js +1486 -837
- data/dist/ember.min.js +9 -9
- data/dist/ember.prod.js +1391 -783
- metadata +4 -3
@@ -8,14 +8,14 @@
|
|
8
8
|
// ==========================================================================
|
9
9
|
|
10
10
|
|
11
|
-
// Version: v1.0.0-rc.6-
|
12
|
-
// Last commit:
|
11
|
+
// Version: v1.0.0-rc.6-221-g9d051c2
|
12
|
+
// Last commit: 9d051c2 (2013-07-28 23:13:59 -0700)
|
13
13
|
|
14
14
|
|
15
|
-
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,s,o,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");s=i.deps,o=i.callback,a=[];for(var c=0,l=s.length;l>c;c++)"exports"===s[c]?a.push(u={}):a.push(t(s[c]));var h=o.apply(this,a);return n[e]=u||h}}(),function(){function e(e){return r.console&&r.console[e]?r.console[e].apply?function(){r.console[e].apply(r.console,arguments)}:function(){var t=Array.prototype.join.call(arguments,", ");r.console[e](t)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},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)}},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(s){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],s=0;r>s;s++)s in t&&(n[s]=e.call(i,t[s],s,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(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,s=0,o=[],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");var n=t+s++;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=o[e],t||(t=o[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+s++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+s++,c.value=t,r(e,i,c),t)}};var l={writable:!0,configurable:!1,enumerable:!1,value:null},h=Ember.GUID_KEY+"_meta";Ember.META_KEY=h;var m={descs:{},watching:{}};u&&(m.values={}),Ember.EMPTY_META=m,Object.freeze&&Object.freeze(m);var f=Ember.platform.defineProperty.isSimulated;f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var s=t[h];return i===!1?s||m:(s?s.source!==t&&(f||r(t,h,l),s=n(s),s.descs=n(s.descs),s.watching=n(s.watching),s.cache={},s.source=t,u&&(s.values=n(s.values)),t[h]=s):(f||r(t,h,l),s=new e(t),u&&(s.values={}),t[h]=s,s.descs.constructor=null),s)},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,s,o=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],s=o[i]){if(s.__ember_source__!==e){if(!r)return void 0;s=o[i]=n(s),s.__ember_source__=e}}else{if(!r)return void 0;s=o[i]={__ember_source__:e}}o=s}return s},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.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,s;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){s=o}}if(s)throw s;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,s,o;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{s=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===s?i:s}:function(e,t,r,n){var i,s;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{s=r.call(n)}return void 0===s?i:s};var d={},b="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(b,function(e){d["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):d[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],s=0,o=e.length;o>s;s++)n=e[s],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,s,o){function a(){for(p=0,d=m.length;d>p;p++)f=m[p],b[p]=f.before(e,n(),i);return s.call(o)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,d=m.length;d>p;p++)f=m[p],f.after(e,n(),i,b[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(l)}var l,h,m=t[e];if(Ember.STRUCTURED_PROFILE&&(l=e+": "+i.object,console.time(l)),m||(m=r(e)),0===m.length)return h=s.call(o),Ember.STRUCTURED_PROFILE&&console.timeEnd(l),h;var f,p,d,b=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++)i=s[a],"*"===i?o.push("[^\\.]*"):o.push(i);o=o.join("\\."),o+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+o+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,s=e.length;s>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;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;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){if(e.replace)return e.replace(t,r,i);var s=n.apply([t,r],i);return e.splice.apply(e,s)},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[\.\*]/,s=/^([^\.\*]+)/;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,s=e[t],o=s&&s.descs[n];return o?o.get(e,n):(i=r&&s&&s.watching[n]>0?s.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 o=Ember.normalizeTuple=function(t,r){var o,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(o=r.match(s)[0],t=e(t,o),r=r.slice(o.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,s,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=o(t,r),t=a[0],r=a[1],a.length=0),s=r.split("."),c=s.length,u=0;null!=t&&c>u;u++)if(t=e(t,s[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,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,s=e.length;s>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=f(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=m(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],s=i&&i.listeners&&i.listeners[r];if(s)for(var o=s.length-1;o>=0;o--){var a=s[o][0],u=s[o][1],c=s[o][2],l=e(n,a,u);-1===l&&n.push([a,u,c])}}function n(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r],o=[];if(s){for(var a=s.length-1;a>=0;a--){var u=s[a][0],c=s[a][1],l=s[a][2],h=e(n,u,c);-1===h&&(n.push([u,c,l]),o.push([u,c,l]))}return o}}function i(r,n,i,s,o){s||"function"!=typeof i||(s=i,i=null);var a=t(r,n),u=e(a,i,s),c=0;o&&(c|=d),-1===u&&(a.push([i,s,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,s))}function s(r,n,i,s){function o(i,s){var o=t(r,n),a=e(o,i,s);-1!==a&&(o.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,s))}if(s||"function"!=typeof i||(s=i,i=null),s)o(i,s);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)o(u[c][0],u[c][1])}}function o(r,n,i,s,o){function a(){return o.call(i)}function u(){c&&(c[2]&=~b)}s||"function"!=typeof i||(s=i,i=null);var c,l=t(r,n),h=e(l,i,s);return-1!==h&&(c=l[h].slice(),c[2]|=b,l[h]=c),Ember.tryFinally(a,u)}function a(r,n,i,s,o){function a(){return o.call(i)}function u(){for(m=0,f=p.length;f>m;m++)p[m][2]&=~b}s||"function"!=typeof i||(s=i,i=null);var c,l,h,m,f,p=[];for(m=0,f=n.length;f>m;m++){c=n[m],l=t(r,c);var d=e(l,i,s);-1!==d&&(h=l[d].slice(),h[2]|=b,l[d]=h,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 o=n.length-1;o>=0;o--){var a=n[o];if(a){var u=a[0],c=a[1],l=a[2];l&b||(l&d&&s(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function l(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function h(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var s=0,o=i.length;o>s;s++){var a=i[s][0],u=i[s][1];r.push([a,u])}return r}var m=Ember.create,f=Ember.meta,p=Ember.META_KEY,d=1,b=2;Ember.addListener=i,Ember.removeListener=s,Ember._suspendListener=o,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=l,Ember.watchedEvents=u,Ember.listenersFor=h,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,s=this.observerSet,o=this.observers,a=e(t),u=s[a];return u||(s[a]=u={}),i=u[r],void 0===i&&(i=o.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},r.prototype.flush=function(){var e,r,n,i,s=this.observers;for(this.clear(),e=0,r=s.length;r>e;++e)n=s[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,i){if(!e.isDestroying){var s=n,o=!s;o&&(s=n={}),r(d,e,t,s,i),o&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var s=i,o=!s;o&&(s=i={}),r(b,e,t,s,n),o&&(i=null)}}function r(e,t,r,n,i){var s=o(t);if(n[s]||(n[s]={}),!n[s][r]){n[s][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,s=Ember.meta,o=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,l=Ember.listenersDiff,h=Ember._ObserverSet,m=new h,f=new h,p=0,d=Ember.propertyWillChange=function(t,r){var n=s(t,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];i&&o!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),E(t,r,n),w(t,r))},b=Ember.propertyDidChange=function(e,r){var n=s(e,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];o!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),_(e,r)))},E=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=0,o=i.length;o>s;s++)i[s].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=i.length-1;s>=0;s--)i[s].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){p++},y=Ember.endPropertyChanges=function(){p--,0>=p&&(m.clear(),f.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var w=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";p?(r=m.add(e,t,i),n=l(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},_=function(e,t){if(!e.isDestroying){var r,n=t+":change";p?(r=f.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,s){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=n(e,t)),!o||0===o.length)throw new Error("You passed an empty path");if(!e){if(s)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,o,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,s,o){if("string"==typeof n&&(s=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,s,o);var a,u,c=n[t],l=c&&c.descs[i];return l?l.set(n,i,s):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,s):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],s!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=s:Ember.defineProperty(n,i,null,s):n[i]=s,Ember.propertyDidChange(n,i))):n[i]=s),s};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=(Ember.get,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},s=Ember.OrderedSet=function(){this.clear()};s.create=function(){return new s},s.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,s=this.list;delete i[n];var o=r.call(s,e);o>-1&&s.splice(o,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 s;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var o=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};o.create=function(){return new o},o.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,s=this.values,o=t(r);i.add(r),s[o]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,s=t(r);return i.hasOwnProperty(s)?(n.remove(r),delete i[s],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 s=t(n);e.call(r,n,i[s])})},copy:function(){return i(this,new o)}};var a=Ember.MapWithDefault=function(e){o.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new o},a.prototype=Ember.create(o.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return o.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(){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(){},s=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,o,a,u,c){var l,h,m,f;return c||(c=t(e)),l=c.descs,h=c.descs[o],m=c.watching[o]>0,h instanceof Ember.Descriptor&&h.teardown(e,o),a instanceof Ember.Descriptor?(f=a,l[o]=a,n&&m?r(e,o,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[o]=void 0,a.setup(e,o)):(l[o]=void 0,null==a?(f=u,n&&m?(c.values[o]=u,r(e,o,{configurable:!0,enumerable:!0,set:i,get:s(o)})):e[o]=u):(f=a,r(e,o,a))),m&&Ember.overrideChains(e,o,c),e.didDefineProperty&&e.didDefineProperty(e,o,f),this}}(),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,s){if("length"!==s||"array"!==t(i)){var o,a=e(i),u=a.watching;u[s]?u[s]=(u[s]||0)+1:(u[s]=1,o=a.descs[s],o&&o.willWatch&&o.willWatch(i,s),"function"==typeof i.willWatchProperty&&i.willWatchProperty(s),r&&s in i&&(a.values[s]=i[s],n(i,s,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(s)})))}},Ember.unwatchKey=function(t,i){var s,o=e(t),a=o.watching;1===a[i]?(a[i]=0,s=o.descs[i],s&&s.didUnwatch&&s.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(m)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),s=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(s=i.chainWatchers={}),s[t]||(s[t]=[]),s[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,s=Ember.normalizeTuple,o=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,l=Ember.propertyWillChange,h=Ember.propertyDidChange,m=/^([^\.\*]+)/,f=[];Ember.flushPendingChains=function(){if(0!==f.length){var e=f;f=[],o.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===f.length)}};var p=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var s=i.chainWatchers;if(s[t]){s=s[t];for(var o=0,a=s.length;a>o;o++)s[o]===r&&s.splice(o,1)}c(e,t)}}},d=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()},b=d.prototype;b.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},b.destroy=function(){if(this._watching){var e=this._object;e&&p(e,this._key,this),this._watching=!1}},b.copy=function(e){var t,r=new d(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},b.add=function(t){var r,n,i,o,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=s(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return f.push([this,t]),n.length=0,void 0;o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,o)},b.remove=function(t){var r,n,i,o,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=s(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},b.count=0,b.chain=function(t,r,n){var i,s=this._chains;s||(s=this._chains={}),i=s[t],i||(i=s[t]=new d(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},b.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())},b.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},b.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},b.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},b.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(p(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);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),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 s=t(n),o=s.watching;o[i]?o[i]=(o[i]||0)+1:(o[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),s=i.watching;1===s[n]?(s[n]=0,e(r).remove(n)):s[n]>1&&s[n]--}}(),function(){function e(e){return"*"===e||!h.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,s=Ember.watchKey,o=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,l=Ember.generateGuid,h=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(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)?o(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&l(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var m=[];Ember.destroy=function(e){var t,r,s,o,a=e[n];if(a&&(e[n]=null,t=a.chains))for(m.push(t);m.length>0;){if(t=m.pop(),r=t._chains)for(s in r)r.hasOwnProperty(s)&&m.push(r[s]);t._watching&&(o=t._object,o&&i(o,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,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)+1,p(n,c)}function n(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)-1,d(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 s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function o(e,t){Ember.computed[e]=function(e){var r=h.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=h.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,l=Ember.meta,h=[].slice,m=Ember.create,f=Ember.META_KEY,p=Ember.watch,d=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var b=i.prototype;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(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},b.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},b.willWatch=function(e,t){var n=e[f];t in n.cache||r(this,e,t,n)},b.didUnwatch=function(e,t){var r=e[f];t in r.cache||n(this,e,t,r)},b.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},b.get=function(e,t){var n,i,s;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),s.watching[t]||r(this,e,t,s)}else n=this.func.call(e,t);return n},b.set=function(e,t,n){var i,s,o=this._cacheable,a=this.func,u=l(e,o),c=u.watching[t],h=this._suspended,m=!1,f=u.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(o&&f.hasOwnProperty(t)&&(i=f[t],m=!0),a.wrappedFunction&&(a=a.wrappedFunction),3===a.length)s=a.call(e,t,n,i);else{if(2!==a.length)return Ember.defineProperty(e,t,null,i),Ember.set(e,t,n),void 0;s=a.call(e,t,n)}if(m&&i===s)return;c&&Ember.propertyWillChange(e,t),m&&delete f[t],o&&(c||m||r(this,e,t,u),f[t]=s),c&&Ember.propertyDidChange(e,t)}finally{this._suspended=h}return s},b.setup=function(e,t){var n=e[f];n&&n.watching[t]&&r(this,e,t,l(e))},b.teardown=function(e,t){var r=l(e);return(r.watching[t]||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 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},o("empty",function(e){return Ember.isEmpty(u(this,e))}),o("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),o("none",function(e){return Ember.isNone(u(this,e))}),o("not",function(e){return!u(this,e)}),o("bool",function(e){return!!u(this,e)}),o("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),o("equal",function(e,t){return u(this,e)===t}),o("gt",function(e,t){return u(this,e)>t}),o("gte",function(e,t){return u(this,e)>=t}),o("lt",function(e,t){return u(this,e)<t}),o("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",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?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(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,s){return Ember._suspendListener(e,t(r),n,i,s)},Ember._suspendObserver=function(t,r,n,i,s){return Ember._suspendListener(t,e(r),n,i,s)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,s,o){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,s,o)},Ember._suspendObservers=function(t,r,n,s,o){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,s,o)},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",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),s=window.setTimeout(function(){e.end(),s=null})}function i(e){var t,r,n,s,u=+new Date;e.run(function(){for(n=0,s=m.length;s>n&&(t=m[n],!(t>u));n+=2);for(r=m.splice(0,n),n=1,s=r.length;s>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),m.length&&(o=window.setTimeout(function(){i(e),o=null,a=null},m[0]-u),a=m[0])}var s,o,a,u=e.DeferredActionQueues,c=[].slice,l=[].pop,h=[],m=[];r.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 u(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)
|
16
|
-
}},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,c.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 i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!0,i)},setTimeout:function(){var e=this,t=l.call(arguments),r=arguments[0],n=arguments[1],s=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var u,h;arguments.length>2?(h=c.call(arguments,2),u=function(){n.apply(r,h)}):u=function(){n.call(r)};var f,p;for(f=0,p=m.length;p>f&&!(s<m[f]);f+=2);return m.splice(f,0,s,u),o&&s>a?u:(o&&(clearTimeout(o),o=null),o=window.setTimeout(function(){i(e),o=null,a=null},t),a=s,u)},debounce:function(e,t){for(var r,n=this,i=arguments,s=l.call(i),o=0,a=h.length;a>o;o++)if(r=h[o],r[0]===e&&r[1]===t)return;var u=window.setTimeout(function(){n.run.apply(n,i);for(var s=-1,o=0,a=h.length;a>o;o++)if(r=h[o],r[0]===e&&r[1]===t){s=o;break}s>-1&&h.splice(s,1)},s);h.push([e,t,u])},cancelTimers:function(){for(var e=0,t=h.length;t>e;e++)clearTimeout(h[e][2]);h=[],o&&(clearTimeout(o),o=null),m=[],s&&(clearTimeout(s),s=null)},hasTimers:function(){return!!m.length||s},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=m.length;r>t;t+=2)if(m[t+1]===e)return m.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r}),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,s=0,o=e.length;o>s;s++)n=e[s],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,s=t;s>=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,s){var o=this.queues,a=o[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,s):a.push(t,r,n,s)},flush:function(){for(var e,t,r,i,s=this.queues,o=this.queueNames,a=0,u=o.length;u>a;){e=o[a],t=s[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,l,h,m,f=t.options,p=f&&f.before,d=f&&f.after,b=0,E=r.length;for(E&&p&&p();E>b;)c=r[b],l=r[b+1],h=r[b+2],m=r[b+3],"string"==typeof l&&(l=c[l]),l&&(h&&h.length>0?l.apply(c,h):l.call(c)),b+=4;t._queueBeingFlushed=null,E&&d&&d(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),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,s,o,a,u=this._queue;for(o=0,a=u.length;a>o;o+=4)if(i=u[o],s=u[o+1],i===e&&s===t)return u[o+2]=r,u[o+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,s=this._queue,o=this.options,a=o&&o.before,u=o&&o.after,c=s.length;for(c&&a&&a(),i=0;c>i;i+=4)e=s[i],t=s[i+1],r=s[i+2],n=s[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),s.length>c?(this._queue=s.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,s=this._queue;for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s.splice(n,4),!0;if(s=this._queueBeingFlushed)for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s[n+1]=null,!0}},e.Queue=t})}(),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,s=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),o=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=s.run.apply(s,arguments)}catch(t){Ember.onerror(t)}else e=s.run.apply(s,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=o.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=s,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=s.queueNames,Ember.run.begin=function(){s.begin()},Ember.run.end=function(){s.end()},Ember.run.schedule=function(){e(),s.schedule.apply(s,arguments)},Ember.run.hasScheduledTimers=function(){return s.hasTimers()},Ember.run.cancelTimers=function(){s.cancelTimers()},Ember.run.sync=function(){s.currentInstance&&s.currentInstance.queues.sync.flush()},Ember.run.later=function(){return s.later.apply(s,arguments)},Ember.run.once=function(){e();var t=o.call(arguments);return t.unshift("actions"),s.scheduleOnce.apply(s,t)},Ember.run.scheduleOnce=function(){return e(),s.scheduleOnce.apply(s,arguments)},Ember.run.next=function(){var e=o.call(arguments);return e.push(1),s.later.apply(s,e)},Ember.run.cancel=function(e){return s.cancel(e)},Ember.run.debounce=function(){return s.debounce.apply(s,arguments)}}(),function(){function e(e,t){return r(s(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$]))/,s=Ember.isGlobalPath=function(e){return i.test(e)},o=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};o.prototype={copy:function(){var e=new o(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(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,s=i.get(t),o=this._from,a=this._to;if(i.remove(t),"fwd"===s){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"===s){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,o,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(o)?Ember.lookup:t,o,c)})}}}},t(o,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=o,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=P(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=_.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]?V:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function s(e,t,r,n,i){var s;return void 0===n[t]&&(s=i[t]),s=s||e.descs[t],s&&s instanceof Ember.ComputedProperty?(r=P(r),r.func=Ember.wrap(r.func,s.func),r):r}function o(e,t,r,n,i){var s;return void 0===i[t]&&(s=n[t]),s=s||e[t],"function"!=typeof s?r:Ember.wrap(r,s)}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,u,c,l){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return V;n.func&&(n=s(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=o(e,t,n,c,u):(l&&C.call(l,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,s,o,a){function l(e){delete r[e],delete s[e]}for(var h,m,f,p,d,b=0,E=e.length;E>b;b++)if(h=e[b],m=n(t,h),m!==V)if(m){d=Ember.meta(o),p=i(m,s,o);for(f in m)m.hasOwnProperty(f)&&(a.push(f),u(o,f,m[f],d,r,s,p));m.hasOwnProperty("toString")&&(o.toString=m.toString)}else h.mixins&&(c(h.mixins,t,r,s,o,a),h._without&&O.call(h._without,l))}function l(e,t,r,n){if(D.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=P(n.bindings)):i=n.bindings={},i[t]=r}}function h(e,t){var r,n,i,s=t.bindings;if(s){for(r in s)n=s[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 h(e,t||Ember.meta(e)),e}function f(e,t,r,n,i){var s,o=t.methodName;return n[o]||i[o]?(s=i[o],t=n[o]):r.descs[o]?(t=r.descs[o],s=void 0):(t=void 0,s=e[o]),{desc:t,value:s}}function p(e,t,r,n,i){if("function"==typeof r){var s=r[n];if(s)for(var o=0,a=s.length;a>o;o++)Ember[i](e,s[o],null,t)}}function d(e,t,r){var n=e[t];p(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),p(e,t,n,"__ember_observes__","removeObserver"),p(e,t,r,"__ember_observesBefore__","addBeforeObserver"),p(e,t,r,"__ember_observes__","addObserver")}function b(t,r,n){var i,s,o,a={},u={},h=Ember.meta(t),p=[];c(r,e(t),a,u,t,p);for(var b=0,E=p.length;E>b;b++)if(i=p[b],"constructor"!==i&&u.hasOwnProperty(i)&&(o=a[i],s=u[i],o!==y)){for(;o&&o instanceof w;){var v=f(t,o,h,a,u);o=v.desc,s=v.value}(void 0!==o||void 0!==s)&&(d(t,i,s),l(t,i,s,h),A(t,i,o,s,h))}return n||m(t,h),t}function E(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,s=i?i.length:0;--s>=0;)if(E(i[s],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&&O.call(t.mixins,function(t){v(e,t,r)})}var g,y,w,_=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,O=Ember.ArrayPolyfills.forEach,S=[].slice,P=Ember.create,A=Ember.defineProperty,x=Ember.guidFor,V={},D=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=S.call(arguments,1);return b(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=b,g.applyPartial=function(e){var t=S.call(arguments,1);return b(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var T=g.prototype;T.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},T.apply=function(e){return b(e,[this],!1)},T.applyPartial=function(e){return b(e,[this],!0)},T.detect=function(e){if(!e)return!1;if(e instanceof g)return E(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},T.without=function(){var e=new g(this);return e._without=S.call(arguments),e},T.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},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},w=function(e){this.methodName=e},w.prototype=new Ember.Descriptor,Ember.alias=function(e){return new w(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new w(e)},Ember.observer=function(e){var t=S.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=S.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=[],r=n(),i=e.length;0===i&&r.resolve([]);for(var s=function(e){return function(t){o(e,t)}},o=function(e,n){t[e]=n,0===--i&&r.resolve(t)},a=function(e){r.reject(e)},u=0;u<e.length;u++)e[u]&&"function"==typeof e[u].then?e[u].then(s(u),a):o(u,e[u]);return r.promise}var n=e.defer;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";var t,r="undefined"!=typeof window?window:{},n=r.MutationObserver||r.WebKitMutationObserver;if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))t=function(e,t){process.nextTick(function(){e.call(t)})};else if(n){var i=[],s=new n(function(){var e=i.slice();i=[],e.forEach(function(e){var t=e[0],r=e[1];t.call(r)})}),o=document.createElement("div");s.observe(o,{attributes:!0}),window.addEventListener("unload",function(){s.disconnect(),s=null}),t=function(e,t){i.push([e,t]),o.setAttribute("drainQueue","drainQueue")}}else t=function(e,t){setTimeout(function(){e.call(t)},1)};e.async=t}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={},t=new n(function(t,r){e.resolve=t,e.reject=r});return e.promise=t,e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var s,o,a=n(this);for(e=e.split(/\s+/),i=i||this;o=e.shift();)s=a[o],s||(s=a[o]=[]),-1===r(s,t)&&s.push([t,i])},off:function(e,t){var i,s,o,a=n(this);for(e=e.split(/\s+/);s=e.shift();)t?(i=a[s],o=r(i,t),-1!==o&&i.splice(o,1)):a[s]=[]},trigger:function(e,r){var i,s,o,a,u,c=n(this);if(i=c[e])for(var l=0;l<i.length;l++)s=i[l],o=s[0],a=s[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),o.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),s=r(e);0===s&&n.resolve({});var o=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--s&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(o(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=new s(function(e,n){t=e,r=n});return o(i).then(function(i){i.push(n(t,r));try{e.apply(this,i)}catch(s){r(s)}}),a}}var s=e.Promise,o=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function s(e,t){e===t?a(e,t):o(e,t)||a(e,t)}function o(e,t){var r=null;if(n(t)){try{r=t.then}catch(o){return u(e,o),!0}if(i(r)){try{r.call(t,function(r){t!==r?s(e,r):a(e,r)},function(t){u(e,t)})}catch(o){u(e,o)}return!0}}return!1}function a(e,t){c.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function u(e,t){c.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var c=e.config,l=t.EventTarget,h=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof h))return new h(e);var n=function(e){r||(r=!0,s(t,e))},i=function(e){r||(r=!0,u(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this);try{e(n,i)}catch(o){i(o)}},m=function(e,t,r,n){var a,c,l,h,m=i(r);if(m)try{a=r(n.detail),l=!0}catch(f){h=!0,c=f}else a=n.detail,l=!0;o(t,a)||(m&&l?s(t,a):h?u(t,c):"resolve"===e?s(t,a):"reject"===e&&u(t,a))};h.prototype={constructor:h,then:function(e,t){var r=new h(function(){});return this.isFulfilled&&c.async(function(){m("resolve",r,e,{detail:this.fulfillmentValue})},this),this.isRejected&&c.async(function(){m("reject",r,t,{detail:this.rejectedReason})},this),this.on("promise:resolved",function(t){m("resolve",r,e,t)}),this.on("promise:failed",function(e){m("reject",r,t,e)}),r}},l.mixin(h.prototype),r.Promise=h}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return"function"==typeof e||"object"==typeof e&&null!==e}function n(e){var t=new i(function(t,n){var i;try{r(e)?(i=e.then,"function"==typeof i?i.call(e,t,n):t(e)):t(e)}catch(s){n(s)}});return t}var i=e.Promise;t.resolve=n}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,s,o,a,u,c){"use strict";function l(e,t){E[e]=t}var h=e.EventTarget,m=t.Promise,f=r.denodeify,p=n.all,d=i.hash,b=s.defer,E=o.config,v=a.resolve,g=u.reject;c.Promise=m,c.EventTarget=h,c.all=p,c.hash=d,c.defer=b,c.denodeify=f,c.configure=l,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=s(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,s=0,o=t.length;o>s;s++){if(n=t[s],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function s(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 o(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=o(e,t),a=t.split(":"),u=a[0];if(s(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var l=i(e,c);return l.container=e,l._debugContainerKey=t,r=n.create(l)}}function u(e,t){e.cache.eachLocal(function(r,n){s(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){s(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}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},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,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var s=this.normalize(i);this.registry.set(s,r),this._options.set(s,n||{})},resolve:function(e){return this.resolver(e)||this.registry.get(e)},normalize:function(e){return e},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=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return o(this,e)},has:function(e){return this.cache.has(e)?!0:!!o(this,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");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,s){var o,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return s[a];if("array"===Ember.typeOf(r)){if(o=r.slice(),n)for(a=o.length;--a>=0;)o[a]=e(o[a],n,i,s)}else if(Ember.Copyable&&Ember.Copyable.detect(r))o=r.copy(n,i,s);else{o={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(o[u]=n?e(r[u],n,i,s):r[u])}return n&&(i.push(r),s.push(o)),o}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),s=Ember.Comparable;if(s){if("instance"===r&&s.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&s.detect(t.constructor))return 1-t.constructor.compare(t,e)}var o=Ember.ORDER_DEFINITION_MAPPING;if(!o){var a=Ember.ORDER_DEFINITION;o=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)o[a[u]]=u;delete Ember.ORDER_DEFINITION}var l=o[r],h=o[i];if(h>l)return-1;if(l>h)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var m=e.localeCompare(t);return 0>m?-1:m>0?1:0;case"array":for(var f=e.length,p=t.length,d=Math.min(f,p),b=0,E=0;0===b&&d>E;)b=n(e[E],t[E]),E++;return 0!==b?b:p>f?-1:f>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?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){if("object"!=typeof e||null===e)return e+"";var t,r=[];for(var n in e)if(e.hasOwnProperty(n)){if(t=e[n],"toString"===t)continue;"function"===Ember.typeOf(t)&&(t="function() { ... }"),r.push(n+": "+t)}return"{"+r.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)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,s=/\-|\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,0)-1:r++,e=t[n],(null===e?"(null)":void 0===e?"":e).toString()})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,s=i.hasOwnProperty(r);return s?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 s=Ember.String.camelize(t[n]);r.push(s.charAt(0).toUpperCase()+s.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(s,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,s=Ember.String.dasherize,o=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 s(this)},String.prototype.underscore=function(){return o(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var s=n(r,e);return i?t===s:!!s}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,s=Array.prototype.slice,o=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var 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,s=e(),o=0,a=null;do a=i,i=this.nextObject(o++,a,s);while(void 0!==i);return t(s),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 s=n(this,"length"),o=null,a=e();void 0===i&&(i=null);for(var u=0;s>u;u++){var c=this.nextObject(u,o,a);r.call(i,c,u,this),o=c}return o=null,a=t(a),this},getEach:function(e){return this.mapProperty(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,s){r[i]=e.call(t,n,i,s)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){e.call(t,n,i,s)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},s=2===arguments.length?r:i;return this.reject(s)},find:function(r,i){var s=n(this,"length");void 0===i&&(i=null);for(var o,a,u=null,c=!1,l=e(),h=0;s>h&&!c;h++)o=this.nextObject(h,u,l),(c=r.call(i,o,h,this))&&(a=o),u=o;return o=u=null,l=t(l),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},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=s.call(arguments,1)),this.forEach(function(n,i){var s=n&&n[e];"function"==typeof s&&(r[i]=t?s.apply(n,t):s.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,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){o(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",s=n(this,"hasEnumerableObservers");return s||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),s||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),s&&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,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),s&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),s&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),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(),s=e(this,"length");for(t(r)&&(r=0),(t(n)||n>s)&&(n=s),0>r&&(r=s+r),0>n&&(n=s+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,!0)===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",s=e(this,"hasArrayObservers");
|
17
|
-
return s||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),s||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),s&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,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,s;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],s=t+r;for(var o=t;s>o;o++)i.push(this.objectAt(o))}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 s,o;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){s=[],o=t+i;for(var a=t;o>a;a++)s.push(this.objectAt(a))}else s=i;this.enumerableContentDidChange(r,s),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),l=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==l&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({isComparable:!0,compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],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 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 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){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,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},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")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(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(){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){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var s;return s=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),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)},fire:function(){this.trigger.apply(this,arguments)},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)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===s?e(o):e(t)}var i,s,o;return o=this,i=r(this,"_deferred"),s=i.promise,s.then(e&&n,t)},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()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,s=!1,o=function(){s||o.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var l=e;e=null,this.reopen.apply(this,l)}if(t){var h=t;t=null;for(var m=this.concatenatedProperties,f=0,d=h.length;d>f;f++){var g=h[f];for(var y in g)if(g.hasOwnProperty(y)){var w=g[y],_=Ember.IS_BINDING;if(_.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=w}var O=u.descs[y];if(m&&E(m,y)>=0){var S=this[y];w=S?"function"==typeof S.concat?S.concat(w):Ember.makeArray(S).concat(w):Ember.makeArray(w)}O?O.set(this,y,w):"function"!=typeof this.setUnknownProperty||y in this?b?Ember.defineProperty(this,y,null,w):this[y]=w:this.setUnknownProperty(y,w)}}}p(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return o.toString=m.prototype.toString,o.willReopen=function(){s&&(o.PrototypeMixin=m.create(o.PrototypeMixin)),s=!1},o._initMixins=function(t){e=t},o._initProperties=function(e){t=e},o.proto=function(){var e=o.superclass;return e&&e.proto(),s||(s=!0,o.PrototypeMixin.applyPartial(o.prototype),u(o.prototype)),this.prototype},o}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,s=Ember.guidFor,o=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,l=Ember.destroy,h=Ember.run.schedule,m=Ember.Mixin,f=m._apply,p=m.finishPartial,d=m.prototype.reopen,b=Ember.ENV.MANDATORY_SETTER,E=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 f(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,h("actions",this,this.willDestroy),h("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()+":"+s(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=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,o(t,"ember"),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),f(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,s={};for(var o in i)r=i[o],r instanceof Ember.ComputedProperty&&e.call(t||this,o,r._meta||s)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var o=t.length;c[t.join(".")]=r;for(var a in r)if(l.call(r,a)){var u=r[a];if(t[o]=a,u&&u.toString===n)u.toString=s(t.join(".")),u[m]=t.join(".");else if(u&&u.isNamespace){if(i[h(u)])continue;i[h(u)]=!0,e(t,u,i)}}t.length=o}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(s){continue}t&&(e[m]=i)}}function r(e){var t=e.superclass;return t?t[m]?t[m]:r(t):void 0}function n(){Ember.BOOTED||this[m]||i();var e;if(this[m])e=this[m];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=s(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,s=u.NAMESPACES,o=0,a=s.length;a>o;o++)i=s[o],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function s(e){return function(){return e}}var o=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=o(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,l={}.hasOwnProperty,h=Ember.guidFor,m=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",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(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(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)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_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 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 s,o=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),s=n;n+i>s;s++)u.push(o.indexOf(a.objectAt(s)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),s=0;s<u.length;s++)this._replace(u[s],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){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){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),s=Ember.addObserver,o=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),s(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;o(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=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,s;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(s in i)!i.hasOwnProperty(s)||s in t||(e||(e={}),e[s]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,s){var o,a=r._objects;for(a||(a=r._objects={});--s>=i;){var u=e.objectAt(s);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),o=n(u),a[o]||(a[o]=[]),a[o].push(s))}}function t(e,t,r,i,s){var o=r._objects;o||(o=r._objects={});for(var a,u;--s>=i;){var c=e.objectAt(s);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=o[u],a[a.indexOf(s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,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})}),o=/^.+:(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,s,o=this._keys;s=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(s>0&&t(e,i,this,r,s),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var s,o,a=this._keys;o=i>0?r+i:-1,Ember.beginPropertyChanges(this);for(s in a)a.hasOwnProperty(s)&&(o>0&&e(t,s,this,r,o),Ember.propertyDidChange(this,s));Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(e){o.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){o.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,s=r(i,"length");e(i,t,this,0,s)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,s=r(i,"length");t(i,e,this,0,s)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=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(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var s=[t,r].concat(n);this.splice.apply(this,s)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),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()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.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 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 s=0;n>s;s++)i=r(this[s]),delete this[i],delete this[s];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 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 Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o=r(i),a=this[o],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(s=[i],this.enumerableContentWillChange(null,s),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[o]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,s),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o,a=r(i),u=this[a],c=e(this,"length"),l=0===u,h=u===c-1;return u>=0&&c>u&&this[u]===i&&(o=[i],this.enumerableContentWillChange(o,null),l&&Ember.propertyWillChange(this,"firstObject"),h&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(s=this[c-1],this[u]=s,this[r(s)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),l&&Ember.propertyDidChange(this,"firstObject"),h&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,s=e(this,"length");for(t(i,"length",s);--s>=0;)i[s]=this[s],i[r(this[s])]=s;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;Ember.get;var t=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(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,s=e(this,"sortProperties"),o=e(this,"sortAscending"),a=e(this,"sortFunction");return t(s,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||o||(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"),s=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return s.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(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()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,s){var o=e(this,"isSorted");if(o){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,s)},contentArrayDidChange:function(r,n,i,s){var o=e(this,"isSorted"),a=e(this,"sortProperties");if(o){var u=r.slice(n,n+s);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,s)},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),s=r.objectAt(n+1),o=i&&this.orderBy(t,i),a=s&&this.orderBy(t,s);(0>o||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,s,o,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),s=a.objectAt(i),o=this.orderBy(s,t),0>o?this._binarySearch(t,i+1,n):o>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 s=this.lookupItemController(i);if(s)return this.controllerAt(t,i,s)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,s){var o=e(this,"_subControllers"),a=o.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(o,n,i,new Array(s)),this._super(n,i,s)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),s=e(this,"_subControllers"),o=s[t];if(o||(o=i.lookup("controller:"+n,{singleton:!1}),s[t]=o),!o)throw new Error('Could not resolve itemController: "'+n+'"');return o.set("target",this),o.set("parentController",e(this,"parentController")||this),o.set("content",r),o},_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)}(),function(){var e=Ember.imports.jQuery;Ember.$=e}(),function(){if(Ember.$){var e=Ember.String.w("dragstart drag dragenter dragleave dragover drop dragend");Ember.EnumerableUtils.forEach(e,function(e){Ember.$.event.fixHooks[e]={props:["dataTransfer"]}})}}(),function(){function e(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}var t=this.document&&function(){var e=document.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),r=this.document&&function(){var e=document.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),n=function(e,t){if(e.getAttribute("id")===t)return e;var r,i,s,o=e.childNodes.length;for(r=0;o>r;r++)if(i=e.childNodes[r],s=1===i.nodeType&&n(i,t))return s},i=function(e,i){t&&(i="­"+i);var s=[];if(r&&(i=i.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,n){return s.push([n,t]),r})),e.innerHTML=i,s.length>0){var o,a=s.length;for(o=0;a>o;o++){var u=n(e,s[o][0]),c=document.createTextNode(s[o][1]);u.parentNode.insertBefore(c,u)}}if(t){for(var l=e.firstChild;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}},s={},o=function(e){if(void 0!==s[e])return s[e];var t=!0;if("select"===e.toLowerCase()){var r=document.createElement("select");i(r,'<option value="test">Test</option>'),t=1===r.options.length}return s[e]=t,t},a=function(e,t){var r=e.tagName;if(o(r))i(e,t);else{var n=e.outerHTML||(new XMLSerializer).serializeToString(e),s=n.match(new RegExp("<"+r+"([^>]*)>","i"))[0],a="</"+r+">",u=document.createElement("div");for(i(u,s+t+a),e=u.firstChild;e.tagName!==r;)e=e.nextSibling}return e};Ember.ViewUtils={setInnerHTML:a,isSimpleClick:e}}(),function(){Ember.get,Ember.set;var e=function(){this.seen={},this.list=[]};e.prototype={add:function(e){e in this.seen||(this.seen[e]=!0,this.list.push(e))},toDOM:function(){return this.list.join(" ")}},Ember.RenderBuffer=function(e){return new Ember._RenderBuffer(e)},Ember._RenderBuffer=function(e){this.tagNames=[e||null],this.buffer=""},Ember._RenderBuffer.prototype={_element:null,_hasElement:!0,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,parentBuffer:null,push:function(e){return this.buffer+=e,this},addClass:function(t){return this.elementClasses=this.elementClasses||new e,this.elementClasses.add(t),this.classes=this.elementClasses.list,this},setClasses:function(e){this.classes=e},id:function(e){return this.elementId=e,this},attr:function(e,t){var r=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeAttr:function(e){var t=this.elementAttributes;return t&&delete t[e],this},prop:function(e,t){var r=this.elementProperties=this.elementProperties||{};
|
18
|
-
return 1===arguments.length?r[e]:(r[e]=t,this)},removeProp:function(e){var t=this.elementProperties;return t&&delete t[e],this},style:function(e,t){return this.elementStyle=this.elementStyle||{},this.elementStyle[e]=t,this},begin:function(e){return this.tagNames.push(e||null),this},pushOpeningTag:function(){var e=this.currentTagName();if(e){if(this._hasElement&&!this._element&&0===this.buffer.length)return this._element=this.generateElement(),void 0;var t,r,n=this.buffer,i=this.elementId,s=this.classes,o=this.elementAttributes,a=this.elementProperties,u=this.elementStyle;if(n+="<"+e,i&&(n+=' id="'+this._escapeAttribute(i)+'"',this.elementId=null),s&&(n+=' class="'+this._escapeAttribute(s.join(" "))+'"',this.classes=null),u){n+=' style="';for(r in u)u.hasOwnProperty(r)&&(n+=r+":"+this._escapeAttribute(u[r])+";");n+='"',this.elementStyle=null}if(o){for(t in o)o.hasOwnProperty(t)&&(n+=" "+t+'="'+this._escapeAttribute(o[t])+'"');this.elementAttributes=null}if(a){for(r in a)if(a.hasOwnProperty(r)){var c=a[r];(c||"number"==typeof c)&&(n+=c===!0?" "+r+'="'+r+'"':" "+r+'="'+this._escapeAttribute(a[r])+'"')}this.elementProperties=null}n+=">",this.buffer=n}},pushClosingTag:function(){var e=this.tagNames.pop();e&&(this.buffer+="</"+e+">")},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var e,t,r=this.tagNames.pop(),n=document.createElement(r),i=Ember.$(n),s=this.elementId,o=this.classes,a=this.elementAttributes,u=this.elementProperties,c=this.elementStyle,l="";if(s&&(i.attr("id",s),this.elementId=null),o&&(i.attr("class",o.join(" ")),this.classes=null),c){for(t in c)c.hasOwnProperty(t)&&(l+=t+":"+c[t]+";");i.attr("style",l),this.elementStyle=null}if(a){for(e in a)a.hasOwnProperty(e)&&i.attr(e,a[e]);this.elementAttributes=null}if(u){for(t in u)u.hasOwnProperty(t)&&i.prop(t,u[t]);this.elementProperties=null}return n},element:function(){var e=this.innerString();return e&&(this._element=Ember.ViewUtils.setInnerHTML(this._element,e)),this._element},string:function(){if(this._hasElement&&this._element){var e=this.element(),t=e.outerHTML;return"undefined"==typeof t?Ember.$("<div/>").append(e).html():t}return this.innerString()},innerString:function(){return this.buffer},_escapeAttribute:function(e){var t={"<":"<",">":">",'"':""","'":"'","`":"`"},r=/&(?!\w+;)|[<>"'`]/g,n=/[&<>"'`]/,i=function(e){return t[e]||"&"},s=e.toString();return n.test(s)?s.replace(r,i):s}}}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.EventDispatcher=Ember.Object.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",setup:function(r,n){var i,s=e(this,"events");Ember.$.extend(s,r||{}),Ember.isNone(n)||t(this,"rootElement",n),n=Ember.$(e(this,"rootElement")),n.addClass("ember-application");for(i in s)s.hasOwnProperty(i)&&this.setupHandler(n,i,s[i])},setupHandler:function(e,t,r){var n=this;e.on(t+".ember",".ember-view",function(e,t){return Ember.handleErrors(function(){var i=Ember.View.views[this.id],s=!0,o=null;return o=n._findNearestEventManager(i,r),o&&o!==t?s=n._dispatchEvent(o,e,r,i):i?s=n._bubbleEvent(i,e,r):e.stopPropagation(),s},this)}),e.on(t+".ember","[data-ember-action]",function(e){return Ember.handleErrors(function(){var t=Ember.$(e.currentTarget).attr("data-ember-action"),n=Ember.Handlebars.ActionHelper.registeredActions[t];return n&&n.eventName===r?n.handler(e):void 0},this)})},_findNearestEventManager:function(t,r){for(var n=null;t&&(n=e(t,"eventManager"),!n||!n[r]);)t=e(t,"parentView");return n},_dispatchEvent:function(e,t,r,n){var i=!0,s=e[r];return"function"===Ember.typeOf(s)?(i=s.call(e,t,n),t.stopPropagation()):i=this._bubbleEvent(n,t,r),i},_bubbleEvent:function(e,t,r){return Ember.run(function(){return e.handleEvent(r,t)})},destroy:function(){var t=e(this,"rootElement");return Ember.$(t).off(".ember","**").removeClass("ember-application"),this._super()}})}(),function(){var e=Ember.run.queues,t=Ember.ArrayPolyfills.indexOf;e.splice(t.call(e,"actions")+1,0,"render","afterRender")}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({target:null,namespace:null,view:null,container:null,_childContainers:null,init:function(){this._super(),t(this,"_childContainers",{})},_modelDidChange:Ember.observer(function(){var r=e(this,"_childContainers");for(var n in r)r.hasOwnProperty(n)&&r[n].destroy();t(this,"_childContainers",{})},"model")})}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}var t={},r=Ember.get,n=Ember.set,i=Ember.guidFor,s=Ember.EnumerableUtils.forEach,o=Ember.EnumerableUtils.addObject,a=Ember.computed(function(){var e=this._childViews,t=Ember.A(),n=this;return s(e,function(e){e.isVirtual?t.pushObjects(r(e,"childViews")):t.push(e)}),t.replace=function(e,t,r){if(n instanceof Ember.ContainerView)return n.replace(e,t,r);throw new Error("childViews is immutable")},t});Ember.TEMPLATES={},Ember.CoreView=Ember.Object.extend(Ember.Evented,{isView:!0,states:t,init:function(){this._super(),this.transitionTo("preRender")},parentView:Ember.computed(function(){var e=this._parentView;return e&&e.isVirtual?r(e,"parentView"):e}).property("_parentView"),state:null,_parentView:null,concreteView:Ember.computed(function(){return this.isVirtual?r(this,"parentView"):this}).property("parentView"),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString()},renderToBuffer:function(e,t){var r="render."+this.instrumentName,n={};return this.instrumentDetails(n),Ember.instrument(r,n,function(){return this._renderToBuffer(e,t)},this)},_renderToBuffer:function(e){var t=this.tagName;(null===t||void 0===t)&&(t="div");var r=this.buffer=e&&e.begin(t)||Ember.RenderBuffer(t);return this.transitionTo("inBuffer",!1),this.beforeRender(r),this.render(r),this.afterRender(r),r},trigger:function(e){this._super.apply(this,arguments);var t=this[e];if(t){var r,n,i=[];for(r=1,n=arguments.length;n>r;r++)i.push(arguments[r]);return t.apply(this,i)}},has:function(e){return"function"===Ember.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super())return this.removedFromDOM||this.destroyElement(),e&&e.removeChild(this),this.transitionTo("destroying",!1),this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,transitionTo:Ember.K,destroyElement:Ember.K});var u=Ember._ViewCollection=function(e){var t=this.views=e||[];this.length=t.length};u.prototype={length:0,trigger:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],t.trigger&&t.trigger(e)},triggerRecursively:function(e){for(var t=this.views,r=0,n=t.length;n>r;r++)t[r].triggerRecursively(e)},invokeRecursively:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],e(t)},transitionTo:function(e,t){for(var r=this.views,n=0,i=r.length;i>n;n++)r[n].transitionTo(e,t)},push:function(){this.length+=arguments.length;var e=this.views;return e.push.apply(e,arguments)},objectAt:function(e){return this.views[e]},forEach:function(e){var t=this.views;return s(t,e)},clear:function(){this.length=0,this.views.length=0}};var c=[];Ember.View=Ember.CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,templates:Ember.TEMPLATES,template:Ember.computed(function(e,t){if(void 0!==t)return t;var n=r(this,"templateName"),i=this.templateForName(n,"template");return i||r(this,"defaultTemplate")}).property("templateName"),controller:Ember.computed(function(){var e=r(this,"_parentView");return e?r(e,"controller"):null}).property("_parentView"),layout:Ember.computed(function(){var e=r(this,"layoutName"),t=this.templateForName(e,"layout");return t||r(this,"defaultLayout")}).property("layoutName"),templateForName:function(e){if(e){var t=this.container||Ember.Container&&Ember.Container.defaultContainer;return t&&t.lookup("template:"+e)}},context:Ember.computed(function(e,t){return 2===arguments.length?(n(this,"_context",t),t):r(this,"_context")}).volatile(),_context:Ember.computed(function(){var e,t;return(t=r(this,"controller"))?t:(e=this._parentView,e?r(e,"_context"):null)}),_contextDidChange:Ember.observer(function(){this.rerender()},"context"),isVisible:!0,childViews:a,_childViews:c,_childViewsWillChange:Ember.beforeObserver(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyWillChange(e,"childViews")}},"childViews"),_childViewsDidChange:Ember.observer(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyDidChange(e,"childViews")}},"childViews"),nearestInstanceOf:function(e){for(var t=r(this,"parentView");t;){if(t instanceof e)return t;t=r(t,"parentView")}},nearestOfType:function(e){for(var t=r(this,"parentView"),n=e instanceof Ember.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(n(t))return t;t=r(t,"parentView")}},nearestWithProperty:function(e){for(var t=r(this,"parentView");t;){if(e in t)return t;t=r(t,"parentView")}},nearestChildOf:function(e){for(var t=r(this,"parentView");t;){if(r(t,"parentView")instanceof e)return t;t=r(t,"parentView")}},_parentViewDidChange:Ember.observer(function(){this.isDestroying||(this.trigger("parentViewDidChange"),r(this,"parentView.controller")&&!r(this,"controller")&&this.notifyPropertyChange("controller"))},"_parentView"),_controllerDidChange:Ember.observer(function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))},"controller"),cloneKeywords:function(){var e=r(this,"templateData"),t=e?Ember.copy(e.keywords):{};return n(t,"view",r(this,"concreteView")),n(t,"_view",this),n(t,"controller",r(this,"controller")),t},render:function(e){var t=r(this,"layout")||r(this,"template");if(t){var n,i=r(this,"context"),s=this.cloneKeywords(),o={view:this,buffer:e,isRenderData:!0,keywords:s,insideGroup:r(this,"templateData.insideGroup")};n=t(i,{data:o}),void 0!==n&&e.push(n)}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){for(var e=this.lengthBeforeRender,t=this.lengthAfterRender,r=this._childViews,n=t-1;n>=e;n--)r[n]&&r[n].destroy()},_applyClassNameBindings:function(e){var t,r,n,i=this.classNames;s(e,function(e){var s,a=Ember.View._parsePropertyPath(e),u=function(){r=this._classStringForProperty(e),t=this.$(),s&&(t.removeClass(s),i.removeObject(s)),r?(t.addClass(r),s=r):s=null};n=this._classStringForProperty(e),n&&(o(i,n),s=n),this.registerObserver(this,a.path,u),this.one("willClearRender",function(){s&&(i.removeObject(s),s=null)})},this)},_applyAttributeBindings:function(e,t){var n,i;s(t,function(t){var s=t.split(":"),o=s[0],a=s[1]||o,u=function(){i=this.$(),n=r(this,o),Ember.View.applyAttributeBindings(i,a,n)};this.registerObserver(this,o,u),n=r(this,o),Ember.View.applyAttributeBindings(e,a,n)},this)},_classStringForProperty:function(e){var t=Ember.View._parsePropertyPath(e),n=t.path,i=r(this,n);return void 0===i&&Ember.isGlobalPath(n)&&(i=r(Ember.lookup,n)),Ember.View._classStringForValue(n,i,t.className,t.falsyClassName)},element:Ember.computed(function(e,t){return void 0!==t?this.currentState.setElement(this,t):this.currentState.getElement(this)}).property("_parentView"),$:function(e){return this.currentState.$(this,e)},mutateChildViews:function(e){for(var t,r=this._childViews,n=r.length;--n>=0;)t=r[n],e(this,t,n);return this},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){return this._insertElementLater(function(){this.$().appendTo(e)}),this},replaceIn:function(e){return this._insertElementLater(function(){Ember.$(e).empty(),this.$().appendTo(e)}),this},_insertElementLater:function(e){this._scheduledInsert=Ember.run.scheduleOnce("render",this,"_insertElement",e)},_insertElement:function(e){this._scheduledInsert=null,this.currentState.insertElement(this,e)},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement(),this.invokeRecursively(function(e){e.clearRenderedChildren&&e.clearRenderedChildren()})},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return Ember.$(t)[0]||Ember.$(t,e)[0]},createElement:function(){if(r(this,"element"))return this;var e=this.renderToBuffer();return n(this,"element",e.element()),this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(e,t){for(var r,n,i=t===!1?this._childViews:[this];i.length;){r=i.slice(),i=[];for(var s=0,o=r.length;o>s;s++)n=r[s],e(n),n._childViews&&i.push.apply(i,n._childViews)}},triggerRecursively:function(e){for(var t,r,n=[this];n.length;){t=n.slice(),n=[];for(var i=0,s=t.length;s>i;i++)r=t[i],r.trigger&&r.trigger(e),r._childViews&&n.push.apply(n,r._childViews)}},viewHierarchyCollection:function(){for(var e,t=new u([this]),r=0;r<t.length;r++)e=t.objectAt(r),e._childViews&&t.push.apply(t,e._childViews);return t},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:function(){},_notifyWillDestroyElement:function(){var e=this.viewHierarchyCollection();return e.trigger("willClearRender"),e.trigger("willDestroyElement"),e},_elementWillChange:Ember.beforeObserver(function(){this.forEachChildView(function(e){Ember.propertyWillChange(e,"element")})},"element"),_elementDidChange:Ember.observer(function(){this.forEachChildView(function(e){Ember.propertyDidChange(e,"element")})},"element"),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(e){e.template=r(this,"templateName"),this._super(e)},_renderToBuffer:function(e,t){this.lengthBeforeRender=this._childViews.length;var r=this._super(e,t);return this.lengthAfterRender=this._childViews.length,r},renderToBufferIfNeeded:function(e){return this.currentState.renderToBufferIfNeeded(this,e)},beforeRender:function(e){this.applyAttributesToBuffer(e),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag()},applyAttributesToBuffer:function(e){var t=r(this,"classNameBindings");t.length&&this._applyClassNameBindings(t);var n=r(this,"attributeBindings");n.length&&this._applyAttributeBindings(e,n),e.setClasses(this.classNames),e.id(this.elementId);var i=r(this,"ariaRole");i&&e.attr("role",i),r(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:c,attributeBindings:c,init:function(){this.elementId=this.elementId||i(this),this._super(),this._childViews=this._childViews.slice(),this.classNameBindings=Ember.A(this.classNameBindings.slice()),this.classNames=Ember.A(this.classNames.slice());var e=r(this,"viewController");e&&(e=r(e),e&&n(e,"view",this))},appendChild:function(e,t){return this.currentState.appendChild(this,e,t)},removeChild:function(e){if(!this.isDestroying){n(e,"_parentView",null);var t=this._childViews;return Ember.EnumerableUtils.removeObject(t,e),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(e,t){e.removeChild(t)})},destroyAllChildren:function(){return this.mutateChildViews(function(e,t){t.destroy()})},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e,t,n=this._childViews,i=r(this,"parentView"),s=this.viewName;if(this._super()){for(e=n.length,t=e-1;t>=0;t--)n[t].removedFromDOM=!0;for(s&&i&&i.set(s,null),e=n.length,t=e-1;t>=0;t--)n[t].destroy();return this}},createChildView:function(e,t){return e.isView&&e._parentView===this&&e.container===this.container?e:(t=t||{},t._parentView=this,t.container=this.container,Ember.CoreView.detect(e)?(t.templateData=t.templateData||r(this,"templateData"),e=e.create(t),e.viewName&&n(r(this,"concreteView"),e.viewName,e)):(Ember.setProperties(e,t),r(e,"templateData")||n(e,"templateData",r(this,"templateData"))),e)},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:Ember.observer(function(){var e=this.$();if(e){var t=r(this,"isVisible");e.toggle(t),this._isAncestorHidden()||(t?this._notifyBecameVisible():this._notifyBecameHidden())}},"isVisible"),_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameHidden()})},_isAncestorHidden:function(){for(var e=r(this,"parentView");e;){if(r(e,"isVisible")===!1)return!0;e=r(e,"parentView")}return!1},clearBuffer:function(){this.invokeRecursively(function(e){e.buffer=null})},transitionTo:function(e,t){var r=this.currentState,n=this.currentState=this.states[e];this.state=e,r&&r.exit&&r.exit(this),n.enter&&n.enter(this),t!==!1&&this.forEachChildView(function(t){t.transitionTo(e)})},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){n||"function"!=typeof r||(n=r,r=null);var i=this,s=function(){i.currentState.invokeObserver(this,n)},o=function(){Ember.run.scheduleOnce("render",this,s)};Ember.addObserver(e,t,r,o),this.one("willClearRender",function(){Ember.removeObserver(e,t,r,o)})}});var l={prepend:function(t,r){t.$().prepend(r),e()},after:function(t,r){t.$().after(r),e()},html:function(t,r){t.$().html(r),e()},replace:function(t){var i=r(t,"element");n(t,"element",null),t._insertElementLater(function(){Ember.$(i).replaceWith(r(t,"element")),e()})},remove:function(t){t.$().remove(),e()},empty:function(t){t.$().empty(),e()}};Ember.View.reopen({domManager:l}),Ember.View.reopenClass({_parsePropertyPath:function(e){var t,r,n=e.split(":"),i=n[0],s="";return n.length>1&&(t=n[1],3===n.length&&(r=n[2]),s=":"+t,r&&(s+=":"+r)),{path:i,classNames:s,className:""===t?void 0:t,falsyClassName:r}},_classStringForValue:function(e,t,r,n){if(r||n)return r&&t?r:n&&!t?n:null;if(t===!0){var i=e.split(".");return Ember.String.dasherize(i[i.length-1])}return t!==!1&&null!=t?t:null}});var h=Ember.Object.extend(Ember.Evented).create();Ember.View.addMutationListener=function(e){h.on("change",e)},Ember.View.removeMutationListener=function(e){h.off("change",e)},Ember.View.notifyMutationListeners=function(){h.trigger("change")},Ember.View.views={},Ember.View.childViewsProperty=a,Ember.View.applyAttributeBindings=function(e,t,r){var n=Ember.typeOf(r);"value"===t||"string"!==n&&("number"!==n||isNaN(r))?"value"===t||"boolean"===n?(Ember.isNone(r)&&(r=""),r!==e.prop(t)&&e.prop(t,r)):r||e.removeAttr(t):r!==e.attr(t)&&e.attr(t,r)},Ember.View.states=t}(),function(){var e=(Ember.get,Ember.set);Ember.View.states._default={appendChild:function(){throw"You can't use appendChild outside of the rendering process"},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(t){return e(t,"element",null),t._scheduledInsert&&(Ember.run.cancel(t._scheduledInsert),t._scheduledInsert=null),t},renderToBufferIfNeeded:function(){return!1},rerender:Ember.K,invokeObserver:Ember.K}}(),function(){var e=Ember.View.states.preRender=Ember.create(Ember.View.states._default);Ember.merge(e,{insertElement:function(e,t){e.createElement();var r=e.viewHierarchyCollection();r.trigger("willInsertElement"),t.call(e),r.transitionTo("inDOM",!1),r.trigger("didInsertElement")},renderToBufferIfNeeded:function(e,t){return e.renderToBuffer(t),!0},empty:Ember.K,setElement:function(e,t){return null!==t&&e.transitionTo("hasElement"),t}})}(),function(){Ember.get,Ember.set;var e=Ember.View.states.inBuffer=Ember.create(Ember.View.states._default);Ember.merge(e,{$:function(e){return e.rerender(),Ember.$()},rerender:function(){throw new Ember.Error("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t.renderToBuffer(n),e.propertyDidChange("childViews"),t},destroyElement:function(e){e.clearBuffer();var t=e._notifyWillDestroyElement();return t.transitionTo("preRender",!1),e},empty:function(){},renderToBufferIfNeeded:function(){return!1},insertElement:function(){throw"You can't insert an element that has already been rendered"},setElement:function(e,t){return null===t?e.transitionTo("preRender"):(e.clearBuffer(),e.transitionTo("hasElement")),t},invokeObserver:function(e,t){t.call(e)}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.View.states.hasElement=Ember.create(Ember.View.states._default);Ember.merge(r,{$:function(t,r){var n=e(t,"element");return r?Ember.$(r,n):Ember.$(n)},getElement:function(t){var r=e(t,"parentView");return r&&(r=e(r,"element")),r?t.findElementInParentElement(r):Ember.$("#"+e(t,"elementId"))[0]},setElement:function(e,t){if(null!==t)throw"You cannot set an element to a non-null value when the element is already in the DOM.";return e.transitionTo("preRender"),t},rerender:function(e){return e.triggerRecursively("willClearRender"),e.clearRenderedChildren(),e.domManager.replace(e),e},destroyElement:function(e){return e._notifyWillDestroyElement(),e.domManager.remove(e),t(e,"element",null),e._scheduledInsert&&(Ember.run.cancel(e._scheduledInsert),e._scheduledInsert=null),e},empty:function(e){var t,r,n=e._childViews;if(n)for(t=n.length,r=0;t>r;r++)n[r]._notifyWillDestroyElement();e.domManager.empty(e)},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}});var n=Ember.View.states.inDOM=Ember.create(r);Ember.merge(n,{enter:function(e){e.isVirtual||(Ember.View.views[e.elementId]=e),e.addBeforeObserver("elementId",function(){throw new Error("Changing a view's elementId after creation is not allowed")})},exit:function(e){this.isVirtual||delete Ember.View.views[e.elementId]},insertElement:function(){throw"You can't insert an element into the DOM that has already been inserted"}})}(),function(){var e="You can't call %@ on a view being destroyed",t=Ember.String.fmt,r=Ember.View.states.destroying=Ember.create(Ember.View.states._default);Ember.merge(r,{appendChild:function(){throw t(e,["appendChild"])},rerender:function(){throw t(e,["rerender"])},destroyElement:function(){throw t(e,["destroyElement"])},empty:function(){throw t(e,["empty"])},setElement:function(){throw t(e,["set('element', ...)"])},renderToBufferIfNeeded:function(){return!1},insertElement:Ember.K})}(),function(){Ember.View.cloneStates=function(e){var t={};t._default={},t.preRender=Ember.create(t._default),t.destroying=Ember.create(t._default),t.inBuffer=Ember.create(t._default),t.hasElement=Ember.create(t._default),t.inDOM=Ember.create(t.hasElement);for(var r in e)e.hasOwnProperty(r)&&Ember.merge(t[r],e[r]);return t}}(),function(){function e(e,t,r,n){t.triggerRecursively("willInsertElement"),r?r.domManager.after(r,n.string()):e.domManager.prepend(e,n.string()),t.forEach(function(e){e.transitionTo("inDOM"),e.propertyDidChange("element"),e.triggerRecursively("didInsertElement")})}var t=Ember.View.cloneStates(Ember.View.states),r=Ember.get,n=Ember.set,i=Ember.EnumerableUtils.forEach,s=Ember._ViewCollection;Ember.ContainerView=Ember.View.extend(Ember.MutableArray,{states:t,init:function(){this._super();var e=r(this,"childViews");Ember.defineProperty(this,"childViews",Ember.View.childViewsProperty);var t=this._childViews;i(e,function(e,i){var s;"string"==typeof e?(s=r(this,e),s=this.createChildView(s),n(this,e,s)):s=this.createChildView(e),t[i]=s},this);var s=r(this,"currentView");s&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(s)))},replace:function(e,t,n){var i=n?r(n,"length"):0;if(this.arrayContentWillChange(e,t,i),this.childViewsWillChange(this._childViews,e,t),0===i)this._childViews.splice(e,t);else{var s=[e,t].concat(n);n.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,s)}return this.arrayContentDidChange(e,t,i),this.childViewsDidChange(this._childViews,e,t,i),this},objectAt:function(e){return this._childViews[e]},length:Ember.computed(function(){return this._childViews.length}),render:function(e){this.forEachChildView(function(t){t.renderToBuffer(e)})},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,n,i){if(i>0){var s=e.slice(t,t+i);this.initializeViews(s,this,r(this,"templateData")),this.currentState.childViewsDidChange(this,e,t,i)}this.propertyDidChange("childViews")},initializeViews:function(e,t,s){i(e,function(e){n(e,"_parentView",t),n(e,"container",t&&t.container),r(e,"templateData")||n(e,"templateData",s)})},currentView:null,_currentViewWillChange:Ember.beforeObserver(function(){var e=r(this,"currentView");e&&e.destroy()},"currentView"),_currentViewDidChange:Ember.observer(function(){var e=r(this,"currentView");e&&this.pushObject(e)},"currentView"),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}}),Ember.merge(t._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K}),Ember.merge(t.inBuffer,{childViewsDidChange:function(){throw new Error("You cannot modify child views while in the inBuffer state")}}),Ember.merge(t.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++)t[i].remove()},childViewsDidChange:function(e){Ember.run.scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(t){var r,n,i,o,a,u=t._childViews,c=new s;for(r=0,n=u.length;n>r;r++)i=u[r],a||(a=Ember.RenderBuffer(),a._hasElement=!1),i.renderToBufferIfNeeded(a)?c.push(i):c.length?(e(t,c,o,a),a=null,o=i,c.clear()):o=i;c.length&&e(t,c,o,a)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.CollectionView=Ember.ContainerView.extend({content:null,emptyViewClass:Ember.View,emptyView:null,itemViewClass:Ember.View,init:function(){var e=this._super();return this._contentDidChange(),e},_contentWillChange:Ember.beforeObserver(function(){var t=this.get("content");t&&t.removeArrayObserver(this);var r=t?e(t,"length"):0;this.arrayWillChange(t,0,r)},"content"),_contentDidChange:Ember.observer(function(){var t=e(this,"content");t&&t.addArrayObserver(this);var r=t?e(t,"length"):0;this.arrayDidChange(t,0,null,r)},"content"),destroy:function(){if(this._super()){var t=e(this,"content");return t&&t.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(t,r,n){var i=e(this,"emptyView");i&&i instanceof Ember.View&&i.removeFromParent();var s,o,a,u=this._childViews;a=this._childViews.length;var c=n===a;for(c&&(this.currentState.empty(this),this.invokeRecursively(function(e){e.removedFromDOM=!0},!1)),o=r+n-1;o>=r;o--)s=u[o],s.destroy()},arrayDidChange:function(r,n,i,s){var o,a,u,c,l=e(this,"itemViewClass"),h=[];if("string"==typeof l&&(l=e(l)),c=r?e(r,"length"):0)for(u=n;n+s>u;u++)a=r.objectAt(u),o=this.createChildView(l,{content:a,contentIndex:u}),h.push(o);else{var m=e(this,"emptyView");if(!m)return;var f=Ember.CoreView.detect(m);m=this.createChildView(m),h.push(m),t(this,"emptyView",m),f&&(this._createdEmptyView=m)}this.replace(n,0,h)},createChildView:function(r,n){r=this._super(r,n);var i=e(r,"tagName"),s=null===i||void 0===i?Ember.CollectionView.CONTAINER_MAP[e(this,"tagName")]:i;return t(r,"tagName",s),r}}),Ember.CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"}}(),function(){Ember.Component=Ember.View.extend({init:function(){this._super(),this.set("context",this),this.set("controller",this)}})}(),function(){Ember.ViewTargetActionSupport=Ember.Mixin.create(Ember.TargetActionSupport,{target:Ember.computed.alias("controller"),actionContext:Ember.computed.alias("context")})}(),function(){var e=Ember.get,t=Ember.set;Ember.State=Ember.Object.extend(Ember.Evented,{parentState:null,start:null,name:null,path:Ember.computed(function(){var t=e(this,"parentState.path"),r=e(this,"name");return t&&(r=t+"."+r),r}),trigger:function(e){this[e]&&this[e].apply(this,[].slice.call(arguments,1)),this._super.apply(this,arguments)},init:function(){var r=e(this,"states");t(this,"childStates",Ember.A()),t(this,"eventTransitions",e(this,"eventTransitions")||{});var n,i,s;if(r)for(n in r)this.setupChild(r,n,r[n]);else{r={};for(n in this)"constructor"!==n&&(i=this[n])&&((s=i.transitionTarget)&&(this.eventTransitions[n]=s),this.setupChild(r,n,i));t(this,"states",r)}t(this,"pathsCaches",{})},setPathsCache:function(t,r,n){var i=Ember.guidFor(t.constructor),s=e(this,"pathsCaches"),o=s[i]||{};o[r]=n,s[i]=o},getPathsCache:function(t,r){var n=Ember.guidFor(t.constructor),i=e(this,"pathsCaches"),s=i[n]||{};return s[r]},setupChild:function(r,n,i){if(!i)return!1;var s;return i instanceof Ember.State?(t(i,"name",n),s=i,s.container=this.container):Ember.State.detect(i)&&(s=i.create({name:n,container:this.container})),s instanceof Ember.State?(t(s,"parentState",this),e(this,"childStates").pushObject(s),r[n]=s,s):void 0},lookupEventTransition:function(e){for(var t,r=this;r&&!t;)t=r.eventTransitions[e],r=r.get("parentState");return t},isLeaf:Ember.computed(function(){return!e(this,"childStates").length}),hasContext:!0,setup:Ember.K,enter:Ember.K,exit:Ember.K}),Ember.State.reopenClass({transitionTo:function(e){var t=function(t,r){var n=[],i=Ember.$&&Ember.$.Event;r&&i&&r instanceof i?r.hasOwnProperty("contexts")&&(n=r.contexts.slice()):n=[].slice.call(arguments,1),n.unshift(e),t.transitionTo.apply(t,n)};return t.transitionTarget=e,t}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.String.fmt,n=Ember.ArrayPolyfills.forEach,i=function(e){this.enterStates=e.enterStates.slice(),this.exitStates=e.exitStates.slice(),this.resolveState=e.resolveState,this.finalState=e.enterStates[e.enterStates.length-1]||e.resolveState};i.prototype={normalize:function(e,t){return this.matchContextsToStates(t),this.addInitialStates(),this.removeUnchangedContexts(e),this},matchContextsToStates:function(t){for(var r,n,i=this.enterStates.length-1,s=[];t.length>0;){if(i>=0)r=this.enterStates[i--];else{if(this.enterStates.length){if(r=e(this.enterStates[0],"parentState"),!r)throw"Cannot match all contexts to states"}else r=this.resolveState;this.enterStates.unshift(r),this.exitStates.unshift(r)}n=e(r,"hasContext")?t.pop():null,s.unshift(n)}this.contexts=s},addInitialStates:function(){for(var t,r=this.finalState;;){if(t=e(r,"initialState")||"start",r=e(r,"states."+t),!r)break;this.finalState=r,this.enterStates.push(r),this.contexts.push(void 0)}},removeUnchangedContexts:function(e){for(;this.enterStates.length>0&&this.enterStates[0]===this.exitStates[0];){if(this.enterStates.length===this.contexts.length){if(e.getStateMeta(this.enterStates[0],"context")!==this.contexts[0])break;this.contexts.shift()}this.resolveState=this.enterStates.shift(),this.exitStates.shift()}}};var s=function(t,n,i){var a,u,c,l=this.enableLogging,h=i?"unhandledEvent":t,m=n[h];if(a=[].slice.call(arguments,3),"function"==typeof m)return l&&(i?Ember.Logger.log(r("STATEMANAGER: Unhandled event '%@' being sent to state %@.",[t,e(n,"path")])):Ember.Logger.log(r("STATEMANAGER: Sending event '%@' to state %@.",[t,e(n,"path")]))),c=a,i&&c.unshift(t),c.unshift(this),m.apply(n,c);var f=e(n,"parentState");return f?(u=a,u.unshift(t,f,i),s.apply(this,u)):i?void 0:o.call(this,t,a,!0)},o=function(t,r,n){return r.unshift(t,e(this,"currentState"),n),s.apply(this,r)};Ember.StateManager=Ember.State.extend({init:function(){this._super(),t(this,"stateMeta",Ember.Map.create());var r=e(this,"initialState");!r&&e(this,"states.start")&&(r="start"),r&&this.transitionTo(r)},stateMetaFor:function(t){var r=e(this,"stateMeta"),n=r.get(t);return n||(n={},r.set(t,n)),n},setStateMeta:function(e,r,n){return t(this.stateMetaFor(e),r,n)},getStateMeta:function(t,r){return e(this.stateMetaFor(t),r)},currentState:null,currentPath:Ember.computed.alias("currentState.path"),transitionEvent:"setup",errorOnUnhandledEvent:!0,send:function(e){var t=[].slice.call(arguments,1);return o.call(this,e,t,!1)},unhandledEvent:function(t,r){if(e(this,"errorOnUnhandledEvent"))throw new Ember.Error(this.toString()+" could not respond to event "+r+" in state "+e(this,"currentState.path")+".")
|
19
|
-
},getStateByPath:function(t,r){for(var n=r.split("."),i=t,s=0,o=n.length;o>s&&(i=e(e(i,"states"),n[s]),i);s++);return i},findStateByPath:function(t,r){for(var n;!n&&t;)n=this.getStateByPath(t,r),t=e(t,"parentState");return n},getStatesInPath:function(t,r){if(!r||""===r)return void 0;for(var n,i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++){if(n=e(t,"states"),!n)return void 0;if(i=e(n,s[a]),!i)return void 0;t=i,o.push(i)}return o},goToState:function(){return this.transitionTo.apply(this,arguments)},transitionTo:function(t,r){if(!Ember.isEmpty(t)){var n=r?Array.prototype.slice.call(arguments,1):[],s=e(this,"currentState")||this,o=this.contextFreeTransition(s,t),a=new i(o).normalize(this,n);this.enterState(a),this.triggerSetupContext(a)}},contextFreeTransition:function(t,r){var n=t.getPathsCache(this,r);if(n)return n;for(var i=this.getStatesInPath(t,r),s=[],o=t;o&&!i;){if(s.unshift(o),o=e(o,"parentState"),!o&&(i=this.getStatesInPath(this,r),!i))return;i=this.getStatesInPath(o,r)}for(;i.length>0&&i[0]===s[0];)o=i.shift(),s.shift();var a={exitStates:s,enterStates:i,resolveState:o};return t.setPathsCache(this,r,a),a},triggerSetupContext:function(t){var r=t.contexts,i=t.enterStates.length-r.length,s=t.enterStates,o=e(this,"transitionEvent");n.call(s,function(e,t){e.trigger(o,this,r[t-i])},this)},getState:function(t){var r=e(this,t),n=e(this,"parentState");return r?r:n?n.getState(t):void 0},enterState:function(r){var i=this.enableLogging,s=r.exitStates.slice(0).reverse();n.call(s,function(e){e.trigger("exit",this)},this),n.call(r.enterStates,function(t){i&&Ember.Logger.log("STATEMANAGER: Entering "+e(t,"path")),t.trigger("enter",this)},this),t(this,"currentState",r.finalState)}})}(),function(){e("metamorph",[],function(){"use strict";// Copyright: ©2011 My Company Inc. All rights reserved.
|
20
|
-
var e=function(){},t=0,r=this.document,n=r&&"createRange"in r&&"undefined"!=typeof Range&&Range.prototype.createContextualFragment,i=r&&function(){var e=r.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),s=r&&function(){var e=r.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),o=function(r){var n;n=this instanceof o?this:new e,n.innerHTML=r;var i="metamorph-"+t++;return n.start=i+"-start",n.end=i+"-end",n};e.prototype=o.prototype;var a,u,c,l,h,m,f,p,d;if(l=function(){return this.startTag()+this.innerHTML+this.endTag()},p=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"},d=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"},n)a=function(e,t){var n=r.createRange(),i=r.getElementById(e.start),s=r.getElementById(e.end);return t?(n.setStartBefore(i),n.setEndAfter(s)):(n.setStartAfter(i),n.setEndBefore(s)),n},u=function(e,t){var r=a(this,t);r.deleteContents();var n=r.createContextualFragment(e);r.insertNode(n)},c=function(){var e=a(this,!0);e.deleteContents()},h=function(e){var t=r.createRange();t.setStart(e),t.collapse(!1);var n=t.createContextualFragment(this.outerHTML());e.appendChild(n)},m=function(e){var t=r.createRange(),n=r.getElementById(this.end);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)},f=function(e){var t=r.createRange(),n=r.getElementById(this.start);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)};else{var b={select:[1,"<select multiple='multiple'>","</select>"],fieldset:[1,"<fieldset>","</fieldset>"],table:[1,"<table>","</table>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"],colgroup:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],map:[1,"<map>","</map>"],_default:[0,"",""]},E=function(e,t){if(e.getAttribute("id")===t)return e;var r,n,i,s=e.childNodes.length;for(r=0;s>r;r++)if(n=e.childNodes[r],i=1===n.nodeType&&E(n,t))return i},v=function(e,t){var n=[];if(s&&(t=t.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,i){return n.push([i,t]),r})),e.innerHTML=t,n.length>0){var i,o=n.length;for(i=0;o>i;i++){var a=E(e,n[i][0]),u=r.createTextNode(n[i][1]);a.parentNode.insertBefore(u,a)}}},g=function(e,t){var n=b[e.tagName.toLowerCase()]||b._default,s=n[0],o=n[1],a=n[2];i&&(t="­"+t);var u=r.createElement("div");v(u,o+t+a);for(var c=0;s>=c;c++)u=u.firstChild;if(i){for(var l=u;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}return u},y=function(e){for(;""===e.parentNode.tagName;)e=e.parentNode;return e},w=function(e,t){e.parentNode!==t.parentNode&&t.parentNode.insertBefore(e,t.parentNode.firstChild)};u=function(e,t){var n,i,s,o=y(r.getElementById(this.start)),a=r.getElementById(this.end),u=a.parentNode;for(w(o,a),n=o.nextSibling;n;){if(i=n.nextSibling,s=n===a){if(!t)break;a=n.nextSibling}if(n.parentNode.removeChild(n),s)break;n=i}for(n=g(o.parentNode,e);n;)i=n.nextSibling,u.insertBefore(n,a),n=i},c=function(){var e=y(r.getElementById(this.start)),t=r.getElementById(this.end);this.html(""),e.parentNode.removeChild(e),t.parentNode.removeChild(t)},h=function(e){for(var t,r=g(e,this.outerHTML());r;)t=r.nextSibling,e.appendChild(r),r=t},m=function(e){var t,n,i=r.getElementById(this.end),s=i.nextSibling,o=i.parentNode;for(n=g(o,e);n;)t=n.nextSibling,o.insertBefore(n,s),n=t},f=function(e){var t,n,i=r.getElementById(this.start),s=i.parentNode;n=g(s,e);for(var o=i.nextSibling;n;)t=n.nextSibling,s.insertBefore(n,o),n=t}}return o.prototype.html=function(e){return this.checkRemoved(),void 0===e?this.innerHTML:(u.call(this,e),this.innerHTML=e,void 0)},o.prototype.replaceWith=function(e){this.checkRemoved(),u.call(this,e,!0)},o.prototype.remove=c,o.prototype.outerHTML=l,o.prototype.appendTo=h,o.prototype.after=m,o.prototype.prepend=f,o.prototype.startTag=p,o.prototype.endTag=d,o.prototype.isRemoved=function(){var e=r.getElementById(this.start),t=r.getElementById(this.end);return!e||!t},o.prototype.checkRemoved=function(){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")},o})}(),function(){function e(e){var t=e.hash,r=e.hashTypes;for(var n in t)"ID"===r[n]&&(t[n+"Binding"]=t[n],r[n+"Binding"]="STRING",delete t[n],delete r[n])}var t=Object.create||function(e){function t(){}return t.prototype=e,new t},r=this.Handlebars||Ember.imports&&Ember.imports.Handlebars;r||"function"!=typeof require||(r=require("handlebars")),Ember.Handlebars=t(r),Ember.Handlebars.helper=function(t,r){if(Ember.Component.detect(r)){var n=r.proto();n.layoutName||n.templateName||r.reopen({layoutName:"components/"+t})}Ember.View.detect(r)?Ember.Handlebars.registerHelper(t,function(t){return e(t),Ember.Handlebars.helpers.view.call(this,r,t)}):Ember.Handlebars.registerBoundHelper.apply(null,arguments)},Ember.Handlebars.helpers=t(r.helpers),Ember.Handlebars.Compiler=function(){},r.Compiler&&(Ember.Handlebars.Compiler.prototype=t(r.Compiler.prototype)),Ember.Handlebars.Compiler.prototype.compiler=Ember.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=function(){},r.JavaScriptCompiler&&(Ember.Handlebars.JavaScriptCompiler.prototype=t(r.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler.prototype.compiler=Ember.Handlebars.JavaScriptCompiler),Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},Ember.Handlebars.JavaScriptCompiler.prototype.appendToBuffer=function(e){return"data.buffer.push("+e+");"};var n="ember"+ +new Date,i=1;Ember.Handlebars.Compiler.prototype.mustache=function(e){if(e.isHelper&&"control"===e.id.string)e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["controlID",new r.AST.StringNode(n+i++)]);else if(e.params.length||e.hash);else{var t=new r.AST.IdNode([{part:"_triageMustache"}]);e.escaped||(e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["unescaped",new r.AST.StringNode("true")])),e=new r.AST.MustacheNode([t].concat([e.id]),e.hash,!e.escaped)}return r.Compiler.prototype.mustache.call(this,e)},Ember.Handlebars.precompile=function(e){var t=r.parse(e),n={knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n);return(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0)},r.compile&&(Ember.Handlebars.compile=function(e){var t=r.parse(e),n={data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n),s=(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0);return Ember.Handlebars.template(s)})}(),function(){function e(e,t,r,i){var s,o,a,u,c,l,h=r.length,m=i.data,f=m.view,p=i.hash,d=p.boundOptions;a=new Ember._SimpleHandlebarsView(null,null,!p.unescaped,m),a.normalizedValue=function(){var s,o=[];for(s in d)d.hasOwnProperty(s)&&(c=n(e,d[s],m),a.path=c.path,a.pathRoot=c.root,p[s]=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));for(u=0;h>u;++u)c=r[u],a.path=c.path,a.pathRoot=c.root,o.push(Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));return o.push(i),t.apply(e,o)},f.appendChild(a),s=[];for(o in d)d.hasOwnProperty(o)&&s.push(n(e,d[o],m));for(s=s.concat(r),u=0,l=s.length;l>u;++u)c=s[u],f.registerObserver(c.root,c.path,a,a.rerender)}function t(e,t,r,n){var i,s,o,a,u=[],c=n.hash,l=c.boundOptions;for(a in l)l.hasOwnProperty(a)&&(c[a]=Ember.Handlebars.get(e,l[a],n));for(i=0,s=r.length;s>i;++i)o=r[i],u.push(Ember.Handlebars.get(e,o.path,n));return u.push(n),t.apply(e,u)}var r=Array.prototype.slice,n=Ember.Handlebars.normalizePath=function(e,t,r){var n,i,s=r&&r.keywords||{};return n=t.split(".",1)[0],s.hasOwnProperty(n)&&(e=s[n],i=!0,t=t===n?"":t.substr(n.length+1)),{root:e,path:t,isKeyword:i}},i=Ember.Handlebars.get=function(e,t,r){var i,s=r&&r.data,o=n(e,t,s);return e=o.root,t=o.path,i=Ember.get(e,t),void 0===i&&e!==Ember.lookup&&Ember.isGlobalPath(t)&&(i=Ember.get(Ember.lookup,t)),i};Ember.Handlebars.getPath=Ember.deprecateFunc("`Ember.Handlebars.getPath` has been changed to `Ember.Handlebars.get` for consistency.",Ember.Handlebars.get),Ember.Handlebars.resolveParams=function(e,t,r){for(var n,s,o=[],a=r.types,u=0,c=t.length;c>u;u++)n=t[u],s=a[u],"ID"===s?o.push(i(e,n,r)):o.push(n);return o},Ember.Handlebars.resolveHash=function(e,t,r){var n,s={},o=r.hashTypes;for(var a in t)t.hasOwnProperty(a)&&(n=o[a],s[a]="ID"===n?i(e,t[a],r):t[a]);return s},Ember.Handlebars.registerHelper("helperMissing",function(e,t){var r,n="";throw r="%@ Handlebars error: Could not find property '%@' on object %@.",t.data&&(n=t.data.view),new Ember.Error(Ember.String.fmt(r,[n,e,this]))}),Ember.Handlebars.registerBoundHelper=function(i,s){function o(){var i,o,u,c,l,h=r.call(arguments,0,-1),m=h.length,f=arguments[arguments.length-1],p=[],d=f.data,b=f.hash,E=d.view,v=f.contexts&&f.contexts[0]||this;b.boundOptions={};for(l in b)b.hasOwnProperty(l)&&Ember.IS_BINDING.test(l)&&"string"==typeof b[l]&&(b.boundOptions[l.slice(0,-7)]=b[l]);for(d.properties=[],c=0;m>c;++c)d.properties.push(h[c]),p.push(n(v,h[c],d));if(d.isUnbound)return t(this,s,p,f);if(0===a.length)return e(v,s,p,f);i=p[0],o=i.root,u=i.path;var g=new Ember._SimpleHandlebarsView(u,o,!f.hash.unescaped,f.data);g.normalizedValue=function(){var e=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(g);return s.call(E,e,f)},E.appendChild(g),E.registerObserver(o,u,g,g.rerender);for(var y=0,w=a.length;w>y;y++)E.registerObserver(o,u+"."+a[y],g,g.rerender)}var a=r.call(arguments,2);o._rawFunction=s,Ember.Handlebars.registerHelper(i,o)},Ember.Handlebars.template=function(e){var t=Handlebars.template(e);return t.isTop=!0,t}}(),function(){Ember.String.htmlSafe=function(e){return new Handlebars.SafeString(e)};var e=Ember.String.htmlSafe;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return e(this)})}(),function(){Ember.Handlebars.resolvePaths=function(e){for(var t=[],r=e.contexts,n=e.roots,i=e.data,s=0,o=r.length;o>s;s++)t.push(Ember.Handlebars.get(n[s],r[s],{data:i}));return t}}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}Ember.set,Ember.get;var r=t("metamorph"),n={remove:function(t){t.morph.remove(),e()},prepend:function(t,r){t.morph.prepend(r),e()},after:function(t,r){t.morph.after(r),e()},html:function(t,r){t.morph.html(r),e()},replace:function(t){var r=t.morph;t.transitionTo("preRender"),Ember.run.schedule("render",this,function(){if(!t.isDestroying){t.clearRenderedChildren();var n=t.renderToBuffer();t.invokeRecursively(function(e){e.propertyWillChange("element")}),t.triggerRecursively("willInsertElement"),r.replaceWith(n.string()),t.transitionTo("inDOM"),t.invokeRecursively(function(e){e.propertyDidChange("element")}),t.triggerRecursively("didInsertElement"),e()}})},empty:function(t){t.morph.html(""),e()}};Ember._Metamorph=Ember.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super(),this.morph=r()},beforeRender:function(e){e.push(this.morph.startTag()),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag(),e.push(this.morph.endTag())},createElement:function(){var e=this.renderToBuffer();this.outerHTML=e.string(),this.clearBuffer()},domManager:n}),Ember._MetamorphView=Ember.View.extend(Ember._Metamorph),Ember._SimpleMetamorphView=Ember.CoreView.extend(Ember._Metamorph)}(),function(){function e(e,t,r,n){this.path=e,this.pathRoot=t,this.isEscaped=r,this.templateData=n,this.morph=s(),this.state="preRender",this.updateId=null}var r=Ember.get,n=Ember.set,i=Ember.Handlebars.get,s=t("metamorph");Ember._SimpleHandlebarsView=e,e.prototype={isVirtual:!0,isView:!0,destroy:function(){this.updateId&&(Ember.run.cancel(this.updateId),this.updateId=null),this.morph=null},propertyWillChange:Ember.K,propertyDidChange:Ember.K,normalizedValue:function(){var e,t,r=this.path,n=this.pathRoot;return""===r?e=n:(t=this.templateData,e=i(n,r,{data:t})),e},renderToBuffer:function(e){var t="";t+=this.morph.startTag(),t+=this.render(),t+=this.morph.endTag(),e.push(t)},render:function(){var e=this.isEscaped,t=this.normalizedValue();return null===t||void 0===t?t="":t instanceof Handlebars.SafeString||(t=String(t)),e&&(t=Handlebars.Utils.escapeExpression(t)),t},rerender:function(){switch(this.state){case"preRender":case"destroying":break;case"inBuffer":throw new Ember.Error("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=Ember.run.scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null,this.morph.html(this.render())},transitionTo:function(e){this.state=e}};var o=Ember.View.cloneStates(Ember.View.states),a=Ember.merge;a(o._default,{rerenderIfNeeded:Ember.K}),a(o.inDOM,{rerenderIfNeeded:function(e){e.normalizedValue()!==e._lastNormalizedValue&&e.rerender()}}),Ember._HandlebarsBoundView=Ember._MetamorphView.extend({instrumentName:"boundHandlebars",states:o,shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var e,t,n=r(this,"path"),s=r(this,"pathRoot"),o=r(this,"valueNormalizerFunc");return""===n?e=s:(t=r(this,"templateData"),e=i(s,n,{data:t})),o?o(e):e},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(e){var t=r(this,"isEscaped"),i=r(this,"shouldDisplayFunc"),s=r(this,"preserveContext"),o=r(this,"previousContext"),a=r(this,"inverseTemplate"),u=r(this,"displayTemplate"),c=this.normalizedValue();if(this._lastNormalizedValue=c,i(c))if(n(this,"template",u),s)n(this,"_context",o);else{if(!u)return null===c||void 0===c?c="":c instanceof Handlebars.SafeString||(c=String(c)),t&&(c=Handlebars.Utils.escapeExpression(c)),e.push(c),void 0;n(this,"_context",c)}else a?(n(this,"template",a),s?n(this,"_context",o):n(this,"_context",c)):n(this,"template",function(){return""});return this._super(e)}})}(),function(){function e(e){return!Ember.isNone(e)}function t(e,t,r,n,o,a){var u,c,l,h=t.data,m=t.fn,f=t.inverse,p=h.view,d=this;if(u=s(d,e,h),"object"==typeof this){if(h.insideGroup){c=function(){Ember.run.once(p,"rerender")};var b,E,v=i(d,e,t);v=o(v),E=r?d:v,n(v)?b=m:f&&(b=f),b(E,{data:t.data})}else{var g=p.createChildView(Ember._HandlebarsBoundView,{preserveContext:r,shouldDisplayFunc:n,valueNormalizerFunc:o,displayTemplate:m,inverseTemplate:f,path:e,pathRoot:d,previousContext:d,isEscaped:!t.hash.unescaped,templateData:t.data});p.appendChild(g),c=function(){Ember.run.scheduleOnce("render",g,"rerenderIfNeeded")}}if(""!==u.path&&(p.registerObserver(u.root,u.path,c),a))for(l=0;l<a.length;l++)p.registerObserver(u.root,u.path+"."+a[l],c)}else h.buffer.push(i(d,e,t))}function r(e,t){var r,n,o=t.data,a=o.view,u=this;if(r=s(u,e,o),"object"==typeof this){if(o.insideGroup){n=function(){Ember.run.once(a,"rerender")};var c=i(u,e,t);(null===c||void 0===c)&&(c=""),o.buffer.push(c)}else{var l=new Ember._SimpleHandlebarsView(e,u,!t.hash.unescaped,t.data);l._parentView=a,a.appendChild(l),n=function(){Ember.run.scheduleOnce("render",l,"rerender")}}""!==r.path&&a.registerObserver(r.root,r.path,n)}else o.buffer.push(i(u,e,t))}var n=Ember.get;Ember.set,Ember.String.fmt;var i=Ember.Handlebars.get,s=Ember.Handlebars.normalizePath,o=Ember.ArrayPolyfills.forEach,a=Ember.Handlebars,u=a.helpers;a.registerHelper("_triageMustache",function(e,t){return u[e]?u[e].call(this,t):u.bind.apply(this,arguments)}),a.registerHelper("bind",function(n,i){var s=i.contexts&&i.contexts[0]||this;return i.fn?t.call(s,n,i,!1,e):r.call(s,n,i)}),a.registerHelper("boundIf",function(e,r){var i=r.contexts&&r.contexts[0]||this,s=function(e){var t=e&&n(e,"isTruthy");return"boolean"==typeof t?t:Ember.isArray(e)?0!==n(e,"length"):!!e};return t.call(i,e,r,!0,s,s,["isTruthy","length"])}),a.registerHelper("with",function(r,n){if(4===arguments.length){var i,o,a,c;if(n=arguments[3],i=arguments[2],o=arguments[0],Ember.isGlobalPath(o))Ember.bind(n.data.keywords,i,o);else{c=s(this,o,n.data),o=c.path,a=c.root;var l=Ember.$.expando+Ember.guidFor(a);n.data.keywords[l]=a;var h=o?l+"."+o:l;Ember.bind(n.data.keywords,i,h)}return t.call(this,o,n,!0,e)}return u.bind.call(n.contexts[0],r,n)}),a.registerHelper("if",function(e,t){return u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("unless",function(e,t){var r=t.fn,n=t.inverse;return t.fn=n,t.inverse=r,u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("bindAttr",function(e){var t=e.hash,r=e.data.view,n=[],u=this,c=++Ember.uuid,l=t["class"];if(null!=l){var h=a.bindClasses(this,l,r,c,e);n.push('class="'+Handlebars.Utils.escapeExpression(h.join(" "))+'"'),delete t["class"]}var m=Ember.keys(t);return o.call(m,function(o){var a,l=t[o];a=s(u,l,e.data);var h,m,f="this"===l?a.root:i(u,l,e),p=Ember.typeOf(f);h=function(){var t=i(u,l,e),n=r.$("[data-bindattr-"+c+"='"+c+"']");return n&&0!==n.length?(Ember.View.applyAttributeBindings(n,o,t),void 0):(Ember.removeObserver(a.root,a.path,m),void 0)},"this"===l||a.isKeyword&&""===a.path||r.registerObserver(a.root,a.path,h),"string"===p||"number"===p&&!isNaN(f)?n.push(o+'="'+Handlebars.Utils.escapeExpression(f)+'"'):f&&"boolean"===p&&n.push(o+'="'+o+'"')},this),n.push("data-bindattr-"+c+'="'+c+'"'),new a.SafeString(n.join(" "))}),a.bindClasses=function(e,t,r,n,a){var u,c,l,h=[],m=function(e,t,r){var n,s=t.path;return n="this"===s?e:""===s?!0:i(e,s,r),Ember.View._classStringForValue(s,n,t.className,t.falsyClassName)};return o.call(t.split(" "),function(t){var i,o,f,p,d=Ember.View._parsePropertyPath(t),b=d.path,E=e;""!==b&&"this"!==b&&(p=s(e,b,a.data),E=p.root,b=p.path),o=function(){u=m(e,d,a),l=n?r.$("[data-bindattr-"+n+"='"+n+"']"):r.$(),l&&0!==l.length?(i&&l.removeClass(i),u?(l.addClass(u),i=u):i=null):Ember.removeObserver(E,b,f)},""!==b&&"this"!==b&&r.registerObserver(E,b,o),c=m(e,d,a),c&&(h.push(c),i=c)}),h}}(),function(){Ember.get,Ember.set;var e=Ember.Handlebars;e.ViewHelper=Ember.Object.create({propertiesFromHTMLOptions:function(e){var t=e.hash,r=e.data,n={},i=t["class"],s=!1;t.id&&(n.elementId=t.id,s=!0),t.tag&&(n.tagName=t.tag,s=!0),i&&(i=i.split(" "),n.classNames=i,s=!0),t.classBinding&&(n.classNameBindings=t.classBinding.split(" "),s=!0),t.classNameBindings&&(void 0===n.classNameBindings&&(n.classNameBindings=[]),n.classNameBindings=n.classNameBindings.concat(t.classNameBindings.split(" ")),s=!0),t.attributeBindings&&(n.attributeBindings=null,s=!0),s&&(t=Ember.$.extend({},t),delete t.id,delete t.tag,delete t["class"],delete t.classBinding);var o;for(var a in t)t.hasOwnProperty(a)&&Ember.IS_BINDING.test(a)&&"string"==typeof t[a]&&(o=this.contextualizeBindingPath(t[a],r),o&&(t[a]=o));if(n.classNameBindings)for(var u in n.classNameBindings){var c=n.classNameBindings[u];if("string"==typeof c){var l=Ember.View._parsePropertyPath(c);o=this.contextualizeBindingPath(l.path,r),o&&(n.classNameBindings[u]=o+l.classNames)}}return Ember.$.extend(t,n)},contextualizeBindingPath:function(e,t){var r=Ember.Handlebars.normalizePath(null,e,t);return r.isKeyword?"templateData.keywords."+e:Ember.isGlobalPath(e)?null:"this"===e?"_parentView.context":"_parentView.context."+e},helper:function(t,r,n){var i,s=n.data,o=n.fn;i="string"==typeof r?e.get(t,r,n):r;var a=this.propertiesFromHTMLOptions(n,t),u=s.view;a.templateData=s;var c=i.proto?i.proto():i;o&&(a.template=o),c.controller||c.controllerBinding||a.controller||a.controllerBinding||(a._context=t),u.appendChild(i,a)}}),e.registerHelper("view",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="Ember.View"),e.ViewHelper.helper(this,t,r)})}(),function(){var e=Ember.get,t=Ember.Handlebars.get;Ember.String.fmt,Ember.Handlebars.registerHelper("collection",function(r,n){r&&r.data&&r.data.isRenderData&&(n=r,r=void 0);var i=n.fn,s=n.data,o=n.inverse;n.data.view;var a;a=r?t(this,r,n):Ember.CollectionView;var u,c,l=n.hash,h={},m=l.itemViewClass,f=a.proto();delete l.itemViewClass,c=m?t(f,m,n):f.itemViewClass;for(var p in l)l.hasOwnProperty(p)&&(u=p.match(/^item(.)(.*)$/),u&&"itemController"!==p&&(h[u[1].toLowerCase()+u[2]]=l[p],delete l[p]));i&&(h.template=i,delete n.fn);var d;o&&o!==Handlebars.VM.noop?(d=e(f,"emptyViewClass"),d=d.extend({template:o,tagName:h.tagName})):l.emptyViewClass&&(d=t(this,l.emptyViewClass,n)),d&&(l.emptyView=d),l.keyword||(h._context=Ember.computed.alias("content"));var b=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions({data:s,hash:h},this);return l.itemViewClass=c.extend(b),Ember.Handlebars.helpers.view.call(this,a,n)})}(),function(){var e=Ember.Handlebars.get;Ember.Handlebars.registerHelper("unbound",function(t,r){var n,i,s,o=arguments[arguments.length-1];return arguments.length>2?(o.data.isUnbound=!0,n=Ember.Handlebars.helpers[arguments[0]]||Ember.Handlebars.helperMissing,s=n.apply(this,Array.prototype.slice.call(arguments,1)),delete o.data.isUnbound,s):(i=r.contexts&&r.contexts[0]||this,e(i,t,r))})}(),function(){var e=Ember.Handlebars.get,t=Ember.Handlebars.normalizePath;Ember.Handlebars.registerHelper("log",function(r,n){var i=n.contexts&&n.contexts[0]||this,s=t(i,r,n.data),o=s.root,a=s.path,u="this"===a?o:e(o,a,n);Ember.Logger.log(u)}),Ember.Handlebars.registerHelper("debugger",function(){})}(),function(){var e=Ember.get,t=Ember.set;Ember.Handlebars.EachView=Ember.CollectionView.extend(Ember._Metamorph,{init:function(){var r,n=e(this,"itemController");if(n){var i=Ember.ArrayController.create();t(i,"itemController",n),t(i,"container",e(this,"controller.container")),t(i,"_eachView",this),t(i,"target",e(this,"controller")),t(i,"parentController",e(this,"controller")),this.disableContentObservers(function(){t(this,"content",i),r=new Ember.Binding("content","_eachView.dataSource").oneWay(),r.connect(i)}),t(this,"_arrayController",i)}else this.disableContentObservers(function(){r=new Ember.Binding("content","dataSource").oneWay(),r.connect(this)});return this._super()},disableContentObservers:function(e){Ember.removeBeforeObserver(this,"content",null,"_contentWillChange"),Ember.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),Ember.addBeforeObserver(this,"content",null,"_contentWillChange"),Ember.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView,createChildView:function(r,n){r=this._super(r,n);var i=e(this,"keyword"),s=e(r,"content");if(i){var o=e(r,"templateData");o=Ember.copy(o),o.keywords=r.cloneKeywords(),t(r,"templateData",o),o.keywords[i]=s}return s&&e(s,"isController")&&t(r,"controller",s),r},destroy:function(){if(this._super()){var t=e(this,"_arrayController");return t&&t.destroy(),this}}});var r=Ember.Handlebars.GroupedEach=function(e,t,r){var n=this,i=Ember.Handlebars.normalizePath(e,t,r.data);this.context=e,this.path=t,this.options=r,this.template=r.fn,this.containingView=r.data.view,this.normalizedRoot=i.root,this.normalizedPath=i.path,this.content=this.lookupContent(),this.addContentObservers(),this.addArrayObservers(),this.containingView.on("willClearRender",function(){n.destroy()})};r.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent(),this.addArrayObservers(),this.rerenderContainingView()},contentArrayWillChange:Ember.K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return Ember.Handlebars.get(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){Ember.addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange),Ember.addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){Ember.removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange),Ember.removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){var t=this.content,r=e(t,"length"),n=this.options.data,i=this.template;n.insideEach=!0;for(var s=0;r>s;s++)i(t.objectAt(s),{data:n})},rerenderContainingView:function(){Ember.run.scheduleOnce("render",this.containingView,"rerender")},destroy:function(){this.removeContentObservers(),this.removeArrayObservers()}},Ember.Handlebars.registerHelper("each",function(e,t){if(4===arguments.length){var r=arguments[0];t=arguments[3],e=arguments[2],""===e&&(e="this"),t.hash.keyword=r}return 1===arguments.length&&(t=e,e="this"),t.hash.dataSourceBinding=e,!t.data.insideGroup||t.hash.groupedRows||t.hash.itemViewClass?Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView",t):(new Ember.Handlebars.GroupedEach(this,e,t).render(),void 0)})}(),function(){Ember.Handlebars.registerHelper("template",function(e,t){var r=t.data.view,n=r.templateForName(e);n(this,{data:t.data})})}(),function(){Ember.Handlebars.registerHelper("partial",function(e,t){var r=e.split("/"),n=r[r.length-1];r[r.length-1]="_"+n;var i=t.data.view,s=r.join("/"),o=i.templateForName(s),a=!o&&i.templateForName(e);o=o||a,o(this,{data:t.data})})}(),function(){var e=Ember.get;Ember.set,Ember.Handlebars.registerHelper("yield",function(t){for(var r,n=t.data.view;n&&!e(n,"layout");)n=e(n,"parentView");r=e(n,"template"),r&&r(this,t)})}(),function(){var e=Ember.set;Ember.get,Ember.Checkbox=Ember.View.extend({classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","disabled","tabindex","name"],type:"checkbox",checked:!1,disabled:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},_updateElementValue:function(){e(this,"checked",this.$().prop("checked"))}})}(),function(){var e=(Ember.get,Ember.set);Ember.TextSupport=Ember.Mixin.create({value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex"],placeholder:null,disabled:!1,maxlength:null,insertNewline:Ember.K,cancel:Ember.K,init:function(){this._super(),this.on("focusOut",this,this._elementValueDidChange),this.on("change",this,this._elementValueDidChange),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange),this.on("keyUp",this,this.interpretKeyEvents)},interpretKeyEvents:function(e){var t=Ember.TextSupport.KEY_EVENTS,r=t[e.keyCode];return this._elementValueDidChange(),r?this[r](e):void 0},_elementValueDidChange:function(){e(this,"value",this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"}}(),function(){function e(e,r,n){var i=t(r,"action"),s=t(r,"onEvent");if(i&&s===e){var o=t(r,"controller"),a=t(r,"value"),u=t(r,"bubbles");o.send(i,a,r),u||n.stopPropagation()}}var t=Ember.get;Ember.set,Ember.TextField=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name"],value:"",type:"text",size:null,pattern:null,action:null,onEvent:"enter",bubbles:!1,insertNewline:function(t){e("enter",this,t)},keyPress:function(t){e("keyPress",this,t)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Button=Ember.View.extend(Ember.TargetActionSupport,{classNames:["ember-button"],classNameBindings:["isActive"],tagName:"button",propagateEvents:!1,attributeBindings:["type","disabled","href","tabindex"],targetObject:Ember.computed(function(){var t=e(this,"target"),r=e(this,"context"),n=e(this,"templateData");return"string"!=typeof t?t:Ember.Handlebars.get(r,t,{data:n})}).property("target"),type:Ember.computed(function(){var e=this.tagName;return"input"===e||"button"===e?"button":void 0}),disabled:!1,href:Ember.computed(function(){return"a"===this.tagName?"#":null}),mouseDown:function(){return e(this,"disabled")||(t(this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0),e(this,"propagateEvents")},mouseLeave:function(){this._mouseDown&&(t(this,"isActive",!1),this._mouseEntered=!1)},mouseEnter:function(){this._mouseDown&&(t(this,"isActive",!0),this._mouseEntered=!0)},mouseUp:function(){return e(this,"isActive")&&(this.triggerAction(),t(this,"isActive",!1)),this._mouseDown=!1,this._mouseEntered=!1,e(this,"propagateEvents")},keyDown:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseDown()},keyUp:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseUp()},touchStart:function(e){return this.mouseDown(e)},touchEnd:function(e){return this.mouseUp(e)},init:function(){this._super()}})}(),function(){var e=Ember.get;Ember.set,Ember.TextArea=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name"],rows:null,cols:null,_updateElementValue:Ember.observer(function(){var t=e(this,"value"),r=this.$();r&&t!==r.val()&&r.val(t)},"value"),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}(),function(){var e=Ember.set,t=Ember.get,r=Ember.EnumerableUtils.indexOf,n=Ember.EnumerableUtils.indexesOf,i=Ember.EnumerableUtils.forEach,s=Ember.EnumerableUtils.replace,o=Ember.isArray;Ember.Handlebars.compile,Ember.SelectOption=Ember.View.extend({tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(e,t){t={data:t.data,hash:{}},Ember.Handlebars.helpers.bind.call(e,"view.label",t)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:Ember.computed(function(){var e=t(this,"content"),n=t(this,"parentView.selection");return t(this,"parentView.multiple")?n&&r(n,e.valueOf())>-1:e==n}).property("content","parentView.selection"),labelPathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionLabelPath");e&&Ember.defineProperty(this,"label",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionLabelPath"),valuePathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionValuePath");e&&Ember.defineProperty(this,"value",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionValuePath")}),Ember.SelectOptgroup=Ember.CollectionView.extend({tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),Ember.Select=Ember.View.extend({tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function(e,t,r,n,i){function s(e,t){var n,i,s="";return t.buffer.push('<option value="">'),n={},i={},t.buffer.push(p(r._triageMustache.call(e,"view.prompt",{hash:{},contexts:[e],types:["ID"],hashContexts:i,hashTypes:n,data:t}))),t.buffer.push("</option>"),s}function o(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.groupedContent",{hash:{},inverse:d.noop,fn:d.program(4,a,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function a(e,t){var n,i;n={contentBinding:e,labelBinding:e},i={contentBinding:"ID",labelBinding:"ID"},t.buffer.push(p(r.view.call(e,"view.groupView",{hash:{contentBinding:"content",labelBinding:"label"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}function u(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.content",{hash:{},inverse:d.noop,fn:d.program(7,c,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function c(e,t){var n,i;n={contentBinding:e},i={contentBinding:"STRING"},t.buffer.push(p(r.view.call(e,"view.optionView",{hash:{contentBinding:"this"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}this.compilerInfo=[4,">= 1.0.0"],r=this.merge(r,Ember.Handlebars.helpers),i=i||{};var l,h,m,f="",p=this.escapeExpression,d=this;return h={},m={},l=r["if"].call(t,"view.prompt",{hash:{},inverse:d.noop,fn:d.program(1,s,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),h={},m={},l=r["if"].call(t,"view.optionGroupPath",{hash:{},inverse:d.program(6,u,i),fn:d.program(3,o,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),f}),attributeBindings:["multiple","disabled","tabindex","name"],multiple:!1,disabled:!1,content:null,selection:null,value:Ember.computed(function(e,r){if(2===arguments.length)return r;var n=t(this,"optionValuePath").replace(/^content\.?/,"");return n?t(this,"selection."+n):t(this,"selection")
|
21
|
-
}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:Ember.SelectOptgroup,groupedContent:Ember.computed(function(){var e=t(this,"optionGroupPath"),r=Ember.A();return i(t(this,"content"),function(n){var i=t(n,e);t(r,"lastObject.label")!==i&&r.pushObject({label:i,content:Ember.A()}),t(r,"lastObject.content").push(n)}),r}).property("optionGroupPath","content.@each"),optionView:Ember.SelectOption,_change:function(){t(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:Ember.observer(function(){var r=t(this,"selection");if(t(this,"multiple")){if(!o(r))return e(this,"selection",Ember.A([r])),void 0;this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()},"selection.@each"),valueDidChange:Ember.observer(function(){var e,r=t(this,"content"),n=t(this,"value"),i=t(this,"optionValuePath").replace(/^content\.?/,""),s=i?t(this,"selection."+i):t(this,"selection");n!==s&&(e=r?r.find(function(e){return n===(i?t(e,i):e)}):null,this.set("selection",e))},"value"),_triggerChange:function(){var e=t(this,"selection"),r=t(this,"value");Ember.isNone(e)||this.selectionDidChange(),Ember.isNone(r)||this.valueDidChange(),this._change()},_changeSingle:function(){var r=this.$()[0].selectedIndex,n=t(this,"content"),i=t(this,"prompt");if(n&&t(n,"length")){if(i&&0===r)return e(this,"selection",null),void 0;i&&(r-=1),e(this,"selection",n.objectAt(r))}},_changeMultiple:function(){var r=this.$("option:selected"),n=t(this,"prompt"),i=n?1:0,a=t(this,"content"),u=t(this,"selection");if(a&&r){var c=r.map(function(){return this.index-i}).toArray(),l=a.objectsAt(c);o(u)?s(u,0,t(u,"length"),l):e(this,"selection",l)}},_selectionDidChangeSingle:function(){var e=this.get("element");if(e){var n=t(this,"content"),i=t(this,"selection"),s=n?r(n,i):-1,o=t(this,"prompt");o&&(s+=1),e&&(e.selectedIndex=s)}},_selectionDidChangeMultiple:function(){var e,i=t(this,"content"),s=t(this,"selection"),o=i?n(i,s):[-1],a=t(this,"prompt"),u=a?1:0,c=this.$("option");c&&c.each(function(){e=this.index>-1?this.index-u:-1,this.selected=r(o,e)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}})}(),function(){function e(e,t){for(var r in e)"ID"===t[r]&&(e[r+"Binding"]=e[r],delete e[r])}Ember.Handlebars.registerHelper("input",function(t){var r=t.hash,n=t.hashTypes,i=r.type,s=r.on;return delete r.type,delete r.on,e(r,n),"checkbox"===i?Ember.Handlebars.helpers.view.call(this,Ember.Checkbox,t):(r.type=i,r.onEvent=s||"enter",Ember.Handlebars.helpers.view.call(this,Ember.TextField,t))}),Ember.Handlebars.registerHelper("textarea",function(t){var r=t.hash,n=t.hashTypes;return e(r,n),Ember.Handlebars.helpers.view.call(this,Ember.TextArea,t)})}(),function(){function e(){Ember.Handlebars.bootstrap(Ember.$(document))}function t(e){var t,n=Ember.TEMPLATES;if(n)for(var i in n)(t=i.match(/^components\/(.*)$/))&&r(e,t[1])}function r(e,t){var r=t.replace(/-/g,"_"),n=e.lookupFactory("component:"+r)||e.lookupFactory("component:"+t),i=n||Ember.Component.extend();i.reopen({layoutName:"components/"+t}),Ember.Handlebars.helper(t,i)}Ember.Handlebars.bootstrap=function(e){var t='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';Ember.$(t,e).each(function(){var e=Ember.$(this),t="text/x-raw-handlebars"===e.attr("type")?Ember.$.proxy(Handlebars.compile,Handlebars):Ember.$.proxy(Ember.Handlebars.compile,Ember.Handlebars),r=e.attr("data-template-name")||e.attr("id")||"application",n=t(e.html());Ember.TEMPLATES[r]=n,e.remove()})},Ember.onLoad("Ember.Application",function(r){r.initializer?(r.initializer({name:"domTemplates",initialize:e}),r.initializer({name:"registerComponents",after:"domTemplates",initialize:t})):Ember.onLoad("application",e)})}(),function(){Ember.runLoadHooks("Ember.Handlebars",Ember.Handlebars)}(),function(){var e=Ember.get,t=Ember.set;Ember._PromiseChain=Ember.Object.extend({promises:null,failureCallback:Ember.K,successCallback:Ember.K,abortCallback:Ember.K,promiseSuccessCallback:Ember.K,runNextPromise:function(){if(!e(this,"isDestroyed")){var t=e(this,"promises").shiftObject();if(t){var r=e(t,"promise")||t,n=this,i=function(){n.promiseSuccessCallback.call(this,t,arguments),n.runNextPromise()},s=e(n,"failureCallback");r.then(i,s)}else this.successCallback()}},start:function(){return this.runNextPromise(),this},abort:function(){this.abortCallback(),this.destroy()},init:function(){t(this,"promises",Ember.A(e(this,"promises"))),this._super()}})}(),function(){function e(t,r,n,i){var s,o=t.name,a=t.incoming,u=t.incomingNames,c=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,s=0;c>s;s++)e(a[u[s]],r,n,i);r(t,i),i.pop()}}function t(){this.names=[],this.vertices={}}t.prototype.add=function(e){if(e){if(this.vertices.hasOwnProperty(e))return this.vertices[e];var t={name:e,incoming:{},incomingNames:[],hasOutgoing:!1,value:null};return this.vertices[e]=t,this.names.push(e),t}},t.prototype.map=function(e,t){this.add(e).value=t},t.prototype.addEdge=function(t,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(t&&r&&t!==r){var i=this.add(t),s=this.add(r);s.incoming.hasOwnProperty(t)||(e(i,n),i.hasOutgoing=!0,s.incoming[t]=i,s.incomingNames.push(t))}},t.prototype.topsort=function(t){var r,n,i={},s=this.vertices,o=this.names,a=o.length;for(r=0;a>r;r++)n=s[o[r]],n.hasOutgoing||e(n,t,i)},t.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},Ember.DAG=t}(),function(){var e=Ember.get,t=Ember.set;Ember.Application=Ember.Namespace.extend({rootElement:"body",eventDispatcher:null,customEvents:null,autoinit:!Ember.testing,isInitialized:!1,init:function(){if(this.$||(this.$=Ember.$),this._super(),this.createEventDispatcher(),this._readinessDeferrals=1,this.waitForDOMContentLoaded(),this.autoinit){var e=this;this.$().ready(function(){e.isDestroyed||e.isInitialized||e.initialize()})}},createEventDispatcher:function(){var r=e(this,"rootElement"),n=Ember.EventDispatcher.create({rootElement:r});t(this,"eventDispatcher",n)},waitForDOMContentLoaded:function(){this.deferReadiness();var e=this;this.$().ready(function(){e.advanceReadiness()})},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&Ember.run.once(this,this.didBecomeReady)},initialize:function(e){return e=this.setupRouter(e),this.runInjections(e),Ember.runLoadHooks("application",this),this.isInitialized=!0,this.advanceReadiness(),this},runInjections:function(t){var r,n,i=e(this.constructor,"injections"),s=new Ember.DAG,o=this;for(r=0;r<i.length;r++)n=i[r],s.addEdges(n.name,n.injection,n.before,n.after);s.topsort(function(e){var r=e.value,n=Ember.A(Ember.keys(o));n.forEach(function(e){r(o,t,e)})})},setupRouter:function(e){return!e&&Ember.Router.detect(this.Router)&&(e=this.Router.create(),this._createdRouter=e),e&&(t(this,"router",e),t(e,"namespace",this)),e},didBecomeReady:function(){var t,r=e(this,"eventDispatcher"),n=e(this,"customEvents");r.setup(n),this.ready(),t=e(this,"router"),this.createApplicationView(t),t&&t instanceof Ember.Router&&this.startRouting(t),Ember.BOOTED=!0},createApplicationView:function(r){var n,i,s=e(this,"rootElement"),o={},a=this.ApplicationView,u=Ember.TEMPLATES.application;(a||u)&&(r&&(n=e(r,"applicationController"),n&&(o.controller=n)),u&&(o.template=u),a||(a=Ember.View),i=a.create(o),this._createdApplicationView=i,r&&t(r,"applicationView",i),i.appendTo(s))},startRouting:function(t){var r=e(t,"location");t.route(r.getURL()),r.onUpdateURL(function(e){t.route(e)})},ready:Ember.K,willDestroy:function(){e(this,"eventDispatcher").destroy(),this._createdRouter&&this._createdRouter.destroy(),this._createdApplicationView&&this._createdApplicationView.destroy()},registerInjection:function(e){this.constructor.registerInjection(e)}}),Ember.Application.reopenClass({concatenatedProperties:["injections"],injections:Ember.A(),registerInjection:function(t){var r=e(this,"injections");r.push(t)}}),Ember.Application.registerInjection({name:"controllers",injection:function(e,t,r){if(t&&/^[A-Z].*Controller$/.test(r)){var n,i=r.charAt(0).toLowerCase()+r.substr(1),s=e[r];Ember.Object.detect(s)&&(n=e[r].create(),t.set(i,n),n.setProperties({target:t,controllers:t,namespace:e}))}}}),Ember.runLoadHooks("Ember.Application",Ember.Application)}(),function(){var e=Ember.get;Ember._ResolvedState=Ember.Object.extend({manager:null,state:null,match:null,object:Ember.computed(function(){if(this._object)return this._object;var t=e(this,"state"),r=e(this,"match"),n=e(this,"manager");return t.deserialize(n,r.hash)}),hasPromise:Ember.computed(function(){return Ember.canInvoke(e(this,"object"),"then")}).property("object"),promise:Ember.computed(function(){var t=e(this,"object");return Ember.canInvoke(t,"then")?t:{then:function(e){e(t)}}}).property("object"),transition:function(){var t=e(this,"manager"),r=e(this,"state.path"),n=e(this,"object");t.transitionTo(r,n)}})}(),function(){var e=Ember.get,t=function(e){var t=e.toString(),r=t.split("."),n=r[r.length-1];return Ember.String.underscore(n)+"_id"},r=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e.hasOwnProperty(r)||(e[r]=t[r]))};Ember.Routable=Ember.Mixin.create({init:function(){var t;this.on("setup",this,this.stashContext),(t=e(this,"redirectsTo"))&&(this.connectOutlets=function(e){e.transitionTo(t)});var r=e(this,"route");""===r&&(r="/"),this._super()},setup:function(){return this.connectOutlets.apply(this,arguments)},stashContext:function(t,r){this.router=t;var n=this.serialize(t,r);t.setStateMeta(this,"context",r),t.setStateMeta(this,"serialized",n),e(this,"isRoutable")&&!e(t,"isRouting")&&this.updateRoute(t,e(t,"location"))},updateRoute:function(t,r){if(e(this,"isLeafRoute")){var n=this.absoluteRoute(t);r.setURL(n)}},absoluteRoute:function(t,n){var i,s,o=e(this,"parentState"),a="";s=null,n&&(n instanceof Array?n.length>0&&(s=n.shift()):s=n),e(o,"isRoutable")&&(a=o.absoluteRoute(t,n));var u=e(this,"routeMatcher"),c=t.getStateMeta(this,"serialized");return s=s||{},r(s,c),i=u&&u.generate(s),i&&(a=a+"/"+i),a},isRoutable:Ember.computed(function(){return"string"==typeof e(this,"route")}),isLeafRoute:Ember.computed(function(){return e(this,"isLeaf")?!0:!e(this,"childStates").findProperty("isRoutable")}),routeMatcher:Ember.computed(function(){var t=e(this,"route");return t?Ember._RouteMatcher.create({route:t}):void 0}),hasContext:Ember.computed(function(){var t=e(this,"routeMatcher");return t?t.identifiers.length>0:void 0}),modelClass:Ember.computed(function(){var t=e(this,"modelType");return"string"==typeof t?Ember.get(Ember.lookup,t):t}),modelClassFor:function(t){var r,n,i,s,o;if(r=e(this,"modelClass"))return r;if(t&&(n=e(this,"routeMatcher"),n&&(i=n.identifiers,2===i.length&&(s=i[1].match(/^(.*)_id$/)))))return o=Ember.String.classify(s[1]),e(t,o)},deserialize:function(r,n){var i;return(i=this.modelClassFor(e(r,"namespace")))?i.find(n[t(i)]):n},serialize:function(r,n){var i,s,o;return Ember.isEmpty(n)?"":((i=this.modelClassFor(e(r,"namespace")))&&(s=t(i),o=e(n,"id"),n={},n[s]=o),n)},resolvePath:function(t,r){if(e(this,"isLeafRoute"))return Ember.A();var n,i=e(this,"childStates");i=Ember.A(i.filterProperty("isRoutable")),i=i.sort(function(t,r){var n=e(t,"routeMatcher.identifiers.length"),i=e(r,"routeMatcher.identifiers.length"),s=e(t,"route"),o=e(r,"route");return 0===s.indexOf(o)?-1:0===o.indexOf(s)?1:n!==i?n-i:e(r,"route.length")-e(t,"route.length")});var s=i.find(function(t){var i=e(t,"routeMatcher");return(n=i.match(r))?!0:void 0}),o=Ember._ResolvedState.create({manager:t,state:s,match:n}),a=s.resolvePath(t,n.remaining);return Ember.A([o]).pushObjects(a)},routePath:function(t,r){function n(){i.forEach(function(e){e.transition()})}if(!e(this,"isLeafRoute")){var i=this.resolvePath(t,r),s=i.some(function(t){return e(t,"hasPromise")});s?(t.transitionTo("loading"),t.handleStatePromises(i,n)):n()}},unroutePath:function(t,r){var n=e(this,"parentState");if(n!==t){r=r.replace(/^(?=[^\/])/,"/");var i=this.absoluteRoute(t),s=e(this,"route");if("/"!==s){var o=r.indexOf(i),a=r.charAt(i.length);if(0===o&&("/"===a||""===a))return}t.enterState({exitStates:[this],enterStates:[],finalState:n}),t.send("unroutePath",r)}},parentTemplate:Ember.computed(function(){for(var t,r=this;r=e(r,"parentState");)if(t=e(r,"template"))return t;return"application"}),_template:Ember.computed(function(){var t=e(this,"template");if(t)return t;var r,n=this.constructor.toString();return/^[^\[].*Route$/.test(n)?(r=n.match(/([^\.]+\.)*([^\.]+)/)[2],r=r.replace(/Route$/,""),r.charAt(0).toLowerCase()+r.substr(1)):void 0}),render:function(t){t=t||{};var r=t.template||e(this,"_template"),n=t.into||e(this,"parentTemplate"),i=e(this.router,n+"Controller"),s=Ember.String.classify(r)+"View",o=e(e(this.router,"namespace"),s);o=(o||Ember.View).extend({templateName:r}),i.set("view",o.create())},connectOutlets:Ember.K,navigateAway:Ember.K})}(),function(){Ember.Route=Ember.State.extend(Ember.Routable)}(),function(){var e=function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember._RouteMatcher=Ember.Object.extend({state:null,init:function(){var t,r=this.route,n=[],i=1;"/"===r.charAt(0)&&(r=this.route=r.substr(1)),t=e(r);var s=t.replace(/(:|(?:\\\*))([a-z_]+)(?=$|\/)/gi,function(e,t,r){switch(n[i++]=r,t){case":":return"([^/]+)";case"\\*":return"(.+)"}});this.identifiers=n,this.regex=new RegExp("^/?"+s)},match:function(e){var t=e.match(this.regex);if(t){for(var r=this.identifiers,n={},i=1,s=r.length;s>i;i++)n[r[i]]=t[i];return{remaining:e.substr(t[0].length),hash:r.length>0?n:null}}},generate:function(e){for(var t,r=this.identifiers,n=this.route,i=1,s=r.length;s>i;i++)t=r[i],n=n.replace(new RegExp("(:|(\\*))"+t),e[t]);return n}})}(),function(){Ember.get,Ember.set,Ember.Location={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{}}}(),function(){var e=Ember.get,t=Ember.set;Ember.NoneLocation=Ember.Object.extend({path:"",getURL:function(){return e(this,"path")},setURL:function(e){t(this,"path",e)},onUpdateURL:function(){},formatURL:function(e){return e}}),Ember.Location.registerImplementation("none",Ember.NoneLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.HashLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location)},getURL:function(){return e(this,"location").hash.substr(1)},setURL:function(r){e(this,"location").hash=r,t(this,"lastSetURL",r)},onUpdateURL:function(r){var n=this,i=Ember.guidFor(this);Ember.$(window).on("hashchange.ember-location-"+i,function(){var i=location.hash.substr(1);e(n,"lastSetURL")!==i&&(t(n,"lastSetURL",null),r(location.hash.substr(1)))})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("hashchange.ember-location-"+e)}}),Ember.Location.registerImplementation("hash",Ember.HashLocation)}(),function(){var e=Ember.get,t=Ember.set,r=!1;Ember.HistoryLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location),this.initState()},initState:function(){this.replaceState(e(this,"location").pathname),t(this,"history",window.history)},rootURL:"/",getURL:function(){return e(this,"location").pathname},setURL:function(e){e=this.formatURL(e),this.getState()&&this.getState().path!==e&&(r=!0,this.pushState(e))},getState:function(){return e(this,"history").state},pushState:function(e){window.history.pushState({path:e},null,e)},replaceState:function(e){window.history.replaceState({path:e},null,e)},onUpdateURL:function(e){var t=Ember.guidFor(this);Ember.$(window).on("popstate.ember-location-"+t,function(){r&&e(location.pathname)})},formatURL:function(t){var r=e(this,"rootURL");return""!==t&&(r=r.replace(/\/$/,"")),r+t},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("popstate.ember-location-"+e)}}),Ember.Location.registerImplementation("history",Ember.HistoryLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.Router=Ember.StateManager.extend({initialState:"root",location:"hash",rootURL:"/",transitionTo:function(){this.abortRoutingPromises(),this._super.apply(this,arguments)},route:function(r){function n(){for(r=r.replace(e(this,"rootURL"),""),r=r.replace(/^(?=[^\/])/,"/"),this.send("navigateAway"),this.send("unroutePath",r),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");var t=s?s.absoluteRoute(this):"",n=r.substr(t.length);this.send("routePath",n)}function i(){t(this,"isRouting",!1)}this.abortRoutingPromises(),t(this,"isRouting",!0);var s;for(Ember.tryFinally(n,i,this),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");s&&s.updateRoute(this,e(this,"location"))},urlFor:function(t,r){var n=e(this,"currentState")||this,i=this.findStateByPath(n,t),s=e(this,"location"),o=i.absoluteRoute(this,r);return s.formatURL(o)},urlForEvent:function(t){var r,n,i=Array.prototype.slice.call(arguments,1),s=e(this,"currentState"),o=s.lookupEventTransition(t);return r=this.findStateByPath(s,o),n=this.serializeRecursively(r,i,[]),this.urlFor(o,n)},serializeRecursively:function(t,r,n){var i,s=e(t,"hasContext")?r.pop():null,o=s?t.serialize(this,s):null;return n.push(o),i=t.get("parentState"),i&&i instanceof Ember.Route?this.serializeRecursively(i,r,n):n},abortRoutingPromises:function(){this._routingPromises&&(this._routingPromises.abort(),this._routingPromises=null)},handleStatePromises:function(e,r){this.abortRoutingPromises(),this.set("isLocked",!0);var n=this;this._routingPromises=Ember._PromiseChain.create({promises:e.slice(),successCallback:function(){n.set("isLocked",!1),r()},failureCallback:function(){throw"Unable to load object"},promiseSuccessCallback:function(e,r){t(e,"object",r[0])},abortCallback:function(){n.set("isLocked",!1)}}).start()},moveStatesIntoRoot:function(){this.root=Ember.Route.extend();for(var e in this)if("constructor"!==e){var t=this[e];(t instanceof Ember.Route||Ember.Route.detect(t))&&(this.root[e]=t,delete this[e])}},init:function(){this.root||this.moveStatesIntoRoot(),this._super();var r=e(this,"location"),n=e(this,"rootURL");"string"==typeof r&&t(this,"location",Ember.Location.create({implementation:r,rootURL:n})),this.assignRouter(this,this)},assignRouter:function(e,t){e.router=t;var r=e.states;if(r)for(var n in r)r.hasOwnProperty(n)&&this.assignRouter(r[n],t)},willDestroy:function(){e(this,"location").destroy()}})}(),function(){var e=Ember.Handlebars,t=e.get,r=Ember.get,n=Array.prototype.slice,i=e.ActionHelper={registeredActions:{}};i.registerAction=function(e,t){var r=(++Ember.uuid).toString();return i.registeredActions[r]={eventName:t.eventName,handler:function(r){var n=r.shiftKey||r.metaKey||r.altKey||r.ctrlKey,i=r.which>1,s=n||i;if(!t.link||!s){r.preventDefault(),r.view=t.view,t.hasOwnProperty("context")&&(r.context=t.context),t.hasOwnProperty("contexts")&&(r.contexts=t.contexts);var o=t.target;return"function"==typeof o.send?o.send(e,r):o[e].call(o,r)}}},t.view.on("willClearRender",function(){delete i.registeredActions[r]}),r},e.registerHelper("action",function(s){var o,a,u=arguments[arguments.length-1],c=n.call(arguments,1,-1),l=u.hash,h=u.data.view,m={eventName:l.on||"click"};m.view=h=r(h,"concreteView"),l.target?o=t(this,l.target,u):(a=u.data.keywords.controller)&&(o=a),m.target=o=o||h,c.length&&(m.contexts=c=Ember.EnumerableUtils.map(c,function(e){return t(this,e,u)},this),m.context=c[0]);var f,p=[];l.href&&o.urlForEvent&&(f=o.urlForEvent.apply(o,[s].concat(c)),p.push('href="'+f+'"'),m.link=!0);var d=i.registerAction(s,m);return p.push('data-ember-action="'+d+'"'),new e.SafeString(p.join(" "))})}(),function(){Ember.onLoad("Ember.Handlebars",function(e){e.OutletView=Ember.ContainerView.extend(Ember._Metamorph),e.registerHelper("outlet",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="view"),r.hash.currentViewBinding="view.context."+t,e.helpers.view.call(this,e.OutletView,r)})})}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({controllers:null,connectOutlet:function(r,n){var i,s,o,a,u;if("string"===Ember.typeOf(n)&&(i=r,r=n,n=arguments[2]),1===arguments.length?"object"===Ember.typeOf(r)&&(u=r,i=u.outletName,r=u.name,s=u.viewClass,a=u.controller,n=u.context):u={},i=i||"view",r){var c=e(this,"namespace"),l=e(this,"controllers"),h=r.charAt(0).toUpperCase()+r.substr(1)+"View";s=e(c,h),a=e(l,r+"Controller")}return a&&n&&t(a,"content",n),o=this.createOutletView(i,s),a&&t(o,"controller",a),t(this,i,o),o},connectControllers:function(){for(var r,n=e(this,"controllers"),i=Array.prototype.slice.apply(arguments),s=0,o=i.length;o>s;s++)r=i[s]+"Controller",t(this,r,e(n,r))},disconnectOutlet:function(e){e=e||"view",t(this,e,null)},createOutletView:function(e,t){return t.create()},urlForEvent:function(t,r){var n=e(this,"target");return n?n.urlForEvent(t,r):void 0}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.String.fmt);Ember.View.reopen({templateForName:function(r,n){if(r){var i=e(this,"templates"),s=e(i,r);if(!s)throw new Ember.Error(t('%@ - Unable to find %@ "%@".',[this,n,r]));return s}}})}()}(),"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.");
|
15
|
+
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,s,o,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");s=i.deps,o=i.callback,a=[];for(var c=0,l=s.length;l>c;c++)"exports"===s[c]?a.push(u={}):a.push(t(s[c]));var h=o.apply(this,a);return n[e]=u||h}}(),function(){function e(e){var t=r.console,n="object"==typeof t?t[e]:null;return n?n.apply?function(){n.apply(t,arguments)}:function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6.1",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},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)}},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(s){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],s=0;r>s;s++)s in t&&(n[s]=e.call(i,t[s],s,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(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,s=0,o=[],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");var n=t+s++;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=o[e],t||(t=o[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+s++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+s++,c.value=t,r(e,i,c),t)}};var l={writable:!0,configurable:!1,enumerable:!1,value:null},h=Ember.GUID_KEY+"_meta";Ember.META_KEY=h;var m={descs:{},watching:{}};u&&(m.values={}),Ember.EMPTY_META=m,Object.freeze&&Object.freeze(m);var f=Ember.platform.defineProperty.isSimulated;f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var s=t[h];return i===!1?s||m:(s?s.source!==t&&(f||r(t,h,l),s=n(s),s.descs=n(s.descs),s.watching=n(s.watching),s.cache={},s.source=t,u&&(s.values=n(s.values)),t[h]=s):(f||r(t,h,l),s=new e(t),u&&(s.values={}),t[h]=s,s.descs.constructor=null),s)},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,s,o=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],s=o[i]){if(s.__ember_source__!==e){if(!r)return void 0;s=o[i]=n(s),s.__ember_source__=e}}else{if(!r)return void 0;s=o[i]={__ember_source__:e}}o=s}return s},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.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,s;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){s=o}}if(s)throw s;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,s,o;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{s=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===s?i:s}:function(e,t,r,n){var i,s;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{s=r.call(n)}return void 0===s?i:s};var d={},b="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(b,function(e){d["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):d[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],s=0,o=e.length;o>s;s++)n=e[s],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,s,o){function a(){for(p=0,d=m.length;d>p;p++)f=m[p],b[p]=f.before(e,n(),i);return s.call(o)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,d=m.length;d>p;p++)f=m[p],f.after(e,n(),i,b[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(l)}var l,h,m=t[e];if(Ember.STRUCTURED_PROFILE&&(l=e+": "+i.object,console.time(l)),m||(m=r(e)),0===m.length)return h=s.call(o),Ember.STRUCTURED_PROFILE&&console.timeEnd(l),h;var f,p,d,b=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++)i=s[a],"*"===i?o.push("[^\\.]*"):o.push(i);o=o.join("\\."),o+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+o+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,s=e.length;s>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;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;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){if(e.replace)return e.replace(t,r,i);var s=n.apply([t,r],i);return e.splice.apply(e,s)},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[\.\*]/,s=/^([^\.\*]+)/;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,s=e[t],o=s&&s.descs[n];return o?o.get(e,n):(i=r&&s&&s.watching[n]>0?s.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 o=Ember.normalizeTuple=function(t,r){var o,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(o=r.match(s)[0],t=e(t,o),r=r.slice(o.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,s,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=o(t,r),t=a[0],r=a[1],a.length=0),s=r.split("."),c=s.length,u=0;null!=t&&c>u;u++)if(t=e(t,s[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,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,s=e.length;s>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=f(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=m(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],s=i&&i.listeners&&i.listeners[r];if(s)for(var o=s.length-1;o>=0;o--){var a=s[o][0],u=s[o][1],c=s[o][2],l=e(n,a,u);-1===l&&n.push([a,u,c])}}function n(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r],o=[];if(s){for(var a=s.length-1;a>=0;a--){var u=s[a][0],c=s[a][1],l=s[a][2],h=e(n,u,c);-1===h&&(n.push([u,c,l]),o.push([u,c,l]))}return o}}function i(r,n,i,s,o){s||"function"!=typeof i||(s=i,i=null);var a=t(r,n),u=e(a,i,s),c=0;o&&(c|=d),-1===u&&(a.push([i,s,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,s))}function s(r,n,i,s){function o(i,s){var o=t(r,n),a=e(o,i,s);-1!==a&&(o.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,s))}if(s||"function"!=typeof i||(s=i,i=null),s)o(i,s);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)o(u[c][0],u[c][1])}}function o(r,n,i,s,o){function a(){return o.call(i)}function u(){c&&(c[2]&=~b)}s||"function"!=typeof i||(s=i,i=null);var c,l=t(r,n),h=e(l,i,s);return-1!==h&&(c=l[h].slice(),c[2]|=b,l[h]=c),Ember.tryFinally(a,u)}function a(r,n,i,s,o){function a(){return o.call(i)}function u(){for(m=0,f=p.length;f>m;m++)p[m][2]&=~b}s||"function"!=typeof i||(s=i,i=null);var c,l,h,m,f,p=[];for(m=0,f=n.length;f>m;m++){c=n[m],l=t(r,c);var d=e(l,i,s);-1!==d&&(h=l[d].slice(),h[2]|=b,l[d]=h,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 o=n.length-1;o>=0;o--){var a=n[o];if(a){var u=a[0],c=a[1],l=a[2];l&b||(l&d&&s(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function l(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function h(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var s=0,o=i.length;o>s;s++){var a=i[s][0],u=i[s][1];r.push([a,u])}return r}var m=Ember.create,f=Ember.meta,p=Ember.META_KEY,d=1,b=2;Ember.addListener=i,Ember.removeListener=s,Ember._suspendListener=o,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=l,Ember.watchedEvents=u,Ember.listenersFor=h,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,s=this.observerSet,o=this.observers,a=e(t),u=s[a];return u||(s[a]=u={}),i=u[r],void 0===i&&(i=o.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},r.prototype.flush=function(){var e,r,n,i,s=this.observers;for(this.clear(),e=0,r=s.length;r>e;++e)n=s[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,i){if(!e.isDestroying){var s=n,o=!s;o&&(s=n={}),r(d,e,t,s,i),o&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var s=i,o=!s;o&&(s=i={}),r(b,e,t,s,n),o&&(i=null)}}function r(e,t,r,n,i){var s=o(t);if(n[s]||(n[s]={}),!n[s][r]){n[s][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,s=Ember.meta,o=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,l=Ember.listenersDiff,h=Ember._ObserverSet,m=new h,f=new h,p=0,d=Ember.propertyWillChange=function(t,r){var n=s(t,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];i&&o!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),E(t,r,n),w(t,r))},b=Ember.propertyDidChange=function(e,r){var n=s(e,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];o!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),_(e,r)))},E=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=0,o=i.length;o>s;s++)i[s].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=i.length-1;s>=0;s--)i[s].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){p++},y=Ember.endPropertyChanges=function(){p--,0>=p&&(m.clear(),f.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var w=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";p?(r=m.add(e,t,i),n=l(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},_=function(e,t){if(!e.isDestroying){var r,n=t+":change";p?(r=f.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,s){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=n(e,t)),!o||0===o.length)throw new Error("You passed an empty path");if(!e){if(s)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,o,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,s,o){if("string"==typeof n&&(s=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,s,o);var a,u,c=n[t],l=c&&c.descs[i];return l?l.set(n,i,s):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,s):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],s!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=s:Ember.defineProperty(n,i,null,s):n[i]=s,Ember.propertyDidChange(n,i))):n[i]=s),s};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),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},s=Ember.OrderedSet=function(){this.clear()};s.create=function(){return new s},s.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,s=this.list;delete i[n];var o=r.call(s,e);o>-1&&s.splice(o,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 s;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var o=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};o.create=function(){return new o},o.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,s=this.values,o=t(r);i.add(r),s[o]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,s=t(r);return i.hasOwnProperty(s)?(n.remove(r),delete i[s],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 s=t(n);e.call(r,n,i[s])})},copy:function(){return i(this,new o)}};var a=Ember.MapWithDefault=function(e){o.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new o},a.prototype=Ember.create(o.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return o.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(){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(){},s=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,o,a,u,c){var l,h,m,f;return c||(c=t(e)),l=c.descs,h=c.descs[o],m=c.watching[o]>0,h instanceof Ember.Descriptor&&h.teardown(e,o),a instanceof Ember.Descriptor?(f=a,l[o]=a,n&&m?r(e,o,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[o]=void 0,a.setup(e,o)):(l[o]=void 0,null==a?(f=u,n&&m?(c.values[o]=u,r(e,o,{configurable:!0,enumerable:!0,set:i,get:s(o)})):e[o]=u):(f=a,r(e,o,a))),m&&Ember.overrideChains(e,o,c),e.didDefineProperty&&e.didDefineProperty(e,o,f),this}}(),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,s){if("length"!==s||"array"!==t(i)){var o,a=e(i),u=a.watching;u[s]?u[s]=(u[s]||0)+1:(u[s]=1,o=a.descs[s],o&&o.willWatch&&o.willWatch(i,s),"function"==typeof i.willWatchProperty&&i.willWatchProperty(s),r&&s in i&&(a.values[s]=i[s],n(i,s,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(s)})))}},Ember.unwatchKey=function(t,i){var s,o=e(t),a=o.watching;1===a[i]?(a[i]=0,s=o.descs[i],s&&s.didUnwatch&&s.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(m)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),s=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(s=i.chainWatchers={}),s[t]||(s[t]=[]),s[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,s=Ember.normalizeTuple,o=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,l=Ember.propertyWillChange,h=Ember.propertyDidChange,m=/^([^\.\*]+)/,f=[];Ember.flushPendingChains=function(){if(0!==f.length){var e=f;f=[],o.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===f.length)}};var p=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var s=i.chainWatchers;if(s[t]){s=s[t];for(var o=0,a=s.length;a>o;o++)s[o]===r&&s.splice(o,1)}c(e,t)}}},d=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()},b=d.prototype;b.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},b.destroy=function(){if(this._watching){var e=this._object;e&&p(e,this._key,this),this._watching=!1}},b.copy=function(e){var t,r=new d(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},b.add=function(t){var r,n,i,o,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=s(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return f.push([this,t]),n.length=0,void 0;o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,o)},b.remove=function(t){var r,n,i,o,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=s(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},b.count=0,b.chain=function(t,r,n){var i,s=this._chains;s||(s=this._chains={}),i=s[t],i||(i=s[t]=new d(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},b.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())},b.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},b.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},b.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},b.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(p(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);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),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 s=t(n),o=s.watching;o[i]?o[i]=(o[i]||0)+1:(o[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),s=i.watching;1===s[n]?(s[n]=0,e(r).remove(n)):s[n]>1&&s[n]--}}(),function(){function e(e){return"*"===e||!h.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,s=Ember.watchKey,o=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,l=Ember.generateGuid,h=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(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)?o(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&l(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var m=[];Ember.destroy=function(e){var t,r,s,o,a=e[n];if(a&&(e[n]=null,t=a.chains))for(m.push(t);m.length>0;){if(t=m.pop(),r=t._chains)for(s in r)r.hasOwnProperty(s)&&m.push(r[s]);t._watching&&(o=t._object,o&&i(o,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,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)+1,p(n,c)}function n(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)-1,d(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 s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function o(e,t){Ember.computed[e]=function(e){var r=h.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=h.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,l=Ember.meta,h=[].slice,m=Ember.create,f=Ember.META_KEY,p=Ember.watch,d=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var b=i.prototype;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(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},b.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},b.willWatch=function(e,t){var n=e[f];t in n.cache||r(this,e,t,n)},b.didUnwatch=function(e,t){var r=e[f];t in r.cache||n(this,e,t,r)},b.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},b.get=function(e,t){var n,i,s;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),s.watching[t]||r(this,e,t,s)}else n=this.func.call(e,t);return n},b.set=function(e,t,n){var i,s,o,a=this._cacheable,u=this.func,c=l(e,a),h=c.watching[t],m=this._suspended,f=!1,p=c.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(s=p[t],f=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)o=u.call(e,t,n,s);else{if(2!==i)return Ember.defineProperty(e,t,null,s),Ember.set(e,t,n),void 0;o=u.call(e,t,n)}if(f&&s===o)return;h&&Ember.propertyWillChange(e,t),f&&delete p[t],a&&(h||f||r(this,e,t,c),p[t]=o),h&&Ember.propertyDidChange(e,t)}finally{this._suspended=m}return o},b.setup=function(e,t){var n=e[f];n&&n.watching[t]&&r(this,e,t,l(e))},b.teardown=function(e,t){var r=l(e);return(r.watching[t]||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 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},o("empty",function(e){return Ember.isEmpty(u(this,e))}),o("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),o("none",function(e){return Ember.isNone(u(this,e))}),o("not",function(e){return!u(this,e)}),o("bool",function(e){return!!u(this,e)}),o("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),o("equal",function(e,t){return u(this,e)===t}),o("gt",function(e,t){return u(this,e)>t}),o("gte",function(e,t){return u(this,e)>=t}),o("lt",function(e,t){return u(this,e)<t}),o("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",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?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(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,s){return Ember._suspendListener(e,t(r),n,i,s)},Ember._suspendObserver=function(t,r,n,i,s){return Ember._suspendListener(t,e(r),n,i,s)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,s,o){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,s,o)},Ember._suspendObservers=function(t,r,n,s,o){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,s,o)},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,s,o,a,u=this._queue;for(o=0,a=u.length;a>o;o+=4)if(i=u[o],s=u[o+1],i===e&&s===t)return u[o+2]=r,u[o+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,s=this._queue,o=this.options,a=o&&o.before,u=o&&o.after,c=s.length;for(c&&a&&a(),i=0;c>i;i+=4)e=s[i],t=s[i+1],r=s[i+2],n=s[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),s.length>c?(this._queue=s.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,s=this._queue;for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s.splice(n,4),!0;if(s=this._queueBeingFlushed)for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s[n+1]=null,!0
|
16
|
+
}},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,s=0,o=e.length;o>s;s++)n=e[s],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,s=t;s>=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,s){var o=this.queues,a=o[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,s):a.push(t,r,n,s)},flush:function(){for(var e,t,r,i,s=this.queues,o=this.queueNames,a=0,u=o.length;u>a;){e=o[a],t=s[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,l,h,m,f=t.options,p=f&&f.before,d=f&&f.after,b=0,E=r.length;for(E&&p&&p();E>b;)c=r[b],l=r[b+1],h=r[b+2],m=r[b+3],"string"==typeof l&&(l=c[l]),l&&(h&&h.length>0?l.apply(c,h):l.call(c)),b+=4;t._queueBeingFlushed=null,E&&d&&d(),-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,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),o=d.setTimeout(function(){e.end(),o=null})}function i(e){var t,r,n,s,o=+new Date;e.run(function(){for(n=0,s=p.length;s>n&&(t=p[n],!(t>o));n+=2);for(r=p.splice(0,n),n=1,s=r.length;s>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),p.length&&(a=d.setTimeout(function(){i(e),a=null,u=null},p[0]-o),u=p[0])}function s(e,t){for(var r,n=-1,i=0,s=f.length;s>i;i++)if(r=f[i],r[0]===e&&r[1]===t){n=i;break}return n}var o,a,u,c=e.DeferredActionQueues,l=[].slice,h=[].pop,m=[],f=[],p=[],d=this;r.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 c(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,l.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 i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?l.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?l.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!0,i)},setTimeout:function(){var e=this,t=h.call(arguments),r=arguments[0],n=arguments[1],s=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var o,c;arguments.length>2?(c=l.call(arguments,2),o=function(){n.apply(r,c)}):o=function(){n.call(r)};var m,f;for(m=0,f=p.length;f>m&&!(s<p[m]);m+=2);return p.splice(m,0,s,o),a&&s>u?o:(a&&(clearTimeout(a),a=null),a=d.setTimeout(function(){i(e),a=null,u=null},t),u=s,o)},throttle:function(e,t){for(var r,n=this,i=arguments,s=h.call(i),o=0,a=m.length;a>o;o++)if(r=m[o],r[0]===e&&r[1]===t)return;var u=d.setTimeout(function(){n.run.apply(n,i);for(var s=-1,o=0,a=m.length;a>o;o++)if(r=m[o],r[0]===e&&r[1]===t){s=o;break}s>-1&&m.splice(s,1)},s);m.push([e,t,u])},debounce:function(e,t){var r,n,i,o=this,a=arguments,u=h.call(a);"number"==typeof u?(r=u,u=!1):r=h.call(a),n=s(e,t),-1!==n&&(i=f[n],f.splice(n,1),clearTimeout(i[2]));var c=window.setTimeout(function(){u||o.run.apply(o,a),n=s(e,t),n&&f.splice(n,1)},r);u&&-1===n&&o.run.apply(o,a),f.push([e,t,c])},cancelTimers:function(){var e,t;for(e=0,t=m.length;t>e;e++)clearTimeout(m[e][2]);for(m=[],e=0,t=f.length;t>e;e++)clearTimeout(f[e][2]);f=[],a&&(clearTimeout(a),a=null),p=[],o&&(clearTimeout(o),o=null)},hasTimers:function(){return!!p.length||o},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=p.length;r>t;t+=2)if(p[t+1]===e)return p.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r})}(),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,s=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),o=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=s.run.apply(s,arguments)}catch(t){Ember.onerror(t)}else e=s.run.apply(s,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=o.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=s,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=s.queueNames,Ember.run.begin=function(){s.begin()},Ember.run.end=function(){s.end()},Ember.run.schedule=function(){e(),s.schedule.apply(s,arguments)},Ember.run.hasScheduledTimers=function(){return s.hasTimers()},Ember.run.cancelTimers=function(){s.cancelTimers()},Ember.run.sync=function(){s.currentInstance&&s.currentInstance.queues.sync.flush()},Ember.run.later=function(){return s.later.apply(s,arguments)},Ember.run.once=function(){e();var t=o.call(arguments);return t.unshift("actions"),s.scheduleOnce.apply(s,t)},Ember.run.scheduleOnce=function(){return e(),s.scheduleOnce.apply(s,arguments)},Ember.run.next=function(){var e=o.call(arguments);return e.push(1),s.later.apply(s,e)},Ember.run.cancel=function(e){return s.cancel(e)},Ember.run.debounce=function(){return s.debounce.apply(s,arguments)},Ember.run.throttle=function(){return s.throttle.apply(s,arguments)}}(),function(){function e(e,t){return r(s(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$]))/,s=Ember.isGlobalPath=function(e){return i.test(e)},o=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};o.prototype={copy:function(){var e=new o(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(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,s=i.get(t),o=this._from,a=this._to;if(i.remove(t),"fwd"===s){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"===s){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,o,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(o)?Ember.lookup:t,o,c)})}}}},t(o,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=o,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=A(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=_.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]?V:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function s(e,t,r,n,i){var s;return void 0===n[t]&&(s=i[t]),s=s||e.descs[t],s&&s instanceof Ember.ComputedProperty?(r=A(r),r.func=Ember.wrap(r.func,s.func),r):r}function o(e,t,r,n,i){var s;return void 0===i[t]&&(s=n[t]),s=s||e[t],"function"!=typeof s?r:Ember.wrap(r,s)}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,u,c,l){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return V;n.func&&(n=s(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=o(e,t,n,c,u):(l&&C.call(l,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,s,o,a){function l(e){delete r[e],delete s[e]}for(var h,m,f,p,d,b=0,E=e.length;E>b;b++)if(h=e[b],m=n(t,h),m!==V)if(m){d=Ember.meta(o),p=i(m,s,o);for(f in m)m.hasOwnProperty(f)&&(a.push(f),u(o,f,m[f],d,r,s,p));m.hasOwnProperty("toString")&&(o.toString=m.toString)}else h.mixins&&(c(h.mixins,t,r,s,o,a),h._without&&O.call(h._without,l))}function l(e,t,r,n){if(T.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=A(n.bindings)):i=n.bindings={},i[t]=r}}function h(e,t){var r,n,i,s=t.bindings;if(s){for(r in s)n=s[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 h(e,t||Ember.meta(e)),e}function f(e,t,r,n,i){var s,o=t.methodName;return n[o]||i[o]?(s=i[o],t=n[o]):r.descs[o]?(t=r.descs[o],s=void 0):(t=void 0,s=e[o]),{desc:t,value:s}}function p(e,t,r,n,i){if("function"==typeof r){var s=r[n];if(s)for(var o=0,a=s.length;a>o;o++)Ember[i](e,s[o],null,t)}}function d(e,t,r){var n=e[t];p(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),p(e,t,n,"__ember_observes__","removeObserver"),p(e,t,r,"__ember_observesBefore__","addBeforeObserver"),p(e,t,r,"__ember_observes__","addObserver")}function b(t,r,n){var i,s,o,a={},u={},h=Ember.meta(t),p=[];c(r,e(t),a,u,t,p);for(var b=0,E=p.length;E>b;b++)if(i=p[b],"constructor"!==i&&u.hasOwnProperty(i)&&(o=a[i],s=u[i],o!==y)){for(;o&&o instanceof w;){var v=f(t,o,h,a,u);o=v.desc,s=v.value}(void 0!==o||void 0!==s)&&(d(t,i,s),l(t,i,s,h),P(t,i,o,s,h))}return n||m(t,h),t}function E(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,s=i?i.length:0;--s>=0;)if(E(i[s],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&&O.call(t.mixins,function(t){v(e,t,r)})}var g,y,w,_=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,O=Ember.ArrayPolyfills.forEach,S=[].slice,A=Ember.create,P=Ember.defineProperty,x=Ember.guidFor,V={},T=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=S.call(arguments,1);return b(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=b,g.applyPartial=function(e){var t=S.call(arguments,1);return b(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var D=g.prototype;D.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},D.apply=function(e){return b(e,[this],!1)},D.applyPartial=function(e){return b(e,[this],!0)},D.detect=function(e){if(!e)return!1;if(e instanceof g)return E(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},D.without=function(){var e=new g(this);return e._without=S.call(arguments),e},D.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},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},w=function(e){this.methodName=e},w.prototype=new Ember.Descriptor,Ember.alias=function(e){return new w(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new w(e)},Ember.observer=function(e){var t=S.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=S.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("You must pass an array to all.");return new n(function(t,r){function n(e){return function(t){i(e,t)}}function i(e,r){o[e]=r,0===--a&&t(o)}var s,o=[],a=e.length;0===a&&t([]);for(var u=0;u<e.length;u++)s=e[u],s&&"function"==typeof s.then?s.then(n(u),r):i(u,s)})}var n=e.Promise;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";function t(){return function(e,t){process.nextTick(function(){e(t)})}}function r(){return function(e,t){setImmediate(function(){e(t)})}}function n(){var e=[],t=new a(function(){var t=e.slice();e=[],t.forEach(function(e){var t=e[0],r=e[1];t(r)})}),r=document.createElement("div");return t.observe(r,{attributes:!0}),window.addEventListener("unload",function(){t.disconnect(),t=null},!1),function(t,n){e.push([t,n]),r.setAttribute("drainQueue","drainQueue")}}function i(){return function(e,t){setTimeout(function(){e(t)},1)}}var s,o="undefined"!=typeof window?window:{},a=o.MutationObserver||o.WebKitMutationObserver;s="function"==typeof setImmediate?r():"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():a?n():i(),e.async=s}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={resolve:void 0,reject:void 0,promise:void 0};return e.promise=new n(function(t,r){e.resolve=t,e.reject=r}),e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var s,o,a=n(this);for(e=e.split(/\s+/),i=i||this;o=e.shift();)s=a[o],s||(s=a[o]=[]),-1===r(s,t)&&s.push([t,i])},off:function(e,t){var i,s,o,a=n(this);for(e=e.split(/\s+/);s=e.shift();)t?(i=a[s],o=r(i,t),-1!==o&&i.splice(o,1)):a[s]=[]},trigger:function(e,r){var i,s,o,a,u,c=n(this);if(i=c[e])for(var l=0;l<i.length;l++)s=i[l],o=s[0],a=s[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),o.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),s=r(e);0===s&&n.resolve({});var o=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--s&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(o(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=this,u=new s(function(e,n){t=e,r=n});return o(i).then(function(i){i.push(n(t,r));try{e.apply(a,i)}catch(s){r(s)}}),u}}var s=e.Promise,o=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function s(e){l.onerror&&l.onerror(e.detail)}function o(e,t){e===t?u(e,t):a(e,t)||u(e,t)}function a(e,t){var r,s=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(n(t)&&(s=t.then,i(s)))return s.call(t,function(n){return r?!0:(r=!0,t!==n?o(e,n):u(e,n),void 0)},function(t){return r?!0:(r=!0,c(e,t),void 0)}),!0}catch(a){return c(e,a),!0}return!1}function u(e,t){l.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function c(e,t){l.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var l=e.config,h=t.EventTarget,m=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof m))return new m(e);var n=function(e){r||(r=!0,o(t,e))},i=function(e){r||(r=!0,c(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),this.on("error",s);try{e(n,i)}catch(a){i(a)}},f=function(e,t,r,n){var s,u,l,h,m=i(r);if(m)try{s=r(n.detail),l=!0}catch(f){h=!0,u=f}else s=n.detail,l=!0;a(t,s)||(m&&l?o(t,s):h?c(t,u):"resolve"===e?o(t,s):"reject"===e&&c(t,s))};m.prototype={constructor:m,isRejected:void 0,isFulfilled:void 0,rejectedReason:void 0,fulfillmentValue:void 0,then:function(e,t){this.off("error",s);var r=new this.constructor(function(){});return this.isFulfilled&&l.async(function(t){f("resolve",r,e,{detail:t.fulfillmentValue})},this),this.isRejected&&l.async(function(e){f("reject",r,t,{detail:e.rejectedReason})},this),this.on("promise:resolved",function(t){f("resolve",r,e,t)}),this.on("promise:failed",function(e){f("reject",r,t,e)}),r}},h.mixin(m.prototype),r.Promise=m}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t){t(e)})}var n=e.Promise;t.resolve=r}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,s,o,a,u,c){"use strict";function l(e,t){E[e]=t}var h=e.EventTarget,m=t.Promise,f=r.denodeify,p=n.all,d=i.hash,b=s.defer,E=o.config,v=a.resolve,g=u.reject;c.Promise=m,c.EventTarget=h,c.all=p,c.hash=d,c.defer=b,c.denodeify=f,c.configure=l,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=s(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,s=0,o=t.length;o>s;s++){if(n=t[s],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function s(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 o(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=o(e,t),a=t.split(":"),u=a[0];if(s(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var l=i(e,c);return l.container=e,l._debugContainerKey=t,r=n.create(l)}}function u(e,t){e.cache.eachLocal(function(r,n){s(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){s(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}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,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var s=this.normalize(i);this.registry.set(s,r),this._options.set(s,n||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.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},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=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return o(this,e)},has:function(e){return this.cache.has(e)?!0:!!o(this,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");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,s){var o,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return s[a];if("array"===Ember.typeOf(r)){if(o=r.slice(),n)for(a=o.length;--a>=0;)o[a]=e(o[a],n,i,s)}else if(Ember.Copyable&&Ember.Copyable.detect(r))o=r.copy(n,i,s);else{o={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(o[u]=n?e(r[u],n,i,s):r[u])}return n&&(i.push(r),s.push(o)),o}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),s=Ember.Comparable;if(s){if("instance"===r&&s.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&s.detect(t.constructor))return 1-t.constructor.compare(t,e)}var o=Ember.ORDER_DEFINITION_MAPPING;if(!o){var a=Ember.ORDER_DEFINITION;o=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)o[a[u]]=u;delete Ember.ORDER_DEFINITION}var l=o[r],h=o[i];if(h>l)return-1;if(l>h)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var m=e.localeCompare(t);return 0>m?-1:m>0?1:0;case"array":for(var f=e.length,p=t.length,d=Math.min(f,p),b=0,E=0;0===b&&d>E;)b=n(e[E],t[E]),E++;return 0!==b?b:p>f?-1:f>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?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)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,s=/\-|\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,s=i.hasOwnProperty(r);return s?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 s=Ember.String.camelize(t[n]);r.push(s.charAt(0).toUpperCase()+s.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(s,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,s=Ember.String.dasherize,o=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 s(this)},String.prototype.underscore=function(){return o(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var s=n(r,e);return i?t===s:!!s}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,s=Array.prototype.slice,o=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,s=e(),o=0,a=null;do a=i,i=this.nextObject(o++,a,s);while(void 0!==i);return t(s),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 s=n(this,"length"),o=null,a=e();void 0===i&&(i=null);for(var u=0;s>u;u++){var c=this.nextObject(u,o,a);r.call(i,c,u,this),o=c}return o=null,a=t(a),this},getEach:function(e){return this.mapProperty(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,s){r[i]=e.call(t,n,i,s)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){e.call(t,n,i,s)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},s=2===arguments.length?r:i;return this.reject(s)},find:function(r,i){var s=n(this,"length");void 0===i&&(i=null);for(var o,a,u=null,c=!1,l=e(),h=0;s>h&&!c;h++)o=this.nextObject(h,u,l),(c=r.call(i,o,h,this))&&(a=o),u=o;return o=u=null,l=t(l),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},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=s.call(arguments,1)),this.forEach(function(n,i){var s=n&&n[e];"function"==typeof s&&(r[i]=t?s.apply(n,t):s.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,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){o(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",s=n(this,"hasEnumerableObservers");return s||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),s||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),s&&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,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),s&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),s&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;
|
17
|
+
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(),s=e(this,"length");for(t(r)&&(r=0),(t(n)||n>s)&&(n=s),0>r&&(r=s+r),0>n&&(n=s+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",s=e(this,"hasArrayObservers");return s||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),s||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),s&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,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,s;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],s=t+r;for(var o=t;s>o;o++)i.push(this.objectAt(o))}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 s,o;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){s=[],o=t+i;for(var a=t;o>a;a++)s.push(this.objectAt(a))}else s=i;this.enumerableContentDidChange(r,s),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),l=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==l&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,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 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 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,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},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")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(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(){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){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var s;return s=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),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)},fire:function(){this.trigger.apply(this,arguments)},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)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===s?e(o):e(t)}var i,s,o;return o=this,i=r(this,"_deferred"),s=i.promise,s.then(e&&n,t)},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()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,s=!1,o=function(){s||o.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var l=e;e=null,this.reopen.apply(this,l)}if(t){var h=t;t=null;for(var m=this.concatenatedProperties,f=0,d=h.length;d>f;f++){var g=h[f];for(var y in g)if(g.hasOwnProperty(y)){var w=g[y],_=Ember.IS_BINDING;if(_.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=w}var O=u.descs[y];if(m&&E(m,y)>=0){var S=this[y];w=S?"function"==typeof S.concat?S.concat(w):Ember.makeArray(S).concat(w):Ember.makeArray(w)}O?O.set(this,y,w):"function"!=typeof this.setUnknownProperty||y in this?b?Ember.defineProperty(this,y,null,w):this[y]=w:this.setUnknownProperty(y,w)}}}p(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return o.toString=m.prototype.toString,o.willReopen=function(){s&&(o.PrototypeMixin=m.create(o.PrototypeMixin)),s=!1},o._initMixins=function(t){e=t},o._initProperties=function(e){t=e},o.proto=function(){var e=o.superclass;return e&&e.proto(),s||(s=!0,o.PrototypeMixin.applyPartial(o.prototype),u(o.prototype)),this.prototype},o}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,s=Ember.guidFor,o=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,l=Ember.destroy,h=Ember.run.schedule,m=Ember.Mixin,f=m._apply,p=m.finishPartial,d=m.prototype.reopen,b=Ember.ENV.MANDATORY_SETTER,E=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 f(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,h("actions",this,this.willDestroy),h("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()+":"+s(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=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,o(t,"ember"),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),f(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,s={};for(var o in i)r=i[o],r instanceof Ember.ComputedProperty&&e.call(t||this,o,r._meta||s)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var o=t.length;c[t.join(".")]=r;for(var a in r)if(l.call(r,a)){var u=r[a];if(t[o]=a,u&&u.toString===n)u.toString=s(t.join(".")),u[m]=t.join(".");else if(u&&u.isNamespace){if(i[h(u)])continue;i[h(u)]=!0,e(t,u,i)}}t.length=o}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(s){continue}t&&(e[m]=i)}}function r(e){var t=e.superclass;return t?t[m]?t[m]:r(t):void 0}function n(){Ember.BOOTED||this[m]||i();var e;if(this[m])e=this[m];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=s(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,s=u.NAMESPACES,o=0,a=s.length;a>o;o++)i=s[o],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function s(e){return function(){return e}}var o=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=o(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,l={}.hasOwnProperty,h=Ember.guidFor,m=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",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(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(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)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_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 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 s,o=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),s=n;n+i>s;s++)u.push(o.indexOf(a.objectAt(s)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),s=0;s<u.length;s++)this._replace(u[s],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){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),s=Ember.addObserver,o=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),s(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;o(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=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,s;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(s in i)!i.hasOwnProperty(s)||s in t||(e||(e={}),e[s]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,s){var o,a=r._objects;for(a||(a=r._objects={});--s>=i;){var u=e.objectAt(s);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),o=n(u),a[o]||(a[o]=[]),a[o].push(s))}}function t(e,t,r,i,s){var o=r._objects;o||(o=r._objects={});for(var a,u;--s>=i;){var c=e.objectAt(s);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=o[u],a[a.indexOf(s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,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})}),o=/^.+:(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,s,o=this._keys;s=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(s>0&&t(e,i,this,r,s),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var s,o=this._keys;s=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in o)o.hasOwnProperty(n)&&(s>0&&e(t,n,this,r,s),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){o.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){o.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,s=r(i,"length");e(i,t,this,0,s)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,s=r(i,"length");t(i,e,this,0,s)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=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(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var s=[t,r].concat(n);this.splice.apply(this,s)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),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()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.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 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 s=0;n>s;s++)i=r(this[s]),delete this[i],delete this[s];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 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 Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o=r(i),a=this[o],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(s=[i],this.enumerableContentWillChange(null,s),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[o]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,s),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o,a=r(i),u=this[a],c=e(this,"length"),l=0===u,h=u===c-1;return u>=0&&c>u&&this[u]===i&&(o=[i],this.enumerableContentWillChange(o,null),l&&Ember.propertyWillChange(this,"firstObject"),h&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(s=this[c-1],this[u]=s,this[r(s)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),l&&Ember.propertyDidChange(this,"firstObject"),h&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,s=e(this,"length");for(t(i,"length",s);--s>=0;)i[s]=this[s],i[r(this[s])]=s;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;Ember.get;var t=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(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,s=e(this,"sortProperties"),o=e(this,"sortAscending"),a=e(this,"sortFunction");return t(s,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||o||(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"),s=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return s.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(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()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,s){var o=e(this,"isSorted");if(o){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,s)},contentArrayDidChange:function(r,n,i,s){var o=e(this,"isSorted"),a=e(this,"sortProperties");if(o){var u=r.slice(n,n+s);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,s)},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),s=r.objectAt(n+1),o=i&&this.orderBy(t,i),a=s&&this.orderBy(t,s);(0>o||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,s,o,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),s=a.objectAt(i),o=this.orderBy(s,t),0>o?this._binarySearch(t,i+1,n):o>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 s=this.lookupItemController(i);if(s)return this.controllerAt(t,i,s)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,s){var o=e(this,"_subControllers"),a=o.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(o,n,i,new Array(s)),this._super(n,i,s)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),s=e(this,"_subControllers"),o=s[t];if(o||(o=i.lookup("controller:"+n,{singleton:!1}),s[t]=o),!o)throw new Error('Could not resolve itemController: "'+n+'"');return o.set("target",this),o.set("parentController",e(this,"parentController")||this),o.set("content",r),o},_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)}(),function(){var e=Ember.imports.jQuery;Ember.$=e}(),function(){if(Ember.$){var e=Ember.String.w("dragstart drag dragenter dragleave dragover drop dragend");Ember.EnumerableUtils.forEach(e,function(e){Ember.$.event.fixHooks[e]={props:["dataTransfer"]}})}}(),function(){function e(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}var t=this.document&&function(){var e=document.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),r=this.document&&function(){var e=document.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),n=function(e,t){if(e.getAttribute("id")===t)return e;var r,i,s,o=e.childNodes.length;for(r=0;o>r;r++)if(i=e.childNodes[r],s=1===i.nodeType&&n(i,t))return s},i=function(e,i){t&&(i="­"+i);var s=[];if(r&&(i=i.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,n){return s.push([n,t]),r})),e.innerHTML=i,s.length>0){var o,a=s.length;for(o=0;a>o;o++){var u=n(e,s[o][0]),c=document.createTextNode(s[o][1]);u.parentNode.insertBefore(c,u)}}if(t){for(var l=e.firstChild;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}},s={},o=function(e){if(void 0!==s[e])return s[e];var t=!0;if("select"===e.toLowerCase()){var r=document.createElement("select");i(r,'<option value="test">Test</option>'),t=1===r.options.length
|
18
|
+
}return s[e]=t,t},a=function(e,t){var r=e.tagName;if(o(r))i(e,t);else{var n=e.outerHTML||(new XMLSerializer).serializeToString(e),s=n.match(new RegExp("<"+r+"([^>]*)>","i"))[0],a="</"+r+">",u=document.createElement("div");for(i(u,s+t+a),e=u.firstChild;e.tagName!==r;)e=e.nextSibling}return e};Ember.ViewUtils={setInnerHTML:a,isSimpleClick:e}}(),function(){function e(e){return e?n.test(e)?e.replace(i,""):e:e}function t(e){var t={"<":"<",">":">",'"':""","'":"'","`":"`"},r=function(e){return t[e]||"&"},n=e.toString();return o.test(n)?n.replace(s,r):n}Ember.get,Ember.set;var r=function(){this.seen={},this.list=[]};r.prototype={add:function(e){e in this.seen||(this.seen[e]=!0,this.list.push(e))},toDOM:function(){return this.list.join(" ")}};var n=/[^a-zA-Z0-9\-]/,i=/[^a-zA-Z0-9\-]/g,s=/&(?!\w+;)|[<>"'`]/g,o=/[&<>"'`]/;Ember.RenderBuffer=function(e){return new Ember._RenderBuffer(e)},Ember._RenderBuffer=function(e){this.tagNames=[e||null],this.buffer=""},Ember._RenderBuffer.prototype={_element:null,_hasElement:!0,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,parentBuffer:null,push:function(e){return this.buffer+=e,this},addClass:function(e){return this.elementClasses=this.elementClasses||new r,this.elementClasses.add(e),this.classes=this.elementClasses.list,this},setClasses:function(e){this.classes=e},id:function(e){return this.elementId=e,this},attr:function(e,t){var r=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeAttr:function(e){var t=this.elementAttributes;return t&&delete t[e],this},prop:function(e,t){var r=this.elementProperties=this.elementProperties||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeProp:function(e){var t=this.elementProperties;return t&&delete t[e],this},style:function(e,t){return this.elementStyle=this.elementStyle||{},this.elementStyle[e]=t,this},begin:function(e){return this.tagNames.push(e||null),this},pushOpeningTag:function(){var r=this.currentTagName();if(r){if(this._hasElement&&!this._element&&0===this.buffer.length)return this._element=this.generateElement(),void 0;var n,i,s=this.buffer,o=this.elementId,a=this.classes,u=this.elementAttributes,c=this.elementProperties,l=this.elementStyle;if(s+="<"+e(r),o&&(s+=' id="'+t(o)+'"',this.elementId=null),a&&(s+=' class="'+t(a.join(" "))+'"',this.classes=null),l){s+=' style="';for(i in l)l.hasOwnProperty(i)&&(s+=i+":"+t(l[i])+";");s+='"',this.elementStyle=null}if(u){for(n in u)u.hasOwnProperty(n)&&(s+=" "+n+'="'+t(u[n])+'"');this.elementAttributes=null}if(c){for(i in c)if(c.hasOwnProperty(i)){var h=c[i];(h||"number"==typeof h)&&(s+=h===!0?" "+i+'="'+i+'"':" "+i+'="'+t(c[i])+'"')}this.elementProperties=null}s+=">",this.buffer=s}},pushClosingTag:function(){var t=this.tagNames.pop();t&&(this.buffer+="</"+e(t)+">")},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var e,t,r=this.tagNames.pop(),n=document.createElement(r),i=Ember.$(n),s=this.elementId,o=this.classes,a=this.elementAttributes,u=this.elementProperties,c=this.elementStyle,l="";if(s&&(i.attr("id",s),this.elementId=null),o&&(i.attr("class",o.join(" ")),this.classes=null),c){for(t in c)c.hasOwnProperty(t)&&(l+=t+":"+c[t]+";");i.attr("style",l),this.elementStyle=null}if(a){for(e in a)a.hasOwnProperty(e)&&i.attr(e,a[e]);this.elementAttributes=null}if(u){for(t in u)u.hasOwnProperty(t)&&i.prop(t,u[t]);this.elementProperties=null}return n},element:function(){var e=this.innerString();return e&&(this._element=Ember.ViewUtils.setInnerHTML(this._element,e)),this._element},string:function(){if(this._hasElement&&this._element){var e=this.element(),t=e.outerHTML;return"undefined"==typeof t?Ember.$("<div/>").append(e).html():t}return this.innerString()},innerString:function(){return this.buffer}}}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.EventDispatcher=Ember.Object.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",setup:function(r,n){var i,s=e(this,"events");Ember.$.extend(s,r||{}),Ember.isNone(n)||t(this,"rootElement",n),n=Ember.$(e(this,"rootElement")),n.addClass("ember-application");for(i in s)s.hasOwnProperty(i)&&this.setupHandler(n,i,s[i])},setupHandler:function(e,t,r){var n=this;e.on(t+".ember",".ember-view",function(e,t){return Ember.handleErrors(function(){var i=Ember.View.views[this.id],s=!0,o=null;return o=n._findNearestEventManager(i,r),o&&o!==t?s=n._dispatchEvent(o,e,r,i):i?s=n._bubbleEvent(i,e,r):e.stopPropagation(),s},this)}),e.on(t+".ember","[data-ember-action]",function(e){return Ember.handleErrors(function(){var t=Ember.$(e.currentTarget).attr("data-ember-action"),n=Ember.Handlebars.ActionHelper.registeredActions[t];return n&&n.eventName===r?n.handler(e):void 0},this)})},_findNearestEventManager:function(t,r){for(var n=null;t&&(n=e(t,"eventManager"),!n||!n[r]);)t=e(t,"parentView");return n},_dispatchEvent:function(e,t,r,n){var i=!0,s=e[r];return"function"===Ember.typeOf(s)?(i=s.call(e,t,n),t.stopPropagation()):i=this._bubbleEvent(n,t,r),i},_bubbleEvent:function(e,t,r){return Ember.run(function(){return e.handleEvent(r,t)})},destroy:function(){var t=e(this,"rootElement");return Ember.$(t).off(".ember","**").removeClass("ember-application"),this._super()}})}(),function(){var e=Ember.run.queues,t=Ember.ArrayPolyfills.indexOf;e.splice(t.call(e,"actions")+1,0,"render","afterRender")}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({target:null,namespace:null,view:null,container:null,_childContainers:null,init:function(){this._super(),t(this,"_childContainers",{})},_modelDidChange:Ember.observer(function(){var r=e(this,"_childContainers");for(var n in r)r.hasOwnProperty(n)&&r[n].destroy();t(this,"_childContainers",{})},"model")})}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}var t={},r=Ember.get,n=Ember.set,i=Ember.guidFor,s=Ember.EnumerableUtils.forEach,o=Ember.EnumerableUtils.addObject,a=Ember.computed(function(){var e=this._childViews,t=Ember.A(),n=this;return s(e,function(e){var n;e.isVirtual?(n=r(e,"childViews"))&&t.pushObjects(n):t.push(e)}),t.replace=function(e,t,r){if(n instanceof Ember.ContainerView)return n.replace(e,t,r);throw new Error("childViews is immutable")},t});Ember.TEMPLATES={},Ember.CoreView=Ember.Object.extend(Ember.Evented,{isView:!0,states:t,init:function(){this._super(),this.transitionTo("preRender")},parentView:Ember.computed(function(){var e=this._parentView;return e&&e.isVirtual?r(e,"parentView"):e}).property("_parentView"),state:null,_parentView:null,concreteView:Ember.computed(function(){return this.isVirtual?r(this,"parentView"):this}).property("parentView"),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString()},renderToBuffer:function(e,t){var r="render."+this.instrumentName,n={};return this.instrumentDetails(n),Ember.instrument(r,n,function(){return this._renderToBuffer(e,t)},this)},_renderToBuffer:function(e){var t=this.tagName;(null===t||void 0===t)&&(t="div");var r=this.buffer=e&&e.begin(t)||Ember.RenderBuffer(t);return this.transitionTo("inBuffer",!1),this.beforeRender(r),this.render(r),this.afterRender(r),r},trigger:function(e){this._super.apply(this,arguments);var t=this[e];if(t){var r,n,i=[];for(r=1,n=arguments.length;n>r;r++)i.push(arguments[r]);return t.apply(this,i)}},has:function(e){return"function"===Ember.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super())return this.removedFromDOM||this.destroyElement(),e&&e.removeChild(this),this.transitionTo("destroying",!1),this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,transitionTo:Ember.K,destroyElement:Ember.K});var u=Ember._ViewCollection=function(e){var t=this.views=e||[];this.length=t.length};u.prototype={length:0,trigger:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],t.trigger&&t.trigger(e)},triggerRecursively:function(e){for(var t=this.views,r=0,n=t.length;n>r;r++)t[r].triggerRecursively(e)},invokeRecursively:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],e(t)},transitionTo:function(e,t){for(var r=this.views,n=0,i=r.length;i>n;n++)r[n].transitionTo(e,t)},push:function(){this.length+=arguments.length;var e=this.views;return e.push.apply(e,arguments)},objectAt:function(e){return this.views[e]},forEach:function(e){var t=this.views;return s(t,e)},clear:function(){this.length=0,this.views.length=0}};var c=[];Ember.View=Ember.CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,templates:Ember.TEMPLATES,template:Ember.computed(function(e,t){if(void 0!==t)return t;var n=r(this,"templateName"),i=this.templateForName(n,"template");return i||r(this,"defaultTemplate")}).property("templateName"),controller:Ember.computed(function(){var e=r(this,"_parentView");return e?r(e,"controller"):null}).property("_parentView"),layout:Ember.computed(function(){var e=r(this,"layoutName"),t=this.templateForName(e,"layout");return t||r(this,"defaultLayout")}).property("layoutName"),templateForName:function(e){if(e){var t=this.container||Ember.Container&&Ember.Container.defaultContainer;return t&&t.lookup("template:"+e)}},context:Ember.computed(function(e,t){return 2===arguments.length?(n(this,"_context",t),t):r(this,"_context")}).volatile(),parentContext:function(){var e=r(this,"_parentView");return e&&r(e,"_context")},_context:Ember.computed(function(){var e,t;return(t=r(this,"controller"))?t:(e=this._parentView,e?r(e,"_context"):null)}),_contextDidChange:Ember.observer(function(){this.rerender()},"context"),isVisible:!0,childViews:a,_childViews:c,_childViewsWillChange:Ember.beforeObserver(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyWillChange(e,"childViews")}},"childViews"),_childViewsDidChange:Ember.observer(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyDidChange(e,"childViews")}},"childViews"),nearestInstanceOf:function(e){for(var t=r(this,"parentView");t;){if(t instanceof e)return t;t=r(t,"parentView")}},nearestOfType:function(e){for(var t=r(this,"parentView"),n=e instanceof Ember.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(n(t))return t;t=r(t,"parentView")}},nearestWithProperty:function(e){for(var t=r(this,"parentView");t;){if(e in t)return t;t=r(t,"parentView")}},nearestChildOf:function(e){for(var t=r(this,"parentView");t;){if(r(t,"parentView")instanceof e)return t;t=r(t,"parentView")}},_parentViewDidChange:Ember.observer(function(){this.isDestroying||(this.trigger("parentViewDidChange"),r(this,"parentView.controller")&&!r(this,"controller")&&this.notifyPropertyChange("controller"))},"_parentView"),_controllerDidChange:Ember.observer(function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))},"controller"),cloneKeywords:function(){var e=r(this,"templateData"),t=e?Ember.copy(e.keywords):{};return n(t,"view",r(this,"concreteView")),n(t,"_view",this),n(t,"controller",r(this,"controller")),t},render:function(e){var t=r(this,"layout")||r(this,"template");if(t){var n,i=r(this,"context"),s=this.cloneKeywords(),o={view:this,buffer:e,isRenderData:!0,keywords:s,insideGroup:r(this,"templateData.insideGroup")};n=t(i,{data:o}),void 0!==n&&e.push(n)}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){for(var e=this.lengthBeforeRender,t=this.lengthAfterRender,r=this._childViews,n=t-1;n>=e;n--)r[n]&&r[n].destroy()},_applyClassNameBindings:function(e){var t,r,n,i=this.classNames;s(e,function(e){var s,a=Ember.View._parsePropertyPath(e),u=function(){r=this._classStringForProperty(e),t=this.$(),s&&(t.removeClass(s),i.removeObject(s)),r?(t.addClass(r),s=r):s=null};n=this._classStringForProperty(e),n&&(o(i,n),s=n),this.registerObserver(this,a.path,u),this.one("willClearRender",function(){s&&(i.removeObject(s),s=null)})},this)},_applyAttributeBindings:function(e,t){var n,i;s(t,function(t){var s=t.split(":"),o=s[0],a=s[1]||o,u=function(){i=this.$(),n=r(this,o),Ember.View.applyAttributeBindings(i,a,n)};this.registerObserver(this,o,u),n=r(this,o),Ember.View.applyAttributeBindings(e,a,n)},this)},_classStringForProperty:function(e){var t=Ember.View._parsePropertyPath(e),n=t.path,i=r(this,n);return void 0===i&&Ember.isGlobalPath(n)&&(i=r(Ember.lookup,n)),Ember.View._classStringForValue(n,i,t.className,t.falsyClassName)},element:Ember.computed(function(e,t){return void 0!==t?this.currentState.setElement(this,t):this.currentState.getElement(this)}).property("_parentView"),$:function(e){return this.currentState.$(this,e)},mutateChildViews:function(e){for(var t,r=this._childViews,n=r.length;--n>=0;)t=r[n],e(this,t,n);return this},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){return this._insertElementLater(function(){this.$().appendTo(e)}),this},replaceIn:function(e){return this._insertElementLater(function(){Ember.$(e).empty(),this.$().appendTo(e)}),this},_insertElementLater:function(e){this._scheduledInsert=Ember.run.scheduleOnce("render",this,"_insertElement",e)},_insertElement:function(e){this._scheduledInsert=null,this.currentState.insertElement(this,e)},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement(),this.invokeRecursively(function(e){e.clearRenderedChildren&&e.clearRenderedChildren()})},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return Ember.$(t)[0]||Ember.$(t,e)[0]},createElement:function(){if(r(this,"element"))return this;var e=this.renderToBuffer();return n(this,"element",e.element()),this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(e,t){for(var r,n,i,s=t===!1?this._childViews:[this];s.length;){r=s.slice(),s=[];for(var o=0,a=r.length;a>o;o++)n=r[o],i=n._childViews?n._childViews.slice(0):null,e(n),i&&s.push.apply(s,i)}},triggerRecursively:function(e){for(var t,r,n,i=[this];i.length;){t=i.slice(),i=[];for(var s=0,o=t.length;o>s;s++)r=t[s],n=r._childViews?r._childViews.slice(0):null,r.trigger&&r.trigger(e),n&&i.push.apply(i,n)}},viewHierarchyCollection:function(){for(var e,t=new u([this]),r=0;r<t.length;r++)e=t.objectAt(r),e._childViews&&t.push.apply(t,e._childViews);return t},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:Ember.K,_notifyWillDestroyElement:function(){var e=this.viewHierarchyCollection();return e.trigger("willClearRender"),e.trigger("willDestroyElement"),e},_elementWillChange:Ember.beforeObserver(function(){this.forEachChildView(function(e){Ember.propertyWillChange(e,"element")})},"element"),_elementDidChange:Ember.observer(function(){this.forEachChildView(function(e){Ember.propertyDidChange(e,"element")})},"element"),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(e){e.template=r(this,"templateName"),this._super(e)},_renderToBuffer:function(e,t){this.lengthBeforeRender=this._childViews.length;var r=this._super(e,t);return this.lengthAfterRender=this._childViews.length,r},renderToBufferIfNeeded:function(e){return this.currentState.renderToBufferIfNeeded(this,e)},beforeRender:function(e){this.applyAttributesToBuffer(e),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag()},applyAttributesToBuffer:function(e){var t=r(this,"classNameBindings");t.length&&this._applyClassNameBindings(t);var n=r(this,"attributeBindings");n.length&&this._applyAttributeBindings(e,n),e.setClasses(this.classNames),e.id(this.elementId);var i=r(this,"ariaRole");i&&e.attr("role",i),r(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:c,attributeBindings:c,init:function(){this.elementId=this.elementId||i(this),this._super(),this._childViews=this._childViews.slice(),this.classNameBindings=Ember.A(this.classNameBindings.slice()),this.classNames=Ember.A(this.classNames.slice());var e=r(this,"viewController");e&&(e=r(e),e&&n(e,"view",this))},appendChild:function(e,t){return this.currentState.appendChild(this,e,t)},removeChild:function(e){if(!this.isDestroying){n(e,"_parentView",null);var t=this._childViews;return Ember.EnumerableUtils.removeObject(t,e),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(e,t){e.removeChild(t)})},destroyAllChildren:function(){return this.mutateChildViews(function(e,t){t.destroy()})},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e,t,n=this._childViews,i=r(this,"parentView"),s=this.viewName;if(this._super()){for(e=n.length,t=e-1;t>=0;t--)n[t].removedFromDOM=!0;for(s&&i&&i.set(s,null),e=n.length,t=e-1;t>=0;t--)n[t].destroy();return this}},createChildView:function(e,t){return e.isView&&e._parentView===this&&e.container===this.container?e:(t=t||{},t._parentView=this,t.container=this.container,Ember.CoreView.detect(e)?(t.templateData=t.templateData||r(this,"templateData"),e=e.create(t),e.viewName&&n(r(this,"concreteView"),e.viewName,e)):(Ember.setProperties(e,t),r(e,"templateData")||n(e,"templateData",r(this,"templateData"))),e)},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:Ember.observer(function(){var e=this.$();if(e){var t=r(this,"isVisible");e.toggle(t),this._isAncestorHidden()||(t?this._notifyBecameVisible():this._notifyBecameHidden())}},"isVisible"),_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameHidden()})},_isAncestorHidden:function(){for(var e=r(this,"parentView");e;){if(r(e,"isVisible")===!1)return!0;e=r(e,"parentView")}return!1},clearBuffer:function(){this.invokeRecursively(function(e){e.buffer=null})},transitionTo:function(e,t){var r=this.currentState,n=this.currentState=this.states[e];this.state=e,r&&r.exit&&r.exit(this),n.enter&&n.enter(this),t!==!1&&this.forEachChildView(function(t){t.transitionTo(e)})},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){n||"function"!=typeof r||(n=r,r=null);var i=this,s=function(){i.currentState.invokeObserver(this,n)},o=function(){Ember.run.scheduleOnce("render",this,s)};Ember.addObserver(e,t,r,o),this.one("willClearRender",function(){Ember.removeObserver(e,t,r,o)})}});var l={prepend:function(t,r){t.$().prepend(r),e()},after:function(t,r){t.$().after(r),e()},html:function(t,r){t.$().html(r),e()},replace:function(t){var i=r(t,"element");n(t,"element",null),t._insertElementLater(function(){Ember.$(i).replaceWith(r(t,"element")),e()})},remove:function(t){t.$().remove(),e()},empty:function(t){t.$().empty(),e()}};Ember.View.reopen({domManager:l}),Ember.View.reopenClass({_parsePropertyPath:function(e){var t,r,n=e.split(":"),i=n[0],s="";return n.length>1&&(t=n[1],3===n.length&&(r=n[2]),s=":"+t,r&&(s+=":"+r)),{path:i,classNames:s,className:""===t?void 0:t,falsyClassName:r}},_classStringForValue:function(e,t,r,n){if(r||n)return r&&t?r:n&&!t?n:null;if(t===!0){var i=e.split(".");return Ember.String.dasherize(i[i.length-1])}return t!==!1&&null!=t?t:null}});var h=Ember.Object.extend(Ember.Evented).create();Ember.View.addMutationListener=function(e){h.on("change",e)},Ember.View.removeMutationListener=function(e){h.off("change",e)},Ember.View.notifyMutationListeners=function(){h.trigger("change")},Ember.View.views={},Ember.View.childViewsProperty=a,Ember.View.applyAttributeBindings=function(e,t,r){var n=Ember.typeOf(r);"value"===t||"string"!==n&&("number"!==n||isNaN(r))?"value"===t||"boolean"===n?(Ember.isNone(r)&&(r=""),r!==e.prop(t)&&e.prop(t,r)):r||e.removeAttr(t):r!==e.attr(t)&&e.attr(t,r)},Ember.View.states=t}(),function(){var e=(Ember.get,Ember.set);Ember.View.states._default={appendChild:function(){throw"You can't use appendChild outside of the rendering process"},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(t){return e(t,"element",null),t._scheduledInsert&&(Ember.run.cancel(t._scheduledInsert),t._scheduledInsert=null),t},renderToBufferIfNeeded:function(){return!1},rerender:Ember.K,invokeObserver:Ember.K}}(),function(){var e=Ember.View.states.preRender=Ember.create(Ember.View.states._default);Ember.merge(e,{insertElement:function(e,t){e.createElement();var r=e.viewHierarchyCollection();r.trigger("willInsertElement"),t.call(e),r.transitionTo("inDOM",!1),r.trigger("didInsertElement")},renderToBufferIfNeeded:function(e,t){return e.renderToBuffer(t),!0},empty:Ember.K,setElement:function(e,t){return null!==t&&e.transitionTo("hasElement"),t}})}(),function(){Ember.get,Ember.set;var e=Ember.View.states.inBuffer=Ember.create(Ember.View.states._default);Ember.merge(e,{$:function(e){return e.rerender(),Ember.$()},rerender:function(){throw new Ember.Error("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t.renderToBuffer(n),e.propertyDidChange("childViews"),t},destroyElement:function(e){e.clearBuffer();var t=e._notifyWillDestroyElement();return t.transitionTo("preRender",!1),e},empty:function(){},renderToBufferIfNeeded:function(){return!1},insertElement:function(){throw"You can't insert an element that has already been rendered"},setElement:function(e,t){return null===t?e.transitionTo("preRender"):(e.clearBuffer(),e.transitionTo("hasElement")),t},invokeObserver:function(e,t){t.call(e)}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.View.states.hasElement=Ember.create(Ember.View.states._default);Ember.merge(r,{$:function(t,r){var n=e(t,"element");return r?Ember.$(r,n):Ember.$(n)},getElement:function(t){var r=e(t,"parentView");return r&&(r=e(r,"element")),r?t.findElementInParentElement(r):Ember.$("#"+e(t,"elementId"))[0]},setElement:function(e,t){if(null!==t)throw"You cannot set an element to a non-null value when the element is already in the DOM.";return e.transitionTo("preRender"),t},rerender:function(e){return e.triggerRecursively("willClearRender"),e.clearRenderedChildren(),e.domManager.replace(e),e},destroyElement:function(e){return e._notifyWillDestroyElement(),e.domManager.remove(e),t(e,"element",null),e._scheduledInsert&&(Ember.run.cancel(e._scheduledInsert),e._scheduledInsert=null),e},empty:function(e){var t,r,n=e._childViews;if(n)for(t=n.length,r=0;t>r;r++)n[r]._notifyWillDestroyElement();e.domManager.empty(e)},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}});var n=Ember.View.states.inDOM=Ember.create(r);Ember.merge(n,{enter:function(e){e.isVirtual||(Ember.View.views[e.elementId]=e),e.addBeforeObserver("elementId",function(){throw new Error("Changing a view's elementId after creation is not allowed")})},exit:function(e){this.isVirtual||delete Ember.View.views[e.elementId]},insertElement:function(){throw"You can't insert an element into the DOM that has already been inserted"}})}(),function(){var e="You can't call %@ on a view being destroyed",t=Ember.String.fmt,r=Ember.View.states.destroying=Ember.create(Ember.View.states._default);Ember.merge(r,{appendChild:function(){throw t(e,["appendChild"])},rerender:function(){throw t(e,["rerender"])},destroyElement:function(){throw t(e,["destroyElement"])},empty:function(){throw t(e,["empty"])},setElement:function(){throw t(e,["set('element', ...)"])},renderToBufferIfNeeded:function(){return!1},insertElement:Ember.K})}(),function(){Ember.View.cloneStates=function(e){var t={};t._default={},t.preRender=Ember.create(t._default),t.destroying=Ember.create(t._default),t.inBuffer=Ember.create(t._default),t.hasElement=Ember.create(t._default),t.inDOM=Ember.create(t.hasElement);for(var r in e)e.hasOwnProperty(r)&&Ember.merge(t[r],e[r]);return t}}(),function(){function e(e,t,r,n){t.triggerRecursively("willInsertElement"),r?r.domManager.after(r,n.string()):e.domManager.prepend(e,n.string()),t.forEach(function(e){e.transitionTo("inDOM"),e.propertyDidChange("element"),e.triggerRecursively("didInsertElement")})}var t=Ember.View.cloneStates(Ember.View.states),r=Ember.get,n=Ember.set,i=Ember.EnumerableUtils.forEach,s=Ember._ViewCollection;Ember.ContainerView=Ember.View.extend(Ember.MutableArray,{states:t,init:function(){this._super();var e=r(this,"childViews");Ember.defineProperty(this,"childViews",Ember.View.childViewsProperty);var t=this._childViews;i(e,function(e,i){var s;"string"==typeof e?(s=r(this,e),s=this.createChildView(s),n(this,e,s)):s=this.createChildView(e),t[i]=s},this);var s=r(this,"currentView");s&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(s)))},replace:function(e,t,n){var i=n?r(n,"length"):0;if(this.arrayContentWillChange(e,t,i),this.childViewsWillChange(this._childViews,e,t),0===i)this._childViews.splice(e,t);else{var s=[e,t].concat(n);n.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,s)}return this.arrayContentDidChange(e,t,i),this.childViewsDidChange(this._childViews,e,t,i),this},objectAt:function(e){return this._childViews[e]},length:Ember.computed(function(){return this._childViews.length}),render:function(e){this.forEachChildView(function(t){t.renderToBuffer(e)})},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,n,i){if(i>0){var s=e.slice(t,t+i);this.initializeViews(s,this,r(this,"templateData")),this.currentState.childViewsDidChange(this,e,t,i)}this.propertyDidChange("childViews")},initializeViews:function(e,t,s){i(e,function(e){n(e,"_parentView",t),n(e,"container",t&&t.container),r(e,"templateData")||n(e,"templateData",s)})},currentView:null,_currentViewWillChange:Ember.beforeObserver(function(){var e=r(this,"currentView");e&&e.destroy()},"currentView"),_currentViewDidChange:Ember.observer(function(){var e=r(this,"currentView");e&&this.pushObject(e)},"currentView"),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}}),Ember.merge(t._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K}),Ember.merge(t.inBuffer,{childViewsDidChange:function(){throw new Error("You cannot modify child views while in the inBuffer state")}}),Ember.merge(t.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++)t[i].remove()},childViewsDidChange:function(e){Ember.run.scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(t){var r,n,i,o,a,u=t._childViews,c=new s;for(r=0,n=u.length;n>r;r++)i=u[r],a||(a=Ember.RenderBuffer(),a._hasElement=!1),i.renderToBufferIfNeeded(a)?c.push(i):c.length?(e(t,c,o,a),a=null,o=i,c.clear()):o=i;c.length&&e(t,c,o,a)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.CollectionView=Ember.ContainerView.extend({content:null,emptyViewClass:Ember.View,emptyView:null,itemViewClass:Ember.View,init:function(){var e=this._super();return this._contentDidChange(),e},_contentWillChange:Ember.beforeObserver(function(){var t=this.get("content");t&&t.removeArrayObserver(this);var r=t?e(t,"length"):0;this.arrayWillChange(t,0,r)},"content"),_contentDidChange:Ember.observer(function(){var t=e(this,"content");t&&(this._assertArrayLike(t),t.addArrayObserver(this));var r=t?e(t,"length"):0;this.arrayDidChange(t,0,null,r)},"content"),_assertArrayLike:function(){},destroy:function(){if(this._super()){var t=e(this,"content");return t&&t.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(t,r,n){var i=e(this,"emptyView");i&&i instanceof Ember.View&&i.removeFromParent();var s,o,a,u=this._childViews;a=this._childViews.length;var c=n===a;for(c&&(this.currentState.empty(this),this.invokeRecursively(function(e){e.removedFromDOM=!0},!1)),o=r+n-1;o>=r;o--)s=u[o],s.destroy()},arrayDidChange:function(r,n,i,s){var o,a,u,c,l=e(this,"itemViewClass"),h=[];if("string"==typeof l&&(l=e(l)),c=r?e(r,"length"):0)for(u=n;n+s>u;u++)a=r.objectAt(u),o=this.createChildView(l,{content:a,contentIndex:u}),h.push(o);else{var m=e(this,"emptyView");if(!m)return;var f=Ember.CoreView.detect(m);m=this.createChildView(m),h.push(m),t(this,"emptyView",m),f&&(this._createdEmptyView=m)}this.replace(n,0,h)},createChildView:function(r,n){r=this._super(r,n);var i=e(r,"tagName"),s=null===i||void 0===i?Ember.CollectionView.CONTAINER_MAP[e(this,"tagName")]:i;return t(r,"tagName",s),r}}),Ember.CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"}}(),function(){var e=Ember.get,t=Ember.set;Ember.isNone,Ember.Component=Ember.View.extend(Ember.TargetActionSupport,{init:function(){this._super(),t(this,"context",this),t(this,"controller",this),t(this,"templateData",{keywords:{}})},targetObject:Ember.computed(function(){var t=e(this,"_parentView");return t?e(t,"controller"):null}).property("_parentView"),sendAction:function(t){var r;r=void 0===t?e(this,"action"):e(this,t),void 0!==r&&this.triggerAction({action:r})}})}(),function(){Ember.ViewTargetActionSupport=Ember.Mixin.create(Ember.TargetActionSupport,{target:Ember.computed.alias("controller"),actionContext:Ember.computed.alias("context")})}(),function(){var e=Ember.get,t=Ember.set;Ember.State=Ember.Object.extend(Ember.Evented,{parentState:null,start:null,name:null,path:Ember.computed(function(){var t=e(this,"parentState.path"),r=e(this,"name");return t&&(r=t+"."+r),r}),trigger:function(e){this[e]&&this[e].apply(this,[].slice.call(arguments,1)),this._super.apply(this,arguments)},init:function(){var r=e(this,"states");t(this,"childStates",Ember.A()),t(this,"eventTransitions",e(this,"eventTransitions")||{});var n,i,s;if(r)for(n in r)this.setupChild(r,n,r[n]);else{r={};for(n in this)"constructor"!==n&&(i=this[n])&&((s=i.transitionTarget)&&(this.eventTransitions[n]=s),this.setupChild(r,n,i));t(this,"states",r)}t(this,"pathsCaches",{})},setPathsCache:function(t,r,n){var i=Ember.guidFor(t.constructor),s=e(this,"pathsCaches"),o=s[i]||{};o[r]=n,s[i]=o},getPathsCache:function(t,r){var n=Ember.guidFor(t.constructor),i=e(this,"pathsCaches"),s=i[n]||{};return s[r]},setupChild:function(r,n,i){if(!i)return!1;var s;return i instanceof Ember.State?(t(i,"name",n),s=i,s.container=this.container):Ember.State.detect(i)&&(s=i.create({name:n,container:this.container})),s instanceof Ember.State?(t(s,"parentState",this),e(this,"childStates").pushObject(s),r[n]=s,s):void 0},lookupEventTransition:function(e){for(var t,r=this;r&&!t;)t=r.eventTransitions[e],r=r.get("parentState");return t},isLeaf:Ember.computed(function(){return!e(this,"childStates").length}),hasContext:!0,setup:Ember.K,enter:Ember.K,exit:Ember.K}),Ember.State.reopenClass({transitionTo:function(e){var t=function(t,r){var n=[],i=Ember.$&&Ember.$.Event;r&&i&&r instanceof i?r.hasOwnProperty("contexts")&&(n=r.contexts.slice()):n=[].slice.call(arguments,1),n.unshift(e),t.transitionTo.apply(t,n)};return t.transitionTarget=e,t}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.String.fmt,n=Ember.ArrayPolyfills.forEach,i=function(e){this.enterStates=e.enterStates.slice(),this.exitStates=e.exitStates.slice(),this.resolveState=e.resolveState,this.finalState=e.enterStates[e.enterStates.length-1]||e.resolveState};i.prototype={normalize:function(e,t){return this.matchContextsToStates(t),this.addInitialStates(),this.removeUnchangedContexts(e),this},matchContextsToStates:function(t){for(var r,n,i=this.enterStates.length-1,s=[];t.length>0;){if(i>=0)r=this.enterStates[i--];else{if(this.enterStates.length){if(r=e(this.enterStates[0],"parentState"),!r)throw"Cannot match all contexts to states"
|
19
|
+
}else r=this.resolveState;this.enterStates.unshift(r),this.exitStates.unshift(r)}n=e(r,"hasContext")?t.pop():null,s.unshift(n)}this.contexts=s},addInitialStates:function(){for(var t,r=this.finalState;;){if(t=e(r,"initialState")||"start",r=e(r,"states."+t),!r)break;this.finalState=r,this.enterStates.push(r),this.contexts.push(void 0)}},removeUnchangedContexts:function(e){for(;this.enterStates.length>0&&this.enterStates[0]===this.exitStates[0];){if(this.enterStates.length===this.contexts.length){if(e.getStateMeta(this.enterStates[0],"context")!==this.contexts[0])break;this.contexts.shift()}this.resolveState=this.enterStates.shift(),this.exitStates.shift()}}};var s=function(t,n,i){var a,u,c,l=this.enableLogging,h=i?"unhandledEvent":t,m=n[h];if(a=[].slice.call(arguments,3),"function"==typeof m)return l&&(i?Ember.Logger.log(r("STATEMANAGER: Unhandled event '%@' being sent to state %@.",[t,e(n,"path")])):Ember.Logger.log(r("STATEMANAGER: Sending event '%@' to state %@.",[t,e(n,"path")]))),c=a,i&&c.unshift(t),c.unshift(this),m.apply(n,c);var f=e(n,"parentState");return f?(u=a,u.unshift(t,f,i),s.apply(this,u)):i?void 0:o.call(this,t,a,!0)},o=function(t,r,n){return r.unshift(t,e(this,"currentState"),n),s.apply(this,r)};Ember.StateManager=Ember.State.extend({init:function(){this._super(),t(this,"stateMeta",Ember.Map.create());var r=e(this,"initialState");!r&&e(this,"states.start")&&(r="start"),r&&this.transitionTo(r)},stateMetaFor:function(t){var r=e(this,"stateMeta"),n=r.get(t);return n||(n={},r.set(t,n)),n},setStateMeta:function(e,r,n){return t(this.stateMetaFor(e),r,n)},getStateMeta:function(t,r){return e(this.stateMetaFor(t),r)},currentState:null,currentPath:Ember.computed.alias("currentState.path"),transitionEvent:"setup",errorOnUnhandledEvent:!0,send:function(e){var t=[].slice.call(arguments,1);return o.call(this,e,t,!1)},unhandledEvent:function(t,r){if(e(this,"errorOnUnhandledEvent"))throw new Ember.Error(this.toString()+" could not respond to event "+r+" in state "+e(this,"currentState.path")+".")},getStateByPath:function(t,r){for(var n=r.split("."),i=t,s=0,o=n.length;o>s&&(i=e(e(i,"states"),n[s]),i);s++);return i},findStateByPath:function(t,r){for(var n;!n&&t;)n=this.getStateByPath(t,r),t=e(t,"parentState");return n},getStatesInPath:function(t,r){if(!r||""===r)return void 0;for(var n,i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++){if(n=e(t,"states"),!n)return void 0;if(i=e(n,s[a]),!i)return void 0;t=i,o.push(i)}return o},goToState:function(){return this.transitionTo.apply(this,arguments)},transitionTo:function(t,r){if(!Ember.isEmpty(t)){var n=r?Array.prototype.slice.call(arguments,1):[],s=e(this,"currentState")||this,o=this.contextFreeTransition(s,t),a=new i(o).normalize(this,n);this.enterState(a),this.triggerSetupContext(a)}},contextFreeTransition:function(t,r){var n=t.getPathsCache(this,r);if(n)return n;for(var i=this.getStatesInPath(t,r),s=[],o=t;o&&!i;){if(s.unshift(o),o=e(o,"parentState"),!o&&(i=this.getStatesInPath(this,r),!i))return;i=this.getStatesInPath(o,r)}for(;i.length>0&&i[0]===s[0];)o=i.shift(),s.shift();var a={exitStates:s,enterStates:i,resolveState:o};return t.setPathsCache(this,r,a),a},triggerSetupContext:function(t){var r=t.contexts,i=t.enterStates.length-r.length,s=t.enterStates,o=e(this,"transitionEvent");n.call(s,function(e,t){e.trigger(o,this,r[t-i])},this)},getState:function(t){var r=e(this,t),n=e(this,"parentState");return r?r:n?n.getState(t):void 0},enterState:function(r){var i=this.enableLogging,s=r.exitStates.slice(0).reverse();n.call(s,function(e){e.trigger("exit",this)},this),n.call(r.enterStates,function(t){i&&Ember.Logger.log("STATEMANAGER: Entering "+e(t,"path")),t.trigger("enter",this)},this),t(this,"currentState",r.finalState)}})}(),function(){e("metamorph",[],function(){"use strict";// Copyright: ©2011 My Company Inc. All rights reserved.
|
20
|
+
var e=function(){},t=0,r=this.document,n=r&&"createRange"in r&&"undefined"!=typeof Range&&Range.prototype.createContextualFragment,i=r&&function(){var e=r.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),s=r&&function(){var e=r.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),o=function(r){var n;n=this instanceof o?this:new e,n.innerHTML=r;var i="metamorph-"+t++;return n.start=i+"-start",n.end=i+"-end",n};e.prototype=o.prototype;var a,u,c,l,h,m,f,p,d;if(l=function(){return this.startTag()+this.innerHTML+this.endTag()},p=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"},d=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"},n)a=function(e,t){var n=r.createRange(),i=r.getElementById(e.start),s=r.getElementById(e.end);return t?(n.setStartBefore(i),n.setEndAfter(s)):(n.setStartAfter(i),n.setEndBefore(s)),n},u=function(e,t){var r=a(this,t);r.deleteContents();var n=r.createContextualFragment(e);r.insertNode(n)},c=function(){var e=a(this,!0);e.deleteContents()},h=function(e){var t=r.createRange();t.setStart(e),t.collapse(!1);var n=t.createContextualFragment(this.outerHTML());e.appendChild(n)},m=function(e){var t=r.createRange(),n=r.getElementById(this.end);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)},f=function(e){var t=r.createRange(),n=r.getElementById(this.start);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)};else{var b={select:[1,"<select multiple='multiple'>","</select>"],fieldset:[1,"<fieldset>","</fieldset>"],table:[1,"<table>","</table>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"],colgroup:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],map:[1,"<map>","</map>"],_default:[0,"",""]},E=function(e,t){if(e.getAttribute("id")===t)return e;var r,n,i,s=e.childNodes.length;for(r=0;s>r;r++)if(n=e.childNodes[r],i=1===n.nodeType&&E(n,t))return i},v=function(e,t){var n=[];if(s&&(t=t.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,i){return n.push([i,t]),r})),e.innerHTML=t,n.length>0){var i,o=n.length;for(i=0;o>i;i++){var a=E(e,n[i][0]),u=r.createTextNode(n[i][1]);a.parentNode.insertBefore(u,a)}}},g=function(e,t){var n=b[e.tagName.toLowerCase()]||b._default,s=n[0],o=n[1],a=n[2];i&&(t="­"+t);var u=r.createElement("div");v(u,o+t+a);for(var c=0;s>=c;c++)u=u.firstChild;if(i){for(var l=u;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}return u},y=function(e){for(;""===e.parentNode.tagName;)e=e.parentNode;return e},w=function(e,t){e.parentNode!==t.parentNode&&t.parentNode.insertBefore(e,t.parentNode.firstChild)};u=function(e,t){var n,i,s,o=y(r.getElementById(this.start)),a=r.getElementById(this.end),u=a.parentNode;for(w(o,a),n=o.nextSibling;n;){if(i=n.nextSibling,s=n===a){if(!t)break;a=n.nextSibling}if(n.parentNode.removeChild(n),s)break;n=i}for(n=g(o.parentNode,e);n;)i=n.nextSibling,u.insertBefore(n,a),n=i},c=function(){var e=y(r.getElementById(this.start)),t=r.getElementById(this.end);this.html(""),e.parentNode.removeChild(e),t.parentNode.removeChild(t)},h=function(e){for(var t,r=g(e,this.outerHTML());r;)t=r.nextSibling,e.appendChild(r),r=t},m=function(e){var t,n,i=r.getElementById(this.end),s=i.nextSibling,o=i.parentNode;for(n=g(o,e);n;)t=n.nextSibling,o.insertBefore(n,s),n=t},f=function(e){var t,n,i=r.getElementById(this.start),s=i.parentNode;n=g(s,e);for(var o=i.nextSibling;n;)t=n.nextSibling,s.insertBefore(n,o),n=t}}return o.prototype.html=function(e){return this.checkRemoved(),void 0===e?this.innerHTML:(u.call(this,e),this.innerHTML=e,void 0)},o.prototype.replaceWith=function(e){this.checkRemoved(),u.call(this,e,!0)},o.prototype.remove=c,o.prototype.outerHTML=l,o.prototype.appendTo=h,o.prototype.after=m,o.prototype.prepend=f,o.prototype.startTag=p,o.prototype.endTag=d,o.prototype.isRemoved=function(){var e=r.getElementById(this.start),t=r.getElementById(this.end);return!e||!t},o.prototype.checkRemoved=function(){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")},o})}(),function(){function e(e){var t=e.hash,r=e.hashTypes;for(var n in t)"ID"===r[n]&&(t[n+"Binding"]=t[n],r[n+"Binding"]="STRING",delete t[n],delete r[n])}var t=Object.create||function(e){function t(){}return t.prototype=e,new t},r=this.Handlebars||Ember.imports&&Ember.imports.Handlebars;r||"function"!=typeof require||(r=require("handlebars")),Ember.Handlebars=t(r),Ember.Handlebars.helper=function(t,r){if(Ember.Component.detect(r)){var n=r.proto();n.layoutName||n.templateName||r.reopen({layoutName:"components/"+t})}Ember.View.detect(r)?Ember.Handlebars.registerHelper(t,function(t){return e(t),Ember.Handlebars.helpers.view.call(this,r,t)}):Ember.Handlebars.registerBoundHelper.apply(null,arguments)},Ember.Handlebars.helpers=t(r.helpers),Ember.Handlebars.Compiler=function(){},r.Compiler&&(Ember.Handlebars.Compiler.prototype=t(r.Compiler.prototype)),Ember.Handlebars.Compiler.prototype.compiler=Ember.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=function(){},r.JavaScriptCompiler&&(Ember.Handlebars.JavaScriptCompiler.prototype=t(r.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler.prototype.compiler=Ember.Handlebars.JavaScriptCompiler),Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},Ember.Handlebars.JavaScriptCompiler.prototype.appendToBuffer=function(e){return"data.buffer.push("+e+");"};var n="ember"+ +new Date,i=1;Ember.Handlebars.Compiler.prototype.mustache=function(e){if(e.isHelper&&"control"===e.id.string)e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["controlID",new r.AST.StringNode(n+i++)]);else if(e.params.length||e.hash);else{var t=new r.AST.IdNode([{part:"_triageMustache"}]);e.escaped||(e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["unescaped",new r.AST.StringNode("true")])),e=new r.AST.MustacheNode([t].concat([e.id]),e.hash,!e.escaped)}return r.Compiler.prototype.mustache.call(this,e)},Ember.Handlebars.precompile=function(e){var t=r.parse(e),n={knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n);return(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0)},r.compile&&(Ember.Handlebars.compile=function(e){var t=r.parse(e),n={data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n),s=(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0);return Ember.Handlebars.template(s)})}(),function(){function e(e,t,r,i){var s,o,a,u,c,l,h=r.length,m=i.data,f=m.view,p=i.hash,d=p.boundOptions;a=new Ember._SimpleHandlebarsView(null,null,!p.unescaped,m),a.normalizedValue=function(){var s,o=[];for(s in d)d.hasOwnProperty(s)&&(c=n(e,d[s],m),a.path=c.path,a.pathRoot=c.root,p[s]=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));for(u=0;h>u;++u)c=r[u],a.path=c.path,a.pathRoot=c.root,o.push(Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));return o.push(i),t.apply(e,o)},f.appendChild(a),s=[];for(o in d)d.hasOwnProperty(o)&&s.push(n(e,d[o],m));for(s=s.concat(r),u=0,l=s.length;l>u;++u)c=s[u],f.registerObserver(c.root,c.path,a,a.rerender)}function t(e,t,r,n){var i,s,o,a,u=[],c=n.hash,l=c.boundOptions;for(a in l)l.hasOwnProperty(a)&&(c[a]=Ember.Handlebars.get(e,l[a],n));for(i=0,s=r.length;s>i;++i)o=r[i],u.push(Ember.Handlebars.get(e,o.path,n));return u.push(n),t.apply(e,u)}var r=Array.prototype.slice,n=Ember.Handlebars.normalizePath=function(e,t,r){var n,i,s=r&&r.keywords||{};return n=t.split(".",1)[0],s.hasOwnProperty(n)&&(e=s[n],i=!0,t=t===n?"":t.substr(n.length+1)),{root:e,path:t,isKeyword:i}},i=Ember.Handlebars.get=function(e,t,r){var i,s=r&&r.data,o=n(e,t,s);return e=o.root,t=o.path,i=Ember.get(e,t),void 0===i&&e!==Ember.lookup&&Ember.isGlobalPath(t)&&(i=Ember.get(Ember.lookup,t)),i};Ember.Handlebars.getPath=Ember.deprecateFunc("`Ember.Handlebars.getPath` has been changed to `Ember.Handlebars.get` for consistency.",Ember.Handlebars.get),Ember.Handlebars.resolveParams=function(e,t,r){for(var n,s,o=[],a=r.types,u=0,c=t.length;c>u;u++)n=t[u],s=a[u],"ID"===s?o.push(i(e,n,r)):o.push(n);return o},Ember.Handlebars.resolveHash=function(e,t,r){var n,s={},o=r.hashTypes;for(var a in t)t.hasOwnProperty(a)&&(n=o[a],s[a]="ID"===n?i(e,t[a],r):t[a]);return s},Ember.Handlebars.registerHelper("helperMissing",function(e,t){var r,n="";throw r="%@ Handlebars error: Could not find property '%@' on object %@.",t.data&&(n=t.data.view),new Ember.Error(Ember.String.fmt(r,[n,e,this]))}),Ember.Handlebars.registerBoundHelper=function(i,s){function o(){var i,o,u,c,l,h=r.call(arguments,0,-1),m=h.length,f=arguments[arguments.length-1],p=[],d=f.data,b=f.hash,E=d.view,v=f.contexts&&f.contexts[0]||this,g="";b.boundOptions={};for(l in b)b.hasOwnProperty(l)&&Ember.IS_BINDING.test(l)&&"string"==typeof b[l]&&(b.boundOptions[l.slice(0,-7)]=b[l]);for(d.properties=[],c=0;m>c;++c)d.properties.push(h[c]),p.push(n(v,h[c],d));if(d.isUnbound)return t(this,s,p,f);if(0===a.length)return e(v,s,p,f);i=p[0],o=i.root,u=i.path;var y=new Ember._SimpleHandlebarsView(u,o,!f.hash.unescaped,f.data);y.normalizedValue=function(){var e=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(y);return s.call(E,e,f)},E.appendChild(y),E.registerObserver(o,u,y,y.rerender),Ember.isEmpty(u)||(g=u+".");for(var w=0,_=a.length;_>w;w++)E.registerObserver(o,g+a[w],y,y.rerender)}var a=r.call(arguments,2);o._rawFunction=s,Ember.Handlebars.registerHelper(i,o)},Ember.Handlebars.template=function(e){var t=Handlebars.template(e);return t.isTop=!0,t}}(),function(){Ember.String.htmlSafe=function(e){return new Handlebars.SafeString(e)};var e=Ember.String.htmlSafe;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return e(this)})}(),function(){Ember.Handlebars.resolvePaths=function(e){for(var t=[],r=e.contexts,n=e.roots,i=e.data,s=0,o=r.length;o>s;s++)t.push(Ember.Handlebars.get(n[s],r[s],{data:i}));return t}}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}Ember.set,Ember.get;var r=t("metamorph"),n={remove:function(t){t.morph.remove(),e()},prepend:function(t,r){t.morph.prepend(r),e()},after:function(t,r){t.morph.after(r),e()},html:function(t,r){t.morph.html(r),e()},replace:function(t){var r=t.morph;t.transitionTo("preRender"),Ember.run.schedule("render",this,function(){if(!t.isDestroying){t.clearRenderedChildren();var n=t.renderToBuffer();t.invokeRecursively(function(e){e.propertyWillChange("element")}),t.triggerRecursively("willInsertElement"),r.replaceWith(n.string()),t.transitionTo("inDOM"),t.invokeRecursively(function(e){e.propertyDidChange("element")}),t.triggerRecursively("didInsertElement"),e()}})},empty:function(t){t.morph.html(""),e()}};Ember._Metamorph=Ember.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super(),this.morph=r()},beforeRender:function(e){e.push(this.morph.startTag()),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag(),e.push(this.morph.endTag())},createElement:function(){var e=this.renderToBuffer();this.outerHTML=e.string(),this.clearBuffer()},domManager:n}),Ember._MetamorphView=Ember.View.extend(Ember._Metamorph),Ember._SimpleMetamorphView=Ember.CoreView.extend(Ember._Metamorph)}(),function(){function e(e,t,r,n){this.path=e,this.pathRoot=t,this.isEscaped=r,this.templateData=n,this.morph=s(),this.state="preRender",this.updateId=null}var r=Ember.get,n=Ember.set,i=Ember.Handlebars.get,s=t("metamorph");Ember._SimpleHandlebarsView=e,e.prototype={isVirtual:!0,isView:!0,destroy:function(){this.updateId&&(Ember.run.cancel(this.updateId),this.updateId=null),this.morph=null},propertyWillChange:Ember.K,propertyDidChange:Ember.K,normalizedValue:function(){var e,t,r=this.path,n=this.pathRoot;return""===r?e=n:(t=this.templateData,e=i(n,r,{data:t})),e},renderToBuffer:function(e){var t="";t+=this.morph.startTag(),t+=this.render(),t+=this.morph.endTag(),e.push(t)},render:function(){var e=this.isEscaped,t=this.normalizedValue();return null===t||void 0===t?t="":t instanceof Handlebars.SafeString||(t=String(t)),e&&(t=Handlebars.Utils.escapeExpression(t)),t},rerender:function(){switch(this.state){case"preRender":case"destroying":break;case"inBuffer":throw new Ember.Error("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=Ember.run.scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null,this.morph.html(this.render())},transitionTo:function(e){this.state=e}};var o=Ember.View.cloneStates(Ember.View.states),a=Ember.merge;a(o._default,{rerenderIfNeeded:Ember.K}),a(o.inDOM,{rerenderIfNeeded:function(e){e.normalizedValue()!==e._lastNormalizedValue&&e.rerender()}}),Ember._HandlebarsBoundView=Ember._MetamorphView.extend({instrumentName:"boundHandlebars",states:o,shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var e,t,n=r(this,"path"),s=r(this,"pathRoot"),o=r(this,"valueNormalizerFunc");return""===n?e=s:(t=r(this,"templateData"),e=i(s,n,{data:t})),o?o(e):e},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(e){var t=r(this,"isEscaped"),i=r(this,"shouldDisplayFunc"),s=r(this,"preserveContext"),o=r(this,"previousContext"),a=r(this,"inverseTemplate"),u=r(this,"displayTemplate"),c=this.normalizedValue();if(this._lastNormalizedValue=c,i(c))if(n(this,"template",u),s)n(this,"_context",o);else{if(!u)return null===c||void 0===c?c="":c instanceof Handlebars.SafeString||(c=String(c)),t&&(c=Handlebars.Utils.escapeExpression(c)),e.push(c),void 0;n(this,"_context",c)}else a?(n(this,"template",a),s?n(this,"_context",o):n(this,"_context",c)):n(this,"template",function(){return""});return this._super(e)}})}(),function(){function e(e){return!Ember.isNone(e)}function t(e,t,r,n,o,a){var u,c,l,h=t.data,m=t.fn,f=t.inverse,p=h.view,d=this;if(u=s(d,e,h),"object"==typeof this){if(h.insideGroup){c=function(){Ember.run.once(p,"rerender")};var b,E,v=i(d,e,t);v=o?o(v):v,E=r?d:v,n(v)?b=m:f&&(b=f),b(E,{data:t.data})}else{var g=p.createChildView(Ember._HandlebarsBoundView,{preserveContext:r,shouldDisplayFunc:n,valueNormalizerFunc:o,displayTemplate:m,inverseTemplate:f,path:e,pathRoot:d,previousContext:d,isEscaped:!t.hash.unescaped,templateData:t.data});p.appendChild(g),c=function(){Ember.run.scheduleOnce("render",g,"rerenderIfNeeded")}}if(""!==u.path&&(p.registerObserver(u.root,u.path,c),a))for(l=0;l<a.length;l++)p.registerObserver(u.root,u.path+"."+a[l],c)}else h.buffer.push(i(d,e,t))}function r(e,t){var r,n,o=t.data,a=o.view,u=this;if(r=s(u,e,o),"object"==typeof this){if(o.insideGroup){n=function(){Ember.run.once(a,"rerender")};var c=i(u,e,t);(null===c||void 0===c)&&(c=""),o.buffer.push(c)}else{var l=new Ember._SimpleHandlebarsView(e,u,!t.hash.unescaped,t.data);l._parentView=a,a.appendChild(l),n=function(){Ember.run.scheduleOnce("render",l,"rerender")}}""!==r.path&&a.registerObserver(r.root,r.path,n)}else o.buffer.push(i(u,e,t))}var n=Ember.get;Ember.set,Ember.String.fmt;var i=Ember.Handlebars.get,s=Ember.Handlebars.normalizePath,o=Ember.ArrayPolyfills.forEach,a=Ember.Handlebars,u=a.helpers;a.registerHelper("_triageMustache",function(e,t){return u[e]?u[e].call(this,t):u.bind.apply(this,arguments)}),a.registerHelper("bind",function(n,i){var s=i.contexts&&i.contexts[0]||this;return i.fn?t.call(s,n,i,!1,e):r.call(s,n,i)}),a.registerHelper("boundIf",function(e,r){var i=r.contexts&&r.contexts[0]||this,s=function(e){var t=e&&n(e,"isTruthy");return"boolean"==typeof t?t:Ember.isArray(e)?0!==n(e,"length"):!!e};return t.call(i,e,r,!0,s,s,["isTruthy","length"])}),a.registerHelper("with",function(r,n){if(4===arguments.length){var i,o,a,c;if(n=arguments[3],i=arguments[2],o=arguments[0],Ember.isGlobalPath(o))Ember.bind(n.data.keywords,i,o);else{c=s(this,o,n.data),o=c.path,a=c.root;var l=Ember.$.expando+Ember.guidFor(a);n.data.keywords[l]=a;var h=o?l+"."+o:l;Ember.bind(n.data.keywords,i,h)}return t.call(this,o,n,!0,e)}return u.bind.call(n.contexts[0],r,n)}),a.registerHelper("if",function(e,t){return u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("unless",function(e,t){var r=t.fn,n=t.inverse;return t.fn=n,t.inverse=r,u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("bindAttr",function(e){var t=e.hash,r=e.data.view,n=[],u=this,c=++Ember.uuid,l=t["class"];if(null!=l){var h=a.bindClasses(this,l,r,c,e);n.push('class="'+Handlebars.Utils.escapeExpression(h.join(" "))+'"'),delete t["class"]}var m=Ember.keys(t);return o.call(m,function(o){var a,l=t[o];a=s(u,l,e.data);var h,m,f="this"===l?a.root:i(u,l,e),p=Ember.typeOf(f);h=function(){var t=i(u,l,e),n=r.$("[data-bindattr-"+c+"='"+c+"']");return n&&0!==n.length?(Ember.View.applyAttributeBindings(n,o,t),void 0):(Ember.removeObserver(a.root,a.path,m),void 0)},"this"===l||a.isKeyword&&""===a.path||r.registerObserver(a.root,a.path,h),"string"===p||"number"===p&&!isNaN(f)?n.push(o+'="'+Handlebars.Utils.escapeExpression(f)+'"'):f&&"boolean"===p&&n.push(o+'="'+o+'"')},this),n.push("data-bindattr-"+c+'="'+c+'"'),new a.SafeString(n.join(" "))}),a.bindClasses=function(e,t,r,n,a){var u,c,l,h=[],m=function(e,t,r){var n,s=t.path;return n="this"===s?e:""===s?!0:i(e,s,r),Ember.View._classStringForValue(s,n,t.className,t.falsyClassName)};return o.call(t.split(" "),function(t){var i,o,f,p,d=Ember.View._parsePropertyPath(t),b=d.path,E=e;""!==b&&"this"!==b&&(p=s(e,b,a.data),E=p.root,b=p.path),o=function(){u=m(e,d,a),l=n?r.$("[data-bindattr-"+n+"='"+n+"']"):r.$(),l&&0!==l.length?(i&&l.removeClass(i),u?(l.addClass(u),i=u):i=null):Ember.removeObserver(E,b,f)},""!==b&&"this"!==b&&r.registerObserver(E,b,o),c=m(e,d,a),c&&(h.push(c),i=c)}),h}}(),function(){Ember.get,Ember.set;var e=Ember.Handlebars,t=/^[a-z]/,r=/^view\./;e.ViewHelper=Ember.Object.create({propertiesFromHTMLOptions:function(e){var t=e.hash,r=e.data,n={},i=t["class"],s=!1;t.id&&(n.elementId=t.id,s=!0),t.tag&&(n.tagName=t.tag,s=!0),i&&(i=i.split(" "),n.classNames=i,s=!0),t.classBinding&&(n.classNameBindings=t.classBinding.split(" "),s=!0),t.classNameBindings&&(void 0===n.classNameBindings&&(n.classNameBindings=[]),n.classNameBindings=n.classNameBindings.concat(t.classNameBindings.split(" ")),s=!0),t.attributeBindings&&(n.attributeBindings=null,s=!0),s&&(t=Ember.$.extend({},t),delete t.id,delete t.tag,delete t["class"],delete t.classBinding);var o;for(var a in t)t.hasOwnProperty(a)&&Ember.IS_BINDING.test(a)&&"string"==typeof t[a]&&(o=this.contextualizeBindingPath(t[a],r),o&&(t[a]=o));if(n.classNameBindings)for(var u in n.classNameBindings){var c=n.classNameBindings[u];if("string"==typeof c){var l=Ember.View._parsePropertyPath(c);o=this.contextualizeBindingPath(l.path,r),o&&(n.classNameBindings[u]=o+l.classNames)}}return Ember.$.extend(t,n)},contextualizeBindingPath:function(e,t){var r=Ember.Handlebars.normalizePath(null,e,t);return r.isKeyword?"templateData.keywords."+e:Ember.isGlobalPath(e)?null:"this"===e?"_parentView.context":"_parentView.context."+e},helper:function(n,i,s){var o,a=s.data,u=s.fn;o="string"==typeof i?"STRING"===s.types[0]&&t.test(i)&&!r.test(i)?a.view.container.lookupFactory("view:"+i):e.get(n,i,s):i;var c=this.propertiesFromHTMLOptions(s,n),l=a.view;c.templateData=a;var h=o.proto?o.proto():o;u&&(c.template=u),h.controller||h.controllerBinding||c.controller||c.controllerBinding||(c._context=n),l.appendChild(o,c)}}),e.registerHelper("view",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="Ember.View"),e.ViewHelper.helper(this,t,r)})}(),function(){var e=Ember.get,t=Ember.Handlebars.get;Ember.String.fmt,Ember.Handlebars.registerHelper("collection",function(r,n){r&&r.data&&r.data.isRenderData&&(n=r,r=void 0);var i=n.fn,s=n.data,o=n.inverse;n.data.view;var a;a=r?t(this,r,n):Ember.CollectionView;var u,c,l=n.hash,h={},m=a.proto();if(l.itemView){var f=s.keywords.controller,p=f.container;c=p.resolve("view:"+Ember.String.camelize(l.itemView))}else c=l.itemViewClass?t(m,l.itemViewClass,n):m.itemViewClass;delete l.itemViewClass,delete l.itemView;for(var d in l)l.hasOwnProperty(d)&&(u=d.match(/^item(.)(.*)$/),u&&"itemController"!==d&&(h[u[1].toLowerCase()+u[2]]=l[d],delete l[d]));i&&(h.template=i,delete n.fn);var b;o&&o!==Handlebars.VM.noop?(b=e(m,"emptyViewClass"),b=b.extend({template:o,tagName:h.tagName})):l.emptyViewClass&&(b=t(this,l.emptyViewClass,n)),b&&(l.emptyView=b),l.keyword||(h._context=Ember.computed.alias("content"));var E=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions({data:s,hash:h},this);return l.itemViewClass=c.extend(E),Ember.Handlebars.helpers.view.call(this,a,n)})}(),function(){var e=Ember.Handlebars.get;Ember.Handlebars.registerHelper("unbound",function(t,r){var n,i,s,o=arguments[arguments.length-1];return arguments.length>2?(o.data.isUnbound=!0,n=Ember.Handlebars.helpers[arguments[0]]||Ember.Handlebars.helperMissing,s=n.apply(this,Array.prototype.slice.call(arguments,1)),delete o.data.isUnbound,s):(i=r.contexts&&r.contexts[0]||this,e(i,t,r))})}(),function(){var e=Ember.Handlebars.get,t=Ember.Handlebars.normalizePath;Ember.Handlebars.registerHelper("log",function(r,n){var i=n.contexts&&n.contexts[0]||this,s=t(i,r,n.data),o=s.root,a=s.path,u="this"===a?o:e(o,a,n);Ember.Logger.log(u)}),Ember.Handlebars.registerHelper("debugger",function(){})}(),function(){var e=Ember.get,t=Ember.set;Ember.Handlebars.EachView=Ember.CollectionView.extend(Ember._Metamorph,{init:function(){var r,n=e(this,"itemController");if(n){var i=Ember.ArrayController.create();t(i,"itemController",n),t(i,"container",e(this,"controller.container")),t(i,"_eachView",this),t(i,"target",e(this,"controller")),t(i,"parentController",e(this,"controller")),this.disableContentObservers(function(){t(this,"content",i),r=new Ember.Binding("content","_eachView.dataSource").oneWay(),r.connect(i)}),t(this,"_arrayController",i)}else this.disableContentObservers(function(){r=new Ember.Binding("content","dataSource").oneWay(),r.connect(this)});return this._super()},_assertArrayLike:function(){},disableContentObservers:function(e){Ember.removeBeforeObserver(this,"content",null,"_contentWillChange"),Ember.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),Ember.addBeforeObserver(this,"content",null,"_contentWillChange"),Ember.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView,createChildView:function(r,n){r=this._super(r,n);var i=e(this,"keyword"),s=e(r,"content");if(i){var o=e(r,"templateData");o=Ember.copy(o),o.keywords=r.cloneKeywords(),t(r,"templateData",o),o.keywords[i]=s}return s&&e(s,"isController")&&t(r,"controller",s),r},destroy:function(){if(this._super()){var t=e(this,"_arrayController");return t&&t.destroy(),this}}});var r=Ember.Handlebars.GroupedEach=function(e,t,r){var n=this,i=Ember.Handlebars.normalizePath(e,t,r.data);this.context=e,this.path=t,this.options=r,this.template=r.fn,this.containingView=r.data.view,this.normalizedRoot=i.root,this.normalizedPath=i.path,this.content=this.lookupContent(),this.addContentObservers(),this.addArrayObservers(),this.containingView.on("willClearRender",function(){n.destroy()})};r.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent(),this.addArrayObservers(),this.rerenderContainingView()},contentArrayWillChange:Ember.K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return Ember.Handlebars.get(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){Ember.addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange),Ember.addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){Ember.removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange),Ember.removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){var t=this.content,r=e(t,"length"),n=this.options.data,i=this.template;n.insideEach=!0;for(var s=0;r>s;s++)i(t.objectAt(s),{data:n})},rerenderContainingView:function(){Ember.run.scheduleOnce("render",this.containingView,"rerender")},destroy:function(){this.removeContentObservers(),this.removeArrayObservers()}},Ember.Handlebars.registerHelper("each",function(e,t){if(4===arguments.length){var r=arguments[0];t=arguments[3],e=arguments[2],""===e&&(e="this"),t.hash.keyword=r}return 1===arguments.length&&(t=e,e="this"),t.hash.dataSourceBinding=e,!t.data.insideGroup||t.hash.groupedRows||t.hash.itemViewClass?Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView",t):(new Ember.Handlebars.GroupedEach(this,e,t).render(),void 0)})}(),function(){Ember.Handlebars.registerHelper("template",function(){return Ember.Handlebars.helpers.partial.apply(this,arguments)})}(),function(){Ember.Handlebars.registerHelper("partial",function(e,t){var r=e.split("/"),n=r[r.length-1];r[r.length-1]="_"+n;var i=t.data.view,s=r.join("/"),o=i.templateForName(s),a=!o&&i.templateForName(e);o=o||a,o(this,{data:t.data})})}(),function(){var e=Ember.get;Ember.set,Ember.Handlebars.registerHelper("yield",function(t){for(var r,n=t.data.view,i=n;i&&!e(i,"layout");)i=e(i,"parentView");r=e(i,"template");var s=i._parentView.cloneKeywords();n.appendChild(Ember.View,{isVirtual:!0,tagName:"",template:r,context:e(i._parentView,"context"),controller:e(i._parentView,"controller"),templateData:{keywords:s}})})}(),function(){Ember.Handlebars.registerHelper("loc",function(e){return Ember.String.loc(e)})}(),function(){var e=Ember.set;Ember.get,Ember.Checkbox=Ember.View.extend({classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super(),this.get("element").indeterminate=!!this.get("indeterminate")},_updateElementValue:function(){e(this,"checked",this.$().prop("checked"))}})}(),function(){var e=(Ember.get,Ember.set);Ember.TextSupport=Ember.Mixin.create({value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex"],placeholder:null,disabled:!1,maxlength:null,insertNewline:Ember.K,cancel:Ember.K,init:function(){this._super(),this.on("focusOut",this,this._elementValueDidChange),this.on("change",this,this._elementValueDidChange),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange),this.on("keyUp",this,this.interpretKeyEvents)},interpretKeyEvents:function(e){var t=Ember.TextSupport.KEY_EVENTS,r=t[e.keyCode];return this._elementValueDidChange(),r?this[r](e):void 0},_elementValueDidChange:function(){e(this,"value",this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"}}(),function(){function e(e,r,n){var i=t(r,"action"),s=t(r,"onEvent");if(i&&s===e){var o=t(r,"controller"),a=t(r,"value"),u=t(r,"bubbles");o.send(i,a,r),u||n.stopPropagation()}}var t=Ember.get;Ember.set,Ember.TextField=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name"],value:"",type:"text",size:null,pattern:null,action:null,onEvent:"enter",bubbles:!1,insertNewline:function(t){e("enter",this,t)},keyPress:function(t){e("keyPress",this,t)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Button=Ember.View.extend(Ember.TargetActionSupport,{classNames:["ember-button"],classNameBindings:["isActive"],tagName:"button",propagateEvents:!1,attributeBindings:["type","disabled","href","tabindex"],targetObject:Ember.computed(function(){var t=e(this,"target"),r=e(this,"context"),n=e(this,"templateData");return"string"!=typeof t?t:Ember.Handlebars.get(r,t,{data:n})}).property("target"),type:Ember.computed(function(){var e=this.tagName;return"input"===e||"button"===e?"button":void 0}),disabled:!1,href:Ember.computed(function(){return"a"===this.tagName?"#":null}),mouseDown:function(){return e(this,"disabled")||(t(this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0),e(this,"propagateEvents")},mouseLeave:function(){this._mouseDown&&(t(this,"isActive",!1),this._mouseEntered=!1)},mouseEnter:function(){this._mouseDown&&(t(this,"isActive",!0),this._mouseEntered=!0)},mouseUp:function(){return e(this,"isActive")&&(this.triggerAction(),t(this,"isActive",!1)),this._mouseDown=!1,this._mouseEntered=!1,e(this,"propagateEvents")},keyDown:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseDown()},keyUp:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseUp()},touchStart:function(e){return this.mouseDown(e)},touchEnd:function(e){return this.mouseUp(e)},init:function(){this._super()}})}(),function(){var e=Ember.get;Ember.set,Ember.TextArea=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name"],rows:null,cols:null,_updateElementValue:Ember.observer(function(){var t=e(this,"value"),r=this.$();r&&t!==r.val()&&r.val(t)},"value"),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}(),function(){var e=Ember.set,t=Ember.get,r=Ember.EnumerableUtils.indexOf,n=Ember.EnumerableUtils.indexesOf,i=Ember.EnumerableUtils.forEach,s=Ember.EnumerableUtils.replace,o=Ember.isArray;Ember.Handlebars.compile,Ember.SelectOption=Ember.View.extend({tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(e,t){t={data:t.data,hash:{}},Ember.Handlebars.helpers.bind.call(e,"view.label",t)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:Ember.computed(function(){var e=t(this,"content"),n=t(this,"parentView.selection");return t(this,"parentView.multiple")?n&&r(n,e.valueOf())>-1:e==n}).property("content","parentView.selection"),labelPathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionLabelPath");e&&Ember.defineProperty(this,"label",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionLabelPath"),valuePathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionValuePath");e&&Ember.defineProperty(this,"value",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionValuePath")}),Ember.SelectOptgroup=Ember.CollectionView.extend({tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),Ember.Select=Ember.View.extend({tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function(e,t,r,n,i){function s(e,t){var n,i,s="";return t.buffer.push('<option value="">'),n={},i={},t.buffer.push(p(r._triageMustache.call(e,"view.prompt",{hash:{},contexts:[e],types:["ID"],hashContexts:i,hashTypes:n,data:t}))),t.buffer.push("</option>"),s}function o(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.groupedContent",{hash:{},inverse:d.noop,fn:d.program(4,a,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function a(e,t){var n,i;n={contentBinding:e,labelBinding:e},i={contentBinding:"ID",labelBinding:"ID"},t.buffer.push(p(r.view.call(e,"view.groupView",{hash:{contentBinding:"content",labelBinding:"label"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}function u(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.content",{hash:{},inverse:d.noop,fn:d.program(7,c,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function c(e,t){var n,i;n={contentBinding:e},i={contentBinding:"STRING"},t.buffer.push(p(r.view.call(e,"view.optionView",{hash:{contentBinding:"this"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}this.compilerInfo=[4,">= 1.0.0"],r=this.merge(r,Ember.Handlebars.helpers),i=i||{};
|
21
|
+
var l,h,m,f="",p=this.escapeExpression,d=this;return h={},m={},l=r["if"].call(t,"view.prompt",{hash:{},inverse:d.noop,fn:d.program(1,s,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),h={},m={},l=r["if"].call(t,"view.optionGroupPath",{hash:{},inverse:d.program(6,u,i),fn:d.program(3,o,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),f}),attributeBindings:["multiple","disabled","tabindex","name"],multiple:!1,disabled:!1,content:null,selection:null,value:Ember.computed(function(e,r){if(2===arguments.length)return r;var n=t(this,"optionValuePath").replace(/^content\.?/,"");return n?t(this,"selection."+n):t(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:Ember.SelectOptgroup,groupedContent:Ember.computed(function(){var e=t(this,"optionGroupPath"),r=Ember.A();return i(t(this,"content"),function(n){var i=t(n,e);t(r,"lastObject.label")!==i&&r.pushObject({label:i,content:Ember.A()}),t(r,"lastObject.content").push(n)}),r}).property("optionGroupPath","content.@each"),optionView:Ember.SelectOption,_change:function(){t(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:Ember.observer(function(){var r=t(this,"selection");if(t(this,"multiple")){if(!o(r))return e(this,"selection",Ember.A([r])),void 0;this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()},"selection.@each"),valueDidChange:Ember.observer(function(){var e,r=t(this,"content"),n=t(this,"value"),i=t(this,"optionValuePath").replace(/^content\.?/,""),s=i?t(this,"selection."+i):t(this,"selection");n!==s&&(e=r?r.find(function(e){return n===(i?t(e,i):e)}):null,this.set("selection",e))},"value"),_triggerChange:function(){var e=t(this,"selection"),r=t(this,"value");Ember.isNone(e)||this.selectionDidChange(),Ember.isNone(r)||this.valueDidChange(),this._change()},_changeSingle:function(){var r=this.$()[0].selectedIndex,n=t(this,"content"),i=t(this,"prompt");if(n&&t(n,"length")){if(i&&0===r)return e(this,"selection",null),void 0;i&&(r-=1),e(this,"selection",n.objectAt(r))}},_changeMultiple:function(){var r=this.$("option:selected"),n=t(this,"prompt"),i=n?1:0,a=t(this,"content"),u=t(this,"selection");if(a&&r){var c=r.map(function(){return this.index-i}).toArray(),l=a.objectsAt(c);o(u)?s(u,0,t(u,"length"),l):e(this,"selection",l)}},_selectionDidChangeSingle:function(){var e=this.get("element");if(e){var n=t(this,"content"),i=t(this,"selection"),s=n?r(n,i):-1,o=t(this,"prompt");o&&(s+=1),e&&(e.selectedIndex=s)}},_selectionDidChangeMultiple:function(){var e,i=t(this,"content"),s=t(this,"selection"),o=i?n(i,s):[-1],a=t(this,"prompt"),u=a?1:0,c=this.$("option");c&&c.each(function(){e=this.index>-1?this.index-u:-1,this.selected=r(o,e)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}})}(),function(){function e(e,t){for(var r in e)"ID"===t[r]&&(e[r+"Binding"]=e[r],delete e[r])}Ember.Handlebars.registerHelper("input",function(t){var r=t.hash,n=t.hashTypes,i=r.type,s=r.on;return delete r.type,delete r.on,e(r,n),"checkbox"===i?Ember.Handlebars.helpers.view.call(this,Ember.Checkbox,t):(i&&(r.type=i),r.onEvent=s||"enter",Ember.Handlebars.helpers.view.call(this,Ember.TextField,t))}),Ember.Handlebars.registerHelper("textarea",function(t){var r=t.hash,n=t.hashTypes;return e(r,n),Ember.Handlebars.helpers.view.call(this,Ember.TextArea,t)})}(),function(){function e(){Ember.Handlebars.bootstrap(Ember.$(document))}function t(e){var t,n=Ember.TEMPLATES;if(n)for(var i in n)(t=i.match(/^components\/(.*)$/))&&r(e,t[1])}function r(e,t){var r=t.replace(/-/g,"_"),n=e.lookupFactory("component:"+r)||e.lookupFactory("component:"+t),i=n||Ember.Component.extend();i.reopen({layoutName:"components/"+t}),Ember.Handlebars.helper(t,i)}Ember.Handlebars.bootstrap=function(e){var t='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';Ember.$(t,e).each(function(){var e=Ember.$(this),t="text/x-raw-handlebars"===e.attr("type")?Ember.$.proxy(Handlebars.compile,Handlebars):Ember.$.proxy(Ember.Handlebars.compile,Ember.Handlebars),r=e.attr("data-template-name")||e.attr("id")||"application",n=t(e.html());Ember.TEMPLATES[r]=n,e.remove()})},Ember.onLoad("Ember.Application",function(r){r.initializer?(r.initializer({name:"domTemplates",initialize:e}),r.initializer({name:"registerComponents",after:"domTemplates",initialize:t})):Ember.onLoad("application",e)})}(),function(){Ember.runLoadHooks("Ember.Handlebars",Ember.Handlebars)}(),function(){var e=Ember.get,t=Ember.set;Ember._PromiseChain=Ember.Object.extend({promises:null,failureCallback:Ember.K,successCallback:Ember.K,abortCallback:Ember.K,promiseSuccessCallback:Ember.K,runNextPromise:function(){if(!e(this,"isDestroyed")){var t=e(this,"promises").shiftObject();if(t){var r=e(t,"promise")||t,n=this,i=function(){n.promiseSuccessCallback.call(this,t,arguments),n.runNextPromise()},s=e(n,"failureCallback");r.then(i,s)}else this.successCallback()}},start:function(){return this.runNextPromise(),this},abort:function(){this.abortCallback(),this.destroy()},init:function(){t(this,"promises",Ember.A(e(this,"promises"))),this._super()}})}(),function(){function e(t,r,n,i){var s,o=t.name,a=t.incoming,u=t.incomingNames,c=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,s=0;c>s;s++)e(a[u[s]],r,n,i);r(t,i),i.pop()}}function t(){this.names=[],this.vertices={}}t.prototype.add=function(e){if(e){if(this.vertices.hasOwnProperty(e))return this.vertices[e];var t={name:e,incoming:{},incomingNames:[],hasOutgoing:!1,value:null};return this.vertices[e]=t,this.names.push(e),t}},t.prototype.map=function(e,t){this.add(e).value=t},t.prototype.addEdge=function(t,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(t&&r&&t!==r){var i=this.add(t),s=this.add(r);s.incoming.hasOwnProperty(t)||(e(i,n),i.hasOutgoing=!0,s.incoming[t]=i,s.incomingNames.push(t))}},t.prototype.topsort=function(t){var r,n,i={},s=this.vertices,o=this.names,a=o.length;for(r=0;a>r;r++)n=s[o[r]],n.hasOutgoing||e(n,t,i)},t.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},Ember.DAG=t}(),function(){var e=Ember.get,t=Ember.set;Ember.Application=Ember.Namespace.extend({rootElement:"body",eventDispatcher:null,customEvents:null,autoinit:!Ember.testing,isInitialized:!1,init:function(){if(this.$||(this.$=Ember.$),this._super(),this.createEventDispatcher(),this._readinessDeferrals=1,this.waitForDOMContentLoaded(),this.autoinit){var e=this;this.$().ready(function(){e.isDestroyed||e.isInitialized||e.initialize()})}},createEventDispatcher:function(){var r=e(this,"rootElement"),n=Ember.EventDispatcher.create({rootElement:r});t(this,"eventDispatcher",n)},waitForDOMContentLoaded:function(){this.deferReadiness();var e=this;this.$().ready(function(){e.advanceReadiness()})},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&Ember.run.once(this,this.didBecomeReady)},initialize:function(e){return e=this.setupRouter(e),this.runInjections(e),Ember.runLoadHooks("application",this),this.isInitialized=!0,this.advanceReadiness(),this},runInjections:function(t){var r,n,i=e(this.constructor,"injections"),s=new Ember.DAG,o=this;for(r=0;r<i.length;r++)n=i[r],s.addEdges(n.name,n.injection,n.before,n.after);s.topsort(function(e){var r=e.value,n=Ember.A(Ember.keys(o));n.forEach(function(e){r(o,t,e)})})},setupRouter:function(e){return!e&&Ember.Router.detect(this.Router)&&(e=this.Router.create(),this._createdRouter=e),e&&(t(this,"router",e),t(e,"namespace",this)),e},didBecomeReady:function(){var t,r=e(this,"eventDispatcher"),n=e(this,"customEvents");r.setup(n),this.ready(),t=e(this,"router"),this.createApplicationView(t),t&&t instanceof Ember.Router&&this.startRouting(t),Ember.BOOTED=!0},createApplicationView:function(r){var n,i,s=e(this,"rootElement"),o={},a=this.ApplicationView,u=Ember.TEMPLATES.application;(a||u)&&(r&&(n=e(r,"applicationController"),n&&(o.controller=n)),u&&(o.template=u),a||(a=Ember.View),i=a.create(o),this._createdApplicationView=i,r&&t(r,"applicationView",i),i.appendTo(s))},startRouting:function(t){var r=e(t,"location");t.route(r.getURL()),r.onUpdateURL(function(e){t.route(e)})},ready:Ember.K,willDestroy:function(){e(this,"eventDispatcher").destroy(),this._createdRouter&&this._createdRouter.destroy(),this._createdApplicationView&&this._createdApplicationView.destroy()},registerInjection:function(e){this.constructor.registerInjection(e)}}),Ember.Application.reopenClass({concatenatedProperties:["injections"],injections:Ember.A(),registerInjection:function(t){var r=e(this,"injections");r.push(t)}}),Ember.Application.registerInjection({name:"controllers",injection:function(e,t,r){if(t&&/^[A-Z].*Controller$/.test(r)){var n,i=r.charAt(0).toLowerCase()+r.substr(1),s=e[r];Ember.Object.detect(s)&&(n=e[r].create(),t.set(i,n),n.setProperties({target:t,controllers:t,namespace:e}))}}}),Ember.runLoadHooks("Ember.Application",Ember.Application)}(),function(){var e=Ember.get;Ember._ResolvedState=Ember.Object.extend({manager:null,state:null,match:null,object:Ember.computed(function(){if(this._object)return this._object;var t=e(this,"state"),r=e(this,"match"),n=e(this,"manager");return t.deserialize(n,r.hash)}),hasPromise:Ember.computed(function(){return Ember.canInvoke(e(this,"object"),"then")}).property("object"),promise:Ember.computed(function(){var t=e(this,"object");return Ember.canInvoke(t,"then")?t:{then:function(e){e(t)}}}).property("object"),transition:function(){var t=e(this,"manager"),r=e(this,"state.path"),n=e(this,"object");t.transitionTo(r,n)}})}(),function(){var e=Ember.get,t=function(e){var t=e.toString(),r=t.split("."),n=r[r.length-1];return Ember.String.underscore(n)+"_id"},r=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e.hasOwnProperty(r)||(e[r]=t[r]))};Ember.Routable=Ember.Mixin.create({init:function(){var t;this.on("setup",this,this.stashContext),(t=e(this,"redirectsTo"))&&(this.connectOutlets=function(e){e.transitionTo(t)});var r=e(this,"route");""===r&&(r="/"),this._super()},setup:function(){return this.connectOutlets.apply(this,arguments)},stashContext:function(t,r){this.router=t;var n=this.serialize(t,r);t.setStateMeta(this,"context",r),t.setStateMeta(this,"serialized",n),e(this,"isRoutable")&&!e(t,"isRouting")&&this.updateRoute(t,e(t,"location"))},updateRoute:function(t,r){if(e(this,"isLeafRoute")){var n=this.absoluteRoute(t);r.setURL(n)}},absoluteRoute:function(t,n){var i,s,o=e(this,"parentState"),a="";s=null,n&&(n instanceof Array?n.length>0&&(s=n.shift()):s=n),e(o,"isRoutable")&&(a=o.absoluteRoute(t,n));var u=e(this,"routeMatcher"),c=t.getStateMeta(this,"serialized");return s=s||{},r(s,c),i=u&&u.generate(s),i&&(a=a+"/"+i),a},isRoutable:Ember.computed(function(){return"string"==typeof e(this,"route")}),isLeafRoute:Ember.computed(function(){return e(this,"isLeaf")?!0:!e(this,"childStates").findProperty("isRoutable")}),routeMatcher:Ember.computed(function(){var t=e(this,"route");return t?Ember._RouteMatcher.create({route:t}):void 0}),hasContext:Ember.computed(function(){var t=e(this,"routeMatcher");return t?t.identifiers.length>0:void 0}),modelClass:Ember.computed(function(){var t=e(this,"modelType");return"string"==typeof t?Ember.get(Ember.lookup,t):t}),modelClassFor:function(t){var r,n,i,s,o;if(r=e(this,"modelClass"))return r;if(t&&(n=e(this,"routeMatcher"),n&&(i=n.identifiers,2===i.length&&(s=i[1].match(/^(.*)_id$/)))))return o=Ember.String.classify(s[1]),e(t,o)},deserialize:function(r,n){var i;return(i=this.modelClassFor(e(r,"namespace")))?i.find(n[t(i)]):n},serialize:function(r,n){var i,s,o;return Ember.isEmpty(n)?"":((i=this.modelClassFor(e(r,"namespace")))&&(s=t(i),o=e(n,"id"),n={},n[s]=o),n)},resolvePath:function(t,r){if(e(this,"isLeafRoute"))return Ember.A();var n,i=e(this,"childStates");i=Ember.A(i.filterProperty("isRoutable")),i=i.sort(function(t,r){var n=e(t,"routeMatcher.identifiers.length"),i=e(r,"routeMatcher.identifiers.length"),s=e(t,"route"),o=e(r,"route");return 0===s.indexOf(o)?-1:0===o.indexOf(s)?1:n!==i?n-i:e(r,"route.length")-e(t,"route.length")});var s=i.find(function(t){var i=e(t,"routeMatcher");return(n=i.match(r))?!0:void 0}),o=Ember._ResolvedState.create({manager:t,state:s,match:n}),a=s.resolvePath(t,n.remaining);return Ember.A([o]).pushObjects(a)},routePath:function(t,r){function n(){i.forEach(function(e){e.transition()})}if(!e(this,"isLeafRoute")){var i=this.resolvePath(t,r),s=i.some(function(t){return e(t,"hasPromise")});s?(t.transitionTo("loading"),t.handleStatePromises(i,n)):n()}},unroutePath:function(t,r){var n=e(this,"parentState");if(n!==t){r=r.replace(/^(?=[^\/])/,"/");var i=this.absoluteRoute(t),s=e(this,"route");if("/"!==s){var o=r.indexOf(i),a=r.charAt(i.length);if(0===o&&("/"===a||""===a))return}t.enterState({exitStates:[this],enterStates:[],finalState:n}),t.send("unroutePath",r)}},parentTemplate:Ember.computed(function(){for(var t,r=this;r=e(r,"parentState");)if(t=e(r,"template"))return t;return"application"}),_template:Ember.computed(function(){var t=e(this,"template");if(t)return t;var r,n=this.constructor.toString();return/^[^\[].*Route$/.test(n)?(r=n.match(/([^\.]+\.)*([^\.]+)/)[2],r=r.replace(/Route$/,""),r.charAt(0).toLowerCase()+r.substr(1)):void 0}),render:function(t){t=t||{};var r=t.template||e(this,"_template"),n=t.into||e(this,"parentTemplate"),i=e(this.router,n+"Controller"),s=Ember.String.classify(r)+"View",o=e(e(this.router,"namespace"),s);o=(o||Ember.View).extend({templateName:r}),i.set("view",o.create())},connectOutlets:Ember.K,navigateAway:Ember.K})}(),function(){Ember.Route=Ember.State.extend(Ember.Routable)}(),function(){var e=function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember._RouteMatcher=Ember.Object.extend({state:null,init:function(){var t,r=this.route,n=[],i=1;"/"===r.charAt(0)&&(r=this.route=r.substr(1)),t=e(r);var s=t.replace(/(:|(?:\\\*))([a-z_]+)(?=$|\/)/gi,function(e,t,r){switch(n[i++]=r,t){case":":return"([^/]+)";case"\\*":return"(.+)"}});this.identifiers=n,this.regex=new RegExp("^/?"+s)},match:function(e){var t=e.match(this.regex);if(t){for(var r=this.identifiers,n={},i=1,s=r.length;s>i;i++)n[r[i]]=t[i];return{remaining:e.substr(t[0].length),hash:r.length>0?n:null}}},generate:function(e){for(var t,r=this.identifiers,n=this.route,i=1,s=r.length;s>i;i++)t=r[i],n=n.replace(new RegExp("(:|(\\*))"+t),e[t]);return n}})}(),function(){Ember.get,Ember.set,Ember.Location={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{}}}(),function(){var e=Ember.get,t=Ember.set;Ember.NoneLocation=Ember.Object.extend({path:"",getURL:function(){return e(this,"path")},setURL:function(e){t(this,"path",e)},onUpdateURL:function(){},formatURL:function(e){return e}}),Ember.Location.registerImplementation("none",Ember.NoneLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.HashLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location)},getURL:function(){return e(this,"location").hash.substr(1)},setURL:function(r){e(this,"location").hash=r,t(this,"lastSetURL",r)},onUpdateURL:function(r){var n=this,i=Ember.guidFor(this);Ember.$(window).on("hashchange.ember-location-"+i,function(){var i=location.hash.substr(1);e(n,"lastSetURL")!==i&&(t(n,"lastSetURL",null),r(location.hash.substr(1)))})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("hashchange.ember-location-"+e)}}),Ember.Location.registerImplementation("hash",Ember.HashLocation)}(),function(){var e=Ember.get,t=Ember.set,r=!1;Ember.HistoryLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location),this.initState()},initState:function(){this.replaceState(e(this,"location").pathname),t(this,"history",window.history)},rootURL:"/",getURL:function(){return e(this,"location").pathname},setURL:function(e){e=this.formatURL(e),this.getState()&&this.getState().path!==e&&(r=!0,this.pushState(e))},getState:function(){return e(this,"history").state},pushState:function(e){window.history.pushState({path:e},null,e)},replaceState:function(e){window.history.replaceState({path:e},null,e)},onUpdateURL:function(e){var t=Ember.guidFor(this);Ember.$(window).on("popstate.ember-location-"+t,function(){r&&e(location.pathname)})},formatURL:function(t){var r=e(this,"rootURL");return""!==t&&(r=r.replace(/\/$/,"")),r+t},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("popstate.ember-location-"+e)}}),Ember.Location.registerImplementation("history",Ember.HistoryLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.Router=Ember.StateManager.extend({initialState:"root",location:"hash",rootURL:"/",transitionTo:function(){this.abortRoutingPromises(),this._super.apply(this,arguments)},route:function(r){function n(){for(r=r.replace(e(this,"rootURL"),""),r=r.replace(/^(?=[^\/])/,"/"),this.send("navigateAway"),this.send("unroutePath",r),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");var t=s?s.absoluteRoute(this):"",n=r.substr(t.length);this.send("routePath",n)}function i(){t(this,"isRouting",!1)}this.abortRoutingPromises(),t(this,"isRouting",!0);var s;for(Ember.tryFinally(n,i,this),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");s&&s.updateRoute(this,e(this,"location"))},urlFor:function(t,r){var n=e(this,"currentState")||this,i=this.findStateByPath(n,t),s=e(this,"location"),o=i.absoluteRoute(this,r);return s.formatURL(o)},urlForEvent:function(t){var r,n,i=Array.prototype.slice.call(arguments,1),s=e(this,"currentState"),o=s.lookupEventTransition(t);return r=this.findStateByPath(s,o),n=this.serializeRecursively(r,i,[]),this.urlFor(o,n)},serializeRecursively:function(t,r,n){var i,s=e(t,"hasContext")?r.pop():null,o=s?t.serialize(this,s):null;return n.push(o),i=t.get("parentState"),i&&i instanceof Ember.Route?this.serializeRecursively(i,r,n):n},abortRoutingPromises:function(){this._routingPromises&&(this._routingPromises.abort(),this._routingPromises=null)},handleStatePromises:function(e,r){this.abortRoutingPromises(),this.set("isLocked",!0);var n=this;this._routingPromises=Ember._PromiseChain.create({promises:e.slice(),successCallback:function(){n.set("isLocked",!1),r()},failureCallback:function(){throw"Unable to load object"},promiseSuccessCallback:function(e,r){t(e,"object",r[0])},abortCallback:function(){n.set("isLocked",!1)}}).start()},moveStatesIntoRoot:function(){this.root=Ember.Route.extend();for(var e in this)if("constructor"!==e){var t=this[e];(t instanceof Ember.Route||Ember.Route.detect(t))&&(this.root[e]=t,delete this[e])}},init:function(){this.root||this.moveStatesIntoRoot(),this._super();var r=e(this,"location"),n=e(this,"rootURL");"string"==typeof r&&t(this,"location",Ember.Location.create({implementation:r,rootURL:n})),this.assignRouter(this,this)},assignRouter:function(e,t){e.router=t;var r=e.states;if(r)for(var n in r)r.hasOwnProperty(n)&&this.assignRouter(r[n],t)},willDestroy:function(){e(this,"location").destroy()}})}(),function(){var e=Ember.Handlebars,t=e.get,r=Ember.get,n=Array.prototype.slice,i=e.ActionHelper={registeredActions:{}};i.registerAction=function(e,t){var r=(++Ember.uuid).toString();return i.registeredActions[r]={eventName:t.eventName,handler:function(r){var n=r.shiftKey||r.metaKey||r.altKey||r.ctrlKey,i=r.which>1,s=n||i;if(!t.link||!s){r.preventDefault(),r.view=t.view,t.hasOwnProperty("context")&&(r.context=t.context),t.hasOwnProperty("contexts")&&(r.contexts=t.contexts);var o=t.target;return"function"==typeof o.send?o.send(e,r):o[e].call(o,r)}}},t.view.on("willClearRender",function(){delete i.registeredActions[r]}),r},e.registerHelper("action",function(s){var o,a,u=arguments[arguments.length-1],c=n.call(arguments,1,-1),l=u.hash,h=u.data.view,m={eventName:l.on||"click"};m.view=h=r(h,"concreteView"),l.target?o=t(this,l.target,u):(a=u.data.keywords.controller)&&(o=a),m.target=o=o||h,c.length&&(m.contexts=c=Ember.EnumerableUtils.map(c,function(e){return t(this,e,u)},this),m.context=c[0]);var f,p=[];l.href&&o.urlForEvent&&(f=o.urlForEvent.apply(o,[s].concat(c)),p.push('href="'+f+'"'),m.link=!0);var d=i.registerAction(s,m);return p.push('data-ember-action="'+d+'"'),new e.SafeString(p.join(" "))})}(),function(){Ember.onLoad("Ember.Handlebars",function(e){e.OutletView=Ember.ContainerView.extend(Ember._Metamorph),e.registerHelper("outlet",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="view"),r.hash.currentViewBinding="view.context."+t,e.helpers.view.call(this,e.OutletView,r)})})}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({controllers:null,connectOutlet:function(r,n){var i,s,o,a,u;if("string"===Ember.typeOf(n)&&(i=r,r=n,n=arguments[2]),1===arguments.length?"object"===Ember.typeOf(r)&&(u=r,i=u.outletName,r=u.name,s=u.viewClass,a=u.controller,n=u.context):u={},i=i||"view",r){var c=e(this,"namespace"),l=e(this,"controllers"),h=r.charAt(0).toUpperCase()+r.substr(1)+"View";s=e(c,h),a=e(l,r+"Controller")}return a&&n&&t(a,"content",n),o=this.createOutletView(i,s),a&&t(o,"controller",a),t(this,i,o),o},connectControllers:function(){for(var r,n=e(this,"controllers"),i=Array.prototype.slice.apply(arguments),s=0,o=i.length;o>s;s++)r=i[s]+"Controller",t(this,r,e(n,r))},disconnectOutlet:function(e){e=e||"view",t(this,e,null)},createOutletView:function(e,t){return t.create()},urlForEvent:function(t,r){var n=e(this,"target");return n?n.urlForEvent(t,r):void 0}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.String.fmt);Ember.View.reopen({templateForName:function(r,n){if(r){var i=e(this,"templates"),s=e(i,r);if(!s)throw new Ember.Error(t('%@ - Unable to find %@ "%@".',[this,n,r]));return s}}})}()}(),"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.");
|
@@ -89,10 +89,10 @@ Ember.toString = function() { return "Ember"; };
|
|
89
89
|
/**
|
90
90
|
@property VERSION
|
91
91
|
@type String
|
92
|
-
@default '1.0.0-rc.6'
|
92
|
+
@default '1.0.0-rc.6.1'
|
93
93
|
@final
|
94
94
|
*/
|
95
|
-
Ember.VERSION = '1.0.0-rc.6';
|
95
|
+
Ember.VERSION = '1.0.0-rc.6.1';
|
96
96
|
|
97
97
|
/**
|
98
98
|
Standard environmental variables. You can define these in a global `ENV`
|
@@ -192,16 +192,19 @@ Ember.uuid = 0;
|
|
192
192
|
//
|
193
193
|
|
194
194
|
function consoleMethod(name) {
|
195
|
-
|
195
|
+
var console = imports.console,
|
196
|
+
method = typeof console === 'object' ? console[name] : null;
|
197
|
+
|
198
|
+
if (method) {
|
196
199
|
// Older IE doesn't support apply, but Chrome needs it
|
197
|
-
if (
|
200
|
+
if (method.apply) {
|
198
201
|
return function() {
|
199
|
-
|
202
|
+
method.apply(console, arguments);
|
200
203
|
};
|
201
204
|
} else {
|
202
205
|
return function() {
|
203
206
|
var message = Array.prototype.join.call(arguments, ', ');
|
204
|
-
|
207
|
+
method(message);
|
205
208
|
};
|
206
209
|
}
|
207
210
|
}
|
@@ -213,7 +216,7 @@ function assertPolyfill(test, message) {
|
|
213
216
|
// attempt to preserve the stack
|
214
217
|
throw new Error("assertion failed: " + message);
|
215
218
|
} catch(error) {
|
216
|
-
setTimeout(function(){
|
219
|
+
setTimeout(function() {
|
217
220
|
throw error;
|
218
221
|
}, 0);
|
219
222
|
}
|
@@ -295,7 +298,7 @@ Ember.merge = function(original, updates) {
|
|
295
298
|
Ember.isNone(undefined); // true
|
296
299
|
Ember.isNone(''); // false
|
297
300
|
Ember.isNone([]); // false
|
298
|
-
Ember.isNone(function(){}); // false
|
301
|
+
Ember.isNone(function() {}); // false
|
299
302
|
```
|
300
303
|
|
301
304
|
@method isNone
|
@@ -400,7 +403,7 @@ var canRedefineProperties, canDefinePropertyOnDOM;
|
|
400
403
|
// Catch IE8 where Object.defineProperty exists but only works on DOM elements
|
401
404
|
if (defineProperty) {
|
402
405
|
try {
|
403
|
-
defineProperty({}, 'a',{get:function(){}});
|
406
|
+
defineProperty({}, 'a',{get:function() {}});
|
404
407
|
} catch (e) {
|
405
408
|
defineProperty = null;
|
406
409
|
}
|
@@ -431,7 +434,7 @@ if (defineProperty) {
|
|
431
434
|
|
432
435
|
// This is for Safari 5.0, which supports Object.defineProperty, but not
|
433
436
|
// on DOM nodes.
|
434
|
-
canDefinePropertyOnDOM = (function(){
|
437
|
+
canDefinePropertyOnDOM = (function() {
|
435
438
|
try {
|
436
439
|
defineProperty(document.createElement('div'), 'definePropertyOnDOM', {});
|
437
440
|
return true;
|
@@ -443,7 +446,7 @@ if (defineProperty) {
|
|
443
446
|
if (!canRedefineProperties) {
|
444
447
|
defineProperty = null;
|
445
448
|
} else if (!canDefinePropertyOnDOM) {
|
446
|
-
defineProperty = function(obj, keyName, desc){
|
449
|
+
defineProperty = function(obj, keyName, desc) {
|
447
450
|
var isNode;
|
448
451
|
|
449
452
|
if (typeof Node === "object") {
|
@@ -1053,7 +1056,7 @@ if (needsFinallyFix) {
|
|
1053
1056
|
} finally {
|
1054
1057
|
try {
|
1055
1058
|
finalResult = finalizer.call(binding);
|
1056
|
-
} catch (e){
|
1059
|
+
} catch (e) {
|
1057
1060
|
finalError = e;
|
1058
1061
|
}
|
1059
1062
|
}
|
@@ -1105,7 +1108,7 @@ if (needsFinallyFix) {
|
|
1105
1108
|
} finally {
|
1106
1109
|
try {
|
1107
1110
|
finalResult = finalizer.call(binding);
|
1108
|
-
} catch (e){
|
1111
|
+
} catch (e) {
|
1109
1112
|
finalError = e;
|
1110
1113
|
}
|
1111
1114
|
}
|
@@ -1304,7 +1307,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1304
1307
|
|
1305
1308
|
var beforeValues = [], listener, i, l;
|
1306
1309
|
|
1307
|
-
function tryable(){
|
1310
|
+
function tryable() {
|
1308
1311
|
for (i=0, l=listeners.length; i<l; i++) {
|
1309
1312
|
listener = listeners[i];
|
1310
1313
|
beforeValues[i] = listener.before(name, time(), payload);
|
@@ -1313,7 +1316,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1313
1316
|
return callback.call(binding);
|
1314
1317
|
}
|
1315
1318
|
|
1316
|
-
function catchable(e){
|
1319
|
+
function catchable(e) {
|
1317
1320
|
payload = payload || {};
|
1318
1321
|
payload.exception = e;
|
1319
1322
|
}
|
@@ -1831,14 +1834,10 @@ function suspendListener(obj, eventName, target, method, callback) {
|
|
1831
1834
|
/**
|
1832
1835
|
@private
|
1833
1836
|
|
1834
|
-
|
1835
|
-
|
1836
|
-
This should only be used by the target of the event listener
|
1837
|
-
when it is taking an action that would cause the event, e.g.
|
1838
|
-
an object might suspend its property change listener while it is
|
1839
|
-
setting that property.
|
1837
|
+
Suspends multiple listeners during a callback.
|
1840
1838
|
|
1841
|
-
|
1839
|
+
|
1840
|
+
@method suspendListeners
|
1842
1841
|
@for Ember
|
1843
1842
|
@param obj
|
1844
1843
|
@param {Array} eventName Array of event names
|
@@ -1900,12 +1899,17 @@ function watchedEvents(obj) {
|
|
1900
1899
|
}
|
1901
1900
|
|
1902
1901
|
/**
|
1902
|
+
Send an event. The execution of suspended listeners
|
1903
|
+
is skipped, and once listeners are removed. A listener without
|
1904
|
+
a target is executed on the passed object. If an array of actions
|
1905
|
+
is not passed, the actions stored on the passed object are invoked.
|
1906
|
+
|
1903
1907
|
@method sendEvent
|
1904
1908
|
@for Ember
|
1905
1909
|
@param obj
|
1906
1910
|
@param {String} eventName
|
1907
|
-
@param {Array} params
|
1908
|
-
@param {Array} actions
|
1911
|
+
@param {Array} params Optional parameters for each listener.
|
1912
|
+
@param {Array} actions Optional array of actions (listeners).
|
1909
1913
|
@return true
|
1910
1914
|
*/
|
1911
1915
|
function sendEvent(obj, eventName, params, actions) {
|
@@ -2239,7 +2243,7 @@ var endPropertyChanges = Ember.endPropertyChanges = function() {
|
|
2239
2243
|
@param {Function} callback
|
2240
2244
|
@param [binding]
|
2241
2245
|
*/
|
2242
|
-
Ember.changeProperties = function(cb, binding){
|
2246
|
+
Ember.changeProperties = function(cb, binding) {
|
2243
2247
|
beginPropertyChanges();
|
2244
2248
|
tryFinally(cb, endPropertyChanges, binding);
|
2245
2249
|
};
|
@@ -2268,6 +2272,7 @@ var notifyObservers = function(obj, keyName) {
|
|
2268
2272
|
sendEvent(obj, eventName, [obj, keyName]);
|
2269
2273
|
}
|
2270
2274
|
};
|
2275
|
+
|
2271
2276
|
})();
|
2272
2277
|
|
2273
2278
|
|
@@ -2442,8 +2447,7 @@ Ember.trySetPath = Ember.deprecateFunc('trySetPath has been renamed to trySet',
|
|
2442
2447
|
Map is mocked out to look like an Ember object, so you can do
|
2443
2448
|
`Ember.Map.create()` for symmetry with other Ember classes.
|
2444
2449
|
*/
|
2445
|
-
var
|
2446
|
-
set = Ember.set,
|
2450
|
+
var set = Ember.set,
|
2447
2451
|
guidFor = Ember.guidFor,
|
2448
2452
|
indexOf = Ember.ArrayPolyfills.indexOf;
|
2449
2453
|
|
@@ -2969,13 +2973,14 @@ var changeProperties = Ember.changeProperties,
|
|
2969
2973
|
@return self
|
2970
2974
|
*/
|
2971
2975
|
Ember.setProperties = function(self, hash) {
|
2972
|
-
changeProperties(function(){
|
2976
|
+
changeProperties(function() {
|
2973
2977
|
for(var prop in hash) {
|
2974
2978
|
if (hash.hasOwnProperty(prop)) { set(self, prop, hash[prop]); }
|
2975
2979
|
}
|
2976
2980
|
});
|
2977
2981
|
return self;
|
2978
2982
|
};
|
2983
|
+
|
2979
2984
|
})();
|
2980
2985
|
|
2981
2986
|
|
@@ -3831,7 +3836,7 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3831
3836
|
oldSuspended = this._suspended,
|
3832
3837
|
hadCachedValue = false,
|
3833
3838
|
cache = meta.cache,
|
3834
|
-
cachedValue, ret;
|
3839
|
+
funcArgLength, cachedValue, ret;
|
3835
3840
|
|
3836
3841
|
if (this._readOnly) {
|
3837
3842
|
throw new Error('Cannot Set: ' + keyName + ' on: ' + obj.toString() );
|
@@ -3846,17 +3851,18 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3846
3851
|
hadCachedValue = true;
|
3847
3852
|
}
|
3848
3853
|
|
3849
|
-
// Check if the CP has been wrapped
|
3850
|
-
|
3854
|
+
// Check if the CP has been wrapped. If if has, use the
|
3855
|
+
// length from the wrapped function.
|
3856
|
+
funcArgLength = (func.wrappedFunction ? func.wrappedFunction.length : func.length);
|
3851
3857
|
|
3852
3858
|
// For backwards-compatibility with computed properties
|
3853
3859
|
// that check for arguments.length === 2 to determine if
|
3854
3860
|
// they are being get or set, only pass the old cached
|
3855
3861
|
// value if the computed property opts into a third
|
3856
3862
|
// argument.
|
3857
|
-
if (
|
3863
|
+
if (funcArgLength === 3) {
|
3858
3864
|
ret = func.call(obj, keyName, value, cachedValue);
|
3859
|
-
} else if (
|
3865
|
+
} else if (funcArgLength === 2) {
|
3860
3866
|
ret = func.call(obj, keyName, value);
|
3861
3867
|
} else {
|
3862
3868
|
Ember.defineProperty(obj, keyName, null, cachedValue);
|
@@ -3930,7 +3936,7 @@ Ember.computed = function(func) {
|
|
3930
3936
|
func = a_slice.call(arguments, -1)[0];
|
3931
3937
|
}
|
3932
3938
|
|
3933
|
-
if (
|
3939
|
+
if (typeof func !== "function") {
|
3934
3940
|
throw new Error("Computed Property declared without a property function");
|
3935
3941
|
}
|
3936
3942
|
|
@@ -4020,7 +4026,7 @@ registerComputed('notEmpty', function(dependentKey) {
|
|
4020
4026
|
@for Ember
|
4021
4027
|
@param {String} dependentKey
|
4022
4028
|
@return {Ember.ComputedProperty} computed property which
|
4023
|
-
|
4029
|
+
returns true if original value for property is null or undefined.
|
4024
4030
|
*/
|
4025
4031
|
registerComputed('none', function(dependentKey) {
|
4026
4032
|
return Ember.isNone(get(this, dependentKey));
|
@@ -4191,6 +4197,23 @@ registerComputedWithProperties('map', function(properties) {
|
|
4191
4197
|
});
|
4192
4198
|
|
4193
4199
|
/**
|
4200
|
+
Creates a new property that is an alias for another property
|
4201
|
+
on an object. Calls to `get` or `set` this property behave as
|
4202
|
+
though they were called on the original property.
|
4203
|
+
|
4204
|
+
```javascript
|
4205
|
+
Person = Ember.Object.extend({
|
4206
|
+
name: 'Alex Matchneer',
|
4207
|
+
nomen: Ember.computed.alias('name')
|
4208
|
+
});
|
4209
|
+
|
4210
|
+
alex = Person.create();
|
4211
|
+
alex.get('nomen'); // 'Alex Matchneer'
|
4212
|
+
alex.get('name'); // 'Alex Matchneer'
|
4213
|
+
|
4214
|
+
alex.set('nomen', '@machty');
|
4215
|
+
alex.get('name'); // '@machty'
|
4216
|
+
```
|
4194
4217
|
@method computed.alias
|
4195
4218
|
@for Ember
|
4196
4219
|
@param {String} dependentKey
|
@@ -4198,7 +4221,7 @@ registerComputedWithProperties('map', function(properties) {
|
|
4198
4221
|
alias to the original value for property.
|
4199
4222
|
*/
|
4200
4223
|
Ember.computed.alias = function(dependentKey) {
|
4201
|
-
return Ember.computed(dependentKey, function(key, value){
|
4224
|
+
return Ember.computed(dependentKey, function(key, value) {
|
4202
4225
|
if (arguments.length > 1) {
|
4203
4226
|
set(this, dependentKey, value);
|
4204
4227
|
return value;
|
@@ -4375,6 +4398,220 @@ Ember.removeBeforeObserver = function(obj, path, target, method) {
|
|
4375
4398
|
|
4376
4399
|
|
4377
4400
|
(function() {
|
4401
|
+
define("backburner/queue",
|
4402
|
+
["exports"],
|
4403
|
+
function(__exports__) {
|
4404
|
+
"use strict";
|
4405
|
+
function Queue(daq, name, options) {
|
4406
|
+
this.daq = daq;
|
4407
|
+
this.name = name;
|
4408
|
+
this.options = options;
|
4409
|
+
this._queue = [];
|
4410
|
+
}
|
4411
|
+
|
4412
|
+
Queue.prototype = {
|
4413
|
+
daq: null,
|
4414
|
+
name: null,
|
4415
|
+
options: null,
|
4416
|
+
_queue: null,
|
4417
|
+
|
4418
|
+
push: function(target, method, args, stack) {
|
4419
|
+
var queue = this._queue;
|
4420
|
+
queue.push(target, method, args, stack);
|
4421
|
+
return {queue: this, target: target, method: method};
|
4422
|
+
},
|
4423
|
+
|
4424
|
+
pushUnique: function(target, method, args, stack) {
|
4425
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4426
|
+
|
4427
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4428
|
+
currentTarget = queue[i];
|
4429
|
+
currentMethod = queue[i+1];
|
4430
|
+
|
4431
|
+
if (currentTarget === target && currentMethod === method) {
|
4432
|
+
queue[i+2] = args; // replace args
|
4433
|
+
queue[i+3] = stack; // replace stack
|
4434
|
+
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4435
|
+
}
|
4436
|
+
}
|
4437
|
+
|
4438
|
+
this._queue.push(target, method, args, stack);
|
4439
|
+
return {queue: this, target: target, method: method};
|
4440
|
+
},
|
4441
|
+
|
4442
|
+
// TODO: remove me, only being used for Ember.run.sync
|
4443
|
+
flush: function() {
|
4444
|
+
var queue = this._queue,
|
4445
|
+
options = this.options,
|
4446
|
+
before = options && options.before,
|
4447
|
+
after = options && options.after,
|
4448
|
+
target, method, args, stack, i, l = queue.length;
|
4449
|
+
|
4450
|
+
if (l && before) { before(); }
|
4451
|
+
for (i = 0; i < l; i += 4) {
|
4452
|
+
target = queue[i];
|
4453
|
+
method = queue[i+1];
|
4454
|
+
args = queue[i+2];
|
4455
|
+
stack = queue[i+3]; // Debugging assistance
|
4456
|
+
|
4457
|
+
// TODO: error handling
|
4458
|
+
if (args && args.length > 0) {
|
4459
|
+
method.apply(target, args);
|
4460
|
+
} else {
|
4461
|
+
method.call(target);
|
4462
|
+
}
|
4463
|
+
}
|
4464
|
+
if (l && after) { after(); }
|
4465
|
+
|
4466
|
+
// check if new items have been added
|
4467
|
+
if (queue.length > l) {
|
4468
|
+
this._queue = queue.slice(l);
|
4469
|
+
this.flush();
|
4470
|
+
} else {
|
4471
|
+
this._queue.length = 0;
|
4472
|
+
}
|
4473
|
+
},
|
4474
|
+
|
4475
|
+
cancel: function(actionToCancel) {
|
4476
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4477
|
+
|
4478
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4479
|
+
currentTarget = queue[i];
|
4480
|
+
currentMethod = queue[i+1];
|
4481
|
+
|
4482
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4483
|
+
queue.splice(i, 4);
|
4484
|
+
return true;
|
4485
|
+
}
|
4486
|
+
}
|
4487
|
+
|
4488
|
+
// if not found in current queue
|
4489
|
+
// could be in the queue that is being flushed
|
4490
|
+
queue = this._queueBeingFlushed;
|
4491
|
+
if (!queue) {
|
4492
|
+
return;
|
4493
|
+
}
|
4494
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4495
|
+
currentTarget = queue[i];
|
4496
|
+
currentMethod = queue[i+1];
|
4497
|
+
|
4498
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4499
|
+
// don't mess with array during flush
|
4500
|
+
// just nullify the method
|
4501
|
+
queue[i+1] = null;
|
4502
|
+
return true;
|
4503
|
+
}
|
4504
|
+
}
|
4505
|
+
}
|
4506
|
+
};
|
4507
|
+
|
4508
|
+
|
4509
|
+
__exports__.Queue = Queue;
|
4510
|
+
});
|
4511
|
+
|
4512
|
+
define("backburner/deferred_action_queues",
|
4513
|
+
["backburner/queue","exports"],
|
4514
|
+
function(__dependency1__, __exports__) {
|
4515
|
+
"use strict";
|
4516
|
+
var Queue = __dependency1__.Queue;
|
4517
|
+
|
4518
|
+
function DeferredActionQueues(queueNames, options) {
|
4519
|
+
var queues = this.queues = {};
|
4520
|
+
this.queueNames = queueNames = queueNames || [];
|
4521
|
+
|
4522
|
+
var queueName;
|
4523
|
+
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4524
|
+
queueName = queueNames[i];
|
4525
|
+
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4526
|
+
}
|
4527
|
+
}
|
4528
|
+
|
4529
|
+
DeferredActionQueues.prototype = {
|
4530
|
+
queueNames: null,
|
4531
|
+
queues: null,
|
4532
|
+
|
4533
|
+
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4534
|
+
var queues = this.queues,
|
4535
|
+
queue = queues[queueName];
|
4536
|
+
|
4537
|
+
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4538
|
+
|
4539
|
+
if (onceFlag) {
|
4540
|
+
return queue.pushUnique(target, method, args, stack);
|
4541
|
+
} else {
|
4542
|
+
return queue.push(target, method, args, stack);
|
4543
|
+
}
|
4544
|
+
},
|
4545
|
+
|
4546
|
+
flush: function() {
|
4547
|
+
var queues = this.queues,
|
4548
|
+
queueNames = this.queueNames,
|
4549
|
+
queueName, queue, queueItems, priorQueueNameIndex,
|
4550
|
+
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4551
|
+
|
4552
|
+
outerloop:
|
4553
|
+
while (queueNameIndex < numberOfQueues) {
|
4554
|
+
queueName = queueNames[queueNameIndex];
|
4555
|
+
queue = queues[queueName];
|
4556
|
+
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4557
|
+
queue._queue = [];
|
4558
|
+
|
4559
|
+
var options = queue.options,
|
4560
|
+
before = options && options.before,
|
4561
|
+
after = options && options.after,
|
4562
|
+
target, method, args, stack,
|
4563
|
+
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4564
|
+
|
4565
|
+
if (numberOfQueueItems && before) { before(); }
|
4566
|
+
while (queueIndex < numberOfQueueItems) {
|
4567
|
+
target = queueItems[queueIndex];
|
4568
|
+
method = queueItems[queueIndex+1];
|
4569
|
+
args = queueItems[queueIndex+2];
|
4570
|
+
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4571
|
+
|
4572
|
+
if (typeof method === 'string') { method = target[method]; }
|
4573
|
+
|
4574
|
+
// method could have been nullified / canceled during flush
|
4575
|
+
if (method) {
|
4576
|
+
// TODO: error handling
|
4577
|
+
if (args && args.length > 0) {
|
4578
|
+
method.apply(target, args);
|
4579
|
+
} else {
|
4580
|
+
method.call(target);
|
4581
|
+
}
|
4582
|
+
}
|
4583
|
+
|
4584
|
+
queueIndex += 4;
|
4585
|
+
}
|
4586
|
+
queue._queueBeingFlushed = null;
|
4587
|
+
if (numberOfQueueItems && after) { after(); }
|
4588
|
+
|
4589
|
+
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4590
|
+
queueNameIndex = priorQueueNameIndex;
|
4591
|
+
continue outerloop;
|
4592
|
+
}
|
4593
|
+
|
4594
|
+
queueNameIndex++;
|
4595
|
+
}
|
4596
|
+
}
|
4597
|
+
};
|
4598
|
+
|
4599
|
+
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4600
|
+
var queueName, queue;
|
4601
|
+
|
4602
|
+
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4603
|
+
queueName = daq.queueNames[i];
|
4604
|
+
queue = daq.queues[queueName];
|
4605
|
+
if (queue._queue.length) { return i; }
|
4606
|
+
}
|
4607
|
+
|
4608
|
+
return -1;
|
4609
|
+
}
|
4610
|
+
|
4611
|
+
|
4612
|
+
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4613
|
+
});
|
4614
|
+
|
4378
4615
|
define("backburner",
|
4379
4616
|
["backburner/deferred_action_queues","exports"],
|
4380
4617
|
function(__dependency1__, __exports__) {
|
@@ -4383,9 +4620,11 @@ define("backburner",
|
|
4383
4620
|
|
4384
4621
|
var slice = [].slice,
|
4385
4622
|
pop = [].pop,
|
4623
|
+
throttlers = [],
|
4386
4624
|
debouncees = [],
|
4387
4625
|
timers = [],
|
4388
|
-
autorun, laterTimer, laterTimerExpiresAt
|
4626
|
+
autorun, laterTimer, laterTimerExpiresAt,
|
4627
|
+
global = this;
|
4389
4628
|
|
4390
4629
|
function Backburner(queueNames, options) {
|
4391
4630
|
this.queueNames = queueNames;
|
@@ -4542,7 +4781,7 @@ define("backburner",
|
|
4542
4781
|
clearTimeout(laterTimer);
|
4543
4782
|
laterTimer = null;
|
4544
4783
|
}
|
4545
|
-
laterTimer =
|
4784
|
+
laterTimer = global.setTimeout(function() {
|
4546
4785
|
executeTimers(self);
|
4547
4786
|
laterTimer = null;
|
4548
4787
|
laterTimerExpiresAt = null;
|
@@ -4552,53 +4791,101 @@ define("backburner",
|
|
4552
4791
|
return fn;
|
4553
4792
|
},
|
4554
4793
|
|
4555
|
-
|
4794
|
+
throttle: function(target, method /* , args, wait */) {
|
4556
4795
|
var self = this,
|
4557
4796
|
args = arguments,
|
4558
4797
|
wait = pop.call(args),
|
4559
|
-
|
4798
|
+
throttler;
|
4560
4799
|
|
4561
|
-
for (var i = 0, l =
|
4562
|
-
|
4563
|
-
if (
|
4800
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4801
|
+
throttler = throttlers[i];
|
4802
|
+
if (throttler[0] === target && throttler[1] === method) { return; } // do nothing
|
4564
4803
|
}
|
4565
4804
|
|
4566
|
-
var timer =
|
4805
|
+
var timer = global.setTimeout(function() {
|
4567
4806
|
self.run.apply(self, args);
|
4568
4807
|
|
4569
|
-
// remove
|
4808
|
+
// remove throttler
|
4570
4809
|
var index = -1;
|
4571
|
-
for (var i = 0, l =
|
4572
|
-
|
4573
|
-
if (
|
4810
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4811
|
+
throttler = throttlers[i];
|
4812
|
+
if (throttler[0] === target && throttler[1] === method) {
|
4574
4813
|
index = i;
|
4575
4814
|
break;
|
4576
4815
|
}
|
4577
4816
|
}
|
4578
4817
|
|
4579
|
-
if (index > -1) {
|
4818
|
+
if (index > -1) { throttlers.splice(index, 1); }
|
4580
4819
|
}, wait);
|
4581
4820
|
|
4582
|
-
|
4821
|
+
throttlers.push([target, method, timer]);
|
4583
4822
|
},
|
4584
4823
|
|
4585
|
-
|
4586
|
-
|
4587
|
-
|
4588
|
-
|
4589
|
-
|
4824
|
+
debounce: function(target, method /* , args, wait, [immediate] */) {
|
4825
|
+
var self = this,
|
4826
|
+
args = arguments,
|
4827
|
+
immediate = pop.call(args),
|
4828
|
+
wait,
|
4829
|
+
index,
|
4830
|
+
debouncee;
|
4590
4831
|
|
4591
|
-
if (
|
4592
|
-
|
4593
|
-
|
4832
|
+
if (typeof immediate === "number") {
|
4833
|
+
wait = immediate;
|
4834
|
+
immediate = false;
|
4835
|
+
} else {
|
4836
|
+
wait = pop.call(args);
|
4594
4837
|
}
|
4595
|
-
timers = [];
|
4596
4838
|
|
4597
|
-
|
4598
|
-
|
4599
|
-
|
4839
|
+
// Remove debouncee
|
4840
|
+
index = findDebouncee(target, method);
|
4841
|
+
|
4842
|
+
if (index !== -1) {
|
4843
|
+
debouncee = debouncees[index];
|
4844
|
+
debouncees.splice(index, 1);
|
4845
|
+
clearTimeout(debouncee[2]);
|
4600
4846
|
}
|
4601
|
-
|
4847
|
+
|
4848
|
+
var timer = window.setTimeout(function() {
|
4849
|
+
if (!immediate) {
|
4850
|
+
self.run.apply(self, args);
|
4851
|
+
}
|
4852
|
+
index = findDebouncee(target, method);
|
4853
|
+
if (index) {
|
4854
|
+
debouncees.splice(index, 1);
|
4855
|
+
}
|
4856
|
+
}, wait);
|
4857
|
+
|
4858
|
+
if (immediate && index === -1) {
|
4859
|
+
self.run.apply(self, args);
|
4860
|
+
}
|
4861
|
+
|
4862
|
+
debouncees.push([target, method, timer]);
|
4863
|
+
},
|
4864
|
+
|
4865
|
+
cancelTimers: function() {
|
4866
|
+
var i, len;
|
4867
|
+
|
4868
|
+
for (i = 0, len = throttlers.length; i < len; i++) {
|
4869
|
+
clearTimeout(throttlers[i][2]);
|
4870
|
+
}
|
4871
|
+
throttlers = [];
|
4872
|
+
|
4873
|
+
for (i = 0, len = debouncees.length; i < len; i++) {
|
4874
|
+
clearTimeout(debouncees[i][2]);
|
4875
|
+
}
|
4876
|
+
debouncees = [];
|
4877
|
+
|
4878
|
+
if (laterTimer) {
|
4879
|
+
clearTimeout(laterTimer);
|
4880
|
+
laterTimer = null;
|
4881
|
+
}
|
4882
|
+
timers = [];
|
4883
|
+
|
4884
|
+
if (autorun) {
|
4885
|
+
clearTimeout(autorun);
|
4886
|
+
autorun = null;
|
4887
|
+
}
|
4888
|
+
},
|
4602
4889
|
|
4603
4890
|
hasTimers: function() {
|
4604
4891
|
return !!timers.length || autorun;
|
@@ -4626,7 +4913,7 @@ define("backburner",
|
|
4626
4913
|
|
4627
4914
|
function createAutorun(backburner) {
|
4628
4915
|
backburner.begin();
|
4629
|
-
autorun =
|
4916
|
+
autorun = global.setTimeout(function() {
|
4630
4917
|
backburner.end();
|
4631
4918
|
autorun = null;
|
4632
4919
|
});
|
@@ -4651,7 +4938,7 @@ define("backburner",
|
|
4651
4938
|
});
|
4652
4939
|
|
4653
4940
|
if (timers.length) {
|
4654
|
-
laterTimer =
|
4941
|
+
laterTimer = global.setTimeout(function() {
|
4655
4942
|
executeTimers(self);
|
4656
4943
|
laterTimer = null;
|
4657
4944
|
laterTimerExpiresAt = null;
|
@@ -4660,222 +4947,23 @@ define("backburner",
|
|
4660
4947
|
}
|
4661
4948
|
}
|
4662
4949
|
|
4950
|
+
function findDebouncee(target, method) {
|
4951
|
+
var debouncee,
|
4952
|
+
index = -1;
|
4663
4953
|
|
4664
|
-
|
4665
|
-
|
4666
|
-
|
4667
|
-
|
4668
|
-
|
4669
|
-
function(__dependency1__, __exports__) {
|
4670
|
-
"use strict";
|
4671
|
-
var Queue = __dependency1__.Queue;
|
4672
|
-
|
4673
|
-
function DeferredActionQueues(queueNames, options) {
|
4674
|
-
var queues = this.queues = {};
|
4675
|
-
this.queueNames = queueNames = queueNames || [];
|
4676
|
-
|
4677
|
-
var queueName;
|
4678
|
-
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4679
|
-
queueName = queueNames[i];
|
4680
|
-
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4681
|
-
}
|
4682
|
-
}
|
4683
|
-
|
4684
|
-
DeferredActionQueues.prototype = {
|
4685
|
-
queueNames: null,
|
4686
|
-
queues: null,
|
4687
|
-
|
4688
|
-
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4689
|
-
var queues = this.queues,
|
4690
|
-
queue = queues[queueName];
|
4691
|
-
|
4692
|
-
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4693
|
-
|
4694
|
-
if (onceFlag) {
|
4695
|
-
return queue.pushUnique(target, method, args, stack);
|
4696
|
-
} else {
|
4697
|
-
return queue.push(target, method, args, stack);
|
4698
|
-
}
|
4699
|
-
},
|
4700
|
-
|
4701
|
-
flush: function() {
|
4702
|
-
var queues = this.queues,
|
4703
|
-
queueNames = this.queueNames,
|
4704
|
-
queueName, queue, queueItems, priorQueueNameIndex,
|
4705
|
-
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4706
|
-
|
4707
|
-
outerloop:
|
4708
|
-
while (queueNameIndex < numberOfQueues) {
|
4709
|
-
queueName = queueNames[queueNameIndex];
|
4710
|
-
queue = queues[queueName];
|
4711
|
-
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4712
|
-
queue._queue = [];
|
4713
|
-
|
4714
|
-
var options = queue.options,
|
4715
|
-
before = options && options.before,
|
4716
|
-
after = options && options.after,
|
4717
|
-
target, method, args, stack,
|
4718
|
-
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4719
|
-
|
4720
|
-
if (numberOfQueueItems && before) { before(); }
|
4721
|
-
while (queueIndex < numberOfQueueItems) {
|
4722
|
-
target = queueItems[queueIndex];
|
4723
|
-
method = queueItems[queueIndex+1];
|
4724
|
-
args = queueItems[queueIndex+2];
|
4725
|
-
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4726
|
-
|
4727
|
-
if (typeof method === 'string') { method = target[method]; }
|
4728
|
-
|
4729
|
-
// method could have been nullified / canceled during flush
|
4730
|
-
if (method) {
|
4731
|
-
// TODO: error handling
|
4732
|
-
if (args && args.length > 0) {
|
4733
|
-
method.apply(target, args);
|
4734
|
-
} else {
|
4735
|
-
method.call(target);
|
4736
|
-
}
|
4737
|
-
}
|
4738
|
-
|
4739
|
-
queueIndex += 4;
|
4740
|
-
}
|
4741
|
-
queue._queueBeingFlushed = null;
|
4742
|
-
if (numberOfQueueItems && after) { after(); }
|
4743
|
-
|
4744
|
-
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4745
|
-
queueNameIndex = priorQueueNameIndex;
|
4746
|
-
continue outerloop;
|
4747
|
-
}
|
4748
|
-
|
4749
|
-
queueNameIndex++;
|
4954
|
+
for (var i = 0, l = debouncees.length; i < l; i++) {
|
4955
|
+
debouncee = debouncees[i];
|
4956
|
+
if (debouncee[0] === target && debouncee[1] === method) {
|
4957
|
+
index = i;
|
4958
|
+
break;
|
4750
4959
|
}
|
4751
4960
|
}
|
4752
|
-
};
|
4753
|
-
|
4754
|
-
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4755
|
-
var queueName, queue;
|
4756
|
-
|
4757
|
-
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4758
|
-
queueName = daq.queueNames[i];
|
4759
|
-
queue = daq.queues[queueName];
|
4760
|
-
if (queue._queue.length) { return i; }
|
4761
|
-
}
|
4762
|
-
|
4763
|
-
return -1;
|
4764
|
-
}
|
4765
4961
|
|
4766
|
-
|
4767
|
-
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4768
|
-
});
|
4769
|
-
|
4770
|
-
define("backburner/queue",
|
4771
|
-
["exports"],
|
4772
|
-
function(__exports__) {
|
4773
|
-
"use strict";
|
4774
|
-
function Queue(daq, name, options) {
|
4775
|
-
this.daq = daq;
|
4776
|
-
this.name = name;
|
4777
|
-
this.options = options;
|
4778
|
-
this._queue = [];
|
4962
|
+
return index;
|
4779
4963
|
}
|
4780
4964
|
|
4781
|
-
Queue.prototype = {
|
4782
|
-
daq: null,
|
4783
|
-
name: null,
|
4784
|
-
options: null,
|
4785
|
-
_queue: null,
|
4786
4965
|
|
4787
|
-
|
4788
|
-
var queue = this._queue;
|
4789
|
-
queue.push(target, method, args, stack);
|
4790
|
-
return {queue: this, target: target, method: method};
|
4791
|
-
},
|
4792
|
-
|
4793
|
-
pushUnique: function(target, method, args, stack) {
|
4794
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4795
|
-
|
4796
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4797
|
-
currentTarget = queue[i];
|
4798
|
-
currentMethod = queue[i+1];
|
4799
|
-
|
4800
|
-
if (currentTarget === target && currentMethod === method) {
|
4801
|
-
queue[i+2] = args; // replace args
|
4802
|
-
queue[i+3] = stack; // replace stack
|
4803
|
-
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4804
|
-
}
|
4805
|
-
}
|
4806
|
-
|
4807
|
-
this._queue.push(target, method, args, stack);
|
4808
|
-
return {queue: this, target: target, method: method};
|
4809
|
-
},
|
4810
|
-
|
4811
|
-
// TODO: remove me, only being used for Ember.run.sync
|
4812
|
-
flush: function() {
|
4813
|
-
var queue = this._queue,
|
4814
|
-
options = this.options,
|
4815
|
-
before = options && options.before,
|
4816
|
-
after = options && options.after,
|
4817
|
-
target, method, args, stack, i, l = queue.length;
|
4818
|
-
|
4819
|
-
if (l && before) { before(); }
|
4820
|
-
for (i = 0; i < l; i += 4) {
|
4821
|
-
target = queue[i];
|
4822
|
-
method = queue[i+1];
|
4823
|
-
args = queue[i+2];
|
4824
|
-
stack = queue[i+3]; // Debugging assistance
|
4825
|
-
|
4826
|
-
// TODO: error handling
|
4827
|
-
if (args && args.length > 0) {
|
4828
|
-
method.apply(target, args);
|
4829
|
-
} else {
|
4830
|
-
method.call(target);
|
4831
|
-
}
|
4832
|
-
}
|
4833
|
-
if (l && after) { after(); }
|
4834
|
-
|
4835
|
-
// check if new items have been added
|
4836
|
-
if (queue.length > l) {
|
4837
|
-
this._queue = queue.slice(l);
|
4838
|
-
this.flush();
|
4839
|
-
} else {
|
4840
|
-
this._queue.length = 0;
|
4841
|
-
}
|
4842
|
-
},
|
4843
|
-
|
4844
|
-
cancel: function(actionToCancel) {
|
4845
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4846
|
-
|
4847
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4848
|
-
currentTarget = queue[i];
|
4849
|
-
currentMethod = queue[i+1];
|
4850
|
-
|
4851
|
-
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4852
|
-
queue.splice(i, 4);
|
4853
|
-
return true;
|
4854
|
-
}
|
4855
|
-
}
|
4856
|
-
|
4857
|
-
// if not found in current queue
|
4858
|
-
// could be in the queue that is being flushed
|
4859
|
-
queue = this._queueBeingFlushed;
|
4860
|
-
if (!queue) {
|
4861
|
-
return;
|
4862
|
-
}
|
4863
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4864
|
-
currentTarget = queue[i];
|
4865
|
-
currentMethod = queue[i+1];
|
4866
|
-
|
4867
|
-
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4868
|
-
// don't mess with array during flush
|
4869
|
-
// just nullify the method
|
4870
|
-
queue[i+1] = null;
|
4871
|
-
return true;
|
4872
|
-
}
|
4873
|
-
}
|
4874
|
-
}
|
4875
|
-
};
|
4876
|
-
|
4877
|
-
|
4878
|
-
__exports__.Queue = Queue;
|
4966
|
+
__exports__.Backburner = Backburner;
|
4879
4967
|
});
|
4880
4968
|
})();
|
4881
4969
|
|
@@ -4917,7 +5005,7 @@ var Backburner = requireModule('backburner').Backburner,
|
|
4917
5005
|
call.
|
4918
5006
|
|
4919
5007
|
```javascript
|
4920
|
-
Ember.run(function(){
|
5008
|
+
Ember.run(function() {
|
4921
5009
|
// code to be execute within a RunLoop
|
4922
5010
|
});
|
4923
5011
|
```
|
@@ -4960,7 +5048,7 @@ Ember.run = function(target, method) {
|
|
4960
5048
|
If invoked when not within a run loop:
|
4961
5049
|
|
4962
5050
|
```javascript
|
4963
|
-
Ember.run.join(function(){
|
5051
|
+
Ember.run.join(function() {
|
4964
5052
|
// creates a new run-loop
|
4965
5053
|
});
|
4966
5054
|
```
|
@@ -4968,9 +5056,9 @@ Ember.run = function(target, method) {
|
|
4968
5056
|
Alternatively, if called within an existing run loop:
|
4969
5057
|
|
4970
5058
|
```javascript
|
4971
|
-
Ember.run(function(){
|
5059
|
+
Ember.run(function() {
|
4972
5060
|
// creates a new run-loop
|
4973
|
-
Ember.run.join(function(){
|
5061
|
+
Ember.run.join(function() {
|
4974
5062
|
// joins with the existing run-loop, and queues for invocation on
|
4975
5063
|
// the existing run-loops action queue.
|
4976
5064
|
});
|
@@ -5063,12 +5151,12 @@ Ember.run.end = function() {
|
|
5063
5151
|
the `Ember.run.queues` property.
|
5064
5152
|
|
5065
5153
|
```javascript
|
5066
|
-
Ember.run.schedule('sync', this, function(){
|
5154
|
+
Ember.run.schedule('sync', this, function() {
|
5067
5155
|
// this will be executed in the first RunLoop queue, when bindings are synced
|
5068
5156
|
console.log("scheduled on sync queue");
|
5069
5157
|
});
|
5070
5158
|
|
5071
|
-
Ember.run.schedule('actions', this, function(){
|
5159
|
+
Ember.run.schedule('actions', this, function() {
|
5072
5160
|
// this will be executed in the 'actions' queue, after bindings have synced.
|
5073
5161
|
console.log("scheduled on actions queue");
|
5074
5162
|
});
|
@@ -5136,7 +5224,7 @@ Ember.run.sync = function() {
|
|
5136
5224
|
together, which is often more efficient than using a real setTimeout.
|
5137
5225
|
|
5138
5226
|
```javascript
|
5139
|
-
Ember.run.later(myContext, function(){
|
5227
|
+
Ember.run.later(myContext, function() {
|
5140
5228
|
// code here will execute within a RunLoop in about 500ms with this == myContext
|
5141
5229
|
}, 500);
|
5142
5230
|
```
|
@@ -5184,11 +5272,11 @@ Ember.run.once = function(target, method) {
|
|
5184
5272
|
calls.
|
5185
5273
|
|
5186
5274
|
```javascript
|
5187
|
-
Ember.run(function(){
|
5275
|
+
Ember.run(function() {
|
5188
5276
|
var sayHi = function() { console.log('hi'); }
|
5189
5277
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5190
5278
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5191
|
-
//
|
5279
|
+
// sayHi will only be executed once, in the afterRender queue of the RunLoop
|
5192
5280
|
});
|
5193
5281
|
```
|
5194
5282
|
|
@@ -5229,7 +5317,7 @@ Ember.run.scheduleOnce = function(queue, target, method) {
|
|
5229
5317
|
`Ember.run.later` with a wait time of 1ms.
|
5230
5318
|
|
5231
5319
|
```javascript
|
5232
|
-
Ember.run.next(myContext, function(){
|
5320
|
+
Ember.run.next(myContext, function() {
|
5233
5321
|
// code to be executed in the next run loop, which will be scheduled after the current one
|
5234
5322
|
});
|
5235
5323
|
```
|
@@ -5291,17 +5379,17 @@ Ember.run.next = function() {
|
|
5291
5379
|
`Ember.run.once()`, or `Ember.run.next()`.
|
5292
5380
|
|
5293
5381
|
```javascript
|
5294
|
-
var runNext = Ember.run.next(myContext, function(){
|
5382
|
+
var runNext = Ember.run.next(myContext, function() {
|
5295
5383
|
// will not be executed
|
5296
5384
|
});
|
5297
5385
|
Ember.run.cancel(runNext);
|
5298
5386
|
|
5299
|
-
var runLater = Ember.run.later(myContext, function(){
|
5387
|
+
var runLater = Ember.run.later(myContext, function() {
|
5300
5388
|
// will not be executed
|
5301
5389
|
}, 500);
|
5302
5390
|
Ember.run.cancel(runLater);
|
5303
5391
|
|
5304
|
-
var runOnce = Ember.run.once(myContext, function(){
|
5392
|
+
var runOnce = Ember.run.once(myContext, function() {
|
5305
5393
|
// will not be executed
|
5306
5394
|
});
|
5307
5395
|
Ember.run.cancel(runOnce);
|
@@ -5316,8 +5404,15 @@ Ember.run.cancel = function(timer) {
|
|
5316
5404
|
};
|
5317
5405
|
|
5318
5406
|
/**
|
5319
|
-
|
5320
|
-
|
5407
|
+
Delay calling the target method until the debounce period has elapsed
|
5408
|
+
with no additional debounce calls. If `debounce` is called again before
|
5409
|
+
the specified time has elapsed, the timer is reset and the entire period
|
5410
|
+
must pass again before the target method is called.
|
5411
|
+
|
5412
|
+
This method should be used when an event may be called multiple times
|
5413
|
+
but the action should only be called once when the event is done firing.
|
5414
|
+
A common example is for scroll events where you only want updates to
|
5415
|
+
happen once scrolling has ceased.
|
5321
5416
|
|
5322
5417
|
```javascript
|
5323
5418
|
var myFunc = function() { console.log(this.name + ' ran.'); };
|
@@ -5341,12 +5436,50 @@ Ember.run.cancel = function(timer) {
|
|
5341
5436
|
then it will be looked up on the passed target.
|
5342
5437
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5343
5438
|
@param {Number} wait Number of milliseconds to wait.
|
5439
|
+
@param {Boolean} immediate Trigger the function on the leading instead of the trailing edge of the wait interval.
|
5344
5440
|
@return {void}
|
5345
5441
|
*/
|
5346
5442
|
Ember.run.debounce = function() {
|
5347
5443
|
return backburner.debounce.apply(backburner, arguments);
|
5348
5444
|
};
|
5349
5445
|
|
5446
|
+
/**
|
5447
|
+
Ensure that the target method is never called more frequently than
|
5448
|
+
the specified spacing period.
|
5449
|
+
|
5450
|
+
```javascript
|
5451
|
+
var myFunc = function() { console.log(this.name + ' ran.'); };
|
5452
|
+
var myContext = {name: 'throttle'};
|
5453
|
+
|
5454
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5455
|
+
|
5456
|
+
// 50ms passes
|
5457
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5458
|
+
|
5459
|
+
// 50ms passes
|
5460
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5461
|
+
|
5462
|
+
// 50ms passes
|
5463
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5464
|
+
|
5465
|
+
// 150ms passes
|
5466
|
+
// myFunc is invoked with context myContext
|
5467
|
+
// console logs 'throttle ran.' twice, 150ms apart.
|
5468
|
+
```
|
5469
|
+
|
5470
|
+
@method throttle
|
5471
|
+
@param {Object} [target] target of method to invoke
|
5472
|
+
@param {Function|String} method The method to invoke.
|
5473
|
+
May be a function or a string. If you pass a string
|
5474
|
+
then it will be looked up on the passed target.
|
5475
|
+
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5476
|
+
@param {Number} spacing Number of milliseconds to space out requests.
|
5477
|
+
@return {void}
|
5478
|
+
*/
|
5479
|
+
Ember.run.throttle = function() {
|
5480
|
+
return backburner.throttle.apply(backburner, arguments);
|
5481
|
+
};
|
5482
|
+
|
5350
5483
|
// Make sure it's not an autorun during testing
|
5351
5484
|
function checkAutoRun() {
|
5352
5485
|
if (!Ember.run.currentRunLoop) {
|
@@ -5837,7 +5970,8 @@ Ember.oneWay = function(obj, to, from) {
|
|
5837
5970
|
|
5838
5971
|
(function() {
|
5839
5972
|
/**
|
5840
|
-
@module ember
|
5973
|
+
@module ember
|
5974
|
+
@submodule ember-metal
|
5841
5975
|
*/
|
5842
5976
|
|
5843
5977
|
var Mixin, REQUIRED, Alias,
|
@@ -6213,38 +6347,6 @@ Mixin.finishPartial = finishPartial;
|
|
6213
6347
|
Ember.anyUnprocessedMixins = false;
|
6214
6348
|
|
6215
6349
|
/**
|
6216
|
-
Creates an instance of a class. Accepts either no arguments, or an object
|
6217
|
-
containing values to initialize the newly instantiated object with.
|
6218
|
-
|
6219
|
-
```javascript
|
6220
|
-
App.Person = Ember.Object.extend({
|
6221
|
-
helloWorld: function() {
|
6222
|
-
alert("Hi, my name is " + this.get('name'));
|
6223
|
-
}
|
6224
|
-
});
|
6225
|
-
|
6226
|
-
var tom = App.Person.create({
|
6227
|
-
name: 'Tom Dale'
|
6228
|
-
});
|
6229
|
-
|
6230
|
-
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
6231
|
-
```
|
6232
|
-
|
6233
|
-
`create` will call the `init` function if defined during
|
6234
|
-
`Ember.AnyObject.extend`
|
6235
|
-
|
6236
|
-
If no arguments are passed to `create`, it will not set values to the new
|
6237
|
-
instance during initialization:
|
6238
|
-
|
6239
|
-
```javascript
|
6240
|
-
var noName = App.Person.create();
|
6241
|
-
noName.helloWorld(); // alerts undefined
|
6242
|
-
```
|
6243
|
-
|
6244
|
-
NOTE: For performance reasons, you cannot declare methods or computed
|
6245
|
-
properties during `create`. You should instead declare methods and computed
|
6246
|
-
properties when using `extend`.
|
6247
|
-
|
6248
6350
|
@method create
|
6249
6351
|
@static
|
6250
6352
|
@param arguments*
|
@@ -6404,7 +6506,7 @@ Alias.prototype = new Ember.Descriptor();
|
|
6404
6506
|
App.PaintSample = Ember.Object.extend({
|
6405
6507
|
color: 'red',
|
6406
6508
|
colour: Ember.alias('color'),
|
6407
|
-
name: function(){
|
6509
|
+
name: function() {
|
6408
6510
|
return "Zed";
|
6409
6511
|
},
|
6410
6512
|
moniker: Ember.alias("name")
|
@@ -6432,7 +6534,7 @@ Ember.alias = Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.a
|
|
6432
6534
|
|
6433
6535
|
```javascript
|
6434
6536
|
App.Person = Ember.Object.extend({
|
6435
|
-
name: function(){
|
6537
|
+
name: function() {
|
6436
6538
|
return 'Tomhuda Katzdale';
|
6437
6539
|
},
|
6438
6540
|
moniker: Ember.aliasMethod('name')
|
@@ -6501,7 +6603,7 @@ Ember.immediateObserver = function() {
|
|
6501
6603
|
}.observesBefore('content.value'),
|
6502
6604
|
valueDidChange: function(obj, keyName, value) {
|
6503
6605
|
// only run if updating a value already in the DOM
|
6504
|
-
if(this.get('state') === 'inDOM') {
|
6606
|
+
if (this.get('state') === 'inDOM') {
|
6505
6607
|
var color = value > this.changingFrom ? 'green' : 'red';
|
6506
6608
|
// logic
|
6507
6609
|
}
|
@@ -6537,65 +6639,82 @@ Ember Metal
|
|
6537
6639
|
|
6538
6640
|
(function() {
|
6539
6641
|
define("rsvp/all",
|
6540
|
-
["rsvp/
|
6642
|
+
["rsvp/promise","exports"],
|
6541
6643
|
function(__dependency1__, __exports__) {
|
6542
6644
|
"use strict";
|
6543
|
-
var
|
6645
|
+
var Promise = __dependency1__.Promise;
|
6646
|
+
/* global toString */
|
6544
6647
|
|
6545
|
-
function all(promises) {
|
6546
|
-
var results = [], deferred = defer(), remaining = promises.length;
|
6547
6648
|
|
6548
|
-
|
6549
|
-
|
6649
|
+
function all(promises) {
|
6650
|
+
if (Object.prototype.toString.call(promises) !== "[object Array]") {
|
6651
|
+
throw new TypeError('You must pass an array to all.');
|
6550
6652
|
}
|
6551
6653
|
|
6552
|
-
|
6553
|
-
|
6554
|
-
|
6555
|
-
};
|
6556
|
-
};
|
6654
|
+
return new Promise(function(resolve, reject) {
|
6655
|
+
var results = [], remaining = promises.length,
|
6656
|
+
promise;
|
6557
6657
|
|
6558
|
-
|
6559
|
-
|
6560
|
-
if (--remaining === 0) {
|
6561
|
-
deferred.resolve(results);
|
6658
|
+
if (remaining === 0) {
|
6659
|
+
resolve([]);
|
6562
6660
|
}
|
6563
|
-
};
|
6564
6661
|
|
6565
|
-
|
6566
|
-
|
6567
|
-
|
6662
|
+
function resolver(index) {
|
6663
|
+
return function(value) {
|
6664
|
+
resolveAll(index, value);
|
6665
|
+
};
|
6666
|
+
}
|
6568
6667
|
|
6569
|
-
|
6570
|
-
|
6571
|
-
|
6572
|
-
|
6573
|
-
|
6668
|
+
function resolveAll(index, value) {
|
6669
|
+
results[index] = value;
|
6670
|
+
if (--remaining === 0) {
|
6671
|
+
resolve(results);
|
6672
|
+
}
|
6574
6673
|
}
|
6575
|
-
|
6576
|
-
|
6674
|
+
|
6675
|
+
for (var i = 0; i < promises.length; i++) {
|
6676
|
+
promise = promises[i];
|
6677
|
+
|
6678
|
+
if (promise && typeof promise.then === 'function') {
|
6679
|
+
promise.then(resolver(i), reject);
|
6680
|
+
} else {
|
6681
|
+
resolveAll(i, promise);
|
6682
|
+
}
|
6683
|
+
}
|
6684
|
+
});
|
6577
6685
|
}
|
6578
6686
|
|
6687
|
+
|
6579
6688
|
__exports__.all = all;
|
6580
6689
|
});
|
6581
|
-
|
6582
6690
|
define("rsvp/async",
|
6583
6691
|
["exports"],
|
6584
6692
|
function(__exports__) {
|
6585
6693
|
"use strict";
|
6586
6694
|
var browserGlobal = (typeof window !== 'undefined') ? window : {};
|
6587
|
-
|
6588
6695
|
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
6589
6696
|
var async;
|
6590
6697
|
|
6591
|
-
|
6592
|
-
|
6593
|
-
|
6698
|
+
// old node
|
6699
|
+
function useNextTick() {
|
6700
|
+
return function(callback, arg) {
|
6594
6701
|
process.nextTick(function() {
|
6595
|
-
callback
|
6702
|
+
callback(arg);
|
6596
6703
|
});
|
6597
6704
|
};
|
6598
|
-
}
|
6705
|
+
}
|
6706
|
+
|
6707
|
+
// node >= 0.10.x
|
6708
|
+
function useSetImmediate() {
|
6709
|
+
return function(callback, arg) {
|
6710
|
+
/* global setImmediate */
|
6711
|
+
setImmediate(function(){
|
6712
|
+
callback(arg);
|
6713
|
+
});
|
6714
|
+
};
|
6715
|
+
}
|
6716
|
+
|
6717
|
+
function useMutationObserver() {
|
6599
6718
|
var queue = [];
|
6600
6719
|
|
6601
6720
|
var observer = new BrowserMutationObserver(function() {
|
@@ -6603,8 +6722,8 @@ define("rsvp/async",
|
|
6603
6722
|
queue = [];
|
6604
6723
|
|
6605
6724
|
toProcess.forEach(function(tuple) {
|
6606
|
-
var callback = tuple[0],
|
6607
|
-
callback
|
6725
|
+
var callback = tuple[0], arg= tuple[1];
|
6726
|
+
callback(arg);
|
6608
6727
|
});
|
6609
6728
|
});
|
6610
6729
|
|
@@ -6615,24 +6734,35 @@ define("rsvp/async",
|
|
6615
6734
|
window.addEventListener('unload', function(){
|
6616
6735
|
observer.disconnect();
|
6617
6736
|
observer = null;
|
6618
|
-
});
|
6737
|
+
}, false);
|
6619
6738
|
|
6620
|
-
|
6621
|
-
queue.push([callback,
|
6739
|
+
return function(callback, arg) {
|
6740
|
+
queue.push([callback, arg]);
|
6622
6741
|
element.setAttribute('drainQueue', 'drainQueue');
|
6623
6742
|
};
|
6624
|
-
}
|
6625
|
-
|
6743
|
+
}
|
6744
|
+
|
6745
|
+
function useSetTimeout() {
|
6746
|
+
return function(callback, arg) {
|
6626
6747
|
setTimeout(function() {
|
6627
|
-
callback
|
6748
|
+
callback(arg);
|
6628
6749
|
}, 1);
|
6629
6750
|
};
|
6630
6751
|
}
|
6631
6752
|
|
6753
|
+
if (typeof setImmediate === 'function') {
|
6754
|
+
async = useSetImmediate();
|
6755
|
+
} else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
|
6756
|
+
async = useNextTick();
|
6757
|
+
} else if (BrowserMutationObserver) {
|
6758
|
+
async = useMutationObserver();
|
6759
|
+
} else {
|
6760
|
+
async = useSetTimeout();
|
6761
|
+
}
|
6762
|
+
|
6632
6763
|
|
6633
6764
|
__exports__.async = async;
|
6634
6765
|
});
|
6635
|
-
|
6636
6766
|
define("rsvp/config",
|
6637
6767
|
["rsvp/async","exports"],
|
6638
6768
|
function(__dependency1__, __exports__) {
|
@@ -6642,9 +6772,9 @@ define("rsvp/config",
|
|
6642
6772
|
var config = {};
|
6643
6773
|
config.async = async;
|
6644
6774
|
|
6775
|
+
|
6645
6776
|
__exports__.config = config;
|
6646
6777
|
});
|
6647
|
-
|
6648
6778
|
define("rsvp/defer",
|
6649
6779
|
["rsvp/promise","exports"],
|
6650
6780
|
function(__dependency1__, __exports__) {
|
@@ -6652,20 +6782,24 @@ define("rsvp/defer",
|
|
6652
6782
|
var Promise = __dependency1__.Promise;
|
6653
6783
|
|
6654
6784
|
function defer() {
|
6655
|
-
var deferred = {
|
6785
|
+
var deferred = {
|
6786
|
+
// pre-allocate shape
|
6787
|
+
resolve: undefined,
|
6788
|
+
reject: undefined,
|
6789
|
+
promise: undefined
|
6790
|
+
};
|
6656
6791
|
|
6657
|
-
|
6792
|
+
deferred.promise = new Promise(function(resolve, reject) {
|
6658
6793
|
deferred.resolve = resolve;
|
6659
6794
|
deferred.reject = reject;
|
6660
6795
|
});
|
6661
6796
|
|
6662
|
-
deferred.promise = promise;
|
6663
6797
|
return deferred;
|
6664
6798
|
}
|
6665
6799
|
|
6800
|
+
|
6666
6801
|
__exports__.defer = defer;
|
6667
6802
|
});
|
6668
|
-
|
6669
6803
|
define("rsvp/events",
|
6670
6804
|
["exports"],
|
6671
6805
|
function(__exports__) {
|
@@ -6767,7 +6901,6 @@ define("rsvp/events",
|
|
6767
6901
|
|
6768
6902
|
__exports__.EventTarget = EventTarget;
|
6769
6903
|
});
|
6770
|
-
|
6771
6904
|
define("rsvp/hash",
|
6772
6905
|
["rsvp/defer","exports"],
|
6773
6906
|
function(__dependency1__, __exports__) {
|
@@ -6775,13 +6908,13 @@ define("rsvp/hash",
|
|
6775
6908
|
var defer = __dependency1__.defer;
|
6776
6909
|
|
6777
6910
|
function size(object) {
|
6778
|
-
var
|
6911
|
+
var s = 0;
|
6779
6912
|
|
6780
6913
|
for (var prop in object) {
|
6781
|
-
|
6914
|
+
s++;
|
6782
6915
|
}
|
6783
6916
|
|
6784
|
-
return
|
6917
|
+
return s;
|
6785
6918
|
}
|
6786
6919
|
|
6787
6920
|
function hash(promises) {
|
@@ -6819,9 +6952,9 @@ define("rsvp/hash",
|
|
6819
6952
|
return deferred.promise;
|
6820
6953
|
}
|
6821
6954
|
|
6955
|
+
|
6822
6956
|
__exports__.hash = hash;
|
6823
6957
|
});
|
6824
|
-
|
6825
6958
|
define("rsvp/node",
|
6826
6959
|
["rsvp/promise","rsvp/all","exports"],
|
6827
6960
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6844,6 +6977,7 @@ define("rsvp/node",
|
|
6844
6977
|
function denodeify(nodeFunc) {
|
6845
6978
|
return function() {
|
6846
6979
|
var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject;
|
6980
|
+
var thisArg = this;
|
6847
6981
|
|
6848
6982
|
var promise = new Promise(function(nodeResolve, nodeReject) {
|
6849
6983
|
resolve = nodeResolve;
|
@@ -6854,7 +6988,7 @@ define("rsvp/node",
|
|
6854
6988
|
nodeArgs.push(makeNodeCallbackFor(resolve, reject));
|
6855
6989
|
|
6856
6990
|
try {
|
6857
|
-
nodeFunc.apply(
|
6991
|
+
nodeFunc.apply(thisArg, nodeArgs);
|
6858
6992
|
} catch(e) {
|
6859
6993
|
reject(e);
|
6860
6994
|
}
|
@@ -6864,9 +6998,9 @@ define("rsvp/node",
|
|
6864
6998
|
};
|
6865
6999
|
}
|
6866
7000
|
|
7001
|
+
|
6867
7002
|
__exports__.denodeify = denodeify;
|
6868
7003
|
});
|
6869
|
-
|
6870
7004
|
define("rsvp/promise",
|
6871
7005
|
["rsvp/config","rsvp/events","exports"],
|
6872
7006
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6914,12 +7048,20 @@ define("rsvp/promise",
|
|
6914
7048
|
this.trigger('error', { detail: event.detail });
|
6915
7049
|
}, this);
|
6916
7050
|
|
7051
|
+
this.on('error', onerror);
|
7052
|
+
|
6917
7053
|
try {
|
6918
7054
|
resolver(resolvePromise, rejectPromise);
|
6919
7055
|
} catch(e) {
|
6920
7056
|
rejectPromise(e);
|
6921
7057
|
}
|
6922
|
-
};
|
7058
|
+
};
|
7059
|
+
|
7060
|
+
function onerror(event) {
|
7061
|
+
if (config.onerror) {
|
7062
|
+
config.onerror(event.detail);
|
7063
|
+
}
|
7064
|
+
}
|
6923
7065
|
|
6924
7066
|
var invokeCallback = function(type, promise, callback, event) {
|
6925
7067
|
var hasCallback = isFunction(callback),
|
@@ -6954,18 +7096,25 @@ define("rsvp/promise",
|
|
6954
7096
|
Promise.prototype = {
|
6955
7097
|
constructor: Promise,
|
6956
7098
|
|
7099
|
+
isRejected: undefined,
|
7100
|
+
isFulfilled: undefined,
|
7101
|
+
rejectedReason: undefined,
|
7102
|
+
fulfillmentValue: undefined,
|
7103
|
+
|
6957
7104
|
then: function(done, fail) {
|
6958
|
-
|
7105
|
+
this.off('error', onerror);
|
7106
|
+
|
7107
|
+
var thenPromise = new this.constructor(function() {});
|
6959
7108
|
|
6960
7109
|
if (this.isFulfilled) {
|
6961
|
-
config.async(function() {
|
6962
|
-
invokeCallback('resolve', thenPromise, done, { detail:
|
7110
|
+
config.async(function(promise) {
|
7111
|
+
invokeCallback('resolve', thenPromise, done, { detail: promise.fulfillmentValue });
|
6963
7112
|
}, this);
|
6964
7113
|
}
|
6965
7114
|
|
6966
7115
|
if (this.isRejected) {
|
6967
|
-
config.async(function() {
|
6968
|
-
invokeCallback('reject', thenPromise, fail, { detail:
|
7116
|
+
config.async(function(promise) {
|
7117
|
+
invokeCallback('reject', thenPromise, fail, { detail: promise.rejectedReason });
|
6969
7118
|
}, this);
|
6970
7119
|
}
|
6971
7120
|
|
@@ -6992,32 +7141,40 @@ define("rsvp/promise",
|
|
6992
7141
|
}
|
6993
7142
|
|
6994
7143
|
function handleThenable(promise, value) {
|
6995
|
-
var then = null
|
7144
|
+
var then = null,
|
7145
|
+
resolved;
|
6996
7146
|
|
6997
|
-
|
6998
|
-
|
6999
|
-
|
7000
|
-
} catch(e) {
|
7001
|
-
reject(promise, e);
|
7002
|
-
return true;
|
7147
|
+
try {
|
7148
|
+
if (promise === value) {
|
7149
|
+
throw new TypeError("A promises callback cannot return that same promise.");
|
7003
7150
|
}
|
7004
7151
|
|
7005
|
-
if (
|
7006
|
-
|
7152
|
+
if (objectOrFunction(value)) {
|
7153
|
+
then = value.then;
|
7154
|
+
|
7155
|
+
if (isFunction(then)) {
|
7007
7156
|
then.call(value, function(val) {
|
7157
|
+
if (resolved) { return true; }
|
7158
|
+
resolved = true;
|
7159
|
+
|
7008
7160
|
if (value !== val) {
|
7009
7161
|
resolve(promise, val);
|
7010
7162
|
} else {
|
7011
7163
|
fulfill(promise, val);
|
7012
7164
|
}
|
7013
7165
|
}, function(val) {
|
7166
|
+
if (resolved) { return true; }
|
7167
|
+
resolved = true;
|
7168
|
+
|
7014
7169
|
reject(promise, val);
|
7015
7170
|
});
|
7016
|
-
|
7017
|
-
|
7171
|
+
|
7172
|
+
return true;
|
7018
7173
|
}
|
7019
|
-
return true;
|
7020
7174
|
}
|
7175
|
+
} catch (error) {
|
7176
|
+
reject(promise, error);
|
7177
|
+
return true;
|
7021
7178
|
}
|
7022
7179
|
|
7023
7180
|
return false;
|
@@ -7042,19 +7199,12 @@ define("rsvp/promise",
|
|
7042
7199
|
|
7043
7200
|
__exports__.Promise = Promise;
|
7044
7201
|
});
|
7045
|
-
|
7046
7202
|
define("rsvp/reject",
|
7047
7203
|
["rsvp/promise","exports"],
|
7048
7204
|
function(__dependency1__, __exports__) {
|
7049
7205
|
"use strict";
|
7050
7206
|
var Promise = __dependency1__.Promise;
|
7051
7207
|
|
7052
|
-
|
7053
|
-
function objectOrFunction(x) {
|
7054
|
-
return typeof x === "function" || (typeof x === "object" && x !== null);
|
7055
|
-
}
|
7056
|
-
|
7057
|
-
|
7058
7208
|
function reject(reason) {
|
7059
7209
|
return new Promise(function (resolve, reject) {
|
7060
7210
|
reject(reason);
|
@@ -7064,48 +7214,21 @@ define("rsvp/reject",
|
|
7064
7214
|
|
7065
7215
|
__exports__.reject = reject;
|
7066
7216
|
});
|
7067
|
-
|
7068
7217
|
define("rsvp/resolve",
|
7069
7218
|
["rsvp/promise","exports"],
|
7070
7219
|
function(__dependency1__, __exports__) {
|
7071
7220
|
"use strict";
|
7072
7221
|
var Promise = __dependency1__.Promise;
|
7073
7222
|
|
7074
|
-
|
7075
|
-
|
7076
|
-
|
7077
|
-
}
|
7078
|
-
|
7079
|
-
function resolve(thenable){
|
7080
|
-
var promise = new Promise(function(resolve, reject){
|
7081
|
-
var then;
|
7082
|
-
|
7083
|
-
try {
|
7084
|
-
if ( objectOrFunction(thenable) ) {
|
7085
|
-
then = thenable.then;
|
7086
|
-
|
7087
|
-
if (typeof then === "function") {
|
7088
|
-
then.call(thenable, resolve, reject);
|
7089
|
-
} else {
|
7090
|
-
resolve(thenable);
|
7091
|
-
}
|
7092
|
-
|
7093
|
-
} else {
|
7094
|
-
resolve(thenable);
|
7095
|
-
}
|
7096
|
-
|
7097
|
-
} catch(error) {
|
7098
|
-
reject(error);
|
7099
|
-
}
|
7223
|
+
function resolve(thenable) {
|
7224
|
+
return new Promise(function(resolve, reject) {
|
7225
|
+
resolve(thenable);
|
7100
7226
|
});
|
7101
|
-
|
7102
|
-
return promise;
|
7103
7227
|
}
|
7104
7228
|
|
7105
7229
|
|
7106
7230
|
__exports__.resolve = resolve;
|
7107
7231
|
});
|
7108
|
-
|
7109
7232
|
define("rsvp",
|
7110
7233
|
["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],
|
7111
7234
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
@@ -7136,8 +7259,6 @@ define("rsvp",
|
|
7136
7259
|
__exports__.reject = reject;
|
7137
7260
|
});
|
7138
7261
|
|
7139
|
-
|
7140
|
-
|
7141
7262
|
})();
|
7142
7263
|
|
7143
7264
|
(function() {
|
@@ -7205,6 +7326,16 @@ define("container",
|
|
7205
7326
|
this.dict[key] = value;
|
7206
7327
|
},
|
7207
7328
|
|
7329
|
+
/**
|
7330
|
+
Delete the given key
|
7331
|
+
|
7332
|
+
@method remove
|
7333
|
+
@param {String} key
|
7334
|
+
*/
|
7335
|
+
remove: function(key) {
|
7336
|
+
delete this.dict[key];
|
7337
|
+
},
|
7338
|
+
|
7208
7339
|
/**
|
7209
7340
|
Check for the existence of given a key, if the key is present at the current
|
7210
7341
|
level return true, otherwise walk up the parent hierarchy and try again. If
|
@@ -7377,7 +7508,7 @@ define("container",
|
|
7377
7508
|
register: function(type, name, factory, options) {
|
7378
7509
|
var fullName;
|
7379
7510
|
|
7380
|
-
if (type.indexOf(':') !== -1){
|
7511
|
+
if (type.indexOf(':') !== -1) {
|
7381
7512
|
options = factory;
|
7382
7513
|
factory = name;
|
7383
7514
|
fullName = type;
|
@@ -7392,11 +7523,34 @@ define("container",
|
|
7392
7523
|
this._options.set(normalizedName, options || {});
|
7393
7524
|
},
|
7394
7525
|
|
7526
|
+
/**
|
7527
|
+
Unregister a fullName
|
7528
|
+
|
7529
|
+
```javascript
|
7530
|
+
var container = new Container();
|
7531
|
+
container.register('model:user', User);
|
7532
|
+
|
7533
|
+
container.lookup('model:user') instanceof User //=> true
|
7534
|
+
|
7535
|
+
container.unregister('model:user')
|
7536
|
+
container.lookup('model:user') === undefined //=> true
|
7537
|
+
|
7538
|
+
@method unregister
|
7539
|
+
@param {String} fullName
|
7540
|
+
*/
|
7541
|
+
unregister: function(fullName) {
|
7542
|
+
var normalizedName = this.normalize(fullName);
|
7543
|
+
|
7544
|
+
this.registry.remove(normalizedName);
|
7545
|
+
this.cache.remove(normalizedName);
|
7546
|
+
this._options.remove(normalizedName);
|
7547
|
+
},
|
7548
|
+
|
7395
7549
|
/**
|
7396
7550
|
Given a fullName return the corresponding factory.
|
7397
7551
|
|
7398
|
-
By default `resolve` will
|
7399
|
-
|
7552
|
+
By default `resolve` will retrieve the factory from
|
7553
|
+
its container's registry.
|
7400
7554
|
|
7401
7555
|
```javascript
|
7402
7556
|
var container = new Container();
|
@@ -7428,6 +7582,20 @@ define("container",
|
|
7428
7582
|
return this.resolver(fullName) || this.registry.get(fullName);
|
7429
7583
|
},
|
7430
7584
|
|
7585
|
+
/**
|
7586
|
+
A hook that can be used to describe how the resolver will
|
7587
|
+
attempt to find the factory.
|
7588
|
+
|
7589
|
+
For example, the default Ember `.describe` returns the full
|
7590
|
+
class name (including namespace) where Ember's resolver expects
|
7591
|
+
to find the `fullName`.
|
7592
|
+
|
7593
|
+
@method describe
|
7594
|
+
*/
|
7595
|
+
describe: function(fullName) {
|
7596
|
+
return fullName;
|
7597
|
+
},
|
7598
|
+
|
7431
7599
|
/**
|
7432
7600
|
A hook to enable custom fullName normalization behaviour
|
7433
7601
|
|
@@ -8001,7 +8169,11 @@ Ember.copy = function(obj, deep) {
|
|
8001
8169
|
@return {String} A description of the object
|
8002
8170
|
*/
|
8003
8171
|
Ember.inspect = function(obj) {
|
8004
|
-
|
8172
|
+
var type = Ember.typeOf(obj);
|
8173
|
+
if (type === 'array') {
|
8174
|
+
return '[' + obj + ']';
|
8175
|
+
}
|
8176
|
+
if (type !== 'object') {
|
8005
8177
|
return obj + '';
|
8006
8178
|
}
|
8007
8179
|
|
@@ -8184,9 +8356,9 @@ Ember.String = {
|
|
8184
8356
|
// first, replace any ORDERED replacements.
|
8185
8357
|
var idx = 0; // the current index for non-numerical replacements
|
8186
8358
|
return str.replace(/%@([0-9]+)?/g, function(s, argIndex) {
|
8187
|
-
argIndex = (argIndex) ? parseInt(argIndex,
|
8359
|
+
argIndex = (argIndex) ? parseInt(argIndex, 10) - 1 : idx++;
|
8188
8360
|
s = formats[argIndex];
|
8189
|
-
return (
|
8361
|
+
return (s === null) ? '(null)' : (s === undefined) ? '' : Ember.inspect(s);
|
8190
8362
|
}) ;
|
8191
8363
|
},
|
8192
8364
|
|
@@ -8704,14 +8876,10 @@ function iter(key, value) {
|
|
8704
8876
|
|
8705
8877
|
@class Enumerable
|
8706
8878
|
@namespace Ember
|
8707
|
-
@extends Ember.Mixin
|
8708
8879
|
@since Ember 0.9
|
8709
8880
|
*/
|
8710
8881
|
Ember.Enumerable = Ember.Mixin.create({
|
8711
8882
|
|
8712
|
-
// compatibility
|
8713
|
-
isEnumerable: true,
|
8714
|
-
|
8715
8883
|
/**
|
8716
8884
|
Implement this method to make your class enumerable.
|
8717
8885
|
|
@@ -9183,7 +9351,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9183
9351
|
@method some
|
9184
9352
|
@param {Function} callback The callback to execute
|
9185
9353
|
@param {Object} [target] The target object to use
|
9186
|
-
@return {
|
9354
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9187
9355
|
*/
|
9188
9356
|
some: function(callback, target) {
|
9189
9357
|
return !!this.find(function(x, idx, i) {
|
@@ -9198,7 +9366,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9198
9366
|
@method someProperty
|
9199
9367
|
@param {String} key the property to test
|
9200
9368
|
@param {String} [value] optional value to test against.
|
9201
|
-
@return {Boolean} `true`
|
9369
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9202
9370
|
*/
|
9203
9371
|
someProperty: function(key, value) {
|
9204
9372
|
return this.some(iter.apply(this, arguments));
|
@@ -9338,7 +9506,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9338
9506
|
*/
|
9339
9507
|
uniq: function() {
|
9340
9508
|
var ret = Ember.A();
|
9341
|
-
this.forEach(function(k){
|
9509
|
+
this.forEach(function(k) {
|
9342
9510
|
if (a_indexOf(ret, k)<0) ret.push(k);
|
9343
9511
|
});
|
9344
9512
|
return ret;
|
@@ -9542,7 +9710,6 @@ var get = Ember.get, set = Ember.set, isNone = Ember.isNone, map = Ember.Enumera
|
|
9542
9710
|
|
9543
9711
|
@class Array
|
9544
9712
|
@namespace Ember
|
9545
|
-
@extends Ember.Mixin
|
9546
9713
|
@uses Ember.Enumerable
|
9547
9714
|
@since Ember 0.9.0
|
9548
9715
|
*/
|
@@ -9598,7 +9765,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9598
9765
|
*/
|
9599
9766
|
objectsAt: function(indexes) {
|
9600
9767
|
var self = this;
|
9601
|
-
return map(indexes, function(idx){ return self.objectAt(idx); });
|
9768
|
+
return map(indexes, function(idx) { return self.objectAt(idx); });
|
9602
9769
|
},
|
9603
9770
|
|
9604
9771
|
// overrides Ember.Enumerable version
|
@@ -9630,7 +9797,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9630
9797
|
}),
|
9631
9798
|
|
9632
9799
|
// optimized version from Enumerable
|
9633
|
-
contains: function(obj){
|
9800
|
+
contains: function(obj) {
|
9634
9801
|
return this.indexOf(obj) >= 0;
|
9635
9802
|
},
|
9636
9803
|
|
@@ -9695,7 +9862,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9695
9862
|
if (startAt < 0) startAt += len;
|
9696
9863
|
|
9697
9864
|
for(idx=startAt;idx<len;idx++) {
|
9698
|
-
if (this.objectAt(idx
|
9865
|
+
if (this.objectAt(idx) === object) return idx ;
|
9699
9866
|
}
|
9700
9867
|
return -1;
|
9701
9868
|
},
|
@@ -9940,20 +10107,10 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9940
10107
|
|
9941
10108
|
@class Comparable
|
9942
10109
|
@namespace Ember
|
9943
|
-
@extends Ember.Mixin
|
9944
10110
|
@since Ember 0.9
|
9945
10111
|
*/
|
9946
10112
|
Ember.Comparable = Ember.Mixin.create( /** @scope Ember.Comparable.prototype */{
|
9947
10113
|
|
9948
|
-
/**
|
9949
|
-
walk like a duck. Indicates that the object can be compared.
|
9950
|
-
|
9951
|
-
@property isComparable
|
9952
|
-
@type Boolean
|
9953
|
-
@default true
|
9954
|
-
*/
|
9955
|
-
isComparable: true,
|
9956
|
-
|
9957
10114
|
/**
|
9958
10115
|
Override to return the result of the comparison of the two parameters. The
|
9959
10116
|
compare method should return:
|
@@ -10001,7 +10158,6 @@ var get = Ember.get, set = Ember.set;
|
|
10001
10158
|
|
10002
10159
|
@class Copyable
|
10003
10160
|
@namespace Ember
|
10004
|
-
@extends Ember.Mixin
|
10005
10161
|
@since Ember 0.9
|
10006
10162
|
*/
|
10007
10163
|
Ember.Copyable = Ember.Mixin.create(/** @scope Ember.Copyable.prototype */ {
|
@@ -10106,7 +10262,6 @@ var get = Ember.get, set = Ember.set;
|
|
10106
10262
|
|
10107
10263
|
@class Freezable
|
10108
10264
|
@namespace Ember
|
10109
|
-
@extends Ember.Mixin
|
10110
10265
|
@since Ember 0.9
|
10111
10266
|
*/
|
10112
10267
|
Ember.Freezable = Ember.Mixin.create(/** @scope Ember.Freezable.prototype */ {
|
@@ -10186,7 +10341,6 @@ var forEach = Ember.EnumerableUtils.forEach;
|
|
10186
10341
|
|
10187
10342
|
@class MutableEnumerable
|
10188
10343
|
@namespace Ember
|
10189
|
-
@extends Ember.Mixin
|
10190
10344
|
@uses Ember.Enumerable
|
10191
10345
|
*/
|
10192
10346
|
Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
@@ -10286,7 +10440,6 @@ var get = Ember.get, set = Ember.set;
|
|
10286
10440
|
|
10287
10441
|
@class MutableArray
|
10288
10442
|
@namespace Ember
|
10289
|
-
@extends Ember.Mixin
|
10290
10443
|
@uses Ember.Array
|
10291
10444
|
@uses Ember.MutableEnumerable
|
10292
10445
|
*/
|
@@ -10356,7 +10509,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10356
10509
|
method. You can pass either a single index, or a start and a length.
|
10357
10510
|
|
10358
10511
|
If you pass a start and length that is beyond the
|
10359
|
-
length this method will throw an `
|
10512
|
+
length this method will throw an `OUT_OF_RANGE_EXCEPTION`
|
10360
10513
|
|
10361
10514
|
```javascript
|
10362
10515
|
var colors = ["red", "green", "blue", "yellow", "orange"];
|
@@ -10410,7 +10563,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10410
10563
|
|
10411
10564
|
```javascript
|
10412
10565
|
var colors = ["red", "green", "blue"];
|
10413
|
-
colors.pushObjects("black"); // ["red", "green", "blue", "black"]
|
10566
|
+
colors.pushObjects(["black"]); // ["red", "green", "blue", "black"]
|
10414
10567
|
colors.pushObjects(["yellow", "orange"]); // ["red", "green", "blue", "black", "yellow", "orange"]
|
10415
10568
|
```
|
10416
10569
|
|
@@ -10419,6 +10572,9 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10419
10572
|
@return {Ember.Array} receiver
|
10420
10573
|
*/
|
10421
10574
|
pushObjects: function(objects) {
|
10575
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
10576
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
10577
|
+
}
|
10422
10578
|
this.replace(get(this, 'length'), 0, objects);
|
10423
10579
|
return this;
|
10424
10580
|
},
|
@@ -10637,9 +10793,8 @@ var get = Ember.get, set = Ember.set;
|
|
10637
10793
|
|
10638
10794
|
@class Observable
|
10639
10795
|
@namespace Ember
|
10640
|
-
@extends Ember.Mixin
|
10641
10796
|
*/
|
10642
|
-
Ember.Observable = Ember.Mixin.create(
|
10797
|
+
Ember.Observable = Ember.Mixin.create({
|
10643
10798
|
|
10644
10799
|
/**
|
10645
10800
|
Retrieves the value of a property from the object.
|
@@ -10837,7 +10992,7 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
10837
10992
|
@param {String} keyName The property key that is about to change.
|
10838
10993
|
@return {Ember.Observable}
|
10839
10994
|
*/
|
10840
|
-
propertyWillChange: function(keyName){
|
10995
|
+
propertyWillChange: function(keyName) {
|
10841
10996
|
Ember.propertyWillChange(this, keyName);
|
10842
10997
|
return this;
|
10843
10998
|
},
|
@@ -11143,7 +11298,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11143
11298
|
target: Ember.computed.alias('controller'),
|
11144
11299
|
action: 'save',
|
11145
11300
|
actionContext: Ember.computed.alias('context'),
|
11146
|
-
click: function(){
|
11301
|
+
click: function() {
|
11147
11302
|
this.triggerAction(); // Sends the `save` action, along with the current context
|
11148
11303
|
// to the current controller
|
11149
11304
|
}
|
@@ -11155,7 +11310,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11155
11310
|
|
11156
11311
|
```javascript
|
11157
11312
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11158
|
-
click: function(){
|
11313
|
+
click: function() {
|
11159
11314
|
this.triggerAction({
|
11160
11315
|
action: 'save',
|
11161
11316
|
target: this.get('controller'),
|
@@ -11173,7 +11328,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11173
11328
|
```javascript
|
11174
11329
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11175
11330
|
target: Ember.computed.alias('controller'),
|
11176
|
-
click: function(){
|
11331
|
+
click: function() {
|
11177
11332
|
this.triggerAction({
|
11178
11333
|
action: 'save'
|
11179
11334
|
}); // Sends the `save` action, along with a reference to `this`,
|
@@ -11255,7 +11410,6 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11255
11410
|
|
11256
11411
|
@class Evented
|
11257
11412
|
@namespace Ember
|
11258
|
-
@extends Ember.Mixin
|
11259
11413
|
*/
|
11260
11414
|
Ember.Evented = Ember.Mixin.create({
|
11261
11415
|
|
@@ -11373,8 +11527,8 @@ Ember.Evented = Ember.Mixin.create({
|
|
11373
11527
|
(function() {
|
11374
11528
|
var RSVP = requireModule("rsvp");
|
11375
11529
|
|
11376
|
-
RSVP.configure('async', function(callback,
|
11377
|
-
Ember.run.schedule('actions',
|
11530
|
+
RSVP.configure('async', function(callback, promise) {
|
11531
|
+
Ember.run.schedule('actions', promise, callback, promise);
|
11378
11532
|
});
|
11379
11533
|
|
11380
11534
|
/**
|
@@ -11387,7 +11541,6 @@ var get = Ember.get;
|
|
11387
11541
|
/**
|
11388
11542
|
@class Deferred
|
11389
11543
|
@namespace Ember
|
11390
|
-
@extends Ember.Mixin
|
11391
11544
|
*/
|
11392
11545
|
Ember.DeferredMixin = Ember.Mixin.create({
|
11393
11546
|
/**
|
@@ -11426,7 +11579,7 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
11426
11579
|
deferred = get(this, '_deferred');
|
11427
11580
|
promise = deferred.promise;
|
11428
11581
|
|
11429
|
-
if (value === this){
|
11582
|
+
if (value === this) {
|
11430
11583
|
deferred.resolve(promise);
|
11431
11584
|
} else {
|
11432
11585
|
deferred.resolve(value);
|
@@ -11473,8 +11626,8 @@ Ember.Container.set = Ember.set;
|
|
11473
11626
|
*/
|
11474
11627
|
|
11475
11628
|
|
11476
|
-
// NOTE: this object should never be included directly. Instead use Ember.
|
11477
|
-
//
|
11629
|
+
// NOTE: this object should never be included directly. Instead use `Ember.Object`.
|
11630
|
+
// We only define this separately so that `Ember.Set` can depend on it.
|
11478
11631
|
|
11479
11632
|
|
11480
11633
|
var set = Ember.set, get = Ember.get,
|
@@ -11617,6 +11770,10 @@ function makeCtor() {
|
|
11617
11770
|
|
11618
11771
|
}
|
11619
11772
|
|
11773
|
+
/**
|
11774
|
+
@class CoreObject
|
11775
|
+
@namespace Ember
|
11776
|
+
*/
|
11620
11777
|
var CoreObject = makeCtor();
|
11621
11778
|
CoreObject.toString = function() { return "Ember.CoreObject"; };
|
11622
11779
|
|
@@ -11813,7 +11970,7 @@ CoreObject.PrototypeMixin = Mixin.create({
|
|
11813
11970
|
included in the output.
|
11814
11971
|
|
11815
11972
|
App.Teacher = App.Person.extend({
|
11816
|
-
toStringExtension: function(){
|
11973
|
+
toStringExtension: function() {
|
11817
11974
|
return this.get('fullName');
|
11818
11975
|
}
|
11819
11976
|
});
|
@@ -11876,12 +12033,57 @@ var ClassMixin = Mixin.create({
|
|
11876
12033
|
return Class;
|
11877
12034
|
},
|
11878
12035
|
|
12036
|
+
/**
|
12037
|
+
Equivalent to doing `extend(arguments).create()`.
|
12038
|
+
If possible use the normal `create` method instead.
|
12039
|
+
|
12040
|
+
@method createWithMixins
|
12041
|
+
@static
|
12042
|
+
@param [arguments]*
|
12043
|
+
*/
|
11879
12044
|
createWithMixins: function() {
|
11880
12045
|
var C = this;
|
11881
12046
|
if (arguments.length>0) { this._initMixins(arguments); }
|
11882
12047
|
return new C();
|
11883
12048
|
},
|
11884
12049
|
|
12050
|
+
/**
|
12051
|
+
Creates an instance of a class. Accepts either no arguments, or an object
|
12052
|
+
containing values to initialize the newly instantiated object with.
|
12053
|
+
|
12054
|
+
```javascript
|
12055
|
+
App.Person = Ember.Object.extend({
|
12056
|
+
helloWorld: function() {
|
12057
|
+
alert("Hi, my name is " + this.get('name'));
|
12058
|
+
}
|
12059
|
+
});
|
12060
|
+
|
12061
|
+
var tom = App.Person.create({
|
12062
|
+
name: 'Tom Dale'
|
12063
|
+
});
|
12064
|
+
|
12065
|
+
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
12066
|
+
```
|
12067
|
+
|
12068
|
+
`create` will call the `init` function if defined during
|
12069
|
+
`Ember.AnyObject.extend`
|
12070
|
+
|
12071
|
+
If no arguments are passed to `create`, it will not set values to the new
|
12072
|
+
instance during initialization:
|
12073
|
+
|
12074
|
+
```javascript
|
12075
|
+
var noName = App.Person.create();
|
12076
|
+
noName.helloWorld(); // alerts undefined
|
12077
|
+
```
|
12078
|
+
|
12079
|
+
NOTE: For performance reasons, you cannot declare methods or computed
|
12080
|
+
properties during `create`. You should instead declare methods and computed
|
12081
|
+
properties when using `extend` or use the `createWithMixins` shorthand.
|
12082
|
+
|
12083
|
+
@method create
|
12084
|
+
@static
|
12085
|
+
@param [arguments]*
|
12086
|
+
*/
|
11885
12087
|
create: function() {
|
11886
12088
|
var C = this;
|
11887
12089
|
if (arguments.length>0) { this._initProperties(arguments); }
|
@@ -11980,10 +12182,6 @@ if (Ember.config.overrideClassMixin) {
|
|
11980
12182
|
CoreObject.ClassMixin = ClassMixin;
|
11981
12183
|
ClassMixin.apply(CoreObject);
|
11982
12184
|
|
11983
|
-
/**
|
11984
|
-
@class CoreObject
|
11985
|
-
@namespace Ember
|
11986
|
-
*/
|
11987
12185
|
Ember.CoreObject = CoreObject;
|
11988
12186
|
|
11989
12187
|
})();
|
@@ -12501,6 +12699,9 @@ Ember.ArrayProxy = Ember.Object.extend(Ember.MutableArray,/** @scope Ember.Array
|
|
12501
12699
|
},
|
12502
12700
|
|
12503
12701
|
pushObjects: function(objects) {
|
12702
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
12703
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
12704
|
+
}
|
12504
12705
|
this._replace(get(this, 'length'), 0, objects);
|
12505
12706
|
return this;
|
12506
12707
|
},
|
@@ -12753,6 +12954,7 @@ function addObserverForContentKey(content, keyName, proxy, idx, loc) {
|
|
12753
12954
|
while(--loc>=idx) {
|
12754
12955
|
var item = content.objectAt(loc);
|
12755
12956
|
if (item) {
|
12957
|
+
|
12756
12958
|
Ember.addBeforeObserver(item, keyName, proxy, 'contentKeyWillChange');
|
12757
12959
|
Ember.addObserver(item, keyName, proxy, 'contentKeyDidChange');
|
12758
12960
|
|
@@ -12836,7 +13038,7 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12836
13038
|
for(key in keys) {
|
12837
13039
|
if (!keys.hasOwnProperty(key)) { continue; }
|
12838
13040
|
|
12839
|
-
if (lim>0) removeObserverForContentKey(content, key, this, idx, lim);
|
13041
|
+
if (lim>0) { removeObserverForContentKey(content, key, this, idx, lim); }
|
12840
13042
|
|
12841
13043
|
Ember.propertyWillChange(this, key);
|
12842
13044
|
}
|
@@ -12846,21 +13048,20 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12846
13048
|
},
|
12847
13049
|
|
12848
13050
|
arrayDidChange: function(content, idx, removedCnt, addedCnt) {
|
12849
|
-
var keys = this._keys,
|
13051
|
+
var keys = this._keys, lim;
|
12850
13052
|
|
12851
13053
|
lim = addedCnt>0 ? idx+addedCnt : -1;
|
12852
|
-
Ember.
|
13054
|
+
Ember.changeProperties(function() {
|
13055
|
+
for(var key in keys) {
|
13056
|
+
if (!keys.hasOwnProperty(key)) { continue; }
|
12853
13057
|
|
12854
|
-
|
12855
|
-
if (!keys.hasOwnProperty(key)) { continue; }
|
13058
|
+
if (lim>0) { addObserverForContentKey(content, key, this, idx, lim); }
|
12856
13059
|
|
12857
|
-
|
12858
|
-
|
12859
|
-
Ember.propertyDidChange(this, key);
|
12860
|
-
}
|
13060
|
+
Ember.propertyDidChange(this, key);
|
13061
|
+
}
|
12861
13062
|
|
12862
|
-
|
12863
|
-
|
13063
|
+
Ember.propertyDidChange(this._content, '@each');
|
13064
|
+
}, this);
|
12864
13065
|
},
|
12865
13066
|
|
12866
13067
|
// ..........................................................
|
@@ -13009,7 +13210,7 @@ var NativeArray = Ember.Mixin.create(Ember.MutableArray, Ember.Observable, Ember
|
|
13009
13210
|
|
13010
13211
|
copy: function(deep) {
|
13011
13212
|
if (deep) {
|
13012
|
-
return this.map(function(item){ return Ember.copy(item, true); });
|
13213
|
+
return this.map(function(item) { return Ember.copy(item, true); });
|
13013
13214
|
}
|
13014
13215
|
|
13015
13216
|
return this.slice();
|
@@ -13035,7 +13236,6 @@ if (ignore.length>0) {
|
|
13035
13236
|
|
13036
13237
|
@class NativeArray
|
13037
13238
|
@namespace Ember
|
13038
|
-
@extends Ember.Mixin
|
13039
13239
|
@uses Ember.MutableArray
|
13040
13240
|
@uses Ember.Observable
|
13041
13241
|
@uses Ember.Copyable
|
@@ -13050,7 +13250,7 @@ Ember.NativeArray = NativeArray;
|
|
13050
13250
|
@for Ember
|
13051
13251
|
@return {Ember.NativeArray}
|
13052
13252
|
*/
|
13053
|
-
Ember.A = function(arr){
|
13253
|
+
Ember.A = function(arr) {
|
13054
13254
|
if (arr === undefined) { arr = []; }
|
13055
13255
|
return Ember.Array.detect(arr) ? arr : Ember.NativeArray.apply(arr);
|
13056
13256
|
};
|
@@ -13226,7 +13426,7 @@ Ember.Set = Ember.CoreObject.extend(Ember.MutableEnumerable, Ember.Copyable, Emb
|
|
13226
13426
|
Ember.propertyWillChange(this, 'firstObject');
|
13227
13427
|
Ember.propertyWillChange(this, 'lastObject');
|
13228
13428
|
|
13229
|
-
for (var i=0; i < len; i++){
|
13429
|
+
for (var i=0; i < len; i++) {
|
13230
13430
|
guid = guidFor(this[i]);
|
13231
13431
|
delete this[guid];
|
13232
13432
|
delete this[i];
|
@@ -13646,7 +13846,6 @@ var get = Ember.get;
|
|
13646
13846
|
|
13647
13847
|
@class ControllerMixin
|
13648
13848
|
@namespace Ember
|
13649
|
-
@extends Ember.Mixin
|
13650
13849
|
*/
|
13651
13850
|
Ember.ControllerMixin = Ember.Mixin.create({
|
13652
13851
|
/* ducktype as a controller */
|
@@ -13680,7 +13879,7 @@ Ember.ControllerMixin = Ember.Mixin.create({
|
|
13680
13879
|
if (this[actionName]) {
|
13681
13880
|
|
13682
13881
|
this[actionName].apply(this, args);
|
13683
|
-
} else if(target = get(this, 'target')) {
|
13882
|
+
} else if (target = get(this, 'target')) {
|
13684
13883
|
|
13685
13884
|
target.send.apply(target, arguments);
|
13686
13885
|
}
|
@@ -13734,7 +13933,6 @@ var get = Ember.get, set = Ember.set, forEach = Ember.EnumerableUtils.forEach;
|
|
13734
13933
|
|
13735
13934
|
@class SortableMixin
|
13736
13935
|
@namespace Ember
|
13737
|
-
@extends Ember.Mixin
|
13738
13936
|
@uses Ember.MutableEnumerable
|
13739
13937
|
*/
|
13740
13938
|
Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
@@ -13752,7 +13950,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13752
13950
|
@property {Boolean} sortAscending
|
13753
13951
|
*/
|
13754
13952
|
sortAscending: true,
|
13755
|
-
|
13953
|
+
|
13756
13954
|
/**
|
13757
13955
|
The function used to compare two values. You can override this if you
|
13758
13956
|
want to do custom comparisons.Functions must be of the type expected by
|
@@ -13762,8 +13960,8 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13762
13960
|
return a positive value otherwise:
|
13763
13961
|
|
13764
13962
|
```javascript
|
13765
|
-
function(x,y){ // These are assumed to be integers
|
13766
|
-
if(x === y)
|
13963
|
+
function(x,y) { // These are assumed to be integers
|
13964
|
+
if (x === y)
|
13767
13965
|
return 0;
|
13768
13966
|
return x < y ? -1 : 1;
|
13769
13967
|
}
|
@@ -13774,7 +13972,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13774
13972
|
@default Ember.compare
|
13775
13973
|
*/
|
13776
13974
|
sortFunction: Ember.compare,
|
13777
|
-
|
13975
|
+
|
13778
13976
|
orderBy: function(item1, item2) {
|
13779
13977
|
var result = 0,
|
13780
13978
|
sortProperties = get(this, 'sortProperties'),
|
@@ -14268,7 +14466,7 @@ if (Ember.$) {
|
|
14268
14466
|
// is a "zero-scope" element. This problem can be worked around by making
|
14269
14467
|
// the first node an invisible text node. We, like Modernizr, use ­
|
14270
14468
|
|
14271
|
-
var needsShy = this.document && (function(){
|
14469
|
+
var needsShy = this.document && (function() {
|
14272
14470
|
var testEl = document.createElement('div');
|
14273
14471
|
testEl.innerHTML = "<div></div>";
|
14274
14472
|
testEl.firstChild.innerHTML = "<script></script>";
|
@@ -14424,6 +14622,45 @@ ClassSet.prototype = {
|
|
14424
14622
|
}
|
14425
14623
|
};
|
14426
14624
|
|
14625
|
+
var BAD_TAG_NAME_TEST_REGEXP = /[^a-zA-Z0-9\-]/;
|
14626
|
+
var BAD_TAG_NAME_REPLACE_REGEXP = /[^a-zA-Z0-9\-]/g;
|
14627
|
+
|
14628
|
+
function stripTagName(tagName) {
|
14629
|
+
if (!tagName) {
|
14630
|
+
return tagName;
|
14631
|
+
}
|
14632
|
+
|
14633
|
+
if (!BAD_TAG_NAME_TEST_REGEXP.test(tagName)) {
|
14634
|
+
return tagName;
|
14635
|
+
}
|
14636
|
+
|
14637
|
+
return tagName.replace(BAD_TAG_NAME_REPLACE_REGEXP, '');
|
14638
|
+
}
|
14639
|
+
|
14640
|
+
var BAD_CHARS_REGEXP = /&(?!\w+;)|[<>"'`]/g;
|
14641
|
+
var POSSIBLE_CHARS_REGEXP = /[&<>"'`]/;
|
14642
|
+
|
14643
|
+
function escapeAttribute(value) {
|
14644
|
+
// Stolen shamelessly from Handlebars
|
14645
|
+
|
14646
|
+
var escape = {
|
14647
|
+
"<": "<",
|
14648
|
+
">": ">",
|
14649
|
+
'"': """,
|
14650
|
+
"'": "'",
|
14651
|
+
"`": "`"
|
14652
|
+
};
|
14653
|
+
|
14654
|
+
var escapeChar = function(chr) {
|
14655
|
+
return escape[chr] || "&";
|
14656
|
+
};
|
14657
|
+
|
14658
|
+
var string = value.toString();
|
14659
|
+
|
14660
|
+
if(!POSSIBLE_CHARS_REGEXP.test(string)) { return string; }
|
14661
|
+
return string.replace(BAD_CHARS_REGEXP, escapeChar);
|
14662
|
+
}
|
14663
|
+
|
14427
14664
|
/**
|
14428
14665
|
`Ember.RenderBuffer` gathers information regarding the a view and generates the
|
14429
14666
|
final representation. `Ember.RenderBuffer` will generate HTML which can be pushed
|
@@ -14711,14 +14948,14 @@ Ember._RenderBuffer.prototype =
|
|
14711
14948
|
style = this.elementStyle,
|
14712
14949
|
attr, prop;
|
14713
14950
|
|
14714
|
-
buffer += '<' + tagName;
|
14951
|
+
buffer += '<' + stripTagName(tagName);
|
14715
14952
|
|
14716
14953
|
if (id) {
|
14717
|
-
buffer += ' id="' +
|
14954
|
+
buffer += ' id="' + escapeAttribute(id) + '"';
|
14718
14955
|
this.elementId = null;
|
14719
14956
|
}
|
14720
14957
|
if (classes) {
|
14721
|
-
buffer += ' class="' +
|
14958
|
+
buffer += ' class="' + escapeAttribute(classes.join(' ')) + '"';
|
14722
14959
|
this.classes = null;
|
14723
14960
|
}
|
14724
14961
|
|
@@ -14727,7 +14964,7 @@ Ember._RenderBuffer.prototype =
|
|
14727
14964
|
|
14728
14965
|
for (prop in style) {
|
14729
14966
|
if (style.hasOwnProperty(prop)) {
|
14730
|
-
buffer += prop + ':' +
|
14967
|
+
buffer += prop + ':' + escapeAttribute(style[prop]) + ';';
|
14731
14968
|
}
|
14732
14969
|
}
|
14733
14970
|
|
@@ -14739,7 +14976,7 @@ Ember._RenderBuffer.prototype =
|
|
14739
14976
|
if (attrs) {
|
14740
14977
|
for (attr in attrs) {
|
14741
14978
|
if (attrs.hasOwnProperty(attr)) {
|
14742
|
-
buffer += ' ' + attr + '="' +
|
14979
|
+
buffer += ' ' + attr + '="' + escapeAttribute(attrs[attr]) + '"';
|
14743
14980
|
}
|
14744
14981
|
}
|
14745
14982
|
|
@@ -14754,7 +14991,7 @@ Ember._RenderBuffer.prototype =
|
|
14754
14991
|
if (value === true) {
|
14755
14992
|
buffer += ' ' + prop + '="' + prop + '"';
|
14756
14993
|
} else {
|
14757
|
-
buffer += ' ' + prop + '="' +
|
14994
|
+
buffer += ' ' + prop + '="' + escapeAttribute(props[prop]) + '"';
|
14758
14995
|
}
|
14759
14996
|
}
|
14760
14997
|
}
|
@@ -14769,7 +15006,7 @@ Ember._RenderBuffer.prototype =
|
|
14769
15006
|
|
14770
15007
|
pushClosingTag: function() {
|
14771
15008
|
var tagName = this.tagNames.pop();
|
14772
|
-
if (tagName) { this.buffer += '</' + tagName + '>'; }
|
15009
|
+
if (tagName) { this.buffer += '</' + stripTagName(tagName) + '>'; }
|
14773
15010
|
},
|
14774
15011
|
|
14775
15012
|
currentTagName: function() {
|
@@ -14856,7 +15093,7 @@ Ember._RenderBuffer.prototype =
|
|
14856
15093
|
if (this._hasElement && this._element) {
|
14857
15094
|
// Firefox versions < 11 do not have support for element.outerHTML.
|
14858
15095
|
var thisElement = this.element(), outerHTML = thisElement.outerHTML;
|
14859
|
-
if (typeof outerHTML === 'undefined'){
|
15096
|
+
if (typeof outerHTML === 'undefined') {
|
14860
15097
|
return Ember.$('<div/>').append(thisElement).html();
|
14861
15098
|
}
|
14862
15099
|
return outerHTML;
|
@@ -14867,32 +15104,7 @@ Ember._RenderBuffer.prototype =
|
|
14867
15104
|
|
14868
15105
|
innerString: function() {
|
14869
15106
|
return this.buffer;
|
14870
|
-
},
|
14871
|
-
|
14872
|
-
_escapeAttribute: function(value) {
|
14873
|
-
// Stolen shamelessly from Handlebars
|
14874
|
-
|
14875
|
-
var escape = {
|
14876
|
-
"<": "<",
|
14877
|
-
">": ">",
|
14878
|
-
'"': """,
|
14879
|
-
"'": "'",
|
14880
|
-
"`": "`"
|
14881
|
-
};
|
14882
|
-
|
14883
|
-
var badChars = /&(?!\w+;)|[<>"'`]/g;
|
14884
|
-
var possible = /[&<>"'`]/;
|
14885
|
-
|
14886
|
-
var escapeChar = function(chr) {
|
14887
|
-
return escape[chr] || "&";
|
14888
|
-
};
|
14889
|
-
|
14890
|
-
var string = value.toString();
|
14891
|
-
|
14892
|
-
if(!possible.test(string)) { return string; }
|
14893
|
-
return string.replace(badChars, escapeChar);
|
14894
15107
|
}
|
14895
|
-
|
14896
15108
|
};
|
14897
15109
|
|
14898
15110
|
})();
|
@@ -15206,8 +15418,11 @@ var childViewsProperty = Ember.computed(function() {
|
|
15206
15418
|
var childViews = this._childViews, ret = Ember.A(), view = this;
|
15207
15419
|
|
15208
15420
|
a_forEach(childViews, function(view) {
|
15421
|
+
var currentChildViews;
|
15209
15422
|
if (view.isVirtual) {
|
15210
|
-
|
15423
|
+
if (currentChildViews = get(view, 'childViews')) {
|
15424
|
+
ret.pushObjects(currentChildViews);
|
15425
|
+
}
|
15211
15426
|
} else {
|
15212
15427
|
ret.push(view);
|
15213
15428
|
}
|
@@ -15501,8 +15716,8 @@ class:
|
|
15501
15716
|
MyView = Ember.View.extend({
|
15502
15717
|
classNameBindings: ['propertyA', 'propertyB'],
|
15503
15718
|
propertyA: 'from-a',
|
15504
|
-
propertyB: function(){
|
15505
|
-
if(someLogic){ return 'from-b'; }
|
15719
|
+
propertyB: function() {
|
15720
|
+
if (someLogic) { return 'from-b'; }
|
15506
15721
|
}.property()
|
15507
15722
|
});
|
15508
15723
|
```
|
@@ -15683,7 +15898,7 @@ class:
|
|
15683
15898
|
MyTextInput = Ember.View.extend({
|
15684
15899
|
tagName: 'input',
|
15685
15900
|
attributeBindings: ['disabled'],
|
15686
|
-
disabled: function(){
|
15901
|
+
disabled: function() {
|
15687
15902
|
if (someLogic) {
|
15688
15903
|
return true;
|
15689
15904
|
} else {
|
@@ -15792,7 +16007,7 @@ class:
|
|
15792
16007
|
|
15793
16008
|
aController = Ember.Object.create({
|
15794
16009
|
firstName: 'Barry',
|
15795
|
-
excitedGreeting: function(){
|
16010
|
+
excitedGreeting: function() {
|
15796
16011
|
return this.get("content.firstName") + "!!!"
|
15797
16012
|
}.property()
|
15798
16013
|
});
|
@@ -15863,7 +16078,7 @@ class:
|
|
15863
16078
|
|
15864
16079
|
```javascript
|
15865
16080
|
AView = Ember.View.extend({
|
15866
|
-
click: function(event){
|
16081
|
+
click: function(event) {
|
15867
16082
|
// will be called when when an instance's
|
15868
16083
|
// rendered element is clicked
|
15869
16084
|
}
|
@@ -15884,7 +16099,7 @@ class:
|
|
15884
16099
|
```javascript
|
15885
16100
|
AView = Ember.View.extend({
|
15886
16101
|
eventManager: Ember.Object.create({
|
15887
|
-
doubleClick: function(event, view){
|
16102
|
+
doubleClick: function(event, view) {
|
15888
16103
|
// will be called when when an instance's
|
15889
16104
|
// rendered element or any rendering
|
15890
16105
|
// of this views's descendent
|
@@ -15899,11 +16114,11 @@ class:
|
|
15899
16114
|
|
15900
16115
|
```javascript
|
15901
16116
|
AView = Ember.View.extend({
|
15902
|
-
mouseEnter: function(event){
|
16117
|
+
mouseEnter: function(event) {
|
15903
16118
|
// will never trigger.
|
15904
16119
|
},
|
15905
16120
|
eventManager: Ember.Object.create({
|
15906
|
-
mouseEnter: function(event, view){
|
16121
|
+
mouseEnter: function(event, view) {
|
15907
16122
|
// takes presedence over AView#mouseEnter
|
15908
16123
|
}
|
15909
16124
|
})
|
@@ -15921,7 +16136,7 @@ class:
|
|
15921
16136
|
OuterView = Ember.View.extend({
|
15922
16137
|
template: Ember.Handlebars.compile("outer {{#view InnerView}}inner{{/view}} outer"),
|
15923
16138
|
eventManager: Ember.Object.create({
|
15924
|
-
mouseEnter: function(event, view){
|
16139
|
+
mouseEnter: function(event, view) {
|
15925
16140
|
// view might be instance of either
|
15926
16141
|
// OuterView or InnerView depending on
|
15927
16142
|
// where on the page the user interaction occured
|
@@ -15930,12 +16145,12 @@ class:
|
|
15930
16145
|
});
|
15931
16146
|
|
15932
16147
|
InnerView = Ember.View.extend({
|
15933
|
-
click: function(event){
|
16148
|
+
click: function(event) {
|
15934
16149
|
// will be called if rendered inside
|
15935
16150
|
// an OuterView because OuterView's
|
15936
16151
|
// eventManager doesn't handle click events
|
15937
16152
|
},
|
15938
|
-
mouseEnter: function(event){
|
16153
|
+
mouseEnter: function(event) {
|
15939
16154
|
// will never be called if rendered inside
|
15940
16155
|
// an OuterView.
|
15941
16156
|
}
|
@@ -16143,6 +16358,14 @@ Ember.View = Ember.CoreView.extend(
|
|
16143
16358
|
}
|
16144
16359
|
}).volatile(),
|
16145
16360
|
|
16361
|
+
/**
|
16362
|
+
The parent context for this template.
|
16363
|
+
*/
|
16364
|
+
parentContext: function() {
|
16365
|
+
var parentView = get(this, '_parentView');
|
16366
|
+
return parentView && get(parentView, '_context');
|
16367
|
+
},
|
16368
|
+
|
16146
16369
|
/**
|
16147
16370
|
@private
|
16148
16371
|
|
@@ -16244,7 +16467,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16244
16467
|
var view = get(this, 'parentView');
|
16245
16468
|
|
16246
16469
|
while (view) {
|
16247
|
-
if(view instanceof klass) { return view; }
|
16470
|
+
if (view instanceof klass) { return view; }
|
16248
16471
|
view = get(view, 'parentView');
|
16249
16472
|
}
|
16250
16473
|
},
|
@@ -16265,7 +16488,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16265
16488
|
function(view) { return klass.detect(view.constructor); };
|
16266
16489
|
|
16267
16490
|
while (view) {
|
16268
|
-
if(
|
16491
|
+
if (isOfType(view)) { return view; }
|
16269
16492
|
view = get(view, 'parentView');
|
16270
16493
|
}
|
16271
16494
|
},
|
@@ -16298,7 +16521,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16298
16521
|
var view = get(this, 'parentView');
|
16299
16522
|
|
16300
16523
|
while (view) {
|
16301
|
-
if(get(view, 'parentView') instanceof klass) { return view; }
|
16524
|
+
if (get(view, 'parentView') instanceof klass) { return view; }
|
16302
16525
|
view = get(view, 'parentView');
|
16303
16526
|
}
|
16304
16527
|
},
|
@@ -16820,7 +17043,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16820
17043
|
*/
|
16821
17044
|
invokeRecursively: function(fn, includeSelf) {
|
16822
17045
|
var childViews = (includeSelf === false) ? this._childViews : [this];
|
16823
|
-
var currentViews, view;
|
17046
|
+
var currentViews, view, currentChildViews;
|
16824
17047
|
|
16825
17048
|
while (childViews.length) {
|
16826
17049
|
currentViews = childViews.slice();
|
@@ -16828,16 +17051,17 @@ Ember.View = Ember.CoreView.extend(
|
|
16828
17051
|
|
16829
17052
|
for (var i=0, l=currentViews.length; i<l; i++) {
|
16830
17053
|
view = currentViews[i];
|
17054
|
+
currentChildViews = view._childViews ? view._childViews.slice(0) : null;
|
16831
17055
|
fn(view);
|
16832
|
-
if (
|
16833
|
-
childViews.push.apply(childViews,
|
17056
|
+
if (currentChildViews) {
|
17057
|
+
childViews.push.apply(childViews, currentChildViews);
|
16834
17058
|
}
|
16835
17059
|
}
|
16836
17060
|
}
|
16837
17061
|
},
|
16838
17062
|
|
16839
17063
|
triggerRecursively: function(eventName) {
|
16840
|
-
var childViews = [this], currentViews, view;
|
17064
|
+
var childViews = [this], currentViews, view, currentChildViews;
|
16841
17065
|
|
16842
17066
|
while (childViews.length) {
|
16843
17067
|
currentViews = childViews.slice();
|
@@ -16845,10 +17069,12 @@ Ember.View = Ember.CoreView.extend(
|
|
16845
17069
|
|
16846
17070
|
for (var i=0, l=currentViews.length; i<l; i++) {
|
16847
17071
|
view = currentViews[i];
|
17072
|
+
currentChildViews = view._childViews ? view._childViews.slice(0) : null;
|
16848
17073
|
if (view.trigger) { view.trigger(eventName); }
|
16849
|
-
if (
|
16850
|
-
childViews.push.apply(childViews,
|
17074
|
+
if (currentChildViews) {
|
17075
|
+
childViews.push.apply(childViews, currentChildViews);
|
16851
17076
|
}
|
17077
|
+
|
16852
17078
|
}
|
16853
17079
|
}
|
16854
17080
|
},
|
@@ -16895,7 +17121,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16895
17121
|
|
16896
17122
|
@event willDestroyElement
|
16897
17123
|
*/
|
16898
|
-
willDestroyElement:
|
17124
|
+
willDestroyElement: Ember.K,
|
16899
17125
|
|
16900
17126
|
/**
|
16901
17127
|
@private
|
@@ -17405,7 +17631,7 @@ Ember.View = Ember.CoreView.extend(
|
|
17405
17631
|
}
|
17406
17632
|
|
17407
17633
|
var view = this,
|
17408
|
-
stateCheckedObserver = function(){
|
17634
|
+
stateCheckedObserver = function() {
|
17409
17635
|
view.currentState.invokeObserver(this, observer);
|
17410
17636
|
},
|
17411
17637
|
scheduledObserver = function() {
|
@@ -18666,7 +18892,7 @@ Ember.CollectionView = Ember.ContainerView.extend(/** @scope Ember.CollectionVie
|
|
18666
18892
|
var content = get(this, 'content');
|
18667
18893
|
|
18668
18894
|
if (content) {
|
18669
|
-
|
18895
|
+
this._assertArrayLike(content);
|
18670
18896
|
content.addArrayObserver(this);
|
18671
18897
|
}
|
18672
18898
|
|
@@ -18674,6 +18900,10 @@ Ember.CollectionView = Ember.ContainerView.extend(/** @scope Ember.CollectionVie
|
|
18674
18900
|
this.arrayDidChange(content, 0, null, len);
|
18675
18901
|
}, 'content'),
|
18676
18902
|
|
18903
|
+
_assertArrayLike: function(content) {
|
18904
|
+
|
18905
|
+
},
|
18906
|
+
|
18677
18907
|
destroy: function() {
|
18678
18908
|
if (!this._super()) { return; }
|
18679
18909
|
|
@@ -18805,6 +19035,8 @@ Ember.CollectionView.CONTAINER_MAP = {
|
|
18805
19035
|
|
18806
19036
|
|
18807
19037
|
(function() {
|
19038
|
+
var get = Ember.get, set = Ember.set, isNone = Ember.isNone;
|
19039
|
+
|
18808
19040
|
/**
|
18809
19041
|
@module ember
|
18810
19042
|
@submodule ember-views
|
@@ -18888,11 +19120,66 @@ Ember.CollectionView.CONTAINER_MAP = {
|
|
18888
19120
|
@namespace Ember
|
18889
19121
|
@extends Ember.View
|
18890
19122
|
*/
|
18891
|
-
Ember.Component = Ember.View.extend({
|
19123
|
+
Ember.Component = Ember.View.extend(Ember.TargetActionSupport, {
|
18892
19124
|
init: function() {
|
18893
19125
|
this._super();
|
18894
|
-
|
18895
|
-
|
19126
|
+
set(this, 'context', this);
|
19127
|
+
set(this, 'controller', this);
|
19128
|
+
set(this, 'templateData', {keywords: {}});
|
19129
|
+
},
|
19130
|
+
|
19131
|
+
targetObject: Ember.computed(function(key) {
|
19132
|
+
var parentView = get(this, '_parentView');
|
19133
|
+
return parentView ? get(parentView, 'controller') : null;
|
19134
|
+
}).property('_parentView'),
|
19135
|
+
|
19136
|
+
/**
|
19137
|
+
Sends an action to component's controller. A component inherits its
|
19138
|
+
controller from the context in which it is used.
|
19139
|
+
|
19140
|
+
By default, calling `sendAction()` will send an action with the name
|
19141
|
+
of the component's `action` property.
|
19142
|
+
|
19143
|
+
For example, if the component had a property `action` with the value
|
19144
|
+
`"addItem"`, calling `sendAction()` would send the `addItem` action
|
19145
|
+
to the component's controller.
|
19146
|
+
|
19147
|
+
If you provide an argument to `sendAction()`, that key will be used to look
|
19148
|
+
up the action name.
|
19149
|
+
|
19150
|
+
For example, if the component had a property `playing` with the value
|
19151
|
+
`didStartPlaying`, calling `sendAction('playing')` would send the
|
19152
|
+
`didStartPlaying` action to the component's controller.
|
19153
|
+
|
19154
|
+
Whether or not you are using the default action or a named action, if
|
19155
|
+
the action name is not defined on the component, calling `sendAction()`
|
19156
|
+
does not have any effect.
|
19157
|
+
|
19158
|
+
For example, if you call `sendAction()` on a component that does not have
|
19159
|
+
an `action` property defined, no action will be sent to the controller,
|
19160
|
+
nor will an exception be raised.
|
19161
|
+
|
19162
|
+
@param [action] {String} the action to trigger
|
19163
|
+
*/
|
19164
|
+
sendAction: function(action) {
|
19165
|
+
var actionName;
|
19166
|
+
|
19167
|
+
// Send the default action
|
19168
|
+
if (action === undefined) {
|
19169
|
+
actionName = get(this, 'action');
|
19170
|
+
|
19171
|
+
} else {
|
19172
|
+
actionName = get(this, action);
|
19173
|
+
|
19174
|
+
}
|
19175
|
+
|
19176
|
+
|
19177
|
+
// If no action name for that action could be found, just abort.
|
19178
|
+
if (actionName === undefined) { return; }
|
19179
|
+
|
19180
|
+
this.triggerAction({
|
19181
|
+
action: actionName
|
19182
|
+
});
|
18896
19183
|
}
|
18897
19184
|
});
|
18898
19185
|
|
@@ -18923,7 +19210,7 @@ For example:
|
|
18923
19210
|
```javascript
|
18924
19211
|
App.SaveButtonView = Ember.View.extend(Ember.ViewTargetActionSupport, {
|
18925
19212
|
action: 'save',
|
18926
|
-
click: function(){
|
19213
|
+
click: function() {
|
18927
19214
|
this.triggerAction(); // Sends the `save` action, along with the current context
|
18928
19215
|
// to the current controller
|
18929
19216
|
}
|
@@ -18935,7 +19222,7 @@ to `triggerAction` as well.
|
|
18935
19222
|
|
18936
19223
|
```javascript
|
18937
19224
|
App.SaveButtonView = Ember.View.extend(Ember.ViewTargetActionSupport, {
|
18938
|
-
click: function(){
|
19225
|
+
click: function() {
|
18939
19226
|
this.triggerAction({
|
18940
19227
|
action: 'save'
|
18941
19228
|
}); // Sends the `save` action, along with the current context
|
@@ -19204,7 +19491,7 @@ Ember.State.reopenClass({
|
|
19204
19491
|
|
19205
19492
|
bManager = Ember.StateManager.create({
|
19206
19493
|
stateOne: Ember.State.create({
|
19207
|
-
changeToStateTwo: function(manager, context){
|
19494
|
+
changeToStateTwo: function(manager, context) {
|
19208
19495
|
manager.transitionTo('stateTwo', context)
|
19209
19496
|
}
|
19210
19497
|
}),
|
@@ -19532,7 +19819,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19532
19819
|
|
19533
19820
|
```javascript
|
19534
19821
|
managerC = Ember.StateManager.create({
|
19535
|
-
initialState: function(){
|
19822
|
+
initialState: function() {
|
19536
19823
|
if (someLogic) {
|
19537
19824
|
return 'active';
|
19538
19825
|
} else {
|
@@ -19575,12 +19862,12 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19575
19862
|
robotManager = Ember.StateManager.create({
|
19576
19863
|
initialState: 'poweredDown',
|
19577
19864
|
poweredDown: Ember.State.create({
|
19578
|
-
exit: function(stateManager){
|
19865
|
+
exit: function(stateManager) {
|
19579
19866
|
console.log("exiting the poweredDown state")
|
19580
19867
|
}
|
19581
19868
|
}),
|
19582
19869
|
poweredUp: Ember.State.create({
|
19583
|
-
enter: function(stateManager){
|
19870
|
+
enter: function(stateManager) {
|
19584
19871
|
console.log("entering the poweredUp state. Destroy all humans.")
|
19585
19872
|
}
|
19586
19873
|
})
|
@@ -19603,12 +19890,12 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19603
19890
|
robotManager = Ember.StateManager.create({
|
19604
19891
|
initialState: 'poweredDown',
|
19605
19892
|
poweredDown: Ember.State.create({
|
19606
|
-
exit: function(stateManager){
|
19893
|
+
exit: function(stateManager) {
|
19607
19894
|
console.log("exiting the poweredDown state")
|
19608
19895
|
}
|
19609
19896
|
}),
|
19610
19897
|
poweredUp: Ember.State.create({
|
19611
|
-
enter: function(stateManager){
|
19898
|
+
enter: function(stateManager) {
|
19612
19899
|
console.log("entering the poweredUp state. Destroy all humans.")
|
19613
19900
|
}
|
19614
19901
|
})
|
@@ -19671,37 +19958,37 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19671
19958
|
robotManager = Ember.StateManager.create({
|
19672
19959
|
initialState: 'poweredDown',
|
19673
19960
|
poweredDown: Ember.State.create({
|
19674
|
-
enter: function(){},
|
19675
|
-
exit: function(){
|
19961
|
+
enter: function() {},
|
19962
|
+
exit: function() {
|
19676
19963
|
console.log("exited poweredDown state")
|
19677
19964
|
},
|
19678
19965
|
charging: Ember.State.create({
|
19679
|
-
enter: function(){},
|
19680
|
-
exit: function(){}
|
19966
|
+
enter: function() {},
|
19967
|
+
exit: function() {}
|
19681
19968
|
}),
|
19682
19969
|
charged: Ember.State.create({
|
19683
|
-
enter: function(){
|
19970
|
+
enter: function() {
|
19684
19971
|
console.log("entered charged state")
|
19685
19972
|
},
|
19686
|
-
exit: function(){
|
19973
|
+
exit: function() {
|
19687
19974
|
console.log("exited charged state")
|
19688
19975
|
}
|
19689
19976
|
})
|
19690
19977
|
}),
|
19691
19978
|
poweredUp: Ember.State.create({
|
19692
|
-
enter: function(){
|
19979
|
+
enter: function() {
|
19693
19980
|
console.log("entered poweredUp state")
|
19694
19981
|
},
|
19695
|
-
exit: function(){},
|
19982
|
+
exit: function() {},
|
19696
19983
|
mobile: Ember.State.create({
|
19697
|
-
enter: function(){
|
19984
|
+
enter: function() {
|
19698
19985
|
console.log("entered mobile state")
|
19699
19986
|
},
|
19700
|
-
exit: function(){}
|
19987
|
+
exit: function() {}
|
19701
19988
|
}),
|
19702
19989
|
stationary: Ember.State.create({
|
19703
|
-
enter: function(){},
|
19704
|
-
exit: function(){}
|
19990
|
+
enter: function() {},
|
19991
|
+
exit: function() {}
|
19705
19992
|
})
|
19706
19993
|
})
|
19707
19994
|
})
|
@@ -19749,7 +20036,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19749
20036
|
initialState: 'stateOne.substateOne.subsubstateOne',
|
19750
20037
|
stateOne: Ember.State.create({
|
19751
20038
|
substateOne: Ember.State.create({
|
19752
|
-
anAction: function(manager, context){
|
20039
|
+
anAction: function(manager, context) {
|
19753
20040
|
console.log("an action was called")
|
19754
20041
|
},
|
19755
20042
|
subsubstateOne: Ember.State.create({})
|
@@ -19812,7 +20099,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19812
20099
|
})
|
19813
20100
|
}),
|
19814
20101
|
stateTwo: Ember.State.create({
|
19815
|
-
anAction: function(manager, context){
|
20102
|
+
anAction: function(manager, context) {
|
19816
20103
|
// will not be called below because it is
|
19817
20104
|
// not a parent of the current state
|
19818
20105
|
}
|
@@ -19833,18 +20120,18 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19833
20120
|
initialState: 'poweredDown.charging',
|
19834
20121
|
poweredDown: Ember.State.create({
|
19835
20122
|
charging: Ember.State.create({
|
19836
|
-
chargeComplete: function(manager, context){
|
20123
|
+
chargeComplete: function(manager, context) {
|
19837
20124
|
manager.transitionTo('charged')
|
19838
20125
|
}
|
19839
20126
|
}),
|
19840
20127
|
charged: Ember.State.create({
|
19841
|
-
boot: function(manager, context){
|
20128
|
+
boot: function(manager, context) {
|
19842
20129
|
manager.transitionTo('poweredUp')
|
19843
20130
|
}
|
19844
20131
|
})
|
19845
20132
|
}),
|
19846
20133
|
poweredUp: Ember.State.create({
|
19847
|
-
beginExtermination: function(manager, context){
|
20134
|
+
beginExtermination: function(manager, context) {
|
19848
20135
|
manager.transitionTo('rampaging')
|
19849
20136
|
},
|
19850
20137
|
rampaging: Ember.State.create()
|
@@ -19883,7 +20170,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19883
20170
|
|
19884
20171
|
bManager = Ember.StateManager.create({
|
19885
20172
|
stateOne: Ember.State.create({
|
19886
|
-
changeToStateTwo: function(manager, context){
|
20173
|
+
changeToStateTwo: function(manager, context) {
|
19887
20174
|
manager.transitionTo('stateTwo', context)
|
19888
20175
|
}
|
19889
20176
|
}),
|
@@ -20255,7 +20542,7 @@ define("metamorph",
|
|
20255
20542
|
// Copyright: ©2011 My Company Inc. All rights reserved.
|
20256
20543
|
// ==========================================================================
|
20257
20544
|
|
20258
|
-
var K = function(){},
|
20545
|
+
var K = function() {},
|
20259
20546
|
guid = 0,
|
20260
20547
|
document = this.document,
|
20261
20548
|
|
@@ -20265,7 +20552,7 @@ define("metamorph",
|
|
20265
20552
|
// Internet Explorer prior to 9 does not allow setting innerHTML if the first element
|
20266
20553
|
// is a "zero-scope" element. This problem can be worked around by making
|
20267
20554
|
// the first node an invisible text node. We, like Modernizr, use ­
|
20268
|
-
needsShy = document && (function(){
|
20555
|
+
needsShy = document && (function() {
|
20269
20556
|
var testEl = document.createElement('div');
|
20270
20557
|
testEl.innerHTML = "<div></div>";
|
20271
20558
|
testEl.firstChild.innerHTML = "<script></script>";
|
@@ -20721,7 +21008,7 @@ var objectCreate = Object.create || function(parent) {
|
|
20721
21008
|
};
|
20722
21009
|
|
20723
21010
|
var Handlebars = this.Handlebars || (Ember.imports && Ember.imports.Handlebars);
|
20724
|
-
if(!Handlebars && typeof require === 'function') {
|
21011
|
+
if (!Handlebars && typeof require === 'function') {
|
20725
21012
|
Handlebars = require('handlebars');
|
20726
21013
|
}
|
20727
21014
|
|
@@ -20831,7 +21118,7 @@ Ember.Handlebars.helper = function(name, value) {
|
|
20831
21118
|
} else {
|
20832
21119
|
Ember.Handlebars.registerBoundHelper.apply(null, arguments);
|
20833
21120
|
}
|
20834
|
-
}
|
21121
|
+
};
|
20835
21122
|
|
20836
21123
|
/**
|
20837
21124
|
@class helpers
|
@@ -20917,7 +21204,7 @@ Ember.Handlebars.Compiler.prototype.mustache = function(mustache) {
|
|
20917
21204
|
// Update the mustache node to include a hash value indicating whether the original node
|
20918
21205
|
// was escaped. This will allow us to properly escape values when the underlying value
|
20919
21206
|
// changes and we need to re-render the value.
|
20920
|
-
if(!mustache.escaped) {
|
21207
|
+
if (!mustache.escaped) {
|
20921
21208
|
mustache.hash = mustache.hash || new Handlebars.AST.HashNode([]);
|
20922
21209
|
mustache.hash.pairs.push(["unescaped", new Handlebars.AST.StringNode("true")]);
|
20923
21210
|
}
|
@@ -21115,7 +21402,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21115
21402
|
var error, view = "";
|
21116
21403
|
|
21117
21404
|
error = "%@ Handlebars error: Could not find property '%@' on object %@.";
|
21118
|
-
if (options.data){
|
21405
|
+
if (options.data) {
|
21119
21406
|
view = options.data.view;
|
21120
21407
|
}
|
21121
21408
|
throw new Ember.Error(Ember.String.fmt(error, [view, path, this]));
|
@@ -21152,7 +21439,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21152
21439
|
Ember.Handlebars.registerBoundHelper('repeat', function(value, options) {
|
21153
21440
|
var count = options.hash.count;
|
21154
21441
|
var a = [];
|
21155
|
-
while(a.length < count){
|
21442
|
+
while(a.length < count) {
|
21156
21443
|
a.push(value);
|
21157
21444
|
}
|
21158
21445
|
return a.join('');
|
@@ -21196,7 +21483,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21196
21483
|
|
21197
21484
|
```javascript
|
21198
21485
|
Ember.Handlebars.registerBoundHelper('concatenate', function() {
|
21199
|
-
var values = arguments
|
21486
|
+
var values = Array.prototype.slice.call(arguments, 0, -1);
|
21200
21487
|
return values.join('||');
|
21201
21488
|
});
|
21202
21489
|
```
|
@@ -21243,7 +21530,7 @@ Ember.Handlebars.registerBoundHelper = function(name, fn) {
|
|
21243
21530
|
view = data.view,
|
21244
21531
|
currentContext = (options.contexts && options.contexts[0]) || this,
|
21245
21532
|
normalized,
|
21246
|
-
pathRoot, path,
|
21533
|
+
pathRoot, path, prefixPathForDependentKeys = '',
|
21247
21534
|
loc, hashOption;
|
21248
21535
|
|
21249
21536
|
|
@@ -21292,8 +21579,11 @@ Ember.Handlebars.registerBoundHelper = function(name, fn) {
|
|
21292
21579
|
|
21293
21580
|
view.registerObserver(pathRoot, path, bindView, bindView.rerender);
|
21294
21581
|
|
21582
|
+
if(!Ember.isEmpty(path)) {
|
21583
|
+
prefixPathForDependentKeys = path + '.';
|
21584
|
+
}
|
21295
21585
|
for (var i=0, l=dependentKeys.length; i<l; i++) {
|
21296
|
-
view.registerObserver(pathRoot,
|
21586
|
+
view.registerObserver(pathRoot, prefixPathForDependentKeys + dependentKeys[i], bindView, bindView.rerender);
|
21297
21587
|
}
|
21298
21588
|
}
|
21299
21589
|
|
@@ -21400,7 +21690,7 @@ function evaluateUnboundHelper(context, fn, normalizedProperties, options) {
|
|
21400
21690
|
@for Ember.Handlebars
|
21401
21691
|
@param {String} template spec
|
21402
21692
|
*/
|
21403
|
-
Ember.Handlebars.template = function(spec){
|
21693
|
+
Ember.Handlebars.template = function(spec) {
|
21404
21694
|
var t = Handlebars.template(spec);
|
21405
21695
|
t.isTop = true;
|
21406
21696
|
return t;
|
@@ -21412,10 +21702,19 @@ Ember.Handlebars.template = function(spec){
|
|
21412
21702
|
|
21413
21703
|
(function() {
|
21414
21704
|
/**
|
21415
|
-
|
21416
|
-
|
21417
|
-
|
21418
|
-
|
21705
|
+
* Mark a string as safe for unescaped output with Handlebars. If you
|
21706
|
+
* return HTML from a Handlebars helper, use this function to
|
21707
|
+
* ensure Handlebars does not escape the HTML.
|
21708
|
+
*
|
21709
|
+
* ```javascript
|
21710
|
+
* Ember.String.htmlSafe('<div>someString</div>')
|
21711
|
+
* ```
|
21712
|
+
*
|
21713
|
+
* @method htmlSafe
|
21714
|
+
* @for Ember.String
|
21715
|
+
* @static
|
21716
|
+
* @return {Handlebars.SafeString} a string that will not be html escaped by Handlebars
|
21717
|
+
*/
|
21419
21718
|
Ember.String.htmlSafe = function(str) {
|
21420
21719
|
return new Handlebars.SafeString(str);
|
21421
21720
|
};
|
@@ -21425,11 +21724,18 @@ var htmlSafe = Ember.String.htmlSafe;
|
|
21425
21724
|
if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.String) {
|
21426
21725
|
|
21427
21726
|
/**
|
21428
|
-
|
21429
|
-
|
21430
|
-
|
21431
|
-
|
21432
|
-
|
21727
|
+
* Mark a string as being safe for unescaped output with Handlebars.
|
21728
|
+
*
|
21729
|
+
* ```javascript
|
21730
|
+
* '<div>someString</div>'.htmlSafe()
|
21731
|
+
* ```
|
21732
|
+
*
|
21733
|
+
* See `Ember.String.htmlSafe`.
|
21734
|
+
*
|
21735
|
+
* @method htmlSafe
|
21736
|
+
* @for String
|
21737
|
+
* @return {Handlebars.SafeString} a string that will not be html escaped by Handlebars
|
21738
|
+
*/
|
21433
21739
|
String.prototype.htmlSafe = function() {
|
21434
21740
|
return htmlSafe(this);
|
21435
21741
|
};
|
@@ -21534,7 +21840,6 @@ var DOMManager = {
|
|
21534
21840
|
/**
|
21535
21841
|
@class _Metamorph
|
21536
21842
|
@namespace Ember
|
21537
|
-
@extends Ember.Mixin
|
21538
21843
|
@private
|
21539
21844
|
*/
|
21540
21845
|
Ember._Metamorph = Ember.Mixin.create({
|
@@ -21929,7 +22234,7 @@ var forEach = Ember.ArrayPolyfills.forEach;
|
|
21929
22234
|
|
21930
22235
|
var EmberHandlebars = Ember.Handlebars, helpers = EmberHandlebars.helpers;
|
21931
22236
|
|
21932
|
-
function exists(value){
|
22237
|
+
function exists(value) {
|
21933
22238
|
return !Ember.isNone(value);
|
21934
22239
|
}
|
21935
22240
|
|
@@ -21954,7 +22259,7 @@ function bind(property, options, preserveContext, shouldDisplay, valueNormalizer
|
|
21954
22259
|
|
21955
22260
|
var template, context, result = handlebarsGet(currentContext, property, options);
|
21956
22261
|
|
21957
|
-
result = valueNormalizer(result);
|
22262
|
+
result = valueNormalizer ? valueNormalizer(result) : result;
|
21958
22263
|
|
21959
22264
|
context = preserveContext ? currentContext : result;
|
21960
22265
|
if (shouldDisplay(result)) {
|
@@ -22277,7 +22582,7 @@ EmberHandlebars.registerHelper('unless', function(context, options) {
|
|
22277
22582
|
|
22278
22583
|
```javascript
|
22279
22584
|
AView = Ember.View.extend({
|
22280
|
-
someProperty: function(){
|
22585
|
+
someProperty: function() {
|
22281
22586
|
return "aValue";
|
22282
22587
|
}.property()
|
22283
22588
|
})
|
@@ -22562,6 +22867,8 @@ EmberHandlebars.bindClasses = function(context, classBindings, view, bindAttrId,
|
|
22562
22867
|
|
22563
22868
|
var get = Ember.get, set = Ember.set;
|
22564
22869
|
var EmberHandlebars = Ember.Handlebars;
|
22870
|
+
var LOWERCASE_A_Z = /^[a-z]/;
|
22871
|
+
var VIEW_PREFIX = /^view\./;
|
22565
22872
|
|
22566
22873
|
EmberHandlebars.ViewHelper = Ember.Object.create({
|
22567
22874
|
|
@@ -22673,7 +22980,17 @@ EmberHandlebars.ViewHelper = Ember.Object.create({
|
|
22673
22980
|
newView;
|
22674
22981
|
|
22675
22982
|
if ('string' === typeof path) {
|
22676
|
-
|
22983
|
+
|
22984
|
+
// TODO: this is a lame conditional, this should likely change
|
22985
|
+
// but something along these lines will likely need to be added
|
22986
|
+
// as deprecation warnings
|
22987
|
+
//
|
22988
|
+
if (options.types[0] === 'STRING' && LOWERCASE_A_Z.test(path) && !VIEW_PREFIX.test(path)) {
|
22989
|
+
|
22990
|
+
newView = data.view.container.lookupFactory('view:' + path);
|
22991
|
+
} else {
|
22992
|
+
newView = EmberHandlebars.get(thisContext, path, options);
|
22993
|
+
}
|
22677
22994
|
|
22678
22995
|
} else {
|
22679
22996
|
newView = path;
|
@@ -23041,11 +23358,24 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23041
23358
|
var hash = options.hash, itemHash = {}, match;
|
23042
23359
|
|
23043
23360
|
// Extract item view class if provided else default to the standard class
|
23044
|
-
var
|
23045
|
-
|
23046
|
-
|
23047
|
-
|
23361
|
+
var collectionPrototype = collectionClass.proto(),
|
23362
|
+
itemViewClass;
|
23363
|
+
|
23364
|
+
if (hash.itemView) {
|
23365
|
+
var controller = data.keywords.controller;
|
23366
|
+
|
23367
|
+
var container = controller.container;
|
23368
|
+
itemViewClass = container.resolve('view:' + Ember.String.camelize(hash.itemView));
|
23369
|
+
|
23370
|
+
} else if (hash.itemViewClass) {
|
23371
|
+
itemViewClass = handlebarsGet(collectionPrototype, hash.itemViewClass, options);
|
23372
|
+
} else {
|
23373
|
+
itemViewClass = collectionPrototype.itemViewClass;
|
23374
|
+
}
|
23375
|
+
|
23048
23376
|
|
23377
|
+
delete hash.itemViewClass;
|
23378
|
+
delete hash.itemView;
|
23049
23379
|
|
23050
23380
|
// Go through options passed to the {{collection}} helper and extract options
|
23051
23381
|
// that configure item views instead of the collection itself.
|
@@ -23053,7 +23383,7 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23053
23383
|
if (hash.hasOwnProperty(prop)) {
|
23054
23384
|
match = prop.match(/^item(.)(.*)$/);
|
23055
23385
|
|
23056
|
-
if(match && prop !== 'itemController') {
|
23386
|
+
if (match && prop !== 'itemController') {
|
23057
23387
|
// Convert itemShouldFoo -> shouldFoo
|
23058
23388
|
itemHash[match[1].toLowerCase() + match[2]] = hash[prop];
|
23059
23389
|
// Delete from hash as this will end up getting passed to the
|
@@ -23080,7 +23410,7 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23080
23410
|
}
|
23081
23411
|
if (emptyViewClass) { hash.emptyView = emptyViewClass; }
|
23082
23412
|
|
23083
|
-
if(!hash.keyword){
|
23413
|
+
if (!hash.keyword) {
|
23084
23414
|
itemHash._context = Ember.computed.alias('content');
|
23085
23415
|
}
|
23086
23416
|
|
@@ -23127,7 +23457,7 @@ var handlebarsGet = Ember.Handlebars.get;
|
|
23127
23457
|
Ember.Handlebars.registerHelper('unbound', function(property, fn) {
|
23128
23458
|
var options = arguments[arguments.length - 1], helper, context, out;
|
23129
23459
|
|
23130
|
-
if(arguments.length > 2) {
|
23460
|
+
if (arguments.length > 2) {
|
23131
23461
|
// Unbound helper call.
|
23132
23462
|
options.data.isUnbound = true;
|
23133
23463
|
helper = Ember.Handlebars.helpers[arguments[0]] || Ember.Handlebars.helperMissing;
|
@@ -23185,7 +23515,7 @@ Ember.Handlebars.registerHelper('log', function(property, options) {
|
|
23185
23515
|
@for Ember.Handlebars.helpers
|
23186
23516
|
@param {String} property
|
23187
23517
|
*/
|
23188
|
-
Ember.Handlebars.registerHelper('debugger', function() {
|
23518
|
+
Ember.Handlebars.registerHelper('debugger', function(options) {
|
23189
23519
|
debugger;
|
23190
23520
|
});
|
23191
23521
|
|
@@ -23231,6 +23561,11 @@ Ember.Handlebars.EachView = Ember.CollectionView.extend(Ember._Metamorph, {
|
|
23231
23561
|
return this._super();
|
23232
23562
|
},
|
23233
23563
|
|
23564
|
+
_assertArrayLike: function(content) {
|
23565
|
+
|
23566
|
+
|
23567
|
+
},
|
23568
|
+
|
23234
23569
|
disableContentObservers: function(callback) {
|
23235
23570
|
Ember.removeBeforeObserver(this, 'content', null, '_contentWillChange');
|
23236
23571
|
Ember.removeObserver(this, 'content', null, '_contentDidChange');
|
@@ -23461,6 +23796,12 @@ GroupedEach.prototype = {
|
|
23461
23796
|
</div>
|
23462
23797
|
```
|
23463
23798
|
|
23799
|
+
If an `itemViewClass` is defined on the helper, and therefore the helper is not
|
23800
|
+
being used as a block, an `emptyViewClass` can also be provided optionally.
|
23801
|
+
The `emptyViewClass` will match the behavior of the `{{else}}` condition
|
23802
|
+
described above. That is, the `emptyViewClass` will render if the collection
|
23803
|
+
is empty.
|
23804
|
+
|
23464
23805
|
### Representing each item with a Controller.
|
23465
23806
|
By default the controller lookup within an `{{#each}}` block will be
|
23466
23807
|
the controller of the template where the `{{#each}}` was used. If each
|
@@ -23474,7 +23815,7 @@ GroupedEach.prototype = {
|
|
23474
23815
|
|
23475
23816
|
```javascript
|
23476
23817
|
App.DeveloperController = Ember.ObjectController.extend({
|
23477
|
-
isAvailableForHire: function(){
|
23818
|
+
isAvailableForHire: function() {
|
23478
23819
|
return !this.get('content.isEmployed') && this.get('content.isSeekingWork');
|
23479
23820
|
}.property('isEmployed', 'isSeekingWork')
|
23480
23821
|
})
|
@@ -23574,17 +23915,15 @@ Ember.Handlebars.registerHelper('each', function(path, options) {
|
|
23574
23915
|
Ember.TEMPLATES["my_cool_template"] = Ember.Handlebars.compile('<b>{{user}}</b>');
|
23575
23916
|
```
|
23576
23917
|
|
23918
|
+
@deprecated
|
23577
23919
|
@method template
|
23578
23920
|
@for Ember.Handlebars.helpers
|
23579
23921
|
@param {String} templateName the template to render
|
23580
23922
|
*/
|
23581
23923
|
|
23582
23924
|
Ember.Handlebars.registerHelper('template', function(name, options) {
|
23583
|
-
var view = options.data.view,
|
23584
|
-
template = view.templateForName(name);
|
23585
23925
|
|
23586
|
-
|
23587
|
-
template(this, { data: options.data });
|
23926
|
+
return Ember.Handlebars.helpers.partial.apply(this, arguments);
|
23588
23927
|
});
|
23589
23928
|
|
23590
23929
|
})();
|
@@ -23635,7 +23974,6 @@ Ember.Handlebars.registerHelper('partial', function(name, options) {
|
|
23635
23974
|
deprecatedTemplate = !template && view.templateForName(name);
|
23636
23975
|
|
23637
23976
|
|
23638
|
-
|
23639
23977
|
template = template || deprecatedTemplate;
|
23640
23978
|
|
23641
23979
|
template(this, { data: options.data });
|
@@ -23705,7 +24043,7 @@ var get = Ember.get, set = Ember.set;
|
|
23705
24043
|
@return {String} HTML string
|
23706
24044
|
*/
|
23707
24045
|
Ember.Handlebars.registerHelper('yield', function(options) {
|
23708
|
-
var
|
24046
|
+
var currentView = options.data.view, view = currentView, template;
|
23709
24047
|
|
23710
24048
|
while (view && !get(view, 'layout')) {
|
23711
24049
|
view = get(view, 'parentView');
|
@@ -23714,7 +24052,48 @@ Ember.Handlebars.registerHelper('yield', function(options) {
|
|
23714
24052
|
|
23715
24053
|
template = get(view, 'template');
|
23716
24054
|
|
23717
|
-
|
24055
|
+
var keywords = view._parentView.cloneKeywords();
|
24056
|
+
|
24057
|
+
currentView.appendChild(Ember.View, {
|
24058
|
+
isVirtual: true,
|
24059
|
+
tagName: '',
|
24060
|
+
template: template,
|
24061
|
+
context: get(view._parentView, 'context'),
|
24062
|
+
controller: get(view._parentView, 'controller'),
|
24063
|
+
templateData: {keywords: keywords}
|
24064
|
+
});
|
24065
|
+
});
|
24066
|
+
|
24067
|
+
})();
|
24068
|
+
|
24069
|
+
|
24070
|
+
|
24071
|
+
(function() {
|
24072
|
+
/**
|
24073
|
+
@module ember
|
24074
|
+
@submodule ember-handlebars
|
24075
|
+
*/
|
24076
|
+
|
24077
|
+
/**
|
24078
|
+
`loc` looks up the string in the localized strings hash.
|
24079
|
+
This is a convenient way to localize text. For example:
|
24080
|
+
|
24081
|
+
```html
|
24082
|
+
<script type="text/x-handlebars" data-template-name="home">
|
24083
|
+
{{loc welcome}}
|
24084
|
+
</script>
|
24085
|
+
```
|
24086
|
+
|
24087
|
+
Take note that `welcome` is a string and not an object
|
24088
|
+
reference.
|
24089
|
+
|
24090
|
+
@method loc
|
24091
|
+
@for Ember.Handlebars.helpers
|
24092
|
+
@param {String} str The string to format
|
24093
|
+
*/
|
24094
|
+
|
24095
|
+
Ember.Handlebars.registerHelper('loc', function(str) {
|
24096
|
+
return Ember.String.loc(str);
|
23718
24097
|
});
|
23719
24098
|
|
23720
24099
|
})();
|
@@ -23784,17 +24163,23 @@ Ember.Checkbox = Ember.View.extend({
|
|
23784
24163
|
|
23785
24164
|
tagName: 'input',
|
23786
24165
|
|
23787
|
-
attributeBindings: ['type', 'checked', 'disabled', 'tabindex', 'name'],
|
24166
|
+
attributeBindings: ['type', 'checked', 'indeterminate', 'disabled', 'tabindex', 'name'],
|
23788
24167
|
|
23789
24168
|
type: "checkbox",
|
23790
24169
|
checked: false,
|
23791
24170
|
disabled: false,
|
24171
|
+
indeterminate: false,
|
23792
24172
|
|
23793
24173
|
init: function() {
|
23794
24174
|
this._super();
|
23795
24175
|
this.on("change", this, this._updateElementValue);
|
23796
24176
|
},
|
23797
24177
|
|
24178
|
+
didInsertElement: function() {
|
24179
|
+
this._super();
|
24180
|
+
this.get('element').indeterminate = !!this.get('indeterminate');
|
24181
|
+
},
|
24182
|
+
|
23798
24183
|
_updateElementValue: function() {
|
23799
24184
|
set(this, 'checked', this.$().prop('checked'));
|
23800
24185
|
}
|
@@ -23817,7 +24202,6 @@ var get = Ember.get, set = Ember.set;
|
|
23817
24202
|
|
23818
24203
|
@class TextSupport
|
23819
24204
|
@namespace Ember
|
23820
|
-
@extends Ember.Mixin
|
23821
24205
|
@private
|
23822
24206
|
*/
|
23823
24207
|
Ember.TextSupport = Ember.Mixin.create({
|
@@ -24829,9 +25213,9 @@ function program7(depth0,data) {
|
|
24829
25213
|
content = get(this, 'content'),
|
24830
25214
|
selection = get(this, 'selection');
|
24831
25215
|
|
24832
|
-
if (!content){ return; }
|
25216
|
+
if (!content) { return; }
|
24833
25217
|
if (options) {
|
24834
|
-
var selectedIndexes = options.map(function(){
|
25218
|
+
var selectedIndexes = options.map(function() {
|
24835
25219
|
return this.index - offset;
|
24836
25220
|
}).toArray();
|
24837
25221
|
var newSelection = content.objectsAt(selectedIndexes);
|
@@ -24920,7 +25304,7 @@ Ember.Handlebars.registerHelper('input', function(options) {
|
|
24920
25304
|
if (inputType === 'checkbox') {
|
24921
25305
|
return Ember.Handlebars.helpers.view.call(this, Ember.Checkbox, options);
|
24922
25306
|
} else {
|
24923
|
-
hash.type = inputType;
|
25307
|
+
if (inputType) { hash.type = inputType; }
|
24924
25308
|
hash.onEvent = onEvent || 'enter';
|
24925
25309
|
return Ember.Handlebars.helpers.view.call(this, Ember.TextField, options);
|
24926
25310
|
}
|
@@ -25764,7 +26148,7 @@ Ember.Application.registerInjection({
|
|
25764
26148
|
var name = property.charAt(0).toLowerCase() + property.substr(1),
|
25765
26149
|
controllerClass = app[property], controller;
|
25766
26150
|
|
25767
|
-
if(!Ember.Object.detect(controllerClass)){ return; }
|
26151
|
+
if (!Ember.Object.detect(controllerClass)) { return; }
|
25768
26152
|
controller = app[property].create();
|
25769
26153
|
|
25770
26154
|
router.set(name, controller);
|
@@ -25885,7 +26269,6 @@ var merge = function(original, hash) {
|
|
25885
26269
|
/**
|
25886
26270
|
@class Routable
|
25887
26271
|
@namespace Ember
|
25888
|
-
@extends Ember.Mixin
|
25889
26272
|
*/
|
25890
26273
|
Ember.Routable = Ember.Mixin.create({
|
25891
26274
|
init: function() {
|
@@ -26814,7 +27197,7 @@ Ember.HistoryLocation = Ember.Object.extend({
|
|
26814
27197
|
var guid = Ember.guidFor(this);
|
26815
27198
|
|
26816
27199
|
Ember.$(window).on('popstate.ember-location-'+guid, function(e) {
|
26817
|
-
if(!popstateReady) {
|
27200
|
+
if (!popstateReady) {
|
26818
27201
|
return;
|
26819
27202
|
}
|
26820
27203
|
callback(location.pathname);
|
@@ -27643,7 +28026,7 @@ ActionHelper.registerAction = function(actionName, options) {
|
|
27643
28026
|
```javascript
|
27644
28027
|
AView = Ember.View.extend({
|
27645
28028
|
templateName: 'a-template',
|
27646
|
-
anActionName: function(event){}
|
28029
|
+
anActionName: function(event) {}
|
27647
28030
|
});
|
27648
28031
|
|
27649
28032
|
aView = AView.create();
|
@@ -27769,7 +28152,7 @@ ActionHelper.registerAction = function(actionName, options) {
|
|
27769
28152
|
AView = Ember.View.extend({
|
27770
28153
|
templateName; 'a-template',
|
27771
28154
|
// note: no method 'aMethodNameThatIsMissing'
|
27772
|
-
anActionName: function(event){}
|
28155
|
+
anActionName: function(event) {}
|
27773
28156
|
});
|
27774
28157
|
|
27775
28158
|
aView = AView.create();
|