From d6681db1eb684837e30888257e0d49a3c04c9102 Mon Sep 17 00:00:00 2001 From: Jeff Hertzler Date: Sun, 29 Dec 2019 15:12:53 -0500 Subject: [PATCH] fix deprecation --- dist/ember-graph.js | 4 ++-- dist/ember-graph.min.js | 2 +- dist/ember-graph.prod.js | 4 ++-- src/store/record_request_cache.js | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/ember-graph.js b/dist/ember-graph.js index 30d10e2..ea5f22f 100644 --- a/dist/ember-graph.js +++ b/dist/ember-graph.js @@ -6283,9 +6283,9 @@ define('ember-graph/store/record_request_cache', ['exports', 'ember'], function cache: null, - initializeCache: (function () { + initializeCache: _ember.default.on('init', function () { this.set('cache', _ember.default.Object.create()); - }).on('init'), + }), _getAndCreateTypeCache: function (typeKey) { if (!this.get('cache.' + typeKey)) { diff --git a/dist/ember-graph.min.js b/dist/ember-graph.min.js index d1c2e88..18e72af 100644 --- a/dist/ember-graph.min.js +++ b/dist/ember-graph.min.js @@ -1,3 +1,3 @@ (function(){"use strict";var a=this.define,b=this.require,c=function(){var c={},d={},e=function(a){if(!c[a])throw new Error("Module not found: "+a);var e={},f=c[a].dependencies.map(function(a){return"exports"===a?e:b(a)});return c[a].definition.apply(null,f),d[a]=e,c[a]=null,e};a=function(a,b,d){c[a]={dependencies:b,definition:d}},b=function(a){return d[a]||(d[a]=e(a)),d[a]}},d=function(b){a("ember-graph",["exports","ember"],function(a,c){b.EmberGraph=b.EG=c["default"].Namespace.create(),a["default"]=b.EmberGraph})};a&&a.petal||c();var e=this;try{if(!b("ember"))throw null}catch(f){a("ember",["exports"],function(a){a["default"]=e.Ember})}try{if(!b("jquery"))throw null}catch(f){a("jquery",["exports"],function(a){a["default"]=e.jQuery})}d(this),a("ember-graph/adapter/adapter",["exports","ember","ember-graph/util/util"],function(a,b,c){a["default"]=b["default"].Object.extend({store:null,createRecord:c.abstractMethod("createRecord"),findRecord:c.abstractMethod("findRecord"),findMany:c.abstractMethod("findMany"),findAll:c.abstractMethod("findAll"),findQuery:c.abstractMethod("findQuery"),updateRecord:c.abstractMethod("updateRecord"),deleteRecord:c.abstractMethod("deleteRecord"),serializerFor:function(a){return this.get("store").serializerFor(a)},serialize:function(a,b){return this.serializerFor(a.get("typeKey")).serialize(a,b)},deserialize:function(a,b){return this.serializerFor(b.recordType).deserialize(a,b)}})}),a("ember-graph/adapter/ember_graph/adapter",["exports","ember","ember-graph/adapter/adapter","ember-graph/adapter/ember_graph/load","ember-graph/adapter/ember_graph/server","ember-graph/adapter/ember_graph/database","ember-graph/util/computed"],function(a,b,c,d,e,f,g){var h=b["default"].RSVP.Promise,i=c["default"].extend({serializer:g.computed({get:function(){return b["default"].getOwner(this).lookup("serializer:ember_graph")}}),createRecord:function(a){var b=this,c=a.get("typeKey"),d={requestType:"createRecord",recordType:c},e=this.serialize(a,d);return this.serverCreateRecord(c,e).then(function(a){return b.deserialize(a,d)})},findRecord:function(a,b){var c=this,d={requestType:"findRecord",recordType:a};return this.serverFindRecord(a,b).then(function(a){return c.deserialize(a,d)})},findMany:function(a,b){var c=this,d={requestType:"findMany",recordType:a};return this.serverFindMany(a,b).then(function(a){return c.deserialize(a,d)})},findAll:function(a){var b=this,c={requestType:"findAll",recordType:a};return this.serverFindAll(a).then(function(a){return b.deserialize(a,c)})},findQuery:function(){return h.reject("LocalStorageAdapter doesn't implement `findQuery` by default.")},updateRecord:function(a){var b=this,c=a.get("typeKey"),d={requestType:"updateRecord",recordType:c},e=this.serialize(a,d);return this.serverUpdateRecord(c,a.get("id"),e).then(function(a){return b.deserialize(a,d)})},deleteRecord:function(a){var b=this,c=a.get("typeKey"),d={requestType:"deleteRecord",recordType:c};return this.serverDeleteRecord(c,a.get("id")).then(function(a){return b.deserialize(a,d)})},serialize:function(a,b){return this.get("serializer").serialize(a,b)},deserialize:function(a,b){return this.get("serializer").deserialize(a,b)}});i.reopen(d["default"]),i.reopen(e["default"]),i.reopen(f["default"]),a["default"]=i}),a("ember-graph/adapter/ember_graph/database",["exports","ember","ember-graph/model/model","ember-graph/util/copy","ember-graph/util/util","ember-graph/util/string"],function(a,b,c,d,e,f){var g=/^\/links\/([^\/]+)/i,h=/^\/links\/([^\/]+)\/.+/i;function i(a,b){return a.match("add"===b?g:h)[1]}a["default"]={getDatabase:e.abstractMethod("getDatabase"),setDatabase:e.abstractMethod("saveDatabase"),databaseHasRecord:function(a,b,c){try{return!!c.records[a][b]}catch(d){return!1}},getRecordFromDatabase:function(a,b,e){var f=this.get("store").modelFor(a),g=d["default"](e.records[a][b],!0);return g.id=b,g.links={},e.relationships.forEach(function(d){var e;d.t1===a&&d.i1===b&&null!==d.n1?(e=f.metaForRelationship(d.n1),e.kind===c["default"].HAS_ONE_KEY?g.links[d.n1]={type:d.t2,id:d.i2}:(g.links[d.n1]=g.links[d.n1]||[],g.links[d.n1].push({type:d.t2,id:d.i2}))):d.t2===a&&d.i2===b&&null!==d.n2&&(e=f.metaForRelationship(d.n2),e.kind===c["default"].HAS_ONE_KEY?g.links[d.n2]={type:d.t1,id:d.i1}:(g.links[d.n2]=g.links[d.n2]||[],g.links[d.n2].push({type:d.t1,id:d.i1})))}),f.eachRelationship(function(a,b){g.links[a]||(b.kind===c["default"].HAS_ONE_KEY?g.links[a]=null:g.links[a]=[])}),g},putRecordInDatabase:function(a,b,d,e){var f=this.get("store").modelFor(a);return e.records[a]=e.records[a]||{},e.records[a][b]={},f.eachAttribute(function(c,f){e.records[a][b][c]=d[c]}),f.eachRelationship(function(f,g){if(g.kind===c["default"].HAS_ONE_KEY){if(d.links[f]){var h={t1:a,i1:b,n1:f,t2:d.links[f].type,i2:d.links[f].id,n2:g.inverse};e=this.setHasOneRelationshipInDatabase(h,e)}}else d.links[f].forEach(function(c){var d={t1:a,i1:b,n1:f,t2:c.type,i2:c.id,n2:g.inverse};e=this.addHasManyRelationshipToDatabase(d,e)},this)},this),e},applyChangesToDatabase:function(a,b,c,d){var e=this.get("store").modelFor(a);return c.forEach(function(c){switch(c.op){case"replace":if(f.startsWith(c.path,"/links/")){var g=c.path.substring("/links/".length);if(null===c.value)d=this.clearHasOneRelationshipInDatabase(a,b,g,d);else{var h=e.metaForRelationship(g),j={t1:a,i1:b,n1:g,t2:c.value.type,i2:c.value.id,n2:h.inverse};d=this.setHasOneRelationshipInDatabase(j,d)}}else{var k=c.path.substring("/".length);d.records[a][b][k]=c.value}break;case"add":case"remove":var l=i(c.path,c.op),m=e.metaForRelationship(l),n={t1:a,i1:b,n1:l,t2:c.value.type,i2:c.value.id,n2:m.inverse};d="add"===c.op?this.addHasManyRelationshipToDatabase(n,d):this.removeHasManyRelationshipFromDatabase(n,d)}},this),d},addHasManyRelationshipToDatabase:function(a,b){var d=this.getRelationshipsFor(a.t1,a.i1,a.n1,b),e=d.filter(function(b){return a.t2===b.t2&&a.i2===b.i2&&a.n2===b.n2});if(e.length>0)return b;if(a.n2){var f=this.get("store").modelFor(a.t2),g=f.metaForRelationship(a.n2);g.kind===c["default"].HAS_ONE_KEY&&(b=this.clearHasOneRelationshipInDatabase(a.t2,a.i2,a.n2,b))}return b.relationships.push(a),b},removeHasManyRelationshipFromDatabase:function(a,b){return b.relationships=b.relationships.filter(function(b){return!(a.t2===b.t2&&a.i2===b.i2&&a.n2===b.n2)}),b},setHasOneRelationshipInDatabase:function(a,b){if(b=this.clearHasOneRelationshipInDatabase(a.t1,a.i1,a.n1,b),a.n2){var d=this.get("store").modelFor(a.t2),e=d.metaForRelationship(a.n2);e.kind===c["default"].HAS_ONE_KEY&&(b=this.clearHasOneRelationshipInDatabase(a.t2,a.i2,a.n2,b))}return b.relationships.push(a),b},clearHasOneRelationshipInDatabase:function(a,b,c,d){var e=this.getRelationshipsFor(a,b,c,d);return e.forEach(function(a){d.relationships.splice(d.relationships.indexOf(a),1)}),d},getRelationshipsFor:function(a,b,c,d){return d.relationships.filter(function(d){return d.t1===a&&d.i1===b&&d.n1===c||d.t2===a&&d.i2===b&&d.n2===c})}}}),a("ember-graph/adapter/ember_graph/load",["exports","ember","ember-graph/model/model","ember-graph/util/set","ember-graph/util/copy","ember-graph/util/util"],function(a,b,c,d,e,f){var g=b["default"].RSVP.Promise,h=b["default"].typeOf;a["default"]={shouldInitializeDatabase:function(){return!1},getInitialPayload:function(){return{records:{},relationships:[]}},initializeDatabase:function(){if(!this.shouldInitializeDatabase())return g.resolve();var a=this.getInitialPayload();try{var b=this.convertAndVerifyPayload(e["default"](a,!0));return this.setDatabase(b)}catch(c){return g.reject(c)}},convertAndVerifyPayload:function(a){var b={records:this.extractRecords(a),relationships:this.extractRelationships(a)};return this.validateDatabase(b),b},extractRecords:function(a){var b=this.get("store"),c={};return f.values(a,function(a,d){c[a]={};var e=b.modelFor(a);d.forEach(function(b){c[a][b.id]=this.convertRecord(e,b)},this)},this),c},convertRecord:function(a,c){var d={};return a.eachAttribute(function(e,f){var g=this.get("store").attributeTypeFor(f.type);if(void 0===c[e]){if(f.isRequired)throw new b["default"].Error(b["default"].get(a,"typeKey")+":"+c.id+" is missing `"+e+"`");d[e]=g.serialize(f.getDefaultValue())}else d[e]=g.serialize(c[e])},this),d},extractRelationships:function(a){var b=this.get("store"),c=[],e=d["default"].create();function g(a){var b=a.t1+":"+a.i1+":"+a.n1,d=a.t2+":"+a.i2+":"+a.n2,f=d>b?b+"::"+d:d+"::"+b;e.contains(f)||(e.addObject(f),c.push(a))}return f.values(a,function(a,c){var d=b.modelFor(a);c.forEach(function(a){var b=this.extractRelationshipsFromRecord(d,a);b.forEach(g)},this)},this),c},extractRelationshipsFromRecord:function(a,d){var e=[],f=b["default"].get(a,"typeKey");return a.eachRelationship(function(a,g){var i=d[a];if(void 0===i){if(g.isRequired)throw new b["default"].Error(f+":"+d.id+" is missing `"+a+"`");i=g.getDefaultValue()}g.kind===c["default"].HAS_ONE_KEY?null!==i&&(("string"===h(i)||"number"===h(i))&&(i={type:g.relatedType,id:i+""}),e.push({t1:f,i1:d.id+"",n1:a,t2:i.type,i2:i.id+"",n2:g.inverse})):i.forEach(function(b){var c=b;("string"===h(c)||"number"===h(c))&&(c={type:g.relatedType,id:c+""}),e.push({t1:f,i1:d.id+"",n1:a,t2:c.type,i2:c.id+"",n2:g.inverse})})}),e},validateDatabase:function(a){function e(b,c,d){return a.relationships.filter(function(a){return a.t1===b&&a.i1===c&&a.n1===d||a.t2===b&&a.i2===c&&a.n2===d})}function g(a){var b=a.t1+":"+a.i1+":"+a.n1,c=a.t2+":"+a.i2+":"+a.n2;return c>b?b+"::"+c:c+"::"+b}var h=d["default"].create();if(h.addObjects(a.relationships.map(g)),b["default"].get(h,"length")!==a.relationships.length)throw new b["default"].Error("An invalid set of relationships was generated.");a.relationships.forEach(function(c){if(!a.records[c.t1][c.i1])throw new b["default"].Error(c.t1+":"+c.i1+" doesn't exist");if(!a.records[c.t2][c.i2])throw new b["default"].Error(c.t2+":"+c.i2+" doesn't exist")}),f.values(a.records,function(a,d){var g=this.get("store").modelFor(a);g.eachRelationship(function(g,h){h.kind===c["default"].HAS_ONE_KEY&&f.values(d,function(c,d){var f=e(a,c,g);if(f.length>1)throw new b["default"].Error("Too many relationships connected to "+a+":"+c+":"+g)})})},this)}}}),a("ember-graph/adapter/ember_graph/server",["exports","ember","ember-graph/util/inflector","ember-graph/util/util"],function(a,b,c,d){function e(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}a["default"]={serverCreateRecord:function(a,b){var d=this,f=null;return this.getDatabase().then(function(e){f=d.generateIdForRecord(a,b,e);var g=d.putRecordInDatabase(a,f,b[c.pluralize(a)][0],e);return d.setDatabase(g)}).then(function(b){var g=d.getRecordFromDatabase(a,f,b);return e({},c.pluralize(a),[g])})},serverFindRecord:function(a,d){var e=this;return this.getDatabase().then(function(f){if(b["default"].get(f,"records."+a+"."+d)){var g={};return g[c.pluralize(a)]=[e.getRecordFromDatabase(a,d,f)],g}throw{status:404,typeKey:a,id:d}})},serverFindMany:function(a,d){var e=this;return this.getDatabase().then(function(f){var g=d.map(function(c){if(b["default"].get(f,"records."+a+"."+c))return e.getRecordFromDatabase(a,c,f);throw{status:404,typeKey:a,id:c}}),h={};return h[c.pluralize(a)]=g,h})},serverFindAll:function(a){var b=this;return this.getDatabase().then(function(d){var e=Object.keys(d.records[a]||{}).map(function(c){return b.getRecordFromDatabase(a,c,d)}),f={};return f[c.pluralize(a)]=e,f})},serverUpdateRecord:function(a,b,d){var f=this;return this.getDatabase().then(function(c){var e=f.applyChangesToDatabase(a,b,d,c);return f.setDatabase(e)}).then(function(d){return e({},c.pluralize(a),[f.getRecordFromDatabase(a,b,d)])})},serverDeleteRecord:function(a,b){var c=this;return this.getDatabase().then(function(d){return d.records[a]&&delete d.records[a][b],d.relationships=d.relationships.filter(function(c){return!(c.t1===a&&c.i1===b||c.t2===a&&c.i2===b)}),c.setDatabase(d).then(function(){return{meta:{deletedRecords:[{type:a,id:b}]}}})})},generateIdForRecord:function(a,b,c){return d.generateUUID()}}}),a("ember-graph/adapter/local_storage",["exports","ember","ember-graph/adapter/ember_graph/adapter"],function(a,b,c){var d=b["default"].RSVP.Promise;a["default"]=c["default"].extend({localStorageKey:"ember-graph.db",getDatabase:function(){try{var a=this.get("localStorageKey"),b=localStorage[a];return b?d.resolve(JSON.parse(b)):d.resolve({records:{},relationships:[]})}catch(c){return d.reject(c)}},setDatabase:function(a){try{var b=this.get("localStorageKey");return localStorage[b]=JSON.stringify(a),d.resolve(a)}catch(c){return d.reject(c)}},initializeDatabase:function(){this._super()},initializeDatabaseOnInit:b["default"].on("init",function(){this.initializeDatabase()})})}),a("ember-graph/adapter/memory",["exports","ember","ember-graph/adapter/ember_graph/adapter"],function(a,b,c){var d=b["default"].RSVP.Promise;a["default"]=c["default"].extend({database:null,getDatabase:function(){try{var a=this.get("database");return a?d.resolve(a):d.resolve({records:{},relationships:[]})}catch(b){return d.reject(b)}},setDatabase:function(a){try{return this.set("database",a),d.resolve(a)}catch(b){return d.reject(b)}},shouldInitializeDatabase:function(){return!0},initializeDatabase:function(){this._super()},initializeDatabaseOnInit:b["default"].on("init",function(){this.initializeDatabase()})})}),a("ember-graph/adapter/rest",["exports","jquery","ember","ember-graph/util/copy","ember-graph/adapter/adapter","ember-graph/util/inflector","ember-graph/util/computed"],function(a,b,c,d,e,f,g){var h=c["default"].RSVP.Promise;a["default"]=e["default"].extend({urlLengthLimit:2048,createRecord:function(a){var b=this,c=a.get("typeKey"),d=this.buildUrl(c),e=this.serialize(a,{requestType:"createRecord",recordType:c});return this.ajax(d,"POST",e).then(function(a){return b.deserialize(a,{requestType:"createRecord",recordType:c})})},findRecord:function(a,b){var c=this,d=this.buildUrl(a,b);return this.ajax(d,"GET").then(function(d){return c.deserialize(d,{requestType:"findRecord",recordType:a,id:b})})},findMany:function(a,b){var c=this,d=this.buildUrl(a,b.join(","));if(window.location.origin.length+d.length<=this.get("urlLengthLimit"))return this.ajax(d,"GET").then(function(d){return c.deserialize(d,{requestType:"findMany",recordType:a,ids:b})});var e=this.buildMultipleUrls(a,b),f=e.map(function(a){return c.ajax(a,"GET")});return h.all(f).then(function(d){var e=c.mergePayloads(d);return c.deserialize(e,{requestType:"findMany",recordType:a,ids:b})})},findAll:function(a){var b=this,c=this.buildUrl(a);return this.ajax(c,"GET").then(function(c){return b.deserialize(c,{requestType:"findAll",recordType:a})})},findQuery:function(a,b){var c=this,d={};Object.keys(b).forEach(function(a){d[a]=""+b[a]});var e=this.buildUrl(a,null,d);return this.ajax(e,"GET").then(function(d){return c.deserialize(d,{requestType:"findQuery",recordType:a,query:b})})},updateRecord:function(a){var b=this,c=this.buildUrl(a.typeKey,a.get("id")),d=this.serialize(a,{requestType:"updateRecord"});return d.length<=0?h.resolve():this.ajax(c,"PATCH",d).then(function(c){return b.deserialize(c,{requestType:"updateRecord",recordType:a.typeKey})})},deleteRecord:function(a){var b=this,c=this.buildUrl(a.typeKey,a.get("id"));return this.ajax(c,"DELETE").then(function(c){var d={requestType:"deleteRecord",recordType:a.typeKey};return b.deserialize(c,d)})},buildUrl:function(a,b,c){var d=this.get("prefix")+"/"+f.pluralize(a);return b&&(d+="/"+b),c&&Object.keys(c).forEach(function(a,b){d+=(0===b?"?":"&")+a+"="+encodeURIComponent(c[a])}),d},buildMultipleUrls:function(a,b){var c=this.get("prefix")+"/"+f.pluralize(a)+"/",d=window.location.origin.length+c.length,e=this.get("urlLengthLimit"),g=b.reduce(function(a,b){var c=a[a.length-1];return d+c.join(",").length+b.length+1<=e?c.push(b):a.push([b]),a},[[]]);return g.map(function(a){return c+a.join(",")})},mergePayloads:function(a){var b=function(a,e){var f=c["default"].assign(d["default"](a,!0),e);for(var g in e)e.hasOwnProperty(g)&&a.hasOwnProperty(g)&&(c["default"].isArray(e[g])?f[g]=a[g].concat(e[g]):e[g]&&"object"==typeof e[g]&&(f[g]=b(a[g],e[g])));return f};return a.reduce(b,{})},prefix:g.computed({get:function(){return""}}),ajax:function(a,d,e){var f=this.headers(a,d,e);return new h(function(g,h){b["default"].ajax({cache:!1,contentType:"application/json",data:e&&("string"===c["default"].typeOf(e)?e:JSON.stringify(e)),headers:f,processData:!1,type:d,url:a,error:function(a,b,d){c["default"].run(null,h,d)},success:function(a,b,d){c["default"].run(null,g,a)}})})},headers:function(a,b,c){return{}}})}),a("ember-graph/attribute_type/array",["exports","ember","ember-graph/attribute_type/type"],function(a,b,c){a["default"]=c["default"].extend({serialize:function(a){return b["default"].isNone(a)?null:b["default"].isArray(a.toArray?a.toArray():a)?a:null},deserialize:function(a){return b["default"].isArray(a)?a:null},isEqual:function(a,c){return b["default"].isArray(a)&&b["default"].isArray(c)?0===b["default"].compare(a.toArray(),c.toArray()):!1}})}),a("ember-graph/attribute_type/boolean",["exports","ember","ember-graph/attribute_type/type"],function(a,b,c){a["default"]=c["default"].extend({defaultValue:!1,serialize:function(a){return this.coerceToBoolean(a)},deserialize:function(a){return this.coerceToBoolean(a)},coerceToBoolean:function(a){return"boolean"===b["default"].typeOf(a)&&1==a?!0:"string"===b["default"].typeOf(a)&&"true"==a?!0:!1}})}),a("ember-graph/attribute_type/date",["exports","ember","ember-graph/attribute_type/type"],function(a,b,c){a["default"]=c["default"].extend({serialize:function(a){switch(b["default"].typeOf(a)){case"date":return a.getTime();case"number":return a;case"string":return new Date(a).getTime();default:return null}},deserialize:function(a){switch(b["default"].typeOf(a)){case"number":case"string":return new Date(a);default:return null}},isEqual:function(a,b){var c=null===a,d=null===b;return c&&d?!0:c&&!d||!c&&d?!1:new Date(a).getTime()===new Date(b).getTime()}})}),a("ember-graph/attribute_type/enum",["exports","ember","ember-graph/util/set","ember-graph/attribute_type/type","ember-graph/util/computed"],function(a,b,c,d,e){a["default"]=d["default"].extend({defaultValue:e.computed({get:function(){throw new b["default"].Error("You must override the `defaultValue` in an enumeration type.")}}),values:[],valueSet:e.computed("values",{get:function(){var a=c["default"].create(),b=this.get("values");return a.addObjects(b.map(function(a){return a.toLocaleLowerCase()})),a}}),isValidValue:function(a){return this.get("valueSet").contains(a.toLowerCase())},serialize:function(a){var c=a+"";if(this.isValidValue(c))return c;var d=this.get("defaultValue");if(this.isValidValue(d))return d;throw new b["default"].Error("The default value you provided isn't a valid value.")},deserialize:function(){return this.serialize.apply(this,arguments)},isEqual:function(a,c){return"string"!==b["default"].typeOf(a)||"string"!==b["default"].typeOf(c)?!1:(a+"").toLocaleLowerCase()===(c+"").toLocaleLowerCase()}})}),a("ember-graph/attribute_type/number",["exports","ember","ember-graph/attribute_type/type"],function(a,b,c){a["default"]=c["default"].extend({defaultValue:0,serialize:function(a){return this.coerceToNumber(a)},deserialize:function(a){return this.coerceToNumber(a)},coerceToNumber:function(a){if(this.isValidNumber(a))return Number(a).valueOf();if("string"===b["default"].typeOf(a)){var c=Number(a).valueOf();if(this.isValidNumber(c))return c}return 0},isValidNumber:function(a){return"number"===b["default"].typeOf(a)&&!isNaN(a)&&isFinite(a)}})}),a("ember-graph/attribute_type/object",["exports","ember","ember-graph/util/set","ember-graph/attribute_type/type"],function(a,b,c,d){a["default"]=d["default"].extend({serialize:function(a){if(!this.isObject(a))return null;try{return JSON.stringify(a),a}catch(b){return null}},deserialize:function(a){return this.isObject(a)?a:null},isEqual:function(a,b){return this.isObject(a)&&this.isObject(b)?this.deepCompare(a,b):!1},isObject:function(a){return!b["default"].isNone(a)&&"object"===b["default"].typeOf(a)&&a.constructor===Object},deepCompare:function(a,d){if(this.isObject(a)&&this.isObject(d)){var e=c["default"].create(),f=c["default"].create();if(e.addObjects(Object.keys(a)),f.addObjects(Object.keys(d)),!e.isEqual(f))return!1;for(var g=Object.keys(a),h=0;h0}}),_areAttributesDirty:d.deprecateProperty("`_areAttributeDirty` is now `areAttributesDirty`","areAttributesDirty"),init:function(){this._super(),this.setProperties({serverAttributes:b["default"].Object.create(),clientAttributes:b["default"].Object.create()})},changedAttributes:function(){var a={},b=this.get("store");return this.constructor.eachAttribute(function(c,d){var e=this.get("serverAttributes."+c),f=this.get("clientAttributes."+c),g=d.isEqual?d:b.attributeTypeFor(d.type);void 0===f||g.isEqual(e,f)||(a[c]=[e,f])},this),a},rollbackAttributes:function(){this.set("clientAttributes",b["default"].Object.create())},rollbackSingleAttribute:function(a){this.clientAttributes.set(a,this.serverAttributes.get(a))},loadAttributesFromServer:function(a){var b=this.get("serverAttributes");this.constructor.eachAttribute(function(c,d){var e=a.hasOwnProperty(c)?a[c]:d.getDefaultValue();b.set(c,e),this.synchronizeAttribute(c)},this)},synchronizeAttribute:function(a){var b=this.get("serverAttributes."+a),c=this.get("clientAttributes."+a),d=this.constructor.metaForAttribute(a),e=d.isEqual?d:this.get("store").attributeTypeFor(d.type);e.isEqual(b,c)&&(delete this.get("clientAttributes")[a],this.notifyPropertyChange("clientAttributes"))},initializeAttributes:function(a){this.constructor.eachAttribute(function(b,c){var d=a[b];void 0!==d&&this.set(b,d)},this)},areAttributesInitialized:function(){var a=!0;return this.constructor.eachAttribute(function(b,c){c.isRequired&&!c.isServerOnly&&(a=a&&this.isAttributeInitialized(b))},this),a},isAttributeInitialized:function(a){return!this.get("isNew")||void 0!==this.get(a)}});g.reopenClass({declareAttributes:function(a){var b={};Object.keys(a).forEach(function(c){b[c]=f(c,a[c].options)}),this.reopen(b)},attributes:e.computed({get:function(){var a=c["default"].create();return this.eachComputedProperty(function(b,c){c.isAttribute&&a.addObject(b)}),a}}),metaForAttribute:function(){return this.metaForProperty.apply(this,arguments)},isAttribute:function(a){return b["default"].get(this,"attributes").contains(a)},eachAttribute:function(a,b){this.eachComputedProperty(function(c,d){d.isAttribute&&a.call(b,c,d)})}}),a["default"]=g}),a("ember-graph/model/model",["exports","ember","ember-graph/model/core","ember-graph/model/states","ember-graph/model/relationship_load","ember-graph/util/util","ember-graph/util/string","ember-graph/util/computed","ember-graph/model/relationship"],function(a,b,c,d,e,f,g,h,i){var j=c["default"].extend(b["default"].Evented,{typeKey:null,_id:null,id:h.computed("_id",{get:function(){return this.get("_id")},set:function(a,c){var d=this.get("_id"),e=this.constructor.temporaryIdPrefix;if(null!==d&&(!g.startsWith(d,e)||g.startsWith(c,e)))throw new b["default"].Error("Cannot change the 'id' property of a model.");this.set("_id",c)}}),store:null,loadData:function(){return this.loadDataFromServer.apply(this,arguments)},loadDataFromServer:function(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.loadAttributesFromServer(a),this.loadRelationshipsFromServer(a)},initializeRecord:function(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.initializeAttributes(a),this.initializeRelationships(a)},save:function(){var a=this,b=null;return b=this.get("isNew")?"isCreating":"isSaving",this.set(b,!0),this.get("store").saveRecord(this)["finally"](function(){a.set(b,!1)})},reload:function(){var a=this;return this.set("isReloading",!0),this.get("store").reloadRecord(this)["finally"](function(){a.set("isReloading",!1)})},destroyRecord:function(){var a=this;return this.set("isDeleting",!0),this.get("store").deleteRecord(this).then(function(){a.set("isDeleted",!0),a.destroy()})["finally"](function(){a.set("isDeleting",!1)})},isEqual:function(a){return a?this.typeKey===b["default"].get(a,"typeKey")&&this.get("id")===b["default"].get(a,"id"):void 0},isInitialized:function(){return!this.get("isNew")||this.areAttributesInitialized()&&this.areRelationshipsInitialized()},rollback:function(){this.rollbackAttributes(),this.rollbackRelationships()}});j.reopenClass({temporaryIdPrefix:"EG_TEMP_ID_",isTemporaryId:function(a){return g.startsWith(a,this.temporaryIdPrefix)},create:function(a){var c=this._super();return c.set("store",a),c.set("_id",b["default"].get(this,"temporaryIdPrefix")+f.generateUUID()),c},extend:function(){var a=Array.prototype.slice.call(arguments,0),c=a.pop()||{},d={},e={};c instanceof b["default"].Mixin||Object.keys(c).forEach(function(a){var b=c[a];c[a]&&(c[a].isRelationship?(e[a]=b,delete c[a]):c[a].isAttribute&&(d[a]=b,delete c[a]))}),a.push(c);var f=this._super.apply(this,a);return f.declareAttributes(d),f.declareRelationships(e),f},isEqual:function(a,c){return b["default"].isNone(a)||b["default"].isNone(c)?!1:this.detectInstance(a)?a.isEqual(c):this.detectInstance(c)?c.isEqual(a):this.detectInstance(b["default"].get(a,"content"))?b["default"].get(a,"content").isEqual(c):this.detectInstance(b["default"].get(c,"content"))?b["default"].get(c,"content").isEqual(a):!1}}),j.reopen(d["default"]),j.reopen(i.RelationshipPublicMethods),j.reopen(i.RelationshipPrivateMethods),j.reopen(e["default"]),j.reopenClass(i.RelationshipClassMethods),j.reopenClass({HAS_ONE_KEY:i.HAS_ONE_KEY,HAS_MANY_KEY:i.HAS_MANY_KEY}),a["default"]=j}),a("ember-graph/model/relationship",["exports","ember","ember-graph/relationship/relationship","ember-graph/relationship/relationship_store","ember-graph/util/set","ember-graph/util/copy","ember-graph/util/computed","ember-graph/util/util","ember-graph/constants"],function(a,b,c,d,e,f,g,h,i){var j=i.RelationshipTypes.HAS_ONE_KEY,k=i.RelationshipTypes.HAS_MANY_KEY,l=c["default"].CLIENT_STATE,m=c["default"].SERVER_STATE,n=c["default"].DELETED_STATE,o=function(a){return this.getHasOneValue(a.substring(1),!1)},p=function(a){return this.getHasManyValue(a.substring(1),!1)},q=function(a,b,c){var d={isRelationship:!1,kind:b,isRequired:c.hasOwnProperty("defaultValue")?!1:c.isRequired!==!1,defaultValue:c.defaultValue,relatedType:c.relatedType,inverse:c.inverse,isReadOnly:c.readOnly===!0||c.serverOnly===!0,isPolymorphic:c.polymorphic===!0,isServerOnly:c.serverOnly===!0,getDefaultValue:function(){var a=this.defaultValue||(b===k?[]:null);return"function"==typeof a?a():a}};return{relationship:g.computed("relationships.{client,deleted,server}."+a,{ get:d.kind===k?p:o}).meta(d),meta:d}},r={metaForRelationship:function(){return this.metaForProperty.apply(this,arguments)},relationshipKind:function(a){return this.metaForRelationship(a).kind},eachRelationship:function(a,b){for(var c=this.prototype;c&&c.metaMap;){if(c.metaMap._all)for(var d=0,e=c.metaMap._all.length;e>d;++d){var f=c.metaMap._all[d];a.call(b,f,c.metaMap[f])}"function"!=typeof Object.getPrototypeOf&&("object"==typeof"test".__proto__?Object.getPrototypeOf=function(a){return a.__proto__}:Object.getPrototypeOf=function(a){return a.constructor.prototype}),c=Object.getPrototypeOf(c)}},declareRelationships:function(a){var c={};Object.keys(a).forEach(function(d){var e=q(d,a[d].kind,a[d].options),i=e.relationship,k=e.meta;c["_"+d]=i;var l,m=f["default"](k,!0),n=m.relatedType;l=m.kind===j?function(a){var b=this.get("_"+a);return b?this.get("store").find(b.type,b.id):null}:m.isPolymorphic?function(a){var c=this.get("store"),d=this.get("_"+a),e=h.groupRecords(d),f=e.map(function(a){var b=a.map(function(a){return a.id});return c.find(a[0].type,b)});return b["default"].RSVP.Promise.all(f).then(function(a){return a.reduce(function(a,b){return a.concat(b)},[])})}:function(a){var b=this.get("_"+a),c=b.map(function(a){return a.id});return this.get("store").find(n,c)},m.isRelationship=!0,c[d]=g.computed("_"+d,{get:l}).meta(m),c.metaMap||(c.metaMap=[],c.metaMap._all=[]),c.metaMap[d]=m,c.metaMap._all.push(d)}),this.reopen(c)}},s={areRelationshipsDirty:g.computed("relationships.{client,deleted}.length",{get:function(){return this.get("relationships.client.length")>0||this.get("relationships.deleted.length")>0}}),changedRelationships:function(){var a={};return this.constructor.eachRelationship(function(b,c){if(!c.isReadOnly)if(c.kind===k){var d=this.getHasManyValue(b,!0),e=this.getHasManyValue(b,!1);h.arrayContentsEqual(d,e)||(a[b]=[d,e])}else{var d=this.getHasOneValue(b,!0),e=this.getHasOneValue(b,!1);if(!d&&!e)return;(!d&&e||d&&!e||d.typeKey!==e.typeKey||d.id!==e.id)&&(a[b]=[d,e])}},this),a},rollbackRelationships:function(){var a=this;b["default"].changeProperties(function(){var b=a.get("store"),c=a.get("relationships").getRelationshipsByState(l);c.forEach(function(a){b.deleteRelationship(a)});var d=a.get("relationships").getRelationshipsByState(n);d.forEach(function(a){b.changeRelationshipState(a,m)})})},addToRelationship:function(a,c,d){var e=this,f=this.constructor.metaForRelationship(a);if(f.kind!==k)throw new b["default"].Error("`addToRelationship` called on hasOne relationship.");if(f.isReadOnly&&!this.get("isNew"))throw new b["default"].Error("Can't modify a read-only relationship.");b["default"].changeProperties(function(){e.set("initializedRelationships."+a,!0);var g=e.get("store");"string"!==b["default"].typeOf(c)?(d=b["default"].get(c,"typeKey"),c=b["default"].get(c,"id")):"string"!==b["default"].typeOf(d)&&(d=f.relatedType);for(var h=g.modelFor(d),i=null===f.inverse?null:h.metaForRelationship(f.inverse),j=e.getHasManyRelationships(a,!1),o=e.getHasManyRelationships(a,!0),p=0;p0&&d[i].forEach(function(a){c.deleteRelationship(a)},this),d[h]||d[g]?d[h]&&!d[g]?void c.deleteRelationship(d[h]):void(!d[h]&&d[g]&&(c.get("sideWithClientOnConflict")||c.deleteRelationship(d[g]))):void 0},connectHasOneToNull:function(){return this.connectHasOneToHasMany.apply(this,arguments)},connectHasOneToHasOne:function(a,b,c){var d=this.typeKey,e=this.get("id"),f=this.get("store"),j=f.get("sideWithClientOnConflict"),k=f.sortHasOneRelationships(d,e,a),l=f.sortHasOneRelationships(c.type,c.id,b.inverse),m=k[h]||k[g]||null,n=l[h]||l[g]||null;if(m===n)return void f.changeRelationshipState(m,h);var o;if(!k[h]&&!k[g]&&k[i].length<=0){if(!l[h]&&!l[g]&&l[i].length<=0)return void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(l[h]&&!l[g]&&l[i].length<=0)return f.deleteRelationship(l[h]),void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(!l[h]&&l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&!l[g]&&l[i].length>0)return o=!1,l[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||f.changeRelationshipState(a,h),o=!0):f.deleteRelationship(a)},this),void(o||f.createRelationship(d,e,a,c.type,c.id,b.inverse,h));if(!l[h]&&l[g]&&l[i].length>0)return o=!1,l[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||(f.deleteRelationship(l[g]),f.changeRelationshipState(a,h)),o=!0):f.deleteRelationship(a)},this),void(o||(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h))))}if(k[h]&&!k[g]&&k[i].length<=0){if(f.deleteRelationship(k[h]),!l[h]&&!l[g]&&l[i].length<=0)return void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(l[h]&&!l[g]&&l[i].length<=0)return f.deleteRelationship(l[h]),void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(!l[h]&&l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&!l[g]&&l[i].length>0)return o=!1,l[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||f.changeRelationshipState(a,h),o=!0):f.deleteRelationship(a)},this),void(o||f.createRelationship(d,e,a,c.type,c.id,b.inverse,h));if(!l[h]&&l[g]&&l[i].length>0)return o=!1,l[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||(f.deleteRelationship(l[g]),f.changeRelationshipState(a,h)),o=!0):f.deleteRelationship(a)},this),void(o||(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h))))}if(!k[h]&&k[g]&&k[i].length<=0){if(!l[h]&&!l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(l[h]&&!l[g]&&l[i].length<=0)return f.deleteRelationship(l[h]),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&!l[g]&&l[i].length>0)return l[i].forEach(function(a){f.deleteRelationship(a)}),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&l[g]&&l[i].length>0)return l[i].forEach(function(a){f.deleteRelationship(a)}),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)))}if(!k[h]&&!k[g]&&k[i].length>0){if(!l[h]&&!l[g]&&l[i].length<=0)return k[i].forEach(function(a){f.deleteRelationship(a)}),void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(l[h]&&!l[g]&&l[i].length<=0)return k[i].forEach(function(a){f.deleteRelationship(a)}),f.deleteRelationship(l[h]),void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(!l[h]&&l[g]&&l[i].length<=0)return k[i].forEach(function(a){f.deleteRelationship(a)}),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&!l[g]&&l[i].length>0)return o=null,k[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||f.changeRelationshipState(a,h),o=a):f.deleteRelationship(a)},this),k[i].forEach(function(a){a!==o&&f.deleteRelationship(a)}),void(null===o&&f.createRelationship(d,e,a,c.type,c.id,b.inverse,h));if(!l[h]&&l[g]&&l[i].length>0)return o=null,k[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(j||(f.deleteRelationship(l[g]),f.changeRelationshipState(a,h)),o=a):f.deleteRelationship(a)},this),k[i].forEach(function(a){a!==o&&f.deleteRelationship(a)}),void(null===o&&(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h))))}if(!k[h]&&k[g]&&k[i].length>0){if(k[i].forEach(function(a){f.deleteRelationship(a)}),!l[h]&&!l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(l[h]&&!l[g]&&l[i].length<=0)return f.deleteRelationship(l[h]),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&l[g]&&l[i].length<=0)return void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&!l[g]&&l[i].length>0)return l[i].forEach(function(a){f.deleteRelationship(a)}),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));if(!l[h]&&l[g]&&l[i].length>0)return l[i].forEach(function(a){f.deleteRelationship(a)}),void(j?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(k[g]),f.deleteRelationship(l[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)))}},connectHasOneToHasMany:function(a,b,c){var d=this.typeKey,e=this.get("id"),f=this.get("store"),j=f.sortHasOneRelationships(d,e,a),k=f.get("sideWithClientOnConflict");if(!j[h]||j[h].otherType(this)!==c.type||j[h].otherId(this)!==c.id){if(j[g]&&j[g].otherType(this)===c.type&&j[g].otherId(this)===c.id)return f.changeRelationshipState(j[g],h),void(j[i].length>0&&j[i].forEach(f.deleteRelationship.bind(f)));if(!j[h]&&!j[g]&&j[i].length<=0)return void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(j[h]&&!j[g]&&j[i].length<=0)return f.deleteRelationship(j[h]),void f.createRelationship(d,e,a,c.type,c.id,b.inverse,h);if(!j[h]&&j[g]&&j[i].length<=0)return void(k?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(j[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h)));var l;return!j[h]&&!j[g]&&j[i].length>=0?(l=!1,j[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(k||f.changeRelationshipState(a,h),l=!0):f.deleteRelationship(a)},this),void(l||f.createRelationship(d,e,a,c.type,c.id,b.inverse,h))):!j[h]&&j[g]&&j[i].length>=0?(l=!1,j[i].forEach(function(a){a.otherType(this)===c.type&&a.otherId(this)===c.id?(k||(f.deleteRelationship(j[g]),f.changeRelationshipState(a,h)),l=!0):f.deleteRelationship(a)},this),void(l||(k?f.createRelationship(d,e,a,c.type,c.id,b.inverse,i):(f.deleteRelationship(j[g]),f.createRelationship(d,e,a,c.type,c.id,b.inverse,h))))):void 0}},connectHasManyToNull:function(){return this.connectHasManyToHasMany.apply(this,arguments)},connectHasManyToHasOne:function(a,b,d){var e=this.typeKey,f=this.get("id"),j=this.get("store"),k=j.get("sideWithClientOnConflict"),l=d.reduce(function(a,b){return a[b.type+":"+b.id]=b,a},{}),m=j.relationshipsForRecord(e,f,a);m.forEach(function(a){var b=a.otherType(this)+":"+a.otherId(this);if(l[b])switch(a.get("state")){case h:break;case i:k||j.changeRelationshipState(a,h);break;case g:j.changeRelationshipState(a,h)}else switch(a.get("state")){case h:case i:j.deleteRelationship(a);break;case g:k||j.deleteRelationship(a)}delete l[b]},this),c.values(l,function(c,d){var l=j.sortHasOneRelationships(d.type,d.id,b.inverse);return!l[h]&&!l[g]&&l[i].length<=0?void j.createRelationship(e,f,a,d.type,d.id,b.inverse,h):l[h]&&!l[g]&&l[i].length<=0?(j.deleteRelationship(l[h]),void j.createRelationship(e,f,a,d.type,d.id,b.inverse,h)):!l[h]&&l[g]&&l[i].length<=0?void(k?j.createRelationship(e,f,a,d.type,d.id,b.inverse,i):(j.deleteRelationship(l[g]),j.createRelationship(e,f,a,d.type,d.id,b.inverse,h))):!l[h]&&!l[g]&&l[i].length>0?(l[i].forEach(function(a){j.deleteRelationship(a)}),void j.createRelationship(e,f,a,d.type,d.id,b.inverse,h)):!l[h]&&l[g]&&l[i].length>0?(l[i].forEach(function(a){j.deleteRelationship(a)}),void(k?j.createRelationship(e,f,a,d.type,d.id,b.inverse,i):(j.deleteRelationship(l[g]),j.createRelationship(e,f,a,d.type,d.id,b.inverse,h)))):void 0},this)},connectHasManyToHasMany:function(a,b,d){var e=this.typeKey,f=this.get("id"),j=this.get("store"),k=j.get("sideWithClientOnConflict"),l=d.reduce(function(a,b){return a[b.type+":"+b.id]=b,a},{}),m=j.relationshipsForRecord(e,f,a);m.forEach(function(a){var b=a.otherType(this)+":"+a.otherId(this);if(l[b])switch(a.get("state")){case h:break;case i:k||j.changeRelationshipState(a,h);break;case g:j.changeRelationshipState(a,h)}else switch(a.get("state")){case h:case i:j.deleteRelationship(a);break;case g:k||j.deleteRelationship(a)}delete l[b]},this),c.values(l,function(c,d){j.createRelationship(e,f,a,d.type,d.id,b.inverse,h)})}}}),a("ember-graph/model/schema",["exports","ember","ember-graph/model/model"],function(a,b,c){var d=function(a){var c=a;return"string"===b["default"].typeOf(c)&&(c={type:c}),{isAttribute:!0,options:c}},e=function(a){return{isRelationship:!0,kind:c["default"].HAS_MANY_KEY,options:a}},f=function(a){return{isRelationship:!0,kind:c["default"].HAS_ONE_KEY,options:a}};a.attr=d,a.hasMany=e,a.hasOne=f}),a("ember-graph/model/states",["exports","ember","ember-graph/util/computed","ember-graph/util/string"],function(a,b,c,d){a["default"]={isDeleting:!1,isDeleted:!1,isSaving:!1,isReloading:!1,isLoaded:c.computed("store",{get:function(){return null!==this.get("store")}}),isDirty:b["default"].computed.or("areAttributesDirty","areRelationshipsDirty","isNew"),isCreating:!1,isNew:c.computed("_id",{get:function(){return d.startsWith(this.get("_id"),this.constructor.temporaryIdPrefix)}}),isInTransit:b["default"].computed.or("isSaving","isDeleting","isCreating","isReloading")}}),a("ember-graph/relationship/relationship",["exports","ember","ember-graph/util/util","ember-graph/constants","ember-graph/util/computed"],function(a,b,c,d,e){var f=d.RelationshipStates.CLIENT_STATE,g=d.RelationshipStates.SERVER_STATE,h=d.RelationshipStates.DELETED_STATE,i=b["default"].Object.extend({_state:f,state:e.computed("_state",{get:function(){return this.get("_state")},set:function(a,b){switch(b){case f:case g:case h:this.set("_state",b)}}}),id:null,type1:null,id1:null,relationship1:null,type2:null,id2:null,relationship2:null,isConnectedTo:function(a){return this.get("type1")===a.typeKey&&this.get("id1")===a.get("id")?!0:this.get("type2")===a.typeKey&&this.get("id2")===a.get("id")?!0:!1},matchesOneSide:function(a,b,c){return this.get("type1")===a&&this.get("id1")===b&&this.get("relationship1")===c?!0:this.get("type2")===a&&this.get("id2")===b&&this.get("relationship2")===c?!0:!1},otherType:function(a){return this.get("type1")===a.typeKey?this.get("type2"):this.get("type1")},otherId:function(a){return this.get("id1")===a.get("id")?this.get("id2"):this.get("id1")},otherName:function(a){return this.get("id1")===a.get("id")&&this.get("type1")===a.typeKey?this.get("relationship2"):this.get("relationship1")},thisName:function(a){return this.get("id1")===a.get("id")&&this.get("type1")===a.typeKey?this.get("relationship1"):this.get("relationship2")},changeId:function(a,b,c){this.get("type1")===a&&this.get("id1")===b?this.set("id1",c):this.get("type2")===a&&this.get("id2")===b&&this.set("id2",c)},erase:function(){this.setProperties({id:null,type1:null,id1:null,relationship1:null,type2:null,id2:null,relationship2:null,_state:null})}});i.reopenClass({CLIENT_STATE:f,SERVER_STATE:g,DELETED_STATE:h,create:function(a,b,d,e,f,g,h){var i=c.generateUUID();return this._super({id:i,type1:a,id1:b,relationship1:d,type2:e,id2:f,relationship2:g,state:h})}}),a["default"]=i}),a("ember-graph/relationship/relationship_hash",["exports","ember"],function(a,b){var c=b["default"].Object.extend({next:void 0,prev:void 0,item:void 0,initialize:b["default"].on("init",function(){this.setProperties({next:void 0,prev:void 0,item:void 0})})}),d=b["default"].Object.extend({buckets:{},initialize:b["default"].on("init",function(){this.setProperties({buckets:[]})}),add:function(a,b){for(var d=0;d=(new Date).getTime()-this.get("cacheTimeout")?d[c].record:null},getRecords:function(a){var b=this.get("records"),c=[],d=(new Date).getTime()-this.get("cacheTimeout");return Object.keys(b).forEach(function(e){0===e.indexOf(a)&&b[e].timestamp>=d&&c.push(b[e].record)}),c},storeRecord:function(a){c.PromiseObject.detectInstance(a)&&(a=a.getModel());var d=a.get("typeKey"),e=this.get("records");e[d+":"+a.get("id")]={record:a,timestamp:(new Date).getTime()};var f=this.get("liveRecordArrays");f[d]=f[d]||b["default"].A(),f[d].includes(a)||f[d].addObject(a)},deleteRecord:function(a,b){var c=this.get("records");delete c[a+":"+b]},getLiveRecordArray:function(a){var c=this.get("liveRecordArrays");return c[a]=c[a]||b["default"].A(),c[a]}})}),a("ember-graph/store/record_request_cache",["exports","ember"],function(a,b){a["default"]=b["default"].Object.extend({cache:null,initializeCache:function(){this.set("cache",b["default"].Object.create())}.on("init"),_getAndCreateTypeCache:function(a){if(!this.get("cache."+a)){var c=b["default"].Object.create({all:null,single:{},multiple:{},query:{}});this.set("cache."+a,c)}return this.get("cache."+a)},savePendingRequest:function(a){var c=arguments.length>2?arguments[1]:void 0,d=arguments.length>2?arguments[2]:arguments[1];switch(b["default"].typeOf(c)){case"string":case"number":this._savePendingSingleRequest(a,c+"",d);break;case"array":this._savePendingManyRequest(a,c.toArray(),d);break;case"object":this._savePendingQueryRequest(a,c,d);break;case"undefined":this._savePendingAllRequest(a,d)}},_savePendingSingleRequest:function(a,b,c){var d=this._getAndCreateTypeCache(a).get("single");d[b]=c;var e=function(){d[b]=null};c.then(e,e)},_savePendingManyRequest:function(a,b,c){var d=this._getAndCreateTypeCache(a).get("multiple"),e=b.map(function(a){return a+""}).sort().join(",");d[e]=c;var f=function(){d[e]=null};c.then(f,f)},_savePendingQueryRequest:function(a,b,c){},_savePendingAllRequest:function(a,b){var c=this._getAndCreateTypeCache(a);c.set("all",b);var d=function(){c.set("all",null)};b.then(d,d)},getPendingRequest:function(a,c){switch(b["default"].typeOf(c)){case"string":case"number":return this._getPendingSingleRequest(a,c+"");case"array":return this._getPendingManyRequest(a,c.toArray());case"object":return this._getPendingQueryRequest(a,c);case"undefined":return this._getPendingAllRequest(a);default:return null}},_getPendingSingleRequest:function(a,b){var c=this._getAndCreateTypeCache(a),d=c.get("all");if(d)return d;var e=c.get("single")[b];if(e)return e;var f=c.get("multiple");for(var g in f)if(f.hasOwnProperty(g)&&g.split(",").indexOf(b)>=0)return f[g];return null},_getPendingManyRequest:function(a,b){var c=this._getAndCreateTypeCache(a),d=c.get("all");if(d)return d;var e=b.map(function(a){return a+""}).sort().join(","),f=c.get("multiple");for(var g in f)if(f.hasOwnProperty(g)&&g===e)return f[g];return null},_getPendingQueryRequest:function(a,b){return null},_getPendingAllRequest:function(a){var b=this._getAndCreateTypeCache(a);return b.get("all")||null}})}),a("ember-graph/store/relationship",["exports","ember","ember-graph/relationship/relationship","ember-graph/relationship/relationship_hash"],function(a,b,c,d){var e=c["default"].CLIENT_STATE,f=c["default"].SERVER_STATE,g=c["default"].DELETED_STATE;a["default"]={allRelationships:b["default"].Object.create(),relationshipsById:d["default"].create(),queuedRelationships:d["default"].create(),initializeRelationships:b["default"].on("init",function(){this.setProperties({allRelationships:b["default"].Object.create(),relationshipsById:d["default"].create(),queuedRelationships:d["default"].create()})}),createRelationship:function(a,b,d,e,f,g,h){var i=c["default"].create(a,b,d,e,f,g,h),j=this.get("queuedRelationships"),k=this.getRecord(a,b),l=this.getRecord(e,f);k&&this.connectRelationshipTo(k,i),l&&this.connectRelationshipTo(l,i),this.get("relationshipsById").add(i,[i.get("id1"),i.get("id2")]),k&&l||(j.add(i,[i.get("id1"),i.get("id2")]),this.notifyPropertyChange("queuedRelationships")),this.get("allRelationships")[i.get("id")]=i},deleteRelationship:function(a){var b=this.getRecord(a.get("type1"),a.get("id1")),c=this.getRecord(a.get("type2"),a.get("id2"));this.disconnectRelationshipFrom(b,a),this.disconnectRelationshipFrom(c,a);var d=this.get("queuedRelationships");d.remove(a,[a.get("id1"),a.get("id2")]),this.notifyPropertyChange("queuedRelationships"),this.get("relationshipsById").remove(a,[a.get("id1"),a.get("id2")]),delete this.get("allRelationships")[a.get("id")],a.erase()},changeRelationshipState:function(a,b){if(a.get("state")!==b){var c=this.getRecord(a.get("type1"),a.get("id1")),d=this.getRecord(a.get("type2"),a.get("id2"));this.disconnectRelationshipFrom(c,a),this.disconnectRelationshipFrom(d,a),a.set("state",b),this.connectRelationshipTo(c,a),this.connectRelationshipTo(d,a)}},connectQueuedRelationships:function(a){var b=this,c=this.get("queuedRelationships"),d=c.findAllByKeys([a.get("id")]);Object.keys(d).forEach(function(e){var f=d[e];f.isConnectedTo(a)&&(b.connectRelationshipTo(a,f),c.remove(f,[f.get("id1"),f.get("id2")]))}),this.notifyPropertyChange("queuedRelationships")},queueConnectedRelationships:function(a){var b=this,c=this.get("queuedRelationships"),d=a.get("relationships").getRelationshipsByState(f);d.forEach(function(d){b.disconnectRelationshipFrom(a,d),c.add(d,[d.get("id1"),d.get("id2")])}),this.notifyPropertyChange("queuedRelationships")},relationshipsForRecord:function(a,b,c){var d=[],e=this.get("relationshipsById").findAllByKeys([b]);return Object.keys(e).forEach(function(f){e[f].matchesOneSide(a,b,c)&&d.push(e[f])}),d},relationshipsForRecordNoName:function(a,b){var c=[],d=this.get("relationshipsById").findAllByKeys([b]);return Object.keys(d).forEach(function(e){var f=d[e];(f.get("id1")===b&&f.get("type1")===a||f.get("id1")===b&&f.get("type1")===a)&&c.push(d[e])}),c},deleteRelationshipsForRecord:function(a,c){var d=this;b["default"].changeProperties(function(){var b=d.get("relationshipsById").findAllByKeys([c]),e=Object.keys(b);e.forEach(function(e){var f=b[e];(f.get("type1")===a&&f.get("id1")===c||f.get("type2")===a&&f.get("id2")===c)&&d.deleteRelationship(f)})})},connectRelationshipTo:function(a,b){a&&a.get("relationships").addRelationship(b.thisName(a),b)},disconnectRelationshipFrom:function(a,b){a&&a.get("relationships").removeRelationship(b)},sortHasOneRelationships:function(a,b,c){var d={},h=this.relationshipsForRecord(a,b,c);return d[f]=h.filter(function(a){return a.get("state")===f})[0]||null,d[g]=h.filter(function(a){return a.get("state")===g}),d[e]=h.filter(function(a){return a.get("state")===e})[0]||null,d},updateRelationshipsWithNewId:function(a,b,c){var d=this,e=this.relationshipsForRecordNoName(a,b);Object.keys(e).forEach(function(f){var g=e[f];g.changeId(a,b,c),d.get("relationshipsById").remove(g,[b])&&d.get("relationshipsById").add(g,[c]),d.get("queuedRelationships").remove(g,[b])&&d.get("queuedRelationships").add(g,[c])}),this.notifyPropertyChange("allRelationships")}}}),a("ember-graph/store/store",["exports","ember","ember-graph/store/record_cache","ember-graph/store/record_request_cache","ember-graph/store/lookup","ember-graph/store/relationship","ember-graph/data/promise_object","ember-graph/util/util"],function(a,b,c,d,e,f,g,h){var i=b["default"].RSVP.Promise,j=(b["default"].Service||b["default"].Object).extend({cacheTimeout:1/0,reloadDirty:!0,sideWithClientOnConflict:!0,overwriteClientAttributes:!1,recordCache:{},recordRequestCache:{},initializeCaches:b["default"].on("init",function(){this.setProperties({recordCache:c["default"].create({cacheTimeout:this.get("cacheTimeout")}),recordRequestCache:d["default"].create()})}),createRecord:function(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=this.modelFor(a).create(this);return this.get("recordCache").storeRecord(c),c.initializeRecord(b),c},cachedRecordsFor:function(a){return this.get("recordCache").getRecords(a)},getRecord:function(a,b){return this.get("recordCache").getRecord(a,b)},getLiveRecordArray:function(a){return this.get("recordCache").getLiveRecordArray(a)},find:function(a,c){switch(b["default"].typeOf(c)){case"string":return this._findSingle(a,c);case"array":return this._findMany(a,c);case"object":return this._findQuery(a,c);case"undefined":if(1===arguments.length)return this._findAll(a);default:throw new b["default"].Error("A bad `find` call was made to the store.")}},_findSingle:function(a,b){var c=this,d=void 0,e=this.getRecord(a,b);e&&(d=i.resolve());var f=this.get("recordRequestCache");if(!d){var h=f.getPendingRequest(a,b);h&&(d=h)}return d||(d=this.adapterFor(a).findRecord(a,b).then(function(a){c.pushPayload(a)}),f.savePendingRequest(a,b,d)),g.ModelPromiseObject.create({id:b,typeKey:a,promise:d.then(function(){return c.getRecord(a,b)})})},_findMany:function(a){var b=this,c=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(0===c.length)return g.PromiseArray.create({promise:i.resolve([])});var d=c.filter(function(c){return null===b.getRecord(a,c)}),e=void 0;0===d.length&&(e=i.resolve());var f=this.get("recordRequestCache");if(!e){var h=f.getPendingRequest(a,c);h&&(e=h)}return e||(e=this.adapterFor(a).findMany(a,c).then(function(a){b.pushPayload(a)}),f.savePendingRequest(a,c,e)),g.PromiseArray.create({promise:e.then(function(){return c.map(function(c){return b.getRecord(a,c)}).toArray()})})},_findAll:function(a){var b=this,c=void 0,d=this.get("recordRequestCache"),e=d.getPendingRequest(a);return e&&(c=e),c||(c=this.adapterFor(a).findAll(a).then(function(a){b.pushPayload(a)}),d.savePendingRequest(a,c)),g.PromiseArray.create({promise:c.then(function(){return b.cachedRecordsFor(a)})})},_findQuery:function(a,b){var c=this,d=void 0,e=this.get("recordRequestCache"),f=e.getPendingRequest(a,b);return f&&(d=f),d||(d=this.adapterFor(a).findQuery(a,b),e.savePendingRequest(a,b,d)),d.then(function(a){return{records:g.PromiseArray.create({promise:d.then(function(a){var b=a.meta.matchedRecords;return c.pushPayload(a),b.map(function(a){return c.getRecord(a.type,a.id)})})}),meta:a.meta.serverMeta}})},saveRecord:function(a){var c=this;if(!a.get("isNew"))return this.updateRecord(a);if(!a.isInitialized())throw new b["default"].Error("Can't save an uninitialized record.");var d=a.get("typeKey");return this.adapterFor(d).createRecord(a).then(function(e){var f=a.get("id"),g=b["default"].get(e,"meta.createdRecord.id");if(!g){if(1!==e[d].length)throw new b["default"].Error("Missing `createdRecord` meta attribute.");g=e[d][0].id}a.set("id",g);var h=c.get("recordCache");return h.deleteRecord(d,f),h.storeRecord(a),c.updateRelationshipsWithNewId(d,f,g),c.pushPayload(e),a})},updateRecord:function(a){var b=this,c={id:a.get("id")};a.constructor.eachAttribute(function(b){c[b]=a.get(b)}),a.constructor.eachRelationship(function(b){c[b]=a.get("_"+b)});var d={};return d[a.get("typeKey")]=[c],this.adapterFor(a.get("typeKey")).updateRecord(a).then(function(c){return b.pushPayload(c||d),a})},deleteRecord:function(a){var b=this;if(a.get("isCreating"))return i.reject("Can't delete a record before it's created.");var c=a.get("typeKey"),d=a.get("id");return a.get("isNew")?(this.deleteRecordFromStore(c,d),i.resolve()):this.adapterFor(c).deleteRecord(a).then(function(a){b.deleteRecordFromStore(c,d),b.pushPayload(a)})},deleteRecordFromStore:function(a,b){this.deleteRelationshipsForRecord(a,b),this.get("recordCache").deleteRecord(a,b)},reloadRecord:function(a){var c=this;if(a.get("isDirty")&&!this.get("reloadDirty"))throw new b["default"].Error("Can't reload a record while it's dirty and `reloadDirty` is turned off.");return this.adapterFor(a.typeKey).findRecord(a.typeKey,a.get("id")).then(function(b){return c.pushPayload(b),a})},extractPayload:h.deprecateMethod("`extractPayload` is deprecated in favor of `pushPayload`","pushPayload"),pushPayload:function(){var a=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];0!==Object.keys(c).length&&b["default"].changeProperties(function(){var d=a.get("reloadDirty");(b["default"].get(c,"meta.serverMeta.deletedRecords")||[]).forEach(function(b){a.deleteRecordFromStore(b.type,b.id)}),delete c.meta,Object.keys(c).forEach(function(b){var e=a.modelFor(b);c[b].forEach(function(c){var f=a.getRecord(b,c.id);f?(!f.get("isDirty")||d)&&f.loadDataFromServer(c):(f=e.create(a),f.set("id",c.id),a.get("recordCache").storeRecord(f),a.connectQueuedRelationships(f),f.loadDataFromServer(c))})})})},unloadRecord:function(a,c){var d=this;if(!c&&a.get("isDirty"))throw new b["default"].Error("Can't unload a dirty record.");b["default"].changeProperties(function(){a.rollback(),d.queueConnectedRelationships(a),d.get("recordCache").deleteRecord(a.get("typeKey"),a.get("id")),a.set("store",null)})}});j.reopen(e["default"]),j.reopen(f["default"]),a["default"]=j}),a("ember-graph/util/array",["exports","ember"],function(a,b){var c=function(a){return this.map(function(c){return b["default"].get(c,a)})};a.mapBy=c}),a("ember-graph/util/compatibility",["exports","ember"],function(a,b){function c(a,c,d){var e=b["default"].VERSION.split(/\.|\-/),f=e.map(function(a){return parseInt(a,10)});return f[0]a?!0:f[1]c?!0:f[2]e;e++)c[e]=arguments[e];var f=c.slice(0,-1),g=c[c.length-1],h=!g.set;return h?b["default"].computed.apply(b["default"],d(f).concat([function(a){return g.get.call(this,a)}])).readOnly():b["default"].computed.apply(b["default"],d(f).concat([function(a,b){return arguments.length>1&&g.set.call(this,a,b),g.get.call(this,a)}]))},g=function(){for(var a=arguments.length,c=Array(a),e=0;a>e;e++)c[e]=arguments[e];var f=c.slice(0,-1),g=c[c.length-1],h=!g.set;g.set&&function(){var a=g.set;g.set=function(b,c){return a.call(this,b,c),g.get.call(this,b)}}();var i=b["default"].computed.apply(b["default"],d(f).concat([g]));return h?i.readOnly():i},h=e?g:f;a.computed=h}),a("ember-graph/util/copy",["exports","ember","ember-graph/util/copyable"],function(a,b,c){a["default"]=e;b["default"].Object;function d(a,b,e,f){if("object"!=typeof a||null===a)return a;var g=void 0,h=void 0;if(b&&(h=e.indexOf(a))>=0)return f[h];if(Array.isArray(a)){if(g=a.slice(),b)for(h=g.length;--h>=0;)g[h]=d(g[h],b,e,f)}else if(c["default"].detect(a))g=a.copy(b,e,f);else if(a instanceof Date)g=new Date(a.getTime());else{g={};var i=void 0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&"__"!==i.substring(0,2)&&(g[i]=b?d(a[i],b,e,f):a[i])}return b&&(e.push(a),f.push(g)),g}function e(a,b){return"object"!=typeof a||null===a?a:!Array.isArray(a)&&c["default"].detect(a)?a.copy(b):d(a,b,b?[]:null,b?[]:null)}}),a("ember-graph/util/copyable",["exports","ember"],function(a,b){var c=b["default"].Mixin;a["default"]=c.create({copy:null})}),a("ember-graph/util/data_adapter",["exports","ember","ember-graph/model/model","ember-graph/util/computed"],function(a,b,c,d){var e=b["default"].DataAdapter&&b["default"].DataAdapter.extend({containerDebugAdapter:d.computed({get:function(){return b["default"].getOwner(this).lookup("container-debug-adapter:main")}}),getFilters:function(){return[{name:"isNew",desc:"New"},{name:"isModified",desc:"Modified"},{name:"isClean",desc:"Clean"}]},detect:function(a){return a!==c["default"]&&c["default"].detect(a)},columnsForType:function(a){var c=this.get("attributeLimit"),d=[{name:"id",desc:"Id"}];return a.eachAttribute(function(a,e){if(!(d.length>c)){var f=b["default"].String.capitalize(b["default"].String.underscore(a).replace(/_/g," "));d.push({name:a,desc:f})}}),d},getRecords:function(a){var c=b["default"].get(a,"typeKey");return this.get("store").getLiveRecordArray(c)},getRecordColumnValues:function(a){var b={id:a.get("id")};return a.constructor.eachAttribute(function(c,d){b[c]=a.get(c)}),b},getRecordKeywords:function(a){var b=[];return a.constructor.eachAttribute(function(c){b.push(a.get(c)+"")}),b},getRecordFilterValues:function(a){var b=a.get("isNew"),c=a.get("isDirty");return{isNew:b,isModified:c&&!b,isClean:!c}},getRecordColor:function(a){return a.get("isNew")?"green":a.get("isDirty")?"blue":"black"},observeRecord:function(a,c){var d=this,e=b["default"].A(),f=b["default"].A(["id","isNew","isDirty"]);return f.addObjects(b["default"].get(a.constructor,"attributes").toArray()),f.forEach(function(c){var f=function(){return d.wrapRecord(a)};b["default"].addObserver(a,c,f),e.push(function(){return b["default"].removeObserver(a,c,f)})}),function(){e.forEach(function(a){return a()})}}}),f=b["default"].DataAdapter?e:null;a["default"]=f}),a("ember-graph/util/inflector",["exports","ember"],function(a,b){var c=["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"],d=[[/(m)an$/gi,"$1en"],[/(pe)rson$/gi,"$1ople"],[/(child)$/gi,"$1ren"],[/^(ox)$/gi,"$1en"],[/(ax|test)is$/gi,"$1es"],[/(octop|vir)us$/gi,"$1i"],[/(alias|status)$/gi,"$1es"],[/(bu)s$/gi,"$1ses"],[/(buffal|tomat|potat)o$/gi,"$1oes"],[/([ti])um$/gi,"$1a"],[/sis$/gi,"ses"],[/(?:([^f])fe|([lr])f)$/gi,"$1$2ves"],[/(hive)$/gi,"$1s"],[/([^aeiouy]|qu)y$/gi,"$1ies"],[/(x|ch|ss|sh)$/gi,"$1es"],[/(matr|vert|ind)ix|ex$/gi,"$1ices"],[/([m|l])ouse$/gi,"$1ice"],[/(quiz)$/gi,"$1zes"],[/s$/gi,"s"],[/$/gi,"s"]],e=[[/(m)en$/gi,"$1an"],[/(pe)ople$/gi,"$1rson"],[/(child)ren$/gi,"$1"],[/([ti])a$/gi,"$1um"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/gi,"$1$2sis"],[/(hive)s$/gi,"$1"],[/(tive)s$/gi,"$1"],[/(curve)s$/gi,"$1"],[/([lr])ves$/gi,"$1f"],[/([^fo])ves$/gi,"$1fe"],[/([^aeiouy]|qu)ies$/gi,"$1y"],[/(s)eries$/gi,"$1eries"],[/(m)ovies$/gi,"$1ovie"],[/(x|ch|ss|sh)es$/gi,"$1"],[/([m|l])ice$/gi,"$1ouse"],[/(bus)es$/gi,"$1"],[/(o)es$/gi,"$1"],[/(shoe)s$/gi,"$1"],[/(cris|ax|test)es$/gi,"$1is"],[/(octop|vir)i$/gi,"$1us"],[/(alias|status)es$/gi,"$1"],[/^(ox)en/gi,"$1"],[/(vert|ind)ices$/gi,"$1ex"],[/(matr)ices$/gi,"$1ix"],[/(quiz)zes$/gi,"$1"],[/s$/gi,""]],f=function(a,b){if(c.indexOf(a)>=0)return a;for(var d=0;dd;d++)c=b["default"].guidFor(this[d]),delete this[c],delete this[d];return b["default"].set(this,"length",0),b["default"].notifyPropertyChange(this,"firstObject"),b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(a,0),this},isEqual:function(a){if(!b["default"].Enumerable.detect(a))return!1;var c=b["default"].get(this,"length");if(b["default"].get(a,"length")!==c)return!1;for(;--c>=0;)if(!a.includes(this[c]))return!1;return!0},add:function(){return this.addObject.apply(this,arguments)},remove:function(){return this.removeObject.apply(this,arguments)},pop:function(){var a=this.length>0?this[this.length-1]:null;return this.remove(a),a},push:function(){return this.addObject.apply(this,arguments)},shift:function(){return this.pop.apply(this,arguments)},unshift:function(){return this.push.apply(this,arguments)},addEach:function(){return this.addObject.apply(this,arguments)},removeEach:function(){return this.removeObjects.apply(this,arguments)},init:function(a){this._super.apply(this,arguments),a&&this.addObjects(a)},nextObject:function(a){return this[a]},firstObject:b["default"].computed(function(){return this.length>0?this[0]:void 0}),lastObject:b["default"].computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(a){if(b["default"].isNone(a))return this;var c,d=b["default"].guidFor(a),e=this[d],f=b["default"].get(this,"length");return e>=0&&f>e&&this[e]===a?this:(c=[a],this.arrayContentWillChange(null,c),f=b["default"].get(this,"length"),this[d]=f,this[f]=a,b["default"].set(this,"length",f+1),b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(null,c),this)},removeObject:function(a){if(b["default"].isNone(a))return this;var c,d,e=b["default"].guidFor(a),f=this[e],g=b["default"].get(this,"length"),h=0===f,i=f===g-1;return f>=0&&g>f&&this[f]===a&&(d=[a],this.arrayContentWillChange(d,null),g-1>f&&(c=this[g-1],this[f]=c,this[b["default"].guidFor(c)]=f),delete this[e],delete this[g-1],b["default"].set(this,"length",g-1),h&&b["default"].notifyPropertyChange(this,"firstObject"),i&&b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(d,null)),this},contains:function(a){return this[b["default"].guidFor(a)]>=0},copy:function(){var a=this.constructor,c=new a,d=b["default"].get(this,"length");for(set(c,"length",d);--d>=0;)c[d]=this[d],c[b["default"].guidFor(this[d])]=d;return c},toString:function(){var a,b=this.length,c=[];for(a=0;b>a;a++)c[a]=this[a];return"Ember.Set<"+c.join(",")+">"},withoutAll:function(a){var b=this.copy();return b.removeObjects(a),b}})}),a("ember-graph/util/string",["exports","ember"],function(a,b){function c(a,b){return 0===a.indexOf(b)}function d(a,b){return a.indexOf(b,a.length-b.length)>=0}function e(a){return a[0].toLocaleUpperCase()+a.substring(1)}function f(a){return a[0].toLocaleLowerCase()+a.substring(1)}(b["default"].ENV.EXTEND_PROTOTYPES===!0||b["default"].ENV.EXTEND_PROTOTYPES.String)&&(String.prototype.startsWith||(String.prototype.startsWith=function(a){return c(this,a)}),String.prototype.endsWith||(String.prototype.endsWith=function(a){return d(this,a)}),String.prototype.capitalize||(String.prototype.capitalize=function(){return e(this)}),String.prototype.decapitalize||(String.prototype.decapitalize=function(){return f(this)})),a.startsWith=c,a.endsWith=d,a.capitalize=e,a.decapitalize=f}),a("ember-graph/util/util",["exports","ember","ember-graph/util/set","ember-graph/util/computed"],function(a,b,c,d){function e(a){return function(){throw new b["default"].Error("You failed to implement the abstract `"+a+"` method.")}}function f(a){return d.computed({get:function(){throw new b["default"].Error("You failed to override the abstract `"+a+"` property.")}})}function g(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function h(a,b){var d=c["default"].create();return d.addObjects(a),a.length===b.length&&d.isEqual(b)}function i(a){var b=a.reduce(function(a,b){return a[b.type]?a[b.type].push(b):a[b.type]=[b],a},{});return Object.keys(b).reduce(function(a,c){return b[c].length>0&&a.push(b[c]),a},[])}function j(a,b,c){for(var d=Object.keys(a),e=0;e=(new Date).getTime()-this.get("cacheTimeout")?d[c].record:null},getRecords:function(a){var b=this.get("records"),c=[],d=(new Date).getTime()-this.get("cacheTimeout");return Object.keys(b).forEach(function(e){0===e.indexOf(a)&&b[e].timestamp>=d&&c.push(b[e].record)}),c},storeRecord:function(a){c.PromiseObject.detectInstance(a)&&(a=a.getModel());var d=a.get("typeKey"),e=this.get("records");e[d+":"+a.get("id")]={record:a,timestamp:(new Date).getTime()};var f=this.get("liveRecordArrays");f[d]=f[d]||b["default"].A(),f[d].includes(a)||f[d].addObject(a)},deleteRecord:function(a,b){var c=this.get("records");delete c[a+":"+b]},getLiveRecordArray:function(a){var c=this.get("liveRecordArrays");return c[a]=c[a]||b["default"].A(),c[a]}})}),a("ember-graph/store/record_request_cache",["exports","ember"],function(a,b){a["default"]=b["default"].Object.extend({cache:null,initializeCache:b["default"].on("init",function(){this.set("cache",b["default"].Object.create())}),_getAndCreateTypeCache:function(a){if(!this.get("cache."+a)){var c=b["default"].Object.create({all:null,single:{},multiple:{},query:{}});this.set("cache."+a,c)}return this.get("cache."+a)},savePendingRequest:function(a){var c=arguments.length>2?arguments[1]:void 0,d=arguments.length>2?arguments[2]:arguments[1];switch(b["default"].typeOf(c)){case"string":case"number":this._savePendingSingleRequest(a,c+"",d);break;case"array":this._savePendingManyRequest(a,c.toArray(),d);break;case"object":this._savePendingQueryRequest(a,c,d);break;case"undefined":this._savePendingAllRequest(a,d)}},_savePendingSingleRequest:function(a,b,c){var d=this._getAndCreateTypeCache(a).get("single");d[b]=c;var e=function(){d[b]=null};c.then(e,e)},_savePendingManyRequest:function(a,b,c){var d=this._getAndCreateTypeCache(a).get("multiple"),e=b.map(function(a){return a+""}).sort().join(",");d[e]=c;var f=function(){d[e]=null};c.then(f,f)},_savePendingQueryRequest:function(a,b,c){},_savePendingAllRequest:function(a,b){var c=this._getAndCreateTypeCache(a);c.set("all",b);var d=function(){c.set("all",null)};b.then(d,d)},getPendingRequest:function(a,c){switch(b["default"].typeOf(c)){case"string":case"number":return this._getPendingSingleRequest(a,c+"");case"array":return this._getPendingManyRequest(a,c.toArray());case"object":return this._getPendingQueryRequest(a,c);case"undefined":return this._getPendingAllRequest(a);default:return null}},_getPendingSingleRequest:function(a,b){var c=this._getAndCreateTypeCache(a),d=c.get("all");if(d)return d;var e=c.get("single")[b];if(e)return e;var f=c.get("multiple");for(var g in f)if(f.hasOwnProperty(g)&&g.split(",").indexOf(b)>=0)return f[g];return null},_getPendingManyRequest:function(a,b){var c=this._getAndCreateTypeCache(a),d=c.get("all");if(d)return d;var e=b.map(function(a){return a+""}).sort().join(","),f=c.get("multiple");for(var g in f)if(f.hasOwnProperty(g)&&g===e)return f[g];return null},_getPendingQueryRequest:function(a,b){return null},_getPendingAllRequest:function(a){var b=this._getAndCreateTypeCache(a);return b.get("all")||null}})}),a("ember-graph/store/relationship",["exports","ember","ember-graph/relationship/relationship","ember-graph/relationship/relationship_hash"],function(a,b,c,d){var e=c["default"].CLIENT_STATE,f=c["default"].SERVER_STATE,g=c["default"].DELETED_STATE;a["default"]={allRelationships:b["default"].Object.create(),relationshipsById:d["default"].create(),queuedRelationships:d["default"].create(),initializeRelationships:b["default"].on("init",function(){this.setProperties({allRelationships:b["default"].Object.create(),relationshipsById:d["default"].create(),queuedRelationships:d["default"].create()})}),createRelationship:function(a,b,d,e,f,g,h){var i=c["default"].create(a,b,d,e,f,g,h),j=this.get("queuedRelationships"),k=this.getRecord(a,b),l=this.getRecord(e,f);k&&this.connectRelationshipTo(k,i),l&&this.connectRelationshipTo(l,i),this.get("relationshipsById").add(i,[i.get("id1"),i.get("id2")]),k&&l||(j.add(i,[i.get("id1"),i.get("id2")]),this.notifyPropertyChange("queuedRelationships")),this.get("allRelationships")[i.get("id")]=i},deleteRelationship:function(a){var b=this.getRecord(a.get("type1"),a.get("id1")),c=this.getRecord(a.get("type2"),a.get("id2"));this.disconnectRelationshipFrom(b,a),this.disconnectRelationshipFrom(c,a);var d=this.get("queuedRelationships");d.remove(a,[a.get("id1"),a.get("id2")]),this.notifyPropertyChange("queuedRelationships"),this.get("relationshipsById").remove(a,[a.get("id1"),a.get("id2")]),delete this.get("allRelationships")[a.get("id")],a.erase()},changeRelationshipState:function(a,b){if(a.get("state")!==b){var c=this.getRecord(a.get("type1"),a.get("id1")),d=this.getRecord(a.get("type2"),a.get("id2"));this.disconnectRelationshipFrom(c,a),this.disconnectRelationshipFrom(d,a),a.set("state",b),this.connectRelationshipTo(c,a),this.connectRelationshipTo(d,a)}},connectQueuedRelationships:function(a){var b=this,c=this.get("queuedRelationships"),d=c.findAllByKeys([a.get("id")]);Object.keys(d).forEach(function(e){var f=d[e];f.isConnectedTo(a)&&(b.connectRelationshipTo(a,f),c.remove(f,[f.get("id1"),f.get("id2")]))}),this.notifyPropertyChange("queuedRelationships")},queueConnectedRelationships:function(a){var b=this,c=this.get("queuedRelationships"),d=a.get("relationships").getRelationshipsByState(f);d.forEach(function(d){b.disconnectRelationshipFrom(a,d),c.add(d,[d.get("id1"),d.get("id2")])}),this.notifyPropertyChange("queuedRelationships")},relationshipsForRecord:function(a,b,c){var d=[],e=this.get("relationshipsById").findAllByKeys([b]);return Object.keys(e).forEach(function(f){e[f].matchesOneSide(a,b,c)&&d.push(e[f])}),d},relationshipsForRecordNoName:function(a,b){var c=[],d=this.get("relationshipsById").findAllByKeys([b]);return Object.keys(d).forEach(function(e){var f=d[e];(f.get("id1")===b&&f.get("type1")===a||f.get("id1")===b&&f.get("type1")===a)&&c.push(d[e])}),c},deleteRelationshipsForRecord:function(a,c){var d=this;b["default"].changeProperties(function(){var b=d.get("relationshipsById").findAllByKeys([c]),e=Object.keys(b);e.forEach(function(e){var f=b[e];(f.get("type1")===a&&f.get("id1")===c||f.get("type2")===a&&f.get("id2")===c)&&d.deleteRelationship(f)})})},connectRelationshipTo:function(a,b){a&&a.get("relationships").addRelationship(b.thisName(a),b)},disconnectRelationshipFrom:function(a,b){a&&a.get("relationships").removeRelationship(b)},sortHasOneRelationships:function(a,b,c){var d={},h=this.relationshipsForRecord(a,b,c);return d[f]=h.filter(function(a){return a.get("state")===f})[0]||null,d[g]=h.filter(function(a){return a.get("state")===g}),d[e]=h.filter(function(a){return a.get("state")===e})[0]||null,d},updateRelationshipsWithNewId:function(a,b,c){var d=this,e=this.relationshipsForRecordNoName(a,b);Object.keys(e).forEach(function(f){var g=e[f];g.changeId(a,b,c),d.get("relationshipsById").remove(g,[b])&&d.get("relationshipsById").add(g,[c]),d.get("queuedRelationships").remove(g,[b])&&d.get("queuedRelationships").add(g,[c])}),this.notifyPropertyChange("allRelationships")}}}),a("ember-graph/store/store",["exports","ember","ember-graph/store/record_cache","ember-graph/store/record_request_cache","ember-graph/store/lookup","ember-graph/store/relationship","ember-graph/data/promise_object","ember-graph/util/util"],function(a,b,c,d,e,f,g,h){var i=b["default"].RSVP.Promise,j=(b["default"].Service||b["default"].Object).extend({cacheTimeout:1/0,reloadDirty:!0,sideWithClientOnConflict:!0,overwriteClientAttributes:!1,recordCache:{},recordRequestCache:{},initializeCaches:b["default"].on("init",function(){this.setProperties({recordCache:c["default"].create({cacheTimeout:this.get("cacheTimeout")}),recordRequestCache:d["default"].create()})}),createRecord:function(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],c=this.modelFor(a).create(this);return this.get("recordCache").storeRecord(c),c.initializeRecord(b),c},cachedRecordsFor:function(a){return this.get("recordCache").getRecords(a)},getRecord:function(a,b){return this.get("recordCache").getRecord(a,b)},getLiveRecordArray:function(a){return this.get("recordCache").getLiveRecordArray(a)},find:function(a,c){switch(b["default"].typeOf(c)){case"string":return this._findSingle(a,c);case"array":return this._findMany(a,c);case"object":return this._findQuery(a,c);case"undefined":if(1===arguments.length)return this._findAll(a);default:throw new b["default"].Error("A bad `find` call was made to the store.")}},_findSingle:function(a,b){var c=this,d=void 0,e=this.getRecord(a,b);e&&(d=i.resolve());var f=this.get("recordRequestCache");if(!d){var h=f.getPendingRequest(a,b);h&&(d=h)}return d||(d=this.adapterFor(a).findRecord(a,b).then(function(a){c.pushPayload(a)}),f.savePendingRequest(a,b,d)),g.ModelPromiseObject.create({id:b,typeKey:a,promise:d.then(function(){return c.getRecord(a,b)})})},_findMany:function(a){var b=this,c=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(0===c.length)return g.PromiseArray.create({promise:i.resolve([])});var d=c.filter(function(c){return null===b.getRecord(a,c)}),e=void 0;0===d.length&&(e=i.resolve());var f=this.get("recordRequestCache");if(!e){var h=f.getPendingRequest(a,c);h&&(e=h)}return e||(e=this.adapterFor(a).findMany(a,c).then(function(a){b.pushPayload(a)}),f.savePendingRequest(a,c,e)),g.PromiseArray.create({promise:e.then(function(){return c.map(function(c){return b.getRecord(a,c)}).toArray()})})},_findAll:function(a){var b=this,c=void 0,d=this.get("recordRequestCache"),e=d.getPendingRequest(a);return e&&(c=e),c||(c=this.adapterFor(a).findAll(a).then(function(a){b.pushPayload(a)}),d.savePendingRequest(a,c)),g.PromiseArray.create({promise:c.then(function(){return b.cachedRecordsFor(a)})})},_findQuery:function(a,b){var c=this,d=void 0,e=this.get("recordRequestCache"),f=e.getPendingRequest(a,b);return f&&(d=f),d||(d=this.adapterFor(a).findQuery(a,b),e.savePendingRequest(a,b,d)),d.then(function(a){return{records:g.PromiseArray.create({promise:d.then(function(a){var b=a.meta.matchedRecords;return c.pushPayload(a),b.map(function(a){return c.getRecord(a.type,a.id)})})}),meta:a.meta.serverMeta}})},saveRecord:function(a){var c=this;if(!a.get("isNew"))return this.updateRecord(a);if(!a.isInitialized())throw new b["default"].Error("Can't save an uninitialized record.");var d=a.get("typeKey");return this.adapterFor(d).createRecord(a).then(function(e){var f=a.get("id"),g=b["default"].get(e,"meta.createdRecord.id");if(!g){if(1!==e[d].length)throw new b["default"].Error("Missing `createdRecord` meta attribute.");g=e[d][0].id}a.set("id",g);var h=c.get("recordCache");return h.deleteRecord(d,f),h.storeRecord(a),c.updateRelationshipsWithNewId(d,f,g),c.pushPayload(e),a})},updateRecord:function(a){var b=this,c={id:a.get("id")};a.constructor.eachAttribute(function(b){c[b]=a.get(b)}),a.constructor.eachRelationship(function(b){c[b]=a.get("_"+b)});var d={};return d[a.get("typeKey")]=[c],this.adapterFor(a.get("typeKey")).updateRecord(a).then(function(c){return b.pushPayload(c||d),a})},deleteRecord:function(a){var b=this;if(a.get("isCreating"))return i.reject("Can't delete a record before it's created.");var c=a.get("typeKey"),d=a.get("id");return a.get("isNew")?(this.deleteRecordFromStore(c,d),i.resolve()):this.adapterFor(c).deleteRecord(a).then(function(a){b.deleteRecordFromStore(c,d),b.pushPayload(a)})},deleteRecordFromStore:function(a,b){this.deleteRelationshipsForRecord(a,b),this.get("recordCache").deleteRecord(a,b)},reloadRecord:function(a){var c=this;if(a.get("isDirty")&&!this.get("reloadDirty"))throw new b["default"].Error("Can't reload a record while it's dirty and `reloadDirty` is turned off.");return this.adapterFor(a.typeKey).findRecord(a.typeKey,a.get("id")).then(function(b){return c.pushPayload(b),a})},extractPayload:h.deprecateMethod("`extractPayload` is deprecated in favor of `pushPayload`","pushPayload"),pushPayload:function(){var a=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];0!==Object.keys(c).length&&b["default"].changeProperties(function(){var d=a.get("reloadDirty");(b["default"].get(c,"meta.serverMeta.deletedRecords")||[]).forEach(function(b){a.deleteRecordFromStore(b.type,b.id)}),delete c.meta,Object.keys(c).forEach(function(b){var e=a.modelFor(b);c[b].forEach(function(c){var f=a.getRecord(b,c.id);f?(!f.get("isDirty")||d)&&f.loadDataFromServer(c):(f=e.create(a),f.set("id",c.id),a.get("recordCache").storeRecord(f),a.connectQueuedRelationships(f),f.loadDataFromServer(c))})})})},unloadRecord:function(a,c){var d=this;if(!c&&a.get("isDirty"))throw new b["default"].Error("Can't unload a dirty record.");b["default"].changeProperties(function(){a.rollback(),d.queueConnectedRelationships(a),d.get("recordCache").deleteRecord(a.get("typeKey"),a.get("id")),a.set("store",null)})}});j.reopen(e["default"]),j.reopen(f["default"]),a["default"]=j}),a("ember-graph/util/array",["exports","ember"],function(a,b){var c=function(a){return this.map(function(c){return b["default"].get(c,a)})};a.mapBy=c}),a("ember-graph/util/compatibility",["exports","ember"],function(a,b){function c(a,c,d){var e=b["default"].VERSION.split(/\.|\-/),f=e.map(function(a){return parseInt(a,10)});return f[0]a?!0:f[1]c?!0:f[2]e;e++)c[e]=arguments[e];var f=c.slice(0,-1),g=c[c.length-1],h=!g.set;return h?b["default"].computed.apply(b["default"],d(f).concat([function(a){return g.get.call(this,a)}])).readOnly():b["default"].computed.apply(b["default"],d(f).concat([function(a,b){return arguments.length>1&&g.set.call(this,a,b),g.get.call(this,a)}]))},g=function(){for(var a=arguments.length,c=Array(a),e=0;a>e;e++)c[e]=arguments[e];var f=c.slice(0,-1),g=c[c.length-1],h=!g.set;g.set&&function(){var a=g.set;g.set=function(b,c){return a.call(this,b,c),g.get.call(this,b)}}();var i=b["default"].computed.apply(b["default"],d(f).concat([g]));return h?i.readOnly():i},h=e?g:f;a.computed=h}),a("ember-graph/util/copy",["exports","ember","ember-graph/util/copyable"],function(a,b,c){a["default"]=e;b["default"].Object;function d(a,b,e,f){if("object"!=typeof a||null===a)return a;var g=void 0,h=void 0;if(b&&(h=e.indexOf(a))>=0)return f[h];if(Array.isArray(a)){if(g=a.slice(),b)for(h=g.length;--h>=0;)g[h]=d(g[h],b,e,f)}else if(c["default"].detect(a))g=a.copy(b,e,f);else if(a instanceof Date)g=new Date(a.getTime());else{g={};var i=void 0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&"__"!==i.substring(0,2)&&(g[i]=b?d(a[i],b,e,f):a[i])}return b&&(e.push(a),f.push(g)),g}function e(a,b){return"object"!=typeof a||null===a?a:!Array.isArray(a)&&c["default"].detect(a)?a.copy(b):d(a,b,b?[]:null,b?[]:null)}}),a("ember-graph/util/copyable",["exports","ember"],function(a,b){var c=b["default"].Mixin;a["default"]=c.create({copy:null})}),a("ember-graph/util/data_adapter",["exports","ember","ember-graph/model/model","ember-graph/util/computed"],function(a,b,c,d){var e=b["default"].DataAdapter&&b["default"].DataAdapter.extend({containerDebugAdapter:d.computed({get:function(){return b["default"].getOwner(this).lookup("container-debug-adapter:main")}}),getFilters:function(){return[{name:"isNew",desc:"New"},{name:"isModified",desc:"Modified"},{name:"isClean",desc:"Clean"}]},detect:function(a){return a!==c["default"]&&c["default"].detect(a)},columnsForType:function(a){var c=this.get("attributeLimit"),d=[{name:"id",desc:"Id"}];return a.eachAttribute(function(a,e){if(!(d.length>c)){var f=b["default"].String.capitalize(b["default"].String.underscore(a).replace(/_/g," "));d.push({name:a,desc:f})}}),d},getRecords:function(a){var c=b["default"].get(a,"typeKey");return this.get("store").getLiveRecordArray(c)},getRecordColumnValues:function(a){var b={id:a.get("id")};return a.constructor.eachAttribute(function(c,d){b[c]=a.get(c)}),b},getRecordKeywords:function(a){var b=[];return a.constructor.eachAttribute(function(c){b.push(a.get(c)+"")}),b},getRecordFilterValues:function(a){var b=a.get("isNew"),c=a.get("isDirty");return{isNew:b,isModified:c&&!b,isClean:!c}},getRecordColor:function(a){return a.get("isNew")?"green":a.get("isDirty")?"blue":"black"},observeRecord:function(a,c){var d=this,e=b["default"].A(),f=b["default"].A(["id","isNew","isDirty"]);return f.addObjects(b["default"].get(a.constructor,"attributes").toArray()),f.forEach(function(c){var f=function(){return d.wrapRecord(a)};b["default"].addObserver(a,c,f),e.push(function(){return b["default"].removeObserver(a,c,f)})}),function(){e.forEach(function(a){return a()})}}}),f=b["default"].DataAdapter?e:null;a["default"]=f}),a("ember-graph/util/inflector",["exports","ember"],function(a,b){var c=["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"],d=[[/(m)an$/gi,"$1en"],[/(pe)rson$/gi,"$1ople"],[/(child)$/gi,"$1ren"],[/^(ox)$/gi,"$1en"],[/(ax|test)is$/gi,"$1es"],[/(octop|vir)us$/gi,"$1i"],[/(alias|status)$/gi,"$1es"],[/(bu)s$/gi,"$1ses"],[/(buffal|tomat|potat)o$/gi,"$1oes"],[/([ti])um$/gi,"$1a"],[/sis$/gi,"ses"],[/(?:([^f])fe|([lr])f)$/gi,"$1$2ves"],[/(hive)$/gi,"$1s"],[/([^aeiouy]|qu)y$/gi,"$1ies"],[/(x|ch|ss|sh)$/gi,"$1es"],[/(matr|vert|ind)ix|ex$/gi,"$1ices"],[/([m|l])ouse$/gi,"$1ice"],[/(quiz)$/gi,"$1zes"],[/s$/gi,"s"],[/$/gi,"s"]],e=[[/(m)en$/gi,"$1an"],[/(pe)ople$/gi,"$1rson"],[/(child)ren$/gi,"$1"],[/([ti])a$/gi,"$1um"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/gi,"$1$2sis"],[/(hive)s$/gi,"$1"],[/(tive)s$/gi,"$1"],[/(curve)s$/gi,"$1"],[/([lr])ves$/gi,"$1f"],[/([^fo])ves$/gi,"$1fe"],[/([^aeiouy]|qu)ies$/gi,"$1y"],[/(s)eries$/gi,"$1eries"],[/(m)ovies$/gi,"$1ovie"],[/(x|ch|ss|sh)es$/gi,"$1"],[/([m|l])ice$/gi,"$1ouse"],[/(bus)es$/gi,"$1"],[/(o)es$/gi,"$1"],[/(shoe)s$/gi,"$1"],[/(cris|ax|test)es$/gi,"$1is"],[/(octop|vir)i$/gi,"$1us"],[/(alias|status)es$/gi,"$1"],[/^(ox)en/gi,"$1"],[/(vert|ind)ices$/gi,"$1ex"],[/(matr)ices$/gi,"$1ix"],[/(quiz)zes$/gi,"$1"],[/s$/gi,""]],f=function(a,b){if(c.indexOf(a)>=0)return a;for(var d=0;dd;d++)c=b["default"].guidFor(this[d]),delete this[c],delete this[d];return b["default"].set(this,"length",0),b["default"].notifyPropertyChange(this,"firstObject"),b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(a,0),this},isEqual:function(a){if(!b["default"].Enumerable.detect(a))return!1;var c=b["default"].get(this,"length");if(b["default"].get(a,"length")!==c)return!1;for(;--c>=0;)if(!a.includes(this[c]))return!1;return!0},add:function(){return this.addObject.apply(this,arguments)},remove:function(){return this.removeObject.apply(this,arguments)},pop:function(){var a=this.length>0?this[this.length-1]:null;return this.remove(a),a},push:function(){return this.addObject.apply(this,arguments)},shift:function(){return this.pop.apply(this,arguments)},unshift:function(){return this.push.apply(this,arguments)},addEach:function(){return this.addObject.apply(this,arguments)},removeEach:function(){return this.removeObjects.apply(this,arguments)},init:function(a){this._super.apply(this,arguments),a&&this.addObjects(a)},nextObject:function(a){return this[a]},firstObject:b["default"].computed(function(){return this.length>0?this[0]:void 0}),lastObject:b["default"].computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(a){if(b["default"].isNone(a))return this;var c,d=b["default"].guidFor(a),e=this[d],f=b["default"].get(this,"length");return e>=0&&f>e&&this[e]===a?this:(c=[a],this.arrayContentWillChange(null,c),f=b["default"].get(this,"length"),this[d]=f,this[f]=a,b["default"].set(this,"length",f+1),b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(null,c),this)},removeObject:function(a){if(b["default"].isNone(a))return this;var c,d,e=b["default"].guidFor(a),f=this[e],g=b["default"].get(this,"length"),h=0===f,i=f===g-1;return f>=0&&g>f&&this[f]===a&&(d=[a],this.arrayContentWillChange(d,null),g-1>f&&(c=this[g-1],this[f]=c,this[b["default"].guidFor(c)]=f),delete this[e],delete this[g-1],b["default"].set(this,"length",g-1),h&&b["default"].notifyPropertyChange(this,"firstObject"),i&&b["default"].notifyPropertyChange(this,"lastObject"),this.arrayContentDidChange(d,null)),this},contains:function(a){return this[b["default"].guidFor(a)]>=0},copy:function(){var a=this.constructor,c=new a,d=b["default"].get(this,"length");for(set(c,"length",d);--d>=0;)c[d]=this[d],c[b["default"].guidFor(this[d])]=d;return c},toString:function(){var a,b=this.length,c=[];for(a=0;b>a;a++)c[a]=this[a];return"Ember.Set<"+c.join(",")+">"},withoutAll:function(a){var b=this.copy();return b.removeObjects(a),b}})}),a("ember-graph/util/string",["exports","ember"],function(a,b){function c(a,b){return 0===a.indexOf(b)}function d(a,b){return a.indexOf(b,a.length-b.length)>=0}function e(a){return a[0].toLocaleUpperCase()+a.substring(1)}function f(a){return a[0].toLocaleLowerCase()+a.substring(1)}(b["default"].ENV.EXTEND_PROTOTYPES===!0||b["default"].ENV.EXTEND_PROTOTYPES.String)&&(String.prototype.startsWith||(String.prototype.startsWith=function(a){return c(this,a)}),String.prototype.endsWith||(String.prototype.endsWith=function(a){return d(this,a)}),String.prototype.capitalize||(String.prototype.capitalize=function(){return e(this)}),String.prototype.decapitalize||(String.prototype.decapitalize=function(){return f(this)})),a.startsWith=c,a.endsWith=d,a.capitalize=e,a.decapitalize=f}),a("ember-graph/util/util",["exports","ember","ember-graph/util/set","ember-graph/util/computed"],function(a,b,c,d){function e(a){return function(){throw new b["default"].Error("You failed to implement the abstract `"+a+"` method.")}}function f(a){return d.computed({get:function(){throw new b["default"].Error("You failed to override the abstract `"+a+"` property.")}})}function g(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function h(a,b){var d=c["default"].create();return d.addObjects(a),a.length===b.length&&d.isEqual(b)}function i(a){var b=a.reduce(function(a,b){return a[b.type]?a[b.type].push(b):a[b.type]=[b],a},{});return Object.keys(b).reduce(function(a,c){return b[c].length>0&&a.push(b[c]),a},[])}function j(a,b,c){for(var d=Object.keys(a),e=0;e