{"version":3,"sources":["vendor/ember-cli/app-prefix.js","dummy/app.js","dummy/controllers/application.js","dummy/feature-flag-manager/tests/modules/feature-flag-manager/feature-factory.jshint.js","dummy/initializers/app-version.js","dummy/initializers/export-application-global.js","dummy/initializers/load-feature-flags.js","dummy/router.js","dummy/routes/applications.js","dummy/templates/application.js","dummy/tests/app.jshint.js","dummy/tests/controllers/application.jshint.js","dummy/tests/helpers/resolver.js","dummy/tests/helpers/resolver.jshint.js","dummy/tests/helpers/start-app.js","dummy/tests/helpers/start-app.jshint.js","dummy/tests/router.jshint.js","dummy/tests/routes/applications.jshint.js","dummy/tests/test-helper.js","dummy/tests/test-helper.jshint.js","dummy/tests/unit/initializers/load-feature-flags-test.js","dummy/tests/unit/initializers/load-feature-flags-test.jshint.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["/* jshint ignore:start */\n\n/* jshint ignore:end */\n","define('dummy/app', ['exports', 'ember', 'ember/resolver', 'ember/load-initializers', 'dummy/config/environment'], function (exports, Ember, Resolver, loadInitializers, config) {\n\n  'use strict';\n\n  Ember['default'].MODEL_FACTORY_INJECTIONS = true;\n\n  var App = Ember['default'].Application.extend({\n    modulePrefix: config['default'].modulePrefix,\n    podModulePrefix: config['default'].podModulePrefix,\n    Resolver: Resolver['default']\n  });\n\n  loadInitializers['default'](App, config['default'].modulePrefix);\n\n  exports['default'] = App;\n\n});","define('dummy/controllers/application', ['exports', 'ember', 'feature-flag-manager/feature-factory'], function (exports, Ember, FeatureFactory) {\n\n  'use strict';\n\n  exports['default'] = Ember['default'].Controller.extend({\n    testPrint: \"hi there ...\",\n    init: function init() {\n      this._super.apply(this, arguments);\n      var self = this;\n      setTimeout(function () {\n        console.log(\"start of promise function exec before\", self.featureFlags, FeatureFactory['default'].settings);\n\n        FeatureFactory['default'].disable(\"noLogin\");\n\n        console.log(\"start of promise function exec after\", FeatureFactory['default'].isEnabled(\"noLogin\"), self.featureFlags.get(\"noLogin\"));\n\n        setTimeout(function () {\n\n          FeatureFactory['default'].enable(\"search\");\n          FeatureFactory['default'].enable(\"noLogin\");\n\n          console.log(\"start of promise function exec inner timer\", FeatureFactory['default'].isEnabled(\"search\"), self.featureFlags.get(\"search\"));\n        }, 1500);\n      }, 2500);\n    }\n  });\n\n});","define('dummy/feature-flag-manager/tests/modules/feature-flag-manager/feature-factory.jshint', function () {\n\n  'use strict';\n\n  module(\"JSHint - modules/feature-flag-manager\");\n  test(\"modules/feature-flag-manager/feature-factory.js should pass jshint\", function () {\n    ok(true, \"modules/feature-flag-manager/feature-factory.js should pass jshint.\");\n  });\n\n});","define('dummy/initializers/app-version', ['exports', 'dummy/config/environment', 'ember'], function (exports, config, Ember) {\n\n  'use strict';\n\n  var classify = Ember['default'].String.classify;\n  var registered = false;\n\n  exports['default'] = {\n    name: \"App Version\",\n    initialize: function initialize(container, application) {\n      if (!registered) {\n        var appName = classify(application.toString());\n        Ember['default'].libraries.register(appName, config['default'].APP.version);\n        registered = true;\n      }\n    }\n  };\n\n});","define('dummy/initializers/export-application-global', ['exports', 'ember', 'dummy/config/environment'], function (exports, Ember, config) {\n\n  'use strict';\n\n  exports.initialize = initialize;\n\n  function initialize(container, application) {\n    var classifiedName = Ember['default'].String.classify(config['default'].modulePrefix);\n\n    if (config['default'].exportApplicationGlobal && !window[classifiedName]) {\n      window[classifiedName] = application;\n    }\n  }\n\n  ;\n\n  exports['default'] = {\n    name: \"export-application-global\",\n\n    initialize: initialize\n  };\n\n});","define('dummy/initializers/load-feature-flags', ['exports', 'feature-flag-manager/feature-factory'], function (exports, FFactory) {\n\n  'use strict';\n\n  exports.initialize = initialize;\n\n  function initialize(container, application) {\n\n    // this creates an instance which is assumed to be a singleton.\n    new FFactory['default'](application);\n\n    console.log(\"check values\", application);\n\n    //this is always a boolean based variable\n    var flagServiceName = /* config.featureFlagsService || */\"featureFlags\";\n\n    //this is any data\n    var dataServiceName = /* config.featureFlagsService || */\"featureSettings\";\n\n    application.register(\"features:flags\", FFactory['default'].flags, { instantiate: false });\n    application.register(\"features:settings\", FFactory['default'].settings, { instantiate: false });\n\n    application.inject(\"route\", flagServiceName, \"features:flags\");\n    application.inject(\"route\", dataServiceName, \"features:settings\");\n    application.inject(\"controller\", flagServiceName, \"features:flags\");\n    application.inject(\"controller\", dataServiceName, \"features:settings\");\n    application.inject(\"component\", flagServiceName, \"features:flags\");\n    application.inject(\"component\", dataServiceName, \"features:settings\");\n\n    // inject a factory named \"application:main\" into all factories of type \"features:flags\" and\n    // name the injected factory \"application\"\n    application.inject(\"features:flags\", \"application\", \"application:main\");\n    application.inject(\"features:settings\", \"application\", \"application:main\");\n  }\n\n  exports['default'] = {\n    name: \"load-feature-flags\",\n    initialize: initialize\n  };\n\n});","define('dummy/router', ['exports', 'ember', 'dummy/config/environment'], function (exports, Ember, config) {\n\n  'use strict';\n\n  var Router = Ember['default'].Router.extend({\n    location: config['default'].locationType\n  });\n\n  exports['default'] = Router.map(function () {});\n\n});","define('dummy/routes/applications', ['exports', 'ember'], function (exports, Ember) {\n\n  'use strict';\n\n  exports['default'] = Ember['default'].Route.extend({\n    beforeModel: function beforeModel() {\n      console.log(\"application injection check [ route - beforeModel ]\", this.featureFlags, this.get(\"featureFlags\"));\n    },\n\n    model: function model() {\n      console.log(\"application injection check [ route - model ]\", this.featureFlags, this.get(\"featureFlags\"));\n      return {};\n    },\n\n    setupController: function setupController(controller) {\n      this._super.apply(this, arguments);\n      controller.set(\"testFeature\", \"why don't you work ??\");\n      console.log(\"hi there!\");\n    }\n  });\n\n});","define('dummy/templates/application', ['exports'], function (exports) {\n\n  'use strict';\n\n  exports['default'] = Ember.HTMLBars.template((function() {\n    var child0 = (function() {\n      return {\n        isHTMLBars: true,\n        revision: \"Ember@1.11.0\",\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createTextNode(\"noLogin is true\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (env.useFragmentCache && dom.canClone) {\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n          } else {\n            fragment = this.build(dom);\n          }\n          return fragment;\n        }\n      };\n    }());\n    var child1 = (function() {\n      return {\n        isHTMLBars: true,\n        revision: \"Ember@1.11.0\",\n        blockParams: 0,\n        cachedFragment: null,\n        hasRendered: false,\n        build: function build(dom) {\n          var el0 = dom.createDocumentFragment();\n          var el1 = dom.createTextNode(\"noLogin is false\\n\");\n          dom.appendChild(el0, el1);\n          return el0;\n        },\n        render: function render(context, env, contextualElement) {\n          var dom = env.dom;\n          dom.detectNamespace(contextualElement);\n          var fragment;\n          if (env.useFragmentCache && dom.canClone) {\n            if (this.cachedFragment === null) {\n              fragment = this.build(dom);\n              if (this.hasRendered) {\n                this.cachedFragment = fragment;\n              } else {\n                this.hasRendered = true;\n              }\n            }\n            if (this.cachedFragment) {\n              fragment = dom.cloneNode(this.cachedFragment, true);\n            }\n          } else {\n            fragment = this.build(dom);\n          }\n          return fragment;\n        }\n      };\n    }());\n    return {\n      isHTMLBars: true,\n      revision: \"Ember@1.11.0\",\n      blockParams: 0,\n      cachedFragment: null,\n      hasRendered: false,\n      build: function build(dom) {\n        var el0 = dom.createDocumentFragment();\n        var el1 = dom.createElement(\"h2\");\n        var el2 = dom.createTextNode(\"Tutorial on creating amber addon\");\n        dom.appendChild(el1, el2);\n        dom.appendChild(el0, el1);\n        var el1 = dom.createTextNode(\"\\n\");\n        dom.appendChild(el0, el1);\n        var el1 = dom.createElement(\"p\");\n        var el2 = dom.createTextNode(\"\\n\");\n        dom.appendChild(el1, el2);\n        var el2 = dom.createComment(\"\");\n        dom.appendChild(el1, el2);\n        dom.appendChild(el0, el1);\n        var el1 = dom.createTextNode(\"\\n\");\n        dom.appendChild(el0, el1);\n        var el1 = dom.createElement(\"p\");\n        var el2 = dom.createTextNode(\"search is \");\n        dom.appendChild(el1, el2);\n        var el2 = dom.createComment(\"\");\n        dom.appendChild(el1, el2);\n        dom.appendChild(el0, el1);\n        var el1 = dom.createTextNode(\"\\n\");\n        dom.appendChild(el0, el1);\n        var el1 = dom.createComment(\"\");\n        dom.appendChild(el0, el1);\n        var el1 = dom.createTextNode(\"\\n\");\n        dom.appendChild(el0, el1);\n        return el0;\n      },\n      render: function render(context, env, contextualElement) {\n        var dom = env.dom;\n        var hooks = env.hooks, get = hooks.get, block = hooks.block, content = hooks.content;\n        dom.detectNamespace(contextualElement);\n        var fragment;\n        if (env.useFragmentCache && dom.canClone) {\n          if (this.cachedFragment === null) {\n            fragment = this.build(dom);\n            if (this.hasRendered) {\n              this.cachedFragment = fragment;\n            } else {\n              this.hasRendered = true;\n            }\n          }\n          if (this.cachedFragment) {\n            fragment = dom.cloneNode(this.cachedFragment, true);\n          }\n        } else {\n          fragment = this.build(dom);\n        }\n        var morph0 = dom.createMorphAt(dom.childAt(fragment, [2]),1,1);\n        var morph1 = dom.createMorphAt(dom.childAt(fragment, [4]),1,1);\n        var morph2 = dom.createMorphAt(fragment,6,6,contextualElement);\n        block(env, morph0, context, \"if\", [get(env, context, \"featureFlags.noLogin\")], {}, child0, child1);\n        content(env, morph1, context, \"featureFlags.search\");\n        content(env, morph2, context, \"outlet\");\n        return fragment;\n      }\n    };\n  }()));\n\n});","define('dummy/tests/app.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - .');\n  test('app.js should pass jshint', function() { \n    ok(true, 'app.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/controllers/application.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - controllers');\n  test('controllers/application.js should pass jshint', function() { \n    ok(true, 'controllers/application.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/helpers/resolver', ['exports', 'ember/resolver', 'dummy/config/environment'], function (exports, Resolver, config) {\n\n  'use strict';\n\n  var resolver = Resolver['default'].create();\n\n  resolver.namespace = {\n    modulePrefix: config['default'].modulePrefix,\n    podModulePrefix: config['default'].podModulePrefix\n  };\n\n  exports['default'] = resolver;\n\n});","define('dummy/tests/helpers/resolver.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - helpers');\n  test('helpers/resolver.js should pass jshint', function() { \n    ok(true, 'helpers/resolver.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/helpers/start-app', ['exports', 'ember', 'dummy/app', 'dummy/router', 'dummy/config/environment'], function (exports, Ember, Application, Router, config) {\n\n  'use strict';\n\n\n\n  exports['default'] = startApp;\n  function startApp(attrs) {\n    var application;\n\n    var attributes = Ember['default'].merge({}, config['default'].APP);\n    attributes = Ember['default'].merge(attributes, attrs); // use defaults, but you can override;\n\n    Ember['default'].run(function () {\n      application = Application['default'].create(attributes);\n      application.setupForTesting();\n      application.injectTestHelpers();\n    });\n\n    return application;\n  }\n\n});","define('dummy/tests/helpers/start-app.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - helpers');\n  test('helpers/start-app.js should pass jshint', function() { \n    ok(true, 'helpers/start-app.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/router.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - .');\n  test('router.js should pass jshint', function() { \n    ok(true, 'router.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/routes/applications.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - routes');\n  test('routes/applications.js should pass jshint', function() { \n    ok(true, 'routes/applications.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/test-helper', ['dummy/tests/helpers/resolver', 'ember-qunit'], function (resolver, ember_qunit) {\n\n\t'use strict';\n\n\tember_qunit.setResolver(resolver['default']);\n\n});","define('dummy/tests/test-helper.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - .');\n  test('test-helper.js should pass jshint', function() { \n    ok(true, 'test-helper.js should pass jshint.'); \n  });\n\n});","define('dummy/tests/unit/initializers/load-feature-flags-test', ['ember', 'dummy/initializers/load-feature-flags', 'qunit'], function (Ember, load_feature_flags, qunit) {\n\n  'use strict';\n\n  var container, application;\n\n  qunit.module(\"LoadFeatureFlagsInitializer\", {\n    beforeEach: function beforeEach() {\n      Ember['default'].run(function () {\n        application = Ember['default'].Application.create();\n        container = application.__container__;\n        application.deferReadiness();\n      });\n    }\n  });\n\n  // Replace this with your real tests.\n  qunit.test(\"it works\", function (assert) {\n    load_feature_flags.initialize(container, application);\n\n    // you would normally confirm the results of the initializer here\n    assert.ok(true);\n  });\n\n});","define('dummy/tests/unit/initializers/load-feature-flags-test.jshint', function () {\n\n  'use strict';\n\n  module('JSHint - unit/initializers');\n  test('unit/initializers/load-feature-flags-test.js should pass jshint', function() { \n    ok(true, 'unit/initializers/load-feature-flags-test.js should pass jshint.'); \n  });\n\n});","/* jshint ignore:start */\n\n/* jshint ignore:end */\n","/* jshint ignore:start */\n\ndefine('dummy/config/environment', ['ember'], function(Ember) {\n  var prefix = 'dummy';\n/* jshint ignore:start */\n\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = Ember['default'].$('meta[name=\"' + metaName + '\"]').attr('content');\n  var config = JSON.parse(unescape(rawConfig));\n\n  return { 'default': config };\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n/* jshint ignore:end */\n\n});\n\nif (runningTests) {\n  require(\"dummy/tests/test-helper\");\n} else {\n  require(\"dummy/app\")[\"default\"].create({\"FEATURES\":[{\"name\":\"noLogin\",\"flag\":true,\"settings\":{\"options\":[],\"selected\":null}},{\"name\":\"askQuestions\",\"flag\":true,\"settings\":{\"options\":[],\"selected\":null}},{\"name\":\"search\",\"flag\":false,\"settings\":{\"options\":[\"alerts\",\"history\",\"notes\"],\"selected\":null}},{\"name\":\"askForNumbers\",\"flag\":false,\"settings\":{\"options\":[\"nvd3js\",\"d3js\",\"amcharts\",\"chartjs\",\"raphaeljs\"],\"selected\":\"nvd3js\"}}],\"name\":\"feature-flag-manager\",\"version\":\"0.0.1.1b9effce\"});\n}\n\n/* jshint ignore:end */\n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;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;;AC1BA;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;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;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/IA;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;;ACZA;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;;ACrBA;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;;ACLA;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;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;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;","file":"dummy.js"}