{"version":3,"sources":["vendor/ember-cli/app-prefix.js","saves-client/app.js","saves-client/authenticators/saves.js","saves-client/authorizers/saves.js","saves-client/components/fa-icon.js","saves-client/components/fa-list.js","saves-client/components/fa-stack.js","saves-client/components/file-field.js","saves-client/helpers/and.js","saves-client/helpers/app-version.js","saves-client/helpers/date-formatter.js","saves-client/helpers/date-span-from-now.js","saves-client/helpers/date-span.js","saves-client/helpers/eq.js","saves-client/helpers/from-now.js","saves-client/helpers/gt.js","saves-client/helpers/gte.js","saves-client/helpers/index-lt.js","saves-client/helpers/is-after.js","saves-client/helpers/is-array.js","saves-client/helpers/is-before.js","saves-client/helpers/is-between.js","saves-client/helpers/is-equal.js","saves-client/helpers/is-same-or-after.js","saves-client/helpers/is-same-or-before.js","saves-client/helpers/is-same.js","saves-client/helpers/lt.js","saves-client/helpers/lte.js","saves-client/helpers/moment-add.js","saves-client/helpers/moment-calendar.js","saves-client/helpers/moment-duration.js","saves-client/helpers/moment-format.js","saves-client/helpers/moment-from-now.js","saves-client/helpers/moment-from.js","saves-client/helpers/moment-subtract.js","saves-client/helpers/moment-to-date.js","saves-client/helpers/moment-to-now.js","saves-client/helpers/moment-to.js","saves-client/helpers/moment-unix.js","saves-client/helpers/moment.js","saves-client/helpers/not-eq.js","saves-client/helpers/not.js","saves-client/helpers/now.js","saves-client/helpers/or.js","saves-client/helpers/pluralize.js","saves-client/helpers/rounded-float.js","saves-client/helpers/singularize.js","saves-client/helpers/unix.js","saves-client/helpers/xor.js","saves-client/initializers/app-version.js","saves-client/initializers/container-debug-adapter.js","saves-client/initializers/ember-data.js","saves-client/initializers/ember-simple-auth.js","saves-client/initializers/export-application-global.js","saves-client/initializers/truth-helpers.js","saves-client/instance-initializers/ember-data.js","saves-client/instance-initializers/ember-simple-auth.js","saves-client/models/competition.js","saves-client/models/competitor.js","saves-client/models/customer-group.js","saves-client/models/device.js","saves-client/models/entity.js","saves-client/models/file.js","saves-client/models/hall-entity.js","saves-client/models/hall.js","saves-client/models/international-competition.js","saves-client/models/international-registrant.js","saves-client/models/measurement.js","saves-client/models/organisation-summary.js","saves-client/models/organisation-user.js","saves-client/models/organisation.js","saves-client/models/performance.js","saves-client/models/tip.js","saves-client/models/user.js","saves-client/pods/application/adapter.js","saves-client/pods/application/route.js","saves-client/pods/application/template.js","saves-client/pods/bare/competition/template.js","saves-client/pods/bare/competitor/template.js","saves-client/pods/bare/international-competition/route.js","saves-client/pods/bare/international-competition/template.js","saves-client/pods/components/action-button/component.js","saves-client/pods/components/action-button/template.js","saves-client/pods/components/aggregate-savings/component.js","saves-client/pods/components/aggregate-savings/template.js","saves-client/pods/components/angle-double/template.js","saves-client/pods/components/competition-editor/component.js","saves-client/pods/components/competition-editor/template.js","saves-client/pods/components/competition-item/component.js","saves-client/pods/components/competition-item/template.js","saves-client/pods/components/competitions-list/component.js","saves-client/pods/components/competitions-list/template.js","saves-client/pods/components/competitor-editor/component.js","saves-client/pods/components/competitor-editor/template.js","saves-client/pods/components/competitor-item/component.js","saves-client/pods/components/competitor-item/template.js","saves-client/pods/components/date-picker/component.js","saves-client/pods/components/entity-draggable/component.js","saves-client/pods/components/entity-draggable/template.js","saves-client/pods/components/error-message/component.js","saves-client/pods/components/error-message/template.js","saves-client/pods/components/file-item/component.js","saves-client/pods/components/file-item/template.js","saves-client/pods/components/file-upload/component.js","saves-client/pods/components/hall-draggable/component.js","saves-client/pods/components/hall-draggable/template.js","saves-client/pods/components/hall-droppable/component.js","saves-client/pods/components/hall-droppable/template.js","saves-client/pods/components/hall-entity-item/component.js","saves-client/pods/components/hall-entity-item/template.js","saves-client/pods/components/international-competition-item/component.js","saves-client/pods/components/international-competition-item/template.js","saves-client/pods/components/international-competitions-list/component.js","saves-client/pods/components/international-competitions-list/template.js","saves-client/pods/components/international-competitor-item/component.js","saves-client/pods/components/international-competitor-item/template.js","saves-client/pods/components/international-dropzone/component.js","saves-client/pods/components/international-dropzone/template.js","saves-client/pods/components/international-league-table/component.js","saves-client/pods/components/international-league-table/template.js","saves-client/pods/components/international-registrant/component.js","saves-client/pods/components/international-registrant/template.js","saves-client/pods/components/international-registration-list/component.js","saves-client/pods/components/international-registration-list/template.js","saves-client/pods/components/league-table/component.js","saves-client/pods/components/league-table/template.js","saves-client/pods/components/measurement-item/component.js","saves-client/pods/components/measurement-item/template.js","saves-client/pods/components/measurement-month/component.js","saves-client/pods/components/measurement-month/template.js","saves-client/pods/components/modal-background/component.js","saves-client/pods/components/modal-box/component.js","saves-client/pods/components/modal-box/template.js","saves-client/pods/components/modal-content/component.js","saves-client/pods/components/org-details/component.js","saves-client/pods/components/org-details/template.js","saves-client/pods/components/org-editor/component.js","saves-client/pods/components/org-editor/template.js","saves-client/pods/components/org-summary-row/component.js","saves-client/pods/components/org-summary-row/template.js","saves-client/pods/components/org-summary-table/component.js","saves-client/pods/components/org-summary-table/template.js","saves-client/pods/components/organisation-item/component.js","saves-client/pods/components/organisation-item/template.js","saves-client/pods/components/organisation-logo/component.js","saves-client/pods/components/organisation-user-item/component.js","saves-client/pods/components/organisation-user-item/template.js","saves-client/pods/components/performance-chart/component.js","saves-client/pods/components/performance-table/component.js","saves-client/pods/components/performance-table/template.js","saves-client/pods/components/savings-bar/component.js","saves-client/pods/components/savings-bar/template.js","saves-client/pods/components/setup-advice/template.js","saves-client/pods/components/site-header/component.js","saves-client/pods/components/site-header/template.js","saves-client/pods/components/slug-preview/component.js","saves-client/pods/components/slug-preview/template.js","saves-client/pods/components/target-editor/component.js","saves-client/pods/components/target-editor/template.js","saves-client/pods/components/tip-item/component.js","saves-client/pods/components/tip-item/template.js","saves-client/pods/components/tip-list/component.js","saves-client/pods/components/tip-list/template.js","saves-client/pods/components/tip-viewer/component.js","saves-client/pods/components/tip-viewer/template.js","saves-client/pods/error/template.js","saves-client/pods/loading/template.js","saves-client/pods/normal/bad-url/template.js","saves-client/pods/normal/controller.js","saves-client/pods/normal/error/template.js","saves-client/pods/normal/index/controller.js","saves-client/pods/normal/index/route.js","saves-client/pods/normal/index/template.js","saves-client/pods/normal/int/route.js","saves-client/pods/normal/int/template.js","saves-client/pods/normal/international/controller.js","saves-client/pods/normal/international/index/template.js","saves-client/pods/normal/international/new/controller.js","saves-client/pods/normal/international/new/route.js","saves-client/pods/normal/international/new/template.js","saves-client/pods/normal/international/route.js","saves-client/pods/normal/international/show/controller.js","saves-client/pods/normal/international/show/route.js","saves-client/pods/normal/international/show/template.js","saves-client/pods/normal/international/template.js","saves-client/pods/normal/loading/template.js","saves-client/pods/normal/login/controller.js","saves-client/pods/normal/login/template.js","saves-client/pods/normal/new-org/controller.js","saves-client/pods/normal/new-org/route.js","saves-client/pods/normal/new-org/template.js","saves-client/pods/normal/organisation/competition/controller.js","saves-client/pods/normal/organisation/competition/route.js","saves-client/pods/normal/organisation/competition/template.js","saves-client/pods/normal/organisation/competitions/competition/route.js","saves-client/pods/normal/organisation/competitions/edit-competition/controller.js","saves-client/pods/normal/organisation/competitions/edit-competition/route.js","saves-client/pods/normal/organisation/competitions/edit-competition/template.js","saves-client/pods/normal/organisation/competitions/index/controller.js","saves-client/pods/normal/organisation/competitions/index/template.js","saves-client/pods/normal/organisation/competitions/route.js","saves-client/pods/normal/organisation/competitions/template.js","saves-client/pods/normal/organisation/competitor/controller.js","saves-client/pods/normal/organisation/competitor/index/controller.js","saves-client/pods/normal/organisation/competitor/index/route.js","saves-client/pods/normal/organisation/competitor/index/template.js","saves-client/pods/normal/organisation/competitor/loading/template.js","saves-client/pods/normal/organisation/competitor/table/controller.js","saves-client/pods/normal/organisation/competitor/table/route.js","saves-client/pods/normal/organisation/competitor/table/template.js","saves-client/pods/normal/organisation/competitor/template.js","saves-client/pods/normal/organisation/controller.js","saves-client/pods/normal/organisation/data/controller.js","saves-client/pods/normal/organisation/data/entity/controller.js","saves-client/pods/normal/organisation/data/entity/device/controller.js","saves-client/pods/normal/organisation/data/entity/device/route.js","saves-client/pods/normal/organisation/data/entity/device/template.js","saves-client/pods/normal/organisation/data/entity/route.js","saves-client/pods/normal/organisation/data/entity/template.js","saves-client/pods/normal/organisation/data/index/controller.js","saves-client/pods/normal/organisation/data/index/template.js","saves-client/pods/normal/organisation/data/route.js","saves-client/pods/normal/organisation/data/template.js","saves-client/pods/normal/organisation/halls/controller.js","saves-client/pods/normal/organisation/halls/route.js","saves-client/pods/normal/organisation/halls/template.js","saves-client/pods/normal/organisation/index/controller.js","saves-client/pods/normal/organisation/index/route.js","saves-client/pods/normal/organisation/index/template.js","saves-client/pods/normal/organisation/international-competitor/controller.js","saves-client/pods/normal/organisation/international-competitor/route.js","saves-client/pods/normal/organisation/international-competitor/template.js","saves-client/pods/normal/organisation/international/controller.js","saves-client/pods/normal/organisation/international/route.js","saves-client/pods/normal/organisation/international/template.js","saves-client/pods/normal/organisation/loading/template.js","saves-client/pods/normal/organisation/organisation-users/controller.js","saves-client/pods/normal/organisation/organisation-users/route.js","saves-client/pods/normal/organisation/organisation-users/template.js","saves-client/pods/normal/organisation/route.js","saves-client/pods/normal/organisation/template.js","saves-client/pods/normal/organisation/tips/route.js","saves-client/pods/normal/organisation/tips/template.js","saves-client/pods/normal/orgs-status/controller.js","saves-client/pods/normal/orgs-status/route.js","saves-client/pods/normal/orgs-status/template.js","saves-client/pods/normal/template.js","saves-client/pods/normal/users/controller.js","saves-client/pods/normal/users/index/controller.js","saves-client/pods/normal/users/index/template.js","saves-client/pods/normal/users/route.js","saves-client/pods/normal/users/template.js","saves-client/pods/normal/users/user/controller.js","saves-client/pods/normal/users/user/route.js","saves-client/pods/normal/users/user/template.js","saves-client/pods/widgets/fullscreen/template.js","saves-client/resolver.js","saves-client/router.js","saves-client/routes/application.js","saves-client/services/account.js","saves-client/services/ajax.js","saves-client/services/cookies.js","saves-client/services/moment.js","saves-client/services/session.js","saves-client/session-stores/application.js","saves-client/transforms/isodate.js","saves-client/utils/slug.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["\"use strict\";\n\n\n","define('saves-client/app', ['exports', 'saves-client/resolver', 'ember-load-initializers', 'saves-client/config/environment'], function (exports, _resolver, _emberLoadInitializers, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  const App = Ember.Application.extend({\n    modulePrefix: _environment.default.modulePrefix,\n    podModulePrefix: _environment.default.podModulePrefix,\n    Resolver: _resolver.default\n  });\n\n  (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n\n  exports.default = App;\n});","define('saves-client/authenticators/saves', ['exports', 'ember-simple-auth/authenticators/base', 'saves-client/config/environment'], function (exports, _base, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var api_path = _environment.default.APP.API_HOST;\n  if (_environment.default.APP.API_NAMESPACE) {\n    api_path = api_path + '/' + _environment.default.APP.API_NAMESPACE;\n  }\n\n  exports.default = _base.default.extend({\n    restore: function (data) {\n      return new Ember.RSVP.Promise(function (resolve, reject) {\n        if (!Ember.isEmpty(data.user_id) && !Ember.isEmpty(data.access_token)) {\n          resolve(data);\n        } else {\n          reject();\n        }\n      });\n    },\n    authenticate: function (credentials) {\n      var postData = { user: { username: credentials.identification, password: credentials.password } };\n      return new Ember.RSVP.Promise(function (resolve, reject) {\n        Ember.$.ajax({\n          url: api_path + '/sessions',\n          type: 'POST',\n          data: JSON.stringify(postData),\n          contentType: 'application/json',\n          dataType: 'json'\n        }).then(function (response) {\n          Ember.run(function () {\n            console.log(\"User [\" + response.session.username + \"] authenticated!\");\n            resolve({ access_token: response.session.token, user_id: response.session.username });\n          });\n        }, function (xhr) {\n          var response = JSON.parse(xhr.responseText);\n          alert(\"Invalid login details\");\n          Ember.run(function () {\n            reject(response.error);\n          });\n        });\n      });\n    },\n    invalidate: function (data) {\n      return new Ember.RSVP.Promise(function (resolve, reject) {\n        Ember.$.ajax({\n          url: api_path + '/sessions/' + data.access_token, //App.ApplicationAdapter.prototype.buildURL('session'),\n          type: 'DELETE',\n          contentType: 'application/json',\n          dataType: 'json',\n          headers: { \"Authorization\": data.access_token }\n        }).then(function (response) {\n          console.log(\"invalidating token?\");\n          console.log(response);\n          Ember.run(function () {\n            resolve();\n          });\n        }, function (xhr) {\n          var response = JSON.parse(xhr.responseText);\n          Ember.run(function () {\n            console.log(\"Server failed to invalidate token!\");\n            reject(response.error);\n          });\n        });\n      });\n    }\n  });\n});","define('saves-client/authorizers/saves', ['exports', 'ember-simple-auth/authorizers/base'], function (exports, _base) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _base.default.extend({\n    authorize(sessionData, block) {\n      block('Authorization', sessionData.access_token);\n    }\n  });\n});","define('saves-client/components/fa-icon', ['exports', 'ember-font-awesome/components/fa-icon'], function (exports, _faIcon) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _faIcon.default;\n    }\n  });\n});","define('saves-client/components/fa-list', ['exports', 'ember-font-awesome/components/fa-list'], function (exports, _faList) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _faList.default;\n    }\n  });\n});","define('saves-client/components/fa-stack', ['exports', 'ember-font-awesome/components/fa-stack'], function (exports, _faStack) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _faStack.default;\n    }\n  });\n});","define('saves-client/components/file-field', ['exports', 'ember-uploader/components/file-field'], function (exports, _fileField) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _fileField.default;\n});","define('saves-client/helpers/and', ['exports', 'ember-truth-helpers/helpers/and'], function (exports, _and) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_and.andHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_and.andHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/app-version', ['exports', 'saves-client/config/environment', 'ember-cli-app-version/utils/regexp'], function (exports, _environment, _regexp) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.appVersion = appVersion;\n  function appVersion(_, hash = {}) {\n    const version = _environment.default.APP.version;\n    // e.g. 1.0.0-alpha.1+4jds75hf\n\n    // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n    let versionOnly = hash.versionOnly || hash.hideSha;\n    let shaOnly = hash.shaOnly || hash.hideVersion;\n\n    let match = null;\n\n    if (versionOnly) {\n      if (hash.showExtended) {\n        match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n      }\n      // Fallback to just version\n      if (!match) {\n        match = version.match(_regexp.versionRegExp); // 1.0.0\n      }\n    }\n\n    if (shaOnly) {\n      match = version.match(_regexp.shaRegExp); // 4jds75hf\n    }\n\n    return match ? match[0] : version;\n  }\n\n  exports.default = Ember.Helper.helper(appVersion);\n});","define(\"saves-client/helpers/date-formatter\", [\"exports\", \"moment\"], function (exports, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([value, options]) {\n    return _moment.default.utc(value).format(options);\n  });\n});","define(\"saves-client/helpers/date-span-from-now\", [\"exports\", \"moment\"], function (exports, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([date, suffix]) {\n    return _moment.default.utc(date).from(_moment.default.utc(), suffix);\n  });\n});","define(\"saves-client/helpers/date-span\", [\"exports\", \"moment\"], function (exports, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([end, start, suffix]) {\n    return _moment.default.utc(end).from(_moment.default.utc(start), suffix);\n  });\n});","define('saves-client/helpers/eq', ['exports', 'ember-truth-helpers/helpers/equal'], function (exports, _equal) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_equal.equalHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_equal.equalHelper);\n  }\n\n  exports.default = forExport;\n});","define(\"saves-client/helpers/from-now\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([date, suffix]) {\n    return moment.utc(date).fromNow(suffix);\n  });\n});","define('saves-client/helpers/gt', ['exports', 'ember-truth-helpers/helpers/gt'], function (exports, _gt) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_gt.gtHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_gt.gtHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/gte', ['exports', 'ember-truth-helpers/helpers/gte'], function (exports, _gte) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_gte.gteHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_gte.gteHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/index-lt', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([leftValue, rightValue]) {\n    return leftValue < rightValue;\n  });\n});","define('saves-client/helpers/is-after', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-after'], function (exports, _environment, _isAfter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isAfter.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/is-array', ['exports', 'ember-truth-helpers/helpers/is-array'], function (exports, _isArray) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_isArray.isArrayHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_isArray.isArrayHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/is-before', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-before'], function (exports, _environment, _isBefore) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isBefore.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/is-between', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-between'], function (exports, _environment, _isBetween) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isBetween.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/is-equal', ['exports', 'ember-truth-helpers/helpers/is-equal'], function (exports, _isEqual) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _isEqual.default;\n    }\n  });\n  Object.defineProperty(exports, 'isEqual', {\n    enumerable: true,\n    get: function () {\n      return _isEqual.isEqual;\n    }\n  });\n});","define('saves-client/helpers/is-same-or-after', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-same-or-after'], function (exports, _environment, _isSameOrAfter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isSameOrAfter.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/is-same-or-before', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-same-or-before'], function (exports, _environment, _isSameOrBefore) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isSameOrBefore.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/is-same', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/is-same'], function (exports, _environment, _isSame) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _isSame.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/lt', ['exports', 'ember-truth-helpers/helpers/lt'], function (exports, _lt) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_lt.ltHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_lt.ltHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/lte', ['exports', 'ember-truth-helpers/helpers/lte'], function (exports, _lte) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_lte.lteHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_lte.lteHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/moment-add', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-add'], function (exports, _environment, _momentAdd) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentAdd.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-calendar', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-calendar'], function (exports, _environment, _momentCalendar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentCalendar.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-duration', ['exports', 'ember-moment/helpers/moment-duration'], function (exports, _momentDuration) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _momentDuration.default;\n    }\n  });\n});","define('saves-client/helpers/moment-format', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-format'], function (exports, _environment, _momentFormat) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentFormat.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-from-now', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-from-now'], function (exports, _environment, _momentFromNow) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentFromNow.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-from', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-from'], function (exports, _environment, _momentFrom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentFrom.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-subtract', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-subtract'], function (exports, _environment, _momentSubtract) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentSubtract.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-to-date', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-to-date'], function (exports, _environment, _momentToDate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentToDate.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-to-now', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-to-now'], function (exports, _environment, _momentToNow) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentToNow.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-to', ['exports', 'saves-client/config/environment', 'ember-moment/helpers/moment-to'], function (exports, _environment, _momentTo) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _momentTo.default.extend({\n    globalAllowEmpty: !!Ember.get(_environment.default, 'moment.allowEmpty')\n  });\n});","define('saves-client/helpers/moment-unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _unix) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function () {\n      return _unix.unix;\n    }\n  });\n});","define('saves-client/helpers/moment', ['exports', 'ember-moment/helpers/moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _moment.default;\n    }\n  });\n});","define('saves-client/helpers/not-eq', ['exports', 'ember-truth-helpers/helpers/not-equal'], function (exports, _notEqual) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_notEqual.notEqualHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_notEqual.notEqualHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/not', ['exports', 'ember-truth-helpers/helpers/not'], function (exports, _not) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_not.notHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_not.notHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/now', ['exports', 'ember-moment/helpers/now'], function (exports, _now) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _now.default;\n    }\n  });\n});","define('saves-client/helpers/or', ['exports', 'ember-truth-helpers/helpers/or'], function (exports, _or) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_or.orHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_or.orHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/helpers/pluralize', ['exports', 'ember-inflector/lib/helpers/pluralize'], function (exports, _pluralize) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _pluralize.default;\n});","define(\"saves-client/helpers/rounded-float\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Helper.helper(function ([float, decimals]) {\n    float = parseFloat(float) || 0;\n    return float.toFixed(decimals);\n  });\n});","define('saves-client/helpers/singularize', ['exports', 'ember-inflector/lib/helpers/singularize'], function (exports, _singularize) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _singularize.default;\n});","define('saves-client/helpers/unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _unix) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function () {\n      return _unix.unix;\n    }\n  });\n});","define('saves-client/helpers/xor', ['exports', 'ember-truth-helpers/helpers/xor'], function (exports, _xor) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var forExport = null;\n\n  if (Ember.Helper) {\n    forExport = Ember.Helper.helper(_xor.xorHelper);\n  } else if (Ember.HTMLBars.makeBoundHelper) {\n    forExport = Ember.HTMLBars.makeBoundHelper(_xor.xorHelper);\n  }\n\n  exports.default = forExport;\n});","define('saves-client/initializers/app-version', ['exports', 'ember-cli-app-version/initializer-factory', 'saves-client/config/environment'], function (exports, _initializerFactory, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  let name, version;\n  if (_environment.default.APP) {\n    name = _environment.default.APP.name;\n    version = _environment.default.APP.version;\n  }\n\n  exports.default = {\n    name: 'App Version',\n    initialize: (0, _initializerFactory.default)(name, version)\n  };\n});","define('saves-client/initializers/container-debug-adapter', ['exports', 'ember-resolver/resolvers/classic/container-debug-adapter'], function (exports, _containerDebugAdapter) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'container-debug-adapter',\n\n    initialize() {\n      let app = arguments[1] || arguments[0];\n\n      app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n      app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n    }\n  };\n});","define('saves-client/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data'], function (exports, _setupContainer) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'ember-data',\n    initialize: _setupContainer.default\n  };\n});","define('saves-client/initializers/ember-simple-auth', ['exports', 'saves-client/config/environment', 'ember-simple-auth/configuration', 'ember-simple-auth/initializers/setup-session', 'ember-simple-auth/initializers/setup-session-service'], function (exports, _environment, _configuration, _setupSession, _setupSessionService) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'ember-simple-auth',\n\n    initialize(registry) {\n      const config = _environment.default['ember-simple-auth'] || {};\n      config.baseURL = _environment.default.rootURL || _environment.default.baseURL;\n      _configuration.default.load(config);\n\n      (0, _setupSession.default)(registry);\n      (0, _setupSessionService.default)(registry);\n    }\n  };\n});","define('saves-client/initializers/export-application-global', ['exports', 'saves-client/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.initialize = initialize;\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    if (_environment.default.exportApplicationGlobal !== false) {\n      var theGlobal;\n      if (typeof window !== 'undefined') {\n        theGlobal = window;\n      } else if (typeof global !== 'undefined') {\n        theGlobal = global;\n      } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n      } else {\n        // no reasonable global, just bail\n        return;\n      }\n\n      var value = _environment.default.exportApplicationGlobal;\n      var globalName;\n\n      if (typeof value === 'string') {\n        globalName = value;\n      } else {\n        globalName = Ember.String.classify(_environment.default.modulePrefix);\n      }\n\n      if (!theGlobal[globalName]) {\n        theGlobal[globalName] = application;\n\n        application.reopen({\n          willDestroy: function () {\n            this._super.apply(this, arguments);\n            delete theGlobal[globalName];\n          }\n        });\n      }\n    }\n  }\n\n  exports.default = {\n    name: 'export-application-global',\n\n    initialize: initialize\n  };\n});","define('saves-client/initializers/truth-helpers', ['exports', 'ember-truth-helpers/utils/register-helper', 'ember-truth-helpers/helpers/and', 'ember-truth-helpers/helpers/or', 'ember-truth-helpers/helpers/equal', 'ember-truth-helpers/helpers/not', 'ember-truth-helpers/helpers/is-array', 'ember-truth-helpers/helpers/not-equal', 'ember-truth-helpers/helpers/gt', 'ember-truth-helpers/helpers/gte', 'ember-truth-helpers/helpers/lt', 'ember-truth-helpers/helpers/lte'], function (exports, _registerHelper, _and, _or, _equal, _not, _isArray, _notEqual, _gt, _gte, _lt, _lte) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.initialize = initialize;\n  function initialize() /* container, application */{\n\n    // Do not register helpers from Ember 1.13 onwards, starting from 1.13 they\n    // will be auto-discovered.\n    if (Ember.Helper) {\n      return;\n    }\n\n    (0, _registerHelper.registerHelper)('and', _and.andHelper);\n    (0, _registerHelper.registerHelper)('or', _or.orHelper);\n    (0, _registerHelper.registerHelper)('eq', _equal.equalHelper);\n    (0, _registerHelper.registerHelper)('not', _not.notHelper);\n    (0, _registerHelper.registerHelper)('is-array', _isArray.isArrayHelper);\n    (0, _registerHelper.registerHelper)('not-eq', _notEqual.notEqualHelper);\n    (0, _registerHelper.registerHelper)('gt', _gt.gtHelper);\n    (0, _registerHelper.registerHelper)('gte', _gte.gteHelper);\n    (0, _registerHelper.registerHelper)('lt', _lt.ltHelper);\n    (0, _registerHelper.registerHelper)('lte', _lte.lteHelper);\n  }\n\n  exports.default = {\n    name: 'truth-helpers',\n    initialize: initialize\n  };\n});","define(\"saves-client/instance-initializers/ember-data\", [\"exports\", \"ember-data/initialize-store-service\"], function (exports, _initializeStoreService) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: \"ember-data\",\n    initialize: _initializeStoreService.default\n  };\n});","define('saves-client/instance-initializers/ember-simple-auth', ['exports', 'ember-simple-auth/instance-initializers/setup-session-restoration'], function (exports, _setupSessionRestoration) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    name: 'ember-simple-auth',\n\n    initialize(instance) {\n      (0, _setupSessionRestoration.default)(instance);\n    }\n  };\n});","define('saves-client/models/competition', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    organisation: _emberData.default.belongsTo('organisation', { inverse: 'competitions', 'async': true }),\n    international_registrant: _emberData.default.belongsTo('international_registrant', { 'async': true }),\n    name: _emberData.default.attr('string'),\n    start_date: _emberData.default.attr('isodate'),\n    end_date: _emberData.default.attr('isodate'),\n    default_baseline_start: _emberData.default.attr('isodate'),\n    default_baseline_end: _emberData.default.attr('isodate'),\n    default_baseline_model: _emberData.default.attr('string'),\n    main: _emberData.default.attr('boolean'),\n    published: _emberData.default.attr('boolean'),\n    neutralised: _emberData.default.attr('boolean', { defaultValue: false }),\n    show_aggregated: _emberData.default.attr('boolean', { defaultValue: false }),\n    competitors: _emberData.default.hasMany('competitor', { 'async': true }),\n    msg_title: _emberData.default.attr('string'),\n    msg_body: _emberData.default.attr('string'),\n    calculated: _emberData.default.attr('boolean'),\n    actual: _emberData.default.attr('number'),\n    target: _emberData.default.attr('number'),\n    savings: Ember.computed('target', 'actual', function () {\n      let target = this.get('target');\n      let actual = this.get('actual');\n      return target - actual;\n    }),\n    percent_savings: Ember.computed('target', 'savings', function () {\n      let target = this.get('target');\n      let savings = this.get('savings');\n      return Math.round(savings / target * 1000) / 10;\n    }),\n    inFuture: function () {\n      var start_date = moment.utc(this.get('start_date'));\n      return start_date.isAfter();\n    }.property('start_date'),\n    inPast: function () {\n      var end_date = moment.utc(this.get('end_date'));\n      return end_date.isBefore();\n    }.property('end_date'),\n    isCurrent: function () {\n      var start_date = moment.utc(this.get('start_date'));\n      var end_date = moment.utc(this.get('end_date'));\n      return start_date.isBefore() && end_date.isAfter();\n    }.property('start_date', 'end_date')\n  });\n});","define('saves-client/models/competitor', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    competition: _emberData.default.belongsTo('competition', { async: true }),\n    hall: _emberData.default.belongsTo('hall', { async: true }),\n    baseline_start_date: _emberData.default.attr('isodate'),\n    baseline_end_date: _emberData.default.attr('isodate'),\n    baseline_model: _emberData.default.attr('string'),\n    hidden: _emberData.default.attr('boolean'),\n    baseline_validated: _emberData.default.attr('boolean'),\n    calculated: _emberData.default.attr('boolean'),\n    has_data: _emberData.default.attr('boolean'),\n    savings: _emberData.default.attr('number'),\n    savings_date: _emberData.default.attr('isodate'),\n    ic_has_data: _emberData.default.attr('boolean'),\n    ic_savings: _emberData.default.attr('number'),\n    ic_savings_date: _emberData.default.attr('isodate'),\n    message: _emberData.default.attr('string'),\n    performances: _emberData.default.hasMany('performance', { async: true }),\n\n    absolute_savings: function () {\n      return Math.abs(this.get('savings'));\n    }.property('savings'),\n\n    latest_performance: function () {\n      var performances = this.get('performances');\n      return performances.filterBy('actual').get('lastObject');\n    }.property('performances.@each.savings'),\n    target: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"target\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.target'),\n\n    adjustment: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + parseFloat(performance.get(\"adjustment\")); // the input field provides text - not ideal\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.adjustment'),\n\n    adjusted_target: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"adjusted_target\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.adjusted_target'),\n\n    actual: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"actual\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.actual'),\n\n    cumulative_savings: function () {\n      var performances = this.get('performances');\n      var data = performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          var actual = performance.get(\"actual\");\n          var target = performance.get(\"adjusted_target\");\n          return {\n            target: previousValue.target + target,\n            actual: previousValue.actual + actual\n          };\n        } else {\n          return previousValue;\n        }\n      }, { target: 0, actual: 0 });\n      if (data.target && data.actual) {\n        return (data.target - data.actual) / data.target * 100;\n      } else {\n        return null;\n      }\n    }.property('performances.@each.adjusted_target', 'performances.@each.actual'),\n    absolute_cumulative_savings: function () {\n      return Math.abs(this.get('cumulative_savings'));\n    }.property('cumulative_savings'),\n    positive: function () {\n      return this.get('savings') >= 0;\n    }.property('savings')\n  });\n});","define(\"saves-client/models/customer-group\", [\"exports\", \"ember-data\"], function (exports, _emberData) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    label: _emberData.default.attr('string')\n  });\n});","define('saves-client/models/device', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    entity: _emberData.default.belongsTo('entity'),\n    title: _emberData.default.attr('string'),\n    description: _emberData.default.attr('string'),\n    start_date: _emberData.default.attr('isodate'),\n    end_date: _emberData.default.attr('isodate'),\n    measurement_count: _emberData.default.attr('number'),\n    measurements: _emberData.default.hasMany('measurement'), //, {async: true}),\n    average_resolution: function () {\n      //get data\n      var start_date = moment.utc(this.get('start_date'));\n      var end_date = moment.utc(this.get('end_date'));\n      var measurement_count = this.get('measurement_count');\n      //calculate average milliseconds per reading and load into a duration\n      var average = end_date.diff(start_date) / measurement_count;\n      var duration = moment.duration(average);\n      return duration.humanize();\n    }.property('start_date', 'end_date', 'measurement_count'),\n    measurements_per_week: function () {\n      //get data\n      var start_date = moment.utc(this.get('start_date'));\n      var end_date = moment.utc(this.get('end_date'));\n      var measurement_count = this.get('measurement_count');\n      //calculate average readings per week\n      var weeks = end_date.diff(start_date, 'weeks', true);\n      console.log(weeks);\n      console.log(end_date.diff(start_date, 'days', true));\n      var average = measurement_count / weeks;\n      return average.toFixed(2);\n    }.property('start_date', 'end_date', 'measurement_count')\n  });\n});","define('saves-client/models/entity', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    title: _emberData.default.attr('string'),\n    description: _emberData.default.attr('string'),\n    hall_entities: _emberData.default.hasMany('hallEntity'),\n    devices: _emberData.default.hasMany('device', { async: true }),\n\n    earliest_complete_data: function () {\n      var result;\n      this.get('devices').forEach(function (device) {\n        var device_start = moment(device.get('start_date'));\n        if (!moment.isMoment(result)) {\n          result = device_start;\n        } else {\n          if (device_start.isAfter(result)) {\n            result = device_start;\n          }\n        }\n      });\n      return result;\n    }.property('devices.@each.start_date'),\n\n    latest_complete_data: function () {\n      var result;\n      this.get('devices').forEach(function (device) {\n        var device_end = moment(device.get('end_date'));\n        if (!moment.isMoment(result)) {\n          result = device_end;\n        } else {\n          if (device_end.isBefore(result)) {\n            result = device_end;\n          }\n        }\n      });\n      return result;\n    }.property('devices.@each.end_date')\n  });\n});","define('saves-client/models/file', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    orgname: _emberData.default.belongsTo('organisation'),\n    basename: _emberData.default.attr('string'),\n    extension: _emberData.default.attr('string'),\n    converted: _emberData.default.attr('boolean'),\n    imported: _emberData.default.attr('boolean'),\n    problem: _emberData.default.attr('boolean'),\n    message: _emberData.default.attr('string'),\n    url: _emberData.default.attr('string'),\n    reset: _emberData.default.attr('boolean', { defaultvalue: false }),\n    created_at: _emberData.default.attr('isodate'),\n    filename: function () {\n      return this.get('basename') + this.get('extension');\n    }.property('basename', 'extension'),\n    icon: function () {\n      if (this.get('problem')) {\n        return \"exclamation-triangle\";\n      }\n      if (!this.get('converted')) {\n        return \"cog\";\n      }\n      if (!this.get('imported')) {\n        return \"cog\";\n      }\n      return \"check\";\n    }.property('converted', 'imported', 'problem'),\n    complete: function () {\n      return this.get('converted') && this.get('imported');\n    }.property('converted', 'imported')\n  });\n});","define('saves-client/models/hall-entity', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    hall: _emberData.default.belongsTo('hall', { async: true }),\n    entity: _emberData.default.belongsTo('entity', { async: true }),\n    multiplier: _emberData.default.attr('number', { defaultValue: 1.0 })\n  });\n});","define('saves-client/models/hall', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    orgname: _emberData.default.belongsTo('organisation'),\n    name: _emberData.default.attr('string'),\n    description: _emberData.default.attr('string'),\n    // competitors: DS.hasMany('competitor', {async: true}),\n    hall_entities: _emberData.default.hasMany('hallEntity', { async: true }),\n    short_data: _emberData.default.attr('boolean', { defaultValue: true }),\n    has_image: _emberData.default.attr('boolean'),\n    /* TODO; see image checking App.Organisation */\n    imageEndPoint: function () {\n      var adapter = Ember.getOwner(this).lookup('adapter:application');\n      return adapter.buildURL('hall', this.get('id')) + \"/image\";\n    }.property('id'),\n    imageUrl: function () {\n      if (this.get('has_image')) {\n        return this.get('imageEndPoint');\n      } else {\n        return \"/assets/images/default-hall.png\";\n      }\n    }.property('imageEndPoint', 'has_image')\n  });\n});","define('saves-client/models/international-competition', ['exports', 'ember-data', 'moment'], function (exports, _emberData, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    name: _emberData.default.attr('string'),\n    start_date: _emberData.default.attr('isodate'),\n    end_date: _emberData.default.attr('isodate'),\n    locked: _emberData.default.attr('boolean'),\n    live: _emberData.default.attr('boolean'),\n    open: _emberData.default.attr('boolean'),\n    international_registrants: _emberData.default.hasMany('international_registrant', { async: true }),\n    competitors: _emberData.default.hasMany('competitor', { async: true }),\n    top_ten: _emberData.default.hasMany('competitor', { async: true }),\n    inFuture: function () {\n      var start_date = _moment.default.utc(this.get('start_date'));\n      return start_date.isAfter();\n    }.property('start_date'),\n    inPast: function () {\n      var end_date = _moment.default.utc(this.get('end_date'));\n      return end_date.isBefore();\n    }.property('end_date'),\n    isCurrent: function () {\n      var start_date = _moment.default.utc(this.get('start_date'));\n      var end_date = _moment.default.utc(this.get('end_date'));\n      return start_date.isBefore() && end_date.isAfter();\n    }.property('start_date', 'end_date')\n  });\n});","define('saves-client/models/international-registrant', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    competition: _emberData.default.belongsTo('competition', { async: false }),\n    international_competition: _emberData.default.belongsTo('international_competition', { async: true }),\n    organisation: _emberData.default.belongsTo('organisation', { async: true })\n  });\n});","define('saves-client/models/measurement', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    timestamp: _emberData.default.attr('isodate'),\n    value: _emberData.default.attr('number'),\n    month: function () {\n      var ts = this.get('timestamp');\n      return ts.clone().utc().startOf('month');\n    }.property('timestamp'),\n    week: function () {\n      var ts = this.get('timestamp');\n      return ts.clone().utc().startOf('week');\n    }.property('timestamp'),\n    day: function () {\n      var ts = this.get('timestamp');\n      return ts.clone().utc().startOf('day');\n    }.property('timestamp')\n  });\n});","define('saves-client/models/organisation-summary', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    organisation: _emberData.default.belongsTo('organisation', { async: true }),\n    fullname: _emberData.default.attr('string'),\n    description: _emberData.default.attr('string'),\n    hall_count: _emberData.default.attr('number'),\n    entity_count: _emberData.default.attr('number'),\n    competition_count: _emberData.default.attr('number'),\n    has_logo: _emberData.default.attr('boolean'),\n    user_count: _emberData.default.attr('number'),\n    published: _emberData.default.attr('boolean'),\n    file_count: _emberData.default.attr('number'),\n    latest_upload: _emberData.default.attr('isodate')\n  });\n});","define('saves-client/models/organisation-user', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    organisation: _emberData.default.belongsTo('organisation', { async: true }),\n    user: _emberData.default.belongsTo('user', { async: true }),\n    administrator: _emberData.default.attr('boolean')\n  });\n});","define(\"saves-client/models/organisation\", [\"exports\", \"ember-data\", \"saves-client/utils/slug\"], function (exports, _emberData, _slug) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    orgname: _emberData.default.attr('string'),\n    fullname: _emberData.default.attr('string'),\n    description: _emberData.default.attr('string', { defaultValue: '' }),\n    halls: _emberData.default.hasMany('hall', { async: true }),\n    entities: _emberData.default.hasMany('entity', { async: true }),\n    competitions: _emberData.default.hasMany('competition', { async: true }),\n    has_logo: _emberData.default.attr('boolean', { defaultValue: false }),\n    main_competition: _emberData.default.belongsTo('competition', { async: true }),\n    organisation_users: _emberData.default.hasMany('organisation_user', { async: true }),\n    published: _emberData.default.attr('boolean'),\n    disabled: _emberData.default.attr('boolean', { defaultValue: false }),\n    files: _emberData.default.hasMany('file', { async: true }),\n    customer_group: _emberData.default.belongsTo('customer_group', { async: true }),\n    tips: _emberData.default.hasMany('tip', { async: true }),\n    logoEndPoint: function () {\n      var adapter = Ember.getOwner(this).lookup('adapter:application');\n      return adapter.buildURL('organisation', this.get('id')) + \"/logo\";\n    }.property('id'),\n    uploadUrl: function () {\n      let adapter = Ember.getOwner(this).lookup('adapter:application');\n      return adapter.buildURL('organisation', this.get('id')) + \"/upload\";\n    }.property('id'),\n    slug: function () {\n      return (0, _slug.default)(this.get('fullname'));\n    }.property('fullname'),\n    url: function () {\n      return location.protocol + '//' + location.hostname + \"/\" + this.get('slug'); //App.ApplicationAdapter.prototype.buildURL('organisation', this.get('slug'))\n    }.property('slug')\n  });\n});","define('saves-client/models/performance', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    competitor: _emberData.default.belongsTo('competitor'),\n    start_date: _emberData.default.attr('isodate'),\n    end_date: _emberData.default.attr('isodate'),\n    target: _emberData.default.attr('number'),\n    actual: _emberData.default.attr('number'),\n    adjustment: _emberData.default.attr('number'),\n    adjusted_target: function () {\n      return this.get('target') + parseFloat(this.get('adjustment'));\n    }.property('target', 'adjustment'),\n    savings: function () {\n      var target = this.get('adjusted_target');\n      var actual = this.get('actual');\n      if (target && actual) {\n        return ((target - actual) / target * 100).toFixed(1);\n      } else {\n        return null;\n      }\n    }.property('adjusted_target', 'actual'),\n    include_in_cumulative: function () {\n      var actual = this.get('actual');\n      return !!actual;\n    }.property('actual')\n  });\n});","define('saves-client/models/tip', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    orgname: _emberData.default.belongsTo('organisation'),\n    title: _emberData.default.attr('string'),\n    body: _emberData.default.attr('string'),\n    url: _emberData.default.attr('string')\n  });\n});","define('saves-client/models/user', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Model.extend({\n    username: _emberData.default.attr('string'),\n    fullname: _emberData.default.attr('string'),\n    password: _emberData.default.attr('string'),\n    administrator: _emberData.default.attr('boolean'),\n    organisation_users: _emberData.default.hasMany('organisation_user', { async: true })\n  });\n});","define('saves-client/pods/application/adapter', ['exports', 'ember-data', 'saves-client/config/environment', 'ember-simple-auth/mixins/data-adapter-mixin'], function (exports, _emberData, _environment, _dataAdapterMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.RESTAdapter.extend(_dataAdapterMixin.default, {\n    authorizer: 'authorizer:saves',\n    host: _environment.default.APP.API_HOST,\n    namespace: _environment.default.APP.API_NAMESPACE\n  });\n});","define('saves-client/pods/application/route', ['exports', 'ember-simple-auth/mixins/application-route-mixin'], function (exports, _applicationRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_applicationRouteMixin.default, {\n    routeAfterAuthentication: 'normal.index',\n    account: Ember.inject.service(),\n    beforeModel() {\n      return this.get('account.currentUser');\n    },\n    actions: {\n      didTransition: function () {\n        let ga = window.ga || false;\n        if (ga) {\n          let url = this.get('router.url');\n          return ga('send', 'pageview', {\n            'page': url,\n            'title': url\n          });\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/application/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"o5RDgD2+\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/application/template.hbs\" } });\n});","define(\"saves-client/pods/bare/competition/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"tstdXgRA\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"league-table\\\",null,[[\\\"competition\\\",\\\"link\\\",\\\"interval\\\",\\\"iframe\\\"],[[22,[\\\"model\\\"]],\\\"bare.competitor\\\",3600,true]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/bare/competition/template.hbs\" } });\n});","define(\"saves-client/pods/bare/competitor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"t/rcDDnx\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"hall\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[22,[\\\"model\\\",\\\"hall\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" hall\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    in\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" competition\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"contain\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"hall\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[4,\\\"competitor-item\\\",null,[[\\\"competitor\\\",\\\"tagName\\\",\\\"link\\\"],[[22,[\\\"model\\\"]],\\\"span\\\",\\\"bare.competitor\\\"]],{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"has_data\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[1,[26,\\\"savings-bar\\\",null,[[\\\"competitor\\\",\\\"competition\\\",\\\"neutralised\\\",\\\"class\\\"],[[22,[\\\"model\\\"]],[22,[\\\"model\\\",\\\"competition\\\"]],[22,[\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]],\\\"floatleft\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"smalltext\\\"],[8],[0,\\\"Awaiting data\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading hall\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"contain\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n        \\\"],[4,\\\"link-to\\\",[\\\"bare.competition\\\",[22,[\\\"model\\\",\\\"competition\\\"]]],null,{\\\"statements\\\":[[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"name\\\"]],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n        runs from \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"start_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\" to \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"end_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading competition\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n    Targets calculated using data from \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_start_date\\\"]],\\\"DD/MM/YYYY\\\"],null],false],[0,\\\" to \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_end_date\\\"]],\\\"DD/MM/YYYY\\\"],null],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"performance-table\\\",null,[[\\\"competitor\\\",\\\"international\\\",\\\"administrator\\\",\\\"editable\\\"],[[22,[\\\"model\\\"]],false,false,[22,[\\\"editable\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/bare/competitor/template.hbs\" } });\n});","define('saves-client/pods/bare/international-competition/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function (params) {\n      return this.store.findRecord('international_competition', params.ic_id);\n    },\n    setupController: function (controller, model) {\n      // Call _super for default behavior\n      this._super(controller, model);\n      // Implement your custom setup after\n      this.store.query('competitor', { international_competition: model.get('id') }).then(function (result) {\n        controller.set('competitors', result);\n      });\n    }\n  });\n});","define(\"saves-client/pods/bare/international-competition/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"R/i8ko85\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"international-league-table\\\",null,[[\\\"ic\\\",\\\"competitors\\\"],[[22,[\\\"model\\\"]],[22,[\\\"competitors\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/bare/international-competition/template.hbs\" } });\n});","define('saves-client/pods/components/action-button/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"span\",\n    classNames: ['action-button'],\n    classNameBindings: ['right:floatright', 'warn', 'selected', 'unselected', 'action:clickable'],\n    right: true,\n    selected: false,\n    unselectable: false,\n    unselected: function () {\n      return this.get('unselectable') && !this.get('selected');\n    }.property('unselectable', 'selected'),\n    icon: \"dot-circle-o\",\n    title: null,\n    click: function () {\n      this.sendAction();\n    }\n  });\n});","define(\"saves-client/pods/components/action-button/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"mV4M+Jbt\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[[22,[\\\"icon\\\"]]],[[\\\"title\\\"],[[22,[\\\"title\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/action-button/template.hbs\" } });\n});","define(\"saves-client/pods/components/aggregate-savings/component\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"aside\",\n    prefix: \"Saved\",\n    classNames: ['aggregate-savings'],\n    classNameBindings: ['badge', 'iframe'],\n    badge: false,\n    competition: null\n  });\n});","define(\"saves-client/pods/components/aggregate-savings/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"dHi9pUyZ\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[20,\\\"prefix\\\"],false],[0,\\\" \\\"],[1,[22,[\\\"competition\\\",\\\"percent_savings\\\"]],false],[0,\\\"%\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/aggregate-savings/template.hbs\" } });\n});","define(\"saves-client/pods/components/angle-double/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"QRXD7uTA\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[6,\\\"header\\\"],[10,\\\"class\\\",\\\"angle-double\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"angle-content\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"h2\\\"],[8],[0,\\\" \\\"],[13,1],[0,\\\"\\\\n      \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"smalltext\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[20,\\\"subtitle\\\"],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/angle-double/template.hbs\" } });\n});","define('saves-client/pods/components/competition-editor/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"article\",\n    classNames: ['droppable', 'competition-editor'],\n    options: false,\n    message: false,\n    competition: null,\n    sortProperties: ['savings:desc'],\n    sortedCompetitors: Ember.computed.sort('competition.competitors', 'sortProperties'),\n    has_changes: Ember.computed.alias('competition.hasDirtyAttributes'),\n    dragOver: function (event) {\n      event.preventDefault();\n    },\n    drop: function (event) {\n      var hall_id = event.dataTransfer.getData('text/data');\n      this.sendAction('attachHall', hall_id);\n    },\n    has_message: Ember.computed.bool('competition.msg_title'),\n    has_message_body: Ember.computed.bool('competition.msg_body'),\n    no_message: Ember.computed.not('has_message'),\n    actions: {\n      save: function () {\n        this.sendAction('save');\n      },\n      delete: function () {\n        this.sendAction('delete');\n      },\n      reload: function () {\n        var competition = this.get('competition');\n        competition.get('competitors').reload();\n      },\n      recalculate: function () {\n        this.get('competition').reload();\n        var competitors_promise = this.get('competition.competitors');\n        competitors_promise.then(function (competitors) {\n          competitors.forEach(function (competitor) {\n            competitor.set('calculated', false);\n            competitor.save();\n          });\n        });\n      },\n      applyToAll: function () {\n        var competitors_promise = this.get('competition.competitors');\n        var default_baseline_start = this.get('competition.default_baseline_start');\n        var default_baseline_end = this.get('competition.default_baseline_end');\n        competitors_promise.then(function (competitors) {\n          competitors.forEach(function (competitor) {\n            competitor.set('baseline_start_date', default_baseline_start);\n            competitor.set('baseline_end_date', default_baseline_end);\n            competitor.save();\n          });\n        });\n      },\n      applyModelToAll() {\n        var competitors_promise = this.get('competition.competitors');\n        var default_baseline_model = this.get('competition.default_baseline_model');\n        console.log(default_baseline_model);\n        competitors_promise.then(function (competitors) {\n          competitors.forEach(function (competitor) {\n            competitor.set('baseline_model', default_baseline_model);\n            console.log(competitor.get('baseline_model'));\n            competitor.save();\n          });\n        });\n      },\n      toggleOptions() {\n        this.toggleProperty('options');\n      },\n      toggleMessage() {\n        if (this.get('message') && this.get('has_changes')) {\n          this.get('competition').save();\n        }\n        this.toggleProperty('message');\n      },\n      setModel(model) {\n        this.set('competition.default_baseline_model', model);\n      },\n      clear_message() {\n        this.set(\"competition.msg_title\", \"\");\n        this.set(\"competition.msg_body\", \"\");\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/competition-editor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"/+wm//pR\", \"block\": \"{\\\"symbols\\\":[\\\"competitor\\\",\\\"&default\\\"],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"legend\\\"],[8],[0,\\\"Competition\\\"],[9],[0,\\\"\\\\n  \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"classNames\\\"],[[22,[\\\"competition\\\",\\\"name\\\"]],\\\"competition name\\\",\\\"fullwidth\\\"]]],false],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competition\\\",\\\"start_date\\\"]]]]],false],[0,\\\" — \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competition\\\",\\\"end_date\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"legend\\\"],[10,\\\"class\\\",\\\"clickabletext\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleOptions\\\"]],[8],[0,\\\"\\\\n    Default baseline\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"options\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"caret-down\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"caret-right\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"options\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"smalltext\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competition\\\",\\\"default_baseline_start\\\"]]]]],false],[0,\\\" — \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competition\\\",\\\"default_baseline_end\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"clickabletext topmargin\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"applyToAll\\\"]],[8],[0,\\\"Apply to all competitors\\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"bigtopmargin\\\"],[8],[0,\\\"Default model: \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"competition\\\",\\\"default_baseline_model\\\"]],false],[9],[9],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"topmargin\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"monthly\\\"]],[8],[0,\\\"Monthly\\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"weekday\\\"]],[8],[0,\\\"Weekday\\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"daily\\\"]],[8],[0,\\\"Daily\\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"clickabletext topmargin\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"applyModelToAll\\\"]],[8],[0,\\\"Apply to all competitors\\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"nospace smalltext topmargin\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"label\\\"],[10,\\\"class\\\",\\\"fullwidth textleft\\\"],[8],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"checked\\\"],[\\\"neutralise\\\",\\\"checkbox\\\",[22,[\\\"competition\\\",\\\"neutralised\\\"]]]]],false],[0,\\\" Hide progress bars and data\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"calculated\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"label\\\"],[10,\\\"class\\\",\\\"fullwidth textleft\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"checked\\\"],[\\\"aggregate\\\",\\\"checkbox\\\",[22,[\\\"competition\\\",\\\"show_aggregated\\\"]]]]],false],[0,\\\" Show energy savings\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"competition\\\",\\\"show_aggregated\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"aggregate-savings\\\",null,[[\\\"competition\\\",\\\"prefix\\\",\\\"classNames\\\"],[[22,[\\\"competition\\\"]],\\\"of\\\",\\\"inlineblock\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"show_aggregated\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"aggregate-savings\\\",null,[[\\\"competition\\\",\\\"badge\\\"],[[22,[\\\"competition\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"message\\\"]]],null,{\\\"statements\\\":[[4,\\\"modal-box\\\",null,[[\\\"closed\\\"],[\\\"toggleMessage\\\"]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"clickabletext floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleMessage\\\"]],[8],[0,\\\"close \\\"],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n      Competition messages can be set to communicate with dashboard users.\\\\n      The message title is restricted to 100 characters.\\\\n      The optional message body can be used for longer messages.\\\\n      In which case use the title as a summary.\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"legend\\\"],[8],[0,\\\"Message\\\"],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"classNames\\\"],[[22,[\\\"competition\\\",\\\"msg_title\\\"]],\\\"message title\\\",\\\"fullwidth\\\"]]],false],[0,\\\"\\\\n      \\\"],[1,[26,\\\"textarea\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"classNames\\\",\\\"disabled\\\"],[[22,[\\\"competition\\\",\\\"msg_body\\\"]],\\\"message body (optional)\\\",\\\"fullwidth\\\",[22,[\\\"no_message\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[26,\\\"gt\\\",[[22,[\\\"competition\\\",\\\"msg_title\\\",\\\"length\\\"]],100],null]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"span\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],[[\\\"classNames\\\"],[\\\"warning\\\"]]],false],[0,\\\" title too long (100 characters max)\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[6,\\\"small\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"clear_message\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"undo\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\" clear message\\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"contain nospace\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"has_changes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatleft snazzy rounded\\\"],[8],[0,\\\"\\\\n      save to edit message\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatleft snazzy clickabletext rounded\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleMessage\\\"]],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"has_message\\\"]]],null,{\\\"statements\\\":[[0,\\\"        edit message\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        set message\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",\\\"smallbutton topmargin bottommargin\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"save\\\"],null],false],[0,\\\" Save changes\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",\\\"smallbutton topmargin bottommargin\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"reload\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[[22,[\\\"competition\\\",\\\"isReloading\\\"]]]]],false],[0,\\\" Refresh all\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",\\\"smallbutton topmargin bottommargin\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"recalculate\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"cogs\\\"],null],false],[0,\\\" Recalculate all\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"sortedCompetitors\\\"]]],null,{\\\"statements\\\":[[4,\\\"competitor-item\\\",null,[[\\\"competitor\\\",\\\"editing\\\"],[[21,1,[]],[22,[\\\"editing\\\"]]]],{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"competitor-editor\\\",null,[[\\\"competitor\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"li\\\"],[10,\\\"class\\\",\\\"dropzone\\\"],[8],[0,\\\"\\\\n    Drag halls here to get started\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[13,2],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/competition-editor/template.hbs\" } });\n});","define('saves-client/pods/components/competition-item/component', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNameBindings: ['runState', 'published::unpublished'],\n    attributeBindings: ['draggable'],\n    competition: null,\n    route: null,\n    isAllowed: false,\n    draggable: false,\n    published: Ember.computed.alias('competition.published'),\n    organisation: Ember.computed.alias('competition.organisation'),\n    dragStart: function (event) {\n      event.dataTransfer.setData('text/data', this.get('competition.id'));\n    },\n    note: function () {\n      var name = this.get('competition.name');\n      if (this.get('competition.isCurrent')) {\n        return name + \" is live! Ends \" + (0, _moment.default)().to(this.get('competition.end_date'));\n      }\n      if (this.get('competition.inPast')) {\n        return name + \" finished \" + (0, _moment.default)().to(this.get('competition.end_date'));\n      }\n      if (this.get('competition.inFuture')) {\n        return name + \" has not started yet! Starts \" + (0, _moment.default)().to(this.get('competition.start_date'));\n      }\n      return name;\n    }.property('competition.isCurrent', 'competition.inPast', 'competition.inFuture', 'competition.end_date', 'competition.start_date'),\n    icon: function () {\n      if (this.get('competition.isCurrent')) {\n        return \"dashboard\";\n      }\n      if (this.get('competition.inPast')) {\n        return \"trophy\";\n      }\n      if (this.get('competition.inFuture')) {\n        return \"gears\";\n      }\n      return \"exclamation-circle\";\n    }.property('competition.isCurrent', 'competition.inPast', 'competition.inFuture'),\n    runState: function () {\n      if (this.get('competition.isCurrent')) {\n        return \"live\";\n      }\n      if (this.get('competition.inPast')) {\n        return \"past\";\n      }\n      if (this.get('competition.inFuture')) {\n        return \"future\";\n      }\n    }.property('competition.isCurrent', 'competition.inPast', 'competition.inFuture'),\n    publishedIcon: function () {\n      return this.get(\"competition.published\") ? \"toggle-on\" : \"toggle-off\";\n    }.property(\"competition.published\"),\n    publishedTitle: function () {\n      return this.get(\"competition.published\") ? \"Click to hide\" : \"Click to show\";\n    }.property(\"competition.published\"),\n    actions: {\n      setMainCompetition: function () {\n        var competition = this.get('competition');\n        this.get('organisation.competitions').forEach(function (comp) {\n          comp.set('main', false);\n        });\n        competition.set('main', true);\n        competition.save();\n        var organisation = this.get('organisation');\n        organisation.set(\"main_competition\", competition);\n      },\n      delete: function () {\n        var competition = this.get('competition');\n        if (confirm(\"Are you sure you want to remove competition '\" + competition.get('name') + \"'?\")) {\n          competition.destroyRecord();\n        }\n      },\n      togglePublished: function () {\n        var competition = this.get('competition');\n        competition.toggleProperty(\"published\");\n        competition.save();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/competition-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"yW+rX2Rj\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"route\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[22,[\\\"route\\\"]],[22,[\\\"competition\\\"]]],[[\\\"title\\\"],[[22,[\\\"note\\\"]]]],{\\\"statements\\\":[[0,\\\"    \\\"],[1,[22,[\\\"competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[1,[22,[\\\"competition\\\",\\\"name\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"main\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"title\\\",\\\"selected\\\"],[\\\"trophy\\\",\\\"Current main competition\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"isAllowed\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"unselectable\\\"],[\\\"setMainCompetition\\\",\\\"trophy\\\",\\\"Set as current main competition\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"isAllowed\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"warn\\\"],[\\\"delete\\\",\\\"trash\\\",\\\"Delete this competition\\\",true]]],false],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"competition\\\",\\\"main\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"warn\\\"],[\\\"togglePublished\\\",[22,[\\\"publishedIcon\\\"]],[22,[\\\"publishedTitle\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"info\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[1,[26,\\\"fa-icon\\\",[[22,[\\\"infoIcon\\\"]]],[[\\\"title\\\"],[[22,[\\\"info\\\"]]]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/competition-item/template.hbs\" } });\n});","define('saves-client/pods/components/competitions-list/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'ul',\n    classNames: ['angle-list'],\n    classNameBindings: ['hideList:display-none'],\n    isAllowed: false, // true if is allowed to edit and stuff\n    draggable: false,\n    competitions: null,\n    publishedCompetitions: Ember.computed.filterBy('competitions', 'published', true),\n    publishedCompetitionCount: Ember.computed.alias('publishedCompetitions.length'),\n    hideList: Ember.computed.lte('publishedCompetitionCount', 1),\n    route: null,\n    actions: {\n      setMainCompetition: function (competition) {\n        this.sendAction('setMainCompetition', competition);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/competitions-list/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"zvl7MyRE\", \"block\": \"{\\\"symbols\\\":[\\\"competition\\\",\\\"&default\\\"],\\\"statements\\\":[[13,2],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"competitions\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"published\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"international_registrant\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"competition-item\\\",null,[[\\\"competition\\\",\\\"route\\\",\\\"isAllowed\\\",\\\"draggable\\\",\\\"setMainCompetition\\\",\\\"info\\\",\\\"infoIcon\\\"],[[21,1,[]],[22,[\\\"route\\\"]],[22,[\\\"isAllowed\\\"]],false,\\\"setMainCompetition\\\",\\\"Registered in an international competition\\\",\\\"globe\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"competition-item\\\",null,[[\\\"competition\\\",\\\"route\\\",\\\"isAllowed\\\",\\\"draggable\\\",\\\"setMainCompetition\\\"],[[21,1,[]],[22,[\\\"route\\\"]],[22,[\\\"isAllowed\\\"]],[22,[\\\"draggable\\\"]],\\\"setMainCompetition\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"No competitions found\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/competitions-list/template.hbs\" } });\n});","define('saves-client/pods/components/competitor-editor/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    competitor: null,\n    open: false,\n    actions: {\n      toggleOpen() {\n        this.toggleProperty('open');\n      },\n      setModel(model) {\n        this.set('competitor.baseline_model', model);\n        this.set('open', false);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/competitor-editor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"z0v7Sfvy\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"floatright smalltext\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competitor\\\",\\\"baseline_start_date\\\"]]]]],false],[0,\\\" — \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"competitor\\\",\\\"baseline_end_date\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"baseline_validated\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"check\\\"],[[\\\"title\\\"],[\\\"baseline validated\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"calculated\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],[[\\\"title\\\"],[[22,[\\\"competitor\\\",\\\"message\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"ellipsis-h\\\"],[[\\\"title\\\"],[\\\"awaiting calculation\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"floatright clear-r\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"clear-r\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleOpen\\\"]],[8],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"textright topmargin bottommargin clear-r smalltext\\\"],[8],[0,\\\"baseline model: \\\"],[1,[22,[\\\"competitor\\\",\\\"baseline_model\\\"]],false],[1,[26,\\\"fa-icon\\\",[\\\"cog\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"open\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"block topmargin bottommargin\\\"],[8],[0,\\\"\\\\n        Select a new baseline model:\\\\n        \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"block topmargin\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"monthly\\\"]],[8],[0,\\\"Monthly\\\"],[9],[0,\\\"\\\\n          \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"weekday\\\"]],[8],[0,\\\"Weekday\\\"],[9],[0,\\\"\\\\n          \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"daily\\\"]],[8],[0,\\\"Daily\\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/competitor-editor/template.hbs\" } });\n});","define('saves-client/pods/components/competitor-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNames: ['competitor-item'],\n    classNameBindings: ['baseline_status', 'uncalculated', 'hidden:unpublished'],\n    link: 'normal.organisation.competitor',\n    baseline_status: function () {\n      var competitor = this.get('competitor');\n      if (!competitor.get('baseline_validated')) {\n        return 'invalid';\n      }\n    }.property('competitor.baseline_validated'),\n    uncalculated: function () {\n      return !this.get('competitor.calculated');\n    }.property('competitor.calculated'),\n    hidden: function () {\n      return this.get('competitor.hidden');\n    }.property('competitor.hidden'),\n    actions: {\n      toggleHidden: function () {\n        var competitor = this.get(\"competitor\");\n        competitor.toggleProperty('hidden');\n        competitor.save();\n        // this.sendAction('toggleHidden');\n      },\n      delete: function () {\n        var competitor = this.get(\"competitor\");\n        if (confirm(\"Are you sure you want to remove '\" + competitor.get('hall.name') + \"'?\")) {\n          competitor.deleteRecord();\n          competitor.save();\n        }\n      },\n      save: function () {\n        this.get('competitor').save();\n      },\n      reload: function () {\n        var competitor = this.get('competitor');\n        competitor.reload();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/competitor-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Aq4AEo3m\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[[22,[\\\"link\\\"]],[22,[\\\"competitor\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"hallimg\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"img\\\"],[11,\\\"src\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"imageUrl\\\"]],null],[11,\\\"title\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],null],[11,\\\"alt\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],null],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"h3\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[1,[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],false],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"hidden\\\"]]],null,{\\\"statements\\\":[[6,\\\"small\\\"],[8],[0,\\\" (hidden)\\\"],[9]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[13,1],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"buttonbar\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"hall\\\",\\\"hall_entities\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"calculated\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"has_data\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[6,\\\"small\\\"],[8],[0,\\\"saving: \\\"],[1,[26,\\\"rounded-float\\\",[[22,[\\\"competitor\\\",\\\"savings\\\"]],2],null],false],[0,\\\"%\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[6,\\\"small\\\"],[8],[0,\\\"Awaiting data…\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"warn\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"calculator\\\"],null],false],[0,\\\" marked for recalculation\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"warn\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],null],false],[0,\\\" No data attached to hall\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"floatright fa fa-save\\\"],[10,\\\"title\\\",\\\"save changes\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"floatright fa fa-trash-o warn\\\"],[10,\\\"title\\\",\\\"remove competitor\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"hidden\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"floatright fa fa-toggle-off\\\"],[10,\\\"title\\\",\\\"hidden - click to show\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleHidden\\\"]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"floatright fa fa-toggle-on\\\"],[10,\\\"title\\\",\\\"click to hide\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleHidden\\\"]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"        \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"reload\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[[22,[\\\"competitor\\\",\\\"isReloading\\\"]]]]],false],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"h3\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading...\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/competitor-item/template.hbs\" } });\n});","define('saves-client/pods/components/date-picker/component', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    attributeBindings: ['value', 'type'],\n    classNames: ['form-control'],\n    tagName: 'input',\n    type: 'date',\n    date: null,\n    format: 'YYYY-MM-DD',\n\n    value: Ember.computed('date', 'format', function () {\n      let date = this.get('date'),\n          format = this.get('format') || 'YYYY-MM-DD';\n      return (0, _moment.default)(date).format(format);\n    }),\n\n    change: function () {\n      var value = this.$().val();\n      this.set('date', (0, _moment.default)(value));\n    }\n  });\n});","define('saves-client/pods/components/entity-draggable/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNames: ['draggable', 'entity'],\n    attributeBindings: ['draggable'],\n    draggable: \"true\",\n    dragStart: function (event) {\n      event.dataTransfer.setData('text/data', this.get('entity.id'));\n    }\n  });\n});","define(\"saves-client/pods/components/entity-draggable/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"BaXncwg5\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"entity\\\",\\\"description\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],[[\\\"size\\\",\\\"fixedWidth\\\"],[2,true]]],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"entity\\\",\\\"title\\\"]],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[1,[22,[\\\"entity\\\",\\\"description\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"entity\\\",\\\"title\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/entity-draggable/template.hbs\" } });\n});","define('saves-client/pods/components/error-message/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'span',\n    summary: null,\n    detail: null,\n    icon: \"exclamation-triangle\",\n    attributeBindings: ['title'],\n    title: Ember.computed.alias('detail')\n  });\n});","define(\"saves-client/pods/components/error-message/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"d4p6Cz+X\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[[22,[\\\"icon\\\"]]],[[\\\"fixedWidth\\\",\\\"classNames\\\"],[true,\\\"warning\\\"]]],false],[1,[20,\\\"summary\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/error-message/template.hbs\" } });\n});","define('saves-client/pods/components/file-item/component', ['exports', 'saves-client/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var api_path = _environment.default.APP.API_HOST;\n  if (_environment.default.APP.API_NAMESPACE) {\n    api_path = api_path + '/' + _environment.default.APP.API_NAMESPACE;\n  }\n\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    file: null,\n    file_url: Ember.computed('file.url', function () {\n      return api_path + this.get('file.url');\n    }),\n    actions: {\n      delete: function () {\n        var file = this.get('file');\n        if (confirm(\"Are you sure you want to remove '\" + file.get('filename') + \"'?\")) {\n          file.deleteRecord();\n          file.save();\n        }\n      },\n      reset: function () {\n        var file = this.get('file');\n        file.set('reset', true);\n        file.save();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/file-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"1VSjx3u1\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"file-text\\\"],[[\\\"size\\\",\\\"fixedWidth\\\"],[2,true]]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"file\\\",\\\"filename\\\"]],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[2,\\\" <small><a href=\\\\\\\"{{file.url}}\\\\\\\">download a copy</a></small> \\\"],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n    uploaded \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"file\\\",\\\"created_at\\\"]],\\\"DD/MM/YYYY\\\"],null],false],[0,\\\"\\\\n    \\\"],[6,\\\"a\\\"],[11,\\\"href\\\",[27,[[20,\\\"file_url\\\"]]]],[8],[1,[26,\\\"fa-icon\\\",[\\\"download\\\"],[[\\\"fixedWidth\\\",\\\"title\\\"],[true,\\\"download\\\"]]],false],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"file\\\",\\\"problem\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright warn\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"trash\\\"],[[\\\"title\\\"],[\\\"delete\\\"]]],false],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"reset\\\"]],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"repeat\\\"],[[\\\"title\\\"],[\\\"retry\\\"]]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"file\\\",\\\"isReloading\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[[22,[\\\"True\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"file\\\",\\\"problem\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"small\\\"],[8],[0,\\\"Error importing file\\\"],[9],[0,\\\" \\\"],[1,[26,\\\"fa-icon\\\",[[22,[\\\"file\\\",\\\"icon\\\"]]],[[\\\"title\\\"],[[22,[\\\"file\\\",\\\"message\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"small\\\"],[8],[1,[22,[\\\"file\\\",\\\"message\\\"]],false],[9],[0,\\\" \\\"],[1,[26,\\\"fa-icon\\\",[[22,[\\\"file\\\",\\\"icon\\\"]]],[[\\\"title\\\"],[[22,[\\\"file\\\",\\\"message\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/file-item/template.hbs\" } });\n});","define('saves-client/pods/components/file-upload/component', ['exports', 'ember-uploader'], function (exports, _emberUploader) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberUploader.default.FileField.extend({\n    url: '',\n    progress: 0,\n    session: Ember.inject.service(),\n    filesDidChange: function (files) {\n      const MyUploader = _emberUploader.default.Uploader.extend({\n        ajaxSettings: {\n          headers: {\n            'Authorization': this.get('session.data.authenticated.access_token')\n          }\n        }\n      });\n\n      const uploader = MyUploader.create({\n        url: this.get('url')\n      });\n      var _this = this;\n\n      uploader.on('progress', function (e) {\n        _this.set('progress', e.percent);\n      });\n\n      uploader.on('didUpload', function () {\n        _this.sendAction('complete');\n      });\n\n      if (!Ember.isEmpty(files)) {\n        uploader.upload(files[0], { MAX_FILE_SIZE: 100000 }).then(function (response) {\n          console.log(\"UPLOAD COMPLETE! - response follows\");\n          console.log(response);\n        }, function (response) {\n          alert(response.responseJSON.errors[0].description);\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/components/hall-draggable/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNames: ['draggable', 'hall'],\n    attributeBindings: ['draggable'],\n    draggable: \"true\",\n    dragStart: function (event) {\n      event.dataTransfer.setData('text/data', this.get('hall.id'));\n    }\n  });\n});","define(\"saves-client/pods/components/hall-draggable/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"zFCOUNJp\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,[\\\"hall\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/hall-draggable/template.hbs\" } });\n});","define('saves-client/pods/components/hall-droppable/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    imageProgress: 0,\n    imageRefresh: +new Date(),\n    tagName: 'li',\n    classNames: ['droppable', 'editable'],\n    classNameBindings: ['editing:highlighted'],\n    attributeBindings: ['droppable', 'draggable'],\n    droppable: \"true\",\n    editing: false,\n    dragOver: function (event) {\n      event.preventDefault();\n    },\n    drop: function (event) {\n      var hall = this.get('hall');\n      var entityId = event.dataTransfer.getData('text/data');\n      this.sendAction('createHallEntity', hall, entityId);\n    },\n    keyPress: function (event) {\n      if (event.keyCode === 13) {\n        this.get('controller').send('save');\n      }\n    },\n    imageUrl: function () {\n      if (this.get('hall.has_image')) {\n        return this.get('hall.imageEndPoint') + \"?\" + this.get('imageRefresh');\n      } else {\n        return \"/assets/images/default-hall.png\";\n      }\n    }.property('hall.imageEndPoint', 'hall.has_image', 'imageRefresh'),\n    actions: {\n      toggleEditable: function () {\n        this.set('editing', !this.get('editing'));\n      },\n      save: function () {\n        this.set('editing', false);\n        var hall = this.get('hall');\n        hall.save().then(function () {\n          console.log(\"save complete\");\n        });\n      },\n      deleteHall: function () {\n        var hall = this.get('hall');\n        if (confirm(\"Are you sure you want to delete '\" + hall.get('name') + \"'?\\nThis will also remove it from all attached competitions?\")) {\n          hall.deleteRecord();\n          hall.save();\n        }\n      },\n      // deleteHall: function () {\n      //   this.sendAction('deleteHall');\n      // },\n      // deleteHallEntity: function (hall_entity) {\n      //   this.sendAction('deleteHallEntity', hall_entity);\n      // },\n      deleteHallEntity: function (hall_entity) {\n        var hall = this.get('hall');\n        hall_entity.destroyRecord().then(function (dead_record) {\n          hall.get('hall_entities').removeObject(dead_record);\n        });\n      },\n      reload: function () {\n        this.set(\"imageRefresh\", +new Date());\n        this.set('imageProgress', 0);\n        this.set('editing', false);\n        var hall = this.get('hall');\n        hall.set('has_image', true);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/hall-droppable/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"FuAE6N2m\", \"block\": \"{\\\"symbols\\\":[\\\"hall_entity\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"hall\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"a\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[8],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-save\\\"],[10,\\\"title\\\",\\\"save\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"a\\\"],[10,\\\"title\\\",\\\"cancel\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"hall\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"a\\\"],[11,\\\"title\\\",[27,[\\\"delete \\\",[22,[\\\"hall\\\",\\\"name\\\"]]]]],[10,\\\"class\\\",\\\"floatright warn\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"deleteHall\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"trash-o\\\"],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"a\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"title\\\",\\\"edit\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"hallimg floatleft\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"img\\\"],[11,\\\"src\\\",[20,\\\"imageUrl\\\"],null],[11,\\\"title\\\",[22,[\\\"hall\\\",\\\"name\\\"]],null],[11,\\\"alt\\\",[22,[\\\"hall\\\",\\\"name\\\"]],null],[8],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"h3\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"hall\\\",\\\"name\\\"]],\\\"Hall name\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[22,[\\\"hall\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"floatleft fullwidth\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"data\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"h4\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[0,\\\"Choose image (please resize first)\\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"small\\\"],[8],[0,\\\"(min 240px wide x 210 high, jpg/png):\\\"],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"file-upload\\\",null,[[\\\"url\\\",\\\"progress\\\",\\\"isUploading\\\",\\\"complete\\\"],[[22,[\\\"hall\\\",\\\"imageEndPoint\\\"]],[22,[\\\"imageProgress\\\"]],[22,[\\\"isUploading\\\"]],\\\"reload\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"file\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"input\\\"],[10,\\\"value\\\",\\\"upload\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"hall\\\",\\\"hall_entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"items hall-entities\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"hall\\\",\\\"hall_entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[26,\\\"hall-entity-item\\\",null,[[\\\"hall_entity\\\",\\\"delete\\\"],[[21,1,[]],\\\"deleteHallEntity\\\"]]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[8],[0,\\\"No data attached\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/hall-droppable/template.hbs\" } });\n});","define('saves-client/pods/components/hall-entity-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    classNames: ['hall-entity'],\n    hall_entity: null,\n    editable: false,\n    actions: {\n      delete: function () {\n        this.sendAction(\"delete\", this.get('hall_entity'));\n      },\n      save: function () {\n        var _this = this;\n        this.get('hall_entity').save().then(function () {\n          _this.set('editable', false);\n        });\n      },\n      toggleEditable: function () {\n        this.toggleProperty('editable');\n      },\n      cancel: function () {\n        this.set('editable', false);\n        this.get('hall_entity').rollbackAttributes();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/hall-entity-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"18eEfE/l\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"editable\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"a\\\"],[10,\\\"title\\\",\\\"cancel\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"cancel\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"hall_entity\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"a\\\"],[10,\\\"title\\\",\\\"save\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"save\\\"],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"a\\\"],[10,\\\"title\\\",\\\"delete data\\\"],[10,\\\"class\\\",\\\"floatright warn\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"trash\\\"],null],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"step\\\",\\\"size\\\",\\\"min\\\",\\\"max\\\",\\\"value\\\"],[\\\"number\\\",\\\"0.1\\\",\\\"3\\\",\\\"-1\\\",\\\"1\\\",[22,[\\\"hall_entity\\\",\\\"multiplier\\\"]]]]],false],[0,\\\" x \\\"],[1,[22,[\\\"hall_entity\\\",\\\"entity\\\",\\\"title\\\"]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"a\\\"],[10,\\\"title\\\",\\\"edit multiplier\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],null],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"hall_entity\\\",\\\"multiplier\\\"]],false],[0,\\\" x \\\"],[1,[22,[\\\"hall_entity\\\",\\\"entity\\\",\\\"title\\\"]],false],[0,\\\" (\\\"],[1,[22,[\\\"hall_entity\\\",\\\"entity\\\",\\\"description\\\"]],false],[0,\\\")\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/hall-entity-item/template.hbs\" } });\n});","define('saves-client/pods/components/international-competition-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNameBindings: ['runState'],\n    ic: null,\n    isAllowed: false,\n    draggable: false,\n    _international_registrants: function () {\n      return this.get('ic') && this.get('ic').get('international_registrants');\n    }.property('ic.international_registrants'),\n    can_delete: Ember.computed.empty('_international_registrants'),\n    runState: function () {\n      if (this.get('competition.isCurrent')) {\n        return \"live\";\n      }\n      if (this.get('competition.inPast')) {\n        return \"past\";\n      }\n      if (this.get('competition.inFuture')) {\n        return \"future\";\n      }\n    }.property('competition.isCurrent', 'competition.inPast', 'competition.inFuture'),\n    actions: {\n      setLiveIC: function () {\n        var ic = this.get('ic');\n        if (confirm(\"Setting \" + ic.get('name') + \" to be LIVE will place it on the home page.\\n\\nAre you sure you want to make it LIVE?\")) {\n          this.sendAction('setLiveIC', ic);\n        }\n      },\n      clearLive: function () {\n        var ic = this.get('ic');\n        if (confirm(\"Setting \" + ic.get('name') + \" to no longer be LIVE will leave the dashboard with no LIVE international competition.\\n\\nAre you sure you want no LIVE competition?\")) {\n          ic.set('live', false);\n          ic.save();\n        }\n      },\n      open: function () {\n        var ic = this.get('ic');\n        if (true || confirm(\"Opening \" + ic.get('name') + \" will allow universities to register competitions.\\n\\nAre you sure you want to make it OPEN?\")) {\n          this.sendAction('setOpenIC', ic);\n        }\n      },\n      close: function () {\n        var ic = this.get('ic');\n        if (true || confirm(\"Closing \" + ic.get('name') + \" will prevent universities from registering.\\n\\nAre you sure you want to close it?\")) {\n          ic.set('open', false);\n          ic.save();\n        }\n      },\n      toggleLocked: function () {\n        var ic = this.get('ic');\n        if (ic.get('open')) {\n          alert(\"Open international competitions cannot be locked.\");\n        } else {\n          if (!ic.get('locked') || confirm(\"Unlocking a locked competition is dangerous and can lead to the order of the competition irreversibly changing.\\n\\nAre you sure you want to unlock?\")) {\n            ic.toggleProperty('locked');\n            ic.save();\n          }\n        }\n      },\n      delete: function () {\n        var ic = this.get('ic');\n        if (confirm(\"Are you sure you want to remove international competition '\" + ic.get('name') + \"'?\")) {\n          ic.destroyRecord();\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-competition-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"kfx84u18\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"normal.international.show\\\",[22,[\\\"ic\\\"]]],[[\\\"title\\\",\\\"classNames\\\"],[[22,[\\\"note\\\"]],\\\"floatleft\\\"]],{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"ic\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"can_delete\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\"],[\\\"delete\\\",\\\"trash\\\",\\\"delete\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"title\\\",\\\"unselectable\\\"],[\\\"trash\\\",\\\"cannot delete ic with registrants\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"live\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"selected\\\"],[\\\"clearLive\\\",\\\"check-square\\\",\\\"this competition is LIVE! Click to unset\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"isAllowed\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\"],[\\\"setLiveIC\\\",\\\"square\\\",\\\"make competition LIVE!\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"open\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"selected\\\"],[\\\"close\\\",\\\"check-circle-o\\\",\\\"this competition is OPEN! Click to close\\\",true]]],false],[0,\\\"\\\\n  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"title\\\",\\\"unselectable\\\"],[\\\"unlock-alt\\\",\\\"cannot lock an open competition\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"isAllowed\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"locked\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"unselectable\\\"],[\\\"open\\\",\\\"ban\\\",\\\"Unlock first!\\\",true]]],false],[0,\\\"\\\\n      \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\",\\\"selected\\\"],[\\\"toggleLocked\\\",\\\"lock\\\",\\\"this competition is LOCKED! Click to unlock\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\"],[\\\"open\\\",\\\"ban\\\",\\\"OPEN this competition!\\\"]]],false],[0,\\\"\\\\n      \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"icon\\\",\\\"title\\\"],[\\\"toggleLocked\\\",\\\"unlock-alt\\\",\\\"Click to lock\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-competition-item/template.hbs\" } });\n});","define('saves-client/pods/components/international-competitions-list/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'ul',\n    classNames: ['itemlist'],\n    isAllowed: false, // true if is allowed to edit and stuff\n    draggable: false,\n    competitions: null,\n    content: Ember.computed.filterBy('competitions', 'isNew', false),\n    actions: {\n      setLiveIC: function (ic) {\n        this.sendAction('setLiveIC', ic);\n      },\n      setOpenIC: function (ic) {\n        this.sendAction('setOpenIC', ic);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-competitions-list/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"tfz0PrCR\", \"block\": \"{\\\"symbols\\\":[\\\"competition\\\",\\\"&default\\\"],\\\"statements\\\":[[13,2],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"content\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"international-competition-item\\\",null,[[\\\"ic\\\",\\\"isAllowed\\\",\\\"setLiveIC\\\",\\\"setOpenIC\\\"],[[21,1,[]],[22,[\\\"isAllowed\\\"]],\\\"setLiveIC\\\",\\\"setOpenIC\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"No competitions found\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-competitions-list/template.hbs\" } });\n});","define('saves-client/pods/components/international-competitor-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNameBindings: ['baseline_status', 'uncalculated', 'hidden:unpublished'],\n    ceiling: 50,\n    baseline_status: function () {\n      var competitor = this.get('competitor');\n      if (!competitor.get('baseline_validated')) {\n        return 'invalid';\n      }\n    }.property('competitor.baseline_validated'),\n    uncalculated: function () {\n      return !this.get('competitor.calculated');\n    }.property('competitor.calculated'),\n    hidden: function () {\n      return this.get('competitor.hidden');\n    }.property('competitor.hidden'),\n    actions: {\n      toggleHidden: function () {\n        var competitor = this.get(\"competitor\");\n        competitor.toggleProperty('hidden');\n        competitor.save();\n        // this.sendAction('toggleHidden');\n      },\n      delete: function () {\n        var competitor = this.get(\"competitor\");\n        if (confirm(\"Are you sure you want to remove '\" + competitor.get('hall.name') + \"'?\")) {\n          competitor.deleteRecord();\n          competitor.save();\n        }\n      },\n      save: function () {\n        this.get('competitor').save();\n      },\n      reload: function () {\n        this.get('competitor').reload();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-competitor-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"K3ywzIjd\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"h3\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading...\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"normal.organisation.international-competitor\\\",[22,[\\\"competitor\\\",\\\"competition\\\",\\\"organisation\\\",\\\"id\\\"]],[22,[\\\"competitor\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"hallimg\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"img\\\"],[11,\\\"src\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"imageUrl\\\"]],null],[11,\\\"title\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],null],[11,\\\"alt\\\",[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],null],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"h3\\\"],[10,\\\"class\\\",\\\"floatleft bottommargin\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[22,[\\\"competitor\\\",\\\"hall\\\",\\\"name\\\"]],false],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"hidden\\\"]]],null,{\\\"statements\\\":[[6,\\\"small\\\"],[8],[0,\\\" (hidden)\\\"],[9]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n      \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright smalltext topmargin\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"competitor\\\",\\\"competition\\\",\\\"organisation\\\",\\\"fullname\\\"]],false],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"ic_has_data\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"savings-bar\\\",null,[[\\\"competitor\\\",\\\"competition\\\",\\\"neutralised\\\",\\\"ceiling\\\",\\\"international\\\"],[[22,[\\\"competitor\\\"]],[22,[\\\"competition\\\"]],[22,[\\\"competitor\\\",\\\"competition\\\",\\\"neutralised\\\"]],[22,[\\\"ceiling\\\"]],true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"floatright smalltext\\\"],[8],[0,\\\"Awaiting data\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-competitor-item/template.hbs\" } });\n});","define('saves-client/pods/components/international-dropzone/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'div',\n    ic: null,\n    highlight: false,\n    classNames: ['dropzone'],\n    classNameBindings: ['highlight'],\n    dragOver: function (event) {\n      this.set('highlight', true);\n      event.preventDefault();\n    },\n    dragLeave: function (event) {\n      this.set('highlight', false);\n      event.preventDefault();\n    },\n    drop: function (event) {\n      this.set('highlight', false);\n      var ic = this.get('ic');\n      if (this.get('ic.open')) {\n        var competition_id = event.dataTransfer.getData('text/data');\n        this.sendAction('registerCompetition', ic, competition_id);\n      } else {\n        alert(ic.get('name') + \" is not open for registration.\");\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-dropzone/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"mcpAwDsu\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[0,\\\"Drop a competition here to register.\\\\n\\\"],[13,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-dropzone/template.hbs\" } });\n});","define('saves-client/pods/components/international-league-table/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    classNames: ['international-league-table'],\n    ic: null,\n    applyLimit: true,\n    visibleCompetitors: Ember.computed.filterBy('ic.competitors', 'hidden', false),\n    sortProperties: ['ic_has_data:desc', 'ic_savings:desc'],\n    sortedCompetitors: Ember.computed.sort('visibleCompetitors', 'sortProperties'),\n    topTen: Ember.computed.sort('ic.top_ten', 'sortProperties'),\n    myCompetitors: Ember.computed('topten', 'sortedCompetitors', 'applyLimit', function () {\n      let props = this.getProperties('topTen', 'sortedCompetitors', 'applyLimit');\n      return props.applyLimit ? props.topTen : props.sortedCompetitors;\n    }),\n    actions: {\n      toggleLimit: function () {\n        this.toggleProperty('applyLimit');\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-league-table/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"2qHIM/0U\", \"block\": \"{\\\"symbols\\\":[\\\"competitor\\\",\\\"&default\\\"],\\\"statements\\\":[[6,\\\"header\\\"],[10,\\\"class\\\",\\\"angle-double\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"angle-content\\\"],[8],[0,\\\"\\\\n    \\\"],[13,2],[0,\\\"\\\\n    \\\"],[6,\\\"h2\\\"],[10,\\\"class\\\",\\\"global\\\"],[8],[0,\\\" \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"ic\\\",\\\"name\\\"]],false],[0,\\\"\\\\n      \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"smalltext\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"inFuture\\\"]]],null,{\\\"statements\\\":[[0,\\\"          starts \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"ic\\\",\\\"start_date\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"inPast\\\"]]],null,{\\\"statements\\\":[[0,\\\"          ended \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"ic\\\",\\\"end_date\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"ic\\\",\\\"isCurrent\\\"]]],null,{\\\"statements\\\":[[0,\\\"          ends \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"ic\\\",\\\"end_date\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"myCompetitors\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist league international\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"myCompetitors\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"international-competitor-item\\\",null,[[\\\"competitor\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"li\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"International competition has no competitors\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleLimit\\\"]],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"applyLimit\\\"]]],null,{\\\"statements\\\":[[0,\\\"      Show All Competitors\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      Show top ten competitors\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-league-table/template.hbs\" } });\n});","define('saves-client/pods/components/international-registrant/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNameBindings: [\"is_my_competition:highlight\"],\n    registrant: null,\n    organisation: null,\n    _organisation: function () {\n      return this.get('registrant') && this.get('registrant').get('organisation');\n    }.property('registrant.organisation'),\n    is_my_competition: function () {\n      return this.get('_organisation.id') === this.get('organisation.id');\n    }.property('_organisation.isFullfilled'),\n    actions: {\n      delete: function () {\n        this.get('registrant').destroyRecord();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/international-registrant/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"EjFGVy/A\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"university\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"registrant\\\",\\\"organisation\\\",\\\"fullname\\\"]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"is_my_competition\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[8],[1,[22,[\\\"registrant\\\",\\\"competition\\\",\\\"name\\\"]],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"action\\\",\\\"title\\\"],[\\\"trash\\\",\\\"delete\\\",\\\"delete\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-registrant/template.hbs\" } });\n});","define('saves-client/pods/components/international-registration-list/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'ul',\n    classNames: ['itemlist'],\n    ic: null,\n    organisation: null\n  });\n});","define(\"saves-client/pods/components/international-registration-list/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"3AOgxWJt\", \"block\": \"{\\\"symbols\\\":[\\\"registrant\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[22,[\\\"ic\\\",\\\"international_registrants\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"international-registrant\\\",null,[[\\\"registrant\\\",\\\"organisation\\\"],[[21,1,[]],[22,[\\\"organisation\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"No competitions registered\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/international-registration-list/template.hbs\" } });\n});","define('saves-client/pods/components/league-table/component', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'article',\n    classNames: ['league-table'],\n    competition: null,\n    interval: null, //to be specified in seconds\n    heartbeat: function () {\n      let interval = this.get('interval');\n      if (interval) {\n        Ember.run.later(this, function () {\n          this.send('reloadCompetition', this.get('competition'));\n          this.heartbeat();\n        }, interval * 1000); // multiply by 1000 to give microseconds\n      }\n    }.on('init'),\n    sortProperties: ['savings:desc'],\n    sortedCompetitors: Ember.computed.sort('competition.competitors', 'sortProperties'),\n    link: 'normal.organisation.competitor',\n    subtitle: Ember.computed('competition.start_date', 'competition.end_date', function () {\n      let start_date = _moment.default.utc(this.get('competition.start_date'));\n      let end_date = _moment.default.utc(this.get('competition.end_date'));\n      if (start_date.isAfter()) {\n        return `starts ${start_date.format('Do MMM YYYY')}`;\n      } else if (end_date.isBefore()) {\n        return `ended ${end_date.format('Do MMM YYYY')}`;\n      } else if (start_date.isBefore() && end_date.isAfter()) {\n        return `ends ${end_date.format('Do MMM YYYY')}`;\n      }\n    }),\n    has_message: Ember.computed.bool('competition.msg_title'),\n    has_message_body: Ember.computed.bool('competition.msg_body'),\n    showing_message: false,\n    actions: {\n      show_message() {\n        this.set('showing_message', this.get('has_message_body'));\n      },\n      clear_message() {\n        this.set('showing_message', false);\n      },\n      reloadCompetition(competition) {\n        competition.reload();\n        competition.get('competitors').reload();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/league-table/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"umt2i/AR\", \"block\": \"{\\\"symbols\\\":[\\\"competitor\\\"],\\\"statements\\\":[[4,\\\"angle-double\\\",null,[[\\\"subtitle\\\"],[[22,[\\\"subtitle\\\"]]]],{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"has_message\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"snazzy nospace contain\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"show_message\\\"]],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"info-circle\\\"],[[\\\"size\\\",\\\"classNames\\\",\\\"fixedWidth\\\"],[2,\\\"floatleft\\\",true]]],false],[0,\\\"\\\\n    \\\"],[1,[22,[\\\"competition\\\",\\\"msg_title\\\"]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"has_message_body\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"br\\\"],[8],[9],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[0,\\\"click to see more\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"showing_message\\\"]]],null,{\\\"statements\\\":[[4,\\\"modal-box\\\",null,[[\\\"closed\\\"],[\\\"clear_message\\\"]],{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"clear_message\\\"]],[8],[0,\\\"close \\\"],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[6,\\\"h2\\\"],[8],[1,[22,[\\\"competition\\\",\\\"msg_title\\\"]],false],[9],[0,\\\"\\\\n        \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n          \\\"],[1,[22,[\\\"competition\\\",\\\"msg_body\\\"]],false],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"sortedCompetitors\\\",\\\"length\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist league\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"sortedCompetitors\\\"]]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[21,1,[\\\"hidden\\\"]]],null,{\\\"statements\\\":[[4,\\\"competitor-item\\\",null,[[\\\"competitor\\\",\\\"link\\\"],[[21,1,[]],[22,[\\\"link\\\"]]]],{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"competition\\\",\\\"inFuture\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"has_data\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[1,[26,\\\"savings-bar\\\",null,[[\\\"competitor\\\",\\\"competition\\\",\\\"neutralised\\\"],[[21,1,[]],[22,[\\\"competition\\\"]],[22,[\\\"competition\\\",\\\"neutralised\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"floatright smalltext\\\"],[8],[0,\\\"Awaiting data\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"Competition has no competitors\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"calculated\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competition\\\",\\\"show_aggregated\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"aggregate-savings\\\",null,[[\\\"competition\\\",\\\"badge\\\",\\\"iframe\\\"],[[22,[\\\"competition\\\"]],true,[22,[\\\"iframe\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/league-table/template.hbs\" } });\n});","define('saves-client/pods/components/measurement-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNames: ['measurement-item'],\n    measurement: null,\n    editing: false,\n    actions: {\n      toggleEdit: function () {\n        this.toggleProperty('editing');\n      },\n      save: function () {\n        this.get('measurement').save();\n        this.set('editing', false);\n      },\n      delete: function () {\n        if (confirm(\"Confirm delete measurement?\")) {\n          this.get('measurement').deleteRecord();\n          this.get('measurement').save();\n        }\n        this.set('editing', false);\n      },\n      cancel: function () {\n        this.get('measurement').rollbackAttributes();\n        this.set('editing', false);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/measurement-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"StwGvTA4\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"small\\\"],[8],[1,[26,\\\"date-formatter\\\",[[22,[\\\"measurement\\\",\\\"timestamp\\\"]],\\\"DD/MM/YYYY HH:mm\\\"],null],false],[9],[0,\\\"\\\\n-\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"input\\\",null,[[\\\"size\\\",\\\"value\\\"],[8,[22,[\\\"measurement\\\",\\\"value\\\"]]]]],false],[0,\\\" kWh\\\\n    \\\"],[6,\\\"small\\\"],[8],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"trash\\\"],null],false],[9],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"cancel\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"measurement\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[8],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"save\\\"],null],false],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"clickable\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEdit\\\"]],[8],[0,\\\"\\\\n    \\\"],[1,[22,[\\\"measurement\\\",\\\"value\\\"]],false],[0,\\\" kWh\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/measurement-item/template.hbs\" } });\n});","define('saves-client/pods/components/measurement-month/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'div',\n    classNames: ['measurement-month'],\n    month: null,\n    data: [],\n    sortedData: Ember.computed.sort('data', function (a, b) {\n      if (a.get('timestamp').isAfter(b.get('timestamp'))) {\n        return 1;\n      } else if (a.get('timestamp').isBefore(b.get('timestamp'))) {\n        return -1;\n      }\n      return 0;\n    }),\n    open: false,\n    actions: {\n      toggleOpen: function () {\n        this.toggleProperty('open');\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/measurement-month/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"K1MijDqO\", \"block\": \"{\\\"symbols\\\":[\\\"measurement\\\"],\\\"statements\\\":[[6,\\\"span\\\"],[10,\\\"class\\\",\\\"clickable\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleOpen\\\"]],[8],[0,\\\"\\\\n\\\"],[6,\\\"span\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"calendar-o\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[26,\\\"date-formatter\\\",[[22,[\\\"month\\\"]],\\\"MMM YYYY\\\"],null],false],[0,\\\": \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"open\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"caret-down\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"caret-right\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[1,[22,[\\\"data\\\",\\\"length\\\"]],false],[0,\\\" readings\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"open\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"ul\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"sortedData\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"measurement-item\\\",null,[[\\\"measurement\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/measurement-month/template.hbs\" } });\n});","define('saves-client/pods/components/modal-background/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"div\",\n    classNames: ['modal'],\n    click() {\n      this.sendAction('closed');\n    }\n  });\n});","define('saves-client/pods/components/modal-box/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    actions: {\n      closed() {\n        this.sendAction('closed');\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/modal-box/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"HbusmzDs\", \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[1,[26,\\\"modal-background\\\",null,[[\\\"closed\\\"],[\\\"closed\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"modal-content\\\",null,null,{\\\"statements\\\":[[0,\\\"  \\\"],[13,1],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/modal-box/template.hbs\" } });\n});","define('saves-client/pods/components/modal-content/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    classNames: ['modal-content']\n  });\n});","define('saves-client/pods/components/org-details/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"div\",\n    logoProgress: 0,\n    logoRefresh: +new Date(),\n    classNames: ['org-details', 'editable'],\n    org: null,\n    actions: {\n      save: function () {\n        this.set('editName', false);\n        this.set('editInfo', false);\n        if (this.get('org.isNew')) {\n          this.set('org.id', this.get('org.fullname'));\n        }\n        let org = this.get('org');\n        org.save();\n        // this.sendAction('save');\n      },\n      reload: function () {\n        this.set(\"logoRefresh\", +new Date());\n        this.set('logoProgress', 0);\n        this.get('org').reload();\n        this.sendAction('refresh');\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/org-details/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"AADoQ4EH\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"org\\\",\\\"fullname\\\"]],\\\"organisation name\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"],[1,[26,\\\"textarea\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"org\\\",\\\"description\\\"]],\\\"Description\\\"]]],false],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"logo_container\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"organisation-logo\\\",null,[[\\\"organisation\\\",\\\"refresh\\\"],[[22,[\\\"org\\\"]],[22,[\\\"logoRefresh\\\"]]]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[0,\\\"Choose logo (jpg/png max 400px width):\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[1,[26,\\\"file-upload\\\",null,[[\\\"url\\\",\\\"progress\\\",\\\"isUploading\\\",\\\"complete\\\"],[[22,[\\\"org\\\",\\\"logoEndPoint\\\"]],[22,[\\\"logoProgress\\\"]],[22,[\\\"isUploading\\\"]],\\\"reload\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/org-details/template.hbs\" } });\n});","define('saves-client/pods/components/org-editor/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"div\",\n    classNames: ['org-editor'],\n    customer_groups: null,\n    org: null,\n    actions: {\n      set_group(group) {\n        let org = this.get('org');\n        org.set('customer_group', group);\n        org.save();\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/org-editor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"YcwniztR\", \"block\": \"{\\\"symbols\\\":[\\\"grp\\\"],\\\"statements\\\":[[6,\\\"h2\\\"],[8],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"organisation-logo\\\",null,[[\\\"organisation\\\"],[[22,[\\\"org\\\"]]]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"org\\\",\\\"customer_group\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"legend\\\"],[8],[0,\\\"Customer group: \\\"],[1,[22,[\\\"org\\\",\\\"customer_group\\\",\\\"label\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"legend\\\"],[8],[0,\\\"No customer group\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[4,\\\"each\\\",[[22,[\\\"customer_groups\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[10,\\\"name\\\",\\\"button\\\"],[10,\\\"type\\\",\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"set_group\\\",[21,1,[]]]],[8],[1,[21,1,[\\\"label\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/org-editor/template.hbs\" } });\n});","define('saves-client/pods/components/org-summary-row/component', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"tr\",\n    org: null,\n    upload_warning: 8,\n    logo_class: Ember.computed('org.has_logo', function () {\n      if (!this.get('org.has_logo')) {\n        return 'highlighted';\n      }\n    }),\n    hall_class: Ember.computed('org.hall_count', function () {\n      if (!this.get('org.hall_count')) {\n        return 'highlighted';\n      }\n    }),\n    dataset_class: Ember.computed('org.entity_count', function () {\n      if (!this.get('org.entity_count')) {\n        return 'highlighted';\n      }\n    }),\n    file_class: Ember.computed('org.file_count', function () {\n      if (!this.get('org.file_count')) {\n        return 'highlighted';\n      }\n    }),\n    competition_class: Ember.computed('org.competition_count', function () {\n      if (!this.get('org.competition_count')) {\n        return 'highlighted';\n      }\n    }),\n    published_class: Ember.computed('org.published', function () {\n      if (!this.get('org.published')) {\n        return 'highlighted';\n      }\n    }),\n    latest_upload_class: Ember.computed('org.latest_upload', 'upload_warning', function () {\n      let date = this.get('org.latest_upload');\n      if (!date || date < (0, _moment.default)().subtract(this.get('upload_warning'), 'days')) {\n        return 'highlighted';\n      }\n    }),\n    latest_upload: Ember.computed('org.latest_upload', function () {\n      return (0, _moment.default)(this.get('org.latest_upload')).fromNow(); //format('DD-MM-YYYY');\n    }),\n    actions: {\n      delete() {\n        let summary = this.get('org');\n        if (confirm('Are you sure?\\n\\nThis will delete ' + summary.get('fullname') + ' and all associated data.')) {\n          summary.get('organisation').then(org => {\n            org.destroyRecord().then(() => {\n              summary.deleteRecord();\n            }, () => {\n              org.rollbackAttributes();\n            });\n          });\n        }\n      },\n      edit_org() {\n        this.sendAction('edit_org', this.get('org'));\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/org-summary-row/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"mFIRX1Ml\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"th\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.organisation\\\",[22,[\\\"org\\\",\\\"id\\\"]]],null,{\\\"statements\\\":[[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"org\\\",\\\"organisation\\\",\\\"customer_group\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[22,[\\\"org\\\",\\\"organisation\\\",\\\"customer_group\\\",\\\"label\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    No group\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"logo_class\\\"],null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"org\\\",\\\"has_logo\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"check\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"hall_class\\\"],null],[8],[1,[22,[\\\"org\\\",\\\"hall_count\\\"]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"dataset_class\\\"],null],[8],[1,[22,[\\\"org\\\",\\\"entity_count\\\"]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"competition_class\\\"],null],[8],[1,[22,[\\\"org\\\",\\\"competition_count\\\"]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"file_class\\\"],null],[8],[1,[22,[\\\"org\\\",\\\"file_count\\\"]],false],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"latest_upload_class\\\"],null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"org\\\",\\\"latest_upload\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[20,\\\"latest_upload\\\"],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    Never\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[11,\\\"class\\\",[20,\\\"published_class\\\"],null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"org\\\",\\\"published\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"check\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"org\\\",\\\"published\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[0,\\\"delete\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    unpublish before deleting\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"edit_org\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],null],false],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/org-summary-row/template.hbs\" } });\n});","define('saves-client/pods/components/org-summary-table/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"table\",\n    orgs: null,\n    customer_groups: null,\n    upload_warning: 7,\n    editing_org: null,\n    actions: {\n      edit_org(org) {\n        let self = this;\n        org.get('organisation').then(function (org) {\n          self.set('editing_org', org);\n        });\n      },\n      clear_org() {\n        this.set('editing_org', null);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/org-summary-table/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"FVjHlDvy\", \"block\": \"{\\\"symbols\\\":[\\\"organisation\\\"],\\\"statements\\\":[[6,\\\"tr\\\"],[10,\\\"class\\\",\\\"rotate\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"Name\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"group\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"logo?\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"halls\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"datasets\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"competitions\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"files\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"latest upload\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"public?\\\"],[9],[9],[9],[0,\\\"\\\\n  \\\"],[6,\\\"th\\\"],[8],[6,\\\"div\\\"],[8],[6,\\\"span\\\"],[8],[0,\\\"actions\\\"],[9],[9],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"orgs\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"org-summary-row\\\",null,[[\\\"org\\\",\\\"upload_warning\\\",\\\"edit_org\\\"],[[21,1,[]],[22,[\\\"upload_warning\\\"]],\\\"edit_org\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[4,\\\"if\\\",[[22,[\\\"editing_org\\\"]]],null,{\\\"statements\\\":[[4,\\\"modal-box\\\",null,[[\\\"closed\\\"],[\\\"clear_org\\\"]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"clear_org\\\"]],[8],[0,\\\"close \\\"],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],null],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[1,[26,\\\"org-editor\\\",null,[[\\\"org\\\",\\\"customer_groups\\\"],[[22,[\\\"editing_org\\\"]],[22,[\\\"customer_groups\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/org-summary-table/template.hbs\" } });\n});","define('saves-client/pods/components/organisation-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    classNames: [\"editable\", \"organisation-item\"],\n    organisation: null,\n    editable: null,\n    editing: false,\n    logoRefresh: +new Date(),\n    actions: {\n      togglePublished: function () {\n        var organisation = this.get(\"organisation\");\n        organisation.toggleProperty('published');\n        organisation.save();\n      },\n      toggleDisabled: function () {\n        var organisation = this.get(\"organisation\");\n        organisation.toggleProperty('disabled');\n        organisation.save();\n      },\n      toggleEditing() {\n        this.set('logoRefresh', +new Date());\n        this.toggleProperty('editing');\n      },\n      undo() {\n        this.get(\"organisation\").rollbackAttributes();\n        this.set('editing', false);\n      },\n      save() {\n        this.get(\"organisation\").save();\n        this.set('editing', false);\n      },\n      closed() {\n        let org = this.get(\"organisation\");\n        if (org.get('hasDirtyAttributes')) {\n          if (confirm(\"You have made changes, do you want to keep them?\")) {\n            this.send('save');\n          } else {\n            this.send('undo');\n          }\n        } else {\n          this.send('toggleEditing');\n        }\n      },\n      refresh() {\n        this.set('logoRefresh', +new Date());\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/organisation-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"se0lK5zO\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"span\\\"],[10,\\\"class\\\",\\\"logo_container\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editable\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditing\\\"]],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],null],false],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"disabled\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"warn\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"warning\\\"],null],false],[0,\\\" DISABLED!\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"normal.organisation\\\",[22,[\\\"organisation\\\",\\\"id\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"organisation-logo\\\",null,[[\\\"organisation\\\",\\\"refresh\\\"],[[22,[\\\"organisation\\\"]],[22,[\\\"logoRefresh\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"fullname\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[22,[\\\"organisation\\\",\\\"fullname\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        No name provided...\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[4,\\\"modal-box\\\",null,[[\\\"closed\\\"],[\\\"closed\\\"]],{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"undo\\\"]],[8],[0,\\\"\\\\n        undo\\\"],[1,[26,\\\"fa-icon\\\",[\\\"undo\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"\\\\n        save\\\"],[1,[26,\\\"fa-icon\\\",[\\\"save\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditing\\\"]],[8],[0,\\\"\\\\n        close\\\"],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[1,[26,\\\"org-details\\\",null,[[\\\"org\\\",\\\"editable\\\",\\\"save\\\",\\\"refresh\\\"],[[22,[\\\"organisation\\\"]],[22,[\\\"editable\\\"]],\\\"save\\\",\\\"refresh\\\"]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"togglePublished\\\"]],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"published\\\"]]],null,{\\\"statements\\\":[[0,\\\"        published \\\"],[1,[26,\\\"fa-icon\\\",[\\\"toggle-on\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        unpublished \\\"],[1,[26,\\\"fa-icon\\\",[\\\"toggle-off\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleDisabled\\\"]],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"disabled\\\"]]],null,{\\\"statements\\\":[[0,\\\"        disabled \\\"],[1,[26,\\\"fa-icon\\\",[\\\"toggle-off\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        enabled \\\"],[1,[26,\\\"fa-icon\\\",[\\\"toggle-on\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/organisation-item/template.hbs\" } });\n});","define('saves-client/pods/components/organisation-logo/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'img',\n    classNames: ['orglogo'],\n    classNameBindings: [\"organisation.published::unpublished\"],\n    attributeBindings: ['title', 'alt', 'logoUrl:src'],\n    refresh: +new Date(),\n    organisation: null,\n    title: Ember.computed.readOnly('organisation.fullname'),\n    alt: Ember.computed.readOnly('organisation.fullname'),\n    logoUrl: function () {\n      if (this.get('organisation.has_logo')) {\n        return this.get('organisation.logoEndPoint') + \"?\" + this.get('refresh');\n      } else {\n        return \"/assets/images/default-org.png\";\n      }\n    }.property('organisation.logoEndPoint', 'organisation.has_logo', 'refresh')\n  });\n});","define('saves-client/pods/components/organisation-user-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    session: Ember.inject.service(),\n    account: Ember.inject.service(),\n    tagName: 'li',\n    editing: false,\n    user: Ember.computed.alias('organisation-user.user'),\n    isMe: function () {\n      var user = this.get('user.id');\n      var session_user = this.get('currentUser.id');\n      return user === session_user;\n    }.property('currentUser', 'user'),\n    isEditableByMe: function () {\n      var session_is_admin = this.get('account.currentUser.administrator');\n      return session_is_admin || this.get('isMe');\n    }.property('isMe'),\n    passwordsMatch: function () {\n      var pwd = this.get('user.password');\n      var check = this.get('password_check');\n      return pwd && pwd === check;\n    }.property('user.password', 'password_check'),\n    actions: {\n      toggleEditable: function () {\n        this.toggleProperty('editing');\n        if (!this.get('editing')) {\n          this.set('change_password', false);\n        }\n      },\n      save: function () {\n        var self = this;\n        this.get('user').then(function (user) {\n          if (user.get('hasDirtyAttributes')) {\n            user.save().then(function () {\n              self.set('editing', false);\n            });\n          }\n        });\n      },\n      deleteMe: function () {\n        let org_user = this.get('organisation-user');\n        if (confirm(\"delete \" + this.get('user.fullname') + \"?\")) {\n          org_user.deleteRecord();\n          org_user.save();\n        }\n      },\n      toggleChangePassword: function () {\n        this.toggleProperty('change_password');\n      }\n    }\n\n  });\n});","define(\"saves-client/pods/components/organisation-user-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"NTzSqL+X\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"user\\\",\\\"fullname\\\"]],\\\"User name\\\"]]],false],[0,\\\"\\\\n  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"innerinfo\\\"],[8],[1,[26,\\\"slug-preview\\\",null,[[\\\"str\\\"],[[22,[\\\"user\\\",\\\"fullname\\\"]]]]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation-user\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"a\\\"],[10,\\\"class\\\",\\\"right\\\"],[10,\\\"href\\\",\\\"#\\\"],[8],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-save\\\"],[10,\\\"title\\\",\\\"save\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"user\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"a\\\"],[10,\\\"class\\\",\\\"right\\\"],[10,\\\"href\\\",\\\"#\\\"],[8],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-save\\\"],[10,\\\"title\\\",\\\"save\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"a\\\"],[10,\\\"class\\\",\\\"right\\\"],[10,\\\"href\\\",\\\"#\\\"],[8],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-times\\\"],[10,\\\"title\\\",\\\"cancel\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[4,\\\"if\\\",[[22,[\\\"isEditableByMe\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"clickabletext\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleChangePassword\\\"]],[8],[0,\\\"Change password\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatright paddedright warn\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"deleteMe\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"trash\\\"],[[\\\"title\\\"],[\\\"delete\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[4,\\\"if\\\",[[22,[\\\"change_password\\\"]]],null,{\\\"statements\\\":[[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"type\\\"],[[22,[\\\"user\\\",\\\"password\\\"]],\\\"New password\\\",\\\"password\\\"]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"type\\\"],[[22,[\\\"password_check\\\"]],\\\"Repeat password\\\",\\\"password\\\"]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"passwordsMatch\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"reset password\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"user\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"user\\\",\\\"fullname\\\"]],false],[0,\\\" \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"innerinfo\\\"],[8],[1,[22,[\\\"user\\\",\\\"username\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation-user\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"    (admin)\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"right\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],[[\\\"title\\\"],[\\\"edit\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/organisation-user-item/template.hbs\" } });\n});","define('saves-client/pods/components/performance-chart/component', ['exports', 'd3-selection', 'd3-scale', 'd3-array', 'd3-axis', 'd3-shape'], function (exports, _d3Selection, _d3Scale, _d3Array, _d3Axis, _d3Shape) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'svg',\n    classNames: ['performance-chart'],\n    width: 500,\n    height: 300,\n    performances: null,\n    viewBox: Ember.computed('width', 'height', function () {\n      return `0 0 ${this.get('width')} ${this.get('height')}`;\n    }),\n    attributeBindings: ['viewBox', 'width', 'height'],\n    chart_data: Ember.computed('performances', function () {\n      let performances = this.get('performances');\n      let result = performances.map(function (p) {\n        return {\n          target: p.get('target'),\n          adjusted_target: p.get('adjusted_target'),\n          actual: p.get('actual'),\n          date: p.get('start_date')\n        };\n      });\n      return result;\n    }),\n    didReceiveAttrs() {\n      // Schedule a call to our `draw` method on Ember's \"render\" queue, which will\n      // happen after the component has been placed in the DOM, and subsequently\n      // each time data is changed.\n      (0, _d3Selection.select)(this.element).selectAll(\"*\").remove();\n      Ember.run.scheduleOnce('render', this, this.draw);\n    },\n    draw() {\n      let data = this.get('chart_data');\n      let svg = (0, _d3Selection.select)(this.element);\n      let svgWidth = +svg.attr(\"width\"),\n          svgHeight = +svg.attr(\"height\"),\n          margin = { top: 10, right: 10, bottom: 100, left: 80 },\n          chartWidth = svgWidth - margin.left - margin.right,\n          chartHeight = svgHeight - margin.top - margin.bottom;\n\n      let x = (0, _d3Scale.scaleTime)().range([0, chartWidth]).domain((0, _d3Array.extent)(data, function (d) {\n        return d.date;\n      }));\n\n      let y = (0, _d3Scale.scaleLinear)().range([chartHeight, 0]).domain([0, (0, _d3Array.max)(data, function (d) {\n        return (0, _d3Array.max)([d.actual, d.adjusted_target]);\n      })]).nice();\n\n      let xAxis = (0, _d3Axis.axisBottom)().scale(x).tickSizeOuter(0).tickPadding(10),\n          yAxis = (0, _d3Axis.axisLeft)().scale(y).tickSizeOuter(0).tickPadding(1).ticks(6);\n\n      let ax = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n      this.drawPaths(ax, data, x, y);\n      this.addAxesAndLegend(ax, xAxis, yAxis, margin, chartWidth, chartHeight);\n\n      let legend = ax.append('g').attr('class', 'legend').attr('transform', `translate(0, ${chartHeight + 55})`);\n\n      legend.append('rect').attr('class', 'area actual').attr('x', '10').attr('y', '5').attr('width', '10').attr('height', '10');\n\n      legend.append('text').text('actual consumption').attr('alignment-baseline', \"middle\").attr('x', '25').attr('y', '10');\n\n      legend.append('line').attr('class', 'line target').attr('x1', '10').attr('y1', '30').attr('x2', '20').attr('y2', '30');\n\n      legend.append('text').text('baseline consumption').attr('alignment-baseline', \"middle\").attr('x', '25').attr('y', '30');\n\n      legend.append('rect').attr('class', 'area good hover').attr('x', '200').attr('y', '5').attr('width', '10').attr('height', '10');\n\n      legend.append('text').text('good performance').attr('alignment-baseline', \"middle\").attr('x', '215').attr('y', '10');\n\n      legend.append('rect').attr('class', 'area bad hover').attr('x', '200').attr('y', '25').attr('width', '10').attr('height', '10');\n\n      legend.append('text').text('bad performance').attr('x', '215').attr('y', '30');\n    },\n\n    addAxesAndLegend(svg, xAxis, yAxis, margin, chartWidth, chartHeight) {\n\n      svg.append('g').attr('class', 'x axis').attr('transform', 'translate(0,' + chartHeight + ')').call(xAxis).selectAll(\"text\").attr(\"y\", -4).attr(\"x\", 9).attr(\"dy\", \".35em\").attr(\"transform\", \"rotate(90)\").style(\"text-anchor\", \"start\");\n\n      svg.append('g').attr('class', 'y axis').call(yAxis).append('text').attr('transform', 'rotate(-90)').attr('dy', '-6.5em').attr('dx', '-3.5em').style('text-anchor', 'end').text('Consumption (kWh)');\n    },\n    drawPaths(svg, data, x, y) {\n      let actual = (0, _d3Shape.area)().x(function (d) {\n        return x(d.date);\n      }).y0(function (d) {\n        return y(0);\n      }).y1(function (d) {\n        return y(d.actual);\n      });\n\n      let target = (0, _d3Shape.line)().x(function (d) {\n        return x(d.date);\n      }).y(function (d) {\n        return y(d.adjusted_target);\n      });\n\n      let savings = (0, _d3Shape.area)().x(function (d) {\n        return x(d.date);\n      }).y0(function (d) {\n        return y(d.actual);\n      }).y1(function (d) {\n        return y(d.adjusted_target);\n      });\n\n      var areaAboveTargetLine = (0, _d3Shape.area)().x(target.x()).y0(target.y()).y1(0);\n\n      var areaBelowTargetLine = (0, _d3Shape.area)().x(target.x()).y0(target.y()).y1(function (d) {\n        return y(0);\n      });\n\n      var defs = svg.append('defs');\n\n      defs.append('pattern').attr('id', \"pattern\").attr('patternUnits', \"userSpaceOnUse\").attr('width', \"10\").attr('height', \"10\").append(\"image\").attr('xlink:href', \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnPgogIDxyZWN0IHdpZHRoPSc4JyBoZWlnaHQ9JzgnIGZpbGw9JyNmZmYnLz4KICA8cGF0aCBkPSdNMCAwTDggOFpNOCAwTDAgOFonIHN0cm9rZS13aWR0aD0nMC41JyBzdHJva2U9JyNhYWEnLz4KPC9zdmc+Cg==\").attr('x', \"0\").attr('y', \"0\").attr('width', \"10\").attr('height', \"10\");\n\n      defs.append('clipPath').attr('id', 'clip-increases').append('path').datum(data).attr('d', areaAboveTargetLine);\n\n      defs.append('clipPath').attr('id', 'clip-decreases').append('path').datum(data).attr('d', areaBelowTargetLine);\n\n      svg.datum(data);\n\n      svg.append('path')\n      // .style(\"fill\", \"url(#pattern)\")\n      .attr('class', 'area actual').attr('d', actual);\n\n      svg.append('path').attr('class', 'line target').attr('d', target);\n\n      svg.append('path').attr('class', 'area bad').attr('d', savings).attr('clip-path', 'url(#clip-increases)');\n\n      svg.append('path').attr('class', 'area good').attr('d', savings).attr('clip-path', 'url(#clip-decreases)');\n    }\n  });\n});","define('saves-client/pods/components/performance-table/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: \"table\",\n    classNames: ['performances'],\n    competitor: null,\n    international: false,\n    editable: false,\n\n    performances: Ember.computed('international', 'competitor.performances', function () {\n      var ic = this.get('international');\n      var competitor = this.get('competitor');\n      var performances = competitor.get('performances');\n      if (!ic) {\n        return performances;\n      } else {\n        var start_date = ic.get('start_date');\n        var end_date = ic.get('end_date');\n        return performances.filter(function (item) {\n          return item.get('start_date') >= start_date && item.get('end_date') <= end_date;\n        }, this);\n      }\n    }),\n\n    target: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"target\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.target'),\n\n    adjustment: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + parseFloat(performance.get(\"adjustment\")); // the input field provides text - not ideal\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.adjustment'),\n\n    adjusted_target: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"adjusted_target\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.adjusted_target'),\n\n    actual: function () {\n      var performances = this.get('performances');\n      return performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          return previousValue + performance.get(\"actual\");\n        } else {\n          return previousValue;\n        }\n      }, 0);\n    }.property('performances.@each.actual'),\n\n    cumulative_savings: function () {\n      var performances = this.get('performances');\n      var data = performances.reduce(function (previousValue, performance) {\n        if (performance.get('include_in_cumulative')) {\n          var actual = performance.get(\"actual\");\n          var target = performance.get(\"adjusted_target\");\n          return {\n            target: previousValue.target + target,\n            actual: previousValue.actual + actual\n          };\n        } else {\n          return previousValue;\n        }\n      }, { target: 0, actual: 0 });\n      if (data.target && data.actual) {\n        return (data.target - data.actual) / data.target * 100;\n      } else {\n        return null;\n      }\n    }.property('performances.@each.adjusted_target', 'performances.@each.actual'),\n\n    actions: {\n      toggleEditable: function () {\n        var editable = this.get('editable');\n        if (editable) {\n          //save it all\n          var performances = this.get('performances');\n          var changed = false;\n          performances.forEach(function (performance) {\n            if (performance.get('hasDirtyAttributes')) {\n              performance.save();\n              changed = true;\n            }\n          });\n          if (changed) {\n            this.get('competitor').reload().then(function (model) {\n              console.log(\"reloaded\");\n              console.log(model);\n            });\n          }\n        }\n        this.toggleProperty('editable');\n      }\n    }\n\n  });\n});","define(\"saves-client/pods/components/performance-table/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"DpfJ+fdj\", \"block\": \"{\\\"symbols\\\":[\\\"p\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"competitor\\\",\\\"performances\\\",\\\"isSettled\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"tr\\\"],[8],[6,\\\"th\\\"],[8],[0,\\\"Date\\\"],[9],[6,\\\"th\\\"],[8],[0,\\\"Target\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"th\\\"],[10,\\\"class\\\",\\\"editable\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editable\\\"]]],null,{\\\"statements\\\":[[0,\\\"        Adjustment\\\"],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"action\\\"],[\\\"save\\\",\\\"toggleEditable\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        Adjustment\\\"],[1,[26,\\\"action-button\\\",null,[[\\\"icon\\\",\\\"action\\\"],[\\\"pencil\\\",\\\"toggleEditable\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"th\\\"],[8],[0,\\\"Adjusted target\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"th\\\"],[8],[0,\\\"Actual\\\"],[9],[6,\\\"th\\\"],[8],[0,\\\"Savings\\\"],[9],[9],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"performances\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"tr\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"td\\\"],[8],[1,[26,\\\"date-formatter\\\",[[21,1,[\\\"start_date\\\"]],\\\"DD/MM/YYYY\\\"],null],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"administrator\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"target\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"td\\\"],[8],[1,[26,\\\"rounded-float\\\",[[21,1,[\\\"target\\\"]],2],null],false],[9],[0,\\\"\\\\n            \\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editable\\\"]]],null,{\\\"statements\\\":[[0,\\\"                \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[21,1,[\\\"adjustment\\\"]],\\\"adjustment\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                \\\"],[1,[26,\\\"rounded-float\\\",[[21,1,[\\\"adjustment\\\"]],2],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"            \\\"],[9],[0,\\\"\\\\n            \\\"],[6,\\\"td\\\"],[8],[1,[26,\\\"rounded-float\\\",[[21,1,[\\\"adjusted_target\\\"]],2],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"td\\\"],[8],[9],[6,\\\"td\\\"],[8],[9],[6,\\\"td\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"td\\\"],[8],[1,[26,\\\"rounded-float\\\",[[21,1,[\\\"adjusted_target\\\"]],2],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"      \\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[21,1,[\\\"actual\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"rounded-float\\\",[[21,1,[\\\"actual\\\"]],2],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"td\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[21,1,[\\\"savings\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[21,1,[\\\"savings\\\"]],false],[0,\\\"%\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"  \\\"],[6,\\\"tr\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"th\\\"],[8],[0,\\\"Total\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"th\\\"],[8],[4,\\\"if\\\",[[22,[\\\"target\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"rounded-float\\\",[[22,[\\\"target\\\"]],2],null],false]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"th\\\"],[8],[1,[26,\\\"rounded-float\\\",[[22,[\\\"adjustment\\\"]],2],null],false],[9],[0,\\\"\\\\n      \\\"],[6,\\\"th\\\"],[8],[1,[26,\\\"rounded-float\\\",[[22,[\\\"adjusted_target\\\"]],2],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[6,\\\"th\\\"],[8],[4,\\\"if\\\",[[22,[\\\"actual\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"rounded-float\\\",[[22,[\\\"actual\\\"]],2],null],false]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n    \\\"],[6,\\\"th\\\"],[8],[4,\\\"if\\\",[[22,[\\\"cumulative_savings\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"rounded-float\\\",[[22,[\\\"cumulative_savings\\\"]],2],null],false],[0,\\\"%\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"tr\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"th\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading...\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/performance-table/template.hbs\" } });\n});","define('saves-client/pods/components/savings-bar/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var savingToWidth = function (saving, domain, range) {\n    return (1 - Math.abs(saving) / domain) * range;\n  };\n\n  exports.default = Ember.Component.extend({\n    tagName: \"div\",\n    ceiling: 20,\n    classNames: ['savings-bar'],\n    classNameBindings: ['isNegative:neg:pos', 'isMax:max'],\n    neutralised: false,\n    international: false,\n    savings: Ember.computed('competitor.savings', 'competitor.ic_savings', 'international', function () {\n      if (this.get('international')) {\n        return this.get('competitor.ic_savings');\n      } else {\n        return this.get('competitor.savings');\n      }\n    }),\n    savings_date: Ember.computed('international', 'competitor.ic_savings_date', 'competitor.savings_date', function () {\n      if (this.get('international')) {\n        return this.get('competitor.ic_savings_date');\n      } else {\n        return this.get('competitor.savings_date');\n      }\n    }),\n    old_savings_date: function () {\n      var competitor = this.get('competitor');\n      var international = this.get('international');\n      if (international) {\n        return competitor.get('ic_savings_date');\n      } else {\n        return competitor.get('savings_date');\n      }\n    }.property('competitor.savings_date', 'international'),\n    absolute_savings: function () {\n      return Math.abs(this.get('savings'));\n    }.property('savings'),\n    isNegative: function () {\n      var savings = this.get('savings');\n      return savings < 0;\n    }.property('savings'),\n    isMax: function () {\n      var savings = this.get('savings');\n      return Math.abs(savings) > this.get('ceiling');\n    }.property('savings'),\n    width: function () {\n      var savings = this.get('savings');\n      return savingToWidth(savings, this.get('ceiling'), 50);\n    }.property('savings'),\n    computedStyle: Ember.computed('width', function () {\n      var width = this.get('width');\n      if (width > 0) {\n        // return new Ember.Handlebars.SafeString(`width: ${width}%;`);\n        return Ember.String.htmlSafe(`width: ${width}%;`);\n      }\n    })\n  });\n});","define(\"saves-client/pods/components/savings-bar/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"EEZ+vE4V\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"neutralised\\\"]]],null,{\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"saving-percent\\\"],[11,\\\"style\\\",[20,\\\"computedStyle\\\"],null],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"isNegative\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"save-percent increase\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"direction fa fa-chevron-up\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"rounded-float\\\",[[22,[\\\"absolute_savings\\\"]],1],null],false],[0,\\\"%\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"save-percent\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"direction fa fa-chevron-down\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"rounded-float\\\",[[22,[\\\"absolute_savings\\\"]],1],null],false],[0,\\\"%\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"mask\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/savings-bar/template.hbs\" } });\n});","define(\"saves-client/pods/components/setup-advice/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"4fANFI0/\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"org\\\",\\\"organisation_users\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"users\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[0,\\\" has no users\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"Create users with access to manage only \\\"],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[0,\\\".\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.organisation.organisation_users\\\",[22,[\\\"org\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"users\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\" Add users now\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"org\\\",\\\"halls\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"building-o\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[0,\\\" has no halls\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"Without halls you cannot create competitions.\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.organisation.halls\\\",[22,[\\\"org\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"building-o\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Add halls now\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"org\\\",\\\"competitions\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[0,\\\" has no competitions configured\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Competitions provide published league tables.\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.organisation.competitions\\\",[22,[\\\"org\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Add competitions now\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"org\\\",\\\"main_competition\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"warning-circle\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"org\\\",\\\"fullname\\\"]],false],[0,\\\" currently has no 'main' competition configured\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/setup-advice/template.hbs\" } });\n});","define('saves-client/pods/components/site-header/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    tagName: 'header',\n    attributeBindings: ['role'],\n    role: 'banner',\n    classNames: [\"site-header\"],\n    has_international: false\n  });\n});","define(\"saves-client/pods/components/site-header/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"HeJIUrFq\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"contain\\\"],[8],[0,\\\"\\\\n  \\\"],[4,\\\"link-to\\\",[\\\"normal.index\\\"],[[\\\"id\\\",\\\"class\\\",\\\"alt\\\"],[\\\"logo\\\",\\\"transition-all\\\",\\\"student switch off\\\"]],{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[2,\\\" <nav class=\\\\\\\"floatright\\\\\\\"> \\\"],[0,\\\"\\\\n    \\\"],[2,\\\" {{#link-to \\\\\\\"normal.index\\\\\\\" title=\\\\\\\"Home\\\\\\\"}}{{fa-icon \\\\\\\"home\\\\\\\" fixedWidth=true}}Home{{/link-to}} \\\"],[0,\\\"\\\\n    \\\"],[2,\\\" {{#link-to \\\\\\\"normal.int\\\\\\\" title=\\\\\\\"Global competition\\\\\\\"}}{{fa-icon \\\\\\\"globe\\\\\\\" fixedWidth=true}}International{{/link-to}} \\\"],[0,\\\"\\\\n  \\\"],[2,\\\" </nav> \\\"],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"banner\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"nav\\\"],[10,\\\"id\\\",\\\"admin\\\"],[8],[0,\\\"\\\\n    \\\"],[4,\\\"link-to\\\",[\\\"normal.index\\\"],[[\\\"title\\\"],[\\\"Home\\\"]],{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"home\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Home\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[4,\\\"link-to\\\",[\\\"normal.users\\\"],[[\\\"title\\\"],[\\\"Administrative users\\\"]],{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"users\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Users\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[4,\\\"link-to\\\",[\\\"normal.orgs_status\\\"],[[\\\"title\\\"],[\\\"list all universities\\\"]],{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"university\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Universities\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[2,\\\" {{#link-to 'normal.international'}}{{fa-icon \\\\\\\"globe\\\\\\\"}}&nbsp;International{{/link-to}} \\\"],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"nav\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"https://www.facebook.com/studentswitchoff\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"facebook\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"https://twitter.com/nus_switchoff\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"twitter\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"https://www.instagram.com/studentswitchoff/\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"instagram\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/site-header/template.hbs\" } });\n});","define('saves-client/pods/components/slug-preview/component', ['exports', 'saves-client/utils/slug'], function (exports, _slug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    str: null,\n    slug: Ember.computed('str', function () {\n      return (0, _slug.default)(this.get('str'));\n    })\n  });\n});","define(\"saves-client/pods/components/slug-preview/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"TVCHYgOh\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[20,\\\"slug\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/slug-preview/template.hbs\" } });\n});","define('saves-client/pods/components/target-editor/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    classNames: ['target-editor'],\n    competitor: null,\n    from_date: null,\n    to_date: null,\n    use_percentage: false,\n    adjustment: null,\n    valid_adjustment: Ember.computed('adjustment', function () {\n      var adj = this.get('adjustment');\n      return adj !== 0;\n    }),\n    range_complete: Ember.computed.and('to_date', 'from_date'),\n    ready_to_apply: Ember.computed.and('range_complete', 'adjustment'),\n    actions: {\n      apply: function () {\n        var props = this.getProperties('from_date', 'to_date', 'use_percentage', 'adjustment');\n        this.sendAction('apply', props);\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/target-editor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"d7T9hy5g\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"range_complete\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Select a date range to edit:\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"p\\\"],[8],[0,\\\"\\\\n  From: \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"date\\\",[22,[\\\"from_date\\\"]]]]],false],[0,\\\"\\\\n  To: \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"date\\\",[22,[\\\"to_date\\\"]]]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"range_complete\\\"]]],null,{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"ready_to_apply\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Select the level of adjustment to apply:\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[8],[0,\\\"use percentage: \\\"],[9],[0,\\\"\\\\n      \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[22,[\\\"use_percentage\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[6,\\\"span\\\"],[8],[0,\\\"\\\\n      Adjustment: \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\"],[[22,[\\\"adjustment\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"use_percentage\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"span\\\"],[8],[0,\\\"%\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"span\\\"],[8],[0,\\\"kWh\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"ready_to_apply\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n      Adjust all targets\\\\n      between \\\"],[1,[20,\\\"from_date\\\"],false],[0,\\\" and \\\"],[1,[20,\\\"to_date\\\"],false],[0,\\\" by\\\\n      \\\"],[1,[20,\\\"adjustment\\\"],false],[4,\\\"if\\\",[[22,[\\\"use_percentage\\\"]]],null,{\\\"statements\\\":[[0,\\\"%\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"kWh\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"apply\\\"]],[8],[0,\\\"Apply\\\"],[9],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/target-editor/template.hbs\" } });\n});","define('saves-client/pods/components/tip-item/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  const re = new RegExp(\"^$|(https|http)://.*\");\n\n  exports.default = Ember.Component.extend({\n    tagName: 'li',\n    // attributeBindings: ['title'],\n    // title: computed.alias('tip.body'),\n    tip: null,\n    editing: false,\n    valid_url: Ember.computed('tip.url', function () {\n      let url = this.get('tip.url');\n      return re.test(url) ? true : !url;\n    }),\n    invalid_url: Ember.computed.not('valid_url'),\n    show_url_error: Ember.computed.and('invalid_url', 'tip.url'),\n    show_save_button: Ember.computed.and('valid_url', 'tip.body'),\n    actions: {\n      toggleEditable() {\n        this.toggleProperty('editing');\n        if (!this.get('editing')) {\n          this.get('tip').rollbackAttributes();\n        }\n      },\n      save() {\n        let self = this;\n        this.get('tip').save().then(function () {\n          self.set('editing', false);\n        });\n      },\n      delete() {\n        let tip = this.get('tip');\n        if (confirm(\"Are you sure you want to delete this tip?\")) {\n          tip.destroyRecord();\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/tip-item/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"n5C2YZZo\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"lightbulb-o\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"right\\\"],[10,\\\"title\\\",\\\"discard changes\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEditable\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"undo\\\"],null],false],[9],[0,\\\"\\\\n  \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\"],[[22,[\\\"tip\\\",\\\"title\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[1,[26,\\\"textarea\\\",null,[[\\\"class\\\",\\\"value\\\",\\\"maxlength\\\"],[\\\"fullwidth\\\",[22,[\\\"tip\\\",\\\"body\\\"]],\\\"144\\\"]]],false],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"textright\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"url\\\"],[8],[0,\\\"URL\\\"],[9],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"id\\\",\\\"value\\\",\\\"pattern\\\"],[\\\"url\\\",\\\"url\\\",[22,[\\\"tip\\\",\\\"url\\\"]],\\\"[https|http]+://.*\\\"]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"tip\\\",\\\"body\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"snazzy\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"No tip text!\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[1,[22,[\\\"tip\\\",\\\"title\\\"]],false],[0,\\\"\\\\n  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"title\\\",\\\"icon\\\",\\\"warn\\\"],[\\\"toggleEditable\\\",\\\"edit tip\\\",\\\"pencil\\\",true]]],false],[0,\\\"\\\\n  \\\"],[1,[26,\\\"action-button\\\",null,[[\\\"action\\\",\\\"title\\\",\\\"icon\\\",\\\"warn\\\"],[\\\"delete\\\",\\\"delete tip\\\",\\\"trash\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[2,\\\" {{show_save_button}} \\\"],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"tip\\\",\\\"body\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"tip\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"valid_url\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"Save\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"snazzy\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"URLs must begin with http[s]://\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/tip-item/template.hbs\" } });\n});","define('saves-client/pods/components/tip-list/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    account: Ember.inject.service(),\n    store: Ember.inject.service(),\n    tagName: \"ul\",\n    classNames: [\"itemlist\"],\n    organisation: null,\n    newTitle: null,\n    newBody: null,\n    canCreate: Ember.computed('newTitle', 'newBody', function () {\n      let title = this.get('newTitle');\n      let body = this.get('newBody');\n      return !!title && !!body;\n    }),\n    actions: {\n      create() {\n        let title = this.get('newTitle');\n        let body = this.get('newBody');\n        let org = this.get('organisation');\n        let new_tip = this.get('store').createRecord('tip', {\n          title: title,\n          body: body,\n          orgname: org\n        });\n        new_tip.save().then(() => {\n          this.set('newTitle', null);\n          this.set('newBody', null);\n        });\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/tip-list/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"oxsf1RqY\", \"block\": \"{\\\"symbols\\\":[\\\"tip\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"form\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"create\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"lightbulb-o\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"newTitle\\\"]],\\\"tip title\\\"]]],false],[0,\\\"\\\\n      \\\"],[4,\\\"if\\\",[[22,[\\\"newTitle\\\"]]],null,{\\\"statements\\\":[[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[1,[26,\\\"textarea\\\",null,[[\\\"value\\\",\\\"placeholder\\\",\\\"cols\\\",\\\"maxlength\\\"],[[22,[\\\"newBody\\\"]],\\\"tip text\\\",\\\"73\\\",\\\"144\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"canCreate\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"button\\\"],[8],[0,\\\"Save\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[22,[\\\"organisation\\\",\\\"tips\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"tip-item\\\",null,[[\\\"tip\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"li\\\"],[8],[0,\\\"There are currently no tips!\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/tip-list/template.hbs\" } });\n});","define('saves-client/pods/components/tip-viewer/component', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Component.extend({\n    // tagName: 'section',\n    classNames: ['tip-viewer', 'anti-snazzy'],\n    organisation: null,\n    controls: true,\n    tips: Ember.computed.alias('organisation.tips'),\n    count: Ember.computed.alias('tips.length'),\n    index: 0,\n    tip_number: Ember.computed('index', function () {\n      return this.get('index') + 1;\n    }),\n    rotate: true,\n    interval: 5000,\n    currentTimeMetronome: function () {\n      let interval = this.get('interval');\n      Ember.run.later(this, function () {\n        this.notifyPropertyChange('currentTimePulse');\n        if (this.get('rotate')) {\n          // Only do this when its not been destroyed\n          if (!(this.get('isDestroyed') || this.get('isDestroying'))) {\n            this.set('index', (this.get('index') + 1) % this.get('count'));\n          }\n        }\n        this.currentTimeMetronome();\n      }, interval);\n    }.on('init'),\n    currentTip: function () {\n      return this.get('tips').objectAt(this.get('index'));\n    }.property('tips', 'index'),\n    actions: {\n      nextTip() {\n        let tips = this.get('tips');\n        let index = this.get('index');\n        this.set('index', (index + 1) % tips.get('length'));\n      },\n      prevTip() {\n        let tips = this.get('tips');\n        let index = this.get('index');\n        index = (index + tips.get('length') - 1) % tips.get('length');\n        console.log(index);\n        this.set('index', index);\n      },\n      toggleRotate() {\n        this.toggleProperty('rotate');\n      }\n    }\n  });\n});","define(\"saves-client/pods/components/tip-viewer/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"ak32q2ks\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"controls\\\"]]],null,{\\\"statements\\\":[[6,\\\"small\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleRotate\\\"]],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"rotate\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"pause\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"play\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"bigtext\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"a\\\"],[11,\\\"href\\\",[22,[\\\"currentTip\\\",\\\"url\\\"]],null],[8],[0,\\\"\\\\n    \\\"],[1,[22,[\\\"currentTip\\\",\\\"body\\\"]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"controls\\\"]]],null,{\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"clickable\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"prevTip\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"chevron-left\\\"],null],false],[0,\\\" prev\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"lightbulb-o\\\"],null],false],[0,\\\" tip \\\"],[1,[20,\\\"tip_number\\\"],false],[0,\\\" of \\\"],[1,[20,\\\"count\\\"],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"nextTip\\\"]],[8],[0,\\\"next \\\"],[1,[26,\\\"fa-icon\\\",[\\\"chevron-right\\\"],null],false],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/components/tip-viewer/template.hbs\" } });\n});","define(\"saves-client/pods/error/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"0GIIvPdc\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],null],false],[0,\\\" An error occurred\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Ooops... not sure what happened there.\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Try going back to the \\\"],[4,\\\"link-to\\\",[\\\"normal.index\\\"],null,{\\\"statements\\\":[[0,\\\"home page\\\"]],\\\"parameters\\\":[]},null],[0,\\\".\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/error/template.hbs\" } });\n});","define(\"saves-client/pods/loading/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"3H6vRA7Y\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[10,\\\"class\\\",\\\"massive centred\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" Loading... \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/loading/template.hbs\" } });\n});","define(\"saves-client/pods/normal/bad-url/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Uk1pTcLX\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"massive\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-circle\\\"],null],false],[0,\\\" Bad link!\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Sorry, we can't find what you are looking for.\\\\n    Perhaps you should try going back to the \\\"],[4,\\\"link-to\\\",[\\\"normal.index\\\"],null,{\\\"statements\\\":[[0,\\\"home page\\\"]],\\\"parameters\\\":[]},null],[0,\\\"?\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/bad-url/template.hbs\" } });\n});","define('saves-client/pods/normal/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n\n    session: Ember.inject.service(),\n    account: Ember.inject.service(),\n    actions: {\n      invalidateSession() {\n        this.get('session').invalidate();\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/error/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"LerMPtWc\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"exclamation-triangle\\\"],null],false],[0,\\\" An error occurred\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Ooops... not sure what happened there.\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Try going back to the \\\"],[4,\\\"link-to\\\",[\\\"normal.index\\\"],null,{\\\"statements\\\":[[0,\\\"home page\\\"]],\\\"parameters\\\":[]},null],[0,\\\".\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/error/template.hbs\" } });\n});","define('saves-client/pods/normal/index/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    session: Ember.inject.service(),\n    account: Ember.inject.service(),\n    sortProperties: ['published:desc', 'fullname'],\n    sortedOrganisations: Ember.computed.sort('model', 'sortProperties'),\n    filteredOrganisations: Ember.computed('sortedOrganisations', 'filter', 'showDisabled', function () {\n      let orgs = this.get('sortedOrganisations');\n      let filter = this.get('filter');\n      let show_disabled = this.get('showDisabled');\n      return orgs.filter(org => {\n        let name = org.get('fullname').toLowerCase();\n        let disabled = org.get('disabled');\n        if (disabled && !show_disabled) return false;\n        return !filter || name.indexOf(filter.toLowerCase()) >= 0;\n      });\n    }),\n    showDisabled: false,\n    filter: \"\"\n  });\n});","define('saves-client/pods/normal/index/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function () {\n      return this.store.findAll('organisation');\n    }\n  });\n});","define(\"saves-client/pods/normal/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"5mCYz0mA\", \"block\": \"{\\\"symbols\\\":[\\\"organisation\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"centred padded_sides landing\\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"h2\\\"],[10,\\\"class\\\",\\\"nospace centred\\\"],[8],[0,\\\"Student Switch Off Dashboard\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[0,\\\"\\\\n    Near real-time leaderboards for inter-hall energy-saving competitions on your campus!\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Discover \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"http://studentswitchoff.org/\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[8],[0,\\\"more about the Student Switch Off campaign\\\"],[9],[0,\\\".\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"filter\\\"],[8],[0,\\\"Find your University: \\\"],[9],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"filter\\\",[22,[\\\"filter\\\"]],\\\"Type the first few letters\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[22,[\\\"showDisabled\\\"]]]]],false],[0,\\\" show disabled\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"centred position-rel\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"filteredOrganisations\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"organisation-item\\\",null,[[\\\"organisation\\\",\\\"editable\\\"],[[21,1,[]],[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"background-white rounded\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"div\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"img\\\"],[10,\\\"src\\\",\\\"assets/images/icon_switch_off.gif\\\"],[10,\\\"alt\\\",\\\"animated light bulb\\\"],[10,\\\"title\\\",\\\"switch off\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[6,\\\"img\\\"],[10,\\\"src\\\",\\\"assets/images/icon_cooking_pot.gif\\\"],[10,\\\"alt\\\",\\\"animated saucepan\\\"],[10,\\\"title\\\",\\\"lids on\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"div\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"img\\\"],[10,\\\"src\\\",\\\"assets/images/icon_kettle.gif\\\"],[10,\\\"alt\\\",\\\"animated kettle\\\"],[10,\\\"title\\\",\\\"don't overfill\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[6,\\\"img\\\"],[10,\\\"src\\\",\\\"assets/images/icon_radiator.gif\\\"],[10,\\\"alt\\\",\\\"animated radiator\\\"],[10,\\\"title\\\",\\\"layers on\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"There are currently no universities available.\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"Create a new one \\\"],[4,\\\"link-to\\\",[\\\"normal.new_org\\\"],null,{\\\"statements\\\":[[0,\\\"here\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    If your university isn’t listed and you’d like to bring the campaign to your campus, \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"mailto:Joanna.Romanowicz@nus.org.uk\\\"],[8],[0,\\\"email NUS to let us know\\\"],[9],[0,\\\"!\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/index/template.hbs\" } });\n});","define('saves-client/pods/normal/int/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function () {\n      // return the single live competition if it exists\n      return this.store.query('international_competition', { live: true }).then(function (ics) {\n        return ics.get('firstObject');\n      });\n    }\n  });\n});","define(\"saves-client/pods/normal/int/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"h7YcROpY\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"international-league-table\\\",null,[[\\\"ic\\\"],[[22,[\\\"model\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"centred padded_sides\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"International competition\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n      No international competition is currently live.\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/int/template.hbs\" } });\n});","define('saves-client/pods/normal/international/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    actions: {\n      setLiveIC: function (ic) {\n        if (ic.get('live')) {\n          ic.set('live', false);\n        } else {\n          var ics = this.get('model');\n          ics.forEach(function (item) {\n            item.set('live', false);\n          });\n          ic.set('live', true);\n        }\n        ic.save();\n      },\n      setOpenIC: function (ic) {\n        if (ic.get('open')) {\n          ic.set('open', false);\n        } else {\n          if (ic.get('locked')) {\n            alert(\"Cannot open a locked competition!\\n\\nUnlock first.\");\n            return;\n          } else {\n            var ics = this.get('model');\n            ics.forEach(function (item) {\n              item.set('open', false);\n            });\n            ic.set('open', true);\n          }\n        }\n        ic.save();\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/international/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"UDEL4A1R\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" International competitions\\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"This is the international competitions page!\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/international/index/template.hbs\" } });\n});","define('saves-client/pods/normal/international/new/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    actions: {\n      save: function () {\n        var model = this.get('model');\n        var _this = this;\n        model.save().then(function (comp) {\n          _this.transitionToRoute('international.show', comp.id);\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/international/new/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    model: function () {\n      // TODO: set magic default values based on current date?\n      return this.store.createRecord('international_competition');\n    },\n    actions: {\n      willTransition: function (transition) {\n        var model = this.controller.get('model');\n        if (model.get('hasDirtyAttributes')) {\n          if (!model.get('name') || confirm(\"Discard new competition '\" + model.get('name') + \"'?\")) {\n            model.deleteRecord();\n            return true;\n          } else {\n            transition.abort();\n          }\n        } else {\n          return true;\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/international/new/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"DccODWpt\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h3\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" New international competition\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n      International competitions should typically be created only once per year.\\\\n      Newly created competitions will be closed for edits, meaning they will not be visible to logged in university users.\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"label\\\"],[8],[0,\\\"Competition name: \\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"model\\\",\\\"name\\\"]],\\\"competition name\\\"]]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"name\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"h3\\\"],[8],[0,\\\"Set competition period:\\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compstart\\\"],[8],[0,\\\"Start date:\\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"value\\\",\\\"type\\\"],[\\\"compstart\\\",[22,[\\\"model\\\",\\\"start_date\\\"]],\\\"date\\\"]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compend\\\"],[10,\\\"class\\\",\\\"moreinfo\\\"],[8],[0,\\\"End date \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-info-circle\\\"],[8],[9],[0,\\\":\\\"],[6,\\\"span\\\"],[8],[0,\\\"NOTE: competition ends at 23:59 day before\\\"],[9],[9],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"value\\\"],[\\\"compend\\\",\\\"date\\\",[22,[\\\"model\\\",\\\"end_date\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[6,\\\"button\\\"],[11,\\\"disabled\\\",[20,\\\"buttonDisabled\\\"],null],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"create\\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/international/new/template.hbs\" } });\n});","define('saves-client/pods/normal/international/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.administrator')) {\n        this.transitionTo('normal.index');\n      }\n    },\n    model: function () {\n      return this.store.findAll('international_competition');\n    }\n  });\n});","define('saves-client/pods/normal/international/show/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    international: Ember.inject.controller('normal.international'),\n    actions: {\n      toggleLocked: function () {\n        var model = this.get('model');\n        if (model.get('open')) {\n          alert(\"Open international competitions cannot be locked.\");\n        } else {\n          if (!model.get('locked') || confirm(\"Unlocking a locked competition is dangerous and can lead to the order of the competition irreversibly changing.\\n\\nAre you sure you want to unlock?\")) {\n            model.toggleProperty('locked');\n            model.save();\n          }\n        }\n      },\n      toggleOpen: function () {\n        var model = this.get('model');\n        if (model.get('locked')) {\n          alert(\"Unlock competition first\");\n        } else {\n          model.toggleProperty('open');\n          model.save();\n        }\n      },\n      toggleLive: function (ic) {\n        var international = this.get('international');\n        international.send('toggleLive', ic);\n      },\n      save: function () {\n        var ic = this.get('model');\n        ic.save();\n      },\n      cancel: function () {\n        var ic = this.get('model');\n        ic.rollbackAttributes();\n      }\n    }\n  });\n});","define('saves-client/pods/normal/international/show/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    model: function (params) {\n      return this.store.findRecord('international_competition', params.ic_id);\n    },\n    setupController: function (controller, model) {\n      // Call _super for default behavior\n      this._super(controller, model);\n      // Implement your custom setup after\n      this.store.query('competitor', { international_competition: model.get('id') }).then(function (result) {\n        controller.set('competitors', result);\n      });\n    }\n  });\n});","define(\"saves-client/pods/normal/international/show/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"MIjMHRa0\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[4,\\\"link-to\\\",[\\\"bare.international-competition\\\",[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"Use this link to embed this competition anywhere using an iframe\\\"]],\\\"parameters\\\":[]},null],[0,\\\".\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[8],[0,\\\"Competition period: \\\"],[6,\\\"br\\\"],[8],[9],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"model\\\",\\\"start_date\\\"]]]]],false],[0,\\\" — \\\"],[1,[26,\\\"date-picker\\\",null,[[\\\"date\\\"],[[22,[\\\"model\\\",\\\"end_date\\\"]]]]],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"save\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"cancel\\\"]],[8],[0,\\\"cancel\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"],[4,\\\"international-league-table\\\",null,[[\\\"ic\\\",\\\"competitors\\\"],[[22,[\\\"model\\\"]],[22,[\\\"competitors\\\"]]]],{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"open\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"check-circle-o\\\"],[[\\\"title\\\"],[\\\"Open\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"ban\\\"],[[\\\"title\\\"],[\\\"Closed\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"locked\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"lock\\\"],[[\\\"title\\\"],[\\\"Locked\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"unlock-alt\\\"],[[\\\"title\\\"],[\\\"Unlocked\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/international/show/template.hbs\" } });\n});","define(\"saves-client/pods/normal/international/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"kSaHRbKV\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"context\\\"],[8],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[0,\\\"\\\\n    \\\"],[4,\\\"link-to\\\",[\\\"normal.international\\\"],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" International League\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"international-competitions-list\\\",null,[[\\\"competitions\\\",\\\"isAllowed\\\",\\\"setLiveIC\\\",\\\"setOpenIC\\\"],[[22,[\\\"model\\\"]],true,\\\"setLiveIC\\\",\\\"setOpenIC\\\"]],{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"li\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.international.new\\\"],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" Create a new competition\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/international/template.hbs\" } });\n});","define(\"saves-client/pods/normal/loading/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"IyfAbPaT\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[10,\\\"class\\\",\\\"massive centred\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" Loading... \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/loading/template.hbs\" } });\n});","define('saves-client/pods/normal/login/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    session: Ember.inject.service('session'),\n    identification: null,\n    password: null,\n    actions: {\n      authenticate() {\n        let credentials = this.getProperties('identification', 'password');\n        this.get('session').authenticate('authenticator:saves', credentials).then(() => {\n          this.set('identification', null);\n          this.set('password', null);\n        }).catch(reason => {\n          this.set('errorMessage', reason.error || reason);\n        });\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/login/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"/kKDDNkr\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"form\\\"],[10,\\\"id\\\",\\\"login\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"authenticate\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"placeholder\\\",\\\"value\\\",\\\"required\\\",\\\"autofocus\\\"],[\\\"identification\\\",\\\"Username\\\",[22,[\\\"identification\\\"]],\\\"required\\\",\\\"autofocus\\\"]]],false],[0,\\\"\\\\n    \\\"],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"placeholder\\\",\\\"type\\\",\\\"required\\\",\\\"value\\\"],[\\\"password\\\",\\\"Password\\\",\\\"password\\\",\\\"required\\\",[22,[\\\"password\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"button\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Login\\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/login/template.hbs\" } });\n});","define('saves-client/pods/normal/new-org/controller', ['exports', 'saves-client/utils/slug'], function (exports, _slug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    replace_url: false,\n    proposed_orgname: function () {\n      var replace_url = this.get('replace_url');\n      var alternative_id = this.get('alternative_id');\n      if (replace_url && alternative_id) {\n        return (0, _slug.default)(alternative_id);\n      } else {\n        return (0, _slug.default)(this.get('model.fullname'));\n      }\n    }.property('model.fullname', 'alternative_id', 'replace_url'),\n    proposed_url: function () {\n      return location.protocol + '//' + location.hostname + \"/\" + this.get('proposed_orgname');\n    }.property('proposed_orgname'),\n    actions: {\n      save: function () {\n        var _this = this;\n        var model = this.get('model');\n        model.set('orgname', this.get('proposed_orgname'));\n        model.save().then(function (new_org) {\n          _this.transitionToRoute('normal.organisation', new_org.id);\n          _this.set('alternative_id', null);\n          _this.set('replace_url', false);\n        }, function () {\n          alert(\"Sorry. The server didn't like it.\\n\\nPerhaps that name is already in use?\");\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/new-org/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    model: function () {\n      return this.store.createRecord('organisation');\n    },\n    actions: {\n      willTransition: function (transition) {\n        var new_org = this.controller.get('model');\n        if (new_org.get('hasDirtyAttributes')) {\n          if (!new_org.get('fullname') || confirm(\"Discard new university '\" + this.controller.get('model.fullname') + \"'?\")) {\n            new_org.deleteRecord();\n            return true;\n          } else {\n            transition.abort();\n          }\n        } else {\n          return true;\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/new-org/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"vmaWzsmz\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h2\\\"],[8],[0,\\\"\\\\n    You are about to create a new university\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    Universities are each given their own area on the site with a unique URL.\\\\n    Though the university name will be editable, \\\"],[6,\\\"strong\\\"],[8],[0,\\\"the url through which it will be accessed will be permanent\\\"],[9],[0,\\\".\\\\n    Please make sure the url you choose will be sensible for users of the system.\\\\n    Also be aware that the URL you want may already be taken by another university.\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    We can create a url from the name you provide or you can provide a more succinct url token here.\\\"],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"All URL's are converted to lower case and stripped of illegal characters.\\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"label\\\"],[8],[0,\\\"University name: \\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"model\\\",\\\"fullname\\\"]],\\\"Full name\\\"]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[8],[0,\\\"Replace URL: \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"replace_url\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"alternative_id\\\"]],\\\"optional\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"checked\\\"],[\\\"checkbox\\\",[22,[\\\"replace_url\\\"]]]]],false],[0,\\\"\\\\n    \\\"],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"fullname\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"label\\\"],[8],[1,[20,\\\"proposed_url\\\"],false],[0,\\\": \\\"],[9],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"Create\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[4,\\\"link-to\\\",[\\\"normal.orgs_status\\\"],null,{\\\"statements\\\":[[0,\\\"Back to universities\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/new-org/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competition/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    organisation: Ember.inject.controller('normal.organisation')\n  });\n});","define('saves-client/pods/normal/organisation/competition/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function (params) {\n      return this.store.findRecord('competition', params.competition_id);\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competition/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Jaa6yg96\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"league-table\\\",null,[[\\\"competition\\\",\\\"interval\\\"],[[22,[\\\"model\\\"]],3600]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"competitions-list\\\",null,[[\\\"route\\\",\\\"competitions\\\",\\\"isAllowed\\\"],[\\\"normal.organisation.competition\\\",[22,[\\\"organisation\\\",\\\"model\\\",\\\"competitions\\\"]],false]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competition/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competitions/competition/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    beforeModel(transition) {\n      this.replaceWith('normal.organisation.competition', transition.params['normal.organisation.competitions.competition'].competition_id); // Implicitly aborts the on-going transition.\n    }\n  });\n});","define('saves-client/pods/normal/organisation/competitions/edit-competition/controller', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    organisation: Ember.inject.controller('normal.organisation'),\n    editing: true,\n    note: function () {\n      var name = this.get('model.name');\n      if (this.get('model.isCurrent')) {\n        return name + \" is live! Ends \" + (0, _moment.default)().to(this.get('model.end_date'));\n      }\n      if (this.get('model.inPast')) {\n        return name + \" finished \" + (0, _moment.default)().to(this.get('model.end_date'));\n      }\n      if (this.get('model.inFuture')) {\n        return name + \" has not started yet! Starts \" + (0, _moment.default)().to(this.get('model.start_date'));\n      }\n    }.property('model.isCurrent', 'model.inPast', 'model.inFuture', 'model.end_date', 'model.start_date'),\n    icon: Ember.computed('model.isCurrent', 'model.inPast', 'model.inFuture', function () {\n      if (this.get('model.isCurrent')) {\n        return \"dashboard\";\n      }\n      if (this.get('model.inPast')) {\n        return \"trophy\";\n      }\n      if (this.get('model.inFuture')) {\n        return \"gears\";\n      }\n    }),\n    runState: Ember.computed('model.isCurrent', 'model.inPast', 'model.inFuture', function () {\n      if (this.get('model.isCurrent')) {\n        return \"live\";\n      }\n      if (this.get('model.inPast')) {\n        return \"past\";\n      }\n      if (this.get('model.inFuture')) {\n        return \"future\";\n      }\n    }),\n    actions: {\n      ToggleEditable: function () {\n        this.set('editing', !this.get('editing'));\n      },\n      setMainCompetition: function (competition) {\n        this.get('organisation').send('setMainCompetition', competition);\n      },\n      attachHall: function (hall_id) {\n        var competition = this.get('model');\n        var baseline_start_date = competition.get('default_baseline_start');\n        var baseline_end_date = competition.get('default_baseline_end');\n        var baseline_model = competition.get('default_baseline_model');\n\n        var _store = this.store;\n        this.store.findRecord('hall', hall_id).then(function (myhall) {\n          var new_competitor = _store.createRecord('competitor', {\n            competition: competition,\n            hall: myhall,\n            baseline_start_date: baseline_start_date,\n            baseline_end_date: baseline_end_date,\n            baseline_model: baseline_model\n          });\n          new_competitor.save().then(function (saved_competitor) {\n            competition.get('competitors').pushObject(saved_competitor);\n          }, function () {\n            alert(\"Could not add hall '\" + myhall.get('name') + \"' to competition '\" + competition.get('name') + \"'\");\n            new_competitor.destroyRecord();\n          });\n        }, function () {\n          console.log(\"Something went wrong\");\n        });\n      },\n      delete: function () {\n        var competition = this.get('model');\n        if (confirm(\"Are you sure you want to remove competition '\" + competition.get('name') + \"'?\")) {\n          var organisation = this.get('organisation.model');\n          var _this = this;\n          competition.destroyRecord().then(function () {\n            _this.transitionToRoute('organisation.competitions', organisation);\n          });\n        }\n      },\n      save: function () {\n        this.get('model').save().then(function (c) {\n          c.get('competitors').reload();\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/competitions/edit-competition/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    authenticationRoute: 'normal.login',\n    model: function (params) {\n      return this.store.findRecord('competition', params.competition_id);\n    },\n    actions: {\n      willTransition: function () {\n        this.controller.set('editing', true);\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competitions/edit-competition/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"lF/C80z5\", \"block\": \"{\\\"symbols\\\":[\\\"hall\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"editable\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"ToggleEditable\\\"]],[8],[0,\\\"preview \\\"],[1,[26,\\\"fa-icon\\\",[\\\"tasks\\\"],[[\\\"title\\\"],[\\\"preview competition\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"ToggleEditable\\\"]],[8],[0,\\\"configure \\\"],[1,[26,\\\"fa-icon\\\",[\\\"gears\\\"],[[\\\"title\\\"],[\\\"configure competition\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"competition-editor\\\",null,[[\\\"competition\\\",\\\"editing\\\",\\\"delete\\\",\\\"save\\\",\\\"attachHall\\\"],[[22,[\\\"model\\\"]],[22,[\\\"editing\\\"]],\\\"delete\\\",\\\"save\\\",\\\"attachHall\\\"]]],false],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[6,\\\"small\\\"],[8],[4,\\\"link-to\\\",[\\\"bare.competition\\\",[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"Use this link to embed this competition anywhere using an iframe\\\"]],\\\"parameters\\\":[]},null],[0,\\\".\\\"],[9],[9],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[6,\\\"small\\\"],[8],[4,\\\"link-to\\\",[\\\"widgets.fullscreen\\\",[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"View this competition full screen\\\"]],\\\"parameters\\\":[]},null],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"league-table\\\",null,[[\\\"competition\\\",\\\"interval\\\"],[[22,[\\\"model\\\"]],3600]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"editing\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"div\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"h2\\\"],[8],[0,\\\"Halls \\\"],[6,\\\"small\\\"],[8],[0,\\\"(drag onto competition)\\\"],[9],[0,\\\":\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist items\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"organisation\\\",\\\"model\\\",\\\"halls\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"hall-draggable\\\",null,[[\\\"hall\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"There are no halls\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[6,\\\"small\\\"],[8],[0,\\\"Drag halls from the list and drop them onto the competition.\\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h2\\\"],[10,\\\"class\\\",\\\"angle\\\"],[8],[0,\\\"Competitions:\\\"],[9],[0,\\\"\\\\n    \\\"],[1,[26,\\\"competitions-list\\\",null,[[\\\"route\\\",\\\"competitions\\\",\\\"isAllowed\\\",\\\"setMainCompetition\\\"],[\\\"normal.organisation.competitions.edit-competition\\\",[22,[\\\"organisation\\\",\\\"model\\\",\\\"competitions\\\"]],[22,[\\\"account\\\",\\\"canEditOrg\\\"]],\\\"setMainCompetition\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitions/edit-competition/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competitions/index/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    organisation: Ember.inject.controller('normal.organisation'),\n    advanced: false,\n    defaultModel: 'monthly',\n    sortProperties: ['isCurrent:desc', 'end_date'],\n    sortedCompetitions: Ember.computed.sort('model', 'sortProperties'),\n    buttonDisabled: Ember.computed('canCreate', function () {\n      return !this.get('canCreate');\n    }),\n    selectedCompetition: null,\n    compPeriodValid: Ember.computed('compstart', 'compend', function () {\n      var compstart = this.get('compstart');\n      var compend = this.get('compend');\n      return !Ember.isEmpty(compstart) && !Ember.isEmpty(compend) && compstart < compend;\n    }),\n    basePeriodValid: Ember.computed('basestart', 'baseend', function () {\n      var basestart = this.get('basestart');\n      var baseend = this.get('baseend');\n      return !Ember.isEmpty(basestart) && !Ember.isEmpty(baseend) && basestart < baseend;\n    }),\n    periodsValid: Ember.computed('compstart', 'baseend', function () {\n      var compstart = this.get('compstart');\n      var baseend = this.get('baseend');\n      return !Ember.isEmpty(compstart) && !Ember.isEmpty(baseend) && compstart > baseend;\n    }),\n    canCreate: Ember.computed('newName', 'compPeriodValid', 'basePeriodValid', 'periodsValid', function () {\n      var newName = this.get('newName');\n      return !Ember.isEmpty(newName) && this.get('compPeriodValid') && this.get('basePeriodValid') && this.get('periodsValid');\n    }),\n    actions: {\n      setMainCompetition: function (competition) {\n        this.get('organisation').send('setMainCompetition', competition);\n      },\n      createComp: function () {\n        var organisation = this.get('organisation.model');\n        var newName = this.get('newName');\n        var compstart = new Date(Date.parse(this.get('compstart')));\n        var compend = new Date(Date.parse(this.get('compend')));\n        var basestart = new Date(Date.parse(this.get('basestart')));\n        var baseend = new Date(Date.parse(this.get('baseend')));\n        var new_competition = this.store.createRecord('competition', {\n          name: newName,\n          organisation: organisation,\n          start_date: compstart,\n          end_date: compend,\n          default_baseline_model: this.get('defaultModel'),\n          default_baseline_start: basestart,\n          default_baseline_end: baseend\n        });\n        organisation.get('competitions').pushObject(new_competition);\n        var self = this;\n        new_competition.save().then(function () {\n          self.set('newName', null);\n          self.set('advanced', false);\n          self.set('compstart', null);\n          self.set('compend', null);\n          self.set('defaultModel', 'monthly');\n          self.set('basestart', null);\n          self.set('baseend', null);\n        });\n      },\n      toggleAdvanced() {\n        this.toggleProperty('advanced');\n      },\n      setModel(model) {\n        this.set('defaultModel', model);\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competitions/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"SKBir30W\", \"block\": \"{\\\"symbols\\\":[\\\"competition\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Manage competitions\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"h3\\\"],[8],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"innerinfo\\\"],[8],[0,\\\"main\\\"],[9],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"id\\\",\\\"placeholder\\\"],[[22,[\\\"newName\\\"]],\\\"competition_name\\\",\\\"new competition\\\"]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"newName\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"form\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"createComp\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n        \\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"legend\\\"],[8],[0,\\\"Set default baseline period:\\\"],[9],[0,\\\"\\\\n          \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compstart\\\"],[8],[0,\\\"Baseline start:\\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"date\\\",[22,[\\\"basestart\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compend\\\"],[10,\\\"class\\\",\\\"moreinfo\\\"],[8],[0,\\\"Baseline end:\\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\"],[\\\"date\\\",[22,[\\\"baseend\\\"]]]]],false],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"legend\\\"],[8],[0,\\\"Set competition period:\\\"],[9],[0,\\\"\\\\n          \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compstart\\\"],[8],[0,\\\"Start date:\\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"value\\\"],[\\\"compstart\\\",\\\"date\\\",[22,[\\\"compstart\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"compend\\\"],[10,\\\"class\\\",\\\"moreinfo\\\"],[8],[0,\\\"End date \\\"],[6,\\\"i\\\"],[10,\\\"class\\\",\\\"fa fa-info-circle\\\"],[8],[9],[0,\\\":\\\"],[6,\\\"span\\\"],[8],[0,\\\"NOTE: competition ends at 23:59 day before\\\"],[9],[9],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"value\\\"],[\\\"compend\\\",\\\"date\\\",[22,[\\\"compend\\\"]]]]],false],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"fieldset\\\"],[8],[0,\\\"\\\\n          \\\"],[6,\\\"legend\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleAdvanced\\\"]],[8],[0,\\\"\\\\n            Advanced options:\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"advanced\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[1,[26,\\\"fa-icon\\\",[\\\"caret-down\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[1,[26,\\\"fa-icon\\\",[\\\"caret-right\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"          \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"advanced\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"smalltext\\\"],[8],[0,\\\"Current baseline model: \\\"],[6,\\\"strong\\\"],[8],[1,[20,\\\"defaultModel\\\"],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n          Or select a new baseline model:\\\"],[9],[0,\\\"\\\\n          \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"nospace smalltext topmargin\\\"],[8],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"monthly\\\"]],[8],[0,\\\"Monthly\\\"],[9],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"weekday\\\"]],[8],[0,\\\"Weekday\\\"],[9],[0,\\\"\\\\n            \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"setModel\\\",\\\"daily\\\"]],[8],[0,\\\"Daily\\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[6,\\\"button\\\"],[11,\\\"disabled\\\",[20,\\\"buttonDisabled\\\"],null],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"create\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"sortedCompetitions\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"competition-item\\\",null,[[\\\"competition\\\",\\\"route\\\",\\\"setMainCompetition\\\",\\\"isAllowed\\\"],[[21,1,[]],\\\"normal.organisation.competitions.edit-competition\\\",\\\"setMainCompetition\\\",true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],null],false],[0,\\\" No competitions currently available\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[2,\\\" <h3 class=\\\\\\\"nospace bigtopmargin\\\\\\\">{{#link-to 'normal.organisation.international'}}{{fa-icon \\\\\\\"globe\\\\\\\"}} International league{{/link-to}}</h3> \\\"],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[2,\\\" TODO: the below contains nothing \\\"],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitions/index/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competitions/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('normal.organisation', this.modelFor('normal.organisation'));\n      }\n    },\n    model: function () {\n      return this.modelFor('normal.organisation').get('competitions');\n    },\n    setupController: function (controller, model) {\n      this._super(controller, model);\n      controller.set('organisation', this.modelFor('normal.organisation'));\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competitions/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"xeCjzuYr\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitions/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competitor/controller', ['exports', 'moment'], function (exports, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service()\n  });\n});","define('saves-client/pods/normal/organisation/competitor/index/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    competitor: Ember.inject.controller('normal.organisation.competitor')\n  });\n});","define('saves-client/pods/normal/organisation/competitor/index/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function () {\n      return this.modelFor('normal.organisation.competitor').get('performances');\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competitor/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"4QKn1ez+\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"performance-chart\\\",null,[[\\\"performances\\\"],[[22,[\\\"model\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"competitor\\\",\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"performance-chart\\\",null,[[\\\"performances\\\"],[[22,[\\\"model\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitor/index/template.hbs\" } });\n});","define(\"saves-client/pods/normal/organisation/competitor/loading/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"3mdmi/m9\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"\\\\n  Loading performance data...\\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitor/loading/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/competitor/table/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    actions: {\n      apply: function (stuff) {\n        let from_date = moment.utc(stuff.from_date);\n        let to_date = moment.utc(stuff.to_date);\n        let performances = this.get('model.performances');\n        performances.forEach(function (p) {\n          if (p.get('start_date') >= from_date && p.get('start_date') <= to_date) {\n            let adjustment = 0;\n            if (stuff.use_percentage) {\n              adjustment = Math.round(stuff.adjustment * p.get('target')) / 100;\n            } else {\n              adjustment = stuff.adjustment;\n            }\n            p.set('adjustment', adjustment);\n          }\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/competitor/table/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function () {\n      return this.modelFor('normal.organisation.competitor');\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/competitor/table/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"bbqx+TbE\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"editable\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"target-editor\\\",null,[[\\\"competitor\\\",\\\"apply\\\"],[[22,[\\\"model\\\"]],\\\"apply\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[1,[26,\\\"performance-table\\\",null,[[\\\"competitor\\\",\\\"international\\\",\\\"administrator\\\",\\\"editable\\\"],[[22,[\\\"model\\\"]],false,[22,[\\\"account\\\",\\\"canEditOrg\\\"]],[22,[\\\"editable\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"performance-table\\\",null,[[\\\"competitor\\\",\\\"international\\\",\\\"administrator\\\",\\\"editable\\\"],[[22,[\\\"model\\\"]],false,[22,[\\\"account\\\",\\\"canEditOrg\\\"]],[22,[\\\"editable\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitor/table/template.hbs\" } });\n});","define(\"saves-client/pods/normal/organisation/competitor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"0JsPyL9c\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist no-bottom-border\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"h2\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competition\\\",[22,[\\\"model\\\",\\\"competition\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"floatright\\\"],[8],[0,\\\"\\\\n              \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competitions.edit-competition\\\",[22,[\\\"model\\\",\\\"competition\\\"]]],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],null],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n        \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[0,\\\"\\\\n          \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"start_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\" to \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"end_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading competition\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"hall\\\",\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[4,\\\"competitor-item\\\",null,[[\\\"competitor\\\"],[[22,[\\\"model\\\"]]]],{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"live\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"small\\\"],[10,\\\"class\\\",\\\"block floatright bottommargin\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[4,\\\"link-to\\\",[\\\"normal.int\\\"],null,{\\\"statements\\\":[[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"name\\\"]],false]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"has_data\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[1,[26,\\\"savings-bar\\\",null,[[\\\"competitor\\\",\\\"competition\\\",\\\"neutralised\\\"],[[22,[\\\"model\\\"]],[22,[\\\"model\\\",\\\"competition\\\"]],[22,[\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"smalltext clear-r\\\"],[8],[0,\\\"Awaiting data\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading hall\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n        Baseline: \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_start_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\" to \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_end_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"nav\\\"],[8],[0,\\\"\\\\n      \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competitor.index\\\"],null,{\\\"statements\\\":[[0,\\\"chart\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n      \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competitor.table\\\"],null,{\\\"statements\\\":[[0,\\\"table\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"neutralised\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"nav\\\"],[8],[0,\\\"\\\\n        \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competitor.index\\\"],null,{\\\"statements\\\":[[0,\\\"chart\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n        \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competitor.table\\\"],null,{\\\"statements\\\":[[0,\\\"table\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"\\\\n  \\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"live\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[22,[\\\"model\\\",\\\"hall\\\",\\\"name\\\"]],false],[0,\\\"\\\\n    is also competing internationally in \\\"],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[6,\\\"strong\\\"],[8],[0,\\\"\\\\n      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"normal.int\\\"],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/competitor/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    session: Ember.inject.service(),\n    account: Ember.inject.service(),\n    me: Ember.computed.alias('account.currentUser'),\n    security: function () {\n      if (!this.get('session.isAuthenticated')) {\n        return { isAllowed: false, notes: \"Not logged in...\" };\n      }\n      var me = this.get('account.currentUser');\n\n      //TODO: this is wrong - me is a promise and may not be fullfilled.\n      if (me.get('administrator')) {\n        return { isAllowed: true, notes: \"Administrators are always allowed\" };\n      }\n\n      var user_id = me.get('id');\n\n      //list of users allowed to edit this org\n      var user_promises = this.get('model.organisation_users').mapBy('user'); //a list of promises\n      var promise = Ember.RSVP.Promise.all(user_promises).then(function (users) {\n        var user_id_promises = users.mapBy('id'); //a list of promises\n        return Ember.RSVP.Promise.all(user_id_promises).then(function (user_ids) {\n          //promises are resolved into actual user ids\n          var allowed = user_ids.any(function (authorised_id) {\n            return authorised_id === user_id;\n          });\n          return { isAllowed: allowed, notes: allowed ? \"Access approved for this org only\" : \"Access denied\" };\n        });\n      });\n\n      return Ember.ObjectProxy.extend(Ember.PromiseProxyMixin).create({\n        promise: promise\n      });\n    }.property('model', 'account.currentUser'),\n    otherCompetitions: function () {\n      return this.get('competitions');\n    }.property('competitions'),\n    actions: {\n      reload: function () {\n        this.set(\"logoRefresh\", +new Date());\n        this.set('logoProgress', 0);\n        this.set('editingLogo', false);\n        this.get('model').reload();\n      },\n      ToggleEditLogo: function () {\n        this.set('editingLogo', !this.get('editingLogo'));\n      },\n      ToggleShowInfo: function () {\n        var showinfo = this.get('showInfo');\n        if (showinfo) {\n          this.set('editingInfo', false);\n        }\n        this.set('showInfo', !showinfo);\n      },\n      cancelOrg: function () {\n        var model = this.get('model');\n        if (model.get('isNew')) {\n          model.deleteRecord();\n          this.transitionToRoute('index');\n        }\n      },\n      save: function () {\n        this.set('editingLogo', false);\n        if (this.get('model.isNew')) {\n          this.set('model.id', this.get('model.fullname'));\n        }\n        return true;\n      },\n      setMainCompetition: function (competition) {\n        this.get('model.competitions').forEach(function (comp) {\n          comp.set('main', false);\n        });\n        competition.set('main', true);\n        competition.save();\n        var organisation = this.get('model');\n        organisation.set(\"main_competition\", competition);\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/data/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    organisation: Ember.inject.controller('normal.organisation')\n  });\n});","define('saves-client/pods/normal/organisation/data/entity/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    organisation: Ember.inject.controller('normal.organisation')\n  });\n});","define('saves-client/pods/normal/organisation/data/entity/device/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    measurementsByMonth: function () {\n      var result = Ember.A([]);\n      this.get('model.measurements').forEach(function (measurement) {\n        var month = measurement.get('month');\n        var monthGroup = result.find(function (element) {\n          return element.get('month').format(\"MMYYYY\") === month.format(\"MMYYYY\");\n        });\n        if (!monthGroup) {\n          monthGroup = Ember.Object.create({\n            month: month,\n            contents: []\n          });\n          result.pushObject(monthGroup);\n        }\n        monthGroup.get('contents').pushObject(measurement);\n      });\n      return result.sort(function (a, b) {\n        return a.get('month') - b.get('month');\n      });\n    }.property('model.measurements.[]')\n  });\n});","define('saves-client/pods/normal/organisation/data/entity/device/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    authenticationRoute: 'normal.login',\n    model: function (params) {\n      return this.store.findRecord('device', params.device_id);\n    } //,\n    // setupController: function (controller, model) {\n    //   // Call _super for default behavior\n    //   this._super(controller, model);\n    //   // Implement your custom setup after\n    //   //this.controllerFor('application').set('showingPhotos', true);\n    //   controller.set('organisation', this.modelFor('organisation'));\n    // }\n  });\n});","define(\"saves-client/pods/normal/organisation/data/entity/device/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"tYO2mNQR\", \"block\": \"{\\\"symbols\\\":[\\\"group\\\"],\\\"statements\\\":[[6,\\\"h3\\\"],[8],[0,\\\"Device: \\\"],[1,[22,[\\\"model\\\",\\\"title\\\"]],false],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"measurements\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"strong\\\"],[8],[1,[22,[\\\"model\\\",\\\"title\\\"]],false],[9],[0,\\\" has recorded \\\"],[1,[22,[\\\"model\\\",\\\"measurement_count\\\"]],false],[0,\\\" values covering about \\\"],[1,[26,\\\"date-span\\\",[[22,[\\\"model\\\",\\\"end_date\\\"]],[22,[\\\"model\\\",\\\"start_date\\\"]]],null],false],[0,\\\".\\\\n    On average about \\\"],[1,[22,[\\\"model\\\",\\\"average_resolution\\\"]],false],[0,\\\" between readings.\\\\n    The most recent data were from about \\\"],[1,[26,\\\"from-now\\\",[[22,[\\\"model\\\",\\\"end_date\\\"]],false],null],false],[0,\\\".\\\\n    Data cover the period between \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"start_date\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\" on \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"start_date\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\" and \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"end_date\\\"]],\\\"HH:mm\\\"],null],false],[0,\\\" on \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"end_date\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\".\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"measurementsByMonth\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[26,\\\"measurement-month\\\",null,[[\\\"data\\\",\\\"month\\\"],[[21,1,[\\\"contents\\\"]],[21,1,[\\\"month\\\"]]]]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"No data\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/data/entity/device/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/data/entity/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    authenticationRoute: 'normal.login',\n    model: function (params) {\n      return this.store.findRecord('entity', params.entity_id);\n    },\n    setupController: function (controller, model) {\n      // Call _super for default behavior\n      this._super(controller, model);\n      // Implement your custom setup after\n      //this.controllerFor('application').set('showingPhotos', true);\n      let org = this.modelFor('normal.organisation');\n      let self = this;\n      model.get('devices').then(function (devices) {\n        if (devices.length === 1) {\n          self.transitionTo('normal.organisation.data.entity.device', org, model, devices.get('firstObject.id'));\n        }\n      });\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/data/entity/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"qxiolpY5\", \"block\": \"{\\\"symbols\\\":[\\\"device\\\"],\\\"statements\\\":[[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[1,[22,[\\\"model\\\",\\\"title\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"p\\\"],[10,\\\"class\\\",\\\"nospace\\\"],[8],[1,[22,[\\\"model\\\",\\\"description\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"devices\\\",\\\"isFulfilled\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"small\\\"],[8],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"earliest_complete_data\\\"]],\\\"Do MMM YYYY\\\"],null],false],[0,\\\" - \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"latest_complete_data\\\"]],\\\"Do MMM YYYY\\\"],null],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[6,\\\"nav\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"model\\\",\\\"devices\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"isLoaded\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.data.entity.device\\\",[21,1,[\\\"id\\\"]]],null,{\\\"statements\\\":[[1,[21,1,[\\\"title\\\"]],false]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" loading...\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[1]},null],[9],[0,\\\"\\\\n\\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/data/entity/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/data/index/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    organisation_controller: Ember.inject.controller('normal.organisation'),\n    organisation: Ember.computed.alias('organisation_controller.model'),\n    uploadProgress: 0,\n    actions: {\n      fileUploaded: function () {\n        this.set('uploadProgress', 0);\n        var org = this.get('organisation');\n        org.reload().then(function (new_org) {\n          new_org.get('files').reload();\n          new_org.get('entities').reload();\n        });\n      },\n      reloadFiles: function () {\n        var org = this.get('organisation');\n        org.reload().then(function (new_org) {\n          new_org.get('files').reload();\n        });\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/data/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"iqqXKAJp\", \"block\": \"{\\\"symbols\\\":[\\\"file\\\"],\\\"statements\\\":[[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"upload\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Upload data\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"Please upload your data files here.\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"small\\\"],[8],[0,\\\"The server will process files in a queue. \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"clickabletext\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"reloadFiles\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\",\\\"fixedWidth\\\"],[[22,[\\\"organisation\\\",\\\"isReloading\\\"]],true]]],false],[0,\\\"refresh\\\"],[9],[0,\\\" to watch progress.\\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist compact\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[26,\\\"file-upload\\\",null,[[\\\"url\\\",\\\"progress\\\",\\\"isUploading\\\",\\\"complete\\\"],[[22,[\\\"organisation\\\",\\\"uploadUrl\\\"]],[22,[\\\"uploadProgress\\\"]],[22,[\\\"isUploading\\\"]],\\\"fileUploaded\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"isUploading\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"br\\\"],[8],[9],[6,\\\"progress\\\"],[11,\\\"value\\\",[20,\\\"uploadProgress\\\"],null],[10,\\\"max\\\",\\\"100\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[22,[\\\"organisation\\\",\\\"files\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"file-item\\\",null,[[\\\"file\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[6,\\\"p\\\"],[8],[0,\\\"There are currently no files registered in the system (refresh page to update)\\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[6,\\\"small\\\"],[8],[0,\\\"Depending on the amount of data, uploaded files may take a few minutes before they appear.\\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/data/index/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/data/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('normal.organisation', this.modelFor('normal.organisation'));\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/data/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"P9yxhU97\", \"block\": \"{\\\"symbols\\\":[\\\"entity\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"model\\\",\\\"entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h2\\\"],[8],[0,\\\"Discovered datasets\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist items inset-top-shadow\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"organisation\\\",\\\"model\\\",\\\"entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[21,1,[\\\"isLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"normal.organisation.data.entity\\\",[21,1,[\\\"id\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"description\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"floatleft\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],[[\\\"size\\\",\\\"fixedWidth\\\"],[2,true]]],false],[9],[0,\\\"\\\\n              \\\"],[6,\\\"strong\\\"],[8],[1,[21,1,[\\\"title\\\"]],false],[9],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n              \\\"],[6,\\\"small\\\"],[8],[1,[21,1,[\\\"description\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[6,\\\"span\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"tag\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[9],[0,\\\"\\\\n              \\\"],[6,\\\"strong\\\"],[8],[1,[21,1,[\\\"title\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/data/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/halls/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    organisation: Ember.inject.controller('normal.organisation'),\n    actions: {\n      addhall: function () {\n        var organisation = this.get('organisation');\n        var newName = this.get('newName');\n        var new_hall = this.store.createRecord('hall', { name: newName, organisation: organisation });\n        organisation.get(\"halls\").unshiftObject(new_hall);\n        var self = this;\n        new_hall.save().then(function () {\n          self.set('newName', null);\n        });\n      },\n      createHallEntity: function (hall, entityId) {\n        var that = this;\n        this.store.findRecord('entity', entityId).then(function (the_entity) {\n          var new_hall_entity = that.store.createRecord('hall_entity', {\n            hall: hall,\n            entity: the_entity\n          });\n          new_hall_entity.save().then(function (saved_hall_entity) {\n            //successfully added - add to list\n            hall.get('hall_entities').pushObject(saved_hall_entity);\n          }, function (obj) {\n            alert(\"Server rejected request with the following message:\\n\\n\" + obj.responseJSON.errors[0].description);\n            new_hall_entity.deleteRecord();\n          });\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/halls/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('normal.organisation', this.modelFor('organisation'));\n      }\n    },\n    model: function () {\n      return this.modelFor('normal.organisation').get('halls');\n    },\n    setupController: function (controller, model) {\n      this._super(controller, model);\n      controller.set('organisation', this.modelFor('normal.organisation'));\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/halls/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"RGsnWCKq\", \"block\": \"{\\\"symbols\\\":[\\\"entity\\\",\\\"hall\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"building-o\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Manage halls\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist compact hall-list alpha-bottom-border\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[26,\\\"fa-icon\\\",[\\\"building-o\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"newName\\\"]],\\\"New Hall\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"newName\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"addhall\\\"]],[8],[0,\\\"Add hall\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"hall-droppable\\\",null,[[\\\"hall\\\",\\\"createHallEntity\\\"],[[21,2,[]],\\\"createHallEntity\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[6,\\\"p\\\"],[8],[0,\\\"There are currently no halls\\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"h2\\\"],[8],[0,\\\"Datasets \\\"],[6,\\\"small\\\"],[8],[0,\\\"(drag to hall)\\\"],[9],[9],[0,\\\"\\\\n      \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist items inset-top-shadow\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"organisation\\\",\\\"entities\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"entity-draggable\\\",null,[[\\\"entity\\\"],[[21,1,[]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[8],[0,\\\"No data currently available\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/halls/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/index/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service()\n  });\n});","define('saves-client/pods/normal/organisation/index/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    account: Ember.inject.service(),\n    model: function () {\n      return this.modelFor('normal.organisation').get('main_competition');\n    },\n    setupController: function (controller, model) {\n      this._super(controller, model);\n      controller.set('organisation', this.modelFor('normal.organisation'));\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Z/3C4r5C\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"setup-advice\\\",null,[[\\\"org\\\"],[[22,[\\\"organisation\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"league-table\\\",null,[[\\\"competition\\\",\\\"interval\\\"],[[22,[\\\"model\\\"]],3600]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"unless\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"h2\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[22,[\\\"organisation\\\",\\\"fullname\\\"]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[22,[\\\"organisation\\\",\\\"fullname\\\"]],false],[0,\\\" has no competitions configured at the moment.\\\\n        Contact your system administrator to find out what's going on.\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"competitions-list\\\",null,[[\\\"route\\\",\\\"competitions\\\",\\\"isAllowed\\\"],[\\\"normal.organisation.competition\\\",[22,[\\\"organisation\\\",\\\"competitions\\\"]],false]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/index/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/international-competitor/controller', ['exports'], function (exports) {\n    'use strict';\n\n    Object.defineProperty(exports, \"__esModule\", {\n        value: true\n    });\n    exports.default = Ember.Controller.extend({\n        account: Ember.inject.service()\n    });\n});","define('saves-client/pods/normal/organisation/international-competitor/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    model: function (params) {\n      return this.store.findRecord('competitor', params.competitor_id);\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/international-competitor/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"1YSSxlOH\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h3\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"live\\\"]]],null,{\\\"statements\\\":[[4,\\\"link-to\\\",[\\\"normal.int\\\"],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"model\\\",\\\"hall\\\",\\\"name\\\"]],false],[0,\\\" in \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"model\\\",\\\"hall\\\",\\\"name\\\"]],false],[0,\\\" in \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"name\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"small\\\"],[8],[0,\\\"Baseline: \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_start_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\" to \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"baseline_end_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"strong\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"name\\\"]],false],[9],[0,\\\"\\\\n    runs from\\\\n    \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"start_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\"\\\\n    to\\\\n    \\\"],[1,[26,\\\"date-formatter\\\",[[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\",\\\"end_date\\\"]],\\\"Do MMMM YYYY\\\"],null],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"h3\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"performances\\\",\\\"isSettled\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"bullseye\\\"],null],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    Consumption targets and actual\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[1,[26,\\\"performance-table\\\",null,[[\\\"competitor\\\",\\\"international\\\",\\\"administrator\\\"],[[22,[\\\"model\\\"]],[22,[\\\"model\\\",\\\"competition\\\",\\\"international_registrant\\\",\\\"international_competition\\\"]],[22,[\\\"account\\\",\\\"administrator\\\"]]]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[22,[\\\"model\\\",\\\"hall\\\",\\\"name\\\"]],false],[0,\\\"\\\\n    is also competing locally in \\\"],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.competition\\\",[22,[\\\"model\\\",\\\"competition\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"strong\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"trophy\\\"],null],false],[0,\\\" \\\"],[1,[22,[\\\"model\\\",\\\"competition\\\",\\\"name\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/international-competitor/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/international/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    organisation: Ember.inject.controller('normal.organisation'),\n    actions: {\n      registerCompetition: function (ic, competition_id) {\n        var _this = this;\n        this.store.findRecord('competition', competition_id).then(function (competition) {\n          var registrant = _this.store.createRecord('international_registrant', {\n            competition: competition,\n            international_competition: ic,\n            organisation: competition.get('organisation')\n          });\n          registrant.save().then(function () {}, function () {\n            registrant.deleteRecord();\n          });\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/international/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('organisation', this.modelFor('organisation'));\n      }\n    },\n    model: function () {\n      return this.store.query('international_competition', { open: true });\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/international/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"14o6jl7I\", \"block\": \"{\\\"symbols\\\":[\\\"international\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content padded\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"itemlist international-admin\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[8],[6,\\\"strong\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" \\\"],[1,[21,1,[\\\"name\\\"]],false],[9],[0,\\\" is open for registration\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"international-dropzone\\\",null,[[\\\"ic\\\",\\\"registerCompetition\\\"],[[21,1,[]],\\\"registerCompetition\\\"]],{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"international-registration-list\\\",null,[[\\\"ic\\\",\\\"organisation\\\"],[[21,1,[]],[22,[\\\"organisation\\\",\\\"model\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"p\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"globe\\\"],null],false],[0,\\\" No open international competitions\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"organisation\\\",\\\"model\\\",\\\"competitions\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"h2\\\"],[10,\\\"class\\\",\\\"angle\\\"],[8],[0,\\\"Competitions:\\\"],[9],[0,\\\"\\\\n    \\\"],[1,[26,\\\"competitions-list\\\",null,[[\\\"competitions\\\",\\\"draggable\\\",\\\"isAllowed\\\"],[[22,[\\\"organisation\\\",\\\"model\\\",\\\"competitions\\\"]],true,false]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/international/template.hbs\" } });\n});","define(\"saves-client/pods/normal/organisation/loading/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"0SKyX3g4\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"section\\\"],[10,\\\"class\\\",\\\"centred\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\" Loading organisation... \\\"],[1,[26,\\\"fa-icon\\\",[\\\"refresh\\\"],[[\\\"spin\\\"],[true]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/loading/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/organisation-users/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    organisation: Ember.inject.controller('normal.organisation'),\n    canCreate: function () {\n      var newFullname = this.get('newFullname');\n      var newPassword = this.get('newPassword');\n      var confirmPassword = this.get('confirmPassword');\n      if (Ember.isEmpty(newFullname) || Ember.isEmpty(newPassword)) {\n        return false;\n      } else {\n        return confirmPassword === newPassword;\n      }\n    }.property('newUsername', 'newPassword', 'confirmPassword'),\n\n    actions: {\n      createOrgUser: function () {\n        var newFullname = this.get('newFullname');\n        var newPassword = this.get('newPassword');\n        var organisation = this.get('organisation.model');\n        var new_user = this.store.createRecord('user', {\n          username: newFullname,\n          fullname: newFullname,\n          password: newPassword,\n          administrator: false\n        });\n        var self = this;\n        new_user.save().then(function (user) {\n\n          var new_org_user = self.store.createRecord('organisation_user', {\n            organisation: organisation,\n            user: user\n          });\n\n          new_org_user.save().then(function (org_user) {\n            organisation.get(\"organisation_users\").pushObject(org_user);\n            self.set('newFullname', null);\n            self.set('newPassword', null);\n            self.set('confirmPassword', null);\n          });\n        });\n      }\n    }\n  });\n});","define('saves-client/pods/normal/organisation/organisation-users/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('normal.organisation', this.modelFor('organisation'));\n      }\n    },\n    model: function () {\n      return this.modelFor('normal.organisation').get('organisation_users');\n    }\n    // setupController: function (controller, model) {\n    //   this._super(controller, model);\n    //   controller.set('organisation', this.modelFor('organisation'));\n    // }\n  });\n});","define(\"saves-client/pods/normal/organisation/organisation-users/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"WuRBIlR9\", \"block\": \"{\\\"symbols\\\":[\\\"organisation_user\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"users\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Manage users\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist users\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n        \\\"],[6,\\\"form\\\"],[10,\\\"id\\\",\\\"orguser\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"createOrgUser\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n          \\\"],[1,[26,\\\"fa-icon\\\",[\\\"user\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"newFullname\\\"]],\\\"New User\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"newFullname\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"innerinfo\\\"],[8],[1,[26,\\\"slug-preview\\\",null,[[\\\"str\\\"],[[22,[\\\"newFullname\\\"]]]]],false],[9],[0,\\\"\\\\n            \\\"],[6,\\\"br\\\"],[8],[9],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"password\\\",[22,[\\\"newPassword\\\"]],\\\"Password\\\"]]],false],[0,\\\"\\\\n            \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"password\\\",[22,[\\\"confirmPassword\\\"]],\\\"Confirm password\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"canCreate\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[6,\\\"button\\\"],[8],[0,\\\"Save\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"each\\\",[[22,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"organisation-user-item\\\",null,[[\\\"organisation-user\\\",\\\"currentUser\\\"],[[21,1,[]],[22,[\\\"account\\\",\\\"currentUser\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"li\\\"],[8],[0,\\\"There are currently no users\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/organisation-users/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/route', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend({\n    session: Ember.inject.service(),\n    account: Ember.inject.service(),\n    model: function (params) {\n      let self = this;\n      return this.store.findRecord('organisation', params.orgname).then(null, function (error) {\n        if (error.status === 401) {\n          self.transitionTo('normal.login');\n        } else {\n          self.transitionTo('normal.index');\n        }\n      });\n    },\n    afterModel: function (model) {\n      // set the organisation and get the list of users (promise will be resolved)\n      this.get('account').set('organisation', model);\n      if (this.get('session.isAuthenticated')) {\n        return this.get('account.organisation_users');\n      }\n    },\n    actions: {\n      save: function () {\n        this.modelFor('normal.organisation').save();\n      },\n      delete: function () {\n        var self = this;\n        var model = this.modelFor('normal.organisation');\n        model.one('didDelete', this, function () {\n          self.transitionTo('index');\n        });\n        if (confirm(\"Are you sure you want to delete '\" + model.get('fullname') + \"' and all attached data?\")) {\n          model.deleteRecord();\n          model.save();\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"FxTqd9di\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"context centred\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"canEditOrg\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"nav\\\"],[10,\\\"class\\\",\\\"org\\\"],[8],[0,\\\"\\\\n      \\\"],[4,\\\"link-to\\\",[\\\"normal.organisation.organisation_users\\\"],null,{\\\"statements\\\":[[0,\\\"users\\\"]],\\\"parameters\\\":[]},null],[4,\\\"link-to\\\",[\\\"normal.organisation.halls\\\"],null,{\\\"statements\\\":[[0,\\\"halls\\\"]],\\\"parameters\\\":[]},null],[4,\\\"link-to\\\",[\\\"normal.organisation.data\\\"],null,{\\\"statements\\\":[[0,\\\"data\\\"]],\\\"parameters\\\":[]},null],[4,\\\"link-to\\\",[\\\"normal.organisation.competitions\\\"],null,{\\\"statements\\\":[[0,\\\"competitions\\\"]],\\\"parameters\\\":[]},null],[4,\\\"link-to\\\",[\\\"normal.organisation.tips\\\"],null,{\\\"statements\\\":[[0,\\\"tips\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[1,[26,\\\"organisation-item\\\",null,[[\\\"organisation\\\",\\\"editable\\\",\\\"tagName\\\",\\\"refresh\\\"],[[22,[\\\"model\\\"]],[22,[\\\"account\\\",\\\"canEditOrg\\\"]],\\\"div\\\",[22,[\\\"logoRefresh\\\"]]]]],false],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"we_need_delete_org\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"session\\\",\\\"user\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"button\\\"],[10,\\\"id\\\",\\\"delete_btn\\\"],[11,\\\"disabled\\\",[22,[\\\"model\\\",\\\"isNew\\\"]],null],[3,\\\"action\\\",[[21,0,[]],[22,[\\\"delete\\\"]]]],[8],[0,\\\"Delete \\\"],[1,[22,[\\\"model\\\",\\\"fullname\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"tips\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"tip-viewer\\\",null,[[\\\"organisation\\\",\\\"interval\\\",\\\"rotate\\\",\\\"controls\\\"],[[22,[\\\"model\\\"]],8000,true,true]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\\n\\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/template.hbs\" } });\n});","define('saves-client/pods/normal/organisation/tips/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.canEditOrg')) {\n        this.transitionTo('normal.organisation', this.modelFor('organisation'));\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/organisation/tips/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"eQhn/qNM\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"angle-double\\\",null,null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"fa-icon\\\",[\\\"lightbulb-o\\\"],[[\\\"fixedWidth\\\"],[true]]],false],[0,\\\"Manage tips\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"  \\\"],[1,[26,\\\"tip-list\\\",null,[[\\\"organisation\\\"],[[22,[\\\"model\\\"]]]]],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/organisation/tips/template.hbs\" } });\n});","define('saves-client/pods/normal/orgs-status/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    sortedOrganisations: Ember.computed.sort('model', 'orgSorting'),\n    filter: '',\n    orgSorting: ['fullname'],\n    upload_warning: 14,\n    filteredOrganisations: Ember.computed.filter('sortedOrganisations', function (org) {\n      let name = org.get('fullname').toLowerCase();\n      return name.indexOf(this.get('filter').toLowerCase()) >= 0;\n    }).property('filter', 'sortedOrganisations.@each.fullname')\n  });\n});","define('saves-client/pods/normal/orgs-status/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.administrator')) {\n        this.transitionTo('normal.index');\n      }\n    },\n    model: function () {\n      return this.store.findAll('organisation-summary');\n    },\n    afterModel: function () {\n      var self = this;\n      return this.store.findAll('customer_group').then(function (result) {\n        self.set('customer_groups', result);\n      });\n    },\n    setupController: function (controller, model) {\n      this._super(controller, model);\n      controller.set('customer_groups', this.get('customer_groups'));\n    }\n  });\n});","define(\"saves-client/pods/normal/orgs-status/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"Pk0gGUXj\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"university\\\"],null],false],[0,\\\" Universities summary\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n      \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"filter\\\"],[8],[0,\\\"filter:\\\"],[9],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"filter\\\",[22,[\\\"filter\\\"]],\\\"filter by name\\\"]]],false],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"filter\\\"]]],null,{\\\"statements\\\":[[0,\\\"        Found \\\"],[1,[22,[\\\"filteredOrganisations\\\",\\\"length\\\"]],false],[0,\\\" organisations matching your filter.\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        There are \\\"],[1,[22,[\\\"filteredOrganisations\\\",\\\"length\\\"]],false],[0,\\\" organisations.\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"    \\\"],[9],[0,\\\"\\\\n    \\\"],[1,[26,\\\"org-summary-table\\\",null,[[\\\"orgs\\\",\\\"upload_warning\\\",\\\"customer_groups\\\"],[[22,[\\\"filteredOrganisations\\\"]],[22,[\\\"upload_warning\\\"]],[22,[\\\"customer_groups\\\"]]]]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"label\\\"],[10,\\\"for\\\",\\\"upload_warning\\\"],[8],[0,\\\"Highlight when no data for \\\"],[9],[1,[26,\\\"input\\\",null,[[\\\"id\\\",\\\"type\\\",\\\"value\\\"],[\\\"upload_warning\\\",\\\"number\\\",[22,[\\\"upload_warning\\\"]]]]],false],[0,\\\" days\\\"],[6,\\\"br\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"context\\\"],[8],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"h3\\\"],[8],[4,\\\"link-to\\\",[\\\"normal.new_org\\\"],null,{\\\"statements\\\":[[1,[26,\\\"fa-icon\\\",[\\\"university\\\"],null],false],[0,\\\" Create new university\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/orgs-status/template.hbs\" } });\n});","define(\"saves-client/pods/normal/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"RhUIL043\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[1,[26,\\\"site-header\\\",null,[[\\\"administrator\\\"],[[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]]]],false],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"main\\\"],[10,\\\"role\\\",\\\"main\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[6,\\\"footer\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"figure\\\"],[10,\\\"class\\\",\\\"inlineblock floatleft\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"img\\\"],[10,\\\"class\\\",\\\"inlineblock floatleft\\\"],[10,\\\"src\\\",\\\"/assets/images/iee-horizontal_en.png\\\"],[10,\\\"alt\\\",\\\"European Union logo\\\"],[10,\\\"height\\\",\\\"41\\\"],[10,\\\"width\\\",\\\"62\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[6,\\\"figcaption\\\"],[10,\\\"class\\\",\\\"textleft inlineblock logocaption\\\"],[8],[0,\\\"\\\\n      Co-funded by the Horizon 2020 Framework\\\"],[6,\\\"br\\\"],[8],[9],[0,\\\"Programme of the European Union\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"nav\\\"],[10,\\\"class\\\",\\\"floatright inlineblock\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,{\\\"statements\\\":[[0,\\\"    logged in as '\\\"],[1,[22,[\\\"account\\\",\\\"currentUser\\\",\\\"fullname\\\"]],false],[0,\\\"'\\\\n    \\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\" (administrator)\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[6,\\\"a\\\"],[10,\\\"href\\\",\\\"#\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"invalidateSession\\\"]],[8],[0,\\\"Logout\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[4,\\\"link-to\\\",[\\\"normal.login\\\"],null,{\\\"statements\\\":[[0,\\\"Login\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/template.hbs\" } });\n});","define('saves-client/pods/normal/users/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    sortedUsers: Ember.computed.sort('model', 'sortProperties'),\n    sortProperties: ['fullname']\n  });\n});","define('saves-client/pods/normal/users/index/controller', ['exports', 'saves-client/utils/slug'], function (exports, _slug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    account: Ember.inject.service(),\n    session: Ember.inject.service(),\n    actions: {\n      createAdminUser: function () {\n        var newFullname = this.get('newFullname');\n        var new_user = this.store.createRecord('user', {\n          id: (0, _slug.default)(newFullname),\n          username: (0, _slug.default)(newFullname),\n          fullname: newFullname,\n          administrator: true\n        });\n        this.set('newFullname', null);\n        this.transitionToRoute('user', new_user.id);\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/users/index/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"ZZFogn6T\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"padded\\\"],[8],[0,\\\"\\\\n\\\"],[6,\\\"h2\\\"],[8],[1,[26,\\\"fa-icon\\\",[\\\"users\\\"],null],false],[0,\\\" Administrative Users\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"p\\\"],[8],[0,\\\"Administrative users have access to all organisations including the ability to create new ones and and delete existing ones\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"account\\\",\\\"currentUser\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[6,\\\"strong\\\"],[8],[0,\\\"Add new administrative user: \\\"],[9],[1,[26,\\\"fa-icon\\\",[\\\"user\\\"],null],false],[0,\\\" \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"newFullname\\\"]],\\\"Full name\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"newFullname\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"createAdminUser\\\"]],[8],[0,\\\"Create\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/users/index/template.hbs\" } });\n});","define('saves-client/pods/normal/users/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    account: Ember.inject.service(),\n    authenticationRoute: 'normal.login',\n    beforeModel: function () {\n      if (!this.get('account.administrator')) {\n        this.transitionTo('normal.index');\n      }\n    },\n    model: function () {\n      return this.store.findAll('user');\n    }\n  });\n});","define(\"saves-client/pods/normal/users/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"cUxscp/z\", \"block\": \"{\\\"symbols\\\":[\\\"user\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"content\\\"],[8],[0,\\\"\\\\n  \\\"],[1,[20,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"context\\\"],[8],[9],[0,\\\"\\\\n\\\"],[6,\\\"div\\\"],[10,\\\"class\\\",\\\"sidebar\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"ul\\\"],[10,\\\"class\\\",\\\"itemlist users\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"sortedUsers\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[21,1,[\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"li\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"link-to\\\",[\\\"normal.users.user\\\",[21,1,[\\\"id\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[26,\\\"fa-icon\\\",[\\\"user\\\"],null],false],[0,\\\" \\\"],[1,[21,1,[\\\"fullname\\\"]],false],[4,\\\"if\\\",[[21,1,[\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\" (new)\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[1]},null],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/users/template.hbs\" } });\n});","define('saves-client/pods/normal/users/user/controller', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Controller.extend({\n    session: Ember.inject.service(),\n    editing: false,\n    password_check: null,\n    password_provided: Ember.computed.bool('model.password'),\n    passwords_match: Ember.computed('model.password', 'password_check', function () {\n      return this.get('model.password') === this.get('password_check');\n    }),\n    passwords_ok: Ember.computed.and('password_provided', 'passwords_match'),\n    passwords_not_ok: Ember.computed.not('passwords_ok'),\n    actions: {\n      toggleEdit: function () {\n        this.set('editing', !this.get('editing'));\n      },\n      cancelUser: function () {\n        var model = this.get('model');\n        this.set('editing', false);\n        this.set('password_check', null);\n        if (model.get('isNew')) {\n          model.deleteRecord();\n          this.transitionToRoute('users');\n        } else {\n          model.rollbackAttributes();\n        }\n      },\n      save: function () {\n        if (this.get('passwords_ok')) {\n          this.set('password_check', null);\n          this.set('editing', false);\n          return true;\n        } else {\n          if (this.get('password_provided')) {\n            alert('Provided passwords do not match');\n          } else {\n            alert('No password provided');\n          }\n          this.set('model.password', null);\n          this.set('password_check', null);\n          return false;\n        }\n      }\n    }\n  });\n});","define('saves-client/pods/normal/users/user/route', ['exports', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _authenticatedRouteMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n    model: function (params) {\n      return this.store.findRecord('user', params.username);\n    },\n    actions: {\n      save: function () {\n        var model = this.modelFor('normal.users.user');\n        model.save();\n      },\n      delete: function () {\n        var self = this;\n        var model = this.modelFor('normal.users.user');\n        model.one('didDelete', this, function () {\n          self.transitionTo('users');\n        });\n        if (confirm(\"Are you sure you want to delete '\" + model.get('fullname') + \"'?\")) {\n          model.deleteRecord();\n          model.save();\n        }\n      }\n    }\n  });\n});","define(\"saves-client/pods/normal/users/user/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"mqnjenuJ\", \"block\": \"{\\\"symbols\\\":[\\\"organisationUser\\\"],\\\"statements\\\":[[6,\\\"div\\\"],[10,\\\"class\\\",\\\"editable padded\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[26,\\\"or\\\",[[22,[\\\"editing\\\"]],[22,[\\\"model\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"clickabletext floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEdit\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"times\\\"],[[\\\"title\\\"],[\\\"cancel\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"clickabletext floatright\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"toggleEdit\\\"]],[8],[1,[26,\\\"fa-icon\\\",[\\\"pencil\\\"],[[\\\"title\\\"],[\\\"edit user\\\"]]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[6,\\\"h2\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[26,\\\"or\\\",[[22,[\\\"editing\\\"]],[22,[\\\"model\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"input\\\",null,[[\\\"value\\\",\\\"placeholder\\\"],[[22,[\\\"model\\\",\\\"fullname\\\"]],\\\"Enter full name\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[1,[22,[\\\"model\\\",\\\"fullname\\\"]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[26,\\\"or\\\",[[22,[\\\"editing\\\"]],[22,[\\\"model\\\",\\\"isNew\\\"]]],null]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"password\\\",[22,[\\\"model\\\",\\\"password\\\"]],\\\"password\\\"]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"password\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"placeholder\\\"],[\\\"password\\\",[22,[\\\"password_check\\\"]],\\\"repeat password\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\n  \\\"],[6,\\\"span\\\"],[10,\\\"class\\\",\\\"innerinfo\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"      (username: \\\"],[1,[26,\\\"slug-preview\\\",[[22,[\\\"model\\\",\\\"fullname\\\"]]],null],false],[0,\\\")\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      (username: \\\"],[1,[22,[\\\"model\\\",\\\"id\\\"]],false],[0,\\\")\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"  \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"administrator\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"fullname\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[1,[22,[\\\"model\\\",\\\"fullname\\\"]],false],[0,\\\" is\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        This user will be\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"      an administrator and has access to all organisations.\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"p\\\"],[8],[1,[22,[\\\"model\\\",\\\"fullname\\\"]],false],[0,\\\" has access to the following organisations:\\\"],[9],[0,\\\"\\\\n    \\\"],[6,\\\"ul\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[22,[\\\"model\\\",\\\"organisation_users\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"li\\\"],[8],[1,[21,1,[\\\"organisation\\\",\\\"fullname\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"hasDirtyAttributes\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"fullname\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"button\\\"],[11,\\\"disabled\\\",[20,\\\"passwords_not_ok\\\"],null],[10,\\\"class\\\",\\\"smallbutton\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"Create\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"        \\\"],[6,\\\"button\\\"],[11,\\\"disabled\\\",[20,\\\"passwords_not_ok\\\"],null],[10,\\\"class\\\",\\\"smallbutton\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"save\\\"]],[8],[0,\\\"Save\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",\\\"smallbutton\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"cancelUser\\\"]],[8],[0,\\\"Cancel\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[22,[\\\"model\\\",\\\"isNew\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[6,\\\"button\\\"],[10,\\\"class\\\",\\\"smallbutton\\\"],[3,\\\"action\\\",[[21,0,[]],\\\"delete\\\"]],[8],[0,\\\"Delete\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/normal/users/user/template.hbs\" } });\n});","define(\"saves-client/pods/widgets/fullscreen/template\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.HTMLBars.template({ \"id\": \"43k4G9sB\", \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[6,\\\"main\\\"],[10,\\\"class\\\",\\\"widescreen\\\"],[8],[0,\\\"\\\\n  \\\"],[6,\\\"section\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[26,\\\"league-table\\\",null,[[\\\"competition\\\",\\\"link\\\",\\\"interval\\\"],[[22,[\\\"model\\\"]],\\\"bare.competitor\\\",3600]]],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[6,\\\"section\\\"],[8],[0,\\\"\\\\n    \\\"],[6,\\\"img\\\"],[10,\\\"src\\\",\\\"/assets/images/sso-logo-large.png\\\"],[10,\\\"alt\\\",\\\"NUS logo\\\"],[10,\\\"class\\\",\\\"logo-large\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[1,[26,\\\"organisation-item\\\",null,[[\\\"organisation\\\"],[[22,[\\\"model\\\",\\\"organisation\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[22,[\\\"model\\\",\\\"organisation\\\",\\\"tips\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[1,[26,\\\"tip-viewer\\\",null,[[\\\"organisation\\\",\\\"interval\\\",\\\"rotate\\\",\\\"controls\\\"],[[22,[\\\"model\\\",\\\"organisation\\\"]],8000,true,false]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\", \"meta\": { \"moduleName\": \"saves-client/pods/widgets/fullscreen/template.hbs\" } });\n});","define('saves-client/resolver', ['exports', 'ember-resolver'], function (exports, _emberResolver) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberResolver.default;\n});","define('saves-client/router', ['exports', 'saves-client/config/environment'], function (exports, _environment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  const Router = Ember.Router.extend({\n    location: _environment.default.locationType,\n    rootURL: _environment.default.rootURL\n  });\n\n  Router.map(function () {\n    this.route('normal', { path: '/' }, function () {\n      this.route('int');\n      this.route('login');\n      this.route('new_org', { path: '/organisations/new' });\n      this.route('orgs_status', { path: '/organisations/status' });\n      this.route('users', function () {\n        this.route('user', { path: '/:username' });\n      });\n      this.route('international', function () {\n        this.route('new');\n        this.route('show', { path: '/:ic_id' });\n      });\n      this.route('organisation', { path: '/:orgname' }, function () {\n        this.route('competition', { path: 'competition/:competition_id' });\n        this.route('competitions', function () {\n          this.route('competition', { path: '/:competition_id' });\n          this.route('edit-competition', { path: '/:competition_id/edit' });\n        });\n        this.route('international', { path: '/competitions/international' });\n        this.route('competitor', { path: '/competitors/:competitor_id' }, function () {\n          this.route('table');\n        });\n        this.route('international-competitor', { path: '/international-competitors/:competitor_id' });\n        // this.resource('hall', {path: '/halls/:hall_id'});\n        this.route('data', function () {\n          this.route('entity', { path: '/:entity_id' }, function () {\n            this.route('device', { path: '/:device_id' });\n          });\n        });\n        this.route('halls');\n        this.route('organisation_users', { path: '/users' });\n        this.route('tips');\n      });\n      this.route('bad_url', { path: '/*badurl' }); // Catch everything else!\n    });\n    this.route('bare', { path: '/iframe' }, function () {\n      this.route('competition', { path: '/competition/:competition_id' });\n      this.route('competitor', { path: '/competitor/:competitor_id' });\n      this.route('international-competition', { path: '/international/:ic_id' });\n    });\n    this.route('widgets', function () {\n      this.route('fullscreen', { path: '/fullscreen/competition/:competition_id' });\n    });\n  });\n\n  exports.default = Router;\n});","define('saves-client/routes/application', ['exports'], function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  const { Route } = Ember;\n\n  // Ensure the application route exists for ember-simple-auth's `setup-session-restoration` initializer\n  exports.default = Route.extend();\n});","define('saves-client/services/account', ['exports', 'ember-data'], function (exports, _emberData) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = Ember.Service.extend({\n    session: Ember.inject.service(),\n    store: Ember.inject.service(),\n    organisation: null,\n    currentUser: Ember.computed('session.data.authenticated.user_id', function () {\n      const user_id = this.get('session.data.authenticated.user_id');\n      if (!Ember.isEmpty(user_id)) {\n        return _emberData.default.PromiseObject.create({\n          promise: this.get('store').find('user', user_id)\n        });\n      }\n    }),\n    organisation_users: Ember.computed.alias('organisation.organisation_users'),\n    users: Ember.computed.mapBy('organisation_users', 'user'),\n    user_ids: Ember.computed.mapBy('users', 'username'),\n    is_org_user: Ember.computed('user_ids', 'session.data.authenticated.user_id', function () {\n      return this.get('user_ids').includes(this.get('session.data.authenticated.user_id'));\n    }),\n    canEditOrg: Ember.computed('session.isAuthenticated', 'currentUser.administrator', 'is_org_user', function () {\n      if (!this.get('session.isAuthenticated')) {\n        return false;\n      }\n      if (this.get('currentUser.administrator')) {\n        return true;\n      }\n      return this.get('is_org_user');\n    }),\n    administrator: Ember.computed.alias('currentUser.administrator')\n  });\n});","define('saves-client/services/ajax', ['exports', 'ember-ajax/services/ajax'], function (exports, _ajax) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function () {\n      return _ajax.default;\n    }\n  });\n});","define('saves-client/services/cookies', ['exports', 'ember-cookies/services/cookies'], function (exports, _cookies) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _cookies.default;\n});","define('saves-client/services/moment', ['exports', 'saves-client/config/environment', 'ember-moment/services/moment'], function (exports, _environment, _moment) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _moment.default.extend({\n    defaultFormat: Ember.get(_environment.default, 'moment.outputFormat')\n  });\n});","define('saves-client/services/session', ['exports', 'ember-simple-auth/services/session'], function (exports, _session) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _session.default;\n});","define('saves-client/session-stores/application', ['exports', 'ember-simple-auth/session-stores/adaptive'], function (exports, _adaptive) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _adaptive.default.extend();\n});","define(\"saves-client/transforms/isodate\", [\"exports\", \"ember-data\", \"moment\"], function (exports, _emberData, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = _emberData.default.Transform.extend({\n    // The deserialize function just transforms the string it receives from the\n    // server JSON response into a date.\n    deserialize: function (serialized) {\n      if (serialized) {\n        return _moment.default.utc(serialized); //.toDate();\n      }\n      return null;\n    },\n    //The serialize function takes the value of the attribute on the model and\n    //transforms it into a nice ISO date to send to our server.\n    serialize: function (deserialized) {\n      if (deserialized) {\n        return _moment.default.utc(deserialized).toISOString();\n      }\n    }\n  });\n});","define(\"saves-client/utils/slug\", [\"exports\"], function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = slug;\n  function slug(str) {\n    if (!str) {\n      return;\n    }\n    str = str.replace(/^\\s+|\\s+$/g, ''); // trim\n    str = str.toLowerCase();\n    // remove accents, swap ñ for n, etc\n    var from = \"ãàáäâẽèéëêìíïîõòóöôùúüûñç·/_,:;\";\n    var to = \"aaaaaeeeeeiiiiooooouuuunc------\";\n    for (var i = 0, l = from.length; i < l; i++) {\n      str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));\n    }\n    str = str.replace(/[^a-z0-9 -]/g, '-') // remove invalid chars\n    .replace(/\\s+/g, '-') // collapse whitespace and replace by -\n    .replace(/-+/g, '-'); // collapse dashes\n    return str;\n  }\n});","\n","define('saves-client/config/environment', [], function() {\n  var prefix = 'saves-client';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(unescape(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","if (!runningTests) {\n  require(\"saves-client/app\")[\"default\"].create({\"API_NAMESPACE\":\"api\",\"API_HOST\":\"https://switchoff.ecovisum.uk\",\"name\":\"saves-client\",\"version\":\"1.2.0+f57aff9c\"});\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;","file":"saves-client.js"}